Da Vinci Plan Net for Azure API for FHIR
Important
Azure API for FHIR will be retired on September 30, 2026. Follow the migration strategies to transition to Azure Health Data Services FHIR® service by that date. Due to the retirement of Azure API for FHIR, new deployments won't be allowed beginning April 1, 2025. Azure Health Data Services FHIR service is the evolved version of Azure API for FHIR that enables customers to manage FHIR, DICOM, and MedTech services with integrations into other Azure services.
In this tutorial, we walk through setting up the FHIR® service in Azure API for FHIR to pass the Touchstone tests for the Da Vinci PDEX Payer Network (Plan-Net) Implementation Guide (IG).
Touchstone capability statement
The first test that we focus on is testing Azure API for FHIR against the Da Vinci Plan-Net capability statement. If you run this test without any updates, the test fails due to missing search parameters and profiles.
Define search parameters
As part of the Da Vinci Plan-Net IG, you need to define six new search parameters for the Healthcare Service, Insurance Plan, Practitioner Role, Organization, and Organization Affiliation resources. All six of these are tested in the capability statement.
- Healthcare Service Coverage Area
- Insurance Plan Coverage Area
- Insurance Plan Plan Type
- Organization Coverage Area
- Organization Affiliation Network
- Practitioner Role Network
Note
In the raw JSON for these search parameters, the name is set to Plannet_sp_<Resource Name>_<SearchParameter Name>
. The Touchstone test is expecting that the name for these will be only the SearchParameter Name
(coverage-area, plan-type, or network).
The rest of the search parameters needed for the Da Vinci Plan-Net IG are defined by the base specification and are already available in Azure API for FHIR without additional updates.
Store profiles
Outside of defining search parameters, you need to load the required profiles and extensions to pass this test. There are nine profiles used as part of the Da Vinci Plan-Net IG.
- Plan-Net Endpoint
- Plan-Net Healthcare Service
- Plan-Net InsurancePlan
- Plan-Net Location
- Plan-Net Network
- Plan-Net Organization
- Plan-Net OrganizationAffiliation
- Plan-Net Practitioner
- Plan-Net PractitionerRole
Sample rest file
To assist with creation of these search parameters and profiles, we have a 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.
Touchstone error handling test
The second test we walk through is testing error handling. The only step you must do is delete a HealthcareService resource from your database and use the ID of the deleted HealthcareService resource in the test. The sample DaVinci_PlanNet.http file in the open-source site provides an example HealthcareService to post and delete for this step.
Touchstone query test
The next test we walk through is the query capabilities test. This tests conformance against the profiles you loaded in the first test. You need to have resources loaded that conform to the profiles. We recommend you test against resources that you already have in your database. We also have the DaVinci_PlanNet_Sample_Resources.http file with sample resources pulled from the examples in the IG that you can use to create the resources and test against.
Note
With the sample resources provided, you should expect a 98% success rate of the query tests. There's an open GitHub issue against the FHIR Server that's causing one of these tests to fail.
A resource is returned multiple times if it meets both base criteria and _include
criteria. For details, refer to issue #2037.
Next steps
In this tutorial, we walked through setting up Azure API for FHIR to pass the Touchstone tests for the Da Vinci PDEX Payer Network (Plan-Net) Implementation Guide. For more information about the supported features in Azure API for FHIR, see
Note
FHIR® is a registered trademark of HL7 and is used with the permission of HL7.