FHIR-Based Bulk Patient Data Export
Bahmni provides the ability to export bulk patient data in FHIR NDJSON format. This feature has options for exporting data as-is, or with anonymised data (default setting is anonymised export). To be able to use this feature a user must have requisite privileges to export data in bulk. See details below of sample formats, anonymisation options and privileges required.
Introduction
The FHIR-Based Bulk Patient Data Export feature in Bahmni facilitates efficient, standardized export of large patient datasets while ensuring interoperability using the FHIR standard. It incorporates robust anonymization measures to protect sensitive data, striking a crucial balance between data accessibility and privacy compliance. This functionality empowers users to responsibly share comprehensive datasets for analytics and reporting, upholding the highest standards of patient confidentiality and regulatory requirements.
Anonymisation in Bahmni encompasses transforming or redacting sensitive information to ensure privacy protection. Organisations can conduct meaningful analytics without compromising individual privacy. Bahmni offers a privileged FHIR data export option for data sharing across systems and analytics. For instance, Snolytical leverages this option for patient data analytics.
Handle patient data confidentially! It's advised to export data in anonymised mode, ensuring careful handling by authorised parties only. Consent responsibility lies with the system user in production.
Video demo: https://www.youtube.com/watch?v=MOFFWx7_mp8
The resources available for FHIR export include:
Patient
Condition(includes Diagnosis in Bahmni)
MedicationRequest
ServiceRequest (Procedure Order)
Privileges Required
To activate the export option, two privileges are required:
Export Patient Data: Allows anonymised export, as per the anonymisation configuration.
Export Non-Anonymised Patient Data: Permits plain export without anonymisation (use carefully!).
Preconfigured Concepts
The following concepts are required for presenting export details as tabular information in the FHIR task. These concepts are predefined and are available out of the box in the snomed-default-config and snomed-clinic-config.
Download URL
FHIR Export User Name
FHIR Export Start Date
FHIR Export End Date
FHIR Export Anonymise Flag
Screenshot of Admin Export Screen
In the Admin section under FHIR Export, the patient data export feature is accessible. Only users/admins with export privileges will be able to export the data. Any facility can decide which user / role must have that privilege, allowing them to initiate exports accordingly.
Once the privileges are configured, and anonymisation settings are in place, the FHIR export is ready for use.
You can download data in NDJSON format using the 'Download' link.
Sample Export Formats
With Anonymisation
Below are examples of anonymised resources resulting from FHIR export :
Without Anonymisation
Below are examples of non-anonymised resources resulting from FHIR export :
Anonymisation Configuration
FHIR export anonymization options include:
Redact: Omit specified sensitive information during export.
Correlate: Use surrogate keys instead of sensitive data for tracking and correlation. Surrogate keys are generated through a one-way hash function, configured with 'oneWayHashSalt' to create unique identifiers.
Add Noise: Randomise data for privacy, e.g., "firstOfMonth" transforms dates to the beginning of the year.
Fixed: Mask data to a predetermined fixed value.
These methods empower users to customise anonymisation strategies for data export, ensuring privacy while enabling valuable analytics.
For instance, if we aim to anonymise the resources as follows:
Patient Attributes | Anticipated Export Results |
---|---|
resourceType | No change |
id | Surrogate key for correlation |
identifier | Redact all identifiers |
active | No change |
name | Redacted |
telecom | Redacted |
gender | No change |
birthDate | Set to 1st Jan of the birth year |
deceasedBoolean | No change |
deceasedDateTime | Set to 1st Jan of the death year |
address | Redacted |
Condition Attributes | Anticipated Export Results |
---|---|
resourceType | No change |
clinicalStatus | No change |
category | No change |
code | No change |
subject | Surrogate key for correlating with patient resource |
encounter | Redacted |
onsetDateTime | No change |
recordedDate | Redacted |
recorder | Redacted |
MedicationRequest Attributes | Anticipated Export Results |
---|---|
resourceType | No change |
status | No change |
intent | No change |
priority | Redacted |
medication | No change |
subject | Surrogate key for correlating with patient resource |
encounter | Redacted |
authoredOn | Redacted |
requester | Redacted |
dosageInstruction | Redacted |
dispenseRequest.validityPeriod | No change |
dispenseRequest.numberOfRepeatsAllowed | No change |
dispenseRequest.quantity | No change |
Procedure Attributes | Anticipated Export Results |
---|---|
resourceType | No change |
status | No change |
category | No change |
code | No change |
subject | Surrogate key for correlating with patient resource |
encounter | Redacted |
Here is the corresponding configuration that anonymises sensitive fields
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)