This page is part of the Argonaut Data Query Implementation Guide (v1.0.0: Release) based on FHIR R2. This is the current published version. For a full list of available versions, see the Directory of published versions
Both the MedicationOrder and MedicationStatement resources can be used to record a patient’s medication. For more information about the context for their usages, refer to the medication domains’s boundaries section. This profile sets minimum expectations for the MedicationOrder 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 Argonaut MedicationOrder profile:
The following data-elements are mandatory (i.e data MUST be present). These 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 MedicationOrder must have:
Profile specific implementation guidance:
MedicationOrder-argo-mo3 This example is a search Bundle with a MedicationOrder and an included Medication resource in the Bundle.
The official URL for this profile is:
http://fhir.org/guides/argonaut/StructureDefinition/argo-medicationorder
This profile builds on MedicationOrder.
This profile was published on Tue Oct 18 00:00:00 AEDT 2016 as a draft by Argonaut Project.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
MedicationOrder.dateWritten
MedicationOrder.status
which has an required binding to:
MedicationOrder.patient
MedicationOrder.prescriber
MedicationOrder.medicationCodeableConcept
or MedicationOrder.medicationReference
MedicationOrder.medicationCodeableConcept
has an extensible binding to Medication Clinical Drug (RxNorm)Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationOrder | 0..* | Argonaut MedicationOrder Profile | ||
dateWritten | S | 1..1 | dateTime | |
status | S | 1..1 | code | Binding: MedicationOrderStatus (required) |
patient | S | 1..1 | Reference(Argonaut Patient Profile) | |
prescriber | S | 1..1 | Reference(Practitioner) | |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | Binding: Medication Clinical Drug (RxNorm) (extensible) |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationOrder | 0..* | Argonaut MedicationOrder Profile | ||
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: IETF BCP-47 (required) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External identifier |
dateWritten | S | 1..1 | dateTime | When prescription was authorized |
status | ?!S | 1..1 | code | active | on-hold | completed | entered-in-error | stopped | draft Binding: MedicationOrderStatus (required) |
dateEnded | Σ | 0..1 | dateTime | When prescription was stopped |
reasonEnded | Σ | 0..1 | CodeableConcept | Why prescription was stopped Binding: (unbound) (example) |
patient | S | 1..1 | Reference(Argonaut Patient Profile) | Who prescription is for |
prescriber | S | 1..1 | Reference(Practitioner) | Who ordered the medication(s) |
encounter | Σ | 0..1 | Reference(Encounter) | Created during encounter/admission/stay |
reason[x] | Σ | 0..1 | CodeableConcept, Reference(Condition) | Reason or indication for writing the prescription Binding: Condition/Problem/Diagnosis Codes (example) |
note | Σ | 0..1 | string | Information about the prescription |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | Medication to be taken Binding: Medication Clinical Drug (RxNorm) (extensible) |
dosageInstruction | Σ | 0..* | BackboneElement | How medication should be taken |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
text | Σ | 0..1 | string | Dosage instructions expressed as text |
additionalInstructions | Σ | 0..1 | CodeableConcept | Supplemental instructions - e.g. "with meals" Binding: (unbound) (example) |
timing | Σ | 0..1 | Timing | When medication should be administered |
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: (unbound) (example) |
site[x] | Σ | 0..1 | CodeableConcept, Reference(BodySite) | Body site to administer to Binding: SNOMED CT Anatomical Structure for Administration Site Codes (example) |
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMED CT Route Codes (example) |
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: (unbound) (example) |
dose[x] | Σ | 0..1 | Range, SimpleQuantity | Amount of medication per dose |
rate[x] | Σ | 0..1 | Ratio, Range | Amount of medication per unit of time |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time |
dispenseRequest | Σ | 0..1 | BackboneElement | Medication supply authorization |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
medication[x] | Σ | 0..1 | CodeableConcept, Reference(Medication) | Product to be supplied |
validityPeriod | Σ | 0..1 | Period | Time period supply is authorized for |
numberOfRepeatsAllowed | Σ | 0..1 | positiveInt | Number of refills authorized |
quantity | Σ | 0..1 | SimpleQuantity | Amount of medication to supply per dispense |
expectedSupplyDuration | Σ | 0..1 | Duration | Number of days supply per dispense |
substitution | Σ | 0..1 | BackboneElement | Any restrictions on medication substitution |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
type | Σ | 1..1 | CodeableConcept | generic | formulary + Binding: ActSubstanceAdminSubstitutionCode (example) |
reason | Σ | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example) |
priorPrescription | Σ | 0..1 | Reference(MedicationOrder) | An order/prescription that this supersedes |
Documentation for this format |
MedicationOrder.dateWritten
MedicationOrder.status
which has an required binding to:
MedicationOrder.patient
MedicationOrder.prescriber
MedicationOrder.medicationCodeableConcept
or MedicationOrder.medicationReference
MedicationOrder.medicationCodeableConcept
has an extensible binding to Medication Clinical Drug (RxNorm)Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationOrder | 0..* | Argonaut MedicationOrder Profile | ||
dateWritten | S | 1..1 | dateTime | |
status | S | 1..1 | code | Binding: MedicationOrderStatus (required) |
patient | S | 1..1 | Reference(Argonaut Patient Profile) | |
prescriber | S | 1..1 | Reference(Practitioner) | |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | Binding: Medication Clinical Drug (RxNorm) (extensible) |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationOrder | 0..* | Argonaut MedicationOrder Profile | ||
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: IETF BCP-47 (required) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External identifier |
dateWritten | S | 1..1 | dateTime | When prescription was authorized |
status | ?!S | 1..1 | code | active | on-hold | completed | entered-in-error | stopped | draft Binding: MedicationOrderStatus (required) |
dateEnded | Σ | 0..1 | dateTime | When prescription was stopped |
reasonEnded | Σ | 0..1 | CodeableConcept | Why prescription was stopped Binding: (unbound) (example) |
patient | S | 1..1 | Reference(Argonaut Patient Profile) | Who prescription is for |
prescriber | S | 1..1 | Reference(Practitioner) | Who ordered the medication(s) |
encounter | Σ | 0..1 | Reference(Encounter) | Created during encounter/admission/stay |
reason[x] | Σ | 0..1 | CodeableConcept, Reference(Condition) | Reason or indication for writing the prescription Binding: Condition/Problem/Diagnosis Codes (example) |
note | Σ | 0..1 | string | Information about the prescription |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | Medication to be taken Binding: Medication Clinical Drug (RxNorm) (extensible) |
dosageInstruction | Σ | 0..* | BackboneElement | How medication should be taken |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
text | Σ | 0..1 | string | Dosage instructions expressed as text |
additionalInstructions | Σ | 0..1 | CodeableConcept | Supplemental instructions - e.g. "with meals" Binding: (unbound) (example) |
timing | Σ | 0..1 | Timing | When medication should be administered |
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: (unbound) (example) |
site[x] | Σ | 0..1 | CodeableConcept, Reference(BodySite) | Body site to administer to Binding: SNOMED CT Anatomical Structure for Administration Site Codes (example) |
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMED CT Route Codes (example) |
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: (unbound) (example) |
dose[x] | Σ | 0..1 | Range, SimpleQuantity | Amount of medication per dose |
rate[x] | Σ | 0..1 | Ratio, Range | Amount of medication per unit of time |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time |
dispenseRequest | Σ | 0..1 | BackboneElement | Medication supply authorization |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
medication[x] | Σ | 0..1 | CodeableConcept, Reference(Medication) | Product to be supplied |
validityPeriod | Σ | 0..1 | Period | Time period supply is authorized for |
numberOfRepeatsAllowed | Σ | 0..1 | positiveInt | Number of refills authorized |
quantity | Σ | 0..1 | SimpleQuantity | Amount of medication to supply per dispense |
expectedSupplyDuration | Σ | 0..1 | Duration | Number of days supply per dispense |
substitution | Σ | 0..1 | BackboneElement | Any restrictions on medication substitution |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
type | Σ | 1..1 | CodeableConcept | generic | formulary + Binding: ActSubstanceAdminSubstitutionCode (example) |
reason | Σ | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example) |
priorPrescription | Σ | 0..1 | Reference(MedicationOrder) | An order/prescription that this supersedes |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron
Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the Argonaut Data Query implementation guide server for a complete list of supported RESTful operations and search parameters for this IG.
GET /MedicationOrder?patient={id}
Example:
GET https://fhir-open-api-dstu2.smarthealthit.org/MedicationOrder?patient=1137192
Implementation Notes: Search for all MedicationOrder resources for a patient. Fetches a bundle of all MedicationOrder resources for the specified patient (how to search by reference).
Response Class:
GET /MedicationOrder?patient={id}&_include=MedicationOrder:medication
Example:
Support: Mandatory for client to support search by patient using the include parameter. Optional for server to support.
Implementation Notes: Used when the server application represents the medication with an external reference to a Medication resource. This searches for all MedicationOrder resources for a patient and returns a Bundle of all MedicationOrder and Medication resources for the specified patient. (how to search by reference).
Response Class: