Home Applications iris-dicom-sample

iris-dicom-sample

This application is not supported by InterSystems Corporation. Please be notified that you use it at your own risk.
0
0 reviews
0
Awards
308
Views
0
IPM installs
2
1
Details
Releases
Reviews
Issues
Pull requests
Articles
Simple IRIS for Health DICOM integration sample using a simulator

What's new in this version

Initial Release

Simple DICOM integration using IRIS for Health and a simulator

Setup

Build the images and run the containers:

docker-compose build
docker-compose up -d

Usage

IRIS Production

Open DICOM.Production. Use the default superuser / SYS account.

Receiving DICOM with embedded PDF

Open an interactive session with a tools container which contains the dcm4che DICOM simulator.

docker exec -it tools bash

Build a DICOM document with a PDF embedded and some metadata:

./pdf2dcm -m PatientName=Simpson^Homer -m PatientSex=M -- /shared/pdf/sample.pdf /shared/pdf/embeddedpdf.dcm

Send DICOM document to IRIS Business Service

./storescu -b DCM_PDF_SCP -c IRIS_PDF_SCU@iris:2010 /shared/pdf/embeddedpdf.dcm

Have a look at the received messages!.

Query / Retrieve scenario

Open an interactive session with a tools container which contains the dcm4che DICOM simulator.

docker exec -it tools bash

Have a first look at some of the DICOM files we are goint to use in the query/retrieve scenario. Pay attention to some fields like PatientID, StudyInstanceUID, TransferSyntaxUID, etc:

./dcmdump /shared/dicom/d1I00001.dcm

Initialize a DICOM database in simulator. We will use this database to run queries using DICOM C-FIND commands:

./dcmdir -c /shared/DICOMDIR --fs-id SAMPLEDICOMS --fs-desc /shared/dicom/descriptor /shared/dicom

Start simulated DICOM archive that uses the previous initialized DICOM database for query/retrieve. This will receive C-FIND and C-MOVE commands:

./dcmqrscp --ae-config /shared/ae.properties -b DCM_QRY_SCP:3010 --dicomdir /shared/DICOMDIR

Now, open a terminal session in IRIS:

docker exec -it iris bash
iris session iris

Send a query message and have a look at the QueryService messages. Notice the multiple DICOM responses corresponding to several entries the DICOM archive have found:

do ##class(DICOM.BS.QueryService).TestFind()

Send move request, have a look at the MoveService messages. Notice that after the C-MOVE command, the DICOM archive will send the requested documents to the Production through the DICOM Store In service.

do ##class(DICOM.BS.MoveService).TestMove()
Made with
Version
1.0.025 May, 2022
Category
Technology Example
Works with
InterSystems IRIS for Health
First published
25 May, 2022
Last checked by moderator
27 Jun, 2023Works