Da Vinci Plan Net for Azure API for FHIR


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'll 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.

Touchstone capability statement

The first test that we'll 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 will fail due to missing search parameters and missing profiles.

Define search parameters

As part of the Da Vinci Plan-Net IG, you'll 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:


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 any 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:

Sample rest file

To assist with creation of these search parameters and profiles, we have a 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.

Da Vinci plan net sample rest test execution script passed

Touchstone error handling test

The second test we'll 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.

Da Vinci plan net touchstone error test execution script passed

Touchstone query test

The next test we'll walk through is the query capabilities test. This test is testing conformance against the profiles you loaded in the first test. You'll need to have resources loaded that conform to the profiles. The best path would be to test against resources that you already have in your database, but 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.

Da Vinci plan net query test failed


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. Resource returned multiple times if it meets both base criteria and _include criteria. #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

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