The FHIR R4 MedicationStatement resource represents a record of a medication that a patient is taking, has taken, or may take in the future. This may be reported by the patient, a caregiver, or a provider, and is often derived from patient intake forms, interviews, or imported clinical records. Unlike MedicationRequest, which documents intent to prescribe, MedicationStatement focuses on what is actually being taken or reported.
Use Cases
- Collect self-reported medications during patient intake
- Display all known active and historical medications from multiple sources
- Normalize medication history from external providers and networks
Base URLs
- Production: https://api.healthgorilla.com/fhir/R4/MedicationStatement
- Sandbox: https://sandbox.healthgorilla.com/fhir/R4/MedicationStatement
Authentication
All requests require OAuth 2.0 authentication using a Bearer Token. Unauthorized requests return 401 Unauthorized responses.
Required Scopes
medicationstatement.readfor GETmedicationstatement.writefor POST, PUT, DELETE
For more information, go to: OAuth 2.0 Authentication.
Supported Methods
| Method | Operation | Description |
|---|---|---|
GET | Read MedicationStatement | Retrieves a specific MedicationStatement record by its FHIR ID. |
GET | Search MedicationStatement | Searches for MedicationStatement records for a specified patient. |
POST | Create MedicationStatement | Submits a new MedicationStatement record to the Health Gorilla FHIR server. |
PUT | Update MedicationStatement | Updates an existing MedicationStatement record by full resource replacement. |
DELETE | Delete MedicationStatement | Removes an existing MedicationStatement record from the system by full deletion. |
Frequently Used Search Parameters
| Parameter | Description | FHIR Value Set / Example Values | FHIR Data Type | Required |
|---|---|---|---|---|
patient | Filters by patient ID | Patient/{id} | Reference | Yes |
status | Filters by the statement's current state | active, completed, entered-in-error | token | No |
effective | Filters by when the medication was actually taken | ge2023-01-01, le2023-12-31 | date | No |
medication | Filters by the medication code | RxNorm code (e.g., 1049630) | token | No |
context | Filters by encounter or episode context | Encounter/{id} | Reference | No |
dateAsserted | Filters by when the statement was recorded | ge2022-01-01, le2023-12-31 | date | No |
Commonly Returned Resource Attributes
| Attribute | Description | Example Values | FHIR Data Type | Required |
|---|---|---|---|---|
id | Unique FHIR ID for the medication statement | medstmt-456789 | id | Yes |
status | Current state of the medication statement | active, completed | code | Yes |
medicationCodeableConcept | Medication being taken | Metformin 500 MG Oral Tablet | CodeableConcept | Yes |
subject | Patient who is/was taking the medication | Patient/{id} | Reference(Patient) | Yes |
effectiveDateTime | When the medication was taken | 2024-01-15T08:00:00-08:00 | dateTime | No |
dateAsserted | When the statement was made | 2024-01-16 | dateTime | No |
informationSource | Who reported the medication | Practitioner/{id}, Patient/{id} | Reference | No |
dosage | Instructions for how the medication was or is being taken | Take one tablet twice daily | Dosage[] | No |
reasonCode | Reason for taking the medication | Diabetes mellitus type 2 | CodeableConcept[] | No |
context | Associated encounter or context | Encounter/{id} | Reference(Encounter) | No |
Webhooks
Clients can subscribe to receive webhook notifications when new MedicationStatement records are added to a patient’s chart or existing records are updated.
For more information, go to: Webhooks & Polling.
Error Handling
All MedicationStatement operations follow standard Health Gorilla error handling, including use of FHIR OperationOutcome for structured responses.
For more information, go to: Error Handling.
