Integration Manual

Integration Manual

This document is also available in PDF format, please download.

DICOM Viewer of SonicDICOM PACS can be integrated with third-party other software (EMR, HIS/RIS etc.).
Adding parameters to URL, and then open a Web browser, you can login with any ID.
You can also display Study list and images which match the search criteria.

VersionDateDescription
1.02016/02/16First version issued
2.02017/07/192. Login by another method was added.
Some changes on configuration of documents and contents.

1. Login

You can simply login to SonicDICOM PACS’ DICOM Viewer by starting up Web browser from other software and adding the following parameters to URL hash.

After executing a login process, parameters of ID and Password will be removed automatically from URL hash.
Also, ID and Password information will not be remained on a history of Web browser.

2. Login by another Method

A login method of previous term is very simple and easy to use, but in some cases, users need to login by more secure method.
The following description shows a login method by using encryption method.

2.1 Get the One-Time Password

Please issue POST request for the following URL from other software, and please get the one-time password.
SonicDICOM PACS will create the secret key and the public key when the one-time password is generated, and SonicDICOM PACS will respond public key as the one-time password.

2.2 Encrypt ID and Password

Please encrypt ID and Password by RSA method on other software side using the one-time password that is got from SonicDICOM PACS.

2.3 Login by using the encrypted character string

Please change the parameter of URL hash as the following, and please execute a login.

Once SonicDICOM PACS receives such a request, it will decrypt the encrypted character string by using the secret key which is created when the one-time password is generated.
And then it will execute a login process inside of software.
If it succeeded a login, it responds HTTP code 200, and if it failed, it responds 401.
The one-time password will be deleted automatically if it is used once or if it spends a certain time after its generation.

3. Search

Adding parameters such as the followings to URL hash, you can easily get a result which matches search criteria.

You can easily execute a search from other software by adding any parameters to URL hash after ID and Password.

NOTE

  • Please change “localhost” in URL to a PC’s IP address which SonicDICOM PACS is working.
  • If you already specified a port number which Web server of SonicDICOM PACS uses, please add a port number after IP address like as “192.168.10.1:8080”
  • Please insert “&” between each parameter.
  • Please make sure to do an escape process for parameter values (symbols except for alphanumeric).
  • If you already logged in to SonicDICOM PACS with your decided ID, your ID and Password can be omitted.

4. Available Keys and Operators in Worklist

In Worklist (list.html), the following keys can be used as search criteria.
You need to do an escape process for parameter values (symbols except for alphanumeric characters).
Also, if you use more than one parameter, please insert “&” between each parameter.

ItemKeyExample
Study Instance UIDstudyinstanceuidstudyinstanceuid=1%2E2%2E392%2E200224%2E2%2E3000%2E8001
(studyinstanceuid=1.2.392.200224.2.3000.8001)
Series Instance UIDseriesinstanceuidseriesinstanceuid=1%2E2%2E392%2E200224%2E3%2E3000%2E8002
(seriesinstanceuid=1.2.392.200224.3.3000.8002)
SOP Instance UIDsopinstanceuidsopinstanceuid=1%2E2%2E392%2E200224%2E3%2E3000%2E8003
(sopinstanceuid=1.2.392.200224.3.3000.8003)
Patient IDpatientidpatientid=12345
(patientid=12345)
Patient Namepatientnamepatientname=john
(patientname=john)
Patient Commentspatientcommentspatientcomments=something
(patientcomments=something)
Patient Birth Datepatientbirthdatepatientbirthdate=1990%2F04%2F01
(patientbirthdate=1990/04/01)
Patient Sexpatientsexpatientsex=m
(patientsex=m)
Study Descriptionstudydescriptionstudydescription=something
(studydescription=something)
Study IDstudyidstudyid=123456
(studyid=123456)
Study Datestudydatestudydate=2014%2F01%2F23
(studydate=2014/01/23)
Study Timestudytimestudytime=10%3A56%3A20
(studytime=10:56:20)
Accession Numberaccessionnumberaccessionnumber=20140123001
(accessionnumber=20140123001)
Series Numberseriesnumberseriesnumber=1
(seriesnumber=1)
Series Dateseriesdateseriesdate=2014%2F01%2F23
(seriesdate=2014/01/23)
Series Timeseriestimeseriestime=10%3A56%3A20
(seriestime=10:56:20)
Series Descriptionseriesdescriptionseriesdescription=something
(seriesdescription=something)
Modalitymodalitymodality=mr
(modality=mr)
Bodypart Examinedbodypartexaminedbodypartexamined=knee
(bodypartexamined=knee)

In Worklist (list.html), you can use the following operators.
You need to do an escape process for operators except for the first “=”.

ItemOperatorEscaped
Equal= or
===
= or =%3D%3D
Not Equal=!==%21%3D
Greater Than=>>=%3E%3E
Greater Than Or Equal=>==%3E%3D
Less Than=<<=%3C%3C
Less Than Or Equal=<==%3C%3D
Contains=**=%2A%2A

Exception
OR search is available by specifying the item of Modality as follows.

Range search is available by specifying the item of StudyDate as follows.

Special values can be specified for the item of StudyDate as follows.

5. Available Keys and Operators in Viewer

In Viewer (view.html), the following keys can be used as search criteria.
You need to do an escape process for parameter values (symbols except for alphanumeric characters).
Also, if you use more than one parameter, please insert “&” between each parameter.

ItemKeyExample
Study Instance UIDstudyinstanceuidstudyinstanceuid=1%2E2%2E392%2E200224%2E2%2E3000%2E8001
(studyinstanceuid=1.2.392.200224.2.3000.8001)
Series Instance UIDseriesinstanceuidseriesinstanceuid=1%2E2%2E392%2E200224%2E3%2E3000%2E8002
(seriesinstanceuid=1.2.392.200224.3.3000.8002)
SOP Instance UIDsopinstanceuidsopinstanceuid=1%2E2%2E392%2E200224%2E3%2E3000%2E8003
(sopinstanceuid=1.2.392.200224.3.3000.8003)
Patient IDpatientidpatientid=12345
Accession Numberaccessionnumberaccessionnumber=20140123001

In Viewer (view.html), you can use the following operators.

ItemOperator
Equal=