MedMij FHIR use case Medication Information

Uit informatiestandaarden
Naar navigatie springen Naar zoeken springen
Naar medmij.nl

PatientBijsluiter Icoon MedMij.png

AfsprakenstelselFunctioneelTechnischAfspraken-Functioneel-Technisch

Introduction

Go to functional design

This page technically describes how a client, e.g. a PHE, should retrieve medication information from a server, maintained by College ter Beoordeling van Geneesmiddelen (CBG). This use case makes use of the IHE MHD profile and PDF/A use case, which are described in detail here.

Note: this page is part of the MedMij FHIR Implementation Guide and is a technical representation of the functional design published on this wiki page.

Retrieve medication information by patients

Go to Afsprakenstelsel

This section summarizes the IHE MHD profile to exchange medication information in a MedMij context.

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.

Actors and transactions involved

Table 1 shows the relevant actors, systems and FHIR capability statements in a MedMij context. The capability statements demonstrate the minimum requirements to be conformant to the Medication Information use case specification.

Actors Systems FHIR Capability Statements
Name Description Name Description Name Description
Patient The user of a personal healthcare environment. PHE Personal health record Verwijzing.png CapabilityStatement: Client FHIR Client requirements
Medicine Authority The owner of the medication information XIS Healthcare information system Verwijzing.png CapabilityStatement: Server FHIR Server requirements

Table 1. Actors, systems and FHIR capability statements

Table 2 shows the MHD actors and transactions in perspective of the systems used in a MedMij context.

Actors System MHD Actors MHD Transactions
Patient
PHE
Document Consumer
Find Document Manifest
Retrieve Document
Medicine Authority
XIS
Document Responder
Find Document Reference
Retrieve Document

Table 2. MHD actors and transactions in perspective of systems in a MedMij context and the medication information use case.

Transactions in scope

  • Find Document Manifests – This transaction is used to issue parameterized queries that result in a list of Document Manifest resources.
  • Retrieve Document – This transaction is used to get documents.

Find and retrieve medication information

Find medication information

Discovery of medication information documents is done with the MHD defined transaction Find Document Manifest. The Find Document Manifest retrieves FHIR DocumentManifest Resources. A DocumentManifest Resourse gathers a set of DocumentReference Resources into a single package together with metadata that applies to the collection. DocumentReference Resources represents a single reference to document per resource, for example one PDF/A file containing medication information.

The Document Consumer requests DocumentManifest, matching a set of criteria, from the Document Responder. The Document Responder returns DocumentManifest Resources that match the search criteria provided by the Document Consumer.

Request message

Search

The Document Consumer executes an HTTP GET conform to the FHIR RESTfull and search specification. A search query would have the following format.

GET [base]DocumentManifest?[parameters]{&_format=[mime-type]}

Search Parameters The Document Consumer may supply, and the Document Responder shall be capable of processing, all query parameters listed below. This search parameter is defined by the HL7 FHIR specification for DocumentManifest).

DocumentManifest
Name Type Description
type token Kind of document. This element is used to search for related documents containing medication information based on the G-Standard (HPK code) of a medication.

A PGO searches the XIS based on DocumentManifest.type. The XIS groups medication information per medication based on the G-standard within DocumentManifest Resources. The DocumentManifest.type is used to index and retrieve the medication information. Example queries to search for DocumentManifest containing medication information.

GET [base]/DocumentManifest?type=urn:oid:2.16.840.1.113883.2.4.4.7|01474707_include=DocumentManifest:content-ref

This request searches on type (HPK number for PARACETAMOL/CODEINEFOSFAAT RP TABLET 500/50MG) and includes all (DocumentReference) Resources referenced from DocumentManifest.content.p.as(Reference).

Response message

The Document Responder shall process the query to discover the DocumentManifest entries that match the search parameter given. The Document Responder returns a HTTP Status code appropriate to the processing as well as a Bundle including the matching DocumentManifest resource(s) and includes the DocumentReference Resources referenced from the DocumentManifest resource. The DocumentManifest resource contains references to DocumentReference Resources listed at 'DocumentManifest.content.pReference' which constitute all the documents belonging to the medication information of a specific medication. The referenced DocumentReference Resources are also returned in the Bundle. The Document Responder shall place into the 'DocumentReference.content.attachment.url' element a full URL that can be used by the Document Consumer to retrieve the document using Retrieve Document transaction.

To summarize the response message:

  • Bundle of type = searchset
  • DocumentManifest of type = medication based on G standard - HPK
  • DocumentReference of type = medication based on G standard - HPK & class = categorization of medication information (patient's instructions, scientific information, ect.)

When the Document Responder needs to report an error or warning, it shall use HTTP error response codes and should include a FHIR OperationOutcome with more details on the failure or warning. If the request message is processed successfully, whether or not any DocumentManifest Resources are found, the HTTP status code shall be 200.


Example of a response message

<Bundle xmlns="http://hl7.org/fhir">
    <id value="1039a3ef-9555-45b3-8293-3fa180713fba" />
    <meta>
        <versionId value="2dd4f1d4-c9f9-420c-9c1c-99e9b582b44a" />
        <lastUpdated value="2018-03-14T12:11:54.054+00:00" />
    </meta>
    <type value="searchset" />
    <total value="1" />
    <link>
        <relation value="self" />
        <url value="https://vonk.furore.com/DocumentManifest?urn:oid:2.16.840.1.113883.2.4.4.7|01474707_include=DocumentManifest:content-ref" />
    </link>
    <entry>
        <fullUrl value="https://vonk.furore.com/DocumentManifest/example" />
        <resource>
            <DocumentManifest>
                <id value="example" />
                <meta>
                    <versionId value="f88ab332-44da-428b-b85a-874777a29de1" />
                    <lastUpdated value="2017-11-07T11:12:02.229+00:00" />
                </meta>
                <identifier>
                    <system value="http://example.org/documents" />
                    <value value="23425234234-2347" />
                </identifier>
                <status value="current" />
                <type>
                    <coding>
                        <system value="urn:oid:2.16.840.1.113883.2.4.4.7" />
                        <code value="01474707" />
                        <display value="PARACETAMOL/CODEINEFOSFAAT RP TABLET 500/50MG" />
                    </coding>
                </type>
                <created value="2004-12-25T23:50:50-05:00" />
                <author>
                    <reference value="https://vonk.furore.com/Organization/example" />
                </author>
                <description value="Medication information about PARACETAMOL/CODEINEFOSFAAT RP TABLET 500/50MG " />
                <content>
                    <pReference>
                        <reference value="https://vonk.furore.com/DocumentReference/example" />
                        <display value="Patient bijsluiter" />
                    </pReference>
                </content>
                <content>
                    <pReference>
                        <reference value="https://vonk.furore.com/DocumentReference/example2" />
                        <display value="Nieuwsbericht" />
                    </pReference>
                </content>
                <content>
                    <pReference>
                        <reference value="https://vonk.furore.com/DocumentReference/example3" />
                        <display value="Wetenscahppelijk bericht" />
                    </pReference>
                </content>
            </DocumentManifest>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
    <entry>
        <fullUrl value="https://vonk.furore.com/DocumentReference/example" />
        <resource>
            <DocumentReference>
                <id value="example" />
                <meta>
                    <versionId value="bff17172-56d2-47fb-8b7a-6eb296729586" />
                    <lastUpdated value="2017-11-07T11:12:02.337+00:00" />
                </meta>
                <status value="current" />
                <docStatus value="final" />
                <type>
                    <coding>
                        <system value="urn:oid:2.16.840.1.113883.2.4.4.7" />
                        <code value="01474707" />
                        <display value="PARACETAMOL/CODEINEFOSFAAT RP TABLET 500/50MG" />
                    </coding>
                </type>
                <class>
                    <coding>
                        <system value="http:/example.com/classcategories/" />
                        <code value="PMI" />
                        <display value="Patient Medication Information" />
                    </coding>
                </class>
                <created value="2005-12-24T09:35:00+11:00" />
                <indexed value="2005-12-24T09:43:41+11:00" />
                <author>
                    <reference value="https://vonk.furore.com/Organization/xcda1" />
                </author>
                <authenticator>
                    <reference value="https://vonk.furore.com/Organization/f001" />
                </authenticator>
                <custodian>
                    <reference value="https://vonk.furore.com/Organization/f001" />
                </custodian>
                <content>
                    <attachment>
                        <contentType value="application/pdf" />
                        <language value="en-US" />
                        <url value="http://example.org/xds/mhd/Binary/07a6483f-732b-461e-86b6-edb665c45510" />
                        <size value="3654" />
                        <hash value="2jmj7l5rSw0yVb/vlWAYkK/YBwk=" />
                    </attachment>
                </content>
            </DocumentReference>
        </resource>
        <search>
            <mode value="include" />
        </search>
    </entry>
    <entry>
        <fullUrl value="https://vonk.furore.com/DocumentReference/example2" />
        <resource>
            <DocumentReference>
                <id value="example2" />
                
                ..........
                
            </DocumentReference>
        </resource>
        <search>
            <mode value="include" />
        </search>
    </entry>
   <entry>
       <fullUrl value="https://vonk.furore.com/DocumentReference/example3" />
       <resource>
           <DocumentReference>
               <id value="example3" />
               
              .........
              
           </DocumentReference>
       </resource>
       <search>
           <mode value="include" />
       </search>
   </entry>
</Bundle>

Retrieve medication information document(s)

After obtaining the location of the medication information document in the DocumentReference.content.attachment.url, the Document Consumer requests the document from the Document Responder. The Document Responder sequentially serves the document to the Document Consumer. The context that was established in the initial request shall also apply when retrieving/serving the document contents.

Request Message

This message is an HTTP GET request to retrieve the document. See an example below.

GET http://example:9556/svc/fhir/Binary/1e404af3-077f-4bee-b7a6-a9be97e1ce32

The Document Consumer may provide a HTTP Accept header, according to the semantics of the HTTP protocols (see RFC2616, Section 14.1). The only MIME type assured to be returned is the MIME type indicated in the DocumentReference.content.attachment.contentType'. The HTTP If-Unmodified-Since header shall not be included in the GET request.

Response Message

The Document Responder shall process the request message. The Document Responder returns a HTTP Status code appropriate to the processing as well as the PDF/A in a FHIR Binary Resource. Binary Resources behave slightly differently to all other Resources on the RESTful API. Specifically, when a read request is made for the binary resource that doesn't explicitly specify the FHIR content types "application/fhir+xml" or "application/fhir+json", then the content should be returned using the content type stated in the resource. e.g. if the content type in the resource is "application/pdf", then the content should be returned as a PDF directly.[1]

When the Document Responder needs to report an error or warning, it shall use HTTP error response codes and should include a OperationOutcome with more details on the failure or warning. If the Retrieve Document message is processed successfully the HTTP status code shall be 200.

Example of a response message

<Binary>
  <id value="1e404af3-077f-4bee-b7a6-a9be97e1ce32" />
  <meta>
    <versionId value="948f3653-c9a3-4831-bae5-f629319c194f" />
    <lastUpdated value="2017-09-20T17:55:14.098+00:00" />
  </meta>
  <contentType value="application/pdf" />
  <content value="JVBERi0xLjUNJeLjz9MNCjU1I........"/>   
</Binary>

Interactions, operations, search parameters

Interactions

The following logical interactions are needed for this use case:

Operations

There are no defined operations for this use case.

Search parameters

The following search parameter types need to be supported for this use case. No search result parameters need to be supported.

Search parameter types:

List of StructureDefinitions

IHE has defined StructureDefinitions and other Conformance resources applicable for this use case. They are listed under FHIR Implementation Guide on the IHE MHD wiki.