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

AU Core HealthcareService

AU Core HealthcareService — SHALL-level conformance

Covers the AU Core HealthcareService (2.0.0) requirements: read, search by name/identifier/_id/service-type, must-support element presence, and profile conformance validation. Mirrors au-fhir-core-inferno's HealthcareServiceGroup (healthcare_service_read_test, healthcare_service_name_search_test, healthcare_service_identifier_search_test, healthcare_service_id_search_test, healthcare_service_service_type_search_test, healthcare_service_must_support_test, healthcare_service_validation_test). Per fhirfrog/au-core-compiler#10, all four search parameters named in that issue (name/identifier/_id/service-type) are exercised as individual single-parameter search tests even though Inferno labels only the name search as SHALL for this resource (identifier, _id and service-type are SHOULD) — HealthcareService is a small, mostly generic-CRUD profile, so this TestScript still keeps to the SHALL-level scope rationale from #6 by testing each search parameter once in isolation rather than replicating Inferno's SHOULD/MAY combinatorial and chained-search coverage. HealthcareService has no mandatory reference to Patient or any other resource, so the fixture below is fully self-contained.

Name
AUCoreHealthcareService
URL
http://fhirfrog.org/fhir/au-core-tests/TestScript/au-core-healthcareservice
Status
active

Fixtures

  • healthcareservice-fixture: au-core-healthcareservice-conformant (created before, and removed after, the run)

Variables

  • ${healthcareServiceId} = HealthcareService.id of healthcareservice-fixture

Read

  1. Read HealthcareService by id (${healthcareServiceId}) READ HealthcareService/${healthcareServiceId}
  2. Response status is okay response = okay

SearchByName

  1. Search HealthcareService where name = Frog SEARCH HealthcareService?name=Frog
  2. Response status is okay response = okay
  3. Check: Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists() expression = Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists()

SearchByIdentifier

  1. Search HealthcareService where identifier = http://pca.digitalhealth.gov.au/id/pca-healthcare-service|4d00ad2659cb4b54bd8028798af62631 SEARCH HealthcareService?identifier=http://pca.digitalhealth.gov.au/id/pca-healthcare-service|4d00ad2659cb4b54bd8028798af62631
  2. Response status is okay response = okay
  3. Check: Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists() expression = Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists()

SearchById

  1. Search HealthcareService where _id = ${healthcareServiceId} SEARCH HealthcareService?_id=${healthcareServiceId}
  2. Response status is okay response = okay
  3. Check: Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists() expression = Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists()

SearchByServiceType

  1. Search HealthcareService where service-type = http://snomed.info/sct|722140001 SEARCH HealthcareService?service-type=http://snomed.info/sct|722140001
  2. Response status is okay response = okay
  3. Check: Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists() expression = Bundle.entry.resource.ofType(HealthcareService).name.where($this.contains('Frog')).exists()

MustSupport

  1. Read HealthcareService by id (${healthcareServiceId}) READ HealthcareService/${healthcareServiceId}
  2. Check: HealthcareService.identifier.exists() expression = HealthcareService.identifier.exists()
  3. Check: HealthcareService.type.exists() expression = HealthcareService.type.exists()
  4. Check: HealthcareService.name.exists() expression = HealthcareService.name.exists()
  5. Check: HealthcareService.telecom.exists() expression = HealthcareService.telecom.exists()

ProfileValidation

  1. Read HealthcareService by id (${healthcareServiceId}) READ HealthcareService/${healthcareServiceId}
  2. Validate the response against profile http://hl7.org.au/fhir/core/StructureDefinition/au-core-healthcareservice validateProfileId = http://hl7.org.au/fhir/core/StructureDefinition/au-core-healthcareservice