A testing suite for validating FHIR servers against the Smart Health Checks Implementation Guide. This project is built on the Inferno testing framework and provides automated tests to ensure compliance with the Smart Health Checks IG.
Smart Health Checks Inferno is designed to validate FHIR servers that implement the Smart Health Checks Implementation Guide. It tests various FHIR resources including:
- Patient
- Practitioner
- Observations (Blood Pressure, Body Height, Body Weight, etc.)
- Questionnaire Responses
- Conditions
- Immunizations
- Medication Statements
- Allergy Intolerances
The test suite validates resource conformance, search capabilities, and reference resolution according to the implementation guide specifications.
-
Clone the repository:
git clone https://github.com/aehrc/smart-health-checks-inferno.git cd smart-health-checks-inferno
-
Set up the project:
make setup
This command will:
- Pull the necessary Docker images
- Build the project
- Run database migrations
Start the application:
make run
This will build and start all the necessary services. Once running, you can access the application at http://localhost.
To generate or regenerate test files from the implementation guide:
make generate
To run the test suite:
make tests
To check code style:
make rubocop
To automatically fix code style issues:
make rubocop-fix
To stop, rebuild, and restart the application with fresh generated files:
make full_develop_restart
The project configuration is stored in config.json
. Key configuration options include:
- Implementation Guide (IG) details
- Terminology server URL
- Profile configurations
- Resource configurations
lib/smart_health_checks_test_kit/
: Main test kit codegenerated/
: Generated test files based on the implementation guideversion.rb
: Version information
The project uses several Docker services:
inferno
: The main applicationinferno-worker
: Background worker using Sidekiqvalidator-api
: Dockerized official validator wrappernginx
: Web server that proxies requestsredis
: Used for caching and background job queuingpostgres
: Database for storing test results
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.