CH EMED (R4)
0.1.1 - Draft Standard for Trial Use

This page is part of the CH EMED (R4) (v0.1.1: DSTU 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

StructureDefinition: CHEMEDMedicationStatementTreatmentPlan

Definition of the medication statement for the Medication Treatment Plan document

The official URL for this profile is:

http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-medicationstatement-treatmentplan

Formal Views of Profile Content

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

This structure is derived from MedicationStatement

Summary

Mandatory: 4 elements
Fixed Value: 1 element

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.dosage is sliced based on the value of profile:$this

This structure is derived from MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementCH EMED MedicationStatement
... contained 1..1ResourceMedication inline resource
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-emed-ext-substitution 0..1CodeableConceptSubstitution
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
.... system 0..1uriThe namespace for the identifier value
.... value 0..1stringThe value that is unique
... status 1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Fixed Value: completed
... medicationReference 1..1Reference(CH EMED Medication Profile (MedicationStatement))Reference to the contained medication
... subject 1..1Reference(CH Core Composition Patient Profile EPR)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... reasonCode 0..1CodeableConceptTreatment reason
.... text 0..1stringPlain text representation of the concept
... note 0..1AnnotationAnnotation
... dosage 1..*(Slice Definition)How the medication should be taken
Slice: Unordered, Open by profile:$this
.... dosage:nonstructured 1..1CHEMEDDosageNonStructuredFree text dosage instructions
.... dosage:structured 0..*CHEMEDDosageStructuredStructured dosage instructions

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*MedicationStatementCH EMED MedicationStatement
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 1..1ResourceMedication inline resource
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-emed-ext-substitution I0..1CodeableConceptSubstitution
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierMedication treatment plan item ID
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system ΣI0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣI0..1stringThe value that is unique
Example General: 123456
.... period ΣI0..1PeriodTime period when id is/was valid for use
.... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
... basedOn ΣI0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf ΣI0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!ΣI1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required)
Fixed Value: completed
... statusReason I0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example)
... category ΣI0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred)
... medication[x] ΣI1..1(Slice Definition)What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference ΣI1..1Reference(CH EMED Medication Profile (MedicationStatement))Reference to the contained medication
... subject ΣI1..1Reference(CH Core Composition Patient Profile EPR)Patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... context ΣI0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] ΣI0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted ΣI0..1dateTimeWhen the statement was asserted?
... informationSource I0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)Person or organization that provided the information about the taking of this medication
... derivedFrom I0..*Reference(Resource)Additional supporting information
... reasonCode I0..1CodeableConceptTreatment reason
Binding: Condition/Problem/DiagnosisCodes (example)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣI0..*CodingCode defined by a terminology system
.... text ΣI0..1stringPlain text representation of the concept
... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note I0..1AnnotationAnnotation
... dosage I1..*(Slice Definition)How the medication should be taken
Slice: Unordered, Open by profile:$this
.... dosage:nonstructured I1..1CHEMEDDosageNonStructuredFree text dosage instructions
.... dosage:structured I0..*CHEMEDDosageStructuredStructured dosage instructions

doco Documentation for this format

This structure is derived from MedicationStatement

Summary

Mandatory: 4 elements
Fixed Value: 1 element

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.dosage is sliced based on the value of profile:$this

Differential View

This structure is derived from MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatementCH EMED MedicationStatement
... contained 1..1ResourceMedication inline resource
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-emed-ext-substitution 0..1CodeableConceptSubstitution
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
.... system 0..1uriThe namespace for the identifier value
.... value 0..1stringThe value that is unique
... status 1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Fixed Value: completed
... medicationReference 1..1Reference(CH EMED Medication Profile (MedicationStatement))Reference to the contained medication
... subject 1..1Reference(CH Core Composition Patient Profile EPR)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... reasonCode 0..1CodeableConceptTreatment reason
.... text 0..1stringPlain text representation of the concept
... note 0..1AnnotationAnnotation
... dosage 1..*(Slice Definition)How the medication should be taken
Slice: Unordered, Open by profile:$this
.... dosage:nonstructured 1..1CHEMEDDosageNonStructuredFree text dosage instructions
.... dosage:structured 0..*CHEMEDDosageStructuredStructured dosage instructions

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement I0..*MedicationStatementCH EMED MedicationStatement
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 1..1ResourceMedication inline resource
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-emed-ext-substitution I0..1CodeableConceptSubstitution
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierMedication treatment plan item ID
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system ΣI0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣI0..1stringThe value that is unique
Example General: 123456
.... period ΣI0..1PeriodTime period when id is/was valid for use
.... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
... basedOn ΣI0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf ΣI0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!ΣI1..1codeactive | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required)
Fixed Value: completed
... statusReason I0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example)
... category ΣI0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred)
... medication[x] ΣI1..1(Slice Definition)What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference ΣI1..1Reference(CH EMED Medication Profile (MedicationStatement))Reference to the contained medication
... subject ΣI1..1Reference(CH Core Composition Patient Profile EPR)Patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... context ΣI0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] ΣI0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted ΣI0..1dateTimeWhen the statement was asserted?
... informationSource I0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)Person or organization that provided the information about the taking of this medication
... derivedFrom I0..*Reference(Resource)Additional supporting information
... reasonCode I0..1CodeableConceptTreatment reason
Binding: Condition/Problem/DiagnosisCodes (example)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣI0..*CodingCode defined by a terminology system
.... text ΣI0..1stringPlain text representation of the concept
... reasonReference I0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note I0..1AnnotationAnnotation
... dosage I1..*(Slice Definition)How the medication should be taken
Slice: Unordered, Open by profile:$this
.... dosage:nonstructured I1..1CHEMEDDosageNonStructuredFree text dosage instructions
.... dosage:structured I0..*CHEMEDDosageStructuredStructured dosage instructions

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
MedicationStatement.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationStatement.identifier.userequiredIdentifierUse
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
MedicationStatement.statusrequiredFixed Value: completed
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.categorypreferredMedication usage category codes
MedicationStatement.subject.typeextensibleResourceType
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes

Constraints

Constraints

IdPathDetailsRequirements
dom-2MedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MedicationStatementIf 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-4MedicationStatementIf 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-5MedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1MedicationStatement.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.extension:substitutionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.extension:substitutionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.medication[x]:medicationReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.subject.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dateAssertedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.informationSourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.reasonCode.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.reasonCode.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.reasonCode.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.reasonCode.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage:nonstructuredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage:structuredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())