APHL Detor Error & Warning Handling
Detor will validate both order and result messages and alert the Public Health Laboratory of any errors or warnings.
Errors occur when a message cannot be recognized or processed. For example, a message that is corrupt, invalid, or the correct domain (Newborn Screening, Clinical, Environmental) cannot be determined.
Warnings occur if data that has been deemed required is missing or invalid. For example, ‘Collection Facility’ is missing from the order message.
Note this validation occurs after APHL receives, transforms and translates the message to the middle-ground format.
See APHL Detor Message Validation Rules for more details.
The PHL S3 Bucket or SFTP folder structure is organized to facilitate your monitoring of:
receipt of a new order;
receipt of an error/warning message related to an order;
receipt of an error/warning message related to a result.
The S3 Bucket or SFTP folder can support multiple domains based on the existence of multiple LIMS within the laboratory. The folder structure will be organized in a standard way for each domain. The example to the left depicts a Newborn Screening (NBS) example.
Within the NBS parent folder, there will be a child folder for:
Order: this folder contains all received order messages
Error: this folder contains warning and error messages related to both:
Order: Warning, Error and Message files related to received Orders
In the event of an Error, the associated Order Message received (but not processed) by AIMS will be provided.
Result: Warning, Error and Message files related to delivered Results
In the event of an Error, the associated Result Message received (but not processed) by AIMS will be provided.
Although Detor significantly reduces the burden associated with managing test orders and results, some oversight will be necessary to identify issues (errors) and opportunities for improvement (warnings). The PHL should develop and execute a prescriptive daily process for managing errors and warnings. The preferred method for doing this will likely vary due to LIMS capabilities.
The following reconciliation processes should be incorporated, and any manual processes in place with HCOs (e.g. order cancellations) should be considered in those processes.
monitoring for errors and addressing them promptly (Are any orders or results failing to successfully be processed?)
monitoring for accuracy of number of received orders by HCO (Are you receiving samples that did not have an electronic order? Are you receiving electronic orders without an accompanying sample?)
monitoring for missing information (Is an HCO consistently failing to send a piece of information, requiring manual updates in your LIMS?)
monitoring for accuracy of sent results by HCO (Are you sending results for every received order?)
Sample Order .err message:
{
"errorName": "JavaException",
"errorMessage": "java.net.SocketTimeoutException: Read timed out",
"stackTrace": "\tat 4cbace1a-e827-455f-846a-1e189c11291f_JavaScript_Writer_2:4916 (GetTranscodings)\n\tat 4cbace1a-e827-455f-846a-1e189c11291f_JavaScript_Writer_2:4966 (PerformTranscoding)\n\tat 4cbace1a-e827-455f-846a-1e189c11291f_JavaScript_Writer_2:1548 (ChannelOperations_InOrderMapRequest)\n\tat 4cbace1a-e827-455f-846a-1e189c11291f_JavaScript_Writer_2:6022 (doScript)\n\tat 4cbace1a-e827-455f-846a-1e189c11291f_JavaScript_Writer_2:6024\n"
}
Sample Order .warn message:
{
"validation_status" : "INVALID",
"message" : [
"$.sample.subjectHumanClinical.address: is missing but it is required"
]
}