iris-dicom-sample

Downloads7
Subscribe
1
Bookmark
0
This application is not supported by InterSystems Corporation. Please be notified that you use it at your own responsibility.
Details
Releases
Reviews
Issues

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()

Rating
0 (0)
Category
Technology Example
Works with
InterSystems IRIS for Health
Tags
Info
Version
1.0.0
Last updated
2022-05-25
Repository
Open
Documentation
Open
License
Link