MedMij:Vprepub-2019.01 FHIR BGZ 2017: verschil tussen versies
k |
(Changes for 2019.01 February 2020 patch release) |
||
Regel 17: | Regel 17: | ||
[[Bestand:Functioneel-02.png|link=MedMij:V2019.01_Ontwerpen |100px|rechts|Functional design|Go to functional design]] | [[Bestand:Functioneel-02.png|link=MedMij:V2019.01_Ontwerpen |100px|rechts|Functional design|Go to functional design]] | ||
− | The program ‘Registratie aan de bron’ ( | + | The program ‘Registratie aan de bron’ (Clinical documentation at the point of care) has defined Health and Care Information models ([https://zibs.nl/wiki/HCIM_Mainpage HCIMs] (English) or [https://zibs.nl/wiki/ZIB_Hoofdpagina ZIBs] (Dutch)) for The Netherlands. Next to these HCIMs, the program ‘Registratie aan de bron’ also made a selection of these HCIMs into the so-called ‘Basisgegevensset Zorg’ (Common Clinical Dataset, a Dutch version of a ‘patient summary’, further referred to as ‘BgZ’). The BgZ serves as a minimal healthcare dataset that is always appropriate for caregivers in order to provide continuity of care for a patient and can be seen as a representation of a patient summary. |
A subselection of the published [https://zibs.nl/wiki/HCIM_Release_2017(EN) HCIMs release 2017] constitute the [https://www.registratieaandebron.nl/pdf/BgZ_specificatie_obv_zibs_2017_v1.1.pdf BgZ 2017]. The BgZ makes a subselection of the information concepts within the HCIMs or restricts the HCIMs to a certain category. For example, only include the general practitioner of the patient or only the last known value of 'X'. MedMij created FHIR profiles that represent these HCIMs completely if no existing and usable profiles were available. The profiles represent their entire respective HCIM, to make them applicable in a broader context than a patient summary or even the MedMij context. An overview of the profiles can be found at the [[MedMij:V2019.01_FHIR_BGZ_2017#List_of_StructureDefinitions|list of StructureDefinitions]]. | A subselection of the published [https://zibs.nl/wiki/HCIM_Release_2017(EN) HCIMs release 2017] constitute the [https://www.registratieaandebron.nl/pdf/BgZ_specificatie_obv_zibs_2017_v1.1.pdf BgZ 2017]. The BgZ makes a subselection of the information concepts within the HCIMs or restricts the HCIMs to a certain category. For example, only include the general practitioner of the patient or only the last known value of 'X'. MedMij created FHIR profiles that represent these HCIMs completely if no existing and usable profiles were available. The profiles represent their entire respective HCIM, to make them applicable in a broader context than a patient summary or even the MedMij context. An overview of the profiles can be found at the [[MedMij:V2019.01_FHIR_BGZ_2017#List_of_StructureDefinitions|list of StructureDefinitions]]. | ||
Regel 52: | Regel 52: | ||
==Boundaries and Relationships== | ==Boundaries and Relationships== | ||
− | The BgZ 2017 use case follows the BgZ | + | The BgZ 2017 v1.1 use case follows the BgZ v1.0 use case. The difference between the two is the underlying HCIMs, which have been upgraded from release 2015 to release 2017. The changes are documented in a [https://github.com/Nictiz/Nictiz-STU3-Zib2017/raw/master/ReleaseNotes%20FHIR%20profielen%20ZIB2017.pdf release notes] document. |
− | |||
− | |||
− | |||
The BgZ use case has similarities and differences with other use cases such as Medication Process, Vital Signs and Lab Results. These use cases use the same HCIM based FHIR profiles for exchanging information. The BgZ use case covers practically all profiles included in the other use cases. However, the BgZ differs in the scope of the actual health information content that should be exchanged. For example, the BgZ conveys only the last known lab result of each type while the Lab Results use case may cover all known information. | The BgZ use case has similarities and differences with other use cases such as Medication Process, Vital Signs and Lab Results. These use cases use the same HCIM based FHIR profiles for exchanging information. The BgZ use case covers practically all profiles included in the other use cases. However, the BgZ differs in the scope of the actual health information content that should be exchanged. For example, the BgZ conveys only the last known lab result of each type while the Lab Results use case may cover all known information. | ||
==List of invocations== | ==List of invocations== | ||
− | [[Bestand:Afsprakenstelsel-01.png|link=https://www.medmij.nl/afsprakenstelsel/|rechts |100px|Go to Afsprakenstelsel]] | + | [[Bestand:Afsprakenstelsel-01.png|link=https://www.medmij.nl/afsprakenstelsel/|rechts |100px|Go to MedMij Afsprakenstelsel]] |
− | This FHIR implementation guide assumes that the PHR system is able to make a connection to the XIS that contains the patients BgZ information. It does not provide information on finding the right XIS nor does it provide information about security. These infrastructure and interface specifications are described in the [https://www.medmij.nl/afsprakenstelsel/ 'Afsprakenstelsel']. | + | This FHIR implementation guide assumes that the PHR system is able to make a connection to the XIS that contains the patients BgZ information. It does not provide information on finding the right XIS nor does it provide information about security. These infrastructure and interface specifications are described in the [https://www.medmij.nl/afsprakenstelsel/ 'MedMij Afsprakenstelsel']. |
===Client - PHR=== | ===Client - PHR=== | ||
Regel 83: | Regel 80: | ||
| Patient information | | Patient information | ||
| Patient | | Patient | ||
− | | Identification, | + | | Identification, birth date, gender, deceased indicator, contact details, last known marital status, and general practitioner (practitioner or organization) |
| <pre>GET [base]/Patient?_include=Patient:general-practitioner</pre> | | <pre>GET [base]/Patient?_include=Patient:general-practitioner</pre> | ||
|- | |- | ||
Regel 93: | Regel 90: | ||
|- | |- | ||
| rowspan="2" | 3 | | rowspan="2" | 3 | ||
− | | rowspan="2" | Treatment | + | | rowspan="2" | Treatment directives |
| TreatmentDirective | | TreatmentDirective | ||
| Known treatment directives | | Known treatment directives | ||
Regel 103: | Regel 100: | ||
|- | |- | ||
| 4 | | 4 | ||
− | | | + | | Contact persons |
| ContactPerson | | ContactPerson | ||
| First relation/contact | | First relation/contact | ||
Regel 171: | Regel 168: | ||
| Medical aids | | Medical aids | ||
| MedicalAid | | MedicalAid | ||
− | | | + | | Known medical aids |
| <pre>GET [base]/DeviceUseStatement?_include=DeviceUseStatement:device</pre> | | <pre>GET [base]/DeviceUseStatement?_include=DeviceUseStatement:device</pre> | ||
|- | |- | ||
Regel 177: | Regel 174: | ||
| Vaccinations | | Vaccinations | ||
| Vaccination | | Vaccination | ||
− | | | + | | Known vaccinations |
| <pre>GET [base]/Immunization?status=completed</pre> | | <pre>GET [base]/Immunization?status=completed</pre> | ||
|- | |- | ||
Regel 203: | Regel 200: | ||
| Procedures | | Procedures | ||
| Procedure | | Procedure | ||
− | | | + | | Known surgical procedures |
| <pre>GET [base]/Procedure?category=http://snomed.info/sct|387713003</pre> | | <pre>GET [base]/Procedure?category=http://snomed.info/sct|387713003</pre> | ||
|- | |- | ||
Regel 209: | Regel 206: | ||
| Encounters | | Encounters | ||
| Contact | | Contact | ||
− | | | + | | Known hospital admissions (no outpatient contacts) |
| <pre>GET [base]/Encounter?class=http://hl7.org/fhir/v3/ActCode|IMP,http://hl7.org/fhir/v3/ActCode|ACUTE,http://hl7.org/fhir/v3/ActCode|NONAC</pre> | | <pre>GET [base]/Encounter?class=http://hl7.org/fhir/v3/ActCode|IMP,http://hl7.org/fhir/v3/ActCode|ACUTE,http://hl7.org/fhir/v3/ActCode|NONAC</pre> | ||
|- | |- | ||
Regel 215: | Regel 212: | ||
| rowspan="5" | Planned care | | rowspan="5" | Planned care | ||
| rowspan="5" | PlannedCareActivity | | rowspan="5" | PlannedCareActivity | ||
− | | rowspan="5" | | + | | rowspan="5" | Known planned care activities <nowiki>[</nowiki> [[#MM-115|*]] <nowiki>]</nowiki> |
| <pre>GET [base]/ProcedureRequest?status=active</pre> | | <pre>GET [base]/ProcedureRequest?status=active</pre> | ||
|- | |- | ||
Regel 234: | Regel 231: | ||
===Server - XIS=== | ===Server - XIS=== | ||
− | Important sections of the FHIR specification for a server in this use case are the [http://hl7.org/fhir/STU3/http.html#2.21.0 RESTful API section] the [http://hl7.org/fhir/STU3/search.html search section] and [http://hl7.org/fhir/STU3/operations.html operation section] (for the | + | Important sections of the FHIR specification for a server in this use case are the [http://hl7.org/fhir/STU3/http.html#2.21.0 RESTful API section] the [http://hl7.org/fhir/STU3/search.html search section] and [http://hl7.org/fhir/STU3/operations.html operation section] (for the lastn operation). |
====Response to resource requests==== | ====Response to resource requests==== | ||
Regel 299: | Regel 296: | ||
Search result parameters: | Search result parameters: | ||
* [http://hl7.org/fhir/STU3/search.html#include _include] | * [http://hl7.org/fhir/STU3/search.html#include _include] | ||
− | |||
==List of StructureDefinitions== | ==List of StructureDefinitions== | ||
− | The profiles represent their entire respective HCIM, to make them applicable in a broader context than the exchange of BgZ or a MedMij context. An example of reuse of existing profiles | + | The profiles represent their entire respective HCIM, to make them applicable in a broader context than the exchange of BgZ or a MedMij context. An example of reuse of existing profiles is those of the patient administration resources and vital signs. |
{{NoteBoxPackage|https://simplifier.net/NictizSTU3-Zib2017/~packages|1.3.x|MedMij:V2019.01_FHIR_IG}} | {{NoteBoxPackage|https://simplifier.net/NictizSTU3-Zib2017/~packages|1.3.x|MedMij:V2019.01_FHIR_IG}} | ||
Regel 313: | Regel 309: | ||
!style="background-color: #4AB8A7; color: white; font-weight: bold; text-align:left; background-color: #E3E3E3 width:400px" | FHIR Profile | !style="background-color: #4AB8A7; color: white; font-weight: bold; text-align:left; background-color: #E3E3E3 width:400px" | FHIR Profile | ||
|- | |- | ||
− | | | + | | 1 |
| Patient | | Patient | ||
| #ZIB Patient|Patient | | #ZIB Patient|Patient | ||
Regel 319: | Regel 315: | ||
| {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient}} | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient}} | ||
|- | |- | ||
− | | rowspan="3" | | + | | rowspan="3" |2 |
| rowspan="3" | Betaler | | rowspan="3" | Betaler | ||
| rowspan="3" | Payer | | rowspan="3" | Payer | ||
Regel 331: | Regel 327: | ||
| {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient}} | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient}} | ||
|- | |- | ||
− | | rowspan="2" | | + | | rowspan="2" |3 |
| BehandelAanwijzing | | BehandelAanwijzing | ||
| TreatmentDirective | | TreatmentDirective | ||
Regel 342: | Regel 338: | ||
| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-AdvanceDirective}} | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-AdvanceDirective}} | ||
|- | |- | ||
− | | | + | | 4 |
| Contactpersoon | | Contactpersoon | ||
| ContactPerson | | ContactPerson | ||
Regel 348: | Regel 344: | ||
| {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient}} | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient}} | ||
|- | |- | ||
− | | | + | | 5 |
| Funct. OfMentaleStatus | | Funct. OfMentaleStatus | ||
| FunctionalOrMentalStatus | | FunctionalOrMentalStatus | ||
Regel 354: | Regel 350: | ||
| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-FunctionalOrMentalStatus}} | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-FunctionalOrMentalStatus}} | ||
|- | |- | ||
− | | | + | | 6 |
| Probleem | | Probleem | ||
| Problem | | Problem | ||
Regel 360: | Regel 356: | ||
| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Problem}} | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Problem}} | ||
|- | |- | ||
− | | rowspan="5" | | + | | rowspan="5" | 7 |
| Woonsituatie | | Woonsituatie | ||
| LivingSituation | | LivingSituation | ||
Regel 386: | Regel 382: | ||
| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-NutritionAdvice}} | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-NutritionAdvice}} | ||
|- | |- | ||
− | | | + | | 8 |
| Alert | | Alert | ||
| Alert | | Alert | ||
Regel 392: | Regel 388: | ||
| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Alert}} | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Alert}} | ||
|- | |- | ||
− | | | + | | 9 |
| AllergieIntolerantie | | AllergieIntolerantie | ||
| AllergyIntolerance | | AllergyIntolerance | ||
Regel 522: | Regel 518: | ||
!style="text-align:left;"|Date | !style="text-align:left;"|Date | ||
!style="text-align:left;"|Description | !style="text-align:left;"|Description | ||
+ | |- | ||
+ | | style="background-color: white;"| 2019.01 - February 2020 | ||
+ | | style="background-color: white;"| 27-02-2020 | ||
+ | | style="background-color: white;"| | ||
+ | * Changes for 2019.01 February 2020 patch release | ||
+ | * Added new version of FHIR package | ||
|- | |- | ||
| style="background-color: white;"| 2019.01 - January 2020 | | style="background-color: white;"| 2019.01 - January 2020 |
Versie van 27 feb 2020 09:56
{{#customtitle:MedMij FHIR Implementation Guide: BgZ }}
1 Introduction
The program ‘Registratie aan de bron’ (Clinical documentation at the point of care) has defined Health and Care Information models (HCIMs (English) or ZIBs (Dutch)) for The Netherlands. Next to these HCIMs, the program ‘Registratie aan de bron’ also made a selection of these HCIMs into the so-called ‘Basisgegevensset Zorg’ (Common Clinical Dataset, a Dutch version of a ‘patient summary’, further referred to as ‘BgZ’). The BgZ serves as a minimal healthcare dataset that is always appropriate for caregivers in order to provide continuity of care for a patient and can be seen as a representation of a patient summary.
A subselection of the published HCIMs release 2017 constitute the BgZ 2017. The BgZ makes a subselection of the information concepts within the HCIMs or restricts the HCIMs to a certain category. For example, only include the general practitioner of the patient or only the last known value of 'X'. MedMij created FHIR profiles that represent these HCIMs completely if no existing and usable profiles were available. The profiles represent their entire respective HCIM, to make them applicable in a broader context than a patient summary or even the MedMij context. An overview of the profiles can be found at the list of StructureDefinitions.
The patient journey of Thomas van Beek, provides a patients context for exchanging a patient summary from a healthcare provider's system (XIS) to a personal health record (PHR). MedMij created a functional design of the BgZ use case. This use case consists of enabling a patient to view his own BgZ in a PHR. This page will elaborate further on the HL7 FHIR details needed to exchange the BgZ information using FHIR.
2 Actors involved
Actors | Systems | FHIR Capability Statements | |||
---|---|---|---|---|---|
Name | Description | Name | Description | Name | Description |
Patient | The user of a personal healthcare enviorment. | PHR | Personal health record | Client@ http://nictiz.nl/fhir/CapabilityStatement/bgz2017-clientcapabilities | FHIR Client requirements |
Healthcare professional | The user of a XIS | XIS | Healthcare information system | Server@ http://nictiz.nl/fhir/CapabilityStatement/bgz2017-servercapabilities | FHIR Server requirements |
3 Boundaries and Relationships
The BgZ 2017 v1.1 use case follows the BgZ v1.0 use case. The difference between the two is the underlying HCIMs, which have been upgraded from release 2015 to release 2017. The changes are documented in a release notes document.
The BgZ use case has similarities and differences with other use cases such as Medication Process, Vital Signs and Lab Results. These use cases use the same HCIM based FHIR profiles for exchanging information. The BgZ use case covers practically all profiles included in the other use cases. However, the BgZ differs in the scope of the actual health information content that should be exchanged. For example, the BgZ conveys only the last known lab result of each type while the Lab Results use case may cover all known information.
4 List of invocations
This FHIR implementation guide assumes that the PHR system is able to make a connection to the XIS that contains the patients BgZ information. It does not provide information on finding the right XIS nor does it provide information about security. These infrastructure and interface specifications are described in the 'MedMij Afsprakenstelsel'.
4.1 Client - PHR
The PHR system requests the BgZ using individual search interactions. The BgZ consists of multiple FHIR resources with certain constraints. To obtain the patient's BgZ, the client can use multiple individual search operations based on specified search queries. The interaction can be performed by an HTTP GET or command as shown:
GET [base]/[type]/{?[parameters]{&_format=[mime-type]}}
The table below shows in the first four columns the BgZ sections, the HCIMs that constitute those sections and the specific content of the BgZ. The last column shows the FHIR search queries to obtain the BgZ information. These queries are based on StructureDefinitions listed in this section.
This FHIR implementation guide assumes that the PHR system is able to make a connection to the right XIS that contains the patient's information. It does not provide information on finding the right XIS nor does it provide information about security. Moreover, each transaction is performed in the context of a specific authenticated patient, for whose context (token) has been established using the authentication mechanisms described in the 'Afsprakenstelsel'. Each XIS Gateway is required to perform filtering based on the patient associated with the context for the request, so only the records associated with the authenticated patient are returned. For this reason, search parameters should not be included for patient identification.
# | BgZ Section | HCIM EN | Content | Example Search URL |
---|---|---|---|---|
1 | Patient information | Patient | Identification, birth date, gender, deceased indicator, contact details, last known marital status, and general practitioner (practitioner or organization) | GET [base]/Patient?_include=Patient:general-practitioner |
2 | Payment details | Payer | Insurance information | GET [base]/Coverage?_include=Coverage:payor:Patient&_include=Coverage:payor:Organization |
3 | Treatment directives | TreatmentDirective | Known treatment directives | GET [base]/Consent?category=http://snomed.info/sct|11291000146105 |
AdvanceDirective | Known advance directives | GET [base]/Consent?category=http://snomed.info/sct|11341000146107 | ||
4 | Contact persons | ContactPerson | First relation/contact | see Patient |
5 | Functional status | FunctionalOrMentalStatus | Last known functional / mental status | GET [base]/Observation/$lastn?category=http://snomed.info/sct|118228005,http://snomed.info/sct|384821006 |
6 | Problems | Concern | All known problems | GET [base]/Condition |
7 | Social history | LivingSituation | Current living situation | GET [base]/Observation/$lastn?code=http://snomed.info/sct|365508006 |
DrugUse | All known drug use | GET [base]/Observation?code=http://snomed.info/sct|228366006 | ||
AlcoholUse | All known alcohol use | GET [base]/Observation?code=http://snomed.info/sct|228273003 | ||
TobaccoUse | All known tobacco use | GET [base]/Observation?code=http://snomed.info/sct|365980008 | ||
NutritionAdvice | All known current dietary recommendations | GET [base]/NutritionOrder?status=active | ||
8 | Alerts | Alert | All known alerts | GET [base]/Flag |
9 | Allergies | AllergyIntolerance | All known information regarding allergies | GET [base]/AllergyIntolerance |
10 | Medication | MedicationUse | Known 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 |
MedicationAgreement | Known medication agreements | GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&_include=MedicationRequest:medication | ||
AdministrationAgreement | Known administration agreements | GET [base]/MedicationDispense?category=http://snomed.info/sct|422037009&_include=MedicationDispense:medication | ||
11 | Medical aids | MedicalAid | Known medical aids | GET [base]/DeviceUseStatement?_include=DeviceUseStatement:device |
12 | Vaccinations | Vaccination | Known vaccinations | GET [base]/Immunization?status=completed |
13 | Vital signs | BloodPressure | Last known blood pressure | GET [base]/Observation/$lastn?code=http://loinc.org|85354-9 |
BodyWeight | Last known body weight | GET [base]/Observation/$lastn?code=http://loinc.org|29463-7 | ||
BodyHeight | Last known body height | GET [base]/Observation/$lastn?code=http://loinc.org|8302-2,http://loinc.org|8306-3,http://loinc.org|8308-9 | ||
14 | Results | LaboratoryTestResult | Last known laboratory results per type | GET [base]/Observation/$lastn?category=http://snomed.info/sct|275711006&_include=Observation:related-target&_include=Observation:specimen |
15 | Procedures | Procedure | Known surgical procedures | GET [base]/Procedure?category=http://snomed.info/sct|387713003 |
16 | Encounters | Contact | Known hospital admissions (no outpatient contacts) | GET [base]/Encounter?class=http://hl7.org/fhir/v3/ActCode|IMP,http://hl7.org/fhir/v3/ActCode|ACUTE,http://hl7.org/fhir/v3/ActCode|NONAC |
17 | Planned care | PlannedCareActivity | Known planned care activities [ * ] | GET [base]/ProcedureRequest?status=active |
GET [base]/ImmunizationRecommendation | ||||
GET [base]/MedicationDispense?category=http://snomed.info/sct|422037009&status=in-progress,preparation&_include=MedicationDispense:medication | ||||
GET [base]/DeviceRequest?status=active&_include=DeviceRequest:device | ||||
GET [base]/Appointment?status=booked,pending,proposed | ||||
18 | General practitioner | HealthProfessional | General Practitioner of the patient | see Patient |
4.2 Server - XIS
Important sections of the FHIR specification for a server in this use case are the RESTful API section the search section and operation section (for the lastn operation).
4.2.1 Response to resource requests
If the search succeeds, the server SHALL return a 200 OK HTTP status code and the returned content SHALL be a Bundle with type = searchset containing the results of the search as a collection of zero or more resources in a defined order. The returned content SHALL conform to the StructureDefinition applicable for the specific HCIM request. The list of a StructureDefinitions relevant for this use case is shown in the following paragraph: List of StructureDefinitions
The result collection can be long, so servers may use paging. If they do, they SHALL use the method described below (adapted from RFC 5005 (Feed Paging and Archiving ) for breaking the collection into pages if appropriate. The server MAY also return an OperationOutcome resource within the searchset Bundle entries that contains additional information about the search; if one is sent it SHALL NOT include any issues with a fatal or error severity, and it SHALL be marked with a Bundle.entry.search.mode of outcome.
In order to allow the client to be confident about what search parameters were used as criteria by the server, the server SHALL return the parameters that were actually used to process the search. Applications processing search results SHALL check these returned values where necessary. For example, if the server did not support some of the filters specified in the search, a client might manually apply those filters to the retrieved result set, display a warning message to the user or take some other action.
In the case of a RESTful search, these parameters are encoded in the self-link in the bundle that is returned:
<link> <relation value="self"/> <url value="http://example.org/Patient?identifier=[Patient-ID]/> </link>
Link to the relevant FHIR specification: http://hl7.org/fhir/STU3/http.html#search
4.2.2 Handling errors
If the search fails (cannot be executed, not that there are no matches), the return value is a status code 4xx or 5xx with an OperationOutcome. An HTTP status code of 403 signifies that the server refused to perform the search, while other 4xx and 5xx codes signify that some sort of error has occurred. The HTTP status code 404 is returned if a XIS did not implement an endpoint used in a request by a PHR. When the search fails, a server SHOULD return an OperationOutcome detailing the cause of the failure. For example, in case of a not implemented FHIR endpoint, the OperationOutcome would state that the resource type is not supported. Note: an empty search result is not a failure.
Common HTTP Status codes returned on FHIR-related errors (in addition to normal HTTP errors related to security, header and content type negotiation issues):
- 400 Bad Request - search could not be processed or failed basic FHIR validation rules
- 401 Not Authorized - authorization is required for the interaction that was attempted
- 404 Not Found - resource type not supported, or not a FHIR end-point
In some cases, parameters may cause an error. For instance:
- A parameter may refer to a non-existent resource e.g.
GET [base]/Observation?subject=101
, where "101" does not exist - A parameter may refer to an unknown code e.g.
GET [base]/Observation?code=loinc|1234-1
, where the LOINC code "1234-1" is not known to the server - A parameter may refer to a time that is out of scope e.g.
GET [base]/Condition?onset=le1995
, where the system only has data going back to 2001 - A parameter may use an illegal or unacceptable modifier e.g.
GET [base]/Condition?onset:text=1995
, where the modifier cannot be processed by the server - A date/time parameter may have incorrect format e.g.
GET [base]/Condition?onset=23%20May%202009
- A parameter may be unknown or unsupported
Where the content of the parameter is syntactically incorrect, servers SHOULD return an error. However, where the issue is a logical condition (e.g. unknown subject or code), the server SHOULD process the search, including processing the parameter - with the result of returning an empty search set, since the parameter cannot be satisfied.
In such cases, the search process MAY include an OperationOutcome in the search set that contains additional hints and warnings about the search process. This is included in the search results as an entry with search mode = outcome. Clients can use this information to improve future searches.
Link to relevant FHIR specification: http://hl7.org/fhir/STU3/search.html#errors
5 Interactions, operations, search parameters
5.1 Interactions
The following logical interactions are needed for the BgZ use case:
5.2 Operations
The following operation is needed for this use case.
The lastn query meets the common need for searching for the most recent or last n=number of observations for a subject. For example, retrieving the last 5 temperatures for a patient to view trends or fetching the most recent laboratory results or vital signs. The link will provide more detailed information and examples regarding this operation.
5.3 Search parameters
The following search parameter types and search result parameters need to be supported for this use case.
Search parameter types:
Search result parameters:
6 List of StructureDefinitions
The profiles represent their entire respective HCIM, to make them applicable in a broader context than the exchange of BgZ or a MedMij context. An example of reuse of existing profiles is those of the patient administration resources and vital signs.
MedMij uses the FHIR Packaging mechanism. This conveniently bundles all examples, profiles and other conformance resources you need into a single download. For more background information see the the FHIR implementation guide. This version of the information standard depends on Nictiz package 1.3.x. Please note that the direct links to the various conformance resources below will take you to the latest version, which might not match the package version. At time of writing, there is no way to render the conformance resource as found in the package. This is on the roadmap for Simplifier. |
7 Terminology, NamingSystems, Mappings
7.1 Terminology
Relevant value sets can be found using the ValueSet category. All resources can be downloaded in a .zip in XML or JSON format. In the .zip, the value sets are stored in the directory 'value sets'.
7.2 NamingSystems
Relevant NamingSystems can be found using the NamingSystem category.
7.3 Mappings
A FHIR ConceptMap resource is provided when a FHIR value set is used instead of a HCIM value set. A ConceptMap maps the values between the two value sets. These ConceptMaps can be found here.
An explanation about mappings can be found at Mapping of coded concepts.
8 Annex: Document history
8.1 Release notes
Release notes can be found on the functional design page.
8.2 History
Release | Date | Description |
---|---|---|
2019.01 - February 2020 | 27-02-2020 |
|
2019.01 - January 2020 | 27-01-2020 |
|
2019.01 - November | 10-12-2019 |
|
2019.01 - November | 28-11-2019 |
|
2019.01 - October | 30-10-2019 |
|
2019.01 - September | 30-09-2019 |
|
2019.01 | 11-03-2019 | * MM-115 Solved inconsistency in the List of StructureDefinitions. Also we will no longer check PlannedCareActivityForTransfer for MedicationAdministration in section 17 Zorgplan, because we found it was unimplementable as-is. Presumed solution will come from a future HCIM release. |
2019.01 | 11-03-2019 |
|
2018.06 | 18-10-2018 |
|
2018.06 | 15-10-2018 |
|