Replies: 1 comment 4 replies
-
Do you have the command that would be needed to run the bulk export on an EPIC FHIR server? |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello 👋! Are you an Epic customer using Cumulus (or just doing bulk exports on your own)? Hopefully this collection of tips will help.
This post is aiming to be a living document - please reply with new suggestions or edits. 🙏
Frequent Bulk Exporting
You may encounter this error:
Error processing Bulk Data Kickoff request: Request not allowed: The Client requested this Group too recently.
.If so, you will want to update the
FHIR_BULK_CLIENT_REQUEST_WINDOW_TBL
to a longer time. The default is 24 hours.Long IDs
In rare cases, Epic's bulk FHIR export can generate IDs that are longer than the mandated 64-character limit. Cumulus ETL itself will not mind this, but if you use another bulk export client, you may find that it complains. If so, you have to reach out to Epic to cap it at 64 characters (there is a toggle for this when you register your API client).
Condition API Errors
Epic's bulk export for Conditions will give errors even for API types you haven't been given access to. For example, even if you do not have access to the
Dental Finding
Condition API, Epic's export will attempt to access those records behind the scenes and give you errors.That's fine and expected - just ignore the errors.
Batch Updates
Epic has not yet implemented the
_since
parameter for bulk exports, but it has implemented_typeFilter
! It's recommended to use it to specify a date range, to reduce the size of the export, since Epic can be very slow.Something like:
Initial Import
For performance reasons, you don't want to try to export your whole history in one go.
Instead, you should add a date range to your registry and start at the earliest date possible. Run Cumulus ETL and once you confirm it works, slide your registry range (or your
_typeFilter
window) forward. Rinse and repeat until you have imported all your data.Incremental Updates
When running Cumulus on a regular ongoing basis, make sure you update your registry to slide your date range forward (or slide your
_typeFilter
date window forward) before running Cumulus ETL.Versioning of Updates
Epic does not provide metadata about when each record was last updated (i.e. does not populate the
meta.lastUpdated
FHIR field).Which means that Cumulus ETL has no way of knowing when one batch of data is more up-to-date than another. This is fine, it just means that you should run the ETL on the results of exports in the order that you exported them.
That is, if you exported patients both last week and today, you should run the ETL first on last week's batch, and then on today's. Otherwise, the ETL will accidentally overwrite today's patient data with last week's patient data (for any patients in both exports).
API Access
Epic will ask you for a list of APIs / resources to enable. Here is the currently recommended list to request. If you have suggestions for edits, please send them in.
Beta Was this translation helpful? Give feedback.
All reactions