Skip to content
This repository has been archived by the owner on Nov 14, 2023. It is now read-only.

This is an Inferno test kit by HL7 FHIR At Scale Taskforce (FAST) for digital identity and patient matching implementation guide. It launches a dockerized application that can query a locally running server and report conformance to the FHIR implementation guide specifications.

License

HL7-FAST/identity-matching-test-kit

Repository files navigation

Identity Matching Test Kit

This is an Inferno test kit by HL7 FHIR At Scale Taskforce (FAST) for digital identity and patient matching implementation guide. It launches a dockerized application that can query a locally running server and report conformance to the FHIR implementation guide specifications.

Dependencies

Quickstart

  1. Launch Docker daemon
  2. Clone repository: git clone https://github.com/HL7-FAST/identity-matching-test-kit
  3. Enter repository: cd identity-matching-test-kit
  4. Build test kit container: ./setup.sh
  5. Launch test kit: ./run.sh
  6. Launch your identity matching server implementation (ideally in test mode)
  7. Go to http://localhost:8081 and use application to test your own server

Note: If the server does not support Patient create, you must insert all the FHIR Pateint records in resources/test_patients/ into your database.

Developer Instructions

  • Clone this repo.
  • Write your tests in the lib folder.
  • Put the package.tgz for the IG you're writing tests for in lib/your_test_kit_name/igs and update this path in docker-compose.yml. This will ensure that the validator has access to the resources needed to validate resources against your IG.
  • Run setup.sh in this repo to pull the needed docker images and set up the database.
  • Run run.sh to build your tests and run inferno.
  • Navigate to http://localhost:8081 to access Inferno, where your test suite will be available. To access the FHIR resource validator, navigate to http://localhost:8081/validator.

Documentation

Distributing tests

In order to make your test suite available to others, it needs to be organized like a standard ruby gem (ruby libraries are called gems).

  • Fill in the information in the gemspec file in the root of this repository. The name of this file should match the spec.name within the file. This will be the name of the gem you create. For example, if your file is my_test_kit.gemspec and its spec.name is 'my_test_kit', then others will be able to install your gem with gem install my_test_kit. There are recommended naming conventions for gems.
  • Your tests must be in lib
  • lib should contain only one file. All other files should be in a subdirectory. The file in lib be what people use to import your gem after they have installed it. For example, if your test kit contains a file lib/my_test_suite.rb, then after installing your test kit gem, I could include your test suite with require 'my_test_suite'.
  • Optional: Once your gemspec file has been updated, you can publish your gem on rubygems, the official ruby gem repository. If you don't publish your gem on rubygems, users will still be able to install it if it is located in a public git repository. To publish your gem on rubygems, you will first need to make an account on rubygems and then run gem build *.gemspec and gem push *.gem.

Example Inferno test kits

License

Copyright 2022 The MITRE Corporation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

This is an Inferno test kit by HL7 FHIR At Scale Taskforce (FAST) for digital identity and patient matching implementation guide. It launches a dockerized application that can query a locally running server and report conformance to the FHIR implementation guide specifications.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages