Integration

DICOM Viewer of SonicDICOM PACS can be integrated with third party's software (EHR, HIS/RIS etc.).
By opening a Web browser and adding parameters to URL, you can log in with any ID.
You can also display Study list and images that match search criteria.

Log in

You can simply log in to SonicDICOM PACS DICOM Viewer by starting up Web browser from third party's software and adding the following parameters to URL.

List:
http://localhost/viewer/#/list?id=admin&password=password

Viewer:
http://localhost/viewer/#/viewer?id=admin&password=password

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

Log in by another method

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

1) Get the One-Time Password

Please issue POST request for the following URL from third party's 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.

URL: /viewer/api/otp/

2) Encrypt ID and Password

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

Example for before encrypting character string: id=admin&password=password  
Example for after encrypting character string: encryptedstring  

3) Log in by using the encrypted character string

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

Example of URL: /viewer/#/list?code=encryptedstring

Once SonicDICOM PACS receives such a request, it will decrypt the encrypted character string by using the secret key that 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.

By adding parameters such as the followings to URL, you can easily get a result that matches search criteria.

List:
http://localhost/viewer/#/list?id=admin&password=password&patientid=123

Viewer:
http://localhost/viewer/#/viewer?id=admin&password=password&patientid=123

As just described, you can easily execute a search from third party's software by adding any parameters to URL.

NOTE

  • Please change "localhost" in URL to the PC's IP Address that SonicDICOM PACS is running.
  • If you already specified a Port Number that 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.
  • If you already logged in to SonicDICOM PACS with your decided ID, your ID and Password can be omitted.

Available Keys and Operators in List

In List (/viewer/#/list), the following keys can be used as search criteria.
Also, if you use more than one parameter, please insert "&" between each parameter.

ItemKeyExample
Study Instance UIDstudyinstanceuidstudyinstanceuid=1.2.392.200224.2.3000.8001
Series Instance UIDseriesinstanceuidseriesinstanceuid=1.2.392.200224.3.3000.8002
SOP Instance UIDsopinstanceuidsopinstanceuid=1.2.392.200224.3.3000.8003
Patient IDpatientidpatientid=12345
Patient Namepatientnamepatientname=john
Patient Commentspatientcommentspatientcomments=something
Patient Birth Datepatientbirthdatepatientbirthdate=1990/04/01
Patient Sexpatientsexpatientsex=m
Study Descriptionstudydescriptionstudydescription=something
Study IDstudyidstudyid=123456
Study Datestudydatestudydate=2018/01/23
Study Timestudytimestudytime=10:56:20
Accession Numberaccessionnumberaccessionnumber=20180123001
Series Numberseriesnumberseriesnumber=1
Series Dateseriesdateseriesdate=2018/01/23
Series Timeseriestimeseriestime=10:56:20
Series Descriptionseriesdescriptionseriesdescription=something
Modalitymodalitymodality=mr
Body Part Examinedbodypartexaminedbodypartexamined=knee

In List (/viewer/#/list), you can use the following operators.

ItemOperator
Equal= or ===
Not Equal=!=
Greater Than=>>
Greater Than Or Equal=>=
Less Than=<<
Less Than Or Equal=<=
Contains=**

Exception

For item of Patient ID & Modality, OR search is available by specifying as follows.

patientid=1234&patientid=5678
modality=cr&modality=ct  

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

studydate==~2013/11/25~2016/08/31  

For item of StudyDate, you can specify special values like followings.

studydate=today  
studydate=yesterday  
studydate=pastweek  
studydate=pastmonth

Available Keys and Operators in Viewer

In Viewer (/viewer/#/viewer), the following keys can be used as search criteria.
Also, if you use more than one parameter, please insert "&" between each parameter.

ItemKeyExample
Study Instance UIDstudyinstanceuidstudyinstanceuid=1.2.392.200224.2.3000.8001
Series Instance UIDseriesinstanceuidseriesinstanceuid=1.2.392.200224.3.3000.8002
SOP Instance UIDsopinstanceuidsopinstanceuid=1.2.392.200224.3.3000.8003
Patient IDpatientidpatientid=12345
Accession Numberaccessionnumberaccessionnumber=20180123001

In Viewer (/viewer/#/viewer), you can use the following operators.

ItemOperator
Equal= or ===