# 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 more secure 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.
# Search
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.
Item | Key | Example |
---|---|---|
Study Instance UID | studyinstanceuid | studyinstanceuid=1.2.392.200224.2.3000.8001 |
Series Instance UID | seriesinstanceuid | seriesinstanceuid=1.2.392.200224.3.3000.8002 |
SOP Instance UID | sopinstanceuid | sopinstanceuid=1.2.392.200224.3.3000.8003 |
Patient ID | patientid | patientid=12345 |
Patient Name | patientname | patientname=john |
Patient Comments | patientcomments | patientcomments=something |
Patient Birth Date | patientbirthdate | patientbirthdate=1990/04/01 |
Patient Sex | patientsex | patientsex=m |
Study Description | studydescription | studydescription=something |
Study ID | studyid | studyid=123456 |
Study Date | studydate | studydate=2018/01/23 |
Study Time | studytime | studytime=10:56:20 |
Accession Number | accessionnumber | accessionnumber=20180123001 |
Series Number | seriesnumber | seriesnumber=1 |
Series Date | seriesdate | seriesdate=2018/01/23 |
Series Time | seriestime | seriestime=10:56:20 |
Series Description | seriesdescription | seriesdescription=something |
Modality | modality | modality=mr |
Body Part Examined | bodypartexamined | bodypartexamined=knee |
In List (/viewer/#/list
), you can use the following operators.
Item | Operator |
---|---|
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.
Item | Key | Example |
---|---|---|
Study Instance UID | studyinstanceuid | studyinstanceuid=1.2.392.200224.2.3000.8001 |
Series Instance UID | seriesinstanceuid | seriesinstanceuid=1.2.392.200224.3.3000.8002 |
SOP Instance UID | sopinstanceuid | sopinstanceuid=1.2.392.200224.3.3000.8003 |
Patient ID | patientid | patientid=12345 |
Accession Number | accessionnumber | accessionnumber=20180123001 |
In Viewer (/viewer/#/viewer
), you can use the following operators.
Item | Operator |
---|---|
Equal | = or === |
# Available Keys and Operators in Report
In Report (/viewer/#/report
), the following keys can be used as search criteria.
Also, if you use more than one parameter, please insert "&"
between each parameter.
Item | Key | Example |
---|---|---|
Study Instance UID | studyinstanceuid | studyinstanceuid=1.2.392.200224.2.3000.8001 |
Accession Number | accessionnumber | accessionnumber=20180123001 |
In Report (/viewer/#/report
), you can use the following operators.
Item | Operator |
---|---|
Equal | = or === |