This page is part of the US Core (v3.1.1: STU3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-medicationrequest
The MedicationRequest resource can be used to record a patient’s medication prescription or order. This profile sets minimum expectations for the MedicationRequest resource to record, search, and fetch medications associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the US Core-MedicationRequest profile. See the Medication List Guidance section for guidance on accessing a patient medications:
- Fetching all medications that have been prescribed to a particular patient
- Fetching all active medications that have been prescribed to particular patient
- Fetching all medications that have been prescribed to particular patient during a particular encounter
- Record or update medications that have been prescribed for a particular patient
Mandatory and Must Support Data Elements
The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each MedicationRequest must have:
- a status
- an intent code
- a medication
- a patient
- a date for when written
- a prescriber
Each MedicationRequest must support:
- the
reported
flag signaling that information is from a secondary source such as a patient. - the encounter
- the prescription Sig Profile specific implementation guidance:
- See the Medication List Guidance section for guidance on accessing a patient medications including over the counter (OTC) medication and other substances taken for medical and recreational use.
- The MedicationRequest resources can represent a medication using either a code, or reference a Medication resource.
- When referencing a Medication resource, the resource may be contained or an external resource.
- The server application MAY choose any combination of these methods, but if an external reference to Medication is used, the server SHALL support the
_include
parameter for searching this element. - The client application SHALL support all methods.
- Source EHR identifiers SHOULD be included to support deduplication across MedicationRequest resources. Exposing the EHR identifiers helps client applications identify duplicates.
Examples
- MedicationRequest-uscore-mo1 Inline medication code to represent the medication.
- MedicationRequest-uscore-mo2 Reference to a contained Medication resource.
- MedicationRequest-uscore-mo3 A search Bundle with a MedicationRequest and an included Medication resource in the Bundle.
- Self-prescribed Tylenol Representation of a reported self-prescribed OTC medication.
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest
Published on Fri Jun 26 00:00:00 AEST 2020 as active by the HL7 US Realm Steering Committee.
This profile builds on MedicationRequest
MedicationRequest
Summary of the Mandatory Requirements
- A code in
MedicationRequest.status
with a required binding to Medicationrequest status - A code in
MedicationRequest.intent
with a required binding to Medication request intent - A CodeableConcept or Medication Reference in
MedicationRequest.medication[x]
with an extensible binding to US Core Medication Codes (RxNorm) - A Patient Reference in
MedicationRequest.subject
- A dateTime in
MedicationRequest.authoredOn
- A Requester Reference in
MedicationRequest.requester
Summary of the Must Support Requirements
- A boolean or Reference in
MedicationRequest.reported[x]
- A Encounter Reference in
MedicationRequest.encounter
- One or more Dosages in
MedicationRequest.dosageInstruction
- which should have a string value in
MedicationRequest.dosageInstruction.text
- which should have a string value in
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationRequest | 0..* | MedicationRequest | Ordering of medication for patient or group | |
status | S | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required) |
intent | S | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required) |
reported[x] | S | 0..1 | Reported rather than primary record | |
reportedBoolean | boolean | |||
reportedReference | Reference(US Core Patient Profile | US Core Practitioner Profile | US Core Organization Profile) | |||
medication[x] | S | 1..1 | Medication to be taken Binding: US Core Medication Codes (RxNorm) (extensible) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(US Core Medication Profile) | |||
subject | S | 1..1 | Reference(US Core Patient Profile) | Who or group medication request is for |
encounter | S | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay |
authoredOn | S | 1..1 | dateTime | When request was initially authored |
requester | S | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile) | Who/What requested the Request |
dosageInstruction | S | 0..* | Dosage | How the medication should be taken |
text | S | 0..1 | string | Free text dosage instructions e.g. SIG |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationRequest | I | 0..* | MedicationRequest | Ordering of medication for patient or group |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | External ids for this request |
status | ?!SΣI | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required) |
statusReason | I | 0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example) |
intent | ?!SΣI | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required) |
category | I | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (example) |
priority | ΣI | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required) |
doNotPerform | ?!ΣI | 0..1 | boolean | True if request is prohibiting action |
reported[x] | SΣI | 0..1 | Reported rather than primary record | |
reportedBoolean | boolean | |||
reportedReference | Reference(US Core Patient Profile | US Core Practitioner Profile | US Core Organization Profile) | |||
medication[x] | SΣI | 1..1 | Medication to be taken Binding: US Core Medication Codes (RxNorm) (extensible) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(US Core Medication Profile) | |||
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who or group medication request is for |
encounter | SI | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay |
supportingInformation | I | 0..* | Reference(Resource) | Information to support ordering of the medication |
authoredOn | SΣI | 1..1 | dateTime | When request was initially authored |
requester | SΣI | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile) | Who/What requested the Request |
performer | I | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration |
performerType | ΣI | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example) |
recorder | I | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request |
reasonCode | I | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: Condition/Problem/DiagnosisCodes (example) |
reasonReference | I | 0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written |
instantiatesCanonical | ΣI | 0..* | canonical() | Instantiates FHIR protocol or definition |
instantiatesUri | ΣI | 0..* | uri | Instantiates external protocol or definition |
basedOn | ΣI | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills |
groupIdentifier | ΣI | 0..1 | Identifier | Composite request this is part of |
courseOfTherapyType | I | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example) |
insurance | I | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage |
note | I | 0..* | Annotation | Information about the prescription |
dosageInstruction | SI | 0..* | Dosage | How the medication should be taken |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
sequence | ΣI | 0..1 | integer | The order of the dosage instructions |
text | SΣI | 0..1 | string | Free text dosage instructions e.g. SIG |
additionalInstruction | ΣI | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example) |
patientInstruction | ΣI | 0..1 | string | Patient or consumer oriented instructions |
timing | ΣI | 0..1 | Timing | When medication should be administered |
asNeeded[x] | ΣI | 0..1 | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
site | ΣI | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example) |
route | ΣI | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example) |
method | ΣI | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example) |
doseAndRate | ΣI | 0..* | Element | Amount of medication administered |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
type | ΣI | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example) |
dose[x] | ΣI | 0..1 | Amount of medication per dose | |
doseRange | Range | |||
doseQuantity | Quantity(SimpleQuantity) | |||
rate[x] | ΣI | 0..1 | Amount of medication per unit of time | |
rateRatio | Ratio | |||
rateRange | Range | |||
rateQuantity | Quantity(SimpleQuantity) | |||
maxDosePerPeriod | ΣI | 0..1 | Ratio | Upper limit on medication per unit of time |
maxDosePerAdministration | ΣI | 0..1 | SimpleQuantity | Upper limit on medication per administration |
maxDosePerLifetime | ΣI | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient |
dispenseRequest | I | 0..1 | BackboneElement | Medication supply authorization |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
initialFill | I | 0..1 | BackboneElement | First fill details |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
quantity | I | 0..1 | SimpleQuantity | First fill quantity |
duration | I | 0..1 | Duration | First fill duration |
dispenseInterval | I | 0..1 | Duration | Minimum period of time between dispenses |
validityPeriod | I | 0..1 | Period | Time period supply is authorized for |
numberOfRepeatsAllowed | I | 0..1 | unsignedInt | Number of refills authorized |
quantity | I | 0..1 | SimpleQuantity | Amount of medication to supply per dispense |
expectedSupplyDuration | I | 0..1 | Duration | Number of days supply per dispense |
performer | I | 0..1 | Reference(Organization) | Intended dispenser |
substitution | I | 0..1 | BackboneElement | Any restrictions on medication substitution |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
allowed[x] | I | 1..1 | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (example) | |
allowedBoolean | boolean | |||
allowedCodeableConcept | CodeableConcept | |||
reason | I | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example) |
priorPrescription | I | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced |
detectedIssue | I | 0..* | Reference(DetectedIssue) | Clinical Issue with action |
eventHistory | I | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle |
Documentation for this format |
MedicationRequest
Summary of the Mandatory Requirements
- A code in
MedicationRequest.status
with a required binding to Medicationrequest status - A code in
MedicationRequest.intent
with a required binding to Medication request intent - A CodeableConcept or Medication Reference in
MedicationRequest.medication[x]
with an extensible binding to US Core Medication Codes (RxNorm) - A Patient Reference in
MedicationRequest.subject
- A dateTime in
MedicationRequest.authoredOn
- A Requester Reference in
MedicationRequest.requester
Summary of the Must Support Requirements
- A boolean or Reference in
MedicationRequest.reported[x]
- A Encounter Reference in
MedicationRequest.encounter
- One or more Dosages in
MedicationRequest.dosageInstruction
- which should have a string value in
MedicationRequest.dosageInstruction.text
- which should have a string value in
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationRequest | 0..* | MedicationRequest | Ordering of medication for patient or group | |
status | S | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required) |
intent | S | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required) |
reported[x] | S | 0..1 | Reported rather than primary record | |
reportedBoolean | boolean | |||
reportedReference | Reference(US Core Patient Profile | US Core Practitioner Profile | US Core Organization Profile) | |||
medication[x] | S | 1..1 | Medication to be taken Binding: US Core Medication Codes (RxNorm) (extensible) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(US Core Medication Profile) | |||
subject | S | 1..1 | Reference(US Core Patient Profile) | Who or group medication request is for |
encounter | S | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay |
authoredOn | S | 1..1 | dateTime | When request was initially authored |
requester | S | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile) | Who/What requested the Request |
dosageInstruction | S | 0..* | Dosage | How the medication should be taken |
text | S | 0..1 | string | Free text dosage instructions e.g. SIG |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationRequest | I | 0..* | MedicationRequest | Ordering of medication for patient or group |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | External ids for this request |
status | ?!SΣI | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required) |
statusReason | I | 0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example) |
intent | ?!SΣI | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required) |
category | I | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (example) |
priority | ΣI | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required) |
doNotPerform | ?!ΣI | 0..1 | boolean | True if request is prohibiting action |
reported[x] | SΣI | 0..1 | Reported rather than primary record | |
reportedBoolean | boolean | |||
reportedReference | Reference(US Core Patient Profile | US Core Practitioner Profile | US Core Organization Profile) | |||
medication[x] | SΣI | 1..1 | Medication to be taken Binding: US Core Medication Codes (RxNorm) (extensible) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(US Core Medication Profile) | |||
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who or group medication request is for |
encounter | SI | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay |
supportingInformation | I | 0..* | Reference(Resource) | Information to support ordering of the medication |
authoredOn | SΣI | 1..1 | dateTime | When request was initially authored |
requester | SΣI | 1..1 | Reference(US Core Practitioner Profile | US Core Organization Profile | US Core Patient Profile) | Who/What requested the Request |
performer | I | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration |
performerType | ΣI | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example) |
recorder | I | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request |
reasonCode | I | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: Condition/Problem/DiagnosisCodes (example) |
reasonReference | I | 0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written |
instantiatesCanonical | ΣI | 0..* | canonical() | Instantiates FHIR protocol or definition |
instantiatesUri | ΣI | 0..* | uri | Instantiates external protocol or definition |
basedOn | ΣI | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills |
groupIdentifier | ΣI | 0..1 | Identifier | Composite request this is part of |
courseOfTherapyType | I | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example) |
insurance | I | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage |
note | I | 0..* | Annotation | Information about the prescription |
dosageInstruction | SI | 0..* | Dosage | How the medication should be taken |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
sequence | ΣI | 0..1 | integer | The order of the dosage instructions |
text | SΣI | 0..1 | string | Free text dosage instructions e.g. SIG |
additionalInstruction | ΣI | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example) |
patientInstruction | ΣI | 0..1 | string | Patient or consumer oriented instructions |
timing | ΣI | 0..1 | Timing | When medication should be administered |
asNeeded[x] | ΣI | 0..1 | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
site | ΣI | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example) |
route | ΣI | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example) |
method | ΣI | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example) |
doseAndRate | ΣI | 0..* | Element | Amount of medication administered |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
type | ΣI | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example) |
dose[x] | ΣI | 0..1 | Amount of medication per dose | |
doseRange | Range | |||
doseQuantity | Quantity(SimpleQuantity) | |||
rate[x] | ΣI | 0..1 | Amount of medication per unit of time | |
rateRatio | Ratio | |||
rateRange | Range | |||
rateQuantity | Quantity(SimpleQuantity) | |||
maxDosePerPeriod | ΣI | 0..1 | Ratio | Upper limit on medication per unit of time |
maxDosePerAdministration | ΣI | 0..1 | SimpleQuantity | Upper limit on medication per administration |
maxDosePerLifetime | ΣI | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient |
dispenseRequest | I | 0..1 | BackboneElement | Medication supply authorization |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
initialFill | I | 0..1 | BackboneElement | First fill details |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
quantity | I | 0..1 | SimpleQuantity | First fill quantity |
duration | I | 0..1 | Duration | First fill duration |
dispenseInterval | I | 0..1 | Duration | Minimum period of time between dispenses |
validityPeriod | I | 0..1 | Period | Time period supply is authorized for |
numberOfRepeatsAllowed | I | 0..1 | unsignedInt | Number of refills authorized |
quantity | I | 0..1 | SimpleQuantity | Amount of medication to supply per dispense |
expectedSupplyDuration | I | 0..1 | Duration | Number of days supply per dispense |
performer | I | 0..1 | Reference(Organization) | Intended dispenser |
substitution | I | 0..1 | BackboneElement | Any restrictions on medication substitution |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
allowed[x] | I | 1..1 | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (example) | |
allowedBoolean | boolean | |||
allowedCodeableConcept | CodeableConcept | |||
reason | I | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example) |
priorPrescription | I | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced |
detectedIssue | I | 0..* | Reference(DetectedIssue) | Clinical Issue with action |
eventHistory | I | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of Server RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
- The syntax used to describe the interactions is described here.
- See the General Guidance section for additional rules and expectations when a server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.
Mandatory Search Parameters:
The following search parameters and search parameter combinations SHALL be supported.:
- SHALL support searching using the combination of the
patient
andintent
search parameters:- including support for composite OR search on
intent
(e.g.intent={system|}[code],{system|}[code],...
)
GET [base]/MedicationRequest?patient=[reference]&intent=order,plan
Example:
- GET [base]/MedicationRequest?patient=14676&intent=order,plan
- GET [base]/MedicationRequest?patient=14676&intent=order,plan&_include=MedicationRequest:medication
Implementation Notes: Fetches a bundle of all MedicationRequest resources for the specified patient and intent code =
order,plan
(how to search by reference and how to search by token) - including support for composite OR search on
- SHALL support searching using the combination of the
patient
andintent
andstatus
search parameters:- including support for composite OR search on
intent
(e.g.intent={system|}[code],{system|}[code],...
) - including support for composite OR search on
status
(e.g.status={system|}[code],{system|}[code],...
)
GET [base]/MedicationRequest?patient=[reference]&intent=order,plan&status={system|}[code]{,{system|}[code],...}
Example:
- GET [base]/MedicationRequest?patient=1137192&intent=order,plan&status=active
- GET [base]/MedicationRequest?patient=1137192&intent=order,plan&status=active&_include=MedicationRequest:medication
Implementation Notes: Fetches a bundle of all MedicationRequest resources for the specified patient and intent code =
order,plan
and status (how to search by reference and how to search by token) - including support for composite OR search on
Optional Search Parameters:
The following search parameter combinations SHOULD be supported.:
- SHOULD support searching using the combination of the
patient
andintent
andencounter
search parameters:- including support for composite OR search on
intent
(e.g.intent={system|}[code],{system|}[code],...
)
GET [base]/MedicationRequest?patient=[reference]&intent=order,plan&encounter=[reference]
Example:
- GET [base]/MedicationRequest?patient=1137192&intent=order,plan&status=active&encounter=Encounter/123
- GET [base]/MedicationRequest?patient=1137192&intent=order,plan&status=active&&encounter=Encounter/123&_include=MedicationRequest:medication
Implementation Notes: Fetches a bundle of all MedicationRequest resources for the specified patient and intent code =
order,plan
and encounter (how to search by reference and how to search by token) - including support for composite OR search on
- SHOULD support searching using the combination of the
patient
andintent
andauthoredon
search parameters:- including support for composite OR search on
intent
(e.g.intent={system|}[code],{system|}[code],...
) - including support for these
authoredon
comparators:gt,lt,ge,le
- including optional support for composite AND search on
authoredon
(e.g.authoredon=[date]&authoredon=[date]]&...
)
GET [base]/MedicationRequest?patient=[reference]&intent=order,plan&authoredon={gt|lt|ge|le}[date]{&authoredon={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/MedicationRequest?patient=1137192&intent=order,plan&authoredon=ge2019
- GET [base]/MedicationRequest?patient=1137192&intent=order,plan&authoredon=ge2019&_include=MedicationRequest:medication
Implementation Notes: Fetches a bundle of all MedicationRequest resources for the specified patient and intent code =
order,plan
and authoredon date (how to search by reference and how to search by token and how to search by date) - including support for composite OR search on