AU Core Implementation Guide
2.0.1-ci-build - CI Build Australia flag

AU Core Implementation Guide, published by HL7 Australia. This guide is not an authorized publication; it is the continuous build for version 2.0.1-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-core/ and changes regularly. See the Directory of published versions

Resource Profile: AU Core Composition

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-composition Version: 2.0.1-ci-build
Standards status: Trial-use Maturity Level: 0 Computable Name: AUCoreComposition

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 Composition resource to record, search, and fetch documents associated with a patient. It is based on the AU Base Composition profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Composition resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

See Comparison with other national and international IGs for a comparison between AU Core profiles and profiles in other implementation guides.

Usage Scenarios

The following are supported usage scenarios for this profile:

  • Query for a document for a patient
  • Record or update a document for a patient

Profile Specific Implementation Guidance

No guidance defined.

Usages:

You can also check for usages in the FHIR IG Statistics

Changes since version 2.0.0:

  • New Content
  • Formal Views of Profile Content

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

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Composition 0..* AUBaseComposition Composition for the Australian realm
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... text SO 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... Slices for extension Content/Rules for all slices
    .... extension:informationRecipient 0..* Reference(Practitioner | Device | Patient | RelatedPerson | PractitionerRole | Organization) Who and/or what should receive a copy of the composition
    URL: http://hl7.org.au/fhir/StructureDefinition/information-recipient
    ... identifier SOΣ 0..1 Identifier Version-independent identifier for the Composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status ?!SOΣ 1..1 code preliminary | final | amended | entered-in-error
    Binding: CompositionStatus (required): The workflow/clinical status of the composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... type SOΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
    Binding: FHIRDocumentTypeCodes (preferred)
    Additional BindingsPurpose
    Common FHIR Document Types in Australia . candidate
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SOΣ 1..1 Reference(AU Core Patient) Who and/or what the composition is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... date SOΣ 1..1 dateTime Composition editing time
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... author SOΣ 1..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core RelatedPerson | AU Core Organization | Device) Who and/or what authored the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... title SOΣ 1..1 string Human Readable name/title
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... attester SO 0..* BackboneElement Attests to accuracy of composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
    .... mode SO 1..1 code personal | professional | legal | official
    Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... time SO 0..1 dateTime When the composition was attested
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... party SO 0..1 Reference(AU Core Patient | AU Core RelatedPerson | AU Core Practitioner | AU Core PractitionerRole | AU Core Organization) Who attested the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... custodian SOΣ 0..1 Reference(AU Core Organization) Organization which maintains the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... section SOC 1..* BackboneElement Composition is broken into sections
    Constraints: cmp-1, cmp-2
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
    .... title SO 1..1 string Label for section (e.g. for ToC)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code SO 0..1 CodeableConcept Classification of section (recommended)
    Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... text SOC 0..1 Narrative Text summary of the section, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Composition.status Base required CompositionStatus 📍4.0.1 FHIR Std.
    Composition.type Base preferred FHIR Document Type Codes 📦4.0.1 FHIR Std.
    Composition.attester.​mode Base required CompositionAttestationMode 📍4.0.1 FHIR Std.
    Composition.section.​code Base example Document Section Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
    cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
    dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice Composition A resource should have narrative for robust management text.`div`.exists()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

    This structure is derived from AUBaseComposition

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Composition 0..* AUBaseComposition Composition for the Australian realm
    ... text SO 0..1 Narrative Text summary of the resource, for human interpretation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... identifier SO 0..1 Identifier Version-independent identifier for the Composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status SO 1..1 code preliminary | final | amended | entered-in-error
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SO 1..1 Reference(AU Core Patient) Who and/or what the composition is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... date SO 1..1 dateTime Composition editing time
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... author SO 1..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core RelatedPerson | AU Core Organization | Device) Who and/or what authored the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... title SO 1..1 string Human Readable name/title
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... attester SO 0..* BackboneElement Attests to accuracy of composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... mode SO 1..1 code personal | professional | legal | official
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... time SO 0..1 dateTime When the composition was attested
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... party SO 0..1 Reference(AU Core Patient | AU Core RelatedPerson | AU Core Practitioner | AU Core PractitionerRole | AU Core Organization) Who attested the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... custodian SO 0..1 Reference(AU Core Organization) Organization which maintains the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... section SO 1..* BackboneElement Composition is broken into sections
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... title SO 1..1 string Label for section (e.g. for ToC)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code SO 0..1 CodeableConcept Classification of section (recommended)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... text SO 0..1 Narrative Text summary of the section, for human interpretation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Composition.type Base preferred FHIR Document Type Codes 📦4.0.1 FHIR Std.
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Composition 0..* AUBaseComposition Composition for the Australian realm
    ... 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 SO 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... contained 0..* Resource Contained, inline Resources
    ... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:informationRecipient 0..* Reference(Practitioner | Device | Patient | RelatedPerson | PractitionerRole | Organization) Who and/or what should receive a copy of the composition
    URL: http://hl7.org.au/fhir/StructureDefinition/information-recipient
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier SOΣ 0..1 Identifier Version-independent identifier for the Composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status ?!SOΣ 1..1 code preliminary | final | amended | entered-in-error
    Binding: CompositionStatus (required): The workflow/clinical status of the composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... type SOΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
    Binding: FHIRDocumentTypeCodes (preferred)
    Additional BindingsPurpose
    Common FHIR Document Types in Australia . candidate
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category Σ 0..* CodeableConcept Categorization of Composition
    Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
    ... subject SOΣ 1..1 Reference(AU Core Patient) Who and/or what the composition is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... encounter Σ 0..1 Reference(Encounter) Context of the Composition
    ... date SOΣ 1..1 dateTime Composition editing time
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... author SOΣ 1..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core RelatedPerson | AU Core Organization | Device) Who and/or what authored the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... title SOΣ 1..1 string Human Readable name/title
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... confidentiality Σ 0..1 code As defined by affinity domain
    Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.
    ... attester SO 0..* BackboneElement Attests to accuracy of composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... 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
    .... mode SO 1..1 code personal | professional | legal | official
    Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... time SO 0..1 dateTime When the composition was attested
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... party SO 0..1 Reference(AU Core Patient | AU Core RelatedPerson | AU Core Practitioner | AU Core PractitionerRole | AU Core Organization) Who attested the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... custodian SOΣ 0..1 Reference(AU Core Organization) Organization which maintains the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... relatesTo 0..* BackboneElement Relationships to other compositions/documents
    .... 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
    .... code 1..1 code replaces | transforms | signs | appends
    Binding: DocumentRelationshipType (required): The type of relationship between documents.
    .... target[x] 1..1 Target of the relationship
    ..... targetIdentifier Identifier
    ..... targetReference Reference(Composition)
    ... event Σ 0..* BackboneElement The clinical service(s) being documented
    .... 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
    .... code Σ 0..* CodeableConcept Code(s) that apply to the event being documented
    Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
    .... period Σ 0..1 Period The period covered by the documentation
    .... detail Σ 0..* Reference(Resource) The event(s) being documented
    ... section SOC 1..* BackboneElement Composition is broken into sections
    Constraints: cmp-1, cmp-2
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... 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
    .... title SO 1..1 string Label for section (e.g. for ToC)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code SO 0..1 CodeableConcept Classification of section (recommended)
    Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... author 0..* Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) Who and/or what authored the section
    .... focus 0..1 Reference(Resource) Who/what the section is about, when it is not about the subject of composition
    .... text SOC 0..1 Narrative Text summary of the section, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... mode 0..1 code working | snapshot | changes
    Binding: ListMode (required): The processing mode that applies to this section.
    .... orderedBy 0..1 CodeableConcept Order of section entries
    Binding: ListOrderCodes (preferred): What order applies to the items in the entry.
    .... entry C 0..* Reference(Resource) A reference to data that supports this section
    .... emptyReason C 0..1 CodeableConcept Why the section is empty
    Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.
    .... section C 0..* See section (Composition) Nested Section

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Composition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Composition.status Base required CompositionStatus 📍4.0.1 FHIR Std.
    Composition.type Base preferred FHIR Document Type Codes 📦4.0.1 FHIR Std.
    Composition.category Base example Document Class Value Set 📍4.0.1 FHIR Std.
    Composition.confidentiality Base required V3 Value SetConfidentialityClassification 📍2014-03-26 FHIR Std.
    Composition.attester.​mode Base required CompositionAttestationMode 📍4.0.1 FHIR Std.
    Composition.relatesTo.​code Base required DocumentRelationshipType 📍4.0.1 FHIR Std.
    Composition.event.code Base example v3 Code System ActCode 📦3.0.0 THO v7.2
    Composition.section.​code Base example Document Section Codes 📍4.0.1 FHIR Std.
    Composition.section.​mode Base required ListMode 📍4.0.1 FHIR Std.
    Composition.section.​orderedBy Base preferred List Order Codes 📍4.0.1 FHIR Std.
    Composition.section.​emptyReason Base preferred List Empty Reasons 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
    cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
    dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice Composition A resource should have narrative for robust management text.`div`.exists()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

    Key Elements View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Composition 0..* AUBaseComposition Composition for the Australian realm
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... text SO 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... Slices for extension Content/Rules for all slices
    .... extension:informationRecipient 0..* Reference(Practitioner | Device | Patient | RelatedPerson | PractitionerRole | Organization) Who and/or what should receive a copy of the composition
    URL: http://hl7.org.au/fhir/StructureDefinition/information-recipient
    ... identifier SOΣ 0..1 Identifier Version-independent identifier for the Composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status ?!SOΣ 1..1 code preliminary | final | amended | entered-in-error
    Binding: CompositionStatus (required): The workflow/clinical status of the composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... type SOΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
    Binding: FHIRDocumentTypeCodes (preferred)
    Additional BindingsPurpose
    Common FHIR Document Types in Australia . candidate
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SOΣ 1..1 Reference(AU Core Patient) Who and/or what the composition is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... date SOΣ 1..1 dateTime Composition editing time
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... author SOΣ 1..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core RelatedPerson | AU Core Organization | Device) Who and/or what authored the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... title SOΣ 1..1 string Human Readable name/title
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... attester SO 0..* BackboneElement Attests to accuracy of composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
    .... mode SO 1..1 code personal | professional | legal | official
    Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... time SO 0..1 dateTime When the composition was attested
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... party SO 0..1 Reference(AU Core Patient | AU Core RelatedPerson | AU Core Practitioner | AU Core PractitionerRole | AU Core Organization) Who attested the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... custodian SOΣ 0..1 Reference(AU Core Organization) Organization which maintains the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... section SOC 1..* BackboneElement Composition is broken into sections
    Constraints: cmp-1, cmp-2
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
    .... title SO 1..1 string Label for section (e.g. for ToC)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code SO 0..1 CodeableConcept Classification of section (recommended)
    Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... text SOC 0..1 Narrative Text summary of the section, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Composition.status Base required CompositionStatus 📍4.0.1 FHIR Std.
    Composition.type Base preferred FHIR Document Type Codes 📦4.0.1 FHIR Std.
    Composition.attester.​mode Base required CompositionAttestationMode 📍4.0.1 FHIR Std.
    Composition.section.​code Base example Document Section Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
    cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
    dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice Composition A resource should have narrative for robust management text.`div`.exists()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

    Differential View

    This structure is derived from AUBaseComposition

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Composition 0..* AUBaseComposition Composition for the Australian realm
    ... text SO 0..1 Narrative Text summary of the resource, for human interpretation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... identifier SO 0..1 Identifier Version-independent identifier for the Composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status SO 1..1 code preliminary | final | amended | entered-in-error
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SO 1..1 Reference(AU Core Patient) Who and/or what the composition is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... date SO 1..1 dateTime Composition editing time
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... author SO 1..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core RelatedPerson | AU Core Organization | Device) Who and/or what authored the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... title SO 1..1 string Human Readable name/title
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... attester SO 0..* BackboneElement Attests to accuracy of composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... mode SO 1..1 code personal | professional | legal | official
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... time SO 0..1 dateTime When the composition was attested
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... party SO 0..1 Reference(AU Core Patient | AU Core RelatedPerson | AU Core Practitioner | AU Core PractitionerRole | AU Core Organization) Who attested the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... custodian SO 0..1 Reference(AU Core Organization) Organization which maintains the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... section SO 1..* BackboneElement Composition is broken into sections
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... title SO 1..1 string Label for section (e.g. for ToC)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code SO 0..1 CodeableConcept Classification of section (recommended)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... text SO 0..1 Narrative Text summary of the section, for human interpretation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Composition.type Base preferred FHIR Document Type Codes 📦4.0.1 FHIR Std.

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. Composition 0..* AUBaseComposition Composition for the Australian realm
    ... 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 SO 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... contained 0..* Resource Contained, inline Resources
    ... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:informationRecipient 0..* Reference(Practitioner | Device | Patient | RelatedPerson | PractitionerRole | Organization) Who and/or what should receive a copy of the composition
    URL: http://hl7.org.au/fhir/StructureDefinition/information-recipient
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier SOΣ 0..1 Identifier Version-independent identifier for the Composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status ?!SOΣ 1..1 code preliminary | final | amended | entered-in-error
    Binding: CompositionStatus (required): The workflow/clinical status of the composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... type SOΣ 1..1 CodeableConcept Kind of composition (LOINC if possible)
    Binding: FHIRDocumentTypeCodes (preferred)
    Additional BindingsPurpose
    Common FHIR Document Types in Australia . candidate
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category Σ 0..* CodeableConcept Categorization of Composition
    Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
    ... subject SOΣ 1..1 Reference(AU Core Patient) Who and/or what the composition is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... encounter Σ 0..1 Reference(Encounter) Context of the Composition
    ... date SOΣ 1..1 dateTime Composition editing time
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... author SOΣ 1..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Patient | AU Core RelatedPerson | AU Core Organization | Device) Who and/or what authored the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... title SOΣ 1..1 string Human Readable name/title
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... confidentiality Σ 0..1 code As defined by affinity domain
    Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.
    ... attester SO 0..* BackboneElement Attests to accuracy of composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... 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
    .... mode SO 1..1 code personal | professional | legal | official
    Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... time SO 0..1 dateTime When the composition was attested
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... party SO 0..1 Reference(AU Core Patient | AU Core RelatedPerson | AU Core Practitioner | AU Core PractitionerRole | AU Core Organization) Who attested the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... custodian SOΣ 0..1 Reference(AU Core Organization) Organization which maintains the composition
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... relatesTo 0..* BackboneElement Relationships to other compositions/documents
    .... 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
    .... code 1..1 code replaces | transforms | signs | appends
    Binding: DocumentRelationshipType (required): The type of relationship between documents.
    .... target[x] 1..1 Target of the relationship
    ..... targetIdentifier Identifier
    ..... targetReference Reference(Composition)
    ... event Σ 0..* BackboneElement The clinical service(s) being documented
    .... 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
    .... code Σ 0..* CodeableConcept Code(s) that apply to the event being documented
    Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
    .... period Σ 0..1 Period The period covered by the documentation
    .... detail Σ 0..* Reference(Resource) The event(s) being documented
    ... section SOC 1..* BackboneElement Composition is broken into sections
    Constraints: cmp-1, cmp-2
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... 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
    .... title SO 1..1 string Label for section (e.g. for ToC)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code SO 0..1 CodeableConcept Classification of section (recommended)
    Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... author 0..* Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) Who and/or what authored the section
    .... focus 0..1 Reference(Resource) Who/what the section is about, when it is not about the subject of composition
    .... text SOC 0..1 Narrative Text summary of the section, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... mode 0..1 code working | snapshot | changes
    Binding: ListMode (required): The processing mode that applies to this section.
    .... orderedBy 0..1 CodeableConcept Order of section entries
    Binding: ListOrderCodes (preferred): What order applies to the items in the entry.
    .... entry C 0..* Reference(Resource) A reference to data that supports this section
    .... emptyReason C 0..1 CodeableConcept Why the section is empty
    Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.
    .... section C 0..* See section (Composition) Nested Section

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Composition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Composition.status Base required CompositionStatus 📍4.0.1 FHIR Std.
    Composition.type Base preferred FHIR Document Type Codes 📦4.0.1 FHIR Std.
    Composition.category Base example Document Class Value Set 📍4.0.1 FHIR Std.
    Composition.confidentiality Base required V3 Value SetConfidentialityClassification 📍2014-03-26 FHIR Std.
    Composition.attester.​mode Base required CompositionAttestationMode 📍4.0.1 FHIR Std.
    Composition.relatesTo.​code Base required DocumentRelationshipType 📍4.0.1 FHIR Std.
    Composition.event.code Base example v3 Code System ActCode 📦3.0.0 THO v7.2
    Composition.section.​code Base example Document Section Codes 📍4.0.1 FHIR Std.
    Composition.section.​mode Base required ListMode 📍4.0.1 FHIR Std.
    Composition.section.​orderedBy Base preferred List Order Codes 📍4.0.1 FHIR Std.
    Composition.section.​emptyReason Base preferred List Empty Reasons 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    cmp-1 error Composition.section A section must contain at least one of text, entries, or sub-sections text.exists() or entry.exists() or section.exists()
    cmp-2 error Composition.section A section can only have an emptyReason if it is empty emptyReason.empty() or entry.empty()
    dom-2 error Composition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error Composition 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 Composition 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 Composition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice Composition A resource should have narrative for robust management text.`div`.exists()
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

     

    Other representations of profile: CSV, Excel, Schematron

    Notes:

    Below is an overview of the mandatory and optional search parameters and combined search parameters. See the AU Core CapabilityStatements for a complete list of supported RESTful interactions for this IG.

    FHIR search operations are described here and the syntax used to describe AU Core interactions is defined 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)
    patient SHALL reference The requester SHALL provide at least an id value and MAY provide both the Type and id values. The responder SHALL support both.

    The requester SHOULD support chained search patient.identifier using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile. The responder SHOULD support chained search patient.identifier using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile.
    patient+date SHALL reference+date
    patient+type SHALL reference+token
    patient+author SHOULD reference+reference
    author MAY reference
    date MAY date A requester SHALL provide a value precise to the second + time offset. A responder SHALL support a value precise to the second + time offset.

    The requester SHALL support these search comparators gt, lt, ge, le. The responder SHALL support these search comparators gt, lt, ge, le.

    The requester SHOULD support multipleAnd, and if multipleAnd is supported, SHALL support the search comparators gt, lt, ge, le. The responder SHOULD support multipleAnd, and if multipleAnd is supported, SHALL support the search comparators gt, lt, ge, le.
    type MAY token The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.

    Mandatory Search Parameters

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

    1. SHALL support searching using the patient search parameter:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])

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

      Example:

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

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

    2. SHALL support searching using the combination of the patient and date search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])
      • SHALL support these date comparators: gt,lt,ge,le
      • SHOULD support multipleAnd search on date (e.g.date=[date]&date=[date]&...), and if multipleAnd is supported, SHALL support the search comparators gt,lt,ge,le

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

      Example:

      1. GET [base]/Composition?patient=5678&date=ge2020-01-01T00:00:00Z
      2. GET [base]/Composition?patient.identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952&date=ge2020-01-01T00:00:00Z

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

    3. SHALL support searching using the combination of the patient and type search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])

      GET [base]/Composition?patient={Type/}[id]&type={system|}[code]

      Example:

      1. GET [base]/Composition?patient=5678&type=http://loinc.org|60591-5

      Implementation Notes: Fetches a bundle of all Composition resources for the specified patient and type (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 combination of the patient and author search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])

      GET [base]/Composition?patient={Type/}[id]&author={Type/}[id]

      Example:

      1. GET [base]/Composition?patient=5678&author=Practitioner/sandyson-sandy

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