Da Vinci PDex for Azure API for FHIR

In this tutorial, we'll walk through setting up Azure API for FHIR to pass the Touchstone tests for the Da Vinci Payer Data Exchange Implementation Guide (PDex IG).


Azure API for FHIR only supports JSON. The Microsoft open-source FHIR server supports both JSON and XML, and in open-source you can use the _format parameter to view the XML capability statement: GET {fhirurl}/metadata?_format=xml

Touchstone capability statement

The first set of tests that we'll focus on is testing Azure API for FHIR against the PDex IG capability statement. This includes three tests:

  • The first test validates the basic capability statement against the IG requirements and will pass without any updates.

  • The second test validates all the profiles have been added for US Core. This test will pass without updates but will include a bunch of warnings. To have these warnings removed, you need to load the US Core profiles. We've created a sample HTTP file that walks through creating all the profiles. You can also get the profiles from the HL7 site directly, which will have the most current versions.

  • The third test validates that the $patient-everything operation is supported.

Da Vinci PDex execution failed.

Touchstone $member-match test

The second test in the Payer Data Exchange section tests the existence of the $member-match operation. You can read more about the $member-match operation in our $member-match operation overview.

In this test, you’ll need to load some sample data for the test to pass. We have a rest file here with the patient and coverage linked that you'll need for the test. Once this data is loaded, you'll be able to successfully pass this test. If the data isn't loaded, you'll receive a 422 response due to not finding an exact match.

Da Vinci PDex test script passed.

Touchstone patient by reference

The next tests we'll review is the patient by reference tests. This set of tests validates that you can find a patient based on various search criteria. The best way to test the patient by reference will be to test against your own data, but we've uploaded a sample resource file that you can load to use as well.

Da Vinci PDex execution passed.

Touchstone patient/$everything test

The final test we'll walk through is testing patient-everything. For this test, you'll need to load a patient, and then you'll use that patient’s ID to test that you can use the $everything operation to pull all data related to the patient.

touchstone patient/$everything test passed.

Next steps

In this tutorial, we walked through how to pass the Payer Exchange tests in Touchstone. Next, you can learn how to test the Da Vinci PDEX Payer Network (Plan-Net) Implementation Guide.

FHIR® is a registered trademark of HL7 and is used with the permission of HL7.