CHMED Implementation Guide
3.0.0-ci-build - ci-build Switzerland flag

CHMED Implementation Guide, published by IG eMediplan. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/ahdis/chmed/ and changes regularly. See the Directory of published versions

Resource Profile: CHMED MedicationStatement

Official URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-card-medicationstatement Version: 3.0.0-ci-build
Active as of 2024-04-24 Computable Name: CHMEDMedicationStatementCard

Copyright/Legal: CC0-1.0

Profile for the MedicationStatement resource of the Medication Card document

Usage:

Formal Views of Profile Content

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

This structure is derived from CHEMEDMedicationStatementCard

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* CHEMEDMedicationStatementCard CHMED MedicationStatement
... extension:substitution 0..1 CHEMEDExtSubstitution CH EMED Extension
... exts 0..* (Complex) CHMED Extension
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-extension
... medication[x]:medicationReference 0..1 Reference(CHMED Medication) {c} Medicament
... informationSource 0..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) PractitionerRole for 'prscbBy' or Patient/RelatedPerson for 'autoMed'
... reasonCode
.... text 0..1 string Reason for applying the medication (the reason for the medication treatment)
... dosage 1..* Dosage Posology
.... additionalInstruction 0..* CodeableConcept Information whether a medicament must be taken relative to a meal
.... patientInstruction 0..1 string Application instructions (further information on how to apply the medication, e.g. take before meals)
.... timing
..... repeat
...... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... bounds[x]:boundsPeriod 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ start 0..1 dateTime From date (start date of medication treatment)
........ end 0..1 dateTime To date (end date of medication treatment)
...... when 0..* code Details of the posology
.... Slices for asNeeded[x] 0..1 boolean, CodeableConcept Take "as needed" (for x)
Slice: Unordered, Open by type:$this
..... asNeeded[x]:asNeededBoolean 0..1 boolean Reserve medication (true if in reserve; false otherwise)
.... route 0..1 CodeableConcept The route of administration
.... method 0..1 CodeableConcept The method of administration
.... doseAndRate
..... dose[x] 0..1 Range, SimpleQuantity The quantity unit
... dosage:baseEntry 1..1 CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
... dosage:additionalEntry 0..* CHEMEDDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* CHEMEDMedicationStatementCard CHMED MedicationStatement
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 1..* Resource Contained, inline Resources
... substitution 0..1 CodeableConcept CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... authorDocument 0..1 Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson) "Last" author of the original document if different from the author of the medical decision (MedicationStatement.informationSource), see also 'Guidance - Different Authors'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... exts 0..* (Complex) CHMED Extension
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ 1..1 code active | 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.

... Slices for medication[x] Σ 1..1 Reference() What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference SΣ 0..1 Reference(CHMED Medication) {c} Medicament
... subject Σ 1..1 Reference(CHMED Patient (CARD)) The patient
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... informationSource 0..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) PractitionerRole for 'prscbBy' or Patient/RelatedPerson for 'autoMed'
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... reasonCode 0..1 CodeableConcept Treatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


.... text SΣ 0..1 string Reason for applying the medication (the reason for the medication treatment)
... Slices for dosage S 1..* Dosage Posology
Slice: Unordered, Closed by profile:$this
.... dosage:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... additionalInstruction Σ 0..* CodeableConcept Information whether a medicament must be taken relative to a meal
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


..... patientInstruction Σ 0..1 string Application instructions (further information on how to apply the medication, e.g. take before meals)
..... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
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.

...... asNeededBoolean boolean
...... asNeededCodeableConcept CodeableConcept
...... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Reserve medication (true if in reserve; false otherwise)
..... route Σ 0..1 CodeableConcept The route of administration
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..1 CodeableConcept The method of administration
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... dosage:baseEntry C 1..1 CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..* CHEMEDDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
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..* CHEMEDMedicationStatementCard CHMED MedicationStatement
... 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.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 1..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... substitution 0..1 CodeableConcept CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... treatmentPlan 0..1 (Complex) Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... authorDocument 0..1 Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson) "Last" author of the original document if different from the author of the medical decision (MedicationStatement.informationSource), see also 'Guidance - Different Authors'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... exts 0..* (Complex) CHMED Extension
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) Part of referenced event
... status ?!Σ 1..1 code active | 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 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept Type 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.

... Slices for medication[x] Σ 1..1 Reference() What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference SΣ 0..1 Reference(CHMED Medication) {c} Medicament
... subject Σ 1..1 Reference(CHMED Patient (CARD)) The patient
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 0..1 dateTime When the statement was asserted?
... informationSource 0..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) PractitionerRole for 'prscbBy' or Patient/RelatedPerson for 'autoMed'
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... derivedFrom 0..* Reference(Resource) Additional supporting information
... reasonCode 0..1 CodeableConcept Treatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being 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
.... coding Σ 0..* Coding Code defined by a terminology system
.... text SΣ 0..1 string Reason for applying the medication (the reason for the medication treatment)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Condition or observation that supports why the medication is being/was taken
... note 0..* Annotation Annotation comment
... Slices for dosage S 1..* Dosage Posology
Slice: Unordered, Closed by profile:$this
.... dosage:All Slices Content/Rules for all slices
..... 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 Extensions that cannot be ignored even if unrecognized
..... sequence Σ 0..1 integer The order of the dosage instructions
..... text Σ 0..1 string Free text dosage instructions e.g. SIG
..... additionalInstruction Σ 0..* CodeableConcept Information whether a medicament must be taken relative to a meal
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


..... patientInstruction Σ 0..1 string Application instructions (further information on how to apply the medication, e.g. take before meals)
..... timing Σ 0..1 Timing When medication should be 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
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... event Σ 0..* dateTime When the event occurs
...... repeat ΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
........ boundsDuration Duration
........ boundsRange Range
........ boundsPeriod Period
........ bounds[x]:boundsPeriod Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... start ΣC 0..1 dateTime From date (start date of medication treatment)
......... end ΣC 0..1 dateTime To date (end date of medication treatment)
....... count Σ 0..1 positiveInt Number of times to repeat
....... countMax Σ 0..1 positiveInt Maximum number of times to repeat
....... duration Σ 0..1 decimal How long when it happens
....... durationMax Σ 0..1 decimal How long when it happens (Max)
....... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

....... frequency Σ 0..1 positiveInt Event occurs frequency times per period
....... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
....... period Σ 0..1 decimal Event occurs frequency times per period
....... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
....... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

....... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
....... timeOfDay Σ 0..* time Time of day for action
....... when Σ 0..* code Details of the posology
Binding: EventTiming (required): Real world event relating to the schedule.


....... offset Σ 0..1 unsignedInt Minutes from event (before or after)
...... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

..... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
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.

...... asNeededBoolean boolean
...... asNeededCodeableConcept CodeableConcept
...... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Reserve medication (true if in reserve; false otherwise)
..... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

..... route Σ 0..1 CodeableConcept The route of administration
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..1 CodeableConcept The method of administration
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

..... doseAndRate Σ 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): The kind of dose or rate specified.

...... dose[x] Σ 0..1 The quantity unit
....... doseRange Range
....... doseQuantity Quantity(SimpleQuantity)
...... rate[x] Σ 0..1 Amount of medication per unit of time
....... rateRatio Ratio
....... rateRange Range
....... rateQuantity Quantity(SimpleQuantity)
..... 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
.... dosage:baseEntry C 1..1 CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..* CHEMEDDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.informationSource.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
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()
tim-1errorMedicationStatement.dosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorMedicationStatement.dosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorMedicationStatement.dosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorMedicationStatement.dosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorMedicationStatement.dosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorMedicationStatement.dosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorMedicationStatement.dosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorMedicationStatement.dosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorMedicationStatement.dosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from CHEMEDMedicationStatementCard

Summary

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of MedicationStatement.dosage.timing.repeat.bounds[x]
  • The element 1 is sliced based on the value of MedicationStatement.dosage.asNeeded[x]

Differential View

This structure is derived from CHEMEDMedicationStatementCard

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* CHEMEDMedicationStatementCard CHMED MedicationStatement
... extension:substitution 0..1 CHEMEDExtSubstitution CH EMED Extension
... exts 0..* (Complex) CHMED Extension
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-extension
... medication[x]:medicationReference 0..1 Reference(CHMED Medication) {c} Medicament
... informationSource 0..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) PractitionerRole for 'prscbBy' or Patient/RelatedPerson for 'autoMed'
... reasonCode
.... text 0..1 string Reason for applying the medication (the reason for the medication treatment)
... dosage 1..* Dosage Posology
.... additionalInstruction 0..* CodeableConcept Information whether a medicament must be taken relative to a meal
.... patientInstruction 0..1 string Application instructions (further information on how to apply the medication, e.g. take before meals)
.... timing
..... repeat
...... Slices for bounds[x] 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
....... bounds[x]:boundsPeriod 0..1 Period Length/Range of lengths, or (Start and/or end) limits
........ start 0..1 dateTime From date (start date of medication treatment)
........ end 0..1 dateTime To date (end date of medication treatment)
...... when 0..* code Details of the posology
.... Slices for asNeeded[x] 0..1 boolean, CodeableConcept Take "as needed" (for x)
Slice: Unordered, Open by type:$this
..... asNeeded[x]:asNeededBoolean 0..1 boolean Reserve medication (true if in reserve; false otherwise)
.... route 0..1 CodeableConcept The route of administration
.... method 0..1 CodeableConcept The method of administration
.... doseAndRate
..... dose[x] 0..1 Range, SimpleQuantity The quantity unit
... dosage:baseEntry 1..1 CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
... dosage:additionalEntry 0..* CHEMEDDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* CHEMEDMedicationStatementCard CHMED MedicationStatement
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 1..* Resource Contained, inline Resources
... substitution 0..1 CodeableConcept CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... authorDocument 0..1 Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson) "Last" author of the original document if different from the author of the medical decision (MedicationStatement.informationSource), see also 'Guidance - Different Authors'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... exts 0..* (Complex) CHMED Extension
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ 1..1 code active | 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.

... Slices for medication[x] Σ 1..1 Reference() What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference SΣ 0..1 Reference(CHMED Medication) {c} Medicament
... subject Σ 1..1 Reference(CHMED Patient (CARD)) The patient
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... informationSource 0..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) PractitionerRole for 'prscbBy' or Patient/RelatedPerson for 'autoMed'
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... reasonCode 0..1 CodeableConcept Treatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


.... text SΣ 0..1 string Reason for applying the medication (the reason for the medication treatment)
... Slices for dosage S 1..* Dosage Posology
Slice: Unordered, Closed by profile:$this
.... dosage:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... additionalInstruction Σ 0..* CodeableConcept Information whether a medicament must be taken relative to a meal
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


..... patientInstruction Σ 0..1 string Application instructions (further information on how to apply the medication, e.g. take before meals)
..... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
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.

...... asNeededBoolean boolean
...... asNeededCodeableConcept CodeableConcept
...... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Reserve medication (true if in reserve; false otherwise)
..... route Σ 0..1 CodeableConcept The route of administration
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..1 CodeableConcept The method of administration
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... dosage:baseEntry C 1..1 CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..* CHEMEDDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
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..* CHEMEDMedicationStatementCard CHMED MedicationStatement
... 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.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 1..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... substitution 0..1 CodeableConcept CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... treatmentPlan 0..1 (Complex) Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... authorDocument 0..1 Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson) "Last" author of the original document if different from the author of the medical decision (MedicationStatement.informationSource), see also 'Guidance - Different Authors'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... exts 0..* (Complex) CHMED Extension
URL: http://chmed.emediplan.ch/fhir/StructureDefinition/chmed-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) Part of referenced event
... status ?!Σ 1..1 code active | 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 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept Type 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.

... Slices for medication[x] Σ 1..1 Reference() What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference SΣ 0..1 Reference(CHMED Medication) {c} Medicament
... subject Σ 1..1 Reference(CHMED Patient (CARD)) The patient
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 0..1 dateTime When the statement was asserted?
... informationSource 0..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) PractitionerRole for 'prscbBy' or Patient/RelatedPerson for 'autoMed'
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... derivedFrom 0..* Reference(Resource) Additional supporting information
... reasonCode 0..1 CodeableConcept Treatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being 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
.... coding Σ 0..* Coding Code defined by a terminology system
.... text SΣ 0..1 string Reason for applying the medication (the reason for the medication treatment)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Condition or observation that supports why the medication is being/was taken
... note 0..* Annotation Annotation comment
... Slices for dosage S 1..* Dosage Posology
Slice: Unordered, Closed by profile:$this
.... dosage:All Slices Content/Rules for all slices
..... 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 Extensions that cannot be ignored even if unrecognized
..... sequence Σ 0..1 integer The order of the dosage instructions
..... text Σ 0..1 string Free text dosage instructions e.g. SIG
..... additionalInstruction Σ 0..* CodeableConcept Information whether a medicament must be taken relative to a meal
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


..... patientInstruction Σ 0..1 string Application instructions (further information on how to apply the medication, e.g. take before meals)
..... timing Σ 0..1 Timing When medication should be 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
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... event Σ 0..* dateTime When the event occurs
...... repeat ΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... Slices for bounds[x] Σ 0..1 Length/Range of lengths, or (Start and/or end) limits
Slice: Unordered, Open by type:$this
........ boundsDuration Duration
........ boundsRange Range
........ boundsPeriod Period
........ bounds[x]:boundsPeriod Σ 0..1 Period Length/Range of lengths, or (Start and/or end) limits
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... start ΣC 0..1 dateTime From date (start date of medication treatment)
......... end ΣC 0..1 dateTime To date (end date of medication treatment)
....... count Σ 0..1 positiveInt Number of times to repeat
....... countMax Σ 0..1 positiveInt Maximum number of times to repeat
....... duration Σ 0..1 decimal How long when it happens
....... durationMax Σ 0..1 decimal How long when it happens (Max)
....... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

....... frequency Σ 0..1 positiveInt Event occurs frequency times per period
....... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
....... period Σ 0..1 decimal Event occurs frequency times per period
....... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
....... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

....... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
....... timeOfDay Σ 0..* time Time of day for action
....... when Σ 0..* code Details of the posology
Binding: EventTiming (required): Real world event relating to the schedule.


....... offset Σ 0..1 unsignedInt Minutes from event (before or after)
...... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

..... Slices for asNeeded[x] Σ 0..1 Take "as needed" (for x)
Slice: Unordered, Open by type:$this
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.

...... asNeededBoolean boolean
...... asNeededCodeableConcept CodeableConcept
...... asNeeded[x]:asNeededBoolean Σ 0..1 boolean Reserve medication (true if in reserve; false otherwise)
..... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

..... route Σ 0..1 CodeableConcept The route of administration
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..1 CodeableConcept The method of administration
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

..... doseAndRate Σ 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): The kind of dose or rate specified.

...... dose[x] Σ 0..1 The quantity unit
....... doseRange Range
....... doseQuantity Quantity(SimpleQuantity)
...... rate[x] Σ 0..1 Amount of medication per unit of time
....... rateRatio Ratio
....... rateRange Range
....... rateQuantity Quantity(SimpleQuantity)
..... 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
.... dosage:baseEntry C 1..1 CHEMEDDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..* CHEMEDDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.informationSource.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
MedicationStatement.dosage.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
from the FHIR Standard
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
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()
tim-1errorMedicationStatement.dosage.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorMedicationStatement.dosage.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorMedicationStatement.dosage.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorMedicationStatement.dosage.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorMedicationStatement.dosage.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorMedicationStatement.dosage.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorMedicationStatement.dosage.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorMedicationStatement.dosage.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorMedicationStatement.dosage.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from CHEMEDMedicationStatementCard

Summary

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of MedicationStatement.dosage.timing.repeat.bounds[x]
  • The element 1 is sliced based on the value of MedicationStatement.dosage.asNeeded[x]

 

Other representations of profile: CSV, Excel, Schematron