FHIR Frog AU Core Conformance Tests
0.1.0 - draft
FHIR Frog AU Core Conformance Tests, published by FHIR Frog. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/jgsuess/au-core-tests/ and changes regularly. See the Directory of published versions
| Official URL: http://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-diagnosticresult-path | Version: 0.1.0 | |||
| Active as of 2026-08-16 | Computable Name: AUCoreDiagnosticResultPath | |||
| Covers the AU Core Pathology Result Observation (au-core-diagnosticresult-path, 2.0.0) requirements identified in fhirfrog/au-core-compiler#22 (AUC-017): read, search by patient+code/patient+category/patient+category+date (mirroring au-fhir-core-inferno's diagnosticresult_path group), must-support presence across all 22 MS elements - including the category:lab (fixed http://terminology.hl7.org/CodeSystem/observation-category | laboratory) and category:specificDiscipline (extensible-bound to the AU THS pathology-diagnostic-service-category ValueSet, e.g. v2-0074 | CH for Chemistry) slices - and profile conformance validation. Same obligation-pair split as fhirfrog/au-core-compiler#21's Diagnostic Result Observation TestScript: 'diagnosticresultpath-fixture' is the ordinary case (value[x], interpretation, specimen, referenceRange, and a component all known and populated), and 'diagnosticresultpath-absent-fixture' is the genuinely-not-known case (dataAbsentReason/component.dataAbsentReason instead of value[x]/component.value[x], satisfying the profile's au-core-obs-01 invariant, with hasMember linking back to the ordinary fixture as a panel would). ObligationNoError and ProfileValidationObligationPair exercise the same requester-side SHALL:no-error / au-core-obs-01 machine-checking this profile shares with #21 - see that TestScript's description for why this only became testable once fhirfrog/fhir-frog's AssertionEvaluator gained assert.responseCode support and OperationExecutor's executeSearch started catching BaseServerResponseException. Reference-resolution and the remaining SHOULD/MAY search variants are not replicated - see fhirfrog/au-core-compiler#6 for the general scope rationale. |
url: TestScript AU Core Pathology Result Observation — search & obligation-pair conformance
version: 0.1.0
name: AUCoreDiagnosticResultPath
title: AU Core Pathology Result Observation — search & obligation-pair conformance
status: Active
date: 2026-08-16 05:55:37+0000
publisher: FHIR Frog
contact: FHIR Frog: https://gitlab.com/fhirfrog
description:
Covers the AU Core Pathology Result Observation (au-core-diagnosticresult-path, 2.0.0) requirements identified in fhirfrog/au-core-compiler#22 (AUC-017): read, search by patient+code/patient+category/patient+category+date (mirroring au-fhir-core-inferno's diagnosticresult_path group), must-support presence across all 22 MS elements - including the category:lab (fixed http://terminology.hl7.org/CodeSystem/observation-category|laboratory) and category:specificDiscipline (extensible-bound to the AU THS pathology-diagnostic-service-category ValueSet, e.g. v2-0074|CH for Chemistry) slices - and profile conformance validation. Same obligation-pair split as fhirfrog/au-core-compiler#21's Diagnostic Result Observation TestScript: 'diagnosticresultpath-fixture' is the ordinary case (value[x], interpretation, specimen, referenceRange, and a component all known and populated), and 'diagnosticresultpath-absent-fixture' is the genuinely-not-known case (dataAbsentReason/component.dataAbsentReason instead of value[x]/component.value[x], satisfying the profile's au-core-obs-01 invariant, with hasMember linking back to the ordinary fixture as a panel would). ObligationNoError and ProfileValidationObligationPair exercise the same requester-side SHALL:no-error / au-core-obs-01 machine-checking this profile shares with #21 - see that TestScript's description for why this only became testable once fhirfrog/fhir-frog's AssertionEvaluator gained assert.responseCode support and OperationExecutor's executeSearch started catching BaseServerResponseException. Reference-resolution and the remaining SHOULD/MAY search variants are not replicated - see fhirfrog/au-core-compiler#6 for the general scope rationale.
fixture
id
patient-fixtureautocreate: true
autodelete: true
resource:
au-core-patient-conformant
fixture
id
diagnosticresultpath-fixtureautocreate: true
autodelete: true
resource:
au-core-diagnosticresult-path-conformant
fixture
id
diagnosticresultpath-absent-fixtureautocreate: true
autodelete: true
resource:
au-core-diagnosticresult-path-absent
variable
name: patientId
path: Patient.id
sourceId: patient-fixture
variable
name: pathResultId
path: Observation.id
sourceId: diagnosticresultpath-fixture
variable
name: pathResultAbsentId
path: Observation.id
sourceId: diagnosticresultpath-absent-fixture
test
name: Read
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: read (Read) Observation true /${pathResultId} action
Asserts
Response WarningOnly okay false
test
name: SearchByPatientCode
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: search (Search) Observation true ?patient=Patient/${patientId}&code=http://loinc.org|2951-2 action
Asserts
Response WarningOnly okay false action
Asserts
Expression WarningOnly Bundle.entry.resource.ofType(Observation).code.coding.code.where($this = '2951-2').exists() false
test
name: SearchByPatientCategory
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: search (Search) Observation true ?patient=Patient/${patientId}&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory action
Asserts
Response WarningOnly okay false action
Asserts
Expression WarningOnly Bundle.entry.resource.ofType(Observation).category.coding.code.where($this = 'laboratory').exists() false
test
name: SearchByPatientCategoryDate
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: search (Search) Observation true ?patient=Patient/${patientId}&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&date=2026-01-20 action
Asserts
Response WarningOnly okay false action
Asserts
Expression WarningOnly Bundle.entry.resource.ofType(Observation).code.coding.code.where($this = '2951-2').exists() false
test
name: MustSupport
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: read (Read) Observation true /${pathResultId} action
Asserts
Expression WarningOnly Observation.status.exists() false action
Asserts
Expression WarningOnly Observation.category.exists() false action
Asserts
Expression WarningOnly Observation.category.coding.code.where($this = 'laboratory').exists() false action
Asserts
Expression WarningOnly Observation.category.coding.system.where($this = 'http://terminology.hl7.org/CodeSystem/v2-0074').exists() false action
Asserts
Expression WarningOnly Observation.code.exists() false action
Asserts
Expression WarningOnly Observation.subject.exists() false action
Asserts
Expression WarningOnly Observation.effective.exists() false action
Asserts
Expression WarningOnly Observation.performer.exists() false action
Asserts
Expression WarningOnly Observation.value.exists() false action
Asserts
Expression WarningOnly Observation.interpretation.exists() false action
Asserts
Expression WarningOnly Observation.specimen.exists() false action
Asserts
Expression WarningOnly Observation.referenceRange.exists() false action
Asserts
Expression WarningOnly Observation.referenceRange.low.exists() false action
Asserts
Expression WarningOnly Observation.referenceRange.high.exists() false action
Asserts
Expression WarningOnly Observation.referenceRange.type.exists() false action
Asserts
Expression WarningOnly Observation.referenceRange.text.exists() false action
Asserts
Expression WarningOnly Observation.component.exists() false action
Asserts
Expression WarningOnly Observation.component.code.exists() false action
Asserts
Expression WarningOnly Observation.component.value.exists() false
test
name: MustSupportObligationPair
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: read (Read) Observation true /${pathResultAbsentId} action
Asserts
Expression WarningOnly Observation.dataAbsentReason.exists() false action
Asserts
Expression WarningOnly Observation.component.dataAbsentReason.exists() false action
Asserts
Expression WarningOnly Observation.hasMember.exists() false
test
name: ObligationNoError
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: search (Search) Observation true ?patient=Patient/${patientId}&code=http://loinc.org|718-7 action
Asserts
ResponseCode WarningOnly 200 false action
Asserts
Expression WarningOnly Bundle.entry.resource.ofType(Observation).dataAbsentReason.coding.code.where($this = 'not-performed').exists() false
test
name: ProfileValidation
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: read (Read) Observation true /${pathResultId} action
Asserts
ValidateProfileId WarningOnly http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path false
test
name: ProfileValidationObligationPair
action
Operations
Type Resource EncodeRequestUrl Params Test script operation code: read (Read) Observation true /${pathResultAbsentId} action
Asserts
ValidateProfileId WarningOnly http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path false