Medication Scheme Implementation Guide
1.0.0 - draft Estonia flag

Medication Scheme Implementation Guide, published by TEHIK. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/TEHIK-EE/ig-ee-medication-scheme/ and changes regularly. See the Directory of published versions

Resource Profile: EETISMedicationList

Official URL: https://fhir.ee/StructureDefinition/ee-tis-medication-list Version: 1.0.0
Draft as of 2024-01-19 Computable Name: EETISMedicationList

Ravimiskeem. This profile gathers patient's medications in one list for better overview of the whole medication scheme

Usage:

Formal Views of Profile Content

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

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..* List Medication scheme. List of patient's medication.
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... consent 0..1 boolean Consent with medication interactions.
URL: https://fhir.ee/StructureDefinition/ee-tis-consent-with-interactions
... status 1..1 code current | retired | entered-in-error
Fixed Value: current
... mode 1..1 code working | snapshot | changes
Fixed Value: snapshot
... code 0..1 CodeableConcept Ravimiskeem
Fixed Value: As shown
.... coding 1..1 Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/list-example-use-codes
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: medications
..... display 1..1 string Representation defined by the system
Fixed Value: Medication List
.... text 1..1 string Plain text representation of the concept
Fixed Value: Medication List
... subject 1..1 Reference(EE MPI Patient Verified) If all resources have the same subject(s)
... encounter 0..0
... source 1..1 Reference(EETISPractitioner | EETISPractitionerRole) Who and/or what defined the list contents (aka Author)
... entry
.... deleted 0..0
.... date 0..1 dateTime When entry flag is unchanged entry date does not change. When entry flag is something else than ´unchanged´ the entry date is also changed
.... item 1..1 Reference(EETISMedicationStatement) Actual entry
... emptyReason 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List Medication scheme. List of patient's medication.
lst-1: A list can only have an emptyReason if it is empty
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... consent 0..1 boolean Consent with medication interactions.
URL: https://fhir.ee/StructureDefinition/ee-tis-consent-with-interactions
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... title Σ 0..1 string Medication Scheme
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept Ravimiskeem
Binding: ExampleUseCodesForList (example): What the purpose of a list is.


Fixed Value: As shown
.... id 0..0 string Unique id for inter-element referencing
.... extension 0..0 Extension Additional content defined by implementations
.... coding 1..1 Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..0 string Unique id for inter-element referencing
..... extension 0..0 Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/list-example-use-codes
..... version 0..0 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: medications
..... display 1..1 string Representation defined by the system
Fixed Value: Medication List
..... userSelected 0..0 boolean If this coding was chosen directly by the user
.... text 1..1 string Plain text representation of the concept
Fixed Value: Medication List
... subject Σ 1..1 Reference(EE MPI Patient Verified) If all resources have the same subject(s)
... source Σ 1..1 Reference(EETISPractitioner | EETISPractitionerRole) Who and/or what defined the list contents (aka Author)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
List.statusrequiredFixed Value: current
http://hl7.org/fhir/ValueSet/list-status|5.0.0
from the FHIR Standard
List.moderequiredFixed Value: snapshot
http://hl7.org/fhir/ValueSet/list-mode|5.0.0
from the FHIR Standard
List.codeexampleFixed Value: "Medication List"
http://hl7.org/fhir/ValueSet/list-example-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List Medication scheme. List of patient's medication.
lst-1: A list can only have an emptyReason if it is empty
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... consent 0..1 boolean Consent with medication interactions.
URL: https://fhir.ee/StructureDefinition/ee-tis-consent-with-interactions
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Business identifier
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... title Σ 0..1 string Medication Scheme
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept Ravimiskeem
Binding: ExampleUseCodesForList (example): What the purpose of a list is.


Fixed Value: As shown
.... id 0..0 string Unique id for inter-element referencing
.... extension 0..0 Extension Additional content defined by implementations
.... coding 1..1 Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..0 string Unique id for inter-element referencing
..... extension 0..0 Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/list-example-use-codes
..... version 0..0 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: medications
..... display 1..1 string Representation defined by the system
Fixed Value: Medication List
..... userSelected 0..0 boolean If this coding was chosen directly by the user
.... text 1..1 string Plain text representation of the concept
Fixed Value: Medication List
... subject Σ 1..1 Reference(EE MPI Patient Verified) If all resources have the same subject(s)
... date Σ 0..1 dateTime When the list was prepared
... source Σ 1..1 Reference(EETISPractitioner | EETISPractitionerRole) Who and/or what defined the list contents (aka Author)
... orderedBy 0..1 CodeableConcept What order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..* Annotation Comments about the list
... entry C 0..* BackboneElement Entries in the list
This repeating element order: Order has no meaning unless specifically asserted by List.orderedBy, in which case the List SHALL be interpreted as being ordered as specified by List.orderedBy.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... flag 0..1 CodeableConcept Status/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... date 0..1 dateTime When entry flag is unchanged entry date does not change. When entry flag is something else than ´unchanged´ the entry date is also changed
.... item 1..1 Reference(EETISMedicationStatement) Actual entry

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
List.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
List.statusrequiredFixed Value: current
http://hl7.org/fhir/ValueSet/list-status|5.0.0
from the FHIR Standard
List.moderequiredFixed Value: snapshot
http://hl7.org/fhir/ValueSet/list-mode|5.0.0
from the FHIR Standard
List.codeexampleFixed Value: "Medication List"
http://hl7.org/fhir/ValueSet/list-example-codes
from the FHIR Standard
List.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
List.entry.flagexamplePatientMedicineChangeTypes
http://hl7.org/fhir/ValueSet/list-item-flag
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()

Differential View

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..* List Medication scheme. List of patient's medication.
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... consent 0..1 boolean Consent with medication interactions.
URL: https://fhir.ee/StructureDefinition/ee-tis-consent-with-interactions
... status 1..1 code current | retired | entered-in-error
Fixed Value: current
... mode 1..1 code working | snapshot | changes
Fixed Value: snapshot
... code 0..1 CodeableConcept Ravimiskeem
Fixed Value: As shown
.... coding 1..1 Coding Code defined by a terminology system
Fixed Value: (complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/list-example-use-codes
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: medications
..... display 1..1 string Representation defined by the system
Fixed Value: Medication List
.... text 1..1 string Plain text representation of the concept
Fixed Value: Medication List
... subject 1..1 Reference(EE MPI Patient Verified) If all resources have the same subject(s)
... encounter 0..0
... source 1..1 Reference(EETISPractitioner | EETISPractitionerRole) Who and/or what defined the list contents (aka Author)
... entry
.... deleted 0..0
.... date 0..1 dateTime When entry flag is unchanged entry date does not change. When entry flag is something else than ´unchanged´ the entry date is also changed
.... item 1..1 Reference(EETISMedicationStatement) Actual entry
... emptyReason 0..0

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List Medication scheme. List of patient's medication.
lst-1: A list can only have an emptyReason if it is empty
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... consent 0..1 boolean Consent with medication interactions.
URL: https://fhir.ee/StructureDefinition/ee-tis-consent-with-interactions
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... title Σ 0..1 string Medication Scheme
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept Ravimiskeem
Binding: ExampleUseCodesForList (example): What the purpose of a list is.


Fixed Value: As shown
.... id 0..0 string Unique id for inter-element referencing
.... extension 0..0 Extension Additional content defined by implementations
.... coding 1..1 Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..0 string Unique id for inter-element referencing
..... extension 0..0 Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/list-example-use-codes
..... version 0..0 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: medications
..... display 1..1 string Representation defined by the system
Fixed Value: Medication List
..... userSelected 0..0 boolean If this coding was chosen directly by the user
.... text 1..1 string Plain text representation of the concept
Fixed Value: Medication List
... subject Σ 1..1 Reference(EE MPI Patient Verified) If all resources have the same subject(s)
... source Σ 1..1 Reference(EETISPractitioner | EETISPractitionerRole) Who and/or what defined the list contents (aka Author)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
List.statusrequiredFixed Value: current
http://hl7.org/fhir/ValueSet/list-status|5.0.0
from the FHIR Standard
List.moderequiredFixed Value: snapshot
http://hl7.org/fhir/ValueSet/list-mode|5.0.0
from the FHIR Standard
List.codeexampleFixed Value: "Medication List"
http://hl7.org/fhir/ValueSet/list-example-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List Medication scheme. List of patient's medication.
lst-1: A list can only have an emptyReason if it is empty
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... consent 0..1 boolean Consent with medication interactions.
URL: https://fhir.ee/StructureDefinition/ee-tis-consent-with-interactions
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Business identifier
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Fixed Value: current
... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.


Fixed Value: snapshot
... title Σ 0..1 string Medication Scheme
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept Ravimiskeem
Binding: ExampleUseCodesForList (example): What the purpose of a list is.


Fixed Value: As shown
.... id 0..0 string Unique id for inter-element referencing
.... extension 0..0 Extension Additional content defined by implementations
.... coding 1..1 Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..0 string Unique id for inter-element referencing
..... extension 0..0 Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/list-example-use-codes
..... version 0..0 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: medications
..... display 1..1 string Representation defined by the system
Fixed Value: Medication List
..... userSelected 0..0 boolean If this coding was chosen directly by the user
.... text 1..1 string Plain text representation of the concept
Fixed Value: Medication List
... subject Σ 1..1 Reference(EE MPI Patient Verified) If all resources have the same subject(s)
... date Σ 0..1 dateTime When the list was prepared
... source Σ 1..1 Reference(EETISPractitioner | EETISPractitionerRole) Who and/or what defined the list contents (aka Author)
... orderedBy 0..1 CodeableConcept What order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..* Annotation Comments about the list
... entry C 0..* BackboneElement Entries in the list
This repeating element order: Order has no meaning unless specifically asserted by List.orderedBy, in which case the List SHALL be interpreted as being ordered as specified by List.orderedBy.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... flag 0..1 CodeableConcept Status/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... date 0..1 dateTime When entry flag is unchanged entry date does not change. When entry flag is something else than ´unchanged´ the entry date is also changed
.... item 1..1 Reference(EETISMedicationStatement) Actual entry

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
List.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
List.statusrequiredFixed Value: current
http://hl7.org/fhir/ValueSet/list-status|5.0.0
from the FHIR Standard
List.moderequiredFixed Value: snapshot
http://hl7.org/fhir/ValueSet/list-mode|5.0.0
from the FHIR Standard
List.codeexampleFixed Value: "Medication List"
http://hl7.org/fhir/ValueSet/list-example-codes
from the FHIR Standard
List.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
List.entry.flagexamplePatientMedicineChangeTypes
http://hl7.org/fhir/ValueSet/list-item-flag
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()

 

Other representations of profile: CSV, Excel, Schematron