Generated Narrative: TestScript au-core-diagnosticresult-path 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-fixture autocreate: true autodelete: true resource: au-core-patient-conformant fixture id diagnosticresultpath-fixture autocreate: true autodelete: true resource: au-core-diagnosticresult-path-conformant fixture id diagnosticresultpath-absent-fixture autocreate: 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
AU Core Pathology Result Observation — search & obligation-pair conformance
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.
Bundle.entry.resource.ofType(Observation).code.coding.code.where($this = '2951-2').exists()
Bundle.entry.resource.ofType(Observation).category.coding.code.where($this = 'laboratory').exists()
Observation.category.coding.code.where($this = 'laboratory').exists()
Observation.category.coding.system.where($this = 'http://terminology.hl7.org/CodeSystem/v2-0074').exists()
Bundle.entry.resource.ofType(Observation).dataAbsentReason.coding.code.where($this = 'not-performed').exists()