{"id":24752042,"url":"https://github.com/inferno-framework/ipa-test-kit","last_synced_at":"2025-10-10T23:30:16.222Z","repository":{"id":40557962,"uuid":"437099154","full_name":"inferno-framework/ipa-test-kit","owner":"inferno-framework","description":"International Patient Access (IPA) Inferno Test Kit","archived":false,"fork":false,"pushed_at":"2025-07-22T17:23:38.000Z","size":2689,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-07T21:33:31.499Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inferno-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-10T19:59:39.000Z","updated_at":"2025-07-22T17:23:28.000Z","dependencies_parsed_at":"2024-01-10T21:28:35.171Z","dependency_job_id":"95264f24-0fb8-4b7b-b6aa-4aba95135b79","html_url":"https://github.com/inferno-framework/ipa-test-kit","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":"inferno-framework/inferno-template","purl":"pkg:github/inferno-framework/ipa-test-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fipa-test-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fipa-test-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fipa-test-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fipa-test-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inferno-framework","download_url":"https://codeload.github.com/inferno-framework/ipa-test-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fipa-test-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001462,"owners_count":26083102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-28T10:34:35.165Z","updated_at":"2025-10-10T23:30:15.780Z","avatar_url":"https://github.com/inferno-framework.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inferno International Patient Access (IPA) Test Kit\n\nThe Inferno International Patient Access Test Kit provides an\nexecutable set of tests for the [International Patient Access (IPA)\nImplementation Guide](https://build.fhir.org/ig/HL7/fhir-ipa/).  This test kit\nis designed and maintained by the Inferno team to support the development of the\nIPA IG and improve the core Inferno Framework.\n\nThis test kit includes a preliminary test suite based on the [Inferno US\nCore](https://github.com/inferno-framework/us-core-test-kit) test suite.\n\nThe [Office of the National Coordinator for Health IT\n(ONC)](https://healthit.gov) provides a running instance of these tests that can\nbe accessed at https://inferno.healthit.gov/suites/ipa_v100\n\n## Local Installation Instructions (Docker required)\n\n- Install [Docker](https://www.docker.com)\n- Clone this repository\n- Run `setup.sh` in this repo to pull the needed docker images and set up the\n  database.\n- Run `run.sh` to build and run the Inferno environment\n- Navigate to `http://localhost` to access the Inferno IPA Test Suite\n\n\n\n## Maintaining this Test Kit\n\nThe tests within this Test Kit are created using a generator that parses\nthe implementation guide provided in `./lib/ipa_test_kit/igs` and writes\nInferno DSL tests to `./lib/ipa_test_kit/generated`.  Resource instances\nare validated using the HL7 FHIR Validator, and will use the tx.fhir.org\nterminology service to validate terminology by default.\n\nTo update this test kit to a new version of the IG:\n\n1. Add the .tgz file in `./lib/ipa_test_kit/igs` with the new version\nof the IG package.  This IG will be used by the HL7 FHIR Validator to \nvalidate resource instances when Inferno is started.\n2. Run the generator to generate a new version-specific copy of the IPA suite.\n   After installing Ruby, run the following:\n\n```sh\nbundle install\nbundle exec rake ipa:generate\n```\n\n3. Tell Inferno to load the new version of the test suite by\nadding a new line to `./lib/ipa_test_kit.rb`, similar to\nthe existing lines.  For example:\n\n```ruby\nrequire_relative 'ipa_test_kit/generated/v2.0.0/ipa_test_suite'\n```\n\nWhile the tests should be stable, the generator is still under development and\nwill likely need to be updated if there is any major structural changes to how\nthe implementation guide represents constraints.  For example, if the\nimplementation guide alters its strategy for conveying Must Support\nrequirements, the generator will need to be updated.\n\nThe generator is located in `./lib/ipa_test_kit/generator`, and is a fork of the\nUS Core generator after being altered based on differing requirements.  Updates include:\n\n- Inclusion of a full set of search parameters from the FHIR specification, as\n  IPA does not provide a copy of them like US Core does.\n- Altered method for validating Provenance records, as there is no requirement\n  for supporting Provenance READ interaction.\n  \n## TODOS\n\n* Support `client-confidential-asymmetric`.\n* Verify that the server supports all required SMART capabilities, rather than\n  just verifying that the server advertises support for them.\n* Test `$docref` operation.\n* Test `Patient.link` requirements.\n* Verify that the server requires both a code and system for Patient identifier\n  search.\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at\n\n```md\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n\n## Trademark Notice\n\nHL7, FHIR and the FHIR [FLAME DESIGN] are the registered trademarks of Health\nLevel Seven International and their use does not constitute endorsement by HL7.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Fipa-test-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finferno-framework%2Fipa-test-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Fipa-test-kit/lists"}