Working with DNA Kits
If a customer bought DNA kits from LifeNome, the provisioned DNA kits can be managed using Core API. Core API provides endpoints to list DNA kits, retrieve DNA kit details, and register DNA kits.
DNA Kit lifecycle
DNA kit lifecycle consists of following states:
- provisioned - DNA kit is provisioned and ready to be registered
- registered - DNA kit is registered (linked to end-user’s gender) and can be sent to DNA processing lab
- received_by_lab - DNA kit is received by DNA processing lab
- receipt_error - there was an error during DNA kit receipt at DNA processing lab (eg. DNA kit is damaged or not properly registered)
- processing - DNA kit is in processing at DNA processing lab
- processed - DNA kit is processed and genotype data is available
- processing_error - there was an error during DNA kit processing at DNA processing lab (eg. insufficient DNA quantity or quality)
- genotype_available - genotype data from DNA kit processing is available and can be used to create Genotype object
- error - DNA kit processing failed
DNA Kit registration
DNA kit registration is a process of linking DNA kit to an end-user data and should be done once customer use the DNA kit to collect a sample from the end-user. Once DNA kit is registered, it can be sent to DNA Kit processing lab for processing. The mandatory data that needs to be provided during DNA kit registration is gender of end-user. Optionally, you can provide lifenome Sample ID, in which case DNA kit will be linked to the Sample and all data collected from the DNA kit will be associated with the Sample’s genotype.
If you don’t provide lifenome Sample ID during DNA kit registration, you can link the DNA kit to a Sample later
by invoking Link Sample
operation.
Core API endpoints
Following Core API endpoints are used to manage DNA kits:
List DNA Kits
- list available DNA kitsRetrieve DNA Kit
- retrieve details of a specific DNA kitRegister DNA Kit
- register DNA kit by providing gender and optionally lifenome Sample IDLink Sample
- link DNA kit to a Sample by providing lifenome Sample ID
List available DNA kits
To list available DNA kits, invoke List DNA Kits
operation.
curl --request GET \
--url https://myportal.lifenome.com/api/core-api/dna-kits/ \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
Successful response will return a list of DNA kits:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"kit_id": "string",
"platform_id": "string",
"provider": "labcorp|gxg",
"state": "provisioned|registered|received_by_lab|receipt_error|processing|processed|processing_error|genotype_available|error",
"registration_data": {
"gender": "male|female",
"sample_id": "string"
}
},
{
"kit_id": "string",
"platform_id": "string",
"provider": "labcorp|gxg",
"state": "provisioned|registered|received_by_lab|receipt_error|processing|processed|processing_error|genotype_available|error",
"registration_data": null
}
]
}
Retrieve DNA kit details
To retrieve details of a specific DNA kit, invoke Retrieve DNA Kit
operation.
curl --request GET \
--url https://myportal.lifenome.com/api/core-api/dna-kits/${KIT_ID}/ \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
Successful response will return details of the specified DNA kit:
{
"kit_id": "string",
"platform_id": "string",
"provider": "labcorp|gxg",
"state": "provisioned|registered|received_by_lab|receipt_error|processing|processed|processing_error|genotype_available|error",
"registration_data": {
"gender": "male|female",
"sample_id": "string|null"
}
}
Register DNA kit
To register a DNA kit, invoke Register DNA Kit
operation.
curl --request POST \
--url https://myportal.lifenome.com/api/core-api/dna-kits/${KIT_ID}/register/ \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data '{
"gender": "male|female",
"sample_id": "string|null"
}'
Successful response will return DNA kit details with updated state and registration data:
{
"kit_id": "string",
"platform_id": "string",
"provider": "labcorp|gxg",
"state": "registered",
"registration_data": {
"gender": "male|female",
"sample_id": "string|null"
}
}
Link DNA kit to a Sample
To link a DNA kit to a Sample, invoke Link Sample
operation.
curl --request PUT \
--url https://myportal.lifenome.com/api/core-api/dna-kits/${KIT_ID}/sample/ \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data '{
"sample_id": "string"
}'
Successful response will an object with sample ID from request:
{
"sample_id": "string"
}
It is important to note that DNA kit can be linked to a Sample only if:
- the DNA kit is in not in
provisioned
state. - sample with provided Sample ID exists and does not already have a genotype associated with it.