International Patient Access
1.1.0 - STU1 International flag

International Patient Access, published by HL7 International / Patient Care. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. 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.1.0
Standards status: Trial-use 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.

We propose to remove MS from statusReason. Implementer feedback is encouraged.

Mandatory and Must Support Data Elements

The following data elements must always be present (in other words, mandatory resource properties where the minimum cardinality is 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.

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!SOΣ 1..1 code active | 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.


ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHALL:handle Client
... medication[x] SOΣ 1..1 What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.


ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHALL:handle Client
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(IPA-Medication)
... subject SOΣ 1..1 Reference(IPA-Patient) Who is/was taking the medication
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHALL:handle Client
... context SOΣ 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
... effective[x] SOΣ 0..1 The date/time or interval when the medication is/was/will be taken
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHOULD:handle Client
.... effectiveDateTime dateTime
.... effectivePeriod Period
... informationSource SO 0..1 Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson) Person or organization that provided the information about the taking of this medication
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
... dosage SO 0..* Dosage Details of how medication is/was taken or should be taken
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHOULD:handle Client
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text SOΣ 0..1 string Free text dosage instructions e.g. SIG
ele-1: All FHIR elements must have a @value or children
ObligationsActor
SHALL:populate-if-known Server
SHOULD:handle Client

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard

 

Other representations of profile: CSV, Excel, Schematron