International Patient Summary Implementation Guide
1.0.0 - STU 1

This page is part of the International Patient Summary Implementation Guide (v1.0.0: STU 1) based on FHIR R4. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions

StructureDefinition: MedicationIPS

This profile represents the constraints applied to the Medication resource by the International Patient Summary (IPS) FHIR Implementation Guide, based on FHIR R4. A medication is described in the patient summary as an instance of a Medication resource constrained by this profile.

The official URL for this profile is:

http://hl7.org/fhir/uv/ips/StructureDefinition/Medication-uv-ips

Formal Views of Profile Content

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

This structure is derived from Medication

Summary

Mandatory: 1 element
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Medication.code is sliced based on the value of pattern:$this

This structure is derived from Medication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication S0..*MedicationDefinition of a Medication
... code S1..1(Slice Definition)Medication that was administered or was to be administered (medication code from any code system)
Slice: Unordered, Open by pattern:$this
Binding: Medications (example) - IPS (example)
.... code:atcClass S0..1CodeableConceptIPSWHO ATC classification
Binding: WHO ATC - IPS (required)
.... code:snomed S0..1CodeableConceptIPSSNOMED CT medications
Binding: Medications (SNOMED CT) - IPS (required)
... form S0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Doseform - IPS (preferred)
... ingredient S0..*BackboneElementActive or inactive ingredient
.... itemCodeableConcept S1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Active Substances - IPS (preferred)
..... text S0..1stringPlain text representation of the concept
.... strength S0..1RatioIPSA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication SI0..*MedicationDefinition of a Medication
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierBusiness identifier for this medication
... code SΣI1..1(Slice Definition)Medication that was administered or was to be administered (medication code from any code system)
Slice: Unordered, Open by pattern:$this
Binding: Medications (example) - IPS (example)
.... code:atcClass SI0..1CodeableConceptIPSWHO ATC classification
Binding: WHO ATC - IPS (required)
.... code:snomed SI0..1CodeableConceptIPSSNOMED CT medications
Binding: Medications (SNOMED CT) - IPS (required)
... status ?!ΣI0..1codeactive | inactive | entered-in-error
Binding: Medication Status Codes (required)
... manufacturer ΣI0..1Reference(Organization)Manufacturer of the item
... form SI0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Doseform - IPS (preferred)
... amount ΣI0..1RatioAmount of drug in package
... ingredient SI0..*BackboneElementActive or inactive ingredient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... item[x] I1..1(Slice Definition)The actual ingredient or content
Slice: Unordered, Closed by type:$this
..... item[x]:itemCodeableConcept SI1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Active Substances - IPS (preferred)
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding SI0..*CodingIPSA reference to a code defined by a terminology system
...... text SΣI0..1stringPlain text representation of the concept
.... isActive I0..1booleanActive ingredient indicator
.... strength SI0..1RatioIPSA ratio of two Quantity values - a numerator and a denominator
... batch I0..1BackboneElementDetails about packaged medications
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... lotNumber I0..1stringIdentifier assigned to batch
.... expirationDate I0..1dateTimeWhen batch will expire

doco Documentation for this format

This structure is derived from Medication

Summary

Mandatory: 1 element
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Medication.code is sliced based on the value of pattern:$this

Differential View

This structure is derived from Medication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication S0..*MedicationDefinition of a Medication
... code S1..1(Slice Definition)Medication that was administered or was to be administered (medication code from any code system)
Slice: Unordered, Open by pattern:$this
Binding: Medications (example) - IPS (example)
.... code:atcClass S0..1CodeableConceptIPSWHO ATC classification
Binding: WHO ATC - IPS (required)
.... code:snomed S0..1CodeableConceptIPSSNOMED CT medications
Binding: Medications (SNOMED CT) - IPS (required)
... form S0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Doseform - IPS (preferred)
... ingredient S0..*BackboneElementActive or inactive ingredient
.... itemCodeableConcept S1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Active Substances - IPS (preferred)
..... text S0..1stringPlain text representation of the concept
.... strength S0..1RatioIPSA ratio of two Quantity values - a numerator and a denominator

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication SI0..*MedicationDefinition of a Medication
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierBusiness identifier for this medication
... code SΣI1..1(Slice Definition)Medication that was administered or was to be administered (medication code from any code system)
Slice: Unordered, Open by pattern:$this
Binding: Medications (example) - IPS (example)
.... code:atcClass SI0..1CodeableConceptIPSWHO ATC classification
Binding: WHO ATC - IPS (required)
.... code:snomed SI0..1CodeableConceptIPSSNOMED CT medications
Binding: Medications (SNOMED CT) - IPS (required)
... status ?!ΣI0..1codeactive | inactive | entered-in-error
Binding: Medication Status Codes (required)
... manufacturer ΣI0..1Reference(Organization)Manufacturer of the item
... form SI0..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Doseform - IPS (preferred)
... amount ΣI0..1RatioAmount of drug in package
... ingredient SI0..*BackboneElementActive or inactive ingredient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... item[x] I1..1(Slice Definition)The actual ingredient or content
Slice: Unordered, Closed by type:$this
..... item[x]:itemCodeableConcept SI1..1CodeableConceptIPSConcept - reference to a terminology or just text
Binding: Medicine Active Substances - IPS (preferred)
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... coding SI0..*CodingIPSA reference to a code defined by a terminology system
...... text SΣI0..1stringPlain text representation of the concept
.... isActive I0..1booleanActive ingredient indicator
.... strength SI0..1RatioIPSA ratio of two Quantity values - a numerator and a denominator
... batch I0..1BackboneElementDetails about packaged medications
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... lotNumber I0..1stringIdentifier assigned to batch
.... expirationDate I0..1dateTimeWhen batch will expire

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Medication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Medication.codeexampleMedicationCodesUvIps
Medication.code:atcClassrequiredWhoAtcUvIps
Medication.code:snomedrequiredMedicationSnomedCodesUvIps
Medication.statusrequiredMedication Status Codes
Medication.formpreferredDoseFormUvIps
Medication.ingredient.item[x]:itemCodeableConceptpreferredActiveSubstancesUvIps

Constraints

Constraints

IdPathDetailsRequirements
dom-2MedicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MedicationIf 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-4MedicationIf 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-5MedicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MedicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1Medication.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.code:atcClassAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.code:snomedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.manufacturerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.formAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.amountAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.ingredient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.ingredient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.ingredient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.ingredient.item[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredient.item[x]:itemCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredient.item[x]:itemCodeableConcept.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.ingredient.item[x]:itemCodeableConcept.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.ingredient.item[x]:itemCodeableConcept.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredient.item[x]:itemCodeableConcept.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredient.isActiveAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.ingredient.strengthAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
rat-1Medication.ingredient.strengthNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
ele-1Medication.batchAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.batch.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.batch.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.batch.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Medication.batch.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Medication.batch.lotNumberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Medication.batch.expirationDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())