International Patient Access
1.0.0-preview - STU1 International flag

International Patient Access, published by HL7 International - Patient Care Work Group. This is not an authorized publication; it is the continuous build for version 1.0.0-preview). This version is based on the current content of https://github.com/HL7/fhir-ipa/ and changes regularly. See the Directory of published versions

Resource Profile: IPA-MedicationStatement

Official URL: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationstatement Version: 1.0.0-preview
Active as of 2022-08-02 Computable Name: IPAMedicationStatement

Copyright/Legal: Used by permission of HL7 International all rights reserved Creative Commons License

Minimum expectations for a MedicationStatement resource when accessed via a International Patient Access API. The MedicationStatement resource represents all medications a patient is taking, be it those ordered by a clinician or reported by another organization, the patient or a caregiver.

Mandatory and Must Support Data Elements

The following data elements must always be present (in other words, mandatory resource properties with a minimum cardinality of 1) or must be supported (Must Support definition). Servers cannot restrict access to mandatory elements when authorizing an application. However, servers may choose to provide additional information or may be required to do so by national or other profiles that apply to the server’s context.

Each MedicationStatement SHALL have:

  • a status
  • a medication*
  • a patient

* see guidance below

Applications must also support:

  • a status reason
  • the encounter/episode of care
  • the date/time or interval when the medication is/was/will be taken
  • person or organization that provided the information
  • the prescription Sig

Profile Specific Implementation Rules and Guidance

Medication Statement and Medication Request

While the relationship between Medication Statement and Medication Request is clear in principle, in practice, when patients report medications, these may also be implicitly treated as statements of intent about what the patient should be taking. As such, information systems may record these statements as either Medication Requests or Medication Statements, or as both. The choice between these options may be influenced by many factors including wording in legislation and regulations.

For this reason, clients implementing the International Patient Access specification SHALL query for both MedicationStatement and MedicationRequest when fetching patient Medication information.

As noted there is currently no consensus how a patient can access their active, historical and future (planned) medications list. Feedback is welcome on what additional guidance can be given to promote more international alignment.

Fetching Medications

The MedicationRequest and MedicationStatement resources can represent a medication using either a code or refer to the Medication resource. When referencing Medication, the resource may be contained or an external resource. The server application MAY choose any one way or more than one method, but if an external reference to Medication is used, the server SHALL support the _include parameter for searching this element. The client application SHALL support all methods. For example, A server SHALL be capable of returning all medications for a patient using one of or both:

GET /MedicationStatement?patient=[id]

GET/MedicationStatement?patient=[id]&_include=MedicationStatement:medication

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementRecord of medication being taken by a patient
... status S1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
... statusReason S0..*CodeableConceptReason for current status
... medication[x] S1..1What medication was taken
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... context S0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] S0..1dateTime, PeriodThe date/time or interval when the medication is/was/will be taken
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... text S0..1stringFree text dosage instructions e.g. SIG

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementRecord of medication being taken by a patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text SΣ0..1stringFree text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementRecord of medication being taken by a patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier
... basedOn Σ0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!SΣ1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... statusReason S0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ0..1dateTimeWhen the statement was asserted?
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... derivedFrom 0..*Reference(Resource)Additional supporting information
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... sequence Σ0..1integerThe order of the dosage instructions
.... text SΣ0..1stringFree text dosage instructions e.g. SIG
.... additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ0..1stringPatient or consumer oriented instructions
.... timing Σ0..1TimingWhen medication should be administered
.... asNeeded[x] Σ0..1Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ0..1CodeableConceptHow drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ0..1CodeableConceptTechnique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ0..*ElementAmount of medication administered
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ0..1Amount of medication per dose
...... doseRangeRange
...... doseQuantityQuantity(SimpleQuantity)
..... rate[x] Σ0..1Amount of medication per unit of time
...... rateRatioRatio
...... rateRangeRange
...... rateQuantityQuantity(SimpleQuantity)
.... maxDosePerPeriod Σ0..1RatioUpper limit on medication per unit of time
.... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
.... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.categorypreferredMedication usage category codes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType

Differential View

This structure is derived from MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementRecord of medication being taken by a patient
... status S1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
... statusReason S0..*CodeableConceptReason for current status
... medication[x] S1..1What medication was taken
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... context S0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] S0..1dateTime, PeriodThe date/time or interval when the medication is/was/will be taken
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... text S0..1stringFree text dosage instructions e.g. SIG

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementRecord of medication being taken by a patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text SΣ0..1stringFree text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementRecord of medication being taken by a patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier
... basedOn Σ0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!SΣ1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... statusReason S0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ0..1dateTimeWhen the statement was asserted?
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... derivedFrom 0..*Reference(Resource)Additional supporting information
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... sequence Σ0..1integerThe order of the dosage instructions
.... text SΣ0..1stringFree text dosage instructions e.g. SIG
.... additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ0..1stringPatient or consumer oriented instructions
.... timing Σ0..1TimingWhen medication should be administered
.... asNeeded[x] Σ0..1Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ0..1CodeableConceptHow drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ0..1CodeableConceptTechnique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ0..*ElementAmount of medication administered
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ0..1Amount of medication per dose
...... doseRangeRange
...... doseQuantityQuantity(SimpleQuantity)
..... rate[x] Σ0..1Amount of medication per unit of time
...... rateRatioRatio
...... rateRangeRange
...... rateQuantityQuantity(SimpleQuantity)
.... maxDosePerPeriod Σ0..1RatioUpper limit on medication per unit of time
.... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
.... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.categorypreferredMedication usage category codes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType

 

Other representations of profile: CSV, Excel, Schematron