Skip to content

Routing to multiple DICOM stores

Egor Radchenko edited this page Feb 12, 2020 · 5 revisions

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. Empty filter will match all instances. 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",
  	},
  	{
    		"filter": "", 
    		"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