AU Core Implementation Guide
0.2.0-preview - QA Preview Australia flag

This page is part of the Australian Core IG (v0.2.0-preview: AU Core) based on FHIR R4. For a full list of available versions, see the Directory of published versions

Resource Profile: AU Core List

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-list Version: 0.2.0-preview
Standards status: Draft Maturity Level: 0 Computable Name: AUListCore

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a List resource to record, search, and fetch information about a location. It is based on the core FHIR List resource and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the List when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

Usage scenarios

The following are supported usage scenarios for this profile:

  • Query for lists associated with a patient
  • Record or update an list associated with a patient

Comparison with other national and international specifications

No equivalent International Patient Access, International Patient Summary or US Core profile.

Profile specific implementation guidance

  • When a related person is the author of the list, the [Author as a RelatedPerson]((https://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-author-related-person.html) extension is used and List.source is not included.
  • When constructing a medicine list see the AU Medicine List profile in AU Base.

Specific feedback is sought on the set of lists and associated codes to be supported in Australia.

Composition, DocumentReference, DiagnosticReport, and List resources support support the exchange of clinical notes. Specific feedback is sought on resource selection to form agreement on the clinical notes that SHOULD be exposed via List.

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 C0..*ListA list is a curated collection of resources
au-core-lst-01: The list shall have at least a source or a source relating person
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... sourceRelatedPerson SC0..1Reference(RelatedPerson)Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... identifier S0..*IdentifierBusiness identifier
... mode S1..1codeworking | snapshot | changes
... title S0..1stringDescriptive name for the list
... code S1..1CodeableConceptWhat the purpose of this list is
... subject S1..1Reference(AU Core Patient)If all resources have the same subject
... encounter S0..1Reference(AU Core Encounter)Context in which list created
... date SC1..1dateTimeWhen the list was prepared
au-core-lst-02: Date shall be at least to day
... source SC0..1Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core System Device)Who and/or what defined the list contents (aka Author)
... note S0..*AnnotationComments about the list
... entry S0..*BackboneElementEntries in the list
.... changeDescription 0..1stringDescription of the change item
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... flag S0..1CodeableConceptStatus/Workflow information about this item
.... item S1..1Reference(Resource)Actual entry
... emptyReason S0..1CodeableConceptWhy list is empty

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-lst-01errorListThe list shall have at least a source or a source relating person
: source.exists() or extension('http://hl7.org.au/fhir/StructureDefinition/author-related-person').exists()
au-core-lst-02errorList.dateDate shall be at least to day
: toString().length() >= 10
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
au-core-lst-01: The list shall have at least a source or a source relating person
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... sourceRelatedPerson SC0..1Reference(RelatedPerson)Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... identifier S0..*IdentifierBusiness identifier
... status ?!SΣ1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Required Pattern: current
... mode ?!SΣ1..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

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

... subject SΣ1..1Reference(AU Core Patient)If all resources have the same subject
... encounter S0..1Reference(AU Core Encounter)Context in which list created
... date SΣC1..1dateTimeWhen the list was prepared
au-core-lst-02: Date shall be at least to day
... source SΣC0..1Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core System Device)Who and/or what defined the list contents (aka Author)
... note S0..*AnnotationComments about the list
... entry SC0..*BackboneElementEntries in the list
.... changeDescription 0..1stringDescription of the change item
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... flag S0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C0..1booleanIf this item is actually marked as deleted
.... item S1..1Reference(Resource)Actual entry
... emptyReason SC0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
List.statusrequiredPattern: current
List.moderequiredListMode
List.codeexampleExampleUseCodesForList
List.entry.flagexamplePatientMedicineChangeTypes
List.emptyReasonpreferredListEmptyReasons

Constraints

IdGradePath(s)DetailsRequirements
au-core-lst-01errorListThe list shall have at least a source or a source relating person
: source.exists() or extension('http://hl7.org.au/fhir/StructureDefinition/author-related-person').exists()
au-core-lst-02errorList.dateDate shall be at least to day
: toString().length() >= 10
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
au-core-lst-01: The list shall have at least a source or a source relating person
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... sourceRelatedPerson SC0..1Reference(RelatedPerson)Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S0..*IdentifierBusiness identifier
... status ?!SΣ1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Required Pattern: current
... mode ?!SΣ1..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

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

... subject SΣ1..1Reference(AU Core Patient)If all resources have the same subject
... encounter S0..1Reference(AU Core Encounter)Context in which list created
... date SΣC1..1dateTimeWhen the list was prepared
au-core-lst-02: Date shall be at least to day
... source SΣC0..1Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core System Device)Who and/or what defined the list contents (aka Author)
... orderedBy 0..1CodeableConceptWhat order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note S0..*AnnotationComments about the list
... entry SC0..*BackboneElementEntries in the list
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... changeDescription 0..1stringDescription of the change item
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... flag S0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C0..1booleanIf this item is actually marked as deleted
.... date 0..1dateTimeWhen item added to list
.... item S1..1Reference(Resource)Actual entry
... emptyReason SC0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
List.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
List.statusrequiredPattern: current
List.moderequiredListMode
List.codeexampleExampleUseCodesForList
List.orderedBypreferredListOrderCodes
List.entry.flagexamplePatientMedicineChangeTypes
List.emptyReasonpreferredListEmptyReasons

Constraints

IdGradePath(s)DetailsRequirements
au-core-lst-02errorList.dateDate shall be at least to day
: toString().length() >= 10

Differential View

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
au-core-lst-01: The list shall have at least a source or a source relating person
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... sourceRelatedPerson SC0..1Reference(RelatedPerson)Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... identifier S0..*IdentifierBusiness identifier
... mode S1..1codeworking | snapshot | changes
... title S0..1stringDescriptive name for the list
... code S1..1CodeableConceptWhat the purpose of this list is
... subject S1..1Reference(AU Core Patient)If all resources have the same subject
... encounter S0..1Reference(AU Core Encounter)Context in which list created
... date SC1..1dateTimeWhen the list was prepared
au-core-lst-02: Date shall be at least to day
... source SC0..1Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core System Device)Who and/or what defined the list contents (aka Author)
... note S0..*AnnotationComments about the list
... entry S0..*BackboneElementEntries in the list
.... changeDescription 0..1stringDescription of the change item
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... flag S0..1CodeableConceptStatus/Workflow information about this item
.... item S1..1Reference(Resource)Actual entry
... emptyReason S0..1CodeableConceptWhy list is empty

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-lst-01errorListThe list shall have at least a source or a source relating person
: source.exists() or extension('http://hl7.org.au/fhir/StructureDefinition/author-related-person').exists()
au-core-lst-02errorList.dateDate shall be at least to day
: toString().length() >= 10

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
au-core-lst-01: The list shall have at least a source or a source relating person
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... sourceRelatedPerson SC0..1Reference(RelatedPerson)Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... identifier S0..*IdentifierBusiness identifier
... status ?!SΣ1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Required Pattern: current
... mode ?!SΣ1..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

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

... subject SΣ1..1Reference(AU Core Patient)If all resources have the same subject
... encounter S0..1Reference(AU Core Encounter)Context in which list created
... date SΣC1..1dateTimeWhen the list was prepared
au-core-lst-02: Date shall be at least to day
... source SΣC0..1Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core System Device)Who and/or what defined the list contents (aka Author)
... note S0..*AnnotationComments about the list
... entry SC0..*BackboneElementEntries in the list
.... changeDescription 0..1stringDescription of the change item
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... flag S0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C0..1booleanIf this item is actually marked as deleted
.... item S1..1Reference(Resource)Actual entry
... emptyReason SC0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
List.statusrequiredPattern: current
List.moderequiredListMode
List.codeexampleExampleUseCodesForList
List.entry.flagexamplePatientMedicineChangeTypes
List.emptyReasonpreferredListEmptyReasons

Constraints

IdGradePath(s)DetailsRequirements
au-core-lst-01errorListThe list shall have at least a source or a source relating person
: source.exists() or extension('http://hl7.org.au/fhir/StructureDefinition/author-related-person').exists()
au-core-lst-02errorList.dateDate shall be at least to day
: toString().length() >= 10

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C0..*ListA list is a curated collection of resources
au-core-lst-01: The list shall have at least a source or a source relating person
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... sourceRelatedPerson SC0..1Reference(RelatedPerson)Related person that defined the list contents (aka Author)
URL: http://hl7.org.au/fhir/StructureDefinition/author-related-person
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S0..*IdentifierBusiness identifier
... status ?!SΣ1..1codecurrent | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.


Required Pattern: current
... mode ?!SΣ1..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

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

... subject SΣ1..1Reference(AU Core Patient)If all resources have the same subject
... encounter S0..1Reference(AU Core Encounter)Context in which list created
... date SΣC1..1dateTimeWhen the list was prepared
au-core-lst-02: Date shall be at least to day
... source SΣC0..1Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core System Device)Who and/or what defined the list contents (aka Author)
... orderedBy 0..1CodeableConceptWhat order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note S0..*AnnotationComments about the list
... entry SC0..*BackboneElementEntries in the list
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... changeDescription 0..1stringDescription of the change item
URL: http://hl7.org.au/fhir/StructureDefinition/change-description
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... flag S0..1CodeableConceptStatus/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C0..1booleanIf this item is actually marked as deleted
.... date 0..1dateTimeWhen item added to list
.... item S1..1Reference(Resource)Actual entry
... emptyReason SC0..1CodeableConceptWhy list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
List.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
List.statusrequiredPattern: current
List.moderequiredListMode
List.codeexampleExampleUseCodesForList
List.orderedBypreferredListOrderCodes
List.entry.flagexamplePatientMedicineChangeTypes
List.emptyReasonpreferredListEmptyReasons

Constraints

IdGradePath(s)DetailsRequirements
au-core-lst-02errorList.dateDate shall be at least to day
: toString().length() >= 10

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Below is an overview of the mandatory and optional search parameters and combined search parameters. FHIR search operations and the syntax used to describe the interactions is described here.

Any search parameter defined in FHIR may be ‘allowed’ by the system unless explicitly marked as “SHALL NOT”. A few items are marked as MAY in this implementation guide to highlight their potential relevance.

Parameter(s) Conformance Type(s) Requirements (when used alone or in combination)
_id SHALL token
patient SHALL reference The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.
identifier SHOULD token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.
patient.identifier SHOULD reference.token The client SHALL provide both the system and code values. The server SHALL support both.

The client SHOULD support search using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile. The server SHOULD support search using the using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile.
patient+code SHOULD reference+token
patient+code+date SHOULD reference+token+date
patient+status SHOULD reference+token
code MAY token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.
date MAY date A client SHALL provide a value precise to the second + time offset. A server SHALL support a value precise to the second + time offset.
encounter MAY reference The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.
status MAY token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.

Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

  1. SHOULD support fetching a List using the _id search parameter:
    • SHALL support these _revinclude parameters: Provenance:target

    GET [base]/List/[id] or GET [base]/List?_id=[id]

    Example:

    1. GET [base]/List/98767
    2. GET [base]/List?_id=98767

    Implementation Notes: Fetches a single List. (how to search by the logical id of the resource)

  2. SHALL support searching using the patient search parameter:
    • SHALL support these _revinclude parameters: Provenance:target
    • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])

    GET [base]/List?patient={Type/}[id] or optionally GET [base]/List?patient.identifier=[system|][code]

    Example:

    1. GET [base]/List?patient=5678
    2. GET [base]/List?patient.identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952
    3. GET [base]/List?patient.identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361

    Implementation Notes: Fetches a bundle of all List resources for the specified patient (how to search by reference and how to search by token)

Optional Search Parameters:

The following search parameters and search parameter combinations SHOULD be supported:

  1. SHOULD support searching using the identifier search parameter:
    • SHALL support these _revinclude parameters: Provenance:target

    GET [base]/List?identifier={system|}[code]

    Example:

    1. GET [base]/List?identifier=http://laboratory.example.org|1032333
    2. GET [base]/List?identifier=http://laboratory.example.org|1032333&_revinclude=Provenance:target

    Implementation Notes: Fetches a bundle containing any List resources matching the identifier (how to search by token)

  2. SHOULD support searching using the combination of the patient and code search parameters:
    • SHALL support these _revinclude parameters: Provenance:target
    • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])
    • SHOULD support multipleOr search on code (e.g.code={system|}[code],{system|}[code],...)

    GET [base]/List?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}

    Example:

    1. GET [base]/List?patient=5678&code=http://loinc.org|10160-0,http://loinc.org|11369-6

    Implementation Notes: Fetches a bundle of all List resources for the specified patient and diagnostic report code(s). The List code parameter searches `List.code only. (how to search by reference and how to search by token)

  3. SHOULD support searching using the combination of the patient and code and date search parameters:
    • SHALL support these _revinclude parameters: Provenance:target
    • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code]
    • SHOULD support multipleOr search on code (e.g.code={system|}[code],{system|}[code],...)
    • SHALL support these date comparators: gt,lt,ge,le
    • SHOULD support multipleAnd search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/List?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    Example:

    1. GET [base]/List?patient=5678&code=http://loinc.org|10160-0,http://loinc.org|11369-6&date=ge2020-01-01T00:00:00Z
    2. GET [base]/List?patient.identifier=http://example.org/fhir/mrn|12345&code=http://loinc.org|10160-0,http://loinc.org|11369-6&date=ge2020-01-01T00:00:00Z

    Implementation Notes: Fetches a bundle of all List resources for the specified patient and date and report code(s). (how to search by reference and how to search by token and how to search by date)

  4. SHOULD support searching using the combination of the patient and status search parameters:
    • SHALL support these _revinclude parameters: Provenance:target
    • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])
    • SHALL support multipleOr search on code (e.g.code={system|}[code],{system|}[code],...)

    GET [base]/List?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}

    Example:

    1. GET [base]/List?patient=5678&status=final

    Implementation Notes: Fetches a bundle of all List resources for the specified patient and status (how to search by reference and how to search by token)