{"id":24752031,"url":"https://github.com/inferno-framework/davinci-pdex-test-kit","last_synced_at":"2025-06-13T17:35:05.422Z","repository":{"id":244048831,"uuid":"807789604","full_name":"inferno-framework/davinci-pdex-test-kit","owner":"inferno-framework","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-09T22:31:29.000Z","size":39691,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T23:27:15.382Z","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":"2024-05-29T19:21:16.000Z","updated_at":"2024-12-05T16:01:54.000Z","dependencies_parsed_at":"2024-06-26T21:16:48.958Z","dependency_job_id":"fab0bf91-8d10-4a4e-bb47-83752586984f","html_url":"https://github.com/inferno-framework/davinci-pdex-test-kit","commit_stats":null,"previous_names":["inferno-framework/davinci-pdex-test-kit"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fdavinci-pdex-test-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fdavinci-pdex-test-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fdavinci-pdex-test-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Fdavinci-pdex-test-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inferno-framework","download_url":"https://codeload.github.com/inferno-framework/davinci-pdex-test-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236003630,"owners_count":19079666,"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","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:32.357Z","updated_at":"2025-01-28T10:34:32.959Z","avatar_url":"https://github.com/inferno-framework.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Da Vinci Payer Data Exchange (PDex) v2.0.0 Test Kit\n\n[Da Vinci Payer Data Exchange (PDex) FHIR\nImplementation Guide](https://hl7.org/fhir/us/davinci-pdex/).\n\nThe Da Vinci Payer Data Exchange (PDex) STU 2.0.0 Test Kit validates the \nconformance of systems to the \n[PDex STU 2.0.0 FHIR IG](https://hl7.org/fhir/us/davinci-pdex/). \nThe test kit includes suites targeting the following actors from the specification:\n\n- **Payer Servers**: Inferno will act as a client and make a series of\n  requests to the server under test simulating a new payer's request \n  to access member clinical data from an old payer using the payer to payer workflow.\n- **Payer Clients**: Inferno will act as an old payer server that contains member information\n  that the client under test would like to access using the payer to payer workflow.\n  Inferno will wait for the client to make requests and respond appropriately\n  to them.\n\nIn each case, content provided by the system under test will be checked individually\nfor conformance and in aggregate to determine that the full set of features is\nsupported.\n\nThis test kit is [open source](#license) and freely available for use or\nadoption by the health IT community including EHR vendors, health app\ndevelopers, and testing labs. It is built using the [Inferno\nFramework](https://inferno-framework.github.io/). The Inferno Framework is\ndesigned for reuse and aims to make it easier to build test kits for any\nFHIR-based data exchange.\n\n## Status\n\nThese tests are a **DRAFT** intended to allow PDex implementers to perform \npreliminary checks of their implementations against PDex IG requirements and provide \nfeedback on the tests. Future versions of these tests may validate other \nrequirements and may change how these are tested.\n\n## Test Scope and Limitations\n\nNeither the server nor client test suite included test the full scope of the PDex IG.\nThis is because the PDex IG is under active development and the IG authors intend to \nchange the approach to the workflows included within future versions of the IG. \nIn particular \n- The payer to payer workflow will move from a single-patient workflow to a multi-patient workflow.\n- The payer to payer discovery and trust mechanisms will be updated.\n- The payer to provider workflow will change to no longer use CDS Hooks.\n\nDue to these expected changes, this test kit focuses on validating the high-level \npayer to payer workflow from both the client and server perspective under the expectation\nthat the broad need of payers to exchange data will remain, but the details are\nexpected to change.\n\n## How to Run\n\nUse either of the following methods to run the suites within this test kit.\nIf you would like to try out the tests but don’t have a PDex implementation, \nthe test home pages include instructions for trying out the tests, including\n\n- For server testing: a [public reference implementation](https://prior-auth.davinci.hl7.org/fhir)\n  ([code on github](https://github.com/HL7-DaVinci/prior-auth))\n- For client testing: a [sample postman collection](PDEX.postman_collection.json)\n\nDetailed instructions can be found in the suite descriptions when the tests\nare run or within this repository for the \n[server](lib/davinci_pdex_test_kit/docs/payer_server_suite_description_v200.md#running-the-tests) and\n[client](lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md#running-the-tests).\n\n### ONC Hosted Instance\n\nYou can run the PDex test kit via the [ONC Inferno](https://inferno.healthit.gov/test-kits/davinci-pdex/) website by choosing the “Da Vinci Payer Data Exchange (PDex) Test Kit” test kit.\n\n### Local Inferno Instance\n\n- Download the source code from this repository.\n- [Start or identify](#fhir-server-simulation-for-the-client-suite) \n  an Inferno Reference Server instance for Inferno to use for simulation (only needed if\n  planning to run the Client test suite).\n- Open a terminal in the directory containing the downloaded code.\n- In the terminal, run `setup.sh`.\n- In the terminal, run `run.sh`.\n- Use a web browser to navigate to `http://localhost`.\n\n## FHIR Server Simulation for the Client Suite\n\nThe PDex client test suite needs to be able to return responses to FHIR read and search APIs.\nThese responses can be complex and so the suite relies on a full FHIR server to provide \nresponses for it to provide back to systems under test. The test kit was written to work \nwith the [Inferno Reference Server](https://github.com/inferno-framework/inferno-reference-server)\n\n- loaded with [patient 999](https://github.com/inferno-framework/inferno-reference-server/blob/main/resources/pdex_bundle_patient_999.json) and an [associated group](https://github.com/inferno-framework/inferno-reference-server/blob/main/resources/pdex_proxy_group_patient_999.json)\n- accepting bearer token `SAMPLE_TOKEN` for read access.\n\n### Simulation Server Configuration For Local Test Kit Execution\n\nThe test kit can be configured to point to either a local instance of the reference server or\nto a public instance. The location of the The following are valid configuration approaches:\n\n1. Point to a public instance of the Inferno reference server at either \n   `https://inferno.healthit.gov/reference-server/r4/` or\n   `https://inferno-qa.healthit.gov/reference-server/r4/`: update the `FHIR_REFERENCE_SERVER`\n   environment variable in the appropriate environment file (`.evn.production` when running\n   in docker [as above](#local-inferno-instance), or `env.development` when \n   [running the test kit in Ruby](#development)).\n2. Run a local instance of the Inferno Reference Server, either \n   [with docker](https://github.com/inferno-framework/inferno-reference-server?tab=readme-ov-file#running-with-docker) \n   or [without docker](https://github.com/inferno-framework/inferno-reference-server?tab=readme-ov-file#running-without-docker) \n   (NOTE: this decision can be made independently from whether to run the test kit with \n   docker or using Ruby).\n\n## Running Server Tests and Client Tests against each other\n\nA preset has been provided if you would like to run the test kits against each other.  To do so:\n1. Begin each test suite in separate windows.\n2. Select the \"PDex Payer Server Preset for Client Tests\" preset in the Server Suite.\n3. Select \"Run All Tests\" for both kits.  Input the same access token for both, but do not click submit.\n4. Begin the Client tests by clicking submit.  It will now await a member-match to begin the workflow.\n5. Begin the Server tests by clicking submit.  It will send a member-match request to begin the workflow.\n6. Once a member-match request is received, the client tests will begin awaiting clinical data requests.  The server tests will automatically begin sending them.  Once the Server tests have reached the second group, you may attest in the client that clinical data requests are over.\n7. Let both test kits finish, attesting in client side that member-match's have all been received after Server group 2.1 completes. The tests are not expected to pass at this time.\n\nNote that there is a currently a race condition that means that the client test may fail to respond to\nsome server test suite requests. As a work-around, run the server test suite a second time while the\nclient is waiting for clinical data requests during test 1.2.\n\n## Providing Feedback and Reporting Issues\n\nWe welcome feedback on the tests, including but not limited to the following areas:\n- Validation logic, such as potential bugs, lax checks, and unexpected failures.\n- Requirements coverage, such as requirements that have been missed and tests that necessitate features that the IG does not require.\n- User experience, such as confusing or missing information in the test UI.\n\nPlease report any issues with this set of tests in the issues section of this repository.\n\n## Development\n\nTo make updates and additions to this test kit, see the \n[Inferno Framework Documentation](https://inferno-framework.github.io/docs/),\nparticularly the instructions on \n[development with Ruby](https://inferno-framework.github.io/docs/getting-started/#development-with-ruby).\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```\nhttp://www.apache.org/licenses/LICENSE-2.0\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\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Fdavinci-pdex-test-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finferno-framework%2Fdavinci-pdex-test-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Fdavinci-pdex-test-kit/lists"}