This website is intended for demonstration purposes only. Users are advised not to input any personal or sensitive information, including health data, into this platform. The platform does not comply with the requirements for handling personal or sensitive information under the Australian Privacy Act 1988.

Resources / Guidance

Which test kit do I need?

Each test kit targets one HL7 AU implementation guide. Pick the one that matches what your system does.

You have ...UseInferno will ...
A FHIR server that other systems query for patient, clinical or provider data AU Core Test Kit Act as an AU Core client: run the required searches against your endpoint and validate every resource returned.
A patient summary document (a Bundle), or a server that serves or generates one AU PS Test Kit Validate the Bundle, its Composition sections and referenced resources against AU Patient Summary 1.0.0.

If your system is a client (it consumes data from an AU Core server), these kits do not test it directly. Use the public AU Core test server as a conformant counterpart to develop against, and raise client-testing needs in the feedback channel below.

Running a test session

Inferno organises tests into a suite (one IG version), made of groups (one profile, or one way of obtaining a document), made of individual tests. You run groups; each test inside reports its own result.

  1. Create a session. On the test kit page choose the IG version and click Create Test Session. The URL of the session is unique and shareable. Keep it: it is how you show a reviewer what happened, and how you re-open the run later.
  2. Pick a group. The left panel lists the groups. Click one to see its tests and the description of what it checks. You rarely need to run the whole suite while you are fixing things.
  3. Run and supply inputs. Click Run Tests. Inferno asks only for the inputs that group needs (an endpoint, patient ids, a pasted Bundle, credentials). Inputs are remembered for the rest of the session.
  4. Watch it run. Tests execute in order. Groups that depend on an earlier result (for example, Must Support checks depend on a successful search) wait for it.
  5. Read the results, fix, re-run. Re-running a group replaces its previous results in the same session.

Sessions on this public service are periodically purged. Download or screenshot anything you need to keep. The Report button in the session header produces a printable summary of the run.

Reading results

Each test ends in one state:

PassThe assertion held.
FailThe assertion did not hold. Open the test: the Messages tab has the validator or search finding, the Requests tab has every HTTP request and response involved.
SkipThe test could not run because a precondition was missing, usually no resources were returned by an earlier search, or an input was empty. Fix the cause upstream and re-run.
OmitThe test does not apply, for example a search parameter your CapabilityStatement says you do not support. Not a problem.
ErrorSomething unexpected happened (connection refused, malformed response, a bug in the test). If your server was reachable, report it with the session URL.

Warnings and information messages can appear on a passing test. Warnings flag things the IG says SHOULD be done, or patterns the community discourages. They do not fail the test but are worth reading before a test event.

Validator messages name the element path (for example Bundle.entry[3].resource.code) and the profile rule that was broken. Messages are grouped per resource, so a single missing terminology binding on twenty Observations shows as twenty lines with the same cause.

A group with SHALL tests passing and SHOULD or MAY tests failing is often acceptable; the test title states the conformance level.

Test data and public servers

Never send real patient data to this service. It is a public reference instance with no protections for personal or health information. Use synthetic data throughout.

  • HL7 AU FHIR test data: synthetic patients and supporting resources designed to exercise every Must Support element in AU Core. Load these on your server before testing so the Must Support checks have something to find.
  • Public AU Core test server: a hosted FHIR server preloaded with the test data. The AU Core kit inputs default to it, so you can run a passing session before touching your own endpoint. It is for testing only, not production.
  • The AU PS IG examples and AU Core IG examples are also valid inputs for a first run.
  • Terminology is validated against tx.dev.hl7.org.au, the HL7 AU terminology server loaded with the code systems and value sets the IGs use.

Preparing for a connectathon or test event

Most time lost at a test event is spent on things that can be checked the week before:

  • Your endpoint is reachable over HTTPS from outside your network. Try it from a phone off the office wifi.
  • You know how Inferno will authenticate: an open endpoint, a long-lived bearer token, or a fixed header. Have the token ready.
  • Synthetic test data is loaded and you have the patient ids (and any practitioner, organisation, location ids) written down.
  • You have run the relevant kit once against your system and read the failures, so you arrive with a known baseline rather than a first run.
  • You know which IG version you are claiming. Test against that suite, not the newest one.

During the event, keep the session URL for each run and share it when you ask for help. A reviewer can open it and see exactly what was sent and received.

Run a test kit locally

Run a kit on your own machine when your server is not reachable from the internet, when you want to test with data you cannot share, or to wire the tests into your own CI. Each kit ships with a Docker setup.

Prerequisites: Docker with at least 10 GB of memory allocated. The first start downloads and warms the FHIR validator, so allow 5 to 10 minutes.

  1. Clone the kit: hl7au/au-fhir-core-inferno or hl7au/au-ps-inferno.
  2. In the repository directory run make setup (installs dependencies, initialises the database), then make run.
  3. Open http://localhost. The kit is on the home page.

Each README also documents the validator configuration and how to drive the tests from the Inferno API for automation.

Get help and give feedback

Build your own tests

Both kits are open source and built on the Inferno Framework. To extend them, or write a kit for another IG, start with:

Return to top