This page is part of the US-Medication FHIR IG (v1.2.0: STU 2) based on FHIR R3. This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Conformance requirements for the US Meds Server
- FHIR Version: 3.0.0
- Supported formats: xml, json
- Published: 2017-03-08
- Published by: Health Level Seven International Pharmacy Work Group
The section describes the expected capabilities of the US Meds Server actor which is responsible for providing responses to the queries submitted by the US Med Client applications. It is expected that this CapabilityStatement will be used with the US Core CapabilityStatement. Together they describe the complete list of FHIR profiles, RESTful operations, and search parameters supported by US Meds Servers. US Meds Clients have the option of choosing from this list to access necessary data based on their local use cases and other contextual requirements.
Behavior
Description: The US Meds Server SHALL:
- Support the US Core Patient resource profile.
- At a minimum, support the US Core MedicationStatement Profile.
- Implement the RESTful behavior according to the FHIR specification.
- Return the following response classes:
- (Status 200): successful operation
- (Status 400): invalid parameter
- (Status 401/4xx): unauthorized request
- (Status 403): insufficient scope
- (Status 404): unknown resource
- (Status 410): deleted resource.
- Support json resource formats for all US Meds interactions.
- Declare a CapabilityStatement identifying the list of profiles, operations, and search parameters supported.
The US Meds Server SHOULD:
- Support the following US Core and US Meds resource profiles:
- US Core Medication
- US Meds MedicationAdministration
- US Meds MedicationDispense
- US Core MedicationRequest
- Support xml resource formats for all US Meds interactions.
- Identify the US Core profile(s) and US Meds profiles supported as part of the FHIR
meta.profile
attribute for each instance.
The US Meds Server MAY:
- Support other US Core and US Meds resource profile
Security:
US Meds Servers SHALL:
- Implement the security requirements documented in the US-Core IG.
- A server has ensured that every API request includes a valid Authorization token, supplied via:
Authorization: Bearer {server-specific-token-here}
- A server has rejected any unauthorized requests by returning an
HTTP 401
Unauthorized response code.
Profile Interaction Summary:
- All servers SHALL make available the read and search interactions for the Profiles the server chooses to support.
- All servers SHOULD make available the vread and history-instance interactions for the Profiles the server chooses to support.
Summary of US Meds search criteria
Specific server search capabilities are described in detail below in each of the resource sections. The MedicationAdministration, MedicationDispense, MedicationStatement and MedicationRequest resources can represent a medication using either a code or refer to the Medication resource. When referencing a Medication resource, the resource may be contained or an external resource. The server application can choose any one way or more than one method, but if the an external reference to Medication is used, the server SHALL support the
_include
parameter for searching this element. The client application must support all methods.
Resource Type | Supported Profiles | Supported Searches | Supported _includes |
---|---|---|---|
Medication | US Core Medication Profile | ||
MedicationAdministration | US Meds MedicationAdministration Profile | patient | MedicationAdministration:medication |
MedicationDispense | US Meds MedicationDispense Profile | patient | MedicationDispense:medication |
MedicationRequest | US Core MedicationRequest Profile | patient, status, patient + status | MedicationRequest:medication |
MedicationStatement | US Core MedicationStatement Profile | patient, status, context, patient + status, patient + context | MedicationStatement:medication |
Resource Details:
1. Medication
Supported Profiles: US Core Medication Profile
2. MedicationAdministration
Supported Profiles: US Meds MedicationAdministration Profile
Search Criteria:
A server SHALL be capable of fetching a patient’s administered medications using one of or both:
-
GET /MedicationAdministration?patient=[id]
-
GET /MedicationAdministration?patient=[id]&_include=MedicationAdministration:medication
Search Parameters:
Conformance | Parameter | Type | _include (see documentation) | Modifiers |
---|---|---|---|---|
SHALL | patient | reference | MedicationAdministration:medication |
3. MedicationDispense
Supported Profiles: US Meds MedicationDispense Profile
Search Criteria:
A server SHALL be capable of returning a patient’s dispensed medications using one of or both:
-
GET /MedicationDispense?patient=[id]
-
GET /MedicationDispense?patient=[id]&_include=MedicationDispense:medication
Conformance | Parameter | Type | _include (see documentation) | Modifiers |
---|---|---|---|---|
SHALL | patient | reference | MedicationDispense:medication |
4. MedicationRequest
Supported Profiles: US Core MedicationRequest Profile
Search Criteria:
A server SHALL be capable of returning a patient’s active medications orders using one of or both:
-
GET /MedicationRequest?patient=[id]
-
GET /MedicationRequest?patient=[id]&_include=MedicationRequest:medication
Search Parameters:
Conformance | Parameter | Type | _include (see documentation) | Modifiers |
---|---|---|---|---|
SHALL | status + status | reference + token | MedicationRequest:medication |
5. MedicationStatement
Supported Profiles: US Core MedicationStatement Profile
Search Criteria:
A server SHALL be capable of returning all medications for a patient using one of or both:
-
GET /MedicationStatement?patient=[id]
-
GET /MedicationStatement?patient=[id]&_include=MedicationStatement:medication
A server SHALL be capable of returning all active medications for a patient using:
-
GET /MedicationStatement?patient=[id]&status=active
-
GET /MedicationStatement?patient=[id]&status=active&_include=MedicationStatement:medication
A server SHALL be capable of returning all medications for a patient for an encounter using:
-
GET /MedicationStatement?patient=[id]&context=[id]
-
GET /MedicationStatement?patient=[id]&context=[id]&_include=MedicationStatement:medication
Search Parameters:
Conformance | Parameter | Type | _include (see documentation) | Modifiers |
---|---|---|---|---|
SHALL | patient | reference | MedicationStatement:medication | |
SHALL | patient + status | reference + token | MedicationStatement:medication | |
SHALL | patient + context | reference | MedicationStatement:medication |