This page is part of the FHIR Specification (v0.06: DSTU 1 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Resource LabReport - Formal Definitions 3.6.5

The formal definitions for the elements in the labreport resource. Also available as an XML file.

LabReport
DefinitionThe findings and interpretation of pathology tests performed on tissues and body fluids. This is typically done in a laboratory but may be done in other environments such as at the point of care
Control1..1
RequirementsUse to record any pathology test result, including the result of a test on a specimen taken as part of a composite procedure or operation.
CommentsNot to be used for reporting on non-pathology test results e.g. diagnostic imaging, ECG or respiratory function tests. Not to be used to represent an entire cumulative report. This Pathology test result archetype represents only one of the result sets that is usually viewed as a vertical in a cumulative test report. A cumulative report is a view that is constructed from the results represented by multiple OBSERVATION archetypes. This archetype is suitable for representation of general pathology test results, but not intended to cover full synoptic reports. For these, additional resources are required to represent the data properly
RIM MappingObservation[isNormalAct() and subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and domainMember("LabObservationType", code)]
LabReport.status
DefinitionThe status of the pathology test result as a whole
Control1..1
Typecode from LabReportStatus
Must Understandtrue
RequirementsLabs routinely issue provisional/incomplete reports, or withdraw previously released reports
RIM Mappingregistered: ./statusCode[isNormalDatatype()]="new"; interim: ./statusCode[isNormalDatatype()]="active"; final: ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseLabOrder", code) and isNormalAct()]); amended: ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseLabOrder", code) and isNormalAct() and statusCode="completed"]; cancelled: ./statusCode[isNormalDatatype()]="aborted"; withdrawn: ./statusCode[isNormalDatatype()]="obsolete"
LabReport.issued
DefinitionThe date and/or time that the result was issued from the source for the recorded ‘Test result status
Control1..1
Typeinstant
Must Understandtrue
RequirementsClinicians need to be able to check the date that the report was released
CommentsMay be different from LabReport.updated, because that is the status of this record, not the report the record is about
RIM MappingfirstOf(unique(./participation[isHighest(priorityCode) and typeCode="VRF" and isNormalParticipation()]/time[type="TS"]), unique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/time[type="TS"]))
LabReport.patient
DefinitionThe patient about who the report is about
Control1..1
TypeResource(Patient)
Must Understandtrue
RequirementsMust know the patient context
RIM Mappingunique(./participation[isHighest(priorityCode) and typeCode="SBJ" and isNormalParticipation()]/role[classCode="PAT"])
To Doneed to check the wording -is it about, upon, for?
LabReport.admission
DefinitionThe admission that this diagnostic investigation is associated with
Control0..1
TypeResource(Admission)
RequirementsSome institutions track and file diagnostic reports under a specific admission
RIM Mappingunique(./inboundRelationship[isHighest(priorityCode) and typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#ENC", code) and moodCode="EVN" and isNormalAct()])
To DoReckon this is not 80%
LabReport.laboratory
DefinitionThe laboratory service that issued the report
Control1..1
TypeResource(Organization)
RequirementsNeed to know how to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis
CommentsThis is not necessarily the source of the atomic reports - it's the lab that takes responsibility for the clinical report
RIM Mappingunique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/role[subsumesCode("RoleClass#ASSIGN", classCode)]/scoper[subsumesCode("EntityClass#ORG", classCode) and determinerCode="INSTANCE"])
LabReport.reportId
DefinitionThe local ID assigned to the report by the order filler, usually by the Laboratory Information System (LIS).
Control0..1
TypeIdentifier
RequirementsNeed to know what identifier to use when making queries about this report from the source laboratory
RIM Mappingunique(./id[displayable="true" and scope="OBJ"])
LabReport.requestDetail
DefinitionDetails concerning a single pathology test requested.
Control0..*
RequirementsNeed to be able to track completion of requests based on reports issued, and also to report what diagnostic test swere requested (not always the same as what is delivered)
CommentsNote: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single Pathology test result resource
RIM Mappingunique(./outboundRelationship[typeCode="FLFS" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and subsumes("ActMood#PRMS", moodCode) and isNormalAct()])
LabReport.requestDetail.requestOrderId
DefinitionThe local ID assigned to the order by the order requester.
Control0..1
TypeIdentifier
RequirementsNeed to be able to track completion of requests based on reports issued
CommentsEquivalent to the Placer Order Identifier
RIM Mappingunique(./outboundRelationship[typeCode="FLFS" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and subsumes("ActMood#RQO", moodCode) and isNormalAct()]/id[scope="OBJ" and displayable="true"])
To DoReckon this is not 80%
LabReport.requestDetail.receiverOrderId
DefinitionThe local ID assigned to the test order by the order filler, usually by the Laboratory Information System (LIS).
Control0..1
TypeIdentifier
RequirementsNeed to be able to track completion of requests based on reports issued
CommentsUsually equivalent to the DICOM Accession Number and the Filler Order Identifier.
RIM Mappingunique(./id[scope="OBJ" and displayable="true"])
To DoReckon this is not 80%
LabReport.requestDetail.requestTest
DefinitionIdentification of pathology test requested,
Control0..*
TypeCodeableConcept from LabRequests
RequirementsNeed to be able to report what diagnostic test swere requested (not always the same as what is delivered)
CommentsUseful where the test requested differs from the test actually performed.
RIM Mapping./code
LabReport.requestDetail.requester
DefinitionDetails of the clinician or organisation requesting the laboratory test.
Control0..1
TypeResource(Agent|Organization)
RequirementsThe requesting clinician may need to be contacted concerning the interpretation of the lab report
RIM MappingAgent: unique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/role[subsumesCode("RoleClass#ASSIGN", classCode)] Organization: unique(./participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation()]/role[subsumesCode("RoleClass#ASSIGN", classCode)]/scoper[subsumesCode("EntityClass#ORG", classCode) and determinerCode="INSTANCE" and code[isNormalDatatype]])
LabReport.requestDetail.clinicalInfo
DefinitionDetails of the clinical information provided to the laboratory along with the original request
Control0..1
TypeResource(Any)
RequirementsKnowing the clinical information may influence the interpretation of the result
RIM Mapping./outboundRelationship[typeCode="PERT" and isNormalActRelationship()]/target
To DoThis isn't really *ANY* resource. You can't send a drug or an Animal or a bunch of other things. What you really want here are "acts", and I suspect there's a constraint that the subject of the LabReport must have participated in them as subject or perhaps in some other way.
LabReport.reportName
DefinitionIdentification of the pathology test performed, sometimes including specimen type.
Control1..1
TypeCodeableConcept from LabReportNames
Must Understandtrue
RequirementsNeed to know what report this is, so clinicians can filter/find the reports they are looking for
CommentsA test result may be for a single analyte, or a group of items, including panel tests.
RIM Mapping./code
LabReport.service
DefinitionThe diagnostic service that performs the examination e.g. biochemistry, haematology.
Control0..1
TypeCodeableConcept from LabServices
RequirementsHelp clinicians filter/find the reports they are looking for
RIM Mappingunique(./inboundRelationship[typeCode="COMP" and isNormalActRelationship()]/source[subsumesCode("ActClass#LIST", classCode) and moodCode="EVN" and inDomain(code,"Lab Service") and isNormalAct()]/code
To DoI'm not sure this is in the 80%.
LabReport.diagnosticTime
DefinitionThe diagnostically relevant time for this report
Control1..1
TypedateTime
Must Understandtrue
RequirementsNeed to know where in the patient history to file/present this report
CommentsThe diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship is not always automatic
RIM Mapping./effectiveTime[type="TS"]
LabReport.specimen
DefinitionDetails about the specimen if all individual test results are derived from the same specimen
Control0..*
TypeResource(Specimen)
RequirementsNeed to be able to report information about the collected specimens on which the report is based
CommentsIf the specimen is sufficiently specified with a code in the Test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per 'Result group'
RIM Mappingunique(./participation[typeCode="SUBJ" and isNormalParticipation()]/role[subsumesCode("RoleClass#SPEC", classCode)])
LabReport.resultGroup
DefinitionA group of results. Results may be grouped by specimen, or by some value in LabReport.resultGroup.name to describe what binds all the results together.
Control0..*
Must Understandtrue
RequirementsNeed to be able to report groups of results, where the result grouping is arbitrary, but meaningful
CommentsMany (most) lab reports don't really have a meaningful group. In these cases, just create a single group with no specimen or name
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[isNormalAct() and subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and fromDomain(code, "LabObservationBattery")]
LabReport.resultGroup.name
DefinitionA code or name that describes the group of results
Control0..1
TypeCodeableConcept from LabResultGroupNames
Must Understandtrue
CommentsFor example, the antibody code for a goup of antibody related test, or the organism code for a group of isolate/sensitivities. Leave blank if there is no particular meaning associated with the group
RIM Mapping./code
LabReport.resultGroup.specimen
DefinitionDetails about the individual specimen to which these ‘Result group’ test results refer, where testing of multiple specimens is required.
Control0..1
TypeResource(Specimen)
RequirementsNeed to be able to report information about the collected specimens on which the report is based
RIM Mappingunique(./participation[typeCode="SBJ" and isNormalParticipation()]/role[subsumesCode("RoleClass#SPEC", classCode)])
LabReport.resultGroup.result
DefinitionSpecific detailed result, including both the value of the result item, and additional information that may be useful for clinical interpretation. Results include whatever specific data items pathology labs report as part of the clinical service; it is not confined to measurements.
Control1..*
Must Understandtrue
RequirementsNeed to report results with information that assist with interpretation
RIM Mapping./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and isNormalAct() and fromDomain(code, "LabObservationResult")]
LabReport.resultGroup.result.name
DefinitionIdentifies the meaning of the value
Control0..1
TypeCodeableConcept from LabResultNames
Must Understandtrue
RequirementsNeed to know what the result is about
Commentsresults are fundamentally a name - value pair with additional clarifying information
RIM Mapping./code
LabReport.resultGroup.result.value[x]
DefinitionActual value of the result. Most result values will be numerical measurements, but others may be coded concepts, free text, or multimedia images
Control0..1
TypeQuantity|CodeableConcept|Attachment|Ratio|Choice|Period|string
Must Understandtrue
RequirementsNeed a value for the result
RIM Mapping./value
LabReport.resultGroup.result.flag
DefinitionFlag indicating the abnormal status of the result
Control0..1
Typecode from LabResultFlag
Must Understandtrue
RIM Mapping./interpretationCode
To DoThe proposed set of codes are too narrow (and doesn't map well to v3.)
LabReport.resultGroup.result.status
DefinitionThe status of the result value
Control1..1
Typecode from LabReportStatus
Must Understandtrue
RequirementsNeed to track the status of individual results - some results are finalised before the whole report is finalised
RIM Mapping(as per LabReport.status)
LabReport.resultGroup.result.comments
DefinitionMay include statements about significant, unexpected or unreliable. values, or information about the source of the value where this may be relevant to the interpretation of the result.
Control0..1
Typestring
Must Understandtrue
RequirementsNeed to be able to provide free text additional information
RIM Mappingunique(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and mapsTo(code, "LOINC# 48767-8") and isNormalAct()]/value[type="ST"])
LabReport.resultGroup.result.referenceRange
DefinitionGuidance on how to interpret the value by comparison to a normal or recommended range
Control0..*
Must Understandtrue
RequirementsNeed to be able to provide multiple reference ranges
CommentsMost results only have one reference range. Some non-numerical results don't have a reference range
RIM Mapping./outboundRelationship[typeCode="REFV" and isNormalActRelationship()]/target[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and isCriterionInd="true" and isNormalAct()]
To DoAre multiple reference ranges in the 80%?
LabReport.resultGroup.result.referenceRange.meaning
DefinitionCode for the meaning of the reference range
Control0..1
TypeCodeableConcept from LabReferenceRanges
RequirementsNeed to be able to say what kind of reference range this is - normal, recommended, therapeutic, or perhaps what state this reference range applies to (i.e. hormonal cycles)
RIM Mapping./interpretationCode
LabReport.resultGroup.result.referenceRange.range[x]
DefinitionActual value of the reference range. May be a quantity (<20mg/L), an range (10-20 umol/L), or some text
Control1..1
TypeQuantity|Range|string
RequirementsNeed to be able to report numerical or text reference ranges, and handle legacy data
CommentsText reference ranges are typically used in endocrinology, or for legacy data with string reference ranges
RIM Mapping./value[type=("PQ", "IVL_PQ", "ST")]
LabReport.conclusion
DefinitionConcise and clinically contextualised narrative interpretation of the pathology test results.
Control0..1
Typestring
Must Understandtrue
RequirementsNeed to be able to provide a conclusion that is not lost amongst the basic result data
Commentscommon reports don't have a conclusion, but some do
RIM Mappingunique(./inboundRelationship[typeCode="SPRT" and isNormalActRelationship()]/source[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and mapsTo(code, "LOINC# 48767-8") and isNormalAct()]/value[type="ST"])
To DoIs this in the 80%?
LabReport.codedDiagnosis
DefinitionCodes for the conclusion
Control0..*
TypeCodeableConcept from LabDiagnosisCodes
RIM Mappingunique(./inboundRelationship[typeCode="SPRT" and isNormalActRelationship()]/source[subsumesCode("ActClass#OBS", classCode) and moodCode="EVN" and subsumesCode(code, "LOINC# 54531-9") and isNormalAct()]/value[type="CD"])
LabReport.representation
DefinitionRich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they must be semantically equivalent.
Control0..*
TypeAttachment
Must Understandtrue
RequirementsLaboratory needs to be able to provide it's own fully formatted report for clinical fidelity
CommentsPossible formats: text/html, text/plain, text/rtf, application/msword, application/pdf, application/rtf, application/vnd.oasis.opendocument.text, application/vnd.openxmlformats-officedocument.wordprocessingml.document
RIM Mapping./text[type="ED"]
LabReport.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM MappingN/A
LabReport.text
DefinitionText summary of resource (for human interpretation)
Control1..1
TypeNarrative
RIM Mappingunique(./text[type="ST"])

This is an old version of FHIR retained for archive purposes. Do not use for anything else
Implementers are welcome to experiment with the content defined here, but should note that the contents are subject to change without prior notice.
© HL7.org 2011 - 2012. FHIR v0.06 generated on Tue, Dec 4, 2012 00:03+1100. License