xCaliber healthCare Data Mesh

Medications

Source Object: Medications

Overview and Usage: The "Medications" source object in the athena EHR system is designed to manage and store patient medication information. Developers can access and utilize this object to retrieve, update, and manage patient medication data. Key data fields include:

  • Encounter ID: Identifies the patient's medical encounter associated with the medication.
  • Events (Event Date, Type, User Display Name): Records events related to medication changes, such as dosage adjustments and renewals.
  • Medication: Specifies the name or description of the medication.
  • Medication Entry ID: Uniquely identifies each medication entry.
  • Stop Reason: Indicates the reason for discontinuing the medication.
  • Structured SIG (Dosage Action, Additional Instructions, Dosage Duration, Frequency, Quantity, Route): Provides structured dosage information for the medication.
  • Approved By: Indicates the user who approved the medication.
  • Billing NDC: Contains the National Drug Code (NDC) for billing purposes.
  • Pharmacy (NCPDP ID): Identifies the pharmacy where the medication was filled.
  • Prescribed By: Specifies the healthcare provider who prescribed the medication.
  • Quantity, Quantity Unit, Refills Allowed: Specifies the quantity, unit, and number of refills allowed for the medication.
  • Route: Indicates the administration route of the medication.
  • Status: Represents the current status of the medication (e.g., active, discontinued).
  • Therapeutic Class: Specifies the therapeutic class or category of the medication.
  • Unstructured SIG: Contains unstructured dosage instructions for the medication.

Developers can leverage the "Medications" source object to create applications that manage patients' medication records, helping healthcare providers make informed decisions regarding patient care and prescriptions.

Mapping Table

Data FieldExample ValueSource Data Field DescriptionSource Field Data TypeSource Data Field CardinalityMapped FHIR++ ResourceMapped FHIR Data FieldAugmented MappingAssociated Coding SystemAssociated FHIR Data Field ExtensionMapping Context
encounterid1If this was a prescription, this contains the ID of the encounter where it was ordered or administeredInteger0..1MedicationStatementcontext.reference---Top Level
events-The list of events for this medication. Can be START, END, ORDER, ENTER, FILL, or HIDE.Object0..*MedicationStatement----Top Level
events.eventdate01/01/2001The date this event occurredString0..1MedicationStatementeffectivePeriod.start/effectivePeriod.end---Top Level
events.typeSTARTThe event type. Can be START, END, ORDER, ENTER, FILL, or HIDE.String0..1MedicationStatementextension[*].valueString--event-typeTop Level
events.userdisplaynamesample-nameThe display name for the user most relevant for this event. May be null.String0..1MedicationStatementextension[*].valueString--user-display-nameTop Level
medicationmedication-nameThe name of the medication.String0..1MedicationStatementmedicationCodeableConcept.coding[1].display---Top Level
medicationentryidenteredPrimary ID for this medication entry. Those starting with C are clinical prescriptions, and those starting with H are historical (entered, downloaded, etc).String0..1MedicationStatementid---Top Level
medicationid224617athena ID for this medication.Integer1..1MedicationStatementmedicationReference.reference---Top Level
stopreasonend of courseThe reason why this medication was stopped.String0..1MedicationStatementstatusReason[1].coding[1].display---Top Level
structuredsig-Components of the structured sig.Object0..1MedicationStatementdosage[1]---Top Level
structuredsig.dosageactionChewHow the medication is taken. Examples are Chew, Take, Inhale, etc.String0..1MedicationStatementdosage[1].method.coding[1].display---Top Level
structuredsig.dosageadditionalinstructionswith mealsAdditional instructions. Example: with mealsString0..1MedicationStatementdosage[1].additionalInstruction---Top Level
structuredsig.dosagedurationunitdaysThe unit of the duration. Example: days. So take this for days.String0..1MedicationStatementdosage[1].timing.repeat.durationUnit---Top Level
structuredsig.dosagedurationvalue1How many duration time units this medication should be taken for.Integer0..1MedicationStatementdosage[1].timing.repeat.duration---Top Level
structuredsig.dosagefrequencyunitper dayThe unit of the frequency. Example: per day, per week.String0..1MedicationStatementdosage[1].doseAndRate[1].rateQuantity.unit---Top Level
structuredsig.dosagefrequencyvalue1How many times (in the given time unit) this should be taken.Number0..1MedicationStatementdosage[1].doseAndRate[1].rateQuantity.value---Top Level
structuredsig.dosagequantityunittabletsThe unit of the quantity. Example: tablets, sprays, etc.String0..1MedicationStatementdosage[1].doseAndRate[1].doseQuantity.unit---Top Level
structuredsig.dosagequantityvalue1How many of this med is taken.Number0..1MedicationStatementdosage[1].doseAndRate[1].doseQuantity.value---Top Level
structuredsig.dosagerouteoralHow this medication is taken. Example: oral, inhalation, intranasal, etc.String0..1MedicationStatementdosage[1].route.coding[1].display---Top Level
approvedbysample-nameFor clinical prescriptions, the athenaNet username of the person who approved this prescription.String0..1MedicationStatementextension[*].valueString--approved-byTop Level
billingndc1The billing NDC code for this medication.String0..1MedicationStatementextension[*].valueString--billing-ndcTop Level
createdbylucyThe athenaNet username of the person who entered or ordered the medication. Downloaded medications have INTERFACE for this field.String0..1MedicationStatementextension[*].valueString--created-byTop Level
earliestfilldate01/01/2001The earliest date a prescription may be filled, in the format mm/dd/yyyy.String0..1MedicationStatementextension[*].valueString--earliest-fill-dateTop Level
futuresubmitdate01/01/2001The date a medication will be submitted. Included if the medication is in PEND status and attached to a approved future order.String0..1MedicationStatementextension[*].valueString--future-submit-dateTop Level
isdiscontinuedTRUEWhether or not the given medication is discontinued and cannot be ordered anymoreString0..1MedicationStatementextension[*].valueString--is-discontinuedTop Level
issafetorenewTRUE-String0..1MedicationStatementextension[*].valueString--is-safe-to-renewTop Level
isstructuredsigTRUEWhether the sig for this entry is structured.String0..1MedicationStatementextension[*].valueString--is-structured-sigTop Level
ndcoptionssample-optionsThe list of NDC numbers that correspond to this medication.String0..1MedicationStatementextension[*].valueString-NDCndc-optionsTop Level
orderingmodePRESCRIBEThe ordering mode for prescriptions. Can be PRESCRIBE, DISPENSE, or ADMINISTER.String0..1MedicationStatementextension[*].valueString--ordering-modeTop Level
organclassheadThe organ class for this medication. This is equivalent to a medication class.String0..1MedicationStatementextension[*].valueString--organ-classTop Level
patientnotenotePatient-facing note for this prescription. Labeled 'note' in the UI.String0..1MedicationStatementnote[*].textauthorString="patient"--Top Level
pharmacysample-pharmacyThe name of the pharmacy where this medication was filled.String0..1MedicationStatementinformationSource.display---Top Level
pharmacyncpdpid2The NCPDP ID of the pharmacy for this medication.. See http://www.ncpdp.org/ for details.String0..1MedicationStatementinformationSource.identifier.value---Top Level
prescribedbysample-nameThe user who prescribed this medication.String0..1MedicationStatementextension[*].valueString--prescribed-byTop Level
providernoteinternal noteNon-patient facing note for ths prescription. Labeled 'internal note' in the UI.String0..1MedicationStatementnote[*].textauthorString="practitioner"-Top Level
quantity1The total quantity prescribed, dispensed, administered. This is not currently available for historical (downloaded) medications.Number0..1MedicationStatementextension[*].valueInteger--quantityTop Level
quantityunittabletsThe unit of the quantity. Example: tablets, sprays, etc.String0..1MedicationStatementextension[*].valueString--quantity-unitTop Level
refillsallowed1The number of refills allowed when this medication was ordered.Integer0..1MedicationStatementextension[*].valueInteger--refills-allowedTop Level
routesample-routeThe route for the prescription.String0..1MedicationStatementextension[*].valueString--routeTop Level
sourcemedcoHow this medication was entered. This can be the ordering provider, a medication history download (express scripts, medco, etc), ATHENA (which means it was entered manually), etc.String0..1MedicationStatementinformationSource.reference---Top Level
statusPENDThe status of this medication. Medications in PEND status are associated with approved future orders and have not yet been submitted.String0..1MedicationStatementstatus---Top Level
therapeuticclasssample-classThe therapeutic class for this medication. This is equivalent to a medication subclass.String0..1MedicationStatementextension[*].valueString--therapeutic-classTop Level
unstructuredsig-Components of the structured sig.Object0..1MedicationStatementextension[*].valueString--unstructured-sigTop Level
structuredsig.dosagefrequencydescription6 per dayA standardized patient-friendly frequency. Example: 6 per day becomes 'every 4 hours'.String0..1MedicationStatementdosage[1].timing.extension[*].valueString--dosage-frequency-descriptionTop Level
hiddenFALSESet whether the medication is hidden in the UI.Boolean0..1MedicationStatementextension[*].valueBoolean--hiddenTop Level
startdate01/01/2001Start date for this medicationString0..1MedicationStatementeffectivePeriod.start---Top Level
stopdate03/03/2002Stop date for this medicationString0..1MedicationStatementeffectivePeriod.end---Top Level
PATIENTFACINGCALLFALSEWhen 'true' is passed we will collect relevant data and store in our database.Boolean0..1MedicationStatementextension[*].valueBoolean--patient-facing-callTop Level
THIRDPARTYUSERNAMEsample-nameUser name of the patient in the third party application.String0..1MedicationStatementextension[*].valueString--third-party-user-nameTop Level