< Back

Bulk Data Access

Bulk data access supports scalable retrieval of patient records across populations for use cases such as analytics, regulatory reporting, and payer operations. Health Gorilla implements the FHIR $export operation to deliver large datasets in structured formats, enabling clients to extract full or filtered views of clinical data at scale.

Use Cases

Bulk export is designed for large-scale access where retrieving individual records is inefficient or impractical.

Common scenarios include:

  • Risk adjustment and cohort-based analysis
  • Claims validation and encounter reconciliation
  • Healthcare Effectiveness Data and Information Set (HEDIS) and quality reporting programs
  • Data lake ingestion and archival

Export Types

Health Gorilla supports multiple variants of the $export operation, depending on your patient scope:

  • GET /fhir/R4/$export retrieves all patients accessible to your client
  • GET /fhir/R4/Group/{id}/$export retrieves data for a specific group
  • GET /fhir/R4/Patient/{id}/$export retrieves a full export for a single patient

Each call initiates an asynchronous job and returns a Content-Location header that you can poll to monitor status and retrieve results.

File Format and Delivery

Export results are delivered as newline-delimited JSON (NDJSON), with separate files generated for each FHIR resource type.

For example:

  • Patient-1.ndjson
  • Encounter-1.ndjson
  • Observation-1.ndjson

Each line in the file represents a complete FHIR resource. When the export job completes, your system receives a list of pre-signed download URLs for all available files. Files remain accessible for a limited time, typically between 24 and 72 hours.

Filtering Options

You can limit the size and scope of export jobs using query parameters. This helps you retrieve only relevant data and reduce processing overhead:

  • _since={timestamp} filters resources modified after the specified date
  • _type=ResourceType1,ResourceType2 limits output to the listed resource types
  • _typeFilter=ResourceType?searchParam=value adds specific filters to one or more resource types

Filtered exports complete faster, generate fewer files, and improve downstream processing performance.

Performance Considerations

Bulk jobs can be resource intensive. To ensure optimal performance:

  • Use Group-based exports for defined cohorts rather than exporting your entire population
  • Filter by resource type or modification date to limit payload size
  • Schedule exports during non-peak usage hours to reduce queue time
  • Monitor job status using the Content-Location endpoint to avoid missed download windows

Each tenant is subject to export throttling and queue management to protect system performance.

Summary

Bulk data access allows you to retrieve structured patient data efficiently using the FHIR $export API. This supports high-volume workflows such as quality reporting, claims review, and analytics. Scope your export jobs using filters and patient groups to control output size and improve performance. All exports are delivered in a secure, asynchronous manner with time-limited file availability.