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 DiagnosticReport

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

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 DiagnosticReport resource to record, search, and fetch diagnostic reports associated with a patient in an Australian context. It is based on the AU Base Diagnostic Report profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the DiagnosticReport when conforming to this profile.

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 patient's diagnostic report
  • Record or update a patient's diagnostic report

Profile Specific Implementation Guidance

  • For DiagnosticReport resources reporting a panel:
    • DiagnosticReport.code identifies the panel procedure (e.g. Lipid panel)
    • DiagnosticReport.result references Observation resources containing results of tests performed as part of the panel (e.g. HDL, LDL, cholesterol and triglycerides)

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
    .. DiagnosticReport C 0..* AUBaseDiagnosticReport A diagnostic report in an Australian healthcare context
    Constraints: au-core-dr-01
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... Slices for extension Content/Rules for all slices
    .... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
    URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... status ?!SOΣC 1..1 code registered | partial | preliminary | final +
    Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category SOΣ 1..* CodeableConcept Service category
    Binding: DiagnosticServiceSectionCodes (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... code SOΣ 1..1 CodeableConcept Name/Code for this diagnostic report
    Binding: Evaluation Procedure . (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SOΣ 1..1 Reference(AU Core Patient) The subject of the report - usually, but not always, the patient
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... effective[x] SOΣC 0..1 Clinically relevant time/time-period for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    ... issued SOΣC 0..1 instant DateTime this version was made
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... performer SOΣ 0..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | CareTeam) Responsible Diagnostic Service
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... result SO 0..* Reference(AU Core Diagnostic Result Observation | AU Base Diagnostic Imaging Result | AU Core Pathology Result Observation) Observations
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... presentedForm SO 0..* Attachment Entire report as issued
    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
    DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
    DiagnosticReport.category Base preferred Diagnostic Service Section Codes 📦4.0.1 FHIR Std.
    DiagnosticReport.code Base preferred Evaluation Procedure . ⏿1.0.0 tx.hl7.org.au

    Constraints

    Id Grade Path(s) Description Expression
    au-core-dr-01 error DiagnosticReport If the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended', effective[x] and issued SHALL be present (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies (effective.exists() and issued.exists())
    dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error DiagnosticReport 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 DiagnosticReport 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 DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice DiagnosticReport 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 AUBaseDiagnosticReport

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. DiagnosticReport C 0..* AUBaseDiagnosticReport A diagnostic report in an Australian healthcare context
    Constraints: au-core-dr-01
    ... identifier SO 0..* Identifier, AULocalOrderIdentifier, AULocalReportIdentifier, AUAccessionNumber Business identifier for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status SOC 1..1 code registered | partial | preliminary | final +
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category SO 1..* CodeableConcept Service category
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SO 1..1 Reference(AU Core Patient) The subject of the report - usually, but not always, the patient
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... effective[x] SOC 0..1 dateTime, Period Clinically relevant time/time-period for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... issued SOC 0..1 instant DateTime this version was made
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... performer SO 0..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | CareTeam) Responsible Diagnostic Service
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... result SO 0..* Reference(AU Core Diagnostic Result Observation | AU Base Diagnostic Imaging Result | AU Core Pathology Result Observation) Observations
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... presentedForm SO 0..* Attachment Entire report as issued
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Constraints

    Id Grade Path(s) Description Expression
    au-core-dr-01 error DiagnosticReport If the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended', effective[x] and issued SHALL be present (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies (effective.exists() and issued.exists())
    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. DiagnosticReport C 0..* AUBaseDiagnosticReport A diagnostic report in an Australian healthcare context
    Constraints: au-core-dr-01
    ... 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
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ... contained 0..* Resource Contained, inline Resources
    ... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
    URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier SOΣ 0..* Identifier, AULocalOrderIdentifier, AULocalReportIdentifier, AUAccessionNumber Business identifier for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | AU Base ServiceRequest) What was requested
    ... status ?!SOΣC 1..1 code registered | partial | preliminary | final +
    Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category SOΣ 1..* CodeableConcept Service category
    Binding: DiagnosticServiceSectionCodes (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... code SOΣ 1..1 CodeableConcept Name/Code for this diagnostic report
    Binding: Evaluation Procedure . (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SOΣ 1..1 Reference(AU Core Patient) The subject of the report - usually, but not always, the patient
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
    ... effective[x] SOΣC 0..1 Clinically relevant time/time-period for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    ... issued SOΣC 0..1 instant DateTime this version was made
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... performer SOΣ 0..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | CareTeam) Responsible Diagnostic Service
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... resultsInterpreter Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Primary result interpreter
    ... specimen 0..* Reference(AU Base Specimen) Specimens this report is based on
    ... result SO 0..* Reference(AU Core Diagnostic Result Observation | AU Base Diagnostic Imaging Result | AU Core Pathology Result Observation) Observations
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... imagingStudy 0..* Reference(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
    ... media Σ 0..* BackboneElement Key images associated with this report
    .... 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
    .... comment 0..1 string Comment about the image (e.g. explanation)
    .... link Σ 1..1 Reference(Media) Reference to the image source
    ... conclusion 0..1 string Clinical conclusion (interpretation) of test results
    ... conclusionCode 0..* CodeableConcept Codes for the clinical conclusion of test results
    Binding: Clinical Finding . (preferred)
    ... presentedForm SO 0..* Attachment Entire report as issued
    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
    DiagnosticReport.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
    DiagnosticReport.category Base preferred Diagnostic Service Section Codes 📦4.0.1 FHIR Std.
    DiagnosticReport.code Base preferred Evaluation Procedure . ⏿1.0.0 tx.hl7.org.au
    DiagnosticReport.conclusionCode Base preferred Clinical Finding . ⏿1.0.2 tx.hl7.org.au

    Constraints

    Id Grade Path(s) Description Expression
    au-core-dr-01 error DiagnosticReport If the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended', effective[x] and issued SHALL be present (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies (effective.exists() and issued.exists())
    dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error DiagnosticReport 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 DiagnosticReport 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 DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice DiagnosticReport 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
    .. DiagnosticReport C 0..* AUBaseDiagnosticReport A diagnostic report in an Australian healthcare context
    Constraints: au-core-dr-01
    ... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
    ... Slices for extension Content/Rules for all slices
    .... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
    URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... status ?!SOΣC 1..1 code registered | partial | preliminary | final +
    Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category SOΣ 1..* CodeableConcept Service category
    Binding: DiagnosticServiceSectionCodes (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... code SOΣ 1..1 CodeableConcept Name/Code for this diagnostic report
    Binding: Evaluation Procedure . (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SOΣ 1..1 Reference(AU Core Patient) The subject of the report - usually, but not always, the patient
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... effective[x] SOΣC 0..1 Clinically relevant time/time-period for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    ... issued SOΣC 0..1 instant DateTime this version was made
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... performer SOΣ 0..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | CareTeam) Responsible Diagnostic Service
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... result SO 0..* Reference(AU Core Diagnostic Result Observation | AU Base Diagnostic Imaging Result | AU Core Pathology Result Observation) Observations
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... presentedForm SO 0..* Attachment Entire report as issued
    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
    DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
    DiagnosticReport.category Base preferred Diagnostic Service Section Codes 📦4.0.1 FHIR Std.
    DiagnosticReport.code Base preferred Evaluation Procedure . ⏿1.0.0 tx.hl7.org.au

    Constraints

    Id Grade Path(s) Description Expression
    au-core-dr-01 error DiagnosticReport If the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended', effective[x] and issued SHALL be present (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies (effective.exists() and issued.exists())
    dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error DiagnosticReport 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 DiagnosticReport 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 DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice DiagnosticReport 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 AUBaseDiagnosticReport

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. DiagnosticReport C 0..* AUBaseDiagnosticReport A diagnostic report in an Australian healthcare context
    Constraints: au-core-dr-01
    ... identifier SO 0..* Identifier, AULocalOrderIdentifier, AULocalReportIdentifier, AUAccessionNumber Business identifier for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... status SOC 1..1 code registered | partial | preliminary | final +
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category SO 1..* CodeableConcept Service category
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SO 1..1 Reference(AU Core Patient) The subject of the report - usually, but not always, the patient
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... effective[x] SOC 0..1 dateTime, Period Clinically relevant time/time-period for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... issued SOC 0..1 instant DateTime this version was made
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... performer SO 0..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | CareTeam) Responsible Diagnostic Service
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... result SO 0..* Reference(AU Core Diagnostic Result Observation | AU Base Diagnostic Imaging Result | AU Core Pathology Result Observation) Observations
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... presentedForm SO 0..* Attachment Entire report as issued
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Constraints

    Id Grade Path(s) Description Expression
    au-core-dr-01 error DiagnosticReport If the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended', effective[x] and issued SHALL be present (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies (effective.exists() and issued.exists())

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
    .. DiagnosticReport C 0..* AUBaseDiagnosticReport A diagnostic report in an Australian healthcare context
    Constraints: au-core-dr-01
    ... 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
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    ... contained 0..* Resource Contained, inline Resources
    ... Slices for extension 0..* Extension Extension
    Slice: Unordered, Open by value:url
    .... extension:sexParameterForClinicalUse 0..* (Complex) A context-specific sex parameter for clinical use
    URL: http://hl7.org/fhir/StructureDefinition/patient-sexParameterForClinicalUse
    ... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
    ... identifier SOΣ 0..* Identifier, AULocalOrderIdentifier, AULocalReportIdentifier, AUAccessionNumber Business identifier for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | AU Base ServiceRequest) What was requested
    ... status ?!SOΣC 1..1 code registered | partial | preliminary | final +
    Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category SOΣ 1..* CodeableConcept Service category
    Binding: DiagnosticServiceSectionCodes (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... code SOΣ 1..1 CodeableConcept Name/Code for this diagnostic report
    Binding: Evaluation Procedure . (preferred)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... subject SOΣ 1..1 Reference(AU Core Patient) The subject of the report - usually, but not always, the patient
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... encounter Σ 0..1 Reference(Encounter) Health care event when test ordered
    ... effective[x] SOΣC 0..1 Clinically relevant time/time-period for report
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... effectiveDateTime dateTime
    .... effectivePeriod Period
    ... issued SOΣC 0..1 instant DateTime this version was made
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... performer SOΣ 0..* Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | CareTeam) Responsible Diagnostic Service
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... resultsInterpreter Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Primary result interpreter
    ... specimen 0..* Reference(AU Base Specimen) Specimens this report is based on
    ... result SO 0..* Reference(AU Core Diagnostic Result Observation | AU Base Diagnostic Imaging Result | AU Core Pathology Result Observation) Observations
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... imagingStudy 0..* Reference(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
    ... media Σ 0..* BackboneElement Key images associated with this report
    .... 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
    .... comment 0..1 string Comment about the image (e.g. explanation)
    .... link Σ 1..1 Reference(Media) Reference to the image source
    ... conclusion 0..1 string Clinical conclusion (interpretation) of test results
    ... conclusionCode 0..* CodeableConcept Codes for the clinical conclusion of test results
    Binding: Clinical Finding . (preferred)
    ... presentedForm SO 0..* Attachment Entire report as issued
    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
    DiagnosticReport.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
    DiagnosticReport.category Base preferred Diagnostic Service Section Codes 📦4.0.1 FHIR Std.
    DiagnosticReport.code Base preferred Evaluation Procedure . ⏿1.0.0 tx.hl7.org.au
    DiagnosticReport.conclusionCode Base preferred Clinical Finding . ⏿1.0.2 tx.hl7.org.au

    Constraints

    Id Grade Path(s) Description Expression
    au-core-dr-01 error DiagnosticReport If the status is 'partial', 'preliminary', 'final', 'amended', 'corrected' or 'appended', effective[x] and issued SHALL be present (status='partial' or status='preliminary' or status='final' or status='amended' or status='corrected' or status='appended' ) implies (effective.exists() and issued.exists())
    dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
    dom-3 error DiagnosticReport 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 DiagnosticReport 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 DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
    dom-6 best practice DiagnosticReport 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)
    _id SHALL token
    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 SHALL provide both the system and code 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+category SHALL reference+token
    patient+category+date SHALL reference+token+date
    identifier SHOULD token The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.
    patient+category+status SHOULD reference+token+token
    patient+code SHOULD reference+token
    patient+code+date SHOULD reference+token+date
    patient+status SHOULD reference+token
    category 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.
    code 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.
    date MAY date The requester SHALL provide a value precise to the second + time offset. The 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.
    status 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 _id search parameter:

      GET [base]/DiagnosticReport?_id=[id]

      Example:

      1. GET [base]/DiagnosticReport?_id=5678

      Implementation Notes: Fetches a bundle with the requested DiagnosticReport, instead of just the resource itself, and allows for the inclusion of additional search parameters such as _include, _revinclude, or _lastUpdated (how to search by id of the resource)

    2. 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]/DiagnosticReport?patient={Type/}[id] or optionally GET [base]/DiagnosticReport?patient.identifier=[system|][code]

      Example:

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

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

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

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

      Example:

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

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

    4. SHALL support searching using the combination of the patient and category 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]/DiagnosticReport?patient={Type/}[id]&category={system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...} or optionally GET [base]/DiagnosticReport?patient.identifier=[system|][code]&category={system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]/DiagnosticReport?patient=5678&category=CH&date=ge2021-02-07
      2. GET [base]/DiagnosticReport?patient.identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952&category=CH&date=ge2021-02-07
      3. GET [base]/DiagnosticReport?patient.identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361&category=CH&date=ge2021-02-07

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

    Optional Search Parameters:

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

    1. SHOULD support searching using the identifier search parameter:

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

      Example:

      1. GET [base]/DiagnosticReport?identifier=http://ns.electronichealth.net.au/id/hpio-scoped/report/1.0/8003611566718494 42657
      2. GET [base]/DiagnosticReport?identifier=https://pullabookapathology.example.com.au/report/report-identifier 63698

      Implementation Notes: Fetches a bundle containing all DiagnosticReport resources matching the identifier (how to search by token

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

      GET [base]/DiagnosticReport?patient={Type/}[id]&category={system|}[code]&status={system|}[code] or optionally GET [base]/DiagnosticReport?patient.identifier=[system|][code]&category={system|}[code]&status={system|}[code]

      Example:

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

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

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

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

      Example:

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

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

    4. SHOULD support searching using the combination of the patient and code 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]/DiagnosticReport?patient={Type/}[id]&code={system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...} or optionally GET [base]/DiagnosticReport?patient.identifier=[system|][code]&code={system|}[code]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]/DiagnosticReport?patient=5678&code=444821009&date=ge2022-03-21
      2. GET [base]/DiagnosticReport?patient.identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952&code=444821009&date=ge2022-03-21
      3. GET [base]/DiagnosticReport?patient.identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361&code=444821009&date=ge2022-03-21

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

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

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

      Example:

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

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