HL7 CZ Laboratory IG
0.5.0 - ci-build
CZ
HL7 CZ Laboratory IG, published by HL7 Czech Republic. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-cz/cz-lab/ and changes regularly. See the Directory of published versions
On the following page, you will find notes on implementing the laboratory report. They concern the creation of the bundle, its composition and filling these profiles with the relevant data.
classDiagram
direction LR
class CZ_BundleLab{
<<Bundle>>
}
CZ_BundleLab *-- "1" CZ_CompositionLabReport
CZ_BundleLab *-- "1" CZ_DiagnosticReportLab
CZ_BundleLab *-- "1" CZ_PatientCore
CZ_BundleLab *-- "0..*" CZ_ServiceRequestLab
CZ_BundleLab *-- "0..*" CZ_PractitionerCore
CZ_BundleLab *-- "0..*" CZ_PractitionerRoleCore
CZ_BundleLab *-- "0..*" CZ_DeviceObserver
CZ_BundleLab *-- "0..*" CZ_OrganizationCore
CZ_BundleLab *-- "0..*" CZ_LocationCore
CZ_BundleLab *-- "0..*" CZ_Encounter
CZ_BundleLab *-- "0..*" CZ_Coverage
CZ_BundleLab *-- "0..*" CZ_Provenance
CZ_BundleLab *-- "0..*" CZ_ObservationResultLaboratory
CZ_BundleLab *-- "0..*" CZ_SpecimenLab
CZ_BundleLab *-- "0..*" BodyStructureCz
CZ_BundleLab *-- "0..*" CZ_Attachment
CZ_DiagnosticReportLab --> CZ_CompositionLabReport: extension[diagnosticReport-composition]
CZ_CompositionLabReport --> CZ_ServiceRequestLab: extension[basedOn-order-or-requisition]
CZ_CompositionLabReport --> CZ_DiagnosticReportLab: extension[diagnosticReport] (R5 backport)
CZ_CompositionLabReport --> CZ_PractitionerCore: extension[information-recipient]
CZ_CompositionLabReport --> CZ_PractitionerCore: author
CZ_CompositionLabReport --> CZ_PractitionerRoleCore: author
CZ_CompositionLabReport --> CZ_DeviceObserver: author
CZ_CompositionLabReport --> CZ_OrganizationCore: author
CZ_CompositionLabReport --> CZ_PractitionerCore: attester
CZ_CompositionLabReport --> CZ_PractitionerRoleCore: attester
CZ_CompositionLabReport --> CZ_OrganizationCore: custodian
CZ_CompositionLabReport --> CZ_PatientCore: subject
CZ_CompositionLabReport --> CZ_Encounter: encounter
CZ_CompositionLabReport --> CZ_ObservationResultLaboratory: section[lab-no-subsections].entry
CZ_CompositionLabReport --> CZ_ObservationResultLaboratory: section[lab-subsections].section.entry
CZ_DiagnosticReportLab --> CZ_PatientCore: subject
CZ_DiagnosticReportLab --> CZ_ServiceRequestLab: basedOn
CZ_DiagnosticReportLab --> CZ_SpecimenLab: specimen
CZ_DiagnosticReportLab --> CZ_ObservationResultLaboratory: result
CZ_DiagnosticReportLab --> CZ_PractitionerCore: performer
CZ_DiagnosticReportLab --> CZ_OrganizationCore: performer
CZ_ObservationResultLaboratory --> CZ_PatientCore: subject
CZ_ObservationResultLaboratory --> CZ_SpecimenLab: specimen
CZ_ObservationResultLaboratory --> CZ_PractitionerCore: performer
CZ_ObservationResultLaboratory --> CZ_DeviceObserver: device
CZ_ObservationResultLaboratory --> BodyStructureCz: bodyStructure
CZ_SpecimenLab --> CZ_PatientCore: subject
CZ_SpecimenLab --> CZ_PractitionerCore: collection.collector
The report is represented as a FHIR Bundle of type document that contains the resources CZ_CompositionLabReport and CZ_DiagnosticReportLab together with all resources reachable from the composition (see $document operation). When implementing, it is necessary to follow the binding rules described in the Obligations section.
CZ_CompositionLabReport is the entry resource of the laboratory report document. It carries the document header (subject, author(s), attester(s), custodian, document type, language, confidentiality, encounter and the back-reference to the corresponding CZ_DiagnosticReportLab) and organizes the laboratory results into one or more sections.
Two structural variants of the body are supported and may coexist within one report:
section[lab-no-subsections] (flat section): a top-level laboratory specialty section that directly contains both the human-readable narrative (section.text) and the machine-readable entry references to CZ_ObservationResultLaboratory instances. No further sub-sections are allowed.section[lab-subsections] (structured section): a top-level laboratory specialty section that contains no narrative or entries of its own, but groups several leaf sub-sections (typically per battery, specimen study or individual test). Each leaf sub-section carries its own narrative and entry references to CZ_ObservationResultLaboratory.section[annotations] (annotation section, fixed code LOINC 48767-8): optional narrative-only section dedicated to laboratory comments, technical notes, accreditation references etc. It SHALL NOT contain entry or sub-sections.The section codes in both variants are bound (preferred) to the CZ_LabStudyTypesVS value set (laboratory specialties).
CZ_DiagnosticReportLab represents the laboratory result report itself (the clinical/diagnostic statement) and is the conceptual counterpart of the document Composition. In the laboratory document Bundle it occurs exactly once and SHALL be reachable from the Composition through the R5 cross-version extension Composition.diagnosticReport (slice diagnosticReport). Conversely, CZ_DiagnosticReportLab references the Composition through the extension diagnosticReport-composition (R5 alignment for R4).
It carries:
identifier (matches the Composition identifier),status and category/code (consistent with the Composition type/category),subject (same patient as in the Composition) and the encounter,basedOn (CZ_ServiceRequestLab),specimen references (CZ_SpecimenLab),result references (CZ_ObservationResultLaboratory),performer of the report (laboratory practitioner / organization) and any resultsInterpreter,effective[x]) and issued time of the report.CZ_ObservationResultLaboratory represents a single laboratory finding (result). One report typically contains many such observations, organized into sections by laboratory specialty. The profile is the conformance target of every entry in laboratory sections and of every result referenced from CZ_DiagnosticReportLab.
It carries:
code (LOINC and/or NČLP – see Terminology considerations),value[x] or dataAbsentReason,interpretation, referenceRange, note,subject, optional specimen (CZ_SpecimenLab), optional performer and observing device (CZ_DeviceObserver),effective[x], issued) and status,component for batteries / panels reported as a single observation.CZ_SpecimenLab represents a biological specimen taken from the patient and analysed in the laboratory. Specimens are referenced from CZ_DiagnosticReportLab.specimen and, where relevant, from CZ_ObservationResultLaboratory.specimen.
It carries:
type of the specimen (preferred binding to the CZ specimen type value set, secondary HL7 v2-0487 codes are allowed as a mapping),subject (patient),collection.collectedDateTime/collectedPeriod, collection.bodySite (or BodyStructureCz reference), collection.method, collection.collector,receivedTime in the laboratory.CZ_ServiceRequestLab represents the laboratory order/requisition that initiated the testing. It is referenced by the Composition through extension[basedOn-order-or-requisition] and by CZ_DiagnosticReportLab.basedOn.
It carries:
identifier (placer / filler),code (LOINC / NČLP),subject, encounter and requester,priority, authoredOn, clinical context (reasonCode/reasonReference) and any specimen reference.author of the Composition is typically the laboratory practitioner who finalized the report (CZ_PractitionerCore / CZ_PractitionerRoleCore) and/or the issuing analyzer (CZ_DeviceObserver).attester typically holds the legal authenticator of the report (mode = legal) and/or a result validator (mode = professional).custodian is the laboratory organization (CZ_OrganizationCore) responsible for storing the report.information-recipient lists the requesting clinician(s) and any other recipients of the report.performer on CZ_DiagnosticReportLab and on individual CZ_ObservationResultLaboratory instances identifies who actually carried out the testing or signed off the individual result.