Bulk Data Access IG, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 4.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/bulk-data/ and changes regularly. See the Directory of published versions
Contents:
This page provides a list of the FHIR artifacts defined as part of this implementation guide.
The following artifacts define the specific capabilities that different types of systems are expected to have in order to comply with this implementation guide. Systems conforming to this implementation guide are expected to declare conformance to one or more of the following capability statements.
| Capability Statement |
The expected capabilities of a Data Provider actor (e.g., EHR systems, data warehouses, and other clinical and administrative systems that aim to interoperate by sharing large FHIR datasets) which is responsible for providing responses to requests submitted by a Data Consumer actor. Systems implementing this capability statement SHOULD meet the requirements set by the Bulk Data Access Implementation Guide. A Data Consumer MAY choose from this list to access necessary data based on use cases and other contextual requirements. |
These are custom operations that can be supported by and/or invoked by systems conforming to this implementation guide.
| Bulk Publish Operation Definition |
FHIR Operation to publish bulk data files for retrieval by Data Consumers. A Data Provider responds to GET requests at a path ending in |
| Bulk Submit Operation Definition |
FHIR Operation through which an authenticated and authorized Data Provider submits Bulk FHIR Data to a Data Consumer and receives status information regarding the Data Consumer's receipt and processing of the data. The Data Provider provides one or more manifest URLs pointing to pre-coordinated FHIR data sets, along with metadata needed for the Data Consumer to retrieve and process the files. |
| Bulk Submit Status Operation Definition |
This operation receives status updates about the submission after a Data Provider has kicked off a Bulk Submit operation. For example, the Data Consumer may indicate files it was unable to retrieve, resources that failed validation, or resources that could not be merged into an existing data set. The Data Consumer may also return processed data such as computed quality measures or de-identified versions of the submitted data. The Data Provider receives a |
| FHIR Asynchronous Bulk Interaction Pattern Operation Definition |
Common kick-off request parameters for operations and defined interactions that implement the FHIR Asynchronous Bulk Interaction Pattern. This pattern supports asynchronous generation of large FHIR datasets and is triggered by the |
| Group Level Export Operation Definition |
FHIR Operation through which an authenticated and authorized Data Consumer requests a detailed set of FHIR resources of diverse resource types pertaining to all members of the specified Group from a Data Provider. The Data Provider's FHIR Resource Server SHALL support invocation of this operation using the FHIR Asynchronous Bulk Interaction Pattern |
| Patient Level Export Operation Definition |
FHIR Operation through which an authenticated and authorized Data Consumer requests a detailed set of FHIR resources of diverse resource types pertaining to all patients from a Data Provider. The Data Provider's FHIR Resource Server SHALL support invocation of this operation using the FHIR Asynchronous Bulk Interaction Pattern |
| System Level Export Operation Definition |
FHIR Operation through which an authenticated and authorized Data Consumer may request bulk FHIR data from a Data Provider, whether or not the data is associated with a patient. This supports use cases like backing up a Data Provider's FHIR server, or exporting terminology data by restricting the resources returned using the _type parameter. The Data Provider's FHIR Resource Server SHALL support invocation of this operation using the FHIR Asynchronous Bulk Interaction Pattern |
These define data models that represent the domain covered by this implementation guide in more business-friendly terms than the underlying FHIR resources.
| Bulk Data Manifest |
Logical model describing a standard format to provide links to FHIR Bulk Data files and related metadata. |
| Bulk Publish Manifest |
Logical model describing the manifest returned by a $bulk-publish endpoint. Extends BulkDataManifest with fields to support incremental updates through epochs and to advertise a Data Provider's update cadence. |
| Bulk Submit Status Manifest |
Logical model describing the status manifest returned by a Data Consumer in response to a $bulk-submit-status polling request. Extends BulkDataManifest with a submissionId linking the manifest to the originating submission, and a manifestUrl on output and error items linking them back to the Data Provider's submitted manifests. |
These define constraints on FHIR resources for systems conforming to this implementation guide.
| Bulk Cohort Group |
This Group resource profile enables the creation of patient cohorts, practitioner cohorts, and sets of devices based on characteristics defined using FHIR RESTful search filters. It can be used to constrain the population included in a bulk export request. |
These define constraints on FHIR data types for systems conforming to this implementation guide.
| Member Filter |
Extension to define the population of the group using FHIR REST API parameters. For example, the following extension would limit the population of the group to patients with an ambulatory encounter in January 2024: |
| Members Refreshed |
Extension used by a server to indicate to a client when the members in a dynamic group were last updated. For example, the following extension would indicate that the group members were last updated January 1st 2024: |
| Operation Not Supported |
Extension used in a CapabilityStatement to indicate that the parent resource type or search parameter is not supported for use in a bulk data export operation. For example, the following extension would indicate that the |
These define sets of codes used by systems conforming to this implementation guide.
| Include Associated Data Value Set |
Metadata inclusion options for Bulk Data Access Export Operation includeAssociatedData parameter |
| Submission Status Value Set |
Status codes for the Bulk Data Submit operation |
| Subset of GroupType Value Set |
Value Set to constrain the type element in a Group to person, practitioner and device |
These define new code systems used by systems conforming to this implementation guide.
| Include Associated Data Code System |
Metadata inclusion options for Bulk Data Access Export Operation includeAssociatedData parameter |
These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.
| Bulk Cohort Group Example |
Blue cross plan member group with members filtered to patients that have an active diagnosis of diabetes on their problem list and an ambulatory encounter in January 2024 |
| Bulk Data Manifest Example By Resource Type |
Example Bulk Data output manifest when organizeOutputBy is not populated. |
| Bulk Data Manifest Example Organized By Patient |
Example Bulk Data output manifest when organizeOutputBy is Patient and allowPartialManifests is true. |
| Bulk Publish Manifest After First Incremental Update |
Example Bulk Publish manifest after the first incremental update. |
| Bulk Publish Manifest at Epoch Start |
Example Bulk Publish manifest at the epoch start. |
| Bulk Submit Resource-Level Status OperationOutcome Example |
Example OperationOutcome describing resource-level validation failures for a bulk submit. |
| Bulk Submit Status Manifest Example |
Example bulk submit status manifest returned by a Data Consumer. |
| Bulk Submit Status Manifest-Level OperationOutcome Example |
Example OperationOutcome describing manifest-level submit status. |
| Deleted Resource Transaction Bundle Example |
Example transaction bundle representing a deleted resource in a bulk data deleted output file. |
| Export Error OperationOutcome Example |
Example OperationOutcome returned in the body of an error status response for a bulk data export. |
| Minimal Bulk Data Manifest |
Example Bulk Data output manifest when organizeOutputBy is Patient and allowPartialManifests is true. |
| Minimal Bulk Publish Manifest |
Example minimal, non-incremental Bulk Publish manifest. |