Lab Report
A report produced by a diagnostic laboratory. Covers basic laboratory, but not microbiology or histopathology (for now?)
The relative url is /labreports
A note about naming: a laboratory produces "reports" that is a collection of "tests" that produce "results". Clinical consumers call the whole collection "the results". There is much potential confusion around these names. The confusion is worsened because "the report" is sometimes a document which entirely contains narrative, sometimes it is purely atomic data results, and sometimes it's a mix of both. TODO: clarify terms and tidy up the XML
Content
<LabReport xmlns="..."> <id mand type="id">Master Resource Id, always first in all resources</id> <version opt type="id">version identifier</id> <status mand type="code">Registered|Interim|Final|Amended|Cancelled|Withdrawn</status> <created opt type="datetime">date created, always present except on create</created> <updated opt type="datetime">date updated, present if resource updated</updated> <patient mand type="Resource(Patient)">The patient the report is about</patient> <admission opt type="Resource(Admission)">Admission Context</admission> <laboratory mand type="Resource(Organization)">Responsible Laboratory</laboratory> <reportId opt type="HumanId">Id for external references to this report</requestOrderId> <requestDetails> <!-- One+ --> <requestDetail> <requestOrderId opt type="HumanId">Id assigned by requester</requestOrderId> <receiverOrderId opt type="HumanId">Receiver's Id for the request</receiverOrderId> <requestTests> <!-- Zero+ --> <requestTest text type="Concept">Test Requested</requestTest> </requests> <requester text type="Resource(Agent|Organization)>Responsible for request</requester> <clinicalInfo text type="Resource">Clinical information provided</clinicalInfo> </requestDetail> </requestDetails> <reportName text type="Concept">Name for the entire report</reportName> <issued opt type="datetime">date issed for current status</issued> <service opt type="Concept">Biochemistry, Heamotology etc</service> <specimens> <!-- Zero+ --> <specimen mand type="Resource(Specimen)">Specimen (incl. time of collection)</specimen> <specimens> <resultGroups> <!-- One+ --> <resultGroup> <!-- Results may be grouped by specimen, or by name or code --> <name opt type="Concept">Name or code to describe what defines the group</name> <specimen cond type="Resource(Specimen)">Specimen details</specimen> <results> <result> <name text type="Concept">Name or code of the result</name> <value[x] opt type="Quantity|Concept|Data|Ordinal|Interval|string">Result. [x] = type name</value> <status mand type="code">Registered|Interim|Final|Amended|Cancelled|Withdrawn</status> <comments opt type="string">Comments about result</comments> <referenceRanges> <referenceRange> <meaning opt type="Concept">The meaning of range (cf to the others)</meaning> <range opt type="Interval(Quantity|Ordinal)">Range of values</range> </referenceRange> </referenceRanges> </result> </results> </resultGroup> </resultGroups> <conclusion opt type="Narrative">Clinical Interpretation of test results</conclusion> <codedDiagnoses> <!-- Zero+ --> <codedDiagnosis text type="Concept">Codes representing the conclusion</codedDiagnosis> </codedDiagnoses> <representations> <!-- One+ --> <representation type="Data">Entire Report as issued</Data> </representations> <extensions> See Extensions </extensions> <text type="Narrative">Text summary of report, fall back for human interpretation</id> </LabReport>
Concept Bindings:
- requestTest is bound to the concept domain "LabRequests"
- reportName is bound to the concept domain "LabReportNames"
- service is bound to the concept domain "LabServices"
- resultGroup.name is bound to the concept domain "LabResultGroupNames"
- result.name is bound to the concept domain "LabResultNames"
- result.value is not bound to a concept domain
- referenceRange.meaning is bound to the concept domain "LabReferenceRanges"
- codedDiagnosis is bound to the concept domain "DiagnosisCodes"
Notes:
- The Responsible lab is the one providing the report. It may delegate some of the testing work to other labs
- The requestOrderId and receiverOrderId are to enable receivers to link the report with the request work flows
- The time of specimen collection establishes the clinically relevant time for the lab report.
- There must be at least one specimen
- Every specimen must include the collection time
- Specimen on the result group is conditional - if the result group concerns a specimen, it must be properly populated, or else it must be missing
- Specimens are generally only referenced once per report, unless there is more than one report group for the same specimen (unusual)
- For the simplest lab reports (Routine Urea and Electrolytes, for instance), the Result Group is overhead (no specimen, and no group name, but has to be followed for consistency)
Resource Status
A Lab report has one of the following statuses:
Registered | No result yet available |
Interim | This is an initial or interim result: data may be missing or verification not been performed |
Final | The result is complete and verified by the responsible pathologist |
Amended | The result has been modified subsequent to being Final, and is complete and verified by the responsible pathologist |
Cancelled | The result is unavailable because the test was not started or not completed (also sometimes called "aborted") |
Withdrawn | The result has been withdrawn following previous Final release |
The lab report doesn't describe specific transactions for the transitions between these statuses. Applications consuming lab reports must take careful note of updates to lab reports, and particularly not withdrawn reports.
A withdrawn report replaces every result value with the Concept "withdrawn" in the internal terminology "xxx", and sets the conclusion and the text narrative to some text like "This report has been withdrawn". A reason may be provided.
The same status codes apply to individual results. A report shouldn't be final until all the results are final or amended. If a report is withdrawn, all the results must be withdrawn.
Searching Criteria
The following simple search/filter parameters are defined for lab report:
test | the name of either a report or a report group |
specimen | Either of the specimens. The parameter is then followed by an additional parameter (separated for a ".") that species search/filter inside specimen |
The standard search parameters also apply (see Searching).
© 2011