mp:V9 2.0.0-draft FHIR MedicationProcess: verschil tussen versies

Uit informatiestandaarden
Naar navigatie springen Naar zoeken springen
 
(29 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 8: Regel 8:
 
This is the FHIR implementation guide for the information standard Medicatieproces 9, version 2.0. This standard is described in [[mp:V9_2.0.0_Ontwerp_medicatieproces_ENG|this functional specification]] and implemented here using [https://www.hl7.org/fhir/R4/ HL7 FHIR, R4]. This implementation guide assumes that the reader is familiar with this FHIR version.
 
This is the FHIR implementation guide for the information standard Medicatieproces 9, version 2.0. This standard is described in [[mp:V9_2.0.0_Ontwerp_medicatieproces_ENG|this functional specification]] and implemented here using [https://www.hl7.org/fhir/R4/ HL7 FHIR, R4]. This implementation guide assumes that the reader is familiar with this FHIR version.
  
Apart from this document, the guidelines as specified in [[FHIR:V1.0 FHIR IG R4|general FHIR Implementation Guide]] apply. In particular, the reader should take note of the [[FHIR:V1.0_FHIR_IG_R4#Use_case_overarching_principles|Use case overarching principles]] and the use of [[FHIR:V1.0_FHIR_IG_R4#FHIR_Packages|FHIR packages]].
+
Apart from this document, the guidelines as specified in [[FHIR:Vdraft FHIR IG R4|general FHIR Implementation Guide]] apply. In particular, the reader should take note of the [[FHIR:Vdraft_FHIR_IG_R4#Use_case_overarching_principles|Use case overarching principles]] and the use of [[FHIR:Vdraft_FHIR_IG_R4#FHIR_Packages|FHIR packages]].
  
 
Use cases:
 
Use cases:
 
* [[#Use_case:_retrieve_medication_data|Retrieve medication data]]
 
* [[#Use_case:_retrieve_medication_data|Retrieve medication data]]
* [[#Use_case:_retrieve_medication_overview|Retrieve a medication overview]]
+
* [[#Use_case:_retrieve_medication_overview|Retrieve medication overview]]
  
 
=Actors involved=
 
=Actors involved=
Regel 31: Regel 31:
 
| Client
 
| Client
 
| PHR or XIS
 
| PHR or XIS
|[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/medication-clientcapabilities|nictiz.fhir.nl.r4.mp9|pkgVersion=0.1.0|title=CapabilityStatement: Client}}
+
|[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/MedicationProcess-ClientCapabilities|nictiz.fhir.nl.r4.medicationprocess9|pkgVersion=2.0.0-beta2|title=CapabilityStatement: Client}}
 
| Client requirements  
 
| Client requirements  
 
|-
 
|-
Regel 38: Regel 38:
 
| Server
 
| Server
 
| XIS
 
| XIS
|[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/medication-servercapabilities|nictiz.fhir.nl.r4.mp9|pkgVersion=0.1.0|title=CapabilityStatement: Server}}
+
|[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/MedicationProcess-ServerCapabilities|nictiz.fhir.nl.r4.medicationprocess9|pkgVersion=2.0.0-beta2|title=CapabilityStatement: Server}}
 
| Server requirements  
 
| Server requirements  
 
|}
 
|}
Regel 53: Regel 53:
 
! style="text-align:left;"| '''Role'''
 
! style="text-align:left;"| '''Role'''
 
|-
 
|-
|style="background-color: white;vertical-align:top;" rowspan="2"|[http://decor.nictiz.nl/medicatieproces/mp-html-20200122T161947/sc-2.16.840.1.113883.2.4.3.11.60.20.77.3.12-2016-03-23T163243.html#_2.16.840.1.113883.2.4.3.11.60.20.77.4.100_20160323163243 Retrieve Medication Data (PULL)]  
+
|style="background-color: white;vertical-align:top;" rowspan="2"|[https://decor.nictiz.nl/pub/medicatieproces/mp-html-20210921T194523/sc-2.16.840.1.113883.2.4.3.11.60.20.77.3.27-2021-04-02T093339.html#_2.16.840.1.113883.2.4.3.11.60.20.77.4.170_20210402093339 Retrieve Medication Data (PULL)]  
|style="background-color: white;vertical-align:top;"|[http://decor.nictiz.nl/medicatieproces/mp-html-20200122T161947/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.136-2016-07-12T133747.html Consulting medication data]
+
|style="background-color: white;vertical-align:top;"|[https://decor.nictiz.nl/pub/medicatieproces/mp-html-20210921T194523/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.171-2021-04-02T093339.html Consulting medication data]
 
|style="background-color: white;vertical-align:top;"|Client  
 
|style="background-color: white;vertical-align:top;"|Client  
 
|style="background-color: white;vertical-align:top;"|Request medication data
 
|style="background-color: white;vertical-align:top;"|Request medication data
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|[http://decor.nictiz.nl/medicatieproces/mp-html-20200122T161947/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.102-2016-03-23T163243.html Making medication data available]
+
|style="background-color: white;vertical-align:top;"|[https://decor.nictiz.nl/pub/medicatieproces/mp-html-20210921T194523/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.172-2021-04-02T093339.html Making medication data available]
 
|style="background-color: white;vertical-align:top;"|Server
 
|style="background-color: white;vertical-align:top;"|Server
 
|style="background-color: white;vertical-align:top;"|Serve medication data
 
|style="background-color: white;vertical-align:top;"|Serve medication data
Regel 80: Regel 80:
 
</pre>
 
</pre>
  
====Query Search Parameters====
+
====Patient identification====
 +
This implementation guide assumes that the client system is able to make a connection to the right server that contains the patient's information. It does not provide information on finding the right server nor does it provide information about security. Moreover, each transaction is performed in the context of a specific (authenticated) patient, for whose context might have been established using the authentication mechanisms described in external specifications such as the MedMij 'Afsprakenstelsel' or through the usage of search parameters for patient identification. Each server is required to perform filtering based on the patient associated with the context for the request or based on the patient identification search parameters, so only the records associated with the authenticated patient are returned.
 +
 
 +
When patient identification requires the use of search parameters, the following search parameters SHALL be supported:
 +
 
 +
* Patient: {{fhir|identifier}}
 +
* MedicationRequest: {{fhir|patient}}
 +
* MedicationDispense: {{fhir|patient}}
 +
* MedicationStatement: {{fhir|patient}}
 +
* MedicationAdministration: {{fhir|patient}}
 +
 
 +
An example of a request that retrieves all MedicationRequest resources of a patient with a fake BSN of 11122233:
 +
 
 +
<pre>GET [base]/MedicationRequest?patient.identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333</pre>
 +
 
 +
====Search Parameters====
 
The client MAY supply, and the server SHALL be capable of processing, all query parameters listed in the table below.
 
The client MAY supply, and the server SHALL be capable of processing, all query parameters listed in the table below.
  
Regel 92: Regel 107:
 
| Identification
 
| Identification
 
| Search on identifier.
 
| Search on identifier.
| <code>identifier</code>
+
| {{fhir|identifier}}
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| Retrieves a MedicationRequest resource with the identifier 999922448.
 
| Retrieves a MedicationRequest resource with the identifier 999922448.
Regel 99: Regel 114:
 
| Identification
 
| Identification
 
| Search on the pharmaceutical treatment identifier. Note: retrieval of all medication resoures belonging to one pharmaceutical treatment requires to search on all medication resource types.
 
| Search on the pharmaceutical treatment identifier. Note: retrieval of all medication resoures belonging to one pharmaceutical treatment requires to search on all medication resource types.
| <code>pharmaceuticaltreatment</code> <ref name="custom-searchparameter"/>
+
| {{fhir|pharmaceutical-treatment-identifier}} <ref name="custom-searchparameter"/>
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| Retrieves all MedicationRequest resources that are part of the pharmaceutical treatment with identifier value of 1247848.
 
| Retrieves all MedicationRequest resources that are part of the pharmaceutical treatment with identifier value of 1247848.
Regel 106: Regel 121:
 
| rowspan="4" |Type
 
| rowspan="4" |Type
 
| rowspan="4" |Search on type of medication building block.  
 
| rowspan="4" |Search on type of medication building block.  
| rowspan="4" |<code>category</code> <sup><ref name="custom-searchparameter">The search parameter consists of a custom FHIR search parameter not represented in the FHIR specification.</ref>,<ref>The FHIR profiles that represent the medication building blocks contain fixed code values in the ''.category'' elements to allow searching on specific medication building blocks.</ref></sup>
+
| rowspan="4" |{{fhir|category}} <sup><ref name="custom-searchparameter">The search parameter consists of a custom FHIR search parameter not represented in the FHIR specification.</ref>,<ref>The FHIR profiles that represent the medication building blocks contain fixed code values in the ''.category'' elements to allow searching on specific medication building blocks.</ref></sup>
 
| MedicationRequest
 
| MedicationRequest
 
| Retrieves all MedicationRequest resources that represent a zib MedicationAgreement.
 
| Retrieves all MedicationRequest resources that represent a zib MedicationAgreement.
Regel 129: Regel 144:
 
| ProductCode
 
| ProductCode
 
| Search on medication code.
 
| Search on medication code.
| <code>code</code>
+
| {{fhir|code}}
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| Retrieves all MedicationRequest resources that represent a zib MedicationAgreement and have Carbasalaatcalcium Sandoz 600 30 as medication.
 
| Retrieves all MedicationRequest resources that represent a zib MedicationAgreement and have Carbasalaatcalcium Sandoz 600 30 as medication.
Regel 136: Regel 151:
 
| UsePeriod
 
| UsePeriod
 
| Search on medication use in the past, present or future within the specified time period.
 
| Search on medication use in the past, present or future within the specified time period.
| <code>periodofuse</code> <ref name="custom-searchparameter"/><sup>,</sup><ref name="Medications-periodofuse"/>
+
| {{fhir|period-of-use}}<ref name="custom-searchparameter"/>
 
| MedicationDispense, MedicationRequest
 
| MedicationDispense, MedicationRequest
 
| Retrieves all MedicationRequest resources that represent a zib MedicationAgreement and were in effect from 01-01-2010.
 
| Retrieves all MedicationRequest resources that represent a zib MedicationAgreement and were in effect from 01-01-2010.
<pre>GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&periodofuse=ge2010-01-01</pre>
+
<pre>GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&period-of-use=ge2010-01-01</pre>
 
|-
 
|-
 
| DispensePeriod  
 
| DispensePeriod  
 
| Returns all medication dispenses within the specified time period.
 
| Returns all medication dispenses within the specified time period.
| <code>whenhandedover</code>
+
| {{fhir|whenhandedover}}
 
| MedicationDispense
 
| MedicationDispense
 
| Retrieves all MedicationDispense resources that represent a zib Dispense and were handed over within a 2 year period.
 
| Retrieves all MedicationDispense resources that represent a zib Dispense and were handed over within a 2 year period.
Regel 150: Regel 165:
 
| AdministrationPeriod  
 
| AdministrationPeriod  
 
| Returns all medication administrations within the specified time period.
 
| Returns all medication administrations within the specified time period.
| <code>effective-time</code>
+
| {{fhir|effective-time}}
 
| MedicationAdministration
 
| MedicationAdministration
 
| Retrieves all MedicationAdministration resources that represent a zib MedicationAdministration2 and were administration happened within a 2 year period.
 
| Retrieves all MedicationAdministration resources that represent a zib MedicationAdministration2 and were administration happened within a 2 year period.
Regel 157: Regel 172:
 
| -
 
| -
 
| The client may request that the server returns resources related to the search results, in order to reduce the overall network delay of repeated retrievals of related resources.
 
| The client may request that the server returns resources related to the search results, in order to reduce the overall network delay of repeated retrievals of related resources.
| <code>_include</code>
+
| {{fhir|_include}}
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration
 
| Retrieves all MedicationRequest resources that have Carbasalaatcalcium Sandoz 600 30 as medication and includes the Medication resource in the search results.
 
| Retrieves all MedicationRequest resources that have Carbasalaatcalcium Sandoz 600 30 as medication and includes the Medication resource in the search results.
Regel 166: Regel 181:
 
The following custom search parameters are defined for this use case:
 
The following custom search parameters are defined for this use case:
  
* {{Simplifier|http://nictiz.nl/fhir/SearchParameter/Medications-category|nictiz.fhir.nl.r4.zib2020|pkgVersion=1.0.0}}
+
* {{Simplifier|http://nictiz.nl/fhir/SearchParameter/category|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
* {{Simplifier|http://nictiz.nl/fhir/SearchParameter/Medications-periodofuse|nictiz.fhir.nl.r4.zib2020|pkgVersion=1.0.0}} <ref name="Medications-periodofuse">This SearchParameter searches on the FHIR DataType Period in the PeriodOfUse extension, which is added to profiles on MedicationRequest and MedicationDispense resources. Clients use date parameter searches as described by the [http://hl7.org/fhir/R4/search.html#date FHIR specification]. Servers are expected to take the [http://nictiz.nl/fhir/StructureDefinition/zib-MedicationUse-Duration MedicationUse-Duration extension] into account when processing a client's search. This means that either a Period.start AND Period.end or Period.start AND Duration or Period.end AND Duration is used to determine the search results. To illustrate the expected behavior: if a Period.start and a Duration is known, but not the Period.end, the Duration should be added to the Period.start date to calculate the Period.end. The calculated Period.end date is then used to determine the search results.</ref>
+
* {{Simplifier|http://nictiz.nl/fhir/SearchParameter/period-of-use|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}  
* {{Simplifier|http://nictiz.nl/fhir/SearchParameter/PharmaceuticalTreatmentIdentifier|nictiz.fhir.nl.r4.zib2020|pkgVersion=1.0.0}}
+
* {{Simplifier|http://nictiz.nl/fhir/SearchParameter/pharmaceutical-treatment-identifier|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
  
 
====Retrieve all medication data====
 
====Retrieve all medication data====
Regel 175: Regel 190:
 
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&_include=MedicationRequest:medication
 
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&_include=MedicationRequest:medication
 
GET [base]/MedicationRequest?category=http://snomed.info/sct|52711000146108&_include=MedicationRequest:medication
 
GET [base]/MedicationRequest?category=http://snomed.info/sct|52711000146108&_include=MedicationRequest:medication
 +
GET [base]/MedicationRequest?category=http://snomed.info/sct|274512008&_include=MedicationRequest:medication
 
GET [base]/MedicationDispense?category=http://snomed.info/sct|373784005&_include=MedicationDispense:medication
 
GET [base]/MedicationDispense?category=http://snomed.info/sct|373784005&_include=MedicationDispense:medication
 
GET [base]/MedicationDispense?category=http://snomed.info/sct|422037009&_include=MedicationDispense:medication
 
GET [base]/MedicationDispense?category=http://snomed.info/sct|422037009&_include=MedicationDispense:medication
Regel 184: Regel 200:
 
The server returns a HTTP Status code appropriate to the processing as well as a FHIR Bundle of type 'searchset' including the matching medication data. The returned data to the client SHALL be a valid instance of the applicable profile in the [[#List_of_Profiles|List of Profiles]].
 
The server returns a HTTP Status code appropriate to the processing as well as a FHIR Bundle of type 'searchset' including the matching medication data. The returned data to the client SHALL be a valid instance of the applicable profile in the [[#List_of_Profiles|List of Profiles]].
  
'''Note''' that the medication resources are grouped per 'medication treatment' conform to the [https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG#.27Medicamenteuze_behandeling.27 Medication Process specification]. Grouping SHALL be done by use of a 'Pharmaceutical Treatment Identifier'. This identifier shall be the same across different related medication resources that constitute one medication treatment. The {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/ext-PharmaceuticalTreatment.Identifier|nictiz.fhir.nl.r4.zib2020|pkgVersion=1.0.0|title=PharmaceuticalTreatmentIdentifier extension}} is to be used for this grouping purpose.
+
'''Note''' that the medication resources are grouped per 'pharmaceutical treatment' conform to the [https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG#.27Medicamenteuze_behandeling.27 Medication Process specification]. Grouping SHALL be done by use of a 'Pharmaceutical Treatment Identifier'. This identifier shall be the same across different related medication resources that constitute one medication treatment. The {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/ext-PharmaceuticalTreatment.Identifier|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1|title=PharmaceuticalTreatmentIdentifier extension}} is to be used for this grouping purpose.
  
 
==List of Profiles==
 
==List of Profiles==
{{MedMij:NoteBoxPackage|p1=nictiz.fhir.nl.r4.mp9|v1=0.1.0|p2=nictiz.fhir.nl.r4.zib2020|v2=0.1.0}}
+
{{MedMij:NoteBoxPackage|p1=nictiz.fhir.nl.r4.zib2020|v2=0.1.0-beta1}}
  
 
{| class="wikitable" width="1400px"
 
{| class="wikitable" width="1400px"
 
|-style="background-color: #1F497D; color: white; font-weight: bold; "
 
|-style="background-color: #1F497D; color: white; font-weight: bold; "
|zib name NL||zib name EN||FHIR Resource||FHIR Profile
+
|zib/MP building block name NL||zib/MP building block name EN||FHIR Resource||FHIR Profile
 
|-style="vertical-align:top; background-color: #E3E3E3;  
 
|-style="vertical-align:top; background-color: #E3E3E3;  
 
|-
 
|-
| Medicatieafspraak||MedicationAgreement||MedicationRequest||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Medicatieafspraak||MedicationAgreement||MedicationRequest||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|-
 
|-
| Toedieningsafspraak||AdministrationAgreement||MedicationDispense||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-AdministrationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
|WisselendDoseerschema||VariableDosingRegimen||MedicationRequest||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-VariableDosingRegimen|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|-
 
|-
| Medicatiegebruik||MedicationUse||MedicationStatement||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationUse|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Verstrekkingsverzoek||DispenseRequest||MedicationRequest|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-DispenseRequest|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|-
 
|-
| Verstrekking||Dispense||MedicationDispense||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-Dispense|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Toedieningsafspraak||AdministrationAgreement||MedicationDispense||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-AdministrationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|-
 
|-
| Verstrekkingsverzoek||DispenseRequest||MedicationRequest|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-DispenseRequest|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Verstrekking||Dispense||MedicationDispense||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationDispense|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 +
|-
 +
| Medicatiegebruik2||MedicationUse2||MedicationStatement||{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationUse2|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 +
|-
 +
| MedicatieToediening2||MedicationAdministration2||MedicationAdministration|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAdministration2|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|}
 
|}
  
Note that besides profiles listed in the above table, also profiles referred from/used by these profiles are applicable. These are profiles for zibs Patient, HealthProfessional, HealthcareProvider, BodyWeight and BodyHeight.
+
Note that besides profiles listed in the above table, also profiles referred from/used by these profiles are applicable. These are profiles for zibs Patient, HealthProfessional, HealthcareProvider.
  
 
=Use case: retrieve medication overview=
 
=Use case: retrieve medication overview=
Regel 218: Regel 238:
 
! style="text-align:left;"| '''Role'''
 
! style="text-align:left;"| '''Role'''
 
|-
 
|-
|style="background-color: white;vertical-align:top;" rowspan="2"|[http://decor.nictiz.nl/medicatieproces/mp-html-20200122T161947/sc-2.16.840.1.113883.2.4.3.11.60.20.77.3.21-2016-07-04T122422.html#_2.16.840.1.113883.2.4.3.11.60.20.77.4.146_20161108103441 Retrieve Medication overview (PULL)]
+
|style="background-color: white;vertical-align:top;" rowspan="2"|[https://decor.nictiz.nl/pub/medicatieproces/mp-html-20210921T194523/sc-2.16.840.1.113883.2.4.3.11.60.20.77.3.28-2021-04-14T153926.html#_2.16.840.1.113883.2.4.3.11.60.20.77.4.189_20210414153926 Retrieve Medication overview (PULL)]
|style="background-color: white;vertical-align:top;"|[http://decor.nictiz.nl/medicatieproces/mp-html-20200122T161947/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.147-2016-11-08T103441.html Consulting medication overview]
+
|style="background-color: white;vertical-align:top;"|[https://decor.nictiz.nl/pub/medicatieproces/mp-html-20210921T194523/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.190-2021-04-14T153926.html Consulting medication overview]
 
|style="background-color: white;vertical-align:top;"|Client
 
|style="background-color: white;vertical-align:top;"|Client
 
|style="background-color: white;vertical-align:top;"|Request Medication overview
 
|style="background-color: white;vertical-align:top;"|Request Medication overview
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|[http://decor.nictiz.nl/medicatieproces/mp-html-20200122T161947/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.148-2016-11-08T103441.html Making medication overview available]
+
|style="background-color: white;vertical-align:top;"|[https://decor.nictiz.nl/pub/medicatieproces/mp-html-20210921T194523/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.191-2021-04-14T153926.html Making medication overview available]
 
|style="background-color: white;vertical-align:top;"|Server
 
|style="background-color: white;vertical-align:top;"|Server
 
|style="background-color: white;vertical-align:top;"|Serve Medication overview  
 
|style="background-color: white;vertical-align:top;"|Serve Medication overview  
Regel 234: Regel 254:
 
This message uses an extended operation on the RESTful API to obtain a medication overview from a server. An operation is needed because the server will formulate the content of the response based on its internal business logic. The medication overview can not easily be described by standardized restful requests.  
 
This message uses an extended operation on the RESTful API to obtain a medication overview from a server. An operation is needed because the server will formulate the content of the response based on its internal business logic. The medication overview can not easily be described by standardized restful requests.  
  
The client executes a {{Simplifier|http://nictiz.nl/fhir/OperationDefinition/Medication-Overview|nictiz.fhir.nl.r4.medicationprocess|pkgVersion=1.0.0-beta1|title=medication-overview operation}} with HTTP POST against the server base endpoint as shown below.
+
The client executes a {{Simplifier|http://nictiz.nl/fhir/OperationDefinition/Medication-Overview|nictiz.fhir.nl.r4.medicationprocess9|pkgVersion=2.0.0-beta2|title=medication-overview operation}} with HTTP POST against the server base endpoint as shown below.
  
 
<pre>
 
<pre>
Regel 241: Regel 261:
  
 
===Response message===
 
===Response message===
The server returns a HTTP Status code appropriate to the processing of the operation. The successful outcome of the {{Simplifier|http://nictiz.nl/fhir/OperationDefinition/Medication-Overview|nictiz.fhir.nl.r4.mp9|pkgVersion=0.1.0|title=<code>$medication-overview</code> operation}} is the body of the medication overview response message. Successful processing of this operation should result in a Bundle recourse of type 'searchset', containing one List and one Patient resource as entries along with all the resources that represent the current medication overview. These resources SHALL be referenced from the List resource. The clinical content of the medication overview is defined in the [https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG#Medication_overview_and_inference_rules Medication Process specification].  
+
The server returns a HTTP Status code appropriate to the processing of the operation. The successful outcome of the {{Simplifier|http://nictiz.nl/fhir/OperationDefinition/Medication-Overview|nictiz.fhir.nl.r4.medicationprocess9|pkgVersion=2.0.0-beta2|title={{fhir|$medication-overview}} operation}} is the body of the medication overview response message. Successful processing of this operation should result in a Bundle recourse of type 'searchset', containing one List and one Patient resource as entries along with all the resources that represent the current medication overview. These resources SHALL be referenced from the List resource. The clinical content of the medication overview is defined in the [https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG#Medication_overview_and_inference_rules Medication Process specification].  
  
The Bundle profile represents the structure of the retrieve medication overview response message. The List profile represents the medication overview. The List contains the medication overview metadata and references to all resources that constitute the medication overview. These resources are included in the Bundle as entries. The Bundle.total value contains the number of matching zib: MedicationUse, AdministrationAgreement and MedicationAgreement. Other included resources, such as Medication resources, are not included in the total. The returned Bundle has at least one List and one Patient resource. The returned data to the client SHALL be a valid instance of its applicable profile as shown in the [[#List_of_Profiles|List of Profiles]].
+
The Bundle profile represents the structure of the retrieve medication overview response message. The List profile represents the medication overview. The List contains the medication overview metadata and references to all resources that constitute the medication overview. These resources are included in the Bundle as entries. The {{fhir|Bundle.total}} value contains the number of matching zib: MedicationUse, AdministrationAgreement and MedicationAgreement. Other included resources, such as Medication resources, are not included in the total. The returned Bundle has at least one List and one Patient resource. The returned data to the client SHALL be a valid instance of its applicable profile as shown in the [[#List_of_Profiles|List of Profiles]].
  
'''Note''' that the medication resources blocks are grouped per 'medication treatment' conform to the [https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG#.27Medicamenteuze_behandeling.27 Medication Process specification]. Grouping SHALL be done by use of a 'Pharmaceutical Treatment Identifier'. This identifier shall be the same across different related medication resources that constitute one medication treatment. The {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/ext-PharmaceuticalTreatment.Identifier|nictiz.fhir.nl.r4.zib2020|pkgVersion=1.0.0|title=PharmaceuticalTreatmentIdentifier extension}} is to be used for this grouping purpose.
+
'''Note''' that the medication resources blocks are grouped per 'pharmaceutical treatment' conform to the [https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG#.27Medicamenteuze_behandeling.27 Medication Process specification]. Grouping SHALL be done by use of a 'Pharmaceutical Treatment Identifier'. This identifier shall be the same across different related medication resources that constitute one medication treatment. The {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/ext-PharmaceuticalTreatment.Identifier|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1|title=PharmaceuticalTreatmentIdentifier extension}} is to be used for this grouping purpose.
  
 
==List of Profiles==
 
==List of Profiles==
{{MedMij:NoteBoxPackage|p1=nictiz.fhir.nl.r4.mp9|v1=9.1.0-beta1|p2=nictiz.fhir.nl.stu3.zib2017|v2=2.0.0}}
+
{{MedMij:NoteBoxPackage|p1=nictiz.fhir.nl.r4.medicationprocess9|v1=2.0.0-beta2|p2=nictiz.fhir.nl.r4.zib2020|v2=0.1.0-beta1}}
  
 
{| class="wikitable"  
 
{| class="wikitable"  
Regel 255: Regel 275:
 
|-style="vertical-align:top; background-color: #E3E3E3;  
 
|-style="vertical-align:top; background-color: #E3E3E3;  
 
|-
 
|-
| - || - || Bundle || {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/MedicationOverview-structure|nictiz.fhir.nl.r4.mp9|pkgVersion=0.1.0}}
+
| - || - || Bundle || {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/Bundle-MedicationOverview|nictiz.fhir.nl.r4.medicationprocess9|pkgVersion=2.0.0-beta2}}
 
|-
 
|-
| - || - || List || {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/MedicationOverview|nictiz.fhir.nl.r4.mp9|pkgVersion=0.1.0}}
+
| - || - || List || {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/MedicationOverview|nictiz.fhir.nl.r4.medicationprocess9|pkgVersion=2.0.0-beta2}}
 
|-
 
|-
| Medicatieafspraak||MedicationAgreement||MedicationRequest|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Medicatieafspraak||MedicationAgreement||MedicationRequest|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|-
 
|-
| Toedieningsafspraak||AdministrationAgreement||MedicationDispense|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-AdministrationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Toedieningsafspraak||AdministrationAgreement||MedicationDispense|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-AdministrationAgreement|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|-
 
|-
| Medicatiegebruik||MedicationUse||MedicationStatement|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationUse|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0}}
+
| Medicatiegebruik||MedicationUse||MedicationStatement|| {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationUse2|nictiz.fhir.nl.r4.zib2020|pkgVersion=0.1.0-beta1}}
 
|}
 
|}
  
 
Note that besides profiles listed in the above table, also profiles referred from/used by these profiles are applicable. These are profiles for zibs Patient, HealthProfessional, HealthcareProvider, BodyWeight and BodyHeight.
 
Note that besides profiles listed in the above table, also profiles referred from/used by these profiles are applicable. These are profiles for zibs Patient, HealthProfessional, HealthcareProvider, BodyWeight and BodyHeight.
 
=Examples=
 
# Medicatieproces has a wiki page that contains [https://informatiestandaarden.nictiz.nl/wiki/mp:V9.2_Voorbeelden_doseringen examples in FHIR and CDA for dosage instructions].
 
# Every profile or resource on Simplifier has a reference tab. The reference tab shows all references from and to the selected resource. So the listed profiles in these use cases have a reference tab on Simplifier where examples are listed that declare conformance to the specific profile.
 
# Examples are accessible through the Simplifier project by going to the resources tab of the project. It is possible to filter on examples and underlying FHIR resource. This is clarified with the following URL, which lists all medication examples available in the NictizSTU3-MedicationProcess project: https://simplifier.net/nictizstu3-medicationprocess/~resources?category=Example&exampletype=MedicationDispense|MedicationStatement|MedicationRequest|Medication&fhirVersion=STU3&sortBy=DisplayName
 
  
 
=Release notes=
 
=Release notes=

Huidige versie van 30 sep 2021 om 14:04


1 Introduction

This is the FHIR implementation guide for the information standard Medicatieproces 9, version 2.0. This standard is described in this functional specification and implemented here using HL7 FHIR, R4. This implementation guide assumes that the reader is familiar with this FHIR version.

Apart from this document, the guidelines as specified in general FHIR Implementation Guide apply. In particular, the reader should take note of the Use case overarching principles and the use of FHIR packages.

Use cases:

2 Actors involved

Persons Systems FHIR Capability Statements
Name Description Name Description Name Description
Patient or Healthcare professional The user of a personal healthcare environment (PHR) or a healthcare information system (XIS). Client PHR or XIS Verwijzing.png CapabilityStatement: Client Client requirements
Healthcare professional The user of a healthcare information system (XIS) Server XIS Verwijzing.png CapabilityStatement: Server Server requirements

3 Use case: retrieve medication data

3.1 Introduction

The retrieve medication data transaction is used by the client to retrieve medication data from a server. The client can retrieve its desired information by searching on specific medication building blocks.

3.2 Actors

Transaction group Transaction Actor Role
Retrieve Medication Data (PULL) Consulting medication data Client Request medication data
Making medication data available Server Serve medication data

The names of the transaction groups and transactions link to the functional definition in an ART-DECOR publication which details per scenario which data elements are used.

3.3 Invocations

3.3.1 Request message

When a patient or healthcare professional wants to obtain all medication data or specific parts matching various parameters, it issues a retrieve medication data request message. This message uses the HTTP GET method parameterized query against the server's medication FHIR endpoints. These endpoints can be one of the following:

  • MedicationRequest
  • MedicationDispense
  • MedicationStatement
  • MedicationAdministration

The search interaction is performed by an HTTP GET conform the FHIR search specification, as shown below. This URL is configurable by the client by configuring the query search parameters and search control parameters to modify the behaviour of the server such as response format and pagination. Multiple request messages may be needed to retrieve all desired information.

GET [base]/[type]{?[parameters]}

3.3.1.1 Patient identification

This implementation guide assumes that the client system is able to make a connection to the right server that contains the patient's information. It does not provide information on finding the right server nor does it provide information about security. Moreover, each transaction is performed in the context of a specific (authenticated) patient, for whose context might have been established using the authentication mechanisms described in external specifications such as the MedMij 'Afsprakenstelsel' or through the usage of search parameters for patient identification. Each server is required to perform filtering based on the patient associated with the context for the request or based on the patient identification search parameters, so only the records associated with the authenticated patient are returned.

When patient identification requires the use of search parameters, the following search parameters SHALL be supported:

  • Patient: identifier
  • MedicationRequest: patient
  • MedicationDispense: patient
  • MedicationStatement: patient
  • MedicationAdministration: patient

An example of a request that retrieves all MedicationRequest resources of a patient with a fake BSN of 11122233:

GET [base]/MedicationRequest?patient.identifier=http://fhir.nl/fhir/NamingSystem/bsn|111222333

3.3.1.2 Search Parameters

The client MAY supply, and the server SHALL be capable of processing, all query parameters listed in the table below.

MP9 search parameters Description FHIR search parameter FHIR resource Example
Identification Search on identifier. identifier MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration Retrieves a MedicationRequest resource with the identifier 999922448.
GET [base]/MedicationRequest?identifier=http://example.nl/fhir/NamingSystem/MedicationRequest|999922448
Identification Search on the pharmaceutical treatment identifier. Note: retrieval of all medication resoures belonging to one pharmaceutical treatment requires to search on all medication resource types. pharmaceutical-treatment-identifier [1] MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration Retrieves all MedicationRequest resources that are part of the pharmaceutical treatment with identifier value of 1247848.
GET [base]/MedicationRequest?pharmaceuticaltreatment=http://example.nl/fhir/NamingSystem/medicationtreatment|1247848 
Type Search on type of medication building block. category [1],[2] MedicationRequest Retrieves all MedicationRequest resources that represent a zib MedicationAgreement.
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005

Retrieves all MedicationRequest resources that represent a zib DispenseRequest.

GET [base]/MedicationRequest?category=http://snomed.info/sct|52711000146108
MedicationDispense Retrieves all MedicationDispense resources that represent a zib Dispense.
GET [base]/MedicationDispense?category=http://snomed.info/sct|373784005

Retrieves all MedicationRequest resources that represent the zib AdministrationAgreement.

GET [base]/MedicationRequest?category=http://snomed.info/sct|422037009
MedicationStatement Retrieves all MedicationStatement resources that represent a zib MedicationUse2.
GET [base]/MedicationStatement?category=http://snomed.info/sct|422979000
MedicationAdministration Retrieves all MedicationAdministration resoures that represent a zib MedicationAdministration2.
GET [base]/MedicationAdministration?category=http://snomed.info/sct|18629005&_include=MedicationStatement:medication
ProductCode Search on medication code. code MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration Retrieves all MedicationRequest resources that represent a zib MedicationAgreement and have Carbasalaatcalcium Sandoz 600 30 as medication.
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&medication.code=urn:oid:2.16.840.1.113883.2.4.4.8|13610554
UsePeriod Search on medication use in the past, present or future within the specified time period. period-of-use[1] MedicationDispense, MedicationRequest Retrieves all MedicationRequest resources that represent a zib MedicationAgreement and were in effect from 01-01-2010.
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&period-of-use=ge2010-01-01
DispensePeriod Returns all medication dispenses within the specified time period. whenhandedover MedicationDispense Retrieves all MedicationDispense resources that represent a zib Dispense and were handed over within a 2 year period.
GET [base]/MedicationDispense?category=http://snomed.info/sct|373784005&whenhandedover=ge2010-01-01&whenhandedover=le2011-12-31
AdministrationPeriod Returns all medication administrations within the specified time period. effective-time MedicationAdministration Retrieves all MedicationAdministration resources that represent a zib MedicationAdministration2 and were administration happened within a 2 year period.
GET [base]/MedicationAdministration?category=http://snomed.info/sct|18629005&effective-time=ge2010-01-01&effective-time=le2011-12-31
- The client may request that the server returns resources related to the search results, in order to reduce the overall network delay of repeated retrievals of related resources. _include MedicationRequest, MedicationDispense, MedicationStatement, MedicationAdministration Retrieves all MedicationRequest resources that have Carbasalaatcalcium Sandoz 600 30 as medication and includes the Medication resource in the search results.
GET [base]/MedicationRequest?medication.code=urn:oid:2.16.840.1.113883.2.4.4.8|13610554&_include=MedicationRequest:medication

3.3.1.3 Custom Search Parameters

The following custom search parameters are defined for this use case:

3.3.1.4 Retrieve all medication data

A common scenario for a client is to request all known medication data. The following requests retrieve all known medication data per building block and will include the Medication resource:

GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&_include=MedicationRequest:medication
GET [base]/MedicationRequest?category=http://snomed.info/sct|52711000146108&_include=MedicationRequest:medication
GET [base]/MedicationRequest?category=http://snomed.info/sct|274512008&_include=MedicationRequest:medication
GET [base]/MedicationDispense?category=http://snomed.info/sct|373784005&_include=MedicationDispense:medication
GET [base]/MedicationDispense?category=http://snomed.info/sct|422037009&_include=MedicationDispense:medication
GET [base]/MedicationStatement?category=http://snomed.info/sct|422979000&_include=MedicationStatement:medication
GET [base]/MedicationAdministration?category=http://snomed.info/sct|18629005&_include=MedicationStatement:medication

3.3.2 Response message

The server returns a HTTP Status code appropriate to the processing as well as a FHIR Bundle of type 'searchset' including the matching medication data. The returned data to the client SHALL be a valid instance of the applicable profile in the List of Profiles.

Note that the medication resources are grouped per 'pharmaceutical treatment' conform to the Medication Process specification. Grouping SHALL be done by use of a 'Pharmaceutical Treatment Identifier'. This identifier shall be the same across different related medication resources that constitute one medication treatment. The PharmaceuticalTreatmentIdentifier extension is to be used for this grouping purpose.

3.4 List of Profiles

zib/MP building block name NL zib/MP building block name EN FHIR Resource FHIR Profile
Medicatieafspraak MedicationAgreement MedicationRequest http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAgreement
WisselendDoseerschema VariableDosingRegimen MedicationRequest http://nictiz.nl/fhir/StructureDefinition/nl-core-VariableDosingRegimen
Verstrekkingsverzoek DispenseRequest MedicationRequest http://nictiz.nl/fhir/StructureDefinition/nl-core-DispenseRequest
Toedieningsafspraak AdministrationAgreement MedicationDispense http://nictiz.nl/fhir/StructureDefinition/nl-core-AdministrationAgreement
Verstrekking Dispense MedicationDispense http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationDispense
Medicatiegebruik2 MedicationUse2 MedicationStatement http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationUse2
MedicatieToediening2 MedicationAdministration2 MedicationAdministration http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAdministration2

Note that besides profiles listed in the above table, also profiles referred from/used by these profiles are applicable. These are profiles for zibs Patient, HealthProfessional, HealthcareProvider.

4 Use case: retrieve medication overview

4.1 Introduction

The retrieve medication overview transaction is used by the client to retrieve a medication overview from the server.

4.2 Actors

Transaction group Transaction Actor Role
Retrieve Medication overview (PULL) Consulting medication overview Client Request Medication overview
Making medication overview available Server Serve Medication overview

The names of the transaction groups and transactions link to the functional definition in an ART-DECOR publication which details per scenario which data elements are used.

4.3 Invocations

4.3.1 Request message

When the patient or healthcare professional wants to obtain a patient's medication overview, it issues a Consulting medication overview request message. This message uses an extended operation on the RESTful API to obtain a medication overview from a server. An operation is needed because the server will formulate the content of the response based on its internal business logic. The medication overview can not easily be described by standardized restful requests.

The client executes a medication-overview operation with HTTP POST against the server base endpoint as shown below.

POST [base]/$medication-overview

4.3.2 Response message

The server returns a HTTP Status code appropriate to the processing of the operation. The successful outcome of the $medication-overview operation is the body of the medication overview response message. Successful processing of this operation should result in a Bundle recourse of type 'searchset', containing one List and one Patient resource as entries along with all the resources that represent the current medication overview. These resources SHALL be referenced from the List resource. The clinical content of the medication overview is defined in the Medication Process specification.

The Bundle profile represents the structure of the retrieve medication overview response message. The List profile represents the medication overview. The List contains the medication overview metadata and references to all resources that constitute the medication overview. These resources are included in the Bundle as entries. The Bundle.total value contains the number of matching zib: MedicationUse, AdministrationAgreement and MedicationAgreement. Other included resources, such as Medication resources, are not included in the total. The returned Bundle has at least one List and one Patient resource. The returned data to the client SHALL be a valid instance of its applicable profile as shown in the List of Profiles.

Note that the medication resources blocks are grouped per 'pharmaceutical treatment' conform to the Medication Process specification. Grouping SHALL be done by use of a 'Pharmaceutical Treatment Identifier'. This identifier shall be the same across different related medication resources that constitute one medication treatment. The PharmaceuticalTreatmentIdentifier extension is to be used for this grouping purpose.

4.4 List of Profiles

zib name NL zib name EN FHIR Resource FHIR Profile
- - Bundle http://nictiz.nl/fhir/StructureDefinition/Bundle-MedicationOverview
- - List http://nictiz.nl/fhir/StructureDefinition/MedicationOverview
Medicatieafspraak MedicationAgreement MedicationRequest http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationAgreement
Toedieningsafspraak AdministrationAgreement MedicationDispense http://nictiz.nl/fhir/StructureDefinition/nl-core-AdministrationAgreement
Medicatiegebruik MedicationUse MedicationStatement http://nictiz.nl/fhir/StructureDefinition/nl-core-MedicationUse2

Note that besides profiles listed in the above table, also profiles referred from/used by these profiles are applicable. These are profiles for zibs Patient, HealthProfessional, HealthcareProvider, BodyWeight and BodyHeight.

5 Release notes

Release notes can be found on the functional design page.

6 Footnotes

  1. 1,0 1,1 1,2 The search parameter consists of a custom FHIR search parameter not represented in the FHIR specification.
  2. The FHIR profiles that represent the medication building blocks contain fixed code values in the .category elements to allow searching on specific medication building blocks.