-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: don't deserialize and reserialize json for no reason
This makes the core ETL loop much faster for basic FHIR tables. We previously were reading the de-identified input ndjson, turning it into fhirclient resource objects, scrubbing it, then writing it back as json. The value of the fhirclient step was validation and ease of use. But the MS deid tool validates for us. And we can live with loss of nice typed objects if it means huge speed wins. And they do seem to be huge. Quick napkin math looks like we use 10% of the CPU and 25% of the wall clock time as before. (Of the core loop -- not counting the MS deid time.) Which might take us from a CPU-bound profile to an IO-bound profile. This removes all uses of fhirclient except for the i2b2 code (which would benefit from a similar change, if we cared about speeding that up) and the bulk exporter (for some oauth code).
- Loading branch information
Showing
15 changed files
with
196 additions
and
414 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.