This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication | Version: 7.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreMedicationProfile | ||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
When referencing a medication, the MedicationRequest resource can either use a code or refer to a Medication resource. This profile sets minimum expectations for the Medication resource to record, search, and fetch medications associated with a patient to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific use cases
Example Usage Scenarios:
Queries on Medication resource are expected to be within the context of a MedicationRequest resource query. The following are example usage scenarios for the US Core Medication profile:
The following data-elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.
Each Medication Must Have:
Profile Specific Implementation Guidance:
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Medication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | 0..* | Medication | Definition of a Medication | |
code | S | 1..1 | CodeableConcept | Codes that identify this medication Binding: Medication Clinical Drug (extensible) |
Documentation for this format |
Path | Conformance | ValueSet |
Medication.code | extensible | MedicationClinicalDrug |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | 0..* | Medication | Definition of a Medication | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
code | SΣ | 1..1 | CodeableConcept | Codes that identify this medication Binding: Medication Clinical Drug (extensible) |
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use. |
Documentation for this format |
Path | Conformance | ValueSet |
Medication.code | extensible | MedicationClinicalDrug |
Medication.status | required | Medication Status Codes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Medication | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Medication | 0..* | Medication | Definition of a Medication | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | Business identifier for this medication | ||||
code | SΣ | 1..1 | CodeableConcept | Codes that identify this medication Binding: Medication Clinical Drug (extensible) | ||||
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use. | ||||
manufacturer | Σ | 0..1 | Reference(Organization) | Manufacturer of the item | ||||
form | 0..1 | CodeableConcept | powder | tablets | capsule + Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication. | |||||
amount | Σ | 0..1 | Ratio | Amount of drug in package | ||||
ingredient | 0..* | BackboneElement | Active or inactive ingredient | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
item[x] | 1..1 | The actual ingredient or content | ||||||
itemCodeableConcept | CodeableConcept | |||||||
itemReference | Reference(Substance | Medication) | |||||||
isActive | 0..1 | boolean | Active ingredient indicator | |||||
strength | 0..1 | Ratio | Quantity of ingredient present | |||||
batch | 0..1 | BackboneElement | Details about packaged medications | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
lotNumber | 0..1 | string | Identifier assigned to batch | |||||
expirationDate | 0..1 | dateTime | When batch will expire | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Medication.language | preferred | CommonLanguages
| ||||
Medication.code | extensible | MedicationClinicalDrug | ||||
Medication.status | required | Medication Status Codes | ||||
Medication.form | example | SNOMEDCTFormCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Medication | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Medication
Differential View
This structure is derived from Medication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | 0..* | Medication | Definition of a Medication | |
code | S | 1..1 | CodeableConcept | Codes that identify this medication Binding: Medication Clinical Drug (extensible) |
Documentation for this format |
Path | Conformance | ValueSet |
Medication.code | extensible | MedicationClinicalDrug |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | 0..* | Medication | Definition of a Medication | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
code | SΣ | 1..1 | CodeableConcept | Codes that identify this medication Binding: Medication Clinical Drug (extensible) |
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use. |
Documentation for this format |
Path | Conformance | ValueSet |
Medication.code | extensible | MedicationClinicalDrug |
Medication.status | required | Medication Status Codes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Medication | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Medication | 0..* | Medication | Definition of a Medication | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | Business identifier for this medication | ||||
code | SΣ | 1..1 | CodeableConcept | Codes that identify this medication Binding: Medication Clinical Drug (extensible) | ||||
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use. | ||||
manufacturer | Σ | 0..1 | Reference(Organization) | Manufacturer of the item | ||||
form | 0..1 | CodeableConcept | powder | tablets | capsule + Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication. | |||||
amount | Σ | 0..1 | Ratio | Amount of drug in package | ||||
ingredient | 0..* | BackboneElement | Active or inactive ingredient | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
item[x] | 1..1 | The actual ingredient or content | ||||||
itemCodeableConcept | CodeableConcept | |||||||
itemReference | Reference(Substance | Medication) | |||||||
isActive | 0..1 | boolean | Active ingredient indicator | |||||
strength | 0..1 | Ratio | Quantity of ingredient present | |||||
batch | 0..1 | BackboneElement | Details about packaged medications | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
lotNumber | 0..1 | string | Identifier assigned to batch | |||||
expirationDate | 0..1 | dateTime | When batch will expire | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Medication.language | preferred | CommonLanguages
| ||||
Medication.code | extensible | MedicationClinicalDrug | ||||
Medication.status | required | Medication Status Codes | ||||
Medication.form | example | SNOMEDCTFormCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Medication | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Medication
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
Servers providing access to data SHALL support these US Core SMART Scopes:
patient/Medication.rs
.No required search criteria for us-core-medication profile.