Technical Design Lab2zorg V3.0.0-beta.5
|
|
This article or section is in the middle of an expansion or major restructuring and is not yet ready for use. |
For an overview of all current documentation see information standard lab exchange main page
1 Introduction
This is the technical design (TO) for the information standard (IS) Lab2zorg. This TO must be used together with the IS functional design, see functional design Lab2zorg 3.0.0-beta.4. The data exchange format used in this version is: FHIR R4.
1.1 Support
For questions, feedback, or change requests, please contact our support team at Nictiz Servicemanagement.
1.2 Boundaries
This information standard may overlap with other standards related to identification, roles, and geographic classifications, requiring careful alignment to ensure consistency and avoid duplication. For more information, see functional design Lab2zorg 3.0.0-beta.4.
1.3 Prerequisite knowledge
The following background information is required for understanding this TO:
- The functional design Lab2zorg 3.0.0-beta.4 accompanying this TO.
- The data exchange format FHIR R4, which you can find here:
2 Relationships
The diagrams below show the relationships between different FHIR profiles. The arrows indicate an “is referenced in” relationship.
For example, Patient → Laboratory Test means that the Patient is referenced within the Laboratory Test resource.
2.1 Model overview for usecases without the request
2.2 Model overview for usecase with the request
3 Components
HL7 FHIR is used to accommodate the Dutch Clinical Information Models (zibs) used in the IS.
3.1 HL7 FHIR R4
|
Nictiz uses the FHIR Packaging mechanism. This conveniently bundles all profiles, terminology, example material and other conformance resources you need into a single archive, which can be downloaded or installed using the appropriate FHIR tooling. This version of the information standard uses the following packages:
Note: packages use Semantic Versioning. Other versions can be used at will as long as they have the same major.minor number or a minor number higher than the stated version. |
3.1.1 Artifacts
The artifacts of the information standard are presented in the following table:
| zib | FHIR resource | FHIR profile |
|---|---|---|
| HealthcareProvider | Organization | nl-core-HealthcareProvider-Organization |
| HealthProfessional | Practitioner | nl-core-HealthProfessional-Practitioner |
| PractitionerRole | nl-core-HealthProfessional-PractitionerRole | |
| LaboratoryTestResult | Device | nl-core-LaboratoryTestResult.Specimen.Source |
| Observation | nl-core-LaboratoryTestResult | |
| Specimen | nl-core-LaboratoryTestResult.Specimen | |
| Patient | Patient | nl-core-Patient |
| DiagnosticReport | lu-LaboratoryTestResult-DiagnosticReport | |
| ServiceRequest | lu-OrderData |
3.1.2 Examples of FHIR instances
You can find examples of FHIR-instances (filled-in FHIR profiles) in the Nictiz GitHub repository: Lab exchange HL7-mappings repository.
4 Transactions
4.1 Health professional orders lab tests and receives results
4.1.1 Involved actors
| Transaction group | Transaction | Actor | System role code | FHIR CapabilityStatement |
|---|---|---|---|---|
| Send laboratory results based on a request | Send laboratory results based on a request | Client | LAB-LAS | Lab2Healthcare_Results_SendReceive |
| Receive laboratory results | Server | LAB-LAO |
4.2 Health professional retrieves lab results
4.2.1 Involved actors
| Transaction group | Transaction | Actor | System role code | FHIR CapabilityStatement |
|---|---|---|---|---|
| Retrieve laboratory results (PULL) | Retrieve laboratory results request | Client | LAB-LRR | Lab2Healthcare_Results_RetrieveServe |
| Retrieve laboratory results response | Server | LAB-LRB |
4.2.2 Search parameters
The search interaction is performed by an HTTP GET in agreement with the FHIR specification. The table below lists search parameters that SHALL be supported for processing by servers and clients. The sub-header refers to which resource the search parameters apply to in this use case. For brevity of the table, the column names are not descriptive, hence a short explanation on what each column means:
- FHIR Search Parameter is the name of the parameter. We abuse terminology here, by including
$lastnin this table, which technically is an operation on Observation. - Data type refers to the data type of the value expected for a given parameter in a search request.
- Description is a short explanation of the purpose of the parameter in the context of this use case. If the value of the search parameter is fixed, it will be stated in this field.
- Inclusion determines whether a parameter is required to appear within a single search request. SHALL means that it is mandatory to use this parameter for any search request in this use case. MAY means that it is optional.
- Repetition indicates whether a parameter may appear once or multiple times within a single search request.
- Combination logic describes how multiple occurrences of the same parameter are logically combined (AND/OR) when the parameter is repeated within a single search request. In FHIR search, OR logic is used when multiple values are supplied for the same search parameter (comma-separated), meaning a resource matches if any of the values apply. AND logic is used when a search parameter is to be repeated, meaning the resource must satisfy all of the specified conditions.
In some cases, a column is not applicable to a specific parameter. In that case we use the flag "n/a".
| FHIR Search Parameter | Data type | Description | Inclusion | Repetition | Combination logic |
|---|---|---|---|---|---|
| Observation | |||||
category |
token |
Search on laboratory observations. Fixed value: laboratory (CodeSystem: observation-category) |
SHALL | no | n/a |
patient:identifier |
token |
Search in a specific patient context | SHALL | no | n/a |
code |
token |
Search on test code (LOINC/NHG) | MAY | yes | with AND/OR |
date (with prefix gt) |
date |
Search on observation date later than the value | MAY | no | n/a |
date (with prefix lt) |
date |
Search on observation date earlier than the value | MAY | no | n/a |
$lastn |
n/a | Search for the most recent observation(s). Can be used with parameter max to search for last n observations |
MAY | no | n/a |
max |
number |
Search for last n observations. Must be used as a parameter to operation $lastn |
MAY | no | n/a |
_include |
reference |
Include linked resources (e.g. Specimen, Patient, Organization) in the response bundle | MAY | yes | with AND |
_include:iterate |
reference |
Include linked resources iteratively | MAY | yes | with AND |
4.2.3 Search examples
| Show all laboratory results with test code 14683-7 (LOINC) of the patient with BSN 111222333 |
|---|
GET [base]/Observation?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333&code=http://loinc.org|14683-7 |
| Show all laboratory results with test code 14683-7 (LOINC) of the patient with BSN 111222333 from 12 March 2022 |
|---|
GET [base]/Observation?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333&code=http://loinc.org|14683-7&date=gt2022-12-03 |
| Show all laboratory results with test code 14683-7 (LOINC) of the patient with BSN 111222333 between 12 March 2022 and 7 June 2022 |
|---|
GET [base]/Observation?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333&code=http://loinc.org|14683-7&date=gt2022-12-03&date=lt2022-07-06 |
| Show all laboratory results with test code 14683-7 (LOINC) or 3583 (NHG) of the patient with BSN 111222333 |
|---|
GET [base]/Observation?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333&code=http://loinc.org|14683-7,https://referentiemodel.nhg.org/tabellen/nhg-tabel-45-diagnostische-bepalingen|3583 |
| Show the most recent laboratory result with test code 14683-7 (LOINC) of the patient with BSN 111222333 |
|---|
GET [base]/Observation/$lastn?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333&code=http://loinc.org|14683-7 |
| Show the five most recent laboratory results with test code 14683-7 (LOINC) of the patient with BSN 111222333 |
|---|
GET [base]/Observation/$lastn?max=5&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333&code=http://loinc.org|14683-7 |
| Show the most recent laboratory result of the patient with BSN 111222333 |
|---|
GET [base]/Observation/$lastn?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&patient:identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333 |
4.3 Health professional sends lab results to other health professional
4.3.1 Involved actors
| Transaction group | Transaction | Actor | System role code | FHIR CapabilityStatement |
|---|---|---|---|---|
| Send laboratory results (PUSH) | Send laboratory results | Client | LAB-LRS | Lab2Healthcare_Results_SendReceive |
| Receive laboratory results | Server | LAB-LRO |

