MedicationRequest

An order or request for both supply of the medication and the instructions for administration of the medication to a patient.

Overview

This resource returns all the medications related to the given patient. This includes inpatient medication orders as well as community orders (whether filled by the prescriber or by a pharmacy).

This profile is used to define the content that will be returned by the API Server in response to requests to access MedicationRequest resources. All elements described in the Definition and Detailed Definitions below are supported, which means that the API Server is capable of supplying these fields from the product database when they have been populated via the product or its APIs.

List of profiles we support:

Definition

The official URL for this profile is:

https://fhir.athena.io/StructureDefinition/ah-medicationrequest

The base definition for this profile is:

MedicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest0..*MedicationRequestOrdering of medication for patient or group
... idΣ0..1stringLogical id of this artifact
... metaΣ0..1MetaMetadata about the resource
... implicitRules?!Σ0..1uriA set of rules under which this content was created
... text0..1NarrativeText summary of the resource, for human interpretation
... contained0..*ResourceContained, inline Resources
... Slices for extension1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ahChartSharingGroup0..1Reference(Organization)athenahealth Chart Sharing Group
URL: https://fhir.athena.io/StructureDefinition/ah-chart-sharing-group
... ahPractice1..1Reference(Organization)athenahealth Practice
URL: https://fhir.athena.io/StructureDefinition/ah-practice
... modifierExtension?!0..*ExtensionExtensions that cannot be ignored
... identifier0..*IdentifierExternal ids for this request
... status?!Σ1..1codeactive | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.

... intent?!Σ1..1codeproposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.

... category0..*CodeableConceptType of medication usage
Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.


... medication[x]Σ1..1Reference(Medication)Medication to be taken
... subjectΣ1..1Reference(Patient)Who or group medication request is for
... encounter0..1Reference(Encounter)Encounter created as part of encounter/admission/stay
... authoredOnΣ0..1dateTime (YYYY-MM-DDThh:mm:ss+zz:zz)When request was initially authored
... requesterΣ0..1Reference(Practitioner)Who/What requested the Request
... dosageInstruction0..*DosageHow the medication should be taken
... substitution0..1BackboneElementAny restrictions on medication substitution
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... allowed[x]1..1booleanWhether substitution is allowed or not

doco Documentation for this format

Detailed Definitions


MedicationRequest

An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.

Cardinality 0..*
Type Root

MedicationRequest.id

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality 0..1
Type string
Comments The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

MedicationRequest.meta

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality 0..1
Type Meta

MedicationRequest.implicitRules

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality 0..1
Type uri
Comments Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

MedicationRequest.language

The base language in which the resource is written.

Cardinality 0..1
Type code Binding: CommonLanguages (preferred)
Comments Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

MedicationRequest.text

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality 0..1
Type Narrative
Comments Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

MedicationRequest.contained

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality 0..*
Type Resource
Comments This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

MedicationRequest.extension

An Extension

Cardinality 1..*
Type Extension

MedicationRequest.extension:ahChartSharingGroup

An Extension used to reference a specific athenahealth chart sharing group Organization.

Cardinality 0..1
Type Extension(AthenaChartSharingGroup)

MedicationRequest.extension:ahPractice

An Extension used to reference a specific athenahealth practice Organization.

Cardinality 1..1
Type Extension(AthenaPractice)

MedicationRequest.modifierExtension

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality 0..*
Type Extension
Comments There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Requirements Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

MedicationRequest.identifier

Identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.

Cardinality 0..*
Type Identifier
Comments This is a business identifier, not a resource identifier.

MedicationRequest.status

A code specifying the current state of the order. Generally, this will be active or completed state.

Cardinality 1..1
Type code Binding: medicationrequest Status (required)
Comments This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

MedicationRequest.intent

Whether the request is a proposal, plan, or an original order.

Cardinality 1..1
Type code Binding: medicationRequest Intent (required)
Comments It is expected that the type of requester will be restricted for different stages of a MedicationRequest. For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device. Plans can be created by Practitioners, Patients, RelatedPersons and Devices. Original orders can be created by a Practitioner only. An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record. This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.

MedicationRequest.category

Indicates the type of medication request (for example, where the medication is expected to be consumed or administered (i.e. inpatient or outpatient)).

Cardinality 0..*
Type CodeableConcept Binding: medicationRequest Category Codes (example)
Comments The category can be used to include where the medication is expected to be consumed or other types of requests.

MedicationRequest.medication[x]

Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications.

Cardinality 1..1
Type Reference(Medication)
Comments If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended. For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource.

MedicationRequest.subject

A link to a resource representing the person or set of individuals to whom the medication will be given.

Cardinality 1..1
Type Reference(Patient)
Comments The subject on a medication request is mandatory. For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified.

MedicationRequest.encounter

The Encounter during which this [x] was created or to which the creation of this record is tightly associated.

Cardinality 0..1
Type Reference(Encounter)
Comments This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter." If there is a need to link to episodes of care they will be handled with an extension.

MedicationRequest.authoredOn

The date (and perhaps time) when the prescription was initially written or authored on.

Cardinality 0..1
Type dateTime (YYYY-MM-DDThh:mm:ss+zz:zz)

MedicationRequest.requester

The individual, organization, or device that initiated the request and has responsibility for its activation.

Cardinality 0..1
Type Reference(Practitioner)

MedicationRequest.dosageInstruction

Indicates how the medication is to be used by the patient.

Cardinality 0..*
Type Dosage
Comments There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose. For example, "Ondansetron 8mg orally or IV twice a day as needed for nausea" or "Compazine(R) (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting". In these cases, two medication requests would be created that could be grouped together. The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed.

MedicationRequest.substitution

Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done.

Cardinality 0..1
Type BackboneElement

MedicationRequest.substitution.id

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality 0..1
Type string

MedicationRequest.substitution.extension

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality 0..*
Type Extension
Comments There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

MedicationRequest.substitution.modifierExtension

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality 0..*
Type Extension
Comments There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Requirements Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

MedicationRequest.substitution.allowed[x]

True if the prescriber allows a different drug to be dispensed from what was prescribed.

Cardinality 1..1
Type boolean
Comments This element is labeled as a modifier because whether substitution is allow or not, it cannot be ignored.

Interactions

READ

Read interactions are executed as specified in the HL7 FHIR RESTful API read specification. To read MedicationRequest resources, an application will perform an HTTP GET specifying the logical ID of the MedicationRequest being retrieved.

The [patient|user|system]/MedicationRequest.read authorization scope is required.

GET
/fhir/r4/MedicationRequest/{logicalId}
Try in Postman

Parameters

required

conditional required

Name Type Description
logicalId string (REQUIRED) The logical ID of the resource (alias: Resource.id). It is specified in the URL path and not as a query parameter.

Response Codes

Response code Description
200 OK The requested MedicationRequest resource was found and is contained within the body of the HTTP response.
400 Bad Request The server could not understand the request due to invalid syntax. The body of the HTTP response will contain an OperationOutcome resource that indicates the invalid request could not be processed.
404 Not Found The requested resource does not exist. The body of the HTTP response will contain an OperationOutcome resource that indicates the resource could not be found.
410 Gone The requested resource has been permanently deleted from server with no forwarding address. The body of the HTTP response will contain an OperationOutcome resource that indicates the resource could not be found.
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.
5xx Server Error The server may return other error codes to indicate other error conditions. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.

GET SEARCH

Search interactions are executed as specified in the HL7 FHIR RESTful API search specification. To search for MedicationRequest resources using the HTTP GET method, an application will perform the HTTP GET specifying the query parameters associated with the MedicationRequest in the URL.

The [patient|user|system]/MedicationRequest.read authorization scope is required.

The following additional authorization scopes might be required depending on _include and/or _revinclude search parameters used:

  • [patient|user|system]/Device.read
  • [patient|user|system]/Encounter.read
  • [patient|user|system]/Medication.read
  • [patient|user|system]/Organization.read
  • [patient|user|system]/Patient.read
  • [patient|user|system]/Practitioner.read
  • [patient|user|system]/Provenance.read

GET
/fhir/r4/MedicationRequest
Try in Postman

Parameters

MedicationRequest search requests conditionally require one of the following search parameters or search parameter combinations in order to match and return a result set:
  • patient, intent
  • _id

required

conditional required

Name Type Description
ah-practice reference Identify the athenahealth Practice Organization (e.g., 'ah-practice=Organization/a-1.Practice-[practiceId]')
patient reference (CONDITIONAL REQUIRED) Reference to a patient related to the prescription - use with intent
intent token (CONDITIONAL REQUIRED) Intent type of the prescription - use with patient
status token Prescription status - use with patient and intent
_id token (CONDITIONAL REQUIRED) MedicationRequest.id - Logical id of MEDICATIONREQUEST resource
authoredon date Prescription creation date - use with patient and intent
medication reference Resource reference to FHIR Medication resource
subject reference Resource reference to FHIR patient resource
encounter reference Resource reference to FHIR encounter resource
requester reference Resource reference to FHIR practitioner resource
ah-chart-sharing-group reference Search by athenahealth Chart Sharing Group (e.g., 'ah-chart-sharing-group=Organization/a-[practiceId].CSG-[csgId]') for resources containing the 'Athena Chart Sharing Group' Extension
_count number The number of MedicationRequest resources to return per page for paged search results. - use with patient and intent
cursor token Search by cursor token for first resource to return in a paged search result
_include string Requests the server to include the referenced resource(s) in the search results according to the specified search parameter. Additional authorization scope(s) will be required. The supported _include parameter values are:
  • MedicationRequest:encounter - Included resource(s) Encounter and required scope(s) [patient|user|system]/Encounter.read
  • MedicationRequest:medication - Included resource(s) Medication and required scope(s) [patient|user|system]/Medication.read
  • MedicationRequest:subject - Included resource(s) Patient and required scope(s) [patient|user|system]/Patient.read
  • MedicationRequest:requester - Included resource(s) Device, Organization, Patient, Practitioner and required scope(s) [patient|user|system]/Device.read, [patient|user|system]/Organization.read, [patient|user|system]/Patient.read, [patient|user|system]/Practitioner.read
  • MedicationRequest:ah-chart-sharing-group - Included resource(s) Organization and required scope(s) [patient|user|system]/Organization.read
  • MedicationRequest:ah-practice - Included resource(s) Organization and required scope(s) [patient|user|system]/Organization.read
_revinclude string Requests the server to include the associated resource(s) in the search results according to the specified search parameter. Additional authorization scope(s) will be required. The supported _revinclude parameter values are:
  • Provenance:target - Associated resource(s) Provenance and required scope(s) [patient|user|system]/Provenance.read

Response Codes

Response code Description
200 OK The search request succeeded. The body of the HTTP response will contain a Bundle resource containing the results of the search.
403 Forbidden The server refused to perform the search due to a missing required search parameter. The body of the HTTP response will contain an OperationOutcome resource that includes the required search parameters.
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.
5xx Server Error The server may return other error codes to indicate other error conditions. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.

POST SEARCH

Search interactions are executed as specified in the HL7 FHIR RESTful API search specification. To search for MedicationRequest resources using the HTTP POST method, an application will perform the HTTP POST specifying the query parameters associated with the MedicationRequest in the request body.

The [patient|user|system]/MedicationRequest.read authorization scope is required.

The following additional authorization scopes might be required depending on _include and/or _revinclude search parameters used:

  • [patient|user|system]/Device.read
  • [patient|user|system]/Encounter.read
  • [patient|user|system]/Medication.read
  • [patient|user|system]/Organization.read
  • [patient|user|system]/Patient.read
  • [patient|user|system]/Practitioner.read
  • [patient|user|system]/Provenance.read

POST
/fhir/r4/MedicationRequest/_search
Try in Postman

Request Header

Content-Type: application/x-www-form-urlencoded

Request Body

param1=value1&param2=value2...

Parameters

MedicationRequest search requests conditionally require one of the following search parameters or search parameter combinations in order to match and return a result set:
  • patient, intent
  • _id

required

conditional required

Name Type Description
ah-practice reference Identify the athenahealth Practice Organization (e.g., 'ah-practice=Organization/a-1.Practice-[practiceId]')
patient reference (CONDITIONAL REQUIRED) Reference to a patient related to the prescription - use with intent
intent token (CONDITIONAL REQUIRED) Intent type of the prescription - use with patient
status token Prescription status - use with patient and intent
_id token (CONDITIONAL REQUIRED) MedicationRequest.id - Logical id of MEDICATIONREQUEST resource
authoredon date Prescription creation date - use with patient and intent
medication reference Resource reference to FHIR Medication resource
subject reference Resource reference to FHIR patient resource
encounter reference Resource reference to FHIR encounter resource
requester reference Resource reference to FHIR practitioner resource
ah-chart-sharing-group reference Search by athenahealth Chart Sharing Group (e.g., 'ah-chart-sharing-group=Organization/a-[practiceId].CSG-[csgId]') for resources containing the 'Athena Chart Sharing Group' Extension
_count number The number of MedicationRequest resources to return per page for paged search results. - use with patient and intent
cursor token Search by cursor token for first resource to return in a paged search result
_include string Requests the server to include the referenced resource(s) in the search results according to the specified search parameter. Additional authorization scope(s) will be required. The supported _include parameter values are:
  • MedicationRequest:encounter - Included resource(s) Encounter and required scope(s) [patient|user|system]/Encounter.read
  • MedicationRequest:medication - Included resource(s) Medication and required scope(s) [patient|user|system]/Medication.read
  • MedicationRequest:subject - Included resource(s) Patient and required scope(s) [patient|user|system]/Patient.read
  • MedicationRequest:requester - Included resource(s) Device, Organization, Patient, Practitioner and required scope(s) [patient|user|system]/Device.read, [patient|user|system]/Organization.read, [patient|user|system]/Patient.read, [patient|user|system]/Practitioner.read
  • MedicationRequest:ah-chart-sharing-group - Included resource(s) Organization and required scope(s) [patient|user|system]/Organization.read
  • MedicationRequest:ah-practice - Included resource(s) Organization and required scope(s) [patient|user|system]/Organization.read
_revinclude string Requests the server to include the associated resource(s) in the search results according to the specified search parameter. Additional authorization scope(s) will be required. The supported _revinclude parameter values are:
  • Provenance:target - Associated resource(s) Provenance and required scope(s) [patient|user|system]/Provenance.read

Response Codes

Response code Description
200 OK The search request succeeded. The body of the HTTP response will contain a Bundle resource containing the results of the search.
403 Forbidden The server refused to perform the search due to a missing required search parameter. The body of the HTTP response will contain an OperationOutcome resource that includes the required search parameters.
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.
5xx Server Error The server may return other error codes to indicate other error conditions. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit

On this Page