Generated Narrative: TestScript au-core-smokingstatus url: TestScript AU Core Smoking Status — SHALL-level conformance version: 0.1.0 name: AUCoreSmokingStatus title: AU Core Smoking Status — SHALL-level 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 Smoking Status Observation (au-core-smokingstatus, 2.0.0) requirements identified in fhirfrog/au-core-compiler#24 (AUC-026): read, search by patient+code/patient+category/patient+category+date (mirroring au-fhir-core-inferno's smokingstatus group), must-support element presence across all 8 MS elements (status, category, category:socialHistory, code, subject, effective[x], value[x], dataAbsentReason), and profile conformance validation. Both category (fixed social-history) and code (fixed SNOMED 1747861000168109 'Tobacco smoking status') are pattern-constrained to a single value by the profile itself, so both fixtures share identical category/code - only value[x] vs dataAbsentReason differs between them, mirroring the profile's au-core-obs-01 condition on value[x] (value or dataAbsentReason must be present). Per issue #24's own scoping call, this profile has no obligation-extension or negative-testing complexity beyond that presence pairing - unlike fhirfrog/au-core-compiler#21/#22, no dedicated ObligationNoError/responseCode test is included here, matching the simpler pattern already established for fhirfrog/au-core-compiler#6-#20. fixture id patient-fixture autocreate: true autodelete: true resource: au-core-patient-conformant fixture id smokingstatus-fixture autocreate: true autodelete: true resource: au-core-smokingstatus-conformant fixture id smokingstatus-absent-fixture autocreate: true autodelete: true resource: au-core-smokingstatus-absent variable name: patientId path: Patient.id sourceId: patient-fixture variable name: smokingStatusId path: Observation.id sourceId: smokingstatus-fixture variable name: smokingStatusAbsentId path: Observation.id sourceId: smokingstatus-absent-fixture test name: Read action Operations - Type Resource EncodeRequestUrl Params * Test script operation code: read (Read) Observation true /${smokingStatusId} 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://snomed.info/sct|1747861000168109 action Asserts - Response WarningOnly * okay false action Asserts - Expression WarningOnly * Bundle.entry.resource.ofType(Observation).code.coding.code.where($this = '1747861000168109').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|social-history action Asserts - Response WarningOnly * okay false action Asserts - Expression WarningOnly * Bundle.entry.resource.ofType(Observation).category.coding.code.where($this = 'social-history').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|social-history&date=2026-01-10 action Asserts - Response WarningOnly * okay false action Asserts - Expression WarningOnly * Bundle.entry.resource.ofType(Observation).code.coding.code.where($this = '1747861000168109').exists() false test name: MustSupport action Operations - Type Resource EncodeRequestUrl Params * Test script operation code: read (Read) Observation true /${smokingStatusId} 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 = 'social-history').exists() false action Asserts - Expression WarningOnly * Observation.code.coding.code.where($this = '1747861000168109').exists() false action Asserts - Expression WarningOnly * Observation.subject.exists() false action Asserts - Expression WarningOnly * Observation.effective.exists() false action Asserts - Expression WarningOnly * Observation.value.exists() false test name: MustSupportAbsent action Operations - Type Resource EncodeRequestUrl Params * Test script operation code: read (Read) Observation true /${smokingStatusAbsentId} action Asserts - Expression WarningOnly * Observation.dataAbsentReason.exists() false test name: ProfileValidation action Operations - Type Resource EncodeRequestUrl Params * Test script operation code: read (Read) Observation true /${smokingStatusId} action Asserts - ValidateProfileId WarningOnly * http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus false test name: ProfileValidationAbsent action Operations - Type Resource EncodeRequestUrl Params * Test script operation code: read (Read) Observation true /${smokingStatusAbsentId} action Asserts - ValidateProfileId WarningOnly * http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus false
AU Core Smoking Status — SHALL-level conformance
Covers the AU Core Smoking Status Observation (au-core-smokingstatus, 2.0.0) requirements identified in fhirfrog/au-core-compiler#24 (AUC-026): read, search by patient+code/patient+category/patient+category+date (mirroring au-fhir-core-inferno's smokingstatus group), must-support element presence across all 8 MS elements (status, category, category:socialHistory, code, subject, effective[x], value[x], dataAbsentReason), and profile conformance validation. Both category (fixed social-history) and code (fixed SNOMED 1747861000168109 'Tobacco smoking status') are pattern-constrained to a single value by the profile itself, so both fixtures share identical category/code - only value[x] vs dataAbsentReason differs between them, mirroring the profile's au-core-obs-01 condition on value[x] (value or dataAbsentReason must be present). Per issue #24's own scoping call, this profile has no obligation-extension or negative-testing complexity beyond that presence pairing - unlike fhirfrog/au-core-compiler#21/#22, no dedicated ObligationNoError/responseCode test is included here, matching the simpler pattern already established for fhirfrog/au-core-compiler#6-#20.
Bundle.entry.resource.ofType(Observation).code.coding.code.where($this = '1747861000168109').exists()
Bundle.entry.resource.ofType(Observation).category.coding.code.where($this = 'social-history').exists()
Observation.category.coding.code.where($this = 'social-history').exists()
Observation.code.coding.code.where($this = '1747861000168109').exists()