Purpose of MedicationAdministration
MedicationAdministration documents that a medication was administered to a patient. This is crucial for:
- Hospital medication tracking
- Verifying order compliance
- Billing and reimbursement
- Clinical documentation
Creating an Administration Record
curl -X POST https://api.esus.health/fhir/MedicationAdministration \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/fhir+json" \
-d '{
"status": "completed",
"medicationCodeableConcept": {
"coding": [{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "308182",
"display": "Ibuprofen 400mg"
}]
},
"subjectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"requestId": "c1a2e3d4-5b6f-7890-abcd-ef1234567890",
"effectiveDateTime": "2026-04-21T14:30:00Z",
"performer": [{
"actor": {
"reference": "Practitioner/a7b1c2d3-e4f5-6789-abcd-ef0123456789"
}
}],
"dosage": {
"text": "400mg by mouth once",
"dose": { "value": 400, "unit": "mg" }
}
}'
Notes:
subjectIdis flat;requestIdlinks back to the originating MedicationRequest (flat UUID).performerkeeps the standard FHIR reference shape because it is an array of typed references.dosage.doseis used in ESUS (notdoseQuantity).MedicationAdministrationhas nointentfield.
Key Fields
| Field | Description |
|---|---|
status | Use in-progress or completed |
effectiveDateTime | When the medication was administered |
performer[] | Who administered the medication |
requestId | Link back to the original order (UUID) |
Searching Administrations
Find all administrations for a patient:
curl "https://api.esus.health/fhir/MedicationAdministration?patient=3fa85f64-5717-4562-b3fc-2c963f66afa6&date=ge2026-01-01" \
-H "Authorization: Bearer YOUR_TOKEN"
Not Administered vs Refused
If a medication was not administered, use different status + reason combinations:
| Scenario | Status |
|---|---|
| Successfully administered | completed |
| Patient refused | not-done with statusReason |
| Medication unavailable | not-done with statusReason |
| Order cancelled | cancelled |