Bulk FHIR Data Export

Using a tool such as Postman that handles REST APIs, tenants authorized to access the bulk FHIR API have the ability to export a large volume of provider data according to their configured data sources. The Bulk FHIR export supports a configurable set of fixed search parameters per tenant; if the tenant has not configured the query, the tenant's entire dataset is exported. The export returned from this query excludes any tenant private data and includes all search results in the tenant's FHIR golden records. Each tenant is limited to one Bulk Export query.

To have this feature enabled, please contact Leap Orbit to activate.

The Bulk FHIR query comprises three API calls:

  • The first API call initiates the FHIR bulk export request with the PractitionerRole resource type specified.


    GET /api.convergent-pd.com/fhir/$export?_type=practitionerrole

    • The FHIR API returns an HTTP status code:
      • 202 (Accepted) indicates the request has been initiated
      • 400 (Bad Request) indicates parameters entered are invalid

    • The response will return the Status URL in the Content-Location of the response header.

  • The second API call retrieves the status of the request and returns the URL to download the export file. Use the URL returned in the Content-Location header of the previous call to make this call.
  • The third API call downloads the export file using the download URL returned from the status endpoint.

     

    https://api.convergent-pd.com/fhir/$export?_type=practitionerrole
    

    👍

    HTTP Status Code 202

    Accepted - request is in process

    ❗️

    HTTP Status Code 400

    Bad Request - invalid parameters

    To send this request, copy the URL from Content-Location in the Header of the first response. When the Bulk FHIR download is available, an HTTP Status Code of 200 (Complete) will display for the response.

    https://api.convergent-pd.com/provider/$export/status/14a74634-dad3-4c54-9826-6843591a1f4d/55
    

    👍

    HTTP Status Code 200

    Request complete

    {
    "transactionTime": 07/07/2021 19:35:54",
      "request": https://convergent-pd.com/$export",
      "requiresAccessToken": true,
       "output": [
          {
            "type": "PractitionerRole",
            "url": https://apimanage-convergent-pd.com/provider/$export/download/14a74634-dad3-4c54-9826-6843591a1f4d/bulkexport-2021-07-07T19:35:54"
          }
          ]
      "error": null
    }
    

    To download the bulk export file, copy the URL from the status response (example above) and send a new API request. In Postman, this can be done using the Send and Download feature.

    https://api.convergent-pd.com/provider/$export/download/14a74634-dad3-4c54-9826-6843591a1f4d/bulkexport-2021-07-07T19:35:54
    

    Export File

    📘

    The export file is returned in the ndjson format.

    {  "resourceType": "PractitionerRole",  "id": "D3FZgnoBQeWXrdtZX6kF",  "contained": [    {      "resourceType": "Practitioner",      "id": "fa991089-edf2-4b12-8601-63d8ae7b53f0",      "identifier": [        {          "system": "https://nppes.cms.hhs.gov/#/",          "value": "NPI6666666",          "period": {            "start": "2005-05-23T00:00:00.00+00:00"          }        }      ],      "active": false,      "name": [        {          "use": "usual",          "text": "ANTHONY POTTER",          "family": "POTTER",          "given": [            "ANTHONY"          ]        }      ],      "telecom": [        {          "system": "phone",          "value": "(315) 782-2141",          "use": "work"        }      ],      "address": [        {          "use": "work",          "type": "physical",          "text": "8212 CANNING TERRACE GREENBELT MD 20770",          "line": [            "8212 CANNING TERRACE"          ],          "city": "GREENBELT",          "district": "PRINCE GEORGES",          "state": "MD",          "postalCode": "20770"        }      ],      "gender": "male"    }  ],  "practitioner": {    "reference": "#fa991089-edf2-4b12-8601-63d8ae7b53f0",    "type": "Practitioner",    "display": "ANTHONY POTTER"  },  "specialty": [    {      "coding": [        {          "system": "https://nucc.org/images/stories/csv/nucc_taxonomy_201.csv",          "code": "207R00000X",          "display": "INTERNAL MEDICINE"        }      ],      "text": "INTERNAL MEDICINE"    }  ]}
    {  "resourceType": "PractitionerRole",  "id": "PnFXgnoBQeWXrdtZpqCI",  "contained": [    {      "resourceType": "Practitioner",      "id": "553a0a13-5f02-41a3-ac7c-ac43a184950f",      "identifier": [        {          "system": "https://www.dea.gov/",          "value": "BB555555",          "period": {            "start": "1993-07-20T00:00:00.00+00:00",            "end": "2023-07-31T00:00:00.00+00:00"          }        }      ],      "active": false,      "name": [        {          "use": "usual",          "text": "BIBLO BAGGINS",          "family": "BAGGINS",          "given": [            "BIBLO"          ],          "suffix": [            "MD"          ]        }      ],      "address": [        {          "use": "work",          "type": "physical",          "text": "CALLE COLON #161 BGUADA DC 006020000",          "line": [            "CALLE COLON #161"          ],          "city": "BGUADA",          "state": "DC",          "postalCode": "006020000"        }      ],      "gender": "unknown"    }  ],  "practitioner": {    "reference": "#553a0a13-5f02-41a3-ac7c-ac43a184950f",    "type": "Practitioner",    "display": "BIBLO BAGGINS"  }}