You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this tutorial, we'll walk through setting up Azure API for FHIR to pass the [Touchstone](https://touchstone.aegis.net/touchstone/) tests for the [Da Vinci Payer Data Exchange US Drug Formulary Implementation Guide](http://hl7.org/fhir/us/Davinci-drug-formulary/).
17
+
In this tutorial, we walk through setting up Azure API for FHIR® to pass the [Touchstone](https://touchstone.aegis.net/touchstone/) tests for the [Da Vinci Payer Data Exchange US Drug Formulary Implementation Guide](http://hl7.org/fhir/us/Davinci-drug-formulary/) (IG).
18
18
19
19
## Touchstone capability statement
20
20
21
-
The first test that we'll focus on is testing Azure API for FHIR against the [Da Vinci Drug Formulary capability
22
-
statement](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/Formulary/00-Capability&activeOnly=false&contentEntry=TEST_SCRIPTS). If you run this test without any updates, the test will fail due to missing search parameters and missing profiles.
21
+
The first test we focus on is testing Azure API for FHIR against the [Da Vinci Drug Formulary capability
22
+
statement](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/Formulary/00-Capability&activeOnly=false&contentEntry=TEST_SCRIPTS). If you run this test without any updates, the test fails due to missing search parameters profiles.
23
23
24
24
### Define search parameters
25
25
26
-
As part of the Da Vinci Drug Formulary IG, you'll need to define three [new search parameters](how-to-do-custom-search.md) for the FormularyDrug resource. All three of these are tested in the
27
-
capability statement.
26
+
As part of the Da Vinci Drug Formulary IG, you need to define three [new search parameters](how-to-do-custom-search.md) for the FormularyDrug resource. All three of these are tested in the capability statement.
The rest of the search parameters needed for the Da Vinci Drug Formulary IG are defined by the base specification and are already available in Azure API for FHIR without any more updates.
32
+
The rest of the search parameters needed for the Da Vinci Drug Formulary IG are defined by the base specification, and are already available in Azure API for FHIR without additional updates.
34
33
35
34
### Store profiles
36
35
37
-
Outside of defining search parameters, the only other update you need to make to pass this test is to load the [required profiles](validation-against-profiles.md). There are two profiles used as part of the Da Vinci Drug Formulary IG.
36
+
Outside of defining search parameters, the only update you need to make to pass this test is to load the [required profiles](validation-against-profiles.md). There are two profiles used as part of the Da Vinci Drug Formulary IG.
To assist with creation of these search parameters and profiles, we have the [Da Vinci Formulary](https://github.com/microsoft/fhir-server/blob/main/docs/rest/DaVinciFormulary/DaVinciFormulary.http) sample HTTP file on the open-source site that includes all the steps outlined above in a single file. Once you've uploaded all the necessary profiles and search parameters, you can run the capability statement test in Touchstone. You should get a successful run:
43
+
To assist with creation of these search parameters and profiles, there's the [Da Vinci Formulary](https://github.com/microsoft/fhir-server/blob/main/docs/rest/DaVinciFormulary/DaVinciFormulary.http) sample HTTP file on the open-source site, which includes all the steps previously outlined in a single file. Once you've uploaded all the necessary profiles and search parameters, you can run the capability statement test in Touchstone. A successful run looks like the following.
45
44
46
45
:::image type="content" source="media/cms-tutorials/davinci-test-script-execution.png" alt-text="Da Vinci test script execution.":::
47
46
48
47
## Touchstone query test
49
48
50
-
The second test is the[query capabilities](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/Formulary/01-Query&activeOnly=false&contentEntry=TEST_SCRIPTS). This test validates that you can search for specific Coverage Plan and Drug resources using various parameters. The best path would be to test against resources that you already have in your database, but we also have the [Da VinciFormulary_Sample_Resources](https://github.com/microsoft/fhir-server/blob/main/docs/rest/DaVinciFormulary/DaVinciFormulary_Sample_Resources.http) HTTP file available with sample resources pulled from the examples in the IG that you can use to create the resources and test against.
49
+
The second test is on[query capabilities](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/Formulary/01-Query&activeOnly=false&contentEntry=TEST_SCRIPTS). This test validates that you can search for specific Coverage Plan and Drug resources using various parameters. It's recommended you test against resources that you already have in your database, but we also have the [Da VinciFormulary_Sample_Resources](https://github.com/microsoft/fhir-server/blob/main/docs/rest/DaVinciFormulary/DaVinciFormulary_Sample_Resources.http) HTTP file available with sample resources pulled from the examples in the implementation guide that you can use to create the resources and test against.
51
50
52
51
:::image type="content" source="media/cms-tutorials/davinci-test-execution-results.png" alt-text="Da Vinci test execution results.":::
53
52
54
53
## Next steps
55
54
56
-
In this tutorial, we walked through how to pass the Da Vinci Payer Data Exchange US Drug Formulary in Touchstone. Next, you can learn how to test the Da Vinci PDex Implementation Guide in Touchstone.
55
+
In this tutorial, we walked through how to pass the Da Vinci Payer Data Exchange US Drug Formulary in Touchstone. Next, you can learn how to test the Da Vinci PDex IG in Touchstone.
57
56
58
57
>[!div class="nextstepaction"]
59
58
>[Da Vinci PDex](davinci-pdex-tutorial.md)
60
59
61
-
FHIR® is a registered trademark of [HL7](https://hl7.org/fhir/) and is used with the permission of HL7.
Copy file name to clipboardExpand all lines: articles/healthcare-apis/azure-api-for-fhir/davinci-pdex-tutorial.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,40 +12,40 @@ ms.date: 09/27/2023
12
12
13
13
# Da Vinci PDex for Azure API for FHIR
14
14
15
-
In this tutorial, we'll walk through setting up Azure API for FHIR to pass the [Touchstone](https://touchstone.aegis.net/touchstone/) tests for the [Da Vinci Payer Data Exchange Implementation Guide](http://hl7.org/fhir/us/davinci-pdex/toc.html) (PDex IG).
15
+
In this tutorial, we walk through setting up Azure API for FHIR® to pass the [Touchstone](https://touchstone.aegis.net/touchstone/) tests for the [Da Vinci Payer Data Exchange Implementation Guide](http://hl7.org/fhir/us/davinci-pdex/toc.html) (PDex IG).
16
16
17
17
> [!NOTE]
18
-
> 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`
18
+
> 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`
19
19
20
20
## Touchstone capability statement
21
21
22
-
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:
22
+
The first set of tests that we focus on is testing Azure API for FHIR against the PDex IG capability statement, which includes three tests.
23
23
24
24
* The first test validates the basic capability statement against the IG requirements and will pass without any updates.
25
25
26
-
* 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](validation-against-profiles.md). We've created a [sample HTTP file](https://github.com/microsoft/fhir-server/blob/main/docs/rest/PayerDataExchange/USCore.http) that walks through creating all the profiles. You can also get the [profiles](http://hl7.org/fhir/us/core/STU3.1.1/profiles.html#profiles) from the HL7 site directly, which will have the most current versions.
26
+
* The second test validates all the profiles have been added for US Core. This test passes without updates but includes several warnings. To remove these warnings, you need to [load the US Core profiles](validation-against-profiles.md). We've created a [sample HTTP file](https://github.com/microsoft/fhir-server/blob/main/docs/rest/PayerDataExchange/USCore.http) that walks through creating all the profiles. You can also get the [profiles](http://hl7.org/fhir/us/core/STU3.1.1/profiles.html#profiles) from the HL7 site directly, which will have the most current versions.
27
27
28
28
* The third test validates that the [$patient-everything operation](patient-everything.md) is supported.
The [second test](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/PayerExchange/01-Member-Match&activeOnly=false&contentEntry=TEST_SCRIPTS) in the Payer Data Exchange section tests the existence of the [$member-match operation](http://hl7.org/fhir/us/davinci-hrex/2020Sep/OperationDefinition-member-match.html). You can read more about the $member-match operation in our [$member-match operation overview](tutorial-member-match.md).
34
+
The [second test](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/PayerExchange/01-Member-Match&activeOnly=false&contentEntry=TEST_SCRIPTS) in the Payer Data Exchange section tests the existence of the [$member-match operation](http://hl7.org/fhir/us/davinci-hrex/2020Sep/OperationDefinition-member-match.html). You can read more about the `$member-match` operation in our [$member-match operation overview](tutorial-member-match.md).
35
35
36
-
In this test, you’ll need to load some sample data for the test to pass. We have a rest file [here](https://github.com/microsoft/fhir-server/blob/main/docs/rest/PayerDataExchange/membermatch.http) 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.
36
+
In this test, you need to load some sample data for the test to pass. We have a rest file with the patient and coverage linked that you'll need for the test [here](https://github.com/microsoft/fhir-server/blob/main/docs/rest/PayerDataExchange/membermatch.http). Once this data is loaded, you'll be able to successfully pass this test. If the data isn't loaded, you receive a 422 response due to not finding an exact match.
37
37
38
38
:::image type="content" source="media/cms-tutorials/davinci-pdex-test-script-passed.png" alt-text="Da Vinci PDex test script passed.":::
39
39
40
40
## Touchstone patient by reference
41
41
42
-
The next tests we'll review is the [patient by reference](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/PayerExchange/02-PatientByReference&activeOnly=false&contentEntry=TEST_SCRIPTS) 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](https://github.com/microsoft/fhir-server/blob/main/docs/rest/PayerDataExchange/PDex_Sample_Data.http) that you can load to use as well.
42
+
The next tests we review are the [patient by reference](https://touchstone.aegis.net/touchstone/testdefinitions?selectedTestGrp=/FHIRSandbox/DaVinci/FHIR4-0-1-Test/PDEX/PayerExchange/02-PatientByReference&activeOnly=false&contentEntry=TEST_SCRIPTS) 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](https://github.com/microsoft/fhir-server/blob/main/docs/rest/PayerDataExchange/PDex_Sample_Data.http) that you can load to use as well.
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.
48
+
The final test we walk through is testing patient-everything. For this test, you need to load a patient, and then you use that patient’s ID to test that you can use the `$everything` operation to pull all data related to the patient.
49
49
50
50
:::image type="content" source="media/cms-tutorials/davinci-pdex-test-patient-everything.png" alt-text="touchstone patient/$everything test passed.":::
51
51
@@ -56,4 +56,4 @@ In this tutorial, we walked through how to pass the Payer Exchange tests in Touc
56
56
>[!div class="nextstepaction"]
57
57
>[Da Vinci Plan Net](davinci-plan-net.md)
58
58
59
-
FHIR® is a registered trademark of [HL7](https://hl7.org/fhir/) and is used with the permission of HL7.
0 commit comments