dcm4chee开发笔记(二):dcm4chee-arc中RESTfulAPI的使用
前面一篇博客介绍了dcm4chee的安装,这一篇博客将介绍dcm4chee的数据接口的含义和各个docker镜像的区别。
前面一篇博客介绍了dcm4chee的安装,这一篇博客将介绍dcm4chee的RESTful接口的含义和各个docker镜像的区别。在了解dcm4chee-arc-light提供的Webservice url的作用之前,需要首先了解DICOM标准中对提供的Web service的定义。
DICOMweb
DICOMweb Service | Fullname | Function | Explanation |
---|---|---|---|
QIDO-RS | Query based on ID for DICOM Objects using RESTful Services | Search for DICOM objects | 通过RESTful接口查询服务器上是否有符合指定条件的影像 |
WADO-RS | Web Access to DICOM Persistent Objects using RESTful Services | Retrieve DICOM objects | 通过RESTful接口从服务器上获取得到指定的影像 |
STOW-RS | Store over the Web using RESTful Services | Store DICOM objects | 通过RESTful接口将指定影像上传到服务器上进行存储 |
UPS-RS | Unified Procedure Step using RESTful Services | Manage worklist items | 通过RESTful接口来创建、声明和更新工作任务的状态 |
Capabilities | Discover services | 查询一台DICOMweb服务器都对外提供哪些服务 |
Web Service URLs
- Archive UI:DICOM Archive Application(PACS)的web UI界面。
- Wildfly Administration Console:Wildfly管理控制台。Wildfly是一个开源的基于JavaEE的轻量级应用服务器,前身是JBoss Application Server,类似于Tomcat。dcm4chee-arc是基于Wildfly搭建的。
- 接下来的三种RESTful服务的用法详见 dcm4chee-arc RESTful Services ,这里举一下简单例子说明其用法,DICOMweb官方例子详见DICOMweb™ Examples。
- DICOM QIDO-RS Base URL:使用GET方法查询Patients,Studies, Series, and Instances。
例子1:要查询dcm4chee-arc存档的所有studies,可以在浏览器地址框输入
http://<docker-host>:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies
将其中的 docker-host 替换为服务器IP,在我本机上地址为:
http://192.168.126.128:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies
返回结果为JSON格式,各项具体含义参见DICOM JSON Format:
[{“00080005”:{“vr”:“CS”,“Value”:[“ISO_IR 100”]},“00080020”:{“vr”:“DA”,“Value”:[“20130620”]},“00080030”:{“vr”:“TM”,“Value”:[“164701.781000”]},“00080050”:{“vr”:“SH”,“Value”:[“CT00566598”]},“00080054”:{“vr”:“AE”,“Value”:[“DCM4CHEE”]},“00080056”:{“vr”:“CS”,“Value”:[“ONLINE”]},“00080061”:{“vr”:“CS”,“Value”:[“CT”]},“00080090”:{“vr”:“PN”,“Value”:[{“Alphabetic”:“Huaxi”}]},“00081190”:{“vr”:“UR”,“Value”:[“http://192.168.126.128:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/1.2.840.78.75.7.5.1674158.1371717835”]},“00100010”:{“vr”:“PN”,“Value”:[{“Alphabetic”:“li gang”}]},“00100020”:{“vr”:“LO”,“Value”:[“0009629786”]},“00100030”:{“vr”:“DA”,“Value”:[“19610224”]},“00100040”:{“vr”:“CS”,“Value”:[“M”]},“0020000D”:{“vr”:“UI”,“Value”:[“1.2.840.78.75.7.5.1674158.1371717835”]},“00200010”:{“vr”:“SH”,“Value”:[“4853507”]},“00201206”:{“vr”:“IS”,“Value”:[1]},“00201208”:{“vr”:“IS”,“Value”:[253]}}]
例子2:要查询dcm4chee-arc存档的病人姓名为"li gang"的studies,可以在浏览器地址框输入
http://192.168.126.128:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies?00100010=li%20gang
其中“00100010”为Patient name的SOPClass ID。
- DICOM STOW-RS Base URL:使用POST方法存储DICOM对象。
- DICOM WADO-RS Base URL:使用GET方法获取目标DICOM资源。
例子:要获取studies ID为1.2.840.78.75.7.5.1674158.1371717835的DICOM对象,在浏览器地址框输入
http://192.168.126.128:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/1.2.840.78.75.7.5.1674158.1371717835
- DICOM WADO-URI:使用GET方法获取单个DICOM instance,功能可以由WADO-RS代替。
- IHE XDS-I Retrieve Imaging Document Set:This action retrieves a set of DICOM instances and other objects.This action corresponds to the IHE XDS-I.b transaction RAD-69.
IHE XDS-I全称是Integrating the Healthcare Enterprise:Cross-enterprise Document Sharing for Imaging。
IHE是由医疗工作者和企业共同发起的、旨在提高医疗计算机系统之间更好的共享信息的技术框架。IHE通过提高已有通讯标准之间的协同使用水平,如DICOM和HL7,来满足特殊临床需要,以便为患者提供最佳服务。用IHE技术框架统一起来的医疗系统可以更好地与其他系统通信、更易于实施,并且能使医疗服务人员更高效地使用相关信息。IHE XDS-I文件详细定义了同一个“医疗联合体”中的不统机构如何共享和交换病人的医疗信息。其基本理念是通过ebXML实现共享文档的注册、查询和提取。
dcm4chee-arc docker images
前一节中我们按照Run minimum set of archive services on a single host中提供的方法安装了dcm4chee-arc。从安装所使用的命令可以看出这次安装涉及到的docker镜像有三个:slapd-dcm4chee,postgres-dcm4chee和dcm4chee-arc-psql,即上图中前三个docker镜像。
- slapd-dcm4chee:使用默认配置的dcm4chee-arc-light的OpenLDAP server。LDAP(Lightweight Directory Access Protocol,轻型目录访问协议)是一个访问在线目录服务的协议,通过IP协议提供访问控制和维护分布式信息的目录信息。OpenLDAP是LDAP的一个开源实现。slapd意思是stand-alone LDAP daemon (server),是OpenLDAP套件的一个组成部分。更多关于LDAP的信息可以参见What is LDAP?和What is slapd and what can it do?
- postgres-dcm4chee:dcm4chee-arc-light使用的postgreSQL数据库的docker镜像。
- dcm4chee-arc-psql:使用postgreSQL作为数据库的dcm4chee-arc,使用WildFly 17作为应用程序服务器。
- keycloak:Keycloak是一个致力于解决应用和服务身份验证与访问管理的开源工具,为现代应用和服务提供了开源IAM(Identity and Access Management)解决方案,其主要功能是实现单点登录(SSO,Single Sign On)身份认证。
- keycloak-gatekeeper:keycloak-gatekeeper is a proxy using the keycloak service for auth and authorization。
- Logstash-dcm4chee:provides Logstash initalized for receiving system and audit log messages from the DICOM Archive dcm4chee-arc-light. It extends the official logstash image.它的使用在Run secured archive services and Elastic Stack on a single host中有提到。
- dcm4che-tools:dcm4che库和可执行工具。
- Kibana:Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。
参考资料
更多推荐
所有评论(0)