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

StatusMeaning
activeThe patient is currently taking this medication
completedThe medication course has ended
entered-in-errorThe record is incorrect
intendedPlanned but not started
stoppedThe patient stopped taking the medication
on-holdTemporarily 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.