Retrieval of Real World Data for Clinical Research
1.0.0 - trial-use International flag

Retrieval of Real World Data for Clinical Research, published by HL7 International - Biomedical Research & Regulation Work Group. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/HL7/vulcan-rwd/ and changes regularly. See the Directory of published versions

Resource Profile: MedicationStatementRwd

Official URL: http://hl7.org/fhir/uv/vulcan-rwd/StructureDefinition/MedicationStatementRwd Version: 1.0.0
Active as of 2023-05-09 Computable Name: MedicationStatementRwd

A profile on MedicationStatement that indicates the minimum set of attributes for use in research studies.

Usage:

Formal Views of Profile Content

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

This structure is derived from IPAMedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*IPAMedicationStatementRecord of medication being taken by a patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeactive | 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.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... Slices for derivedFrom S1..*Reference(Resource)Additional supporting information
Slice: Unordered, Open by type:$this
.... derivedFrom:MedicationSource 1..*Reference(IPA-MedicationRequest | MedicationDispenseRwd | MedicationAdministrationRwd)Additional supporting information
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text SΣ0..1stringFree text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf 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-4errorMedicationStatementIf 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-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*IPAMedicationStatementRecord of medication being taken by a patient
... 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
... text 0..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 | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!SΣ1..1codeactive | 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.

... statusReason S0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ0..1dateTimeWhen the statement was asserted?
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... Slices for derivedFrom S1..*Reference(Resource)Additional supporting information
Slice: Unordered, Open by type:$this
.... derivedFrom:MedicationSource 1..*Reference(IPA-MedicationRequest | MedicationDispenseRwd | MedicationAdministrationRwd)Additional supporting information
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... sequence Σ0..1integerThe order of the dosage instructions
.... text SΣ0..1stringFree text dosage instructions e.g. SIG
.... additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ0..1stringPatient or consumer oriented instructions
.... timing Σ0..1TimingWhen medication should be administered
.... asNeeded[x] Σ0..1Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ0..1CodeableConceptHow drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ0..1CodeableConceptTechnique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ0..*ElementAmount of medication administered
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ0..1Amount of medication per dose
...... doseRangeRange
...... doseQuantityQuantity(SimpleQuantity)
..... rate[x] Σ0..1Amount of medication per unit of time
...... rateRatioRatio
...... rateRangeRange
...... rateQuantityQuantity(SimpleQuantity)
.... maxDosePerPeriod Σ0..1RatioUpper limit on medication per unit of time
.... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
.... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.categorypreferredMedication usage category codes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from IPAMedicationStatement

Summary

Mandatory: 2 elements
Must-Support: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element MedicationStatement.derivedFrom is sliced based on the value of type:$this

Differential View

This structure is derived from IPAMedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*IPAMedicationStatementRecord of medication being taken by a patient
... Slices for derivedFrom S1..*Reference(Resource)Additional supporting information
Slice: Unordered, Open by type:$this
.... derivedFrom:MedicationSource 1..*Reference(IPA-MedicationRequest | MedicationDispenseRwd | MedicationAdministrationRwd)Additional supporting information

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*IPAMedicationStatementRecord of medication being taken by a patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeactive | 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.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... Slices for derivedFrom S1..*Reference(Resource)Additional supporting information
Slice: Unordered, Open by type:$this
.... derivedFrom:MedicationSource 1..*Reference(IPA-MedicationRequest | MedicationDispenseRwd | MedicationAdministrationRwd)Additional supporting information
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text SΣ0..1stringFree text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf 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-4errorMedicationStatementIf 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-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*IPAMedicationStatementRecord of medication being taken by a patient
... 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
... text 0..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 | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!SΣ1..1codeactive | 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.

... statusReason S0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] SΣ1..1What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(IPA-Medication)
... subject SΣ1..1Reference(IPA-Patient)Who is/was taking the medication
... context SΣ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] SΣ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ0..1dateTimeWhen the statement was asserted?
... informationSource S0..1Reference(IPA-Practitioner | IPA-PractitionerRole | IPA-Patient | Organization | RelatedPerson)Person or organization that provided the information about the taking of this medication
... Slices for derivedFrom S1..*Reference(Resource)Additional supporting information
Slice: Unordered, Open by type:$this
.... derivedFrom:MedicationSource 1..*Reference(IPA-MedicationRequest | MedicationDispenseRwd | MedicationAdministrationRwd)Additional supporting information
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage S0..*DosageDetails of how medication is/was taken or should be taken
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... sequence Σ0..1integerThe order of the dosage instructions
.... text SΣ0..1stringFree text dosage instructions e.g. SIG
.... additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ0..1stringPatient or consumer oriented instructions
.... timing Σ0..1TimingWhen medication should be administered
.... asNeeded[x] Σ0..1Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ0..1CodeableConceptHow drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ0..1CodeableConceptTechnique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ0..*ElementAmount of medication administered
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ0..1Amount of medication per dose
...... doseRangeRange
...... doseQuantityQuantity(SimpleQuantity)
..... rate[x] Σ0..1Amount of medication per unit of time
...... rateRatioRatio
...... rateRangeRange
...... rateQuantityQuantity(SimpleQuantity)
.... maxDosePerPeriod Σ0..1RatioUpper limit on medication per unit of time
.... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
.... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.categorypreferredMedication usage category codes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from IPAMedicationStatement

Summary

Mandatory: 2 elements
Must-Support: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element MedicationStatement.derivedFrom is sliced based on the value of type:$this

 

Other representations of profile: CSV, Excel, Schematron