Importing Lab Sample Data to Go.Data
For many Go.Data implementers, lab results data will be the starting reference point when implementing a new Go.Data instance. This sample data will need to be first be transformed to align with the Go.Data data model, where Case
and Contact
records must first be created to track individual beneficiary details. Once these individual records are created, then related Lab Results
data can be imported.
- Watch the video overview
- Explore the Implementation
Use Case: #3. As a Go.Data user, I would like to directly integrate lab datasets so that I can more quickly and securely register Contact and Case records to ensure data quality and save time on data entry.
Standard Import Process
Typically a lab will provide export of sample
/ labResults
data like this example file. In this data source, there might be multiple Sample
results for 1 unique individual.
Converting the sample
dataset to individual Cases
or Contact
records with labResults
records is required to align a flat data source with the Go.Data data model. To import this data to the Go.Data system, the user will need to…
- Analyze the dataset to construct unique
Case
andContact
records for every unique individual. Consider…
- 1.a. Is there an available individual unique id (e.g.,
national_id
) in the data source that can be imported to Go.Data? - 1.b. If not, can you construct a new unique id for individual records?
- Determine the
unique identifier
for every individual record.- If this lab data is related to individuals already registered in Go.Data, consider what shared external identifier you can use to look-up existing records to prevent duplicates.
- If this is a new import and you’re creating Go.Data individual
Case
orContact
records for the first time, consider what identifiers you want to assign to these records on import.
Consider…
- 2.a. Will you import a lab-provided custom Id or standard identifier (e.g.,
nationalId
) from the lab dataset? (You can then set this as the Go.Data Case Id as by masking the CaseId as*
, or import this Id to theDocument
or anotheridentifier
custom variable in the Questionnaire of that record.) - 2.b. Or will you have Go.Data generate a new custom Id (e.g.,
case_id: 'CASE-00001'
) based on some standard naming convention and autonumber? (You can define this unique identifier naming scheme when you configure a newOutbreak
.)
→ See the Unique Identifiers documentation for Go.Data-specific additional guidance on identifiers.
-
Import the individual records to Go.Data using the standard
import
wizard or the API (e.g.,POST /outbreak/{id}/cases
). -
Then prepare to import related
labResults
. Organize the lab data to link every labsample
record to an individual person record.- See this Case - Lab Results import template where every row is a lab test result record linked to an individual
Case
record. - If the individual’s
unique identifier
is not already included in the lab dataset, you may need to export theCases
imported in step3
to extract the newly assignedcase_id
(e.g.,CASE-00001
) or the Go.Data globalid
(e.g.,e2d87af7-fde2-4ea6-a2be-9dc0cc03c2cd
). Then you can include this identifier as a column in yourLab Results
import (seecolumn B
in template) so that everysample
record is linked to an existing individual Go.DataCase
record.
- See this Case - Lab Results import template where every row is a lab test result record linked to an individual
- Now import the
labResults
records to Go.Data using the standardimport
file wizard or via the API.
Note: If importing labResults
via the API, you will need to extract the Go.Data global id
and not the mask case_id
(e.g., 3b5554d7-2c19-41d0-b9af-475ad25a382b
) to successfully import… POST '/outbreaks/{id}/cases/{fk}/lab-results'
where {fk}
is the case foreign key id
that you will include in your import request.
Explore the Implementation
-
Watch the video walkthrough of the lab results import process with a sample dataset. And see here for other interoperability videos.
- Import templates: See the Excel templates in the Go.Data Community:
- Learn More: See the section on Unique Identifiers to support with resource matching during data imports.