AU Base Implementation Guide
4.2.2-ci-build - CI Build Australia flag

AU Base Implementation Guide, published by HL7 Australia. This guide is not an authorized publication; it is the continuous build for version 4.2.2-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7au/au-fhir-base/ and changes regularly. See the Directory of published versions

Resource Profile: AU Medicine List

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-medlist Version: 4.2.2-ci-build
Standards status: Trial-use Maturity Level: 1 Computable Name: AUMedicineList

Copyright/Legal: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved.

This profile defines a list structure that localises core concepts for use as a medicines list in an Australian context. This profile is intended to offer a common structure and expectations for a list of medications associated with a patient in an Australian healthcare context.

Usage Notes

Profile specific implementation guidance:

  • It is important to clearly differentiate between representing the extent of a system’s information for a patient versus clinical judgement of no relevant finding:
    • When asserting clinical judgement that there are no items of specific interest, (e.g. no current medications or no history of vaccination), List.entry.item with a reference to a supported FHIR resource containing the record of assertion should be sent. AU Assertion of No Relevant Finding is defined in this implementation guide for this concept.
    • When a statement is about the nature or extent of the information the system has access to or is permitted to share, (e.g. not asked or information withheld), List.emptyReason should be sent with an appropriate code from the ListEmptyReasons value set.
  • When a related person is the author of the list, the Author as a RelatedPerson extension is used and List.source is not included.
  • If both the List.entry.changeDescription extension and List.entry.flag are populated the extension should only be used to expand on the List.entry.flag concept and not contradict its meaning.

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 A list of medications in an Australian healthcare context
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sourceRelatedPerson 0..1 Reference(RelatedPerson) Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... entry 0..* BackboneElement Entries in the list
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... changeDescription D 0..1 string Change description
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... flag 0..1 CodeableConcept Medicine item change
Binding: Medicine Item Change (preferred)
.... item 1..1 Reference(MedicationStatement | MedicationRequest | MedicationDispense | MedicationAdministration | Immunization | AU Assertion of No Relevant Finding) Actual entry

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
List.entry.flagpreferredMedicineItemChange (a valid code from Medicine Item Change)
http://terminology.hl7.org.au/ValueSet/medicine-item-change
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list of medications in an Australian healthcare context
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sourceRelatedPerson 0..1 Reference(RelatedPerson) Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

... entry C 0..* BackboneElement Entries in the list
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... changeDescription 0..1 string Change description
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... flag 0..1 CodeableConcept Medicine item change
Binding: Medicine Item Change (preferred)
.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... item 1..1 Reference(MedicationStatement | MedicationRequest | MedicationDispense | MedicationAdministration | Immunization | AU Assertion of No Relevant Finding) Actual entry

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
List.entry.flagpreferredMedicineItemChange (a valid code from Medicine Item Change)
http://terminology.hl7.org.au/ValueSet/medicine-item-change
from this IG

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().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-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()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list of medications in an Australian healthcare context
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... 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
.... sourceRelatedPerson 0..1 Reference(RelatedPerson) Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... 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.

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

... title Σ 0..1 string Descriptive name for the list
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept What the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject Σ 0..1 Reference(Patient | Group | Device | Location) If all resources have the same subject
... encounter 0..1 Reference(Encounter) Context in which list created
... date Σ 0..1 dateTime When the list was prepared
... source Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | Device) 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
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... changeDescription 0..1 string Change description
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... flag 0..1 CodeableConcept Medicine item change
Binding: Medicine Item Change (preferred)
.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... date 0..1 dateTime When item added to list
.... item 1..1 Reference(MedicationStatement | MedicationRequest | MedicationDispense | MedicationAdministration | Immunization | AU Assertion of No Relevant Finding) Actual entry
... emptyReason C 0..1 CodeableConcept Why list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
List.codeexampleExampleUseCodesForList
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.flagpreferredMedicineItemChange (a valid code from Medicine Item Change)
http://terminology.hl7.org.au/ValueSet/medicine-item-change
from this IG
List.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
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().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-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()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()

This structure is derived from List

Differential View

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..* List A list of medications in an Australian healthcare context
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sourceRelatedPerson 0..1 Reference(RelatedPerson) Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... entry 0..* BackboneElement Entries in the list
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... changeDescription D 0..1 string Change description
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... flag 0..1 CodeableConcept Medicine item change
Binding: Medicine Item Change (preferred)
.... item 1..1 Reference(MedicationStatement | MedicationRequest | MedicationDispense | MedicationAdministration | Immunization | AU Assertion of No Relevant Finding) Actual entry

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
List.entry.flagpreferredMedicineItemChange (a valid code from Medicine Item Change)
http://terminology.hl7.org.au/ValueSet/medicine-item-change
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list of medications in an Australian healthcare context
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sourceRelatedPerson 0..1 Reference(RelatedPerson) Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

... entry C 0..* BackboneElement Entries in the list
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... changeDescription 0..1 string Change description
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... flag 0..1 CodeableConcept Medicine item change
Binding: Medicine Item Change (preferred)
.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... item 1..1 Reference(MedicationStatement | MedicationRequest | MedicationDispense | MedicationAdministration | Immunization | AU Assertion of No Relevant Finding) Actual entry

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
List.entry.flagpreferredMedicineItemChange (a valid code from Medicine Item Change)
http://terminology.hl7.org.au/ValueSet/medicine-item-change
from this IG

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().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-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()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list of medications in an Australian healthcare context
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... 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
.... sourceRelatedPerson 0..1 Reference(RelatedPerson) Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... 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.

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

... title Σ 0..1 string Descriptive name for the list
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept What the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject Σ 0..1 Reference(Patient | Group | Device | Location) If all resources have the same subject
... encounter 0..1 Reference(Encounter) Context in which list created
... date Σ 0..1 dateTime When the list was prepared
... source Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | Device) 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
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... changeDescription 0..1 string Change description
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... flag 0..1 CodeableConcept Medicine item change
Binding: Medicine Item Change (preferred)
.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... date 0..1 dateTime When item added to list
.... item 1..1 Reference(MedicationStatement | MedicationRequest | MedicationDispense | MedicationAdministration | Immunization | AU Assertion of No Relevant Finding) Actual entry
... emptyReason C 0..1 CodeableConcept Why list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
List.codeexampleExampleUseCodesForList
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.flagpreferredMedicineItemChange (a valid code from Medicine Item Change)
http://terminology.hl7.org.au/ValueSet/medicine-item-change
from this IG
List.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
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().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-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()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()

This structure is derived from List

 

Other representations of profile: CSV, Excel, Schematron