Overview 

Smile CDR implements the FHIR Bulk Data Access protocol with the following functionality:

  • Group of Patients: Export a detailed set of FHIR resources of diverse resource types pertaining to all patients in specified Group.

  • Patient Level Export: Export a detailed set of FHIR resources of diverse resource types pertaining to a single patient.

  • System Level Export: Export data from a FHIR server

Access and Authorization

The BDE functionality can be exposed by the standard CDR API endpoints.  While typically large datasets exports are not a regular/frequent activity, it is recommended that the privileges are limited to specific user accounts and with only the minimal roles to execute the export.

The request client user account must be granted the appropriate permissions via the Smile CDR roles.  These include the following default roles:

  • ROLE_SUPERUSER Superuser

  • ROLE_FHIR_CLIENT_SUPERUSER_RO FHIR Client (Read-Only Superuser)

In addition to the roles above, the following permissions grant the necessary specific functionality:

  • FHIR_OP_INITIATE_BULK_DATA_EXPORT Initiate Bulk Export ($export) - All Permissions

  • FHIR_OP_INITIATE_BULK_DATA_EXPORT_GROUP Initiate Bulk Export ($export) - Group Export

  • FHIR_OP_INITIATE_BULK_DATA_EXPORT_PATIENT Initiate Bulk Export ($export) - Patient Export

  • FHIR_OP_INITIATE_BULK_DATA_EXPORT_SYSTEM Initiate Bulk Export ($export) - System Export

Smile CDR Properties

Additional information on the configuration properties are available at the Smile CDR FHIR Bulk Operations documentation.

The following properties must be enabled at a minimum:
module.[MODULE_ID].config.bulk_export.enabled = true
module.[MODULE_ID].config.bulk_export.file_max_capacity = 1000

The following properties are recommended:
module.[MODULE_ID].config.bulk_export.restrict_download_to_initiating_user.enabled = true