-
Notifications
You must be signed in to change notification settings - Fork 48
Routing to multiple DICOM stores
NOTE: This feature is only available in v0.1.14+ of the import adapter.
Import adapter C-STORE service supports routing to multiple DICOM stores based on tags in the incoming instance and the client AE title. Filter is in the format of a QidoRS query, with the additional option of specifying the AETitle for matching against the calling client AET. If no filter matches, instances will be routed to '--dicomweb_address'.
WARNING: Matching tags with a hex value greater than pixeldata (7FE0,0010) is not supported.
The following configuration needs to be added to the dicom-adapter.yaml file to use C-STORE routing. Please see the Deployment using Kubernetes section for more information.
env:
- name: ENV_DESTINATION_CONFIG_JSON
valueFrom:
configMapKeyRef:
name: destination-config
key: destinations.json
Here is an example destination JSON file:
[
{
"filter": "AETitle=DEVICE_A",
"dicomweb_destination": "https://healthcare.googleapis.com/v1beta1/projects/your-project/locations/your-location/datasets/your-dataset/dicomStores/your-store/dicomWeb",
},
{
"filter": "AETitle=DEVICE_A&StudyDate=19700101",
"dicomweb_destination": "https://healthcare.googleapis.com/v1beta1/projects/your-project/locations/your-location/datasets/your-dataset/dicomStores/your-store/dicomWeb",
},
{
"filter": "00080020=19700101",
"dicomweb_destination": "https://healthcare.googleapis.com/v1beta1/projects/your-project/locations/your-location/datasets/your-dataset/dicomStores/your-store/dicomWeb",
}
]
And command to create configmap from it:
kubectl create configmap destination-config --from-file=destinations.json
The same destination map can be applied when running the adapter locally with docker, using the --destinationConfigPath
flag and a local mount:
docker run \
-p 2579:2579 \
-v /path/to/google_credentials.json:/credentials -e GOOGLE_APPLICATION_CREDENTIALS='/credentials' \
-v path/to/destinations.json:/maps/destinations.json \
${TAG} \
gcr.io/cloud-healthcare-containers/healthcare-api-dicom-dicomweb-adapter-import:0.2.15 \
--dimse_aet=IMPORTADAPTER \
--dimse_port=2579 \
--oauth_scopes=https://www.googleapis.com/auth/cloud-platform \
--monitoring_project_id=${PROJECT} \
--destination_config_path=/maps/destinations.json \
--verbose