US Core Implementation Guide (Release 1)

This page is part of the US Core (v1.0.0: STU1) based on FHIR R3. The current version which supercedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions. Page versions: STU2 STU1

1.0 - StructureDefinition-us-core-medicationstatement

Both the MedicationRequest and MedicationStatement resources can be used to record a patient’s medication. For more information about the context for their usages, refer to the medication domain boundaries section. This profile sets minimum expectations for the MedicationStatement resource to record, search and fetch medications associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core-MedicationStatement profile:

  • Query active medications being taken by a patient
  • Record or update active medications being taken by a patient
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each MedicationStatement must have:

  1. a status
  2. a medication
  3. an assertion date
  4. a patient
  5. a code indicating whether the medication was taken

Additionally your system Must Support:

  1. the time medication was taken
  2. whether the MedicatoinStatement was derived from another resource

Profile specific implementation guidance:

  • The MedicationStatement and MedicationRequest resources can represent a medication using either a code, or reference to a Medication resource.
    • When referencing a Medication resource, the resource may be contained or an external resource.
    • The server application MAY choose any combination of these methods, 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.
    • Additional guidance is provided below in the Search section and in the CapabilityStatement section.

Examples

1.2 - Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationstatement

This profile builds on MedicationStatement.

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by HL7 US Realm Steering Committee.

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

Complete Summary of the Mandatory Requirements

  1. One status in MedicationStatement.status which has a required binding to:
  2. One medication via MedicationStatement.medicationCodeableConcept or MedicationStatement.medicationReference
  3. One date MedicationStatement.dateAsserted
  4. One patient reference in MedicationStatement.subject
  5. One medication taken code in MedicationStatement.taken which has a required binding to:

Summary of the Must Support Requirements

  1. One date or period in MedicationStatement.effectiveDateTime or MedicationStatement.effectivePeriod
  2. One or more references in MedicationStatement.derivedFrom (likely references would be to the US Core MedicationRequest Profile)
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*US Core Medication Statement Profile
... 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
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..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), Reference(CarePlan), Reference(ProcedureRequest), Reference(ReferralRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration), Reference(MedicationDispense), Reference(MedicationStatement), Reference(Procedure), Reference(Observation)Part of referenced event
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... status ?!SΣ1..1codeactive | completed | entered-in-error | intended | stopped | on-hold
Binding: MedicationStatementStatus (required)
... category Σ0..1CodeableConceptType of medication usage
Binding: MedicationStatementCategory (preferred)
... medication[x] SΣ1..1CodeableConcept, Reference(US Core Medication Profile)What medication was taken
Binding: Medication Clinical Drug (RxNorm) (extensible)
... effective[x] SΣ0..1dateTime, PeriodThe date/time or interval when the medication was taken
... dateAsserted SΣ1..1dateTimeWhen the statement was asserted?
... informationSource 0..1Reference(Patient), Reference(Practitioner), Reference(RelatedPerson), Reference(Organization)Person or organization that provided the information about the taking of this medication
... subject SΣ1..1Reference(US Core Patient Profile)Who is/was taking the medication
... derivedFrom S0..*Reference(Resource)Additional supporting information
... taken ?!SΣ1..1codey | n | unk | na
Binding: MedicationStatementTaken (required)
... reasonNotTaken I0..*CodeableConceptTrue if asserting medication was not given
Binding: SNOMED CT Drugs not taken/completed Codes (example)
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/Diagnosis Codes (example)
... reasonReference 0..*Reference(Condition), Reference(Observation)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage 0..*DosageDetails of how medication is/was taken or should be taken

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One status in MedicationStatement.status which has a required binding to:
  2. One medication via MedicationStatement.medicationCodeableConcept or MedicationStatement.medicationReference
  3. One date MedicationStatement.dateAsserted
  4. One patient reference in MedicationStatement.subject
  5. One medication taken code in MedicationStatement.taken which has a required binding to:

Summary of the Must Support Requirements

  1. One date or period in MedicationStatement.effectiveDateTime or MedicationStatement.effectivePeriod
  2. One or more references in MedicationStatement.derivedFrom (likely references would be to the US Core MedicationRequest Profile)

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*US Core Medication Statement Profile
... 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
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..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), Reference(CarePlan), Reference(ProcedureRequest), Reference(ReferralRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration), Reference(MedicationDispense), Reference(MedicationStatement), Reference(Procedure), Reference(Observation)Part of referenced event
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... status ?!SΣ1..1codeactive | completed | entered-in-error | intended | stopped | on-hold
Binding: MedicationStatementStatus (required)
... category Σ0..1CodeableConceptType of medication usage
Binding: MedicationStatementCategory (preferred)
... medication[x] SΣ1..1CodeableConcept, Reference(US Core Medication Profile)What medication was taken
Binding: Medication Clinical Drug (RxNorm) (extensible)
... effective[x] SΣ0..1dateTime, PeriodThe date/time or interval when the medication was taken
... dateAsserted SΣ1..1dateTimeWhen the statement was asserted?
... informationSource 0..1Reference(Patient), Reference(Practitioner), Reference(RelatedPerson), Reference(Organization)Person or organization that provided the information about the taking of this medication
... subject SΣ1..1Reference(US Core Patient Profile)Who is/was taking the medication
... derivedFrom S0..*Reference(Resource)Additional supporting information
... taken ?!SΣ1..1codey | n | unk | na
Binding: MedicationStatementTaken (required)
... reasonNotTaken I0..*CodeableConceptTrue if asserting medication was not given
Binding: SNOMED CT Drugs not taken/completed Codes (example)
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/Diagnosis Codes (example)
... reasonReference 0..*Reference(Condition), Reference(Observation)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage 0..*DosageDetails of how medication is/was taken or should be taken

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

1.3 - Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the US Core Server for a complete list of supported RESTful operations and search parameters for this IG.

GET /MedicationStatement?patient={id}{&_include=MedicationStatement:medication}

Example:

  • GET [base]/MedicationStatement?patient=14676
  • GET [base]/MedicationStatement?patient=14676&_include=MedicationStatement:medication

Support: Mandatory for server and client to support search by patient. Mandatory for client to support the _include parameter. Optional for server to support the _include parameter.

Implementation Notes: This query searches for all MedicationStatement resources for a patient and returns a Bundle of all MedicationStatement resources for the specified patient. The server application represents the medication using either an inline code or a contained or external reference to the Medication resource. (how to search by reference), and (how to search by _include).