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 Patient

AU Core Patient — SHALL-level conformance

Covers the SHALL-level AU Core Patient (2.0.0) requirements: read, search by _id, search by identifier, must-support element presence, and profile conformance validation. Mirrors the SHALL subset of au-fhir-core-inferno's PatientGroup (patient_read_test, patient__id_search_test, patient_identifier_search_test, patient_must_support_test, patient_validation_test) — the SHOULD/MAY-level combinatorial search tests (name, gender, birthdate, indigenous-status, gender-identity and their combinations) are not replicated here; see fhirfrog/au-core-compiler#6 for scope rationale.

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

Fixtures

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

Variables

  • ${patientId} = Patient.id of patient-fixture

Read

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

SearchById

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

SearchByIdentifier

  1. Search Patient where identifier = http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361 SEARCH Patient?identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361
  2. Response status is okay response = okay
  3. Check: Bundle.entry.resource.ofType(Patient).name.family.contains('Frog') expression = Bundle.entry.resource.ofType(Patient).name.family.contains('Frog')

MustSupport

  1. Read Patient by id (${patientId}) READ Patient/${patientId}
  2. Check: Patient.identifier.exists() expression = Patient.identifier.exists()
  3. Check: Patient.name.exists() expression = Patient.name.exists()
  4. Check: Patient.name.use.exists() expression = Patient.name.use.exists()
  5. Check: Patient.name.text.exists() expression = Patient.name.text.exists()
  6. Check: Patient.name.family.exists() expression = Patient.name.family.exists()
  7. Check: Patient.name.given.exists() expression = Patient.name.given.exists()
  8. Check: Patient.telecom.exists() expression = Patient.telecom.exists()
  9. Check: Patient.telecom.system.exists() expression = Patient.telecom.system.exists()
  10. Check: Patient.telecom.use.exists() expression = Patient.telecom.use.exists()
  11. Check: Patient.telecom.value.exists() expression = Patient.telecom.value.exists()
  12. Check: Patient.gender.exists() expression = Patient.gender.exists()
  13. Check: Patient.birthDate.exists() expression = Patient.birthDate.exists()
  14. Check: Patient.address.exists() expression = Patient.address.exists()
  15. Check: Patient.communication.exists() expression = Patient.communication.exists()
  16. Check: Patient.communication.language.exists() expression = Patient.communication.language.exists()
  17. Check: Patient.communication.preferred.exists() expression = Patient.communication.preferred.exists()
  18. Check: Patient.extension.where(url = 'http://hl7.org.au/fhir/StructureDefinition/indigenous-status').exists() expression = Patient.extension.where(url = 'http://hl7.org.au/fhir/StructureDefinition/indigenous-status').exists()
  19. Check: Patient.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').exists() expression = Patient.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').exists()
  20. Check: Patient.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/individual-pronouns').exists() expression = Patient.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/individual-pronouns').exists()

ProfileValidation

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