Skip to main content

MedicationRequest

Overview

The MedicationRequest resource represents orders or requests for medication supply and administration instructions. This resource supports both inpatient and outpatient medication workflows, including prescriptions, care plans, and treatment protocols.

Important: Always validate MedicationRequest resource support and available operations by retrieving the current CapabilityStatement from /metadata before implementing integrations.

Resource Schema

The MedicationRequest resource follows the HL7 FHIR R4 MedicationRequest specification.

Key elements include:

  • identifier - External identifiers for the request
  • status - Active, on-hold, cancelled, completed, entered-in-error, stopped, draft, unknown
  • statusReason - Reason for current status
  • intent - Proposal, plan, order, original-order, reflex-order, filler-order, instance-order, option
  • category - Type of medication usage
  • priority - Routine, urgent, asap, stat
  • doNotPerform - True if request is prohibiting action
  • reportedBoolean - Reported rather than primary record
  • reportedReference - Person or organization that provided information
  • medicationCodeableConcept - Medication to be taken
  • medicationReference - Medication to be taken
  • subject - Who or group medication request is for
  • encounter - Encounter created as part of encounter
  • supportingInformation - Information to support ordering
  • authoredOn - When request was initially authored
  • requester - Who/What requested the medication
  • performer - Intended performer of administration
  • performerType - Desired kind of performer
  • recorder - Person who entered the request
  • reasonCode - Reason or indication for ordering medication
  • reasonReference - Condition or observation that supports why medication was ordered
  • instantiatesCanonical - Instantiates FHIR protocol or definition
  • instantiatesUri - Instantiates external protocol or definition
  • basedOn - What request fulfills
  • groupIdentifier - Composite request this is part of
  • courseOfTherapyType - Overall pattern of medication administration
  • insurance - Associated insurance coverage
  • note - Information about the prescription
  • dosageInstruction - How medication should be taken
  • dispenseRequest - Medication supply authorization
  • substitution - Any restrictions on medication substitution
  • priorPrescription - An order/prescription that is being replaced
  • detectedIssue - Clinical issue with action
  • eventHistory - A list of events of interest in the lifecycle

Example MedicationRequest Resource

{
"resourceType": "MedicationRequest",
"id": "12345",
"identifier": [{
"use": "official",
"system": "http://hospital.example.org/prescriptions",
"value": "RX-2024-001"
}],
"status": "active",
"intent": "order",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category",
"code": "outpatient",
"display": "Outpatient"
}]
}],
"priority": "routine",
"medicationCodeableConcept": {
"coding": [{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "197361",
"display": "Lisinopril 10 MG Oral Tablet"
}]
},
"subject": {
"reference": "Patient/12345"
},
"encounter": {
"reference": "Encounter/67890"
},
"authoredOn": "2024-01-15T10:30:00Z",
"requester": {
"reference": "Practitioner/67890"
},
"reasonCode": [{
"coding": [{
"system": "http://snomed.info/sct",
"code": "38341003",
"display": "Hypertensive disorder"
}]
}],
"dosageInstruction": [{
"sequence": 1,
"text": "Take one tablet by mouth once daily",
"timing": {
"repeat": {
"frequency": 1,
"period": 1,
"periodUnit": "d"
}
},
"route": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "26643006",
"display": "Oral route"
}]
},
"doseAndRate": [{
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/dose-rate-type",
"code": "ordered",
"display": "Ordered"
}]
},
"doseQuantity": {
"value": 1,
"unit": "tablet",
"system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm",
"code": "TAB"
}
}]
}],
"dispenseRequest": {
"validityPeriod": {
"start": "2024-01-15",
"end": "2024-04-15"
},
"numberOfRepeatsAllowed": 2,
"quantity": {
"value": 30,
"unit": "tablet",
"system": "http://terminology.hl7.org/CodeSystem/v3-orderableDrugForm",
"code": "TAB"
},
"expectedSupplyDuration": {
"value": 30,
"unit": "days",
"system": "http://unitsofmeasure.org",
"code": "d"
}
}
}

Supported Profiles

This API supports the following FHIR profiles:

Operations

The General Purpose FHIR R4 MedicationRequest resource supports the following standard operations. However, support varies by the targeted CareRecord or solution.

CareRecord / SolutionCreateReadUpdateSearch
GEHRIMED-Yes-Yes
myAvatarYesYesYesYes
myEvolv-Yes-Yes
myUnity-Yes-Yes
Referral Manager----
info

Not all Netsmart solutions support MedicationRequest search. See supported operations table above and consult your target solution's documentation for more information.

This resource supports a combination of standard and custom search parameters in addition to the common parameters.

Standard Parameters

NameTypeDescription
patientreferenceREQUIRED Returns prescriptions for a specific patient.
authoredondateReturn prescriptions written on this date
encounterreferenceReturn prescriptions with this encounter identifier

Custom Parameters

NameTypeDescription
enddateDeprecated. Use date parameter with le prefix instead.
startdateDeprecated. Use date parameter with ge prefix instead.
lastUpdateddateReturn data that was updated on a specific date
textstringSearch text

Search Examples

The POST method is recommended as it keeps health information out of the URL.

Search Medication Requests by Patient
curl -X POST https://fhir.netsmartcloud.com/v4/MedicationRequest/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-form-urlencoded" \
-d "patient=Patient/345" \

Error Handling

For information about error responses when working with MedicationRequest resources, see Common Errors.

Common MedicationRequest-related errors include:

  • Missing required patient reference
  • Invalid medication codes or RxNorm codes
  • Malformed dosage instructions
  • Invalid requester or performer references

Integration Patterns

Medication History

Retrieve patient's medication orders:

# Get all medication requests for patient
curl -X GET "https://fhir.netsmartcloud.com/v4/MedicationRequest?patient=12345" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"

Clinical Decision Support

Check for drug interactions and allergies:

# Get active medication requests
curl -X GET "https://fhir.netsmartcloud.com/v4/MedicationRequest?patient=12345&status=active" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"

Prescription Tracking

Track prescriptions by encounter:

# Get medications prescribed during encounter
curl -X GET "https://fhir.netsmartcloud.com/v4/MedicationRequest?encounter=67890" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"

Provider Workflows

Track prescriptions by prescriber:

# Get medications by authored date
curl -X GET "https://fhir.netsmartcloud.com/v4/MedicationRequest?patient=12345&authoredon=ge2024-01-01" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/fhir+json"

Relationships to Other Resources

The MedicationRequest resource connects to many clinical and administrative resources:

  • Patient - The individual for whom medication is prescribed
  • Practitioner - Healthcare providers prescribing medications
  • Encounter - Clinical encounters during which medications are prescribed
  • Condition - Health conditions being treated with medications
  • AllergyIntolerance - Allergies that affect medication selection
  • Organization - Healthcare organizations managing prescriptions
  • Coverage - Insurance coverage for medications

Support

For questions about MedicationRequest resource implementation or prescription workflows, contact Netsmart support through your designated support channels.