Coder Social home page Coder Social logo

intersystems-ib / iris-dicom-sample Goto Github PK

View Code? Open in Web Editor NEW

This project forked from isc-afuentes/iris-dicom-sample

0.0 2.0 0.0 799 KB

Simple IRIS for Health DICOM integration sample using a simulator

License: MIT License

Dockerfile 2.45% Shell 0.99% ObjectScript 96.56%

iris-dicom-sample's Introduction

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

iris-dicom-sample's People

Contributors

isc-afuentes avatar isc-lperezra avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.