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 Location

AU Core Location — SHALL-level conformance

Covers the SHALL-level AU Core Location (2.0.0) requirements: read, search by each of the five documented search parameters (address, name, address-city, address-state, address-postalcode), must-support element presence, and profile conformance validation. Location is self-contained — no Patient reference is required for these search paths. Per fhirfrog/au-core-compiler#12, au-fhir-core-inferno's own LocationGroup only marks the name search as SHALL and treats address/address-city/address-state/address-postalcode as optional (SHOULD) single-param searches, with no dedicated first-class search test beyond that; the AU Core IG demands support for all five as part of the Location search capability, so this TestScript exercises all five explicitly rather than only mirroring Inferno's narrower baseline. As with au-core-patient (fhirfrog/au-core-compiler#6), this does not attempt Inferno's SHOULD/MAY-level combinatorial multi-param search coverage or MustSupport reference resolution (location_reference_resolution_test) — each search parameter gets one standalone test against the single fixture resource.

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

Fixtures

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

Variables

  • ${locationId} = Location.id of location-fixture

Read

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

SearchByAddress

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

SearchByName

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

SearchByAddressCity

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

SearchByAddressState

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

SearchByAddressPostalcode

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

MustSupport

  1. Read Location by id (${locationId}) READ Location/${locationId}
  2. Check: Location.address.exists() expression = Location.address.exists()
  3. Check: Location.managingOrganization.exists() expression = Location.managingOrganization.exists()
  4. Check: Location.name.exists() expression = Location.name.exists()
  5. Check: Location.physicalType.exists() expression = Location.physicalType.exists()
  6. Check: Location.type.exists() expression = Location.type.exists()

ProfileValidation

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