SonicDICOM® PACS
# 他社製のソフトウェアと連携する
SonicDICOM® PACSのDICOMビューアは他社製のソフトウェア(電子カルテ、HIS/RISなど)と簡単に連携することができます。
URLに任意のパラメータを付与してWebブラウザを起動することで、任意のIDでログインし、条件に一致する検査の一覧や画像を表示できます。
# ログインする
他社製のソフトウェアからWebブラウザを起動し、URLに以下のようなパラメータを加えてアクセスすることで、SonicDICOM® PACSのDICOMビューアに簡単にログインできます。
リスト:
http://localhost/viewer/#/list?id=admin&password=password
ビューア:
http://localhost/viewer/#/viewer?id=admin&password=password
ログイン処理を実行した後は、URLからIDとパスワードに関するパラメータは自動的に取り除かれます。
また、ブラウザの履歴にIDやパスワードの情報は残りません。
# よりセキュアな方法でログインする
前項でご紹介した、URLを使用したログインは非常に簡便で使い勝手が良いのですが、よりセキュアな方法でログインすることを求められる場合もあります。
以下では暗号方式を利用したログイン方法についてご説明します。
# 1) ワンタイムパスワードを取得する
他社製のソフトウェアから以下のURLに対してPOSTリクエストを発行し、ワンタイムパスワードを取得してください。
SonicDICOM® PACSはワンタイムパスワードの生成時に秘密鍵と公開鍵を作成し、公開鍵をワンタイムパスワードとして返答します。
URL: /viewer/api/otp/
# 2) IDとパスワードを暗号化する
他社製のソフトウェア側で、SonicDICOM® PACSから取得したワンタイムパスワード(公開鍵)を使用して、IDとパスワードをRSA方式で暗号化してください。
暗号化前の文字列の例: id=admin&password=password
暗号化後の文字列の例: encryptedstring
# 3) 暗号化した文字列を使用してログインする
URLのパラメータを以下のように変更してログインを実行してください。
URLの例: /viewer/#/list?code=encryptedstring
SonicDICOM® PACSはこのようなリクエストを受けると、ワンタイムパスワードの生成時に作成した秘密鍵を使用して、暗号化された文字列を復号し、内部でログイン処理を実行します。
ログインに成功した場合はHTTPコード200を、失敗した場合は401を返答します。
ワンタイムパスワードは一度使用されるか、生成されてから一定時間が経過すると自動的に破棄されます。
# 検索する
URLに以下のようなパラメータを加えることで簡単に条件に一致する結果を取得できます。
リスト:
http://localhost/viewer/#/list?id=admin&password=password&patientid=123
ビューア:
http://localhost/viewer/#/viewer?id=admin&password=password&patientid=123
このようにIDとパスワードに加えて、任意のパラメータをURLに追加することで、他社製のソフトウェアから簡単に検索を実行することができます。
注意
- URLの
localhost
の部分はSonicDICOM® PACSが動作しているPCのIPアドレスに変更してください。 - SonicDICOM® PACSのWebサーバーが使用するポート番号を指定している場合は、IPアドレスの後に
192.168.10.1:8080
のようにポート番号を追加してください。 - 各パラメータの間には
&
を挿入してください。 - 既に任意のIDでSonicDICOM® PACSにログインしている場合はIDとパスワードは省略することができます。
# リストで使用できるキーと演算子
リスト(/viewer/#/list
)では、以下のキーを検索条件として使用することができます。
またパラメータを複数使用する場合、各パラメータの間には&
を挿入してください。
項目 | キー | 例 |
---|---|---|
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 |
リスト(/viewer/#/list
)では、以下の演算子を使用することができます。
項目 | 演算子 |
---|---|
等しい | = もしくは === |
等しくない | =!= |
より大きい | =>> |
より大きいまたは等しい | =>= |
より小さい | =<< |
より小さいまたは等しい | =<= |
含む | =** |
# 例外
項目Patient IDとModalityは以下のように指定することでOR検索が可能です。
patientid=1234&patientid=5678
modality=cr&modality=ct
項目StudyDateは以下のように指定することで範囲検索が可能です。
studydate==~2013/11/25~2016/08/31
項目StudyDateには以下のように特別な値を指定することができます。
studydate=today
studydate=yesterday
studydate=pastweek
studydate=pastmonth
# ビューアで使用できるキーと演算子
ビューア(/viewer/#/viewer
)では、以下のキーを検索条件として使用することができます。
パラメータを複数使用する場合は、各パラメータの間に&
を挿入してください。
項目 | キー | 例 |
---|---|---|
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 |
ビューア(/viewer/#/viewer
)では、以下の演算子を使用することができます。
項目 | 演算子 |
---|---|
等しい | = もしくは === |
# レポートで使用できるキーと演算子
レポート(/viewer/#/report
)では、以下のキーを検索条件として使用することができます。
パラメータを複数使用する場合は、各パラメータの間に&
を挿入してください。
項目 | キー | 例 |
---|---|---|
Study Instance UID | studyinstanceuid | studyinstanceuid=1.2.392.200224.2.3000.8001 |
Accession Number | accessionnumber | accessionnumber=20180123001 |
レポート(/viewer/#/report
)では、以下の演算子を使用することができます。
項目 | 演算子 |
---|---|
等しい | = もしくは === |