Quality Assurance - Template - Technisch Ontwerp
For an overview of all current documentation for STANDARDNAME see IS main page
{{DISPLAYTITLE:Title of current standard}
Inhoud
|
|
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 |
|---|
|
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.
Change the document title to: Technical Design <IS name> <IS version>
|
1 Introduction
|
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>. The standard we use is: CDA/FHIR STU3/R4/
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: [reference to current FO].
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 Boundaries
Standard text: This standard may overlap with other information standards related to identification, roles, and geographic classifications, requiring careful alignment to ensure consistency and avoid duplication. For more information, see <link to FO>.
Dit moet ook in het FO template gezet worden! |
1.3 Known issues
Standard text: The IS is actively maintained and continuously improved. However, limitations to the current version may exist. The known issues are listed in the [<Link-to-FO#known-issues> | FO (in Dutch)].
Dit moet ook in het FO template gezet worden! |
1.4 Prerequisite 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.)>.
- The FO [link] accompanying this TO.
- This standard uses the data exchange pattern <your pattern here>, which you can find here: <link>
Example BgZ-MSZ 2.0: This TO assumes that the reader is familiar with the following:
- FHIR STU3
- FO link
- Technical Agreement - Notified Pull (TA-NP)
2 Components
|
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 this template supports is HL7 FHIR. HL7v3(including CDA), HL7v2, IHE XDS, IHE XCA and others are not supported yet. |
2.1 HL7 FHIR <version>
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: [expand/collapse]:
|
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. |
2.1.1 Artifacts
Standard text: Link to the FO. A 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 |
2.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)
3 Transactions
|
Goal:
In this chapter, the transaction groups of the functional design are supplemented with invocations, such as FHIR queries and search parameters. |
3.1 <Transaction group 1>
3.1.1 Involved actors
Standard text:
| Transaction group | Transaction | Actor | System role code | FHIR CapabilityStatement |
|---|---|---|---|---|
| <Transaction group name> | <Transaction 1> | <Actor 1> | <System role code 1> | <FHIR CapabilityStatement 1> |
| <Transaction 2> | <Actor 2> | <System role code 2> | <FHIR CapabilityStatement 2> |
Example MedMij LaboratoryResults 2.0.42 FHIR STU3:
| Transaction group | Transaction | Actor | System role | FHIR CapabilityStatement |
|---|---|---|---|---|
| Medication data (PUSH) | Sending medication data | Client | MP-MGS | CapabilityStatement Send/receive medication data |
| Receiving medication data | Server | MP-MGO |
3.1.2 Invocations
Standard text:
| Query | Description |
|---|---|
| <sorting variable 1 (e.g., FHIR resource or Functional segment)> | |
| <Functional data element 1> | |
<HTTP Method> [base]/<FHIR resource 1>?_include=<FHIR resource 1>:<Search parameters> |
<Description of queried data> |
| <Functional data element 2> | |
see <FHIR resource 1 data element> |
<Description of queried data> |
| <sorting variable 2 (e.g., FHIR resource or Functional segment)> | |
| <Functional data element 3> | |
<HTTP Method> [base]/<FHIR resource>?_include=<FHIR resource>:<Search parameters> |
<Description of queried data> |
Example BgZ-MSZ 2.0 STU3: [expand/collapse]:
3.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.
3.1.3 Search parameters
Search parameters are used in the URL to filter the results of a FHIR query. Clients can use defined parameters and may also use custom parameters, while servers can choose to support or ignore them, and must indicate which parameters were used in the response.
Provide a table listing all search parameters that SHALL or MAY be supported for processing by servers and SHALL/MAY be supported by clients. Include the corresponding Information Standard search parameter, Description, FHIR search parameter, FHIR resources, Descriptions and examples. Mention also custom search parameters that may be defined for transactions of the particular information standard.
Example MP9:
| Functional data element | Description | FHIR search parameter | FHIR resource | Example |
|---|---|---|---|---|
| PatientIdentificationNumber | Search on patient. | patient.identifier [1]
|
MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration | Retrieves all MedicationRequest resources of a patient with a fictional BSN of 11122233.
GET [base]/MedicationRequest?patient.identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333 |
| Identification | Search on identifier. | identifier
|
MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration | Retrieves a MedicationRequest resource with a specific identifier.
GET [base]/MedicationRequest?identifier=http://example.nl/fhir/NamingSystem/MedicationRequest|999922448 |
| Identification | Search on the pharmaceutical treatment identifier.
Note: retrieval of all medication resources belonging to one pharmaceutical treatment requires to search on all medication resource types. |
pharmaceutical-treatment-identifier [2]
|
MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration | Retrieves all MedicationRequest resources that are part of a pharmaceutical treatment with a specific identifier.
GET [base]/MedicationRequest?pharmaceutical-treatment-identifier=http://example.nl/fhir/NamingSystem/pharmaceuticaltreatment|1247848 |
3.2 <Transaction group 2>
3.2.1 Involved actors
Standard text:
| Transaction group | Transaction | Actor | System role code | FHIR CapabilityStatement |
|---|---|---|---|---|
| <Transaction group name> | <Transaction 1> | <Actor 1> | <System role code 1> | <FHIR CapabilityStatement 1> |
| <Transaction 2> | <Actor 2> | <System role code 2> | <FHIR CapabilityStatement 2> |
3.2.2 Invocations
Goal: To give an overview of the invocations used to query FHIR servers in the transaction.
Standard text:
| Query | Description |
|---|---|
| <sorting variable 1 (e.g., FHIR resource or Functional segment)> | |
| <Functional data element 1> | |
<HTTP Method> [base]/<FHIR resource 1>?_include=<FHIR resource 1>:<Search parameters> |
<Description of queried data> |
| <Functional data element 2> | |
see <FHIR resource 1 data element> |
<Description of queried data> |
| <sorting variable 2 (e.g., FHIR resource or Functional segment)> | |
| <Functional data element 3> | |
<HTTP Method> [base]/<FHIR resource>?_include=<FHIR resource>:<Search parameters> |
<Description of queried data> |
3.2.3 Search parameters
4 Optional elements (not part of template chapters)
'Goal: The contents of these chapters are dependent on the needs of your IS; fill them in at your own discretion.
Workflow
If absolutely necessary (e.g., your IS uses a workflow with a unique technical implementation), an additional chapter called "Workflow" may be added after the Introduction.
[]
Relationships
You may want to show the relationships between the various data elements in your IS using a diagram. If so, add an additional chapter called "Relationships" after the Introduction (or Workflow, if used).
Footnotes
If absolutely necessary, an additional chapter called "Footnotes" may be added as the final chapter. In there, a footnote may be added using <ref> and <references /> tags.
5 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 |
|---|---|---|
- ↑ 1,0 1,1 This search parameter only needs to be supported when patient identification requires the use of search parameters, see section 2.4.
- ↑ The search parameter consists of a custom FHIR search parameter not represented in the FHIR specification. Note that for
MedicationRequest.categoryandMedicationStatement.categorya core search parameter is available, hence no custom one is needed in those cases.