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 Practitioner

AU Core Practitioner — SHALL-level conformance

Covers the AU Core Practitioner (2.0.0) requirements: read, search by _id, search by identifier (the fixture's identifier carries the HPI-I system http://ns.electronichealth.net.au/id/hi/hpii/1.0, so this same identifier search exercises the HPI-I slice — per fhirfrog/au-core-compiler#17, Inferno's separate HPI-I search test is functionally just a parameterised identifier search that fhir-frog's generic byUrl pass-through already handles, so no distinct test action is needed for it), search by name, must-support element presence, and profile conformance validation. Mirrors au-fhir-core-inferno's PractitionerGroup (practitioner_read_test, practitioner_id_search_test, practitioner_identifier_search_test, practitioner_identifier_hpii_search_test, practitioner_name_search_test, practitioner_must_support_test, practitioner_validation_test). The _id/name/identifier(HPI-I) searches are SHOULD-level in AU Core but are included here because issue #17 explicitly calls for _id/identifier/name coverage; their combinatorial SHOULD/MAY variants (chained params, GET/POST result-count comparisons, etc.) are not replicated — see fhirfrog/au-core-compiler#6 for the general scope rationale.

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

Fixtures

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

Variables

  • ${practitionerId} = Practitioner.id of practitioner-fixture

Read

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

SearchById

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

SearchByIdentifier

  1. Search Practitioner where identifier = http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003621234567890 SEARCH Practitioner?identifier=http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003621234567890
  2. Response status is okay response = okay
  3. Check: Bundle.entry.resource.ofType(Practitioner).name.family.where($this = 'Frog').exists() expression = Bundle.entry.resource.ofType(Practitioner).name.family.where($this = 'Frog').exists()
  4. Check: Bundle.entry.resource.ofType(Practitioner).identifier.where(system = 'http://ns.electronichealth.net.au/id/hi/hpii/1.0').exists() expression = Bundle.entry.resource.ofType(Practitioner).identifier.where(system = 'http://ns.electronichealth.net.au/id/hi/hpii/1.0').exists()

SearchByName

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

MustSupport

  1. Read Practitioner by id (${practitionerId}) READ Practitioner/${practitionerId}
  2. Check: Practitioner.identifier.exists() expression = Practitioner.identifier.exists()
  3. Check: Practitioner.name.exists() expression = Practitioner.name.exists()
  4. Check: Practitioner.name.family.exists() expression = Practitioner.name.family.exists()
  5. Check: Practitioner.name.given.exists() expression = Practitioner.name.given.exists()

ProfileValidation

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