MedicationAdministration
— maps to 1 OMOP table| OMOP Table | Status | Mapped | |
|---|---|---|---|
|
drug_exposure
primary
Inpatient medication administration events. Each MedicationAdministration produces one drug_exposure row distinguished by drug_type_concept_id = 38000179 (Physician administered drug). MedicationAdministration carries the richest route and dose-event timing information of the four medication resources.
|
documented | 23 fields | detail → |
MedicationAdministration → OMOP Mapping
MedicationAdministration represents the inpatient administration stage of the medication lifecycle — a clinician giving a medication dose to a patient. It carries the richest route and dose-event timing information of the four medication resources.
Source FHIR Resource
| FHIR Resource | Lifecycle Stage | OMOP target | OMOP type_concept_id |
|---|---|---|---|
MedicationAdministration | Inpatient administration | drug_exposure | 38000179 (Physician administered drug) |
Target OMOP Tables
| OMOP Table | Purpose | Required? |
|---|---|---|
drug_exposure | One row per administration event | Yes |
drug_era | Derived: continuous drug exposure periods | No — computed post-ETL |
dose_era | Derived: continuous dose periods | No — computed post-ETL |
Mapping Strategy
- Date handling.
effectiveDateTime(point in time) → start = end.effectivePeriod.start/effectivePeriod.end→ start / end. omoponfhir's general rule: wheneffectiveDateTimeis used, end = start. - Dosage / quantity.
dosage.dose.value→ OMOPquantity. ETL-German computes the mean of aRangeifdoseRangeis used. ETL-German fans out onedrug_exposurerow per dosage entry (although MedicationAdministration has a singledosage). - Route.
dosage.route→route_concept_idvia SNOMED → OMOP Route domain lookup. MedicationAdministration carries the most reliable real-world route data among the four event resources. - Provider.
performer[0].actor→provider_id. - Visit.
context→visit_occurrence_id. - Medication resolution. Same strategies as MedicationRequest. See
../Medication/index.md. - Type concept. Constant
38000179("Physician administered drug"). fhir-to-omop-demo uses32818(EHR administration record). FhirToCdm/ETL-German use32817(EHR / CLAIM) universally.
Reference Implementations
- ETL-German-FHIR-Core (OHDSI, Java) —
MedicationAdministrationMapper.java. ATC vocabulary, dose form and route mapping, Range mean quantity, fan-out per dosage entry. Pre-indexes Medication resources viamedication_id_map. Status: maintained. - fhir-to-omop-demo (jq) —
MedicationAdministration.jq(59 lines).drug_type_concept_id = 32818(EHR administration record). Pre-computed vocabulary concepts. Status: maintained.
Other implementations (omoponfhir, FhirToCdm, NACHC, HL7 IG, this project) do NOT cover MedicationAdministration.
Status in This Project
Not yet implemented. Listed in mapspec/Medication/index.md (legacy) "Status in This Project" as a planned mapper. route_concept_id lookup and dosage parsing helpers from src/mapper/medication.ts would be reusable.
Related Resources
../MedicationRequest/— prescription/order stage.../MedicationDispense/— pharmacy dispensing stage.../MedicationStatement/— patient self-report stage.../Medication/— vocabulary/codeable concept resource (not an event).