Quality Improvement Core Framework (v3.3.0: STU 4 Ballot 1). The current version is 3.2.0 based on FHIR R4. See the Directory of published versions
 
| Penicillin MedicationStatement Example | 
 
The official URL for this profile is:
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationstatement
Profile of MedicationStatement for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.
This profile builds on USCoreMedicationStatementProfile.
This profile was published on Wed Aug 22 00:00:00 EDT 2018 as a draft by Health Level Seven, Inc. - CQI WG.
Description of Profiles, Differentials, and Snapshots.
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   MedicationStatement | 0..* | |||
|    id | 0..1 | id | ||
|    status | S | 1..1 | code | |
|    statusReason | 0..* | CodeableConcept | ||
|    medication[x] | S | 1..1 | Binding: US Core Medication Codes (RxNorm) (preferred) | |
|     medicationCodeableConcept | CodeableConcept | |||
|     medicationReference | Reference(StructureDefinition-qicore-medication.html) | |||
|    subject | S | 1..1 | Reference(QICorePatient) | |
|    effective[x] | S | 0..1 | dateTime, Period | |
|    dateAsserted | S | 1..1 | dateTime | |
|    informationSource | S | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | |
|    derivedFrom | S | 0..* | Reference(Resource) | |
|    reasonCode | 0..* | CodeableConcept | ||
|    dosage | 0..* | Dosage | ||
|     modifierExtension | ?! | 0..* | Extension | |
|     timing | S | 0..1 | Timing | |
|     site | 0..1 | CodeableConcept | ||
|     route | S | 0..1 | CodeableConcept | |
|     doseAndRate | S | 0..* | Element | |
|      dose[x] | S | 0..1 | Range, SimpleQuantity | |
|  Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   MedicationStatement | I | 0..* | Record of medication being taken by a patient | |
|    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) Max Binding: AllLanguages | |
|    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 | External 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..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken Binding: Medication Status Codes (required) | 
|    statusReason | 0..* | CodeableConcept | Reason for current status Binding: SNOMEDCTDrugTherapyStatusCodes (example) | |
|    category | Σ | 0..1 | CodeableConcept | Type of medication usage Binding: Medication Status Codes (preferred) | 
|    medication[x] | SΣ | 1..1 | What medication was taken Binding: US Core Medication Codes (RxNorm) (preferred) | |
|     medicationCodeableConcept | CodeableConcept | |||
|     medicationReference | Reference(StructureDefinition-qicore-medication.html) | |||
|    subject | SΣ | 1..1 | Reference(QICorePatient) | Who is/was taking the medication | 
|    context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with MedicationStatement | 
|    effective[x] | SΣ | 0..1 | The date/time or interval when the medication is/was/will be taken | |
|     effectiveDateTime | dateTime | |||
|     effectivePeriod | Period | |||
|    dateAsserted | SΣ | 1..1 | dateTime | When the statement was asserted? | 
|    informationSource | S | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Person or organization that provided the information about the taking of this medication | 
|    derivedFrom | S | 0..* | Reference(Resource) | Additional supporting information | 
|    reasonCode | 0..* | CodeableConcept | Reason for why the medication is being/was taken Binding: Condition/Problem/DiagnosisCodes (example) | |
|    reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport) | Condition or observation that supports why the medication is being/was taken | |
|    note | 0..* | Annotation | Further information about the statement | |
|    dosage | 0..* | Dosage | Details of how medication is/was taken or should be taken | |
|     id | 0..1 | string | Unique id for inter-element referencing | |
|     extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
|     modifierExtension | ?!Σ | 0..* | Extension | Extension | 
|     sequence | Σ | 0..1 | integer | The order of the dosage instructions | 
|     text | Σ | 0..1 | string | Free text dosage instructions e.g. SIG | 
|     additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example) | 
|     patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions | 
|     timing | SΣ | 0..1 | Timing | When medication should be administered | 
|     asNeeded[x] | Σ | 0..1 | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example) | |
|      asNeededBoolean | boolean | |||
|      asNeededCodeableConcept | CodeableConcept | |||
|     site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example) | 
|     route | SΣ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example) | 
|     method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example) | 
|     doseAndRate | SΣI | 0..* | Element | Amount of medication administered | 
|      id | 0..1 | string | Unique id for inter-element referencing | |
|      extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
|      type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example) | 
|      dose[x] | SΣ | 0..1 | Amount of medication per dose | |
|       doseRange | Range | |||
|       doseQuantity | Quantity | |||
|      rate[x] | Σ | 0..1 | Amount of medication per unit of time | |
|       rateRatio | Ratio | |||
|       rateRange | Range | |||
|       rateQuantity | Quantity | |||
|     maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time | 
|     maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | Upper limit on medication per administration | 
|     maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient | 
|  Documentation for this format | ||||
Differential View
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   MedicationStatement | 0..* | |||
|    id | 0..1 | id | ||
|    status | S | 1..1 | code | |
|    statusReason | 0..* | CodeableConcept | ||
|    medication[x] | S | 1..1 | Binding: US Core Medication Codes (RxNorm) (preferred) | |
|     medicationCodeableConcept | CodeableConcept | |||
|     medicationReference | Reference(StructureDefinition-qicore-medication.html) | |||
|    subject | S | 1..1 | Reference(QICorePatient) | |
|    effective[x] | S | 0..1 | dateTime, Period | |
|    dateAsserted | S | 1..1 | dateTime | |
|    informationSource | S | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | |
|    derivedFrom | S | 0..* | Reference(Resource) | |
|    reasonCode | 0..* | CodeableConcept | ||
|    dosage | 0..* | Dosage | ||
|     modifierExtension | ?! | 0..* | Extension | |
|     timing | S | 0..1 | Timing | |
|     site | 0..1 | CodeableConcept | ||
|     route | S | 0..1 | CodeableConcept | |
|     doseAndRate | S | 0..* | Element | |
|      dose[x] | S | 0..1 | Range, SimpleQuantity | |
|  Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints  | 
|---|---|---|---|---|
|   MedicationStatement | I | 0..* | Record of medication being taken by a patient | |
|    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) Max Binding: AllLanguages | |
|    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 | External 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..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken Binding: Medication Status Codes (required) | 
|    statusReason | 0..* | CodeableConcept | Reason for current status Binding: SNOMEDCTDrugTherapyStatusCodes (example) | |
|    category | Σ | 0..1 | CodeableConcept | Type of medication usage Binding: Medication Status Codes (preferred) | 
|    medication[x] | SΣ | 1..1 | What medication was taken Binding: US Core Medication Codes (RxNorm) (preferred) | |
|     medicationCodeableConcept | CodeableConcept | |||
|     medicationReference | Reference(StructureDefinition-qicore-medication.html) | |||
|    subject | SΣ | 1..1 | Reference(QICorePatient) | Who is/was taking the medication | 
|    context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with MedicationStatement | 
|    effective[x] | SΣ | 0..1 | The date/time or interval when the medication is/was/will be taken | |
|     effectiveDateTime | dateTime | |||
|     effectivePeriod | Period | |||
|    dateAsserted | SΣ | 1..1 | dateTime | When the statement was asserted? | 
|    informationSource | S | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Person or organization that provided the information about the taking of this medication | 
|    derivedFrom | S | 0..* | Reference(Resource) | Additional supporting information | 
|    reasonCode | 0..* | CodeableConcept | Reason for why the medication is being/was taken Binding: Condition/Problem/DiagnosisCodes (example) | |
|    reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport) | Condition or observation that supports why the medication is being/was taken | |
|    note | 0..* | Annotation | Further information about the statement | |
|    dosage | 0..* | Dosage | Details of how medication is/was taken or should be taken | |
|     id | 0..1 | string | Unique id for inter-element referencing | |
|     extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
|     modifierExtension | ?!Σ | 0..* | Extension | Extension | 
|     sequence | Σ | 0..1 | integer | The order of the dosage instructions | 
|     text | Σ | 0..1 | string | Free text dosage instructions e.g. SIG | 
|     additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example) | 
|     patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions | 
|     timing | SΣ | 0..1 | Timing | When medication should be administered | 
|     asNeeded[x] | Σ | 0..1 | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example) | |
|      asNeededBoolean | boolean | |||
|      asNeededCodeableConcept | CodeableConcept | |||
|     site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example) | 
|     route | SΣ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example) | 
|     method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example) | 
|     doseAndRate | SΣI | 0..* | Element | Amount of medication administered | 
|      id | 0..1 | string | Unique id for inter-element referencing | |
|      extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
|      type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example) | 
|      dose[x] | SΣ | 0..1 | Amount of medication per dose | |
|       doseRange | Range | |||
|       doseQuantity | Quantity | |||
|      rate[x] | Σ | 0..1 | Amount of medication per unit of time | |
|       rateRatio | Ratio | |||
|       rateRange | Range | |||
|       rateQuantity | Quantity | |||
|     maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time | 
|     maxDosePerAdministration | Σ | 0..1 | SimpleQuantity | Upper limit on medication per administration | 
|     maxDosePerLifetime | Σ | 0..1 | SimpleQuantity | Upper limit on medication per lifetime of the patient | 
|  Documentation for this format | ||||

| Path | Conformance | ValueSet | 
| MedicationStatement.language | preferred | CommonLanguages Max Binding: AllLanguages | 
| MedicationStatement.status | required | Medication Status Codes | 
| MedicationStatement.statusReason | example | SNOMEDCTDrugTherapyStatusCodes | 
| MedicationStatement.category | preferred | Medication Status Codes | 
| MedicationStatement.medication[x] | preferred | USCoreMedicationCodes | 
| MedicationStatement.reasonCode | example | Condition/Problem/DiagnosisCodes | 
| MedicationStatement.dosage.additionalInstruction | example | SNOMEDCTAdditionalDosageInstructions | 
| MedicationStatement.dosage.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | 
| MedicationStatement.dosage.site | example | SNOMEDCTAnatomicalStructureForAdministrationSiteCodes | 
| MedicationStatement.dosage.route | example | SNOMEDCTRouteCodes | 
| MedicationStatement.dosage.method | example | SNOMEDCTAdministrationMethodCodes | 
| MedicationStatement.dosage.doseAndRate.type | example | DoseAndRateType | 

| Id | Path | Details | Requirements | 
| dom-2 | MedicationStatement | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-4 | MedicationStatement | 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-3 | MedicationStatement | 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-6 | MedicationStatement | A resource should have narrative for robust management : text.div.exists() | |
| dom-5 | MedicationStatement | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| ele-1 | MedicationStatement.dosage.doseAndRate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |