What is MedicationStatement?
While MedicationRequest represents an order, MedicationStatement records what a patient is actually taking or has taken. This is important for:
- Patient-reported medication use
- Reconciliation during admission or discharge
- Compliance tracking
Creating a MedicationStatement
curl -X POST https://api.esus.health/fhir/MedicationStatement \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/fhir+json" \
-d '{
"status": "active",
"subjectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"effectiveDateTime": "2026-01-01",
"dateAsserted": "2026-04-21",
"informationSource": {
"reference": "Patient/3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"medicationCodeableConcept": {
"coding": [{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "197361",
"display": "Amoxicillin 500mg"
}]
},
"dosage": [{
"text": "Take 1 capsule 3 times a day",
"timing": {
"repeat": { "frequency": 3, "period": 1, "periodUnit": "d" }
}
}]
}'
subjectId is the flat patient id (UUID). informationSource is kept as a FHIR reference because it can point to any resource type (Patient, Practitioner, RelatedPerson, etc.).
Status Values
| Status | Meaning |
|---|---|
active | The patient is currently taking this medication |
completed | The medication course has ended |
entered-in-error | The record is incorrect |
intended | Planned but not started |
stopped | The patient stopped taking the medication |
on-hold | Temporarily not taking |
Medication Reconciliation
On admission, retrieve all active patient medications:
curl "https://api.esus.health/fhir/MedicationStatement?patient=3fa85f64-5717-4562-b3fc-2c963f66afa6&status=active" \
-H "Authorization: Bearer YOUR_TOKEN"
Useful for reconciliation workflows.