openIMIS FHIR R4 Implementation Guide
1.0.0 - ci-build
openIMIS FHIR R4 Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions
Official URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/openimis-medication | Version: 1.0.0 | |||
Active as of 2022-05-31 | Responsible: openIMIS Initiative | Computable Name: OpenIMISMedication |
Defines a Medication for openIMIS which maps to a Medical Item.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet / Code |
Medication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Medication.extension:level.value[x]:valueCodeableConcept | required | Pattern: M("Medication") |
Medication.identifier.use | required | IdentifierUse |
Medication.identifier.type | extensible | Identifier Type Codes |
Medication.identifier.type.coding.code | required | OpenIMISIdentifierVS |
Medication.identifier:Code.use | required | IdentifierUse |
Medication.identifier:Code.type | extensible | Identifier Type Codes |
Medication.identifier:UUID.use | required | IdentifierUse |
Medication.identifier:UUID.type | extensible | Identifier Type Codes |
Medication.code | example | SNOMEDCTMedicationCodes |
Medication.status | required | Pattern: active |
Medication.form | example | SNOMEDCTFormCodes |
Medication.amount.numerator.comparator | required | QuantityComparator |
Id | Grade | Path | Details | Requirements |
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | Medication.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.extension:useContext | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.extension:useContext | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.extension:unitPrice | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.extension:unitPrice | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.extension:timing | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.extension:timing | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.extension:type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.extension:type | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.extension:level | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.extension:level | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.extension:level.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.extension:level.value[x]:valueCodeableConcept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier.type.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier.type.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier.type.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier.type.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.type.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier:Code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier:Code.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier:Code.type.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier:Code.type.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier:Code.type.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier:Code.type.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.type.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:Code.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier:UUID.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier:UUID.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier:UUID.type.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier:UUID.type.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.identifier:UUID.type.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.identifier:UUID.type.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.type.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.identifier:UUID.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.code.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.code.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.form | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.amount.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.amount.numerator | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount.numerator.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.amount.numerator.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.amount.numerator.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount.numerator.comparator | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount.numerator.unit | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount.numerator.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.amount.numerator.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.ingredient.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.ingredient.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.ingredient.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.ingredient.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.ingredient.item[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.ingredient.isActive | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.ingredient.strength | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.batch.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.batch.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.batch.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Medication.batch.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Medication.batch.lotNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Medication.batch.expirationDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |