Specialty Medication Enrollment, published by HL7 International - Pharmacy. This is not an authorized publication; it is the continuous build for version 2.1.0). This version is based on the current content of https://github.com/HL7/fhir-specialty-rx/ and changes regularly. See the Directory of published versions
Data Source and Data Consumer systems SHALL follow US Core search requirements and guidance when performing searches associated with this guide.
To ensure that the most common data requests are supported by all participants, Data Sources SHALL be able to return information in response to searches on the resources below–whether responding to RESTful search requests or the Specialty Rx Query message.
Notes:
Resource | Parameters | Example |
---|---|---|
AllergyIntolerance | Per US Core | GET [base]/AllergyIntolerance?patient=123&clinical-status=activeor POST [base]/AllergyIntolerance/_search Content-Type: application/x-www-form-urlencoded: patient=123&clinical-status=activeReturns all active patient allergies and intolerances |
Condition | Per US Core | GET [base]/Condition?patient=123or POST [base]/Condition/_search Content-Type: application/x-www-form-urlencoded: patient=123Returns all patient conditions |
Observation | Per US Core | GET [base]/Observation?patient=123&category=vital-signs&date=ge2020-01-01or POST [base]/Observation/_search Content-Type: application/x-www-form-urlencoded: patient=123&category=vital-signs&date=ge2020-01-01Returns all patient vital signs recorded in the specified date period |
Coverage | SHALL: patient SHOULD: beneficiary (Not profiled in US Core) |
GET [base]/Coverage?patient=123or POST [base]/Coverage/_search Content-Type: application/x-www-form-urlencoded: patient=123Returns all patient insurance coverages |
MedicationRequest | Per US Core | GET [base]/MedicationRequest?patient=123&intent=order&status=active&_include=MedicationRequest:Medicationor POST [base]/MedicationRequest/_search Content-Type: application/x-www-form-urlencoded: patient=123&intent=order&status=active&_include=MedicationRequest:MedicationReturns all active patient MedicationRequest orders and the associated Medications |
In addition to the required searches above, implementers SHOULD support DocumentReference searches and retrieval, to enable those participating in the fulfillment of specialty medication prescriptions to access patient information recorded in patient documents.
Resource | Parameters | Example |
---|---|---|
DocumentReference | See US Core | GET [base]/DocumentReference?patient=123 &category=http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-noteor POST [base]/DocumentReference/_search Content-Type: application/x-www-form-urlencoded: patient=123&category=http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-noteReturns all patient clinical notes |
Data Consumers MAY include searches other than those outlined above.
Data Sources SHALL be capable of supporting the _revinclude=Provenance:target
parameter as defined in US Core, returning US Core Provenance resource(s) that reference returned resources, as specified here in US Core. In addition, Data Sources SHALL support mandatory _include
parameters defined in US Core.
Each related resource SHALL be included as an entry in the response’s searchset bundle with a search.mode
value of include
. Below are examples:
_include
: MedicationRequest referencing an included Medication resource_revinclude
: AllergyIntolerance with an included Provenance resourceThis guide leverages search guidance given in the US Core FHIR Implementation Guide and the base FHIR specification.
The Specialty Rx Query message requests specific information from a given patient’s records in the responding system. The desired information is specified as FHIR search statements which are sent as parameters in the message. Responders are expected to execute these searches for the patient supplied in the request and return the results in a Specialty Rx Query Response message.
Specialty Rx messaging enables Data Consumer systems to submit requests without performing a patient match ahead of time. This accommodates a common situation where the Data Consumer hasn’t participated in previous FHIR exchanges about this patient with the Data Source and doesn’t possess the Data Source’s Patient resource ID. This also addresses challenges that may arise if the Data Consumer interacts with the Data Source via an intermediary–for example if the Data Consumer lacks details about the Data Source’s endpoint or is otherwise unable to submit patient match requests directly to the Data Source.
To support this scenario, the Specialty Rx Query message omits the patient parameter from submitted search strings, with the expectation that the Data Source will append it after locating the desired patient in its system.
For example, a search for a given patient’s vital signs that would ordinarily be stated as:
Observation?patient=[patient id]&category=vital-signs
… is submitted in the Specialty Rx Query without the patient search parameter:
Observation?category=vital-signs
The Data Consumer identifies the desired patient by including one or both the following in the Specialty Rx Query message:
The Data Source locates the desired patient and completes the query string as follows, based on the submitted patient information:
In the Specialty Rx Query Response, the Data Source returns the full search string that was ultimately executed–including patient parameter–in the .link element of each returned searchset Bundle.
Bundle .link .relation = "self" .url = "MedicationRequest?patient=12345&status=active" .entry
All searches performed within a request/response exchange flow relate to a single patient, who is represented in the responder-patient parameter in the Query Response message bundle. Patient references contained in resources in searchset bundles SHOULD be resolvable to the responder-patient entry in the outer, Query Response message bundle.