Quality Assurance - Template - Technisch Ontwerp
|
|
This article or section is in the middle of an expansion or major restructuring and is not yet ready for use. |
| Processen: | Verkennen | Ontwikkelen & Testen | Publiceren | Beheren | Kwalificeren |
|---|
1 Introduction
An Information Standard (IS) has both a functional and a technical design, henceforth referred to by their Dutch abbreviations "FO" and "TO", respectively. This template describes both the standard structure and contents of a TO.
The template uses the following annotation:
- Goal: What the goal of the section is and what information it should include.
- Standard text: Standard sentences to include if appropriate.
- Examples: These are taken from multiple Nictiz ISs (BgZ-MSZ 2.0, eOverdracht, etc.).
- Placeholders: "<" and ">" are used to denote places that should be filled with IS-specific information, like so: <example>.
Goal: The Introduction is used to give the reader general guidance regarding the technical implementation of the IS. It should include general disclaimers.
Standard text: This is the implementation guide (IG) for the information standard (IS) <IS-name>. This IG must be used together with the IS functional specification, see <link to <<IS>> main page>.
Example BgZ-MSZ 2.0 FHIR STU3:
This is the FHIR implementation guide (IG) for the information standard BgZ-MSZ. This IG must be used together with the functional specification: see BgZ main page.
In addition, the guidelines as specified in general FHIR STU3 Implementation Guide apply. The guide defines how to implement FHIR STU3 and what rules apply (e.g. how to handle empty reponses etc.). In particular, the reader should take note of the use case overarching principles and the use of FHIR packages.
1.1 Support
Standard text: For questions, feedback, or change requests, please contact our support team at Nictiz Servicemanagement.
1.2 Known issues
Standard text: The IS described in this document is actively maintained and continuously improved. However, certain limitations may exist due to ongoing development, external dependencies, or the complexity of healthcare interoperability. These known issues are listed in the [<Link-to-FO#known-issues> | FO (in Dutch)].
1.3 Assumed knowledge
Standard text: This TO assumes that the reader is familiar with the following:
- <your data exchange standard (e.g., FHIR, CDA, XSD, XCA, etc.)>.
- This TO is accompanied by the <IS> FO.
2 Boundaries & relationships
Goal: This chapter defines how organizations and their relationships are structured and exchanged across systems. It supports interoperability by standardizing hierarchical and functional links. This standard overlaps with others related to identification, roles, and geographic classifications, requiring careful alignment to ensure consistency and avoid duplication.
3 Actors involved
Goal: To give an overview of the actors relevant to the transaction. A table should be used to list the relevant actors, their systems, and, if possible, FHIR CapabilityStatements.
Standard text:
| Actors | Systems | FHIR Capability Statements | |||
|---|---|---|---|---|---|
| Name | Description | Name | Description | Name | Description |
| <Actor 1> | <Actor description 1> | <System role 1> | <System role description 1> | <CapabilityStatement link 1> | <CapabilityStatement description 1> |
| <Actor 2> | <Actor description 2> | <System role 2> | <System role description 2> | <CapabilityStatement link 2> | <CapabilityStatement description 2> |
Example eOverdracht 4.0.5 STU3:
| Actors | Systems | FHIR Capability Statements | |||
|---|---|---|---|---|---|
| Name | Description | Name | Description | Name | Description |
| Sending organization | The organization or health care professional(?) at the organization that wants to transfer the care of a patient | Sending XIS | Healthcare information system of the sending organization | CapabilityStatement: Sending XIS | FHIR requirements for sending XIS |
| Receiving organization | The organization or health care professional(?) at the organization that the sending organization wants to transfer the care of a patient to | Receiving XIS | Healthcare information system of the receiving organization | CapabilityStatement: Receiving XIS | FHIR requirements for receiving XIS |
4 Transactions
Goal: In this chapter, the use cases of an IS are elaborated through transactions. A transaction is an HCIM-based dataset (applicable to multiple use cases). A transaction should include information about the (earlier specified) involved actors. It should also include information regarding the available invocations
{=> A transaction is based upon one transaction-dataset.}
(e.g., FHIR queries).
4.1 <Transaction 1>
4.1.1 Involved actors
Standard text:
| Transaction group | Transaction | Actor | Role |
|---|---|---|---|
| <Transaction group name> | <Transaction 1> | <System role 1> | <Role explanation 1> |
| <Transaction 2> | <System role 2> | <Role explanation 2> |
Example MedMij LaboratoryResults 2.0.42 FHIR STU3:
| Transaction group | Transaction | Actor | Role |
|---|---|---|---|
| Retrieve Laboratory Results(PULL) | Retrieve laboratory results request | Patient (using a PHR) | Request laboratory results from the XIS |
| Retrieve laboratory results response | Healthcare professional (using a XIS) | Serves laboratory results to the PHR |
4.1.2 Invocations
Goal: To give an overview of the invocations used to query FHIR servers in the use case.
Standard text:
| Query | Description |
|---|---|
| <sorting variable 1 (e.g., FHIR resource or FO chapter)> | |
| <HCIM 1> | |
<HTTP Method> [base]/<FHIR resource>?_include=<FHIR resource>:<Search parameters> |
<Description of queried data> |
| <HCIM 2> | |
see Patient.maritalStatus |
<Description of queried data> |
| <sorting variable 2 (e.g., FHIR resource or FO chapter)> | |
| <HCIM 3> | |
<HTTP Method> [base]/<FHIR resource>?_include=<FHIR resource>:<Search parameters> |
<Description of queried data> |
Example BgZ-MSZ 2.0 STU3: [expand/collapse]:
4.1.2.1 FHIR Query Specification
The table below provides an overview of the FHIR queries to exchange all BgZ-MSZ sections.
| Query | Description |
|---|---|
| 1 Demographics and identification | |
| 1.1 Patient | |
GET [base]/Patient? _include=Patient:general-practitioner |
The patient information available in the source system is exchanged as a FHIR patient instance that conforms to the nl-core-patient profile.
|
| 1.2 Marital status | |
see Patient.maritalStatus |
Marital status data are exchanged via the patient resource (see 1.1). |
| 2 Financial information | |
| 2.1 Payer | |
GET [base]/Coverage? _include=Coverage:payor |
The payer data available in the source system is exchanged as a FHIR coverage instance that conforms to the zib-Payer profile.
|
| 3 Treatment restrictions | |
| 3.1 Treatment instructions | |
GET [base]/Consent? category=http://snomed.info/sct|11291000146105 |
All treatmentDirectives available in the source system are exchanged as FHIR consent instances, which conform to the zib-TreatmentDirective profile.
|
| 3.2 Advance directive | |
GET [base]/Consent? category=http://snomed.info/sct|11341000146107 |
All AdvanceDirectives available in the source system are exchanged as FHIR consent instances, which conform to the zib-AdvanceDirective profile.
|
| 4 Contact persons | |
| 4.1 Contact | |
Patient.contact |
Primary partner/contact data are exchanged via the patient resource (see 1.1). |
| 5 Functional/mental status | |
| 5.1 Functional or mental status | |
GET [base]/Observation? category=http://snomed.info/sct|118228005, http://snomed.info/sct|384821006 |
All functional or mental status information available in the source system is exchanged as FHIR observation data that conforms to the zib-FunctionalOrMentalStatus profile.
|
| 6 Complaints and diagnoses | |
| 6.1 Problem | |
GET [base]/Condition |
All problems available in the source system are returned as zib-Problem instances.
|
| 7 Social history | |
| 7.1 Living Situation | |
GET [base]/Observation? code=http://snomed.info/sct|365508006 |
All living situations available in the source system are exchanged as FHIR Observation instances that conform to the zib-LivingSituation profile.
|
| 7.2 Drug Use | |
GET [base]/Observation? code=http://snomed.info/sct|228366006 |
All drug use available in the source system is exchanged as a FHIR Observation instances that conform to the zib-DrugUse profile.
|
| 7.3 Alcohol Use | |
GET [base]/Observation? code=http://snomed.info/sct|228273003 |
All known alcohol use, available in the source system, is exchanged as FHIR Observations that conform to the zib-AlcoholUse profile.
|
| 7.4 Tobacco Use | |
GET [base]/Observation? code=http://snomed.info/sct|365980008 |
All known Tobacco Use, available in the source system, is exchanged as FHIR Observation instances that conform to the zib-TobaccoUse profile.
|
| 7.5 Nutrition Advice | |
GET [base]/NutritionOrder |
All Nutrition Advice available in the source system is exchanged as a FHIR NutritionOrder instances that conform to the zib-NutritionAdvice profile.
|
| 8 Alerts | |
| 8.1 Alert | |
GET [base]/Flag |
All alerts available in the source system are exchanged as a FHIR Flag instances that conform to the zib-Alert profile. |
| 9 Allergies | |
| 9.1 Allergy Intolerance | |
GET [base]/AllergyIntolerance |
All allergies and intolerances available in the source system are exchanged as a FHIR AllergyIntolerance instances that conform to the zib-AllergyIntolerance profile.
"manifestation":{
"extension": [{
"url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
"valueCode": "unknown"
}]
},
|
| 10 Medication | |
| 10.1 Medication Agreement | |
GET [base]/MedicationRequest? category=http://snomed.info/sct|16076005& _include=MedicationRequest:medication |
All medication agreements available in the source system are exchanged FHIR MedicationRequest instances that conform to the zib-MedicationAgreement profile.
|
| 10.2 Administration Agreement | |
GET [base]/MedicationDispense? category=http://snomed.info/sct|422037009& _include=MedicationDispense:medication |
All administration agreements available in the source system are exchanged FHIR MedicationDispense instances that conform to the zib-AdministrationAgreement profile.
|
| 10.3 Medication Use | |
GET [base]/MedicationStatement? category= urn:oid:2.16.840.1.113883.2.4.3.11.60.20.77.5.3|6& _include=MedicationStatement:medication |
All medication use available in the source system are exchanged FHIR MedicationStatement instances that conform to the zib-MedicationUse profile.
|
| 11 Medical devices | |
| 11.1 Medical device | |
GET [base]/DeviceUseStatement? _include=DeviceUseStatement:device |
All device use statements available in the source system are exchanged as FHIR DeviceUseStatement instances that conform to the zib-MedicalDevice profile.
|
| 12 Vaccinations | |
| 12.1 Vaccination | |
GET [base]/Immunization? status=completed |
All administered vaccinations available in the source system are exchanged as FHIR Immunization instances conforming to the zib-Vaccination profile.
|
| 13 vital signs and measurements | |
| 13.1 Blood pressure | |
GET [base]/Observation/$lastn? code=http://loinc.org|85354-9 |
The last known Blood pressure available in the source system is exchanged as a FHIR Observation instance that conforms to the zib-BloodPressure profile.
|
| 13.2 Body weight | |
GET [base]/Observation/$lastn? code=http://loinc.org|29463-7 |
The last known Body Weight available in the source system is exchanged as a FHIR Observation instance that conforms to the zib-BodyWeight profile.
|
| 13.3 Body height | |
GET [base]/Observation/$lastn? code=http://loinc.org|8302-2, http://loinc.org|8306-3, http://loinc.org|8308-9 |
The last known Body Height available in the source system is exchanged as a FHIR Observation instance that conforms to the zib-BodyHeight profile.
|
| 14 Results | |
| 14.1 Laboratory test result | |
GET [base]/Observation/$lastn? category=http://snomed.info/sct|49581000146104 &_include=Observation:related-target |
All last known Laboratory results, with the most recent test result for each PanelOrBattery, are exchanged as FHIR observations conforming to the zib-LaboratoryTestResult-Observation profile.
|
| 15 Procedures | |
| 15.1 Procedure | |
GET [base]/Procedure? category=http://snomed.info/sct|387713003, http://snomed.info/sct|258174001 |
All operative and image guided procedures available in the source system are exchanged as FHIR Procedure instances that conform to the zib-Procedure profile.
Procedure instances with any other category that the two specified above are not exchanged. The default category for the BgZ MSZ is ‘procedure’ (code = ‘71388002’ in CodeSystem ‘SNOMED CT’). |
| 16 Encounters | |
| 16.1 Encounter | |
GET [base]/Encounter |
All Encounters available in the source system are exchanged as FHIR Encounter instances that conform to the zib-Encounter profile. |
| 17 Planned care activity | |
| 17.1 Procedure | |
GET [base]/ProcedureRequest?status=active |
All planned procedures available in the source system are exchanged as FHIR ProcedureRequest instances according to the zib-ProcedureRequest profile. |
| 18 Care Setting | |
| 18.1 Health professional | |
GET [base]/CareTeam?status=active&_include=CareTeam:participant |
All health professionals available in the source system are exchanged as part of a CareTeam instance according to the nl-core-careteam profile.
|
| 18.2 Healthcare provider | |
see Procedure.performer see Encounter.serviceProvider |
Providers, are exchanged as part of the BgZ information elements according to the nl-core-organization profile. There is no specific query to retrieve Health Providers. |
| Meta data | |
| Meta data | |
GET [base]/Provenance |
All provenance data available in the source system for a specific BgZ summary is exchanged as FHIR provenance instances according to the BgZ-metadata profile. |
Table 4. FHIR queries used to retrieve BgZ MSZ components.
4.1.3 Search parameters
4.2 <Transaction 2>
4.2.1 Involved actors
4.2.2 Search parameters
4.2.3 Invocations
5 NP (if applicable)
[table with terminology mapping so that NP can be applied]
6 Selection criteria
Goal: definition of selection criteria that can be used.
Example of slection criterium
FunctionalOrMentalStatus.category is used to select (a) a function status or (b) a mental status
[tabel]
7 Data exchange standard
Goal:
This chapter should show how the data exchange standard was used to accommodate the Dutch Health Care Information Models (HCIMs) used in the IS. The contents of this chapter change based on the chosen data exchange standard. Currently supported is HL7 FHIR. HL7v3(including CDA), HL7v2, IHE XDS, IHE XCA and others are not supported yet.
7.1 HL7 FHIR
Goal: Every implementation of the standard will require the availability of the information presented here.
Standard text:
|
<IS> 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. |
Example eOverdracht 4.0.5 STU3:
|
eOverdracht 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. |
7.1.1 Artifacts
Goal:
This section shows the link between HCIM and FHIR resources. The table should follow the structure of the FO and refer to the FO (e.g., see FO).
For example, the link to the BgZ-MSZ 2.0 FO would be: [2.0 Chapter 2.1.1]
In the BgZ 2.0 FO the data is sectioned off in chapters and sections. Therefore, the table would use the following headers:
- Chapter - The relevant chapter from the FO.
- HCIM - The name of the HCIM to be exchanged.
- Target - The FHIR resource or data element used to exchange the specified HCIM.
- Profile - The FHIR profile used in this information standard. Use Sjabloon Simplifier.
Example BgZ-MSZ 2.0 FHIR STU3:
| Chapter | HCIM | Target | Profile |
|---|---|---|---|
| 1 | Patient | Patient | http://nictiz.nl/fhir/StructureDefinition/BgZ-Patient |
| MaritalStatus | Patient.maritalStatus | ||
| 2 | BloodPressure | Observation | http://nictiz.nl/fhir/StructureDefinition/zib-BloodPressure |
| BodyWeight | Observation | http://nictiz.nl/fhir/StructureDefinition/zib-BodyWeight | |
| BodyHeight | Observation | http://nictiz.nl/fhir/StructureDefinition/zib-BodyHeight | |
| 3 | LaboratoryTestResult | Observation | http://nictiz.nl/fhir/StructureDefinition/zib-LaboratoryTestResult-Observation |
| Specimen | http://nictiz.nl/fhir/StructureDefinition/zib-LaboratoryTestResult-Specimen | ||
| 4 | Procedure | Procedure | http://nictiz.nl/fhir/StructureDefinition/BgZ-Procedure |
| 5 | Encounter | Encounter | http://nictiz.nl/fhir/StructureDefinition/zib-Encounter |
7.1.2 Examples of FHIR instances
Standard text: A link to generated FHIR instances in the information standards' Nictiz-testscripts GitHub folder should be included.
Example BgZ-MSZ 2.0 STU3: Nictiz-testscripts (BgZ-MSZ 2.0)
8 Optional elements (not part of template chapters)
Here we will answer questions you may have about this template:
What if my IS uses workflow with a unique technical implementation?
If absolutely necessary, an additional chapter called "Workflow" may be added after the "Boundries & relationships" chapter.
What if want to add footnotes?
If absolutely necessary, an additional chapter called "Footnotes" may be added after the "Transactions" chapter. In there, a footnotes may be added using <ref> and <references /> tags.
9 Release notes (not part of the template)
Goal: Release notes are not a part of the TO template because this information about the information standard should already be available in the FO. This is described in the | Kwaliteitshandboek Standaardisatie - Stappenplan patchrelease. Moreover, release notes for technical implementation are already published in the | Nictiz Simplifier packages and | GitHub pages.
In onderstaande tabel staan alle wijzigingen met betrekking tot dit Quality Assurance (QA) Proces, vanaf versie 3.0.0.
| Versie | Datum | Release notes |
|---|---|---|