-
Notifications
You must be signed in to change notification settings - Fork 1
Preset Walkthrough
This walkthrough shows how to exercise the US Quality Core suites using the presets included in this repository. It is intended for local setup, smoke testing, and demonstration. It is not a substitute for testing a real implementation with representative production-like data.
From the repository root:
./setup.sh
./run.shOpen http://localhost after the containers start. The Docker setup starts
Inferno, the HL7 FHIR Validator service, the FHIRPath service, and an Inferno
Reference Server at:
http://localhost:8080/reference-server/r4
The reference server is loaded from client-example-resources/ when its
database is empty.
If you change the example resources and need the reference server to reload them, stop the stack and remove the backing volume:
docker volume rm us-quality-core-test-kit_fhir-pgdataThen restart with ./run.sh.
Use this path to run the server suite against the local reference server included in the Docker setup.
- Start a new US Quality Core Server v0.5.0 session.
- Select the Localhost Server preset from the preset dropdown in the upper left.
- Confirm that the preset filled in:
-
FHIR Endpoint:
http://localhost:8080/reference-server/r4 -
OAuth Credentials access token:
SAMPLE_TOKEN -
Patient IDs:
usqualitycore-patient
-
FHIR Endpoint:
- Run the US Quality Core FHIR API group, or run selected profile groups under it.
- Review failures, warnings, skips, and omissions in the Inferno results.
This preset is useful for local development because it points the server suite at the same reference server used by the client tests. The local data is intended to exercise the generated tests.
The US Core-Only Reference Server preset points to the public Inferno Reference Server:
https://inferno.healthit.gov/reference-server/r4
Use this preset only as a limited smoke test for behavior shared with US Core. It is not expected to demonstrate full US Quality Core conformance because the target server is not loaded with US Quality Core-specific data.
- Start a new US Quality Core Server v0.5.0 session.
- Select the US Core-Only Reference Server preset.
- Run selected groups that are useful for the question you are investigating.
- Interpret failures in light of the preset's limited data scope.
The client suite does not currently need a saved preset. It simulates a US
Quality Core FHIR server inside Inferno and proxies data requests to the local
Inferno Reference Server configured by FHIR_REFERENCE_SERVER.
-
Make sure the Docker stack is running and the local reference server is available.
-
Start a new US Quality Core Client v0.5.0 session.
-
Run the Read & Search group or its Client Access subgroup.
-
Inferno will generate a unique access token for this run.
-
Inferno will display a FHIR base URL under
/custom/us_quality_core_client_v050/fhirand the access token for the run. Configure the client under test to use that URL. -
Configure the client to send:
Authorization: Bearer <access token shown by Inferno>If the client configuration asks for an access token, enter only the token value, not the
Bearerscheme. The bearer token must match the generated access token shown by Inferno so Inferno can associate requests with the current test run. -
Configure or select the target patient:
-
Resource ID:
usqualitycore-patient - Name: Peter James Chalmers Jr
- Date of Birth: 1974-12-25
- Gender: male
-
Resource ID:
-
Trigger the client to request USCDI+ Quality data from Inferno's simulated FHIR server.
-
Return to Inferno and click the completion link in the User Action Required dialog.
-
Run the profile groups you want to evaluate, or run the full Read & Search group.
For a concrete request example, see the generated Postman collection:
lib/us_quality_core_test_kit/client/generated/v0.5.0/example_client_v050.postman_collection.json
The Postman collection is a demonstration client for the client suite. It sends the read and search requests that Inferno expects to observe during Client Access. It is not a server-suite preset and it does not point at the public Inferno Reference Server.
The collection includes two variables:
-
base_url: the simulated US Quality Core FHIR server URL exposed by Inferno. The checked-in default ishttp://localhost:4567/custom/us_quality_core_client_v050/fhir, which matches the developer-mode Inferno server. If using the Docker setup through the non-developerhttp://localhostentrypoint, update this value tohttp://localhost/custom/us_quality_core_client_v050/fhir. If running against a hosted Inferno instance, set this to the FHIR base URL displayed by that Inferno Client Access step. -
access_token: the value Postman sends asAuthorization: Bearer <access_token>. This must match the access token generated by Inferno for the current Client Access run.
To use the collection locally:
- Import the collection into Postman.
- Start the US Quality Core Client v0.5.0 suite in Inferno.
- Run Read & Search or Client Access.
- When Inferno displays the Client Access instructions, set the collection
access_tokenvariable to the generated token value shown there. - Confirm that
base_urlmatches the URL shown by Inferno. - Run the collection in Postman.
- Return to Inferno and click the completion link in the User Action Required dialog.
- Run the generated profile groups to evaluate the recorded Postman requests.
Unlike workflow test kits where Inferno's client and server suites call each other directly, the US Quality Core suites primarily share the local Inferno Reference Server as a demonstration data source.
A typical local demonstration is:
- Run the server suite with the Localhost Server preset to evaluate the reference server as a US Quality Core data source.
- Run the client suite and point a client or the generated Postman collection at Inferno's simulated client-suite FHIR base URL.
- Compare the client requests with the server-suite requirements for the same profiles and searches.
This is useful for debugging generated search expectations, target resource IDs, and reference-server data coverage.
Test kit documentation is stored within the ./docs folder of
this repository and is automatically synchronized to this wiki with each update
to the main branch using the Publish Docs Wiki
workflow. Do not change content
within this wiki directly as changes will be overwritten.
Using this Test Kit
- Getting Started
- Preset Walkthrough
- Test Suite Overviews
Resources
Contributing to this Test Kit