mp:V9 2.0.0-draft FHIR MedicationProcess: verschil tussen versies
Regel 15: | Regel 15: | ||
* [[#Use_case:_retrieve_medication_information|Retrieve medication information]] | * [[#Use_case:_retrieve_medication_information|Retrieve medication information]] | ||
* [[#Use_case:_retrieve_medication_overview|Retrieve a medication overview]] | * [[#Use_case:_retrieve_medication_overview|Retrieve a medication overview]] | ||
− | |||
=Actors involved= | =Actors involved= | ||
Regel 30: | Regel 29: | ||
! style="text-align:left;" |Description | ! style="text-align:left;" |Description | ||
|- | |- | ||
− | | Patient | + | | Patient/Healthcare professional |
− | | The user of a personal healthcare environment. | + | | The user of a personal healthcare environment/XIS. |
− | | | + | | Client |
− | | | + | | A personal healthcare environment/healthcare information system |
|[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/medication-clientcapabilities|nictiz.fhir.nl.stu3.medicationprocess|pkgVersion=9.1.0-beta1|title=CapabilityStatement: Client}} | |[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/medication-clientcapabilities|nictiz.fhir.nl.stu3.medicationprocess|pkgVersion=9.1.0-beta1|title=CapabilityStatement: Client}} | ||
− | | | + | | Client requirements |
|- | |- | ||
| Healthcare professional | | Healthcare professional | ||
| The user of a XIS | | The user of a XIS | ||
− | | | + | | Server |
| Healthcare information system | | Healthcare information system | ||
|[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/medication-servercapabilities|nictiz.fhir.nl.stu3.medicationprocess|pkgVersion=9.1.0-beta1|title=CapabilityStatement: Server}} | |[[Bestand: Verwijzing.png| 20px]] {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/medication-servercapabilities|nictiz.fhir.nl.stu3.medicationprocess|pkgVersion=9.1.0-beta1|title=CapabilityStatement: Server}} | ||
− | | | + | | Server requirements |
|} | |} | ||
− | |||
− | |||
=Use case: retrieve medication information= | =Use case: retrieve medication information= | ||
Regel 51: | Regel 48: | ||
==Introduction== | ==Introduction== | ||
− | The | + | The retrieve medication information transaction is used by the client to retrieve medication information from the server. The client can retrieve the desired information by searching on specific medication building blocks. |
− | |||
==Actors== | ==Actors== | ||
{| class="wikitable" "cellpadding="10" | {| class="wikitable" "cellpadding="10" | ||
Regel 62: | Regel 58: | ||
|style="background-color: white;vertical-align:top;" rowspan="2"|Retrieve Medication Information(PULL) | |style="background-color: white;vertical-align:top;" rowspan="2"|Retrieve Medication Information(PULL) | ||
|style="background-color: white;vertical-align:top;"|Retrieve medication information request | |style="background-color: white;vertical-align:top;"|Retrieve medication information request | ||
− | |style="background-color: white;vertical-align:top;"| | + | |style="background-color: white;vertical-align:top;"|Client |
− | |style="background-color: white;vertical-align:top;"|Request medication information | + | |style="background-color: white;vertical-align:top;"|Request medication information |
|- | |- | ||
|style="background-color: white;vertical-align:top;"|Retrieve medication information response | |style="background-color: white;vertical-align:top;"|Retrieve medication information response | ||
− | |style="background-color: white;vertical-align:top;"| | + | |style="background-color: white;vertical-align:top;"|Server |
− | |style="background-color: white;vertical-align:top;"|Serves medication information | + | |style="background-color: white;vertical-align:top;"|Serves medication information |
|} | |} | ||
==Invocations== | ==Invocations== | ||
===Request message=== | ===Request message=== | ||
− | When the patient | + | When the patient or healthcare professional wants to obtain medication information matching various parameters, it issues a retrieve medication information request message. |
− | This message uses the HTTP GET method parameterized query to obtain medication information from a | + | This message uses the HTTP GET method parameterized query to obtain medication information from a server. Multiple different HTTP GET request messages may be needed to retrieve all the desired medication information. |
− | The | + | The client executes an HTTP GET against the server's medication FHIR endpoints. These endpoints can be one of the following: |
* MedicationRequest | * MedicationRequest | ||
* MedicationDispense | * MedicationDispense | ||
* MedicationStatement | * MedicationStatement | ||
− | The search interaction is performed by an HTTP GET conform the [http://hl7.org/fhir/R4/search.html FHIR search specification], as shown below. This URL is configurable by the | + | The search interaction is performed by an HTTP GET conform the [http://hl7.org/fhir/R4/search.html 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. |
<pre> | <pre> | ||
Regel 87: | Regel 83: | ||
====Query Search Parameters==== | ====Query Search Parameters==== | ||
− | The | + | The client may supply, and the server SHALL be capable of processing, all query parameters listed in the table below. |
{| class="wikitable" | {| class="wikitable" | ||
Regel 151: | Regel 147: | ||
|- | |- | ||
| - | | - | ||
− | | The | + | | 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> | | <code>_include</code> | ||
| MedicationRequest, MedicationDispense, MedicationStatement | | MedicationRequest, MedicationDispense, MedicationStatement | ||
Regel 167: | Regel 163: | ||
===Response message=== | ===Response message=== | ||
− | The | + | The server returns a HTTP Status code appropriate to the processing as well as a FHIR Bundle including the matching medication information. |
− | The returned data to the | + | The returned data to the client SHALL conform to the medication profiles. The table below lists the medication HCIMs and their respective FHIR profiles. The resources in the response message SHALL be a valid instance of these profiles. All resources SHALL include their related profile canonical URL in the ''meta.profile'' element in order to show compliance. |
'''Note''' that the medication building 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 'medication treatment' identifier. This identifier shall be the same across different related medication resources that constitute a medication treatment. The {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Medication-MedicationTreatment|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=zib-Medication-MedicationTreatment extension}} is added to all medication profiles and can be used for this grouping purpose. | '''Note''' that the medication building 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 'medication treatment' identifier. This identifier shall be the same across different related medication resources that constitute a medication treatment. The {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Medication-MedicationTreatment|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=zib-Medication-MedicationTreatment extension}} is added to all medication profiles and can be used for this grouping purpose. | ||
Regel 217: | Regel 213: | ||
==Introduction== | ==Introduction== | ||
− | The retrieve medication overview transaction is used by the | + | The retrieve medication overview transaction is used by the client to retrieve a medication overview from the server. |
==Actors== | ==Actors== | ||
Regel 228: | Regel 224: | ||
|style="background-color: white;vertical-align:top;" rowspan="2"|Retrieve Medication Overview(PULL) | |style="background-color: white;vertical-align:top;" rowspan="2"|Retrieve Medication Overview(PULL) | ||
|style="background-color: white;vertical-align:top;"|Retrieve medication overview request | |style="background-color: white;vertical-align:top;"|Retrieve medication overview request | ||
− | |style="background-color: white;vertical-align:top;"| | + | |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;"|Retrieve medication overview response | |style="background-color: white;vertical-align:top;"|Retrieve medication overview response | ||
− | |style="background-color: white;vertical-align:top;"| | + | |style="background-color: white;vertical-align:top;"|Server |
− | |style="background-color: white;vertical-align:top;"|Serves medication overview | + | |style="background-color: white;vertical-align:top;"|Serves medication overview |
|} | |} | ||
==Invocations== | ==Invocations== | ||
===Request message=== | ===Request message=== | ||
− | When the patient | + | When the patient or healthcare professional wants to obtain the current medication overview, it issues a retrieve medication overview request message. |
− | This message uses an extended operation on the RESTful API to obtain a medication overview from a | + | This message uses an extended operation on the RESTful API to obtain a medication overview from a server. This operation is used because the server needs to play an active role in formulating the content of the response. |
− | The | + | The client executes a {{Simplifier|http://nictiz.nl/fhir/OperationDefinition/Medication-Overview|nictiz.fhir.nl.stu3.medicationprocess|pkgVersion=9.1.0-beta1|title=medication-overview operation}} with HTTP POST against the server base endpoint as shown below. |
<pre> | <pre> | ||
Regel 249: | Regel 245: | ||
===Response message=== | ===Response message=== | ||
− | The | + | 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.stu3.medicationprocess|pkgVersion=9.1.0-beta1|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 functional dataset of the medication overview can be found on [http://decor.nictiz.nl/medicatieproces/mp-html-20170829T141253/tr-2.16.840.1.113883.2.4.3.11.60.20.77.4.148-2016-11-08T103441.html decor.nictiz.nl]. |
The content in the response message SHALL be a valid instance of the following profiles that are referenced in the medication-overview operation. Clicking on the link will open the formal definition on Simplifier.net. | The content in the response message SHALL be a valid instance of the following profiles that are referenced in the medication-overview operation. Clicking on the link will open the formal definition on Simplifier.net. |
Versie van 25 aug 2021 14:58
This pages describes Medication Process version and is currently not in use. Active versions can be found through the references on the landing page of Medication Process. |
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/Healthcare professional | The user of a personal healthcare environment/XIS. | Client | A personal healthcare environment/healthcare information system | CapabilityStatement: Client | Client requirements |
Healthcare professional | The user of a XIS | Server | Healthcare information system | CapabilityStatement: Server | Server requirements |
3 Use case: retrieve medication information
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.
3.1 Introduction
The retrieve medication information transaction is used by the client to retrieve medication information from the server. The client can retrieve the desired information by searching on specific medication building blocks.
3.2 Actors
Transaction group | Transaction | Actor | Role |
---|---|---|---|
Retrieve Medication Information(PULL) | Retrieve medication information request | Client | Request medication information |
Retrieve medication information response | Server | Serves medication information |
3.3 Invocations
3.3.1 Request message
When the patient or healthcare professional wants to obtain medication information matching various parameters, it issues a retrieve medication information request message. This message uses the HTTP GET method parameterized query to obtain medication information from a server. Multiple different HTTP GET request messages may be needed to retrieve all the desired medication information.
The client executes an HTTP GET against the server's medication FHIR endpoints. These endpoints can be one of the following:
- MedicationRequest
- MedicationDispense
- MedicationStatement
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.
GET [base]/[type]{?[parameters]}
3.3.1.1 Query 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 | Retrieves a MedicationRequest resource with the identifier 999922448.
GET [base]/MedicationRequest?identifier=http://example.nl/fhir/NamingSystem/MedicationRequest|999922448 |
Type | Search on type of medication building block (HCIM). | category [1],[2]
|
MedicationRequest | Retrieves all MedicationRequest resources that represent a HCIM MedicationAgreement.
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005 Retrieves all MedicationRequest resources that represent a HCIM DispenseRequest. GET [base]/MedicationRequest?category=http://snomed.info/sct|52711000146108 |
MedicationDispense | Retrieves all MedicationDispense resources that represent a HCIM Dispense.
GET [base]/MedicationDispense?category=http://snomed.info/sct|373784005 Retrieves all MedicationRequest resources that represent a HCIM AdministrationAgreement. GET [base]/MedicationRequest?category=http://snomed.info/sct|422037009 | |||
MedicationStatement | Retrieves all MedicationStatement resources that represent a HCIM MedicationUse.
GET [base]/MedicationStatement?category=urn:oid:2.16.840.1.113883.2.4.3.11.60.20.77.5.3|6 | |||
ProductCode | Search on medication code. | code
|
MedicationRequest, MedicationDispense, MedicationStatement, Medication | Retrieves all MedicationRequest resources that represent a HCIM 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. | periodofuse [2],[3]
|
MedicationDispense, MedicationRequest | Retrieves all MedicationRequest resources that represent a HCIM MedicationAgreement and were in effect from 01-01-2010.
GET [base]/MedicationRequest?category=http://snomed.info/sct|16076005&periodofuse=ge2010-01-01 |
DispensePeriod | Returns all medication dispenses within the specific period. | whenhandedover
|
MedicationDispense | Retrieves all MedicationDispense resources that represent a HCIM 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 |
MedicationTreatment | Search on the medication treatment identifier | medicationtreatment [2]
|
MedicationRequest, MedicationDispense, MedicationStatement | Retrieves all MedicationRequest resources that are part of the medication treatment 1247848.
GET [base]/MedicationRequest?medicationtreatment=http://example.nl/fhir/NamingSystem/medicationtreatment|1247848 |
- | 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 | 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.2 Custom Search Parameters
The following custom search parameters are defined for this use case:
- http://nictiz.nl/fhir/SearchParameter/Medications-category
- http://nictiz.nl/fhir/SearchParameter/Medications-periodofuse [3]
- http://nictiz.nl/fhir/SearchParameter/Medications-medicationtreatment
3.3.2 Response message
The server returns a HTTP Status code appropriate to the processing as well as a FHIR Bundle including the matching medication information.
The returned data to the client SHALL conform to the medication profiles. The table below lists the medication HCIMs and their respective FHIR profiles. The resources in the response message SHALL be a valid instance of these profiles. All resources SHALL include their related profile canonical URL in the meta.profile element in order to show compliance.
Note that the medication building blocks are grouped per 'medication treatment' conform to the Medication Process specification. Grouping SHALL be done by use of a 'medication treatment' identifier. This identifier shall be the same across different related medication resources that constitute a medication treatment. The zib-Medication-MedicationTreatment extension is added to all medication profiles and can be used for this grouping purpose.
3.4 List of Profiles
MedMij uses the FHIR Packaging mechanism. This conveniently bundles all examples, profiles 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: any other version with the same major.minor version is compatible. See Semantic Versioning for more information. |
4 Use case: retrieve medication overview
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.
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) | Retrieve medication overview request | Client | Request medication overview |
Retrieve medication overview response | Server | Serves medication overview |
4.3 Invocations
4.3.1 Request message
When the patient or healthcare professional wants to obtain the current medication overview, it issues a retrieve medication overview request message. This message uses an extended operation on the RESTful API to obtain a medication overview from a server. This operation is used because the server needs to play an active role in formulating the content of the response.
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 functional dataset of the medication overview can be found on decor.nictiz.nl.
The content in the response message SHALL be a valid instance of the following profiles that are referenced in the medication-overview operation. Clicking on the link will open the formal definition on Simplifier.net.
- Medication-Overview OperationDefinition: http://nictiz.nl/fhir/OperationDefinition/Medication-Overview
- Bundle profile: http://nictiz.nl/fhir/StructureDefinition/Bundle-MedicationOverview
- List profile: http://nictiz.nl/fhir/StructureDefinition/MedicationOverview
The Bundle profile represents the structure of the retrieve medication overview response message. The List profile represents the actual 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 HCIMs: 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.
In the table below, the HCIMs that constitute the clinical content of the Medication Overview and their respective profiles are listed.
Note that the medication building blocks are grouped per 'medication treatment' conform the Medication Process specification. Grouping SHALL be done by use of a 'medication treatment' identifier. This identifier shall be the same across different related medication resources that constitute a medication treatment. The zib-Medication-MedicationTreatment extension is added to all medication profiles and can be used for this grouping purpose.
4.4 List of Profiles
MedMij uses the FHIR Packaging mechanism. This conveniently bundles all examples, profiles 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: any other version with the same major.minor version is compatible. See Semantic Versioning for more information. |
HCIM name NL | HCIM name EN | FHIR Resource | FHIR Profile |
Patient | Patient | Patient | http://fhir.nl/fhir/StructureDefinition/nl-core-patient |
Zorgverlener | HealthProfessional | Practitioner | http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner |
Zorgaanbieder | HealthcareProvider | Organization | http://fhir.nl/fhir/StructureDefinition/nl-core-organization |
Medicatiegebruik | MedicationUse | MedicationStatement | http://nictiz.nl/fhir/StructureDefinition/mp-MedicationUse |
Toedieningsafspraak | AdministrationAgreement | MedicationDispense | http://nictiz.nl/fhir/StructureDefinition/mp-AdministrationAgreement |
Medicatieafspraak | MedicationAgreement | MedicationRequest | http://nictiz.nl/fhir/StructureDefinition/mp-MedicationAgreement |
Product | Product | Medication | http://nictiz.nl/fhir/StructureDefinition/mp-Product |
GebruiksInstructie | InstructionsForUse | Dosage (datatype) | http://nictiz.nl/fhir/StructureDefinition/mp-InstructionsForUse |
5 Examples
- Medicatieproces has a wiki page that contains 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%7CMedicationStatement%7CMedicationRequest%7CMedication&fhirVersion=STU3&sortBy=DisplayName
6 Release notes
Release notes can be found on the functional design page.
7 Footnotes
- ↑ 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.
- ↑ 2,0 2,1 2,2 The search parameter consists of a custom FHIR search parameter not represented in the FHIR specification.
- ↑ 3,0 3,1 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 FHIR specification. Servers are expected to take the 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.