dcm4chee开发笔记(二):dcm4chee-arc中RESTfulAPI的使用

前面一篇博客介绍了dcm4chee的安装,这一篇博客将介绍dcm4chee的RESTful接口的含义和各个docker镜像的区别。在了解dcm4chee-arc-light提供的Webservice url的作用之前,需要首先了解DICOM标准中对提供的Web service的定义。

DICOMweb

DICOMweb ServiceFullnameFunctionExplanation
QIDO-RSQuery based on ID for DICOM Objects using RESTful ServicesSearch for DICOM objects通过RESTful接口查询服务器上是否有符合指定条件的影像
WADO-RSWeb Access to DICOM Persistent Objects using RESTful ServicesRetrieve DICOM objects通过RESTful接口从服务器上获取得到指定的影像
STOW-RSStore over the Web using RESTful ServicesStore DICOM objects通过RESTful接口将指定影像上传到服务器上进行存储
UPS-RSUnified Procedure Step using RESTful ServicesManage worklist items通过RESTful接口来创建、声明和更新工作任务的状态
CapabilitiesDiscover 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查询动态。

参考资料

  1. DICOMweb——将DICOM影像接入互联网
  2. DICOMweb standard
  3. IHE XDS-I Wiki
  4. OpenLDAP.org
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要部署 dcm4chee 使用 Docker,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了 Docker 和 Docker Compose。如果没有安装,可以参考 Docker 官方文档进行安装。 2. 下载 dcm4chee 的 Docker 镜像。你可以在 Docker Hub 上搜索 dcm4chee,并选择一个合适的镜像版本。例如,可以使用以下命令下载最新的 dcm4chee-arc-light 镜像: ``` docker pull dcm4che/dcm4chee-arc-psql ``` 3. 创建一个 Docker Compose 文件(例如,docker-compose.yml),并使用以下内容配置 dcm4chee 服务: ```yaml version: '3' services: dcm4chee: image: dcm4che/dcm4chee-arc-psql ports: - 8080:8080 environment: - TZ=Asia/Shanghai - POSTGRES_USER=dcm4chee - POSTGRES_PASSWORD=dcm4chee - DB_NAME=pacsdb volumes: - ./data:/opt/wildfly/standalone/data - ./tmp:/opt/wildfly/standalone/tmp - ./log:/opt/wildfly/standalone/log ``` 这个配置文件定义了一个名为 dcm4chee 的服务,使用 dcm4che/dcm4chee-arc-psql 镜像,并映射容器的 8080 端口到主机的 8080 端口。还定义了一些环境变量和数据卷,用于配置和持久化数据。 4. 在终端导航到包含 Docker Compose 文件的目录,并运行以下命令启动 dcm4chee 服务: ``` docker-compose up -d ``` 这将启动 dcm4chee 服务,并将其作为后台进程运行。 5. 等待一段时间,直到 dcm4chee 服务完全启动。你可以使用以下命令查看容器的日志输出,以确保一切正常: ``` docker logs -f dcm4chee ``` 如果一切正常,你应该能够看到 dcm4chee 的日志输出。 6. 现在,你可以通过浏览器访问 http://localhost:8080 来访问 dcm4chee Web 界面。默认的登录凭据是 admin/admin。 这些步骤应该帮助你在 Docker 成功部署 dcm4chee。记得根据你的需求进行适当的配置更改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值