medizininformatik-initiative / torch

Apache License 2.0
0 stars 0 forks source link

Create FHIR Resource Stream Processing - FHIR Search #5

Closed juliangruendner closed 2 weeks ago

juliangruendner commented 1 month ago

after identifying the cohort (list of patient ids) TORCH will have to download and process all the resources defined in the the data extraction part of the CRTDL.

Click to Expand JSON Example ```json { "attributeGroups": [ { "groupReference": "https://www.medizininformatik-initiative.de/fhir/core/modul-labor/StructureDefinition/ObservationLab", "attributes": [ { "attributeRef": "Observation.code", "mustHave": false }, { "attributeRef": "Observation.value", "mustHave": true } ], "filter": [ { "type": "token", "name": "code", "codes": [ { "code": "718-7", "system": "http://loinc.org", "display": "Hemoglobin [Mass/volume] in Blood" }, { "code": "33509-1", "system": "http://loinc.org", "display": "Hemoglobin [Mass/volume] in Body fluid" } ] }, { "type": "date", "name": "date", "start": "2021-09-09", "end": "2021-10-09" } ] } ] } ```

Task

A processor has to be created, which for each patient of a cohort downloads all resources for each attributeGroup based on the filters of the attributeGroup see: https://github.com/medizininformatik-initiative/torch/issues/9 using the FHIR search api and then process them using the transformer https://github.com/medizininformatik-initiative/torch/issues/3

Note:

  1. This is very similar to a processing used here: https://github.com/medizininformatik-initiative/fhir-data-evaluator or here: https://github.com/medizininformatik-initiative/flare
    • speak to @bastianschaffer and @alexanderkiel for more information
  2. It should be considered how the patients of the cohort can be batched (batch size should be configurable) for the processing, as no batching would potentially lead to too many FHIR search requests
  3. FHIR search will have to consider the paging required to process the resources