HL7 FHIR Implementation Guide: minimal Common Oncology Data Elements (mCODE), v0.9.0

Publish Box goes here

MedicationStatement

 

The official URL for this profile is:

http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-MedicationStatement

A record of the use of a medication. The use may be reported by the patient or clinician and adminstration does not have to be directly observed.

FHIR Notes:

Although FHIR supports the asserter (information source) and date asserted, it does not have a place for the author (who created and is responsible for the statement) and recorder (who entered the statement). Extensions are provided.

The treatment of 'not taken' has changed from DSTU2 and STU3 to R4. In R4, status and statusReason are used to indicate medications not taken. For upward compatibility, the 'not taken' attributes are profiled out. ReasonCode is a choice of CodeableConcept or ref(Condition) in DSTU2, and limited to one reason (pick one type). In STU3 and R4, there can be multiple reason codes, and multiple reason references, simultaneously.

Preference is given to using the National Library of Medicine (NLM) RxNorm terminology for medications. RxNorm is a coding standard established by the Office of the National Coordinator (ONC). However, RxNorm is restricted to FDA-approved drugs and does not include clinical trial drugs. MedicationStatement allows for the inclusion of other coding systems like the NCI Thesaurus (NCIT) to represent clinical trial oncology drugs.

This profile builds on http://fhir.org/guides/argonaut/StructureDefinition/argo-medicationstatement.

This profile was published on Wed Apr 17 00:00:00 EDT 2019 as a draft by The MITRE Corporation.

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element MedicationStatement.medication[x] is sliced based on the value of type:$this
  • The element MedicationStatement.dosage.asNeeded[x] is sliced based on the value of type:$this

Mapping Source

This structure represents the following mapping definition:

shr.core.MedicationStatement maps to http://fhir.org/guides/argonaut/StructureDefinition/argo-medicationstatement:
  _Entry.EntryId maps to id
  Language maps to language
  Narrative maps to text
  ImplicitRules maps to implicitRules
  Metadata.VersionId maps to meta.versionId
  Metadata.Profile maps to meta.profile
  Metadata.LastUpdated maps to meta.lastUpdated
  Metadata.SecurityLabel maps to meta.security
  Metadata.Tag maps to meta.tag
  Identifier maps to identifier
  MedicationStatementInformationSource maps to informationSource
  StatementDateTime maps to dateAsserted  // slight semantic difference?
  PatientSubjectOfRecord maps to patient
  constrain wasNotTaken to 0..0
  constrain reasonNotTaken to 0..0
  constrain dosage to 0..1
  MedicationCodeOrReference maps to medication[x]
  ReasonCode maps to reasonForUse[x]
  ReasonReference maps to reasonForUse[x]
  OccurrenceTimeOrPeriod maps to effective[x]
  Status maps to status
  Dosage.DoseAmount maps to dosage.quantity[x]
  Dosage.TimingOfDoses maps to dosage.timing
  Dosage.AsNeededIndicator maps to dosage.asNeeded[x]
  Dosage.DosageInstructionsText maps to dosage.text
  Dosage.RouteIntoBody maps to dosage.route
  Dosage.DosageMethod maps to dosage.method
  Dosage.DosageBodyLocation maps to dosage.site[x]
  Dosage.MaximumDosePerTimePeriod maps to dosage.maxDosePerPeriod

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement shr-core-MedicationStatement
... extension Slice: Unordered, Open by value:url
... shr-core-CareContext-extension 0..1Reference(shr-core-Encounter | shr-core-EpisodeOfCare)CareContext
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-CareContext-extension
... shr-core-MedicationStatementRelatedRequest-extension 0..1Reference(shr-core-ReferralRequest | shr-core-ProcedureRequest | shr-core-MedicationRequest)MedicationStatementRelatedRequest
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-MedicationStatementRelatedRequest-extension
... shr-core-Category-extension 0..1CodeableConceptCategory
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-Category-extension
.... valueCodeableConcept Binding: medication-statement-category (preferred)
... shr-core-TreatmentIntent-extension S0..1CodeableConceptTreatmentIntent
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TreatmentIntent-extension
Binding: TreatmentIntentVS (required)
... shr-core-TerminationReason-extension S0..*CodeableConceptTerminationReason
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TerminationReason-extension
.... valueCodeableConcept Binding: TreatmentTerminationReasonVS (required)
... patient Reference(shr-core-Patient)
... informationSource Reference(shr-core-Patient | shr-core-Practitioner | shr-core-RelatedPerson)
... wasNotTaken 0..0
... reasonNotTaken 0..0
... reasonForUse[x] CodeableConcept, Reference(shr-core-Condition)
... effective[x] 1..1
... medication[x] CodeableConcept, Reference(shr-core-Medication)Slice: Unordered, Open by type:$this
... medicationCodeableConcept SCodeableConceptBinding: http://h7.org/fhir/us/core/ValueSet/us-core-medication-codes (extensible)
... dosage 0..1
.... timing Timing
.... asNeeded[x] Slice: Unordered, Open by type:$this
.... asNeededCodeableConcept CodeableConceptBinding: medication-as-needed-reason (example)
.... siteCodeableConcept CodeableConceptBinding: BodyLocationVS (preferred)
.... route Binding: SNOMED CT Route Codes (required)
.... method Binding: administration-method-codes (required)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*shr-core-MedicationStatement
mst-2: Reason for use is only permitted if wasNotTaken is false
mst-1: Reason not taken is only permitted if wasNotTaken is true
... 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: http://tools.ietf.org/html/bcp47 (required)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
... shr-core-CareContext-extension 0..1Reference(shr-core-Encounter | shr-core-EpisodeOfCare)CareContext
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-CareContext-extension
... shr-core-MedicationStatementRelatedRequest-extension 0..1Reference(shr-core-ReferralRequest | shr-core-ProcedureRequest | shr-core-MedicationRequest)MedicationStatementRelatedRequest
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-MedicationStatementRelatedRequest-extension
... shr-core-Category-extension 0..1CodeableConceptCategory
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-Category-extension
.... id 0..1stringxml:id (or equivalent in JSON)
.... url 1..1uri"http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-Category-extension"
.... valueCodeableConcept 1..1CodeableConceptValue of extension
Binding: medication-statement-category (preferred)
... shr-core-TreatmentIntent-extension S0..1CodeableConceptTreatmentIntent
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TreatmentIntent-extension
Binding: TreatmentIntentVS (required)
... shr-core-TerminationReason-extension S0..*CodeableConceptTerminationReason
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TerminationReason-extension
.... id 0..1stringxml:id (or equivalent in JSON)
.... url 1..1uri"http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TerminationReason-extension"
.... valueCodeableConcept 1..1CodeableConceptValue of extension
Binding: TreatmentTerminationReasonVS (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier
... patient S1..1Reference(shr-core-Patient)Who is/was taking the medication
... informationSource Σ0..1Reference(shr-core-Patient | shr-core-Practitioner | shr-core-RelatedPerson)
... dateAsserted S1..1dateTimeWhen the statement was asserted?
... status ?!S1..1codeactive | completed | entered-in-error | intended
Binding: MedicationStatementStatus (required)
... reasonForUse[x] Σ0..1CodeableConcept, Reference(shr-core-Condition)Binding: Condition/Problem/Diagnosis Codes (example)
... effective[x] S1..1dateTime, PeriodOver what period was medication consumed?
... note Σ0..1stringFurther information about the statement
... supportingInformation Σ0..*Reference(Resource)Additional supporting information
... medication[x] SCodeableConcept, Reference(shr-core-Medication)What medication was taken
Slice: Unordered, Open by type:$this
Binding: http://fhir.org/guides/argonaut/ValueSet/medication-codes (extensible)
... medicationCodeableConcept S1..1CodeableConceptWhat medication was taken
Binding: http://h7.org/fhir/us/core/ValueSet/us-core-medication-codes (extensible)
... dosage Σ0..1BackboneElementDetails of how medication was taken
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... text Σ0..1stringReported dosage information
.... timing Σ0..1TimingWhen/how often was medication taken
.... asNeeded[x] Σboolean, CodeableConceptTake "as needed" (for x)
Slice: Unordered, Open by type:$this
Binding: (unbound) (example)
.... asNeededCodeableConcept Σ0..1CodeableConceptTake "as needed" (for x)
Binding: medication-as-needed-reason (example)
.... siteCodeableConcept Σ0..1CodeableConceptWhere (on body) medication is/was administered
Binding: BodyLocationVS (preferred)
.... route Σ0..1CodeableConceptHow the medication entered the body
Binding: SNOMED CT Route Codes (required)
.... method Σ0..1CodeableConceptTechnique used to administer medication
Binding: administration-method-codes (required)
.... quantity[x] Σ0..1SimpleQuantity, RangeAmount administered in one dose
.... rate[x] Σ0..1Ratio, RangeDose quantity per unit of time
.... maxDosePerPeriod Σ0..1RatioMaximum dose that was consumed per unit of time

doco Documentation for this format

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element MedicationStatement.medication[x] is sliced based on the value of type:$this
  • The element MedicationStatement.dosage.asNeeded[x] is sliced based on the value of type:$this

Mapping Source

This structure represents the following mapping definition:

shr.core.MedicationStatement maps to http://fhir.org/guides/argonaut/StructureDefinition/argo-medicationstatement:
  _Entry.EntryId maps to id
  Language maps to language
  Narrative maps to text
  ImplicitRules maps to implicitRules
  Metadata.VersionId maps to meta.versionId
  Metadata.Profile maps to meta.profile
  Metadata.LastUpdated maps to meta.lastUpdated
  Metadata.SecurityLabel maps to meta.security
  Metadata.Tag maps to meta.tag
  Identifier maps to identifier
  MedicationStatementInformationSource maps to informationSource
  StatementDateTime maps to dateAsserted  // slight semantic difference?
  PatientSubjectOfRecord maps to patient
  constrain wasNotTaken to 0..0
  constrain reasonNotTaken to 0..0
  constrain dosage to 0..1
  MedicationCodeOrReference maps to medication[x]
  ReasonCode maps to reasonForUse[x]
  ReasonReference maps to reasonForUse[x]
  OccurrenceTimeOrPeriod maps to effective[x]
  Status maps to status
  Dosage.DoseAmount maps to dosage.quantity[x]
  Dosage.TimingOfDoses maps to dosage.timing
  Dosage.AsNeededIndicator maps to dosage.asNeeded[x]
  Dosage.DosageInstructionsText maps to dosage.text
  Dosage.RouteIntoBody maps to dosage.route
  Dosage.DosageMethod maps to dosage.method
  Dosage.DosageBodyLocation maps to dosage.site[x]
  Dosage.MaximumDosePerTimePeriod maps to dosage.maxDosePerPeriod

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement shr-core-MedicationStatement
... extension Slice: Unordered, Open by value:url
... shr-core-CareContext-extension 0..1Reference(shr-core-Encounter | shr-core-EpisodeOfCare)CareContext
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-CareContext-extension
... shr-core-MedicationStatementRelatedRequest-extension 0..1Reference(shr-core-ReferralRequest | shr-core-ProcedureRequest | shr-core-MedicationRequest)MedicationStatementRelatedRequest
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-MedicationStatementRelatedRequest-extension
... shr-core-Category-extension 0..1CodeableConceptCategory
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-Category-extension
.... valueCodeableConcept Binding: medication-statement-category (preferred)
... shr-core-TreatmentIntent-extension S0..1CodeableConceptTreatmentIntent
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TreatmentIntent-extension
Binding: TreatmentIntentVS (required)
... shr-core-TerminationReason-extension S0..*CodeableConceptTerminationReason
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TerminationReason-extension
.... valueCodeableConcept Binding: TreatmentTerminationReasonVS (required)
... patient Reference(shr-core-Patient)
... informationSource Reference(shr-core-Patient | shr-core-Practitioner | shr-core-RelatedPerson)
... wasNotTaken 0..0
... reasonNotTaken 0..0
... reasonForUse[x] CodeableConcept, Reference(shr-core-Condition)
... effective[x] 1..1
... medication[x] CodeableConcept, Reference(shr-core-Medication)Slice: Unordered, Open by type:$this
... medicationCodeableConcept SCodeableConceptBinding: http://h7.org/fhir/us/core/ValueSet/us-core-medication-codes (extensible)
... dosage 0..1
.... timing Timing
.... asNeeded[x] Slice: Unordered, Open by type:$this
.... asNeededCodeableConcept CodeableConceptBinding: medication-as-needed-reason (example)
.... siteCodeableConcept CodeableConceptBinding: BodyLocationVS (preferred)
.... route Binding: SNOMED CT Route Codes (required)
.... method Binding: administration-method-codes (required)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*shr-core-MedicationStatement
mst-2: Reason for use is only permitted if wasNotTaken is false
mst-1: Reason not taken is only permitted if wasNotTaken is true
... 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: http://tools.ietf.org/html/bcp47 (required)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
... shr-core-CareContext-extension 0..1Reference(shr-core-Encounter | shr-core-EpisodeOfCare)CareContext
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-CareContext-extension
... shr-core-MedicationStatementRelatedRequest-extension 0..1Reference(shr-core-ReferralRequest | shr-core-ProcedureRequest | shr-core-MedicationRequest)MedicationStatementRelatedRequest
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-MedicationStatementRelatedRequest-extension
... shr-core-Category-extension 0..1CodeableConceptCategory
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-Category-extension
.... id 0..1stringxml:id (or equivalent in JSON)
.... url 1..1uri"http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-Category-extension"
.... valueCodeableConcept 1..1CodeableConceptValue of extension
Binding: medication-statement-category (preferred)
... shr-core-TreatmentIntent-extension S0..1CodeableConceptTreatmentIntent
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TreatmentIntent-extension
Binding: TreatmentIntentVS (required)
... shr-core-TerminationReason-extension S0..*CodeableConceptTerminationReason
URL: http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TerminationReason-extension
.... id 0..1stringxml:id (or equivalent in JSON)
.... url 1..1uri"http://hl7.org/fhir/us/shr/StructureDefinition/shr-core-TerminationReason-extension"
.... valueCodeableConcept 1..1CodeableConceptValue of extension
Binding: TreatmentTerminationReasonVS (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier
... patient S1..1Reference(shr-core-Patient)Who is/was taking the medication
... informationSource Σ0..1Reference(shr-core-Patient | shr-core-Practitioner | shr-core-RelatedPerson)
... dateAsserted S1..1dateTimeWhen the statement was asserted?
... status ?!S1..1codeactive | completed | entered-in-error | intended
Binding: MedicationStatementStatus (required)
... reasonForUse[x] Σ0..1CodeableConcept, Reference(shr-core-Condition)Binding: Condition/Problem/Diagnosis Codes (example)
... effective[x] S1..1dateTime, PeriodOver what period was medication consumed?
... note Σ0..1stringFurther information about the statement
... supportingInformation Σ0..*Reference(Resource)Additional supporting information
... medication[x] SCodeableConcept, Reference(shr-core-Medication)What medication was taken
Slice: Unordered, Open by type:$this
Binding: http://fhir.org/guides/argonaut/ValueSet/medication-codes (extensible)
... medicationCodeableConcept S1..1CodeableConceptWhat medication was taken
Binding: http://h7.org/fhir/us/core/ValueSet/us-core-medication-codes (extensible)
... dosage Σ0..1BackboneElementDetails of how medication was taken
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... text Σ0..1stringReported dosage information
.... timing Σ0..1TimingWhen/how often was medication taken
.... asNeeded[x] Σboolean, CodeableConceptTake "as needed" (for x)
Slice: Unordered, Open by type:$this
Binding: (unbound) (example)
.... asNeededCodeableConcept Σ0..1CodeableConceptTake "as needed" (for x)
Binding: medication-as-needed-reason (example)
.... siteCodeableConcept Σ0..1CodeableConceptWhere (on body) medication is/was administered
Binding: BodyLocationVS (preferred)
.... route Σ0..1CodeableConceptHow the medication entered the body
Binding: SNOMED CT Route Codes (required)
.... method Σ0..1CodeableConceptTechnique used to administer medication
Binding: administration-method-codes (required)
.... quantity[x] Σ0..1SimpleQuantity, RangeAmount administered in one dose
.... rate[x] Σ0..1Ratio, RangeDose quantity per unit of time
.... maxDosePerPeriod Σ0..1RatioMaximum dose that was consumed per unit of time

doco Documentation for this format

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

 

Terminology Bindings

PathConformanceValueSet
MedicationStatement-MedicationStatement.statusrequiredMedicationStatementStatus
MedicationStatement-MedicationStatement.medicationxextensiblehttp://fhir.org/guides/argonaut/ValueSet/medication-codes
MedicationStatement-MedicationStatement.medextensiblehttp://h7.org/fhir/us/core/ValueSet/us-core-medication-codes

 

Constraints

IdPathDetailsRequirements
mst-2MedicationStatementReason for use is only permitted if wasNotTaken is false
:
mst-1MedicationStatementReason not taken is only permitted if wasNotTaken is true
: