You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TORCH - Transfer Of Resources in Clinical Healthcare
Goal
Transfer Of Resources in Clinical Healthcare or Torch is a project that aims to provide
a service that allows the execution of data extraction queries on a FHIR-server.
The tool will take a CRTDL and StructureDefinitions to extract specific resources from a FHIR server.
It first extracts a cohort based on the cohort definition part of the CRTDL using either CQL or FLARE and FHIR
Search.
It then extracts resources for the cohort as specified in the cohort extraction part of the CRTDL, which specifies
which resources
to extract (Filters) and which attributes to extract for each resource.
The tool internally uses the HAPI implementation for handling FHIR Resources.
CRTDL
The Clinical Resource Transfer Definition Language or CRTDL is a JSON format, which specifies a
data request.
This request is composed of two parts:
The cohort definition (for who (which patients) should data be extracted)
The data extraction (what data should be extracted)
Prerequisites
TORCH interacts with the following components directly:
The reverse proxy allows for integration into a site's multi-server infrastructure and provides a means of serving the extracted data.
Cohort Selection
TORCH supports CQL or FHIR Search for the cohort selection part.
If your FHIR server does not support CQL itself then the FLARE component must be used to extract the cohort based on the cohort definition of the CRTDL.
The cohort evaluation strategy can be set using the TORCH_USE_CQL setting in the enviroment variables
Container version
For simplicity torch is integrated in the feasibility-triangle of the feasibility-deploy repository, but can also be installed without it.
The $extract-data endpoint implements the kick-off request in the Async Bulk Pattern. It receives a FHIR parameters resource with a crtdl parameter containing a valueBase64Binary CRTDL. All examples are with a torch configured with http://localhost:8086.
After Response Complete is returned the result files in ndjson format
are located in Output directory set in enviroment variables.
In the case of error an error.json can be found in the Output directory detailing the fatal error.
Note that each patient batch is written to the output directory and the files are written before the process completes.
This can be used to track the progress of your data extraction.
Download Data
If a server is set up for the files e.g. NGINX, the files can be fetched by a Request on the URL set in
TORCH_OUTPUT_FILE_SERVER_URL in enviroment variables.
Redacting and Copying of Resources based on StructureDefinitions
Parsing CRTDL
Interaction with a Flare and FHIR Server
MII Consent handling
OAuth Support
Multi Profile Support
Extended Reference Resolving
Outstanding Features
Auto Extracting modifiers
Black or Whitelisting of certain ElementIDs locally
Validating against Profiles
License
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "
AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
language governing permissions and limitations under the License.
0 commit comments