TODO :了解单点登录系统、ldap
Dcm4chee及相关服务简介
- Dcm4chee
- 基于Mozilla Public License Version 1.1协议,可以商用
- 基于Java,是一个运行在wildfly容器中的Web项目
- 用于图像管理和图像归档,实现了dicom服务和HL7标准
- Dcm4che
- 基于Mozilla Public License Version 1.1协议,可以商用
- 基于Java的开源工具包,实现了dicom标准
- 具有Dicom图像的读取,发送,检索等功能
- Wildfly
- 基于LGPL协议,可以商用
- Wildfly是一个开源的基于JavaEE的轻量级应用服务器,用于管理与部署java项目,java项目部署在wildfly中,可以方便地进行监控与管理
- LDAP服务
- Lightweight Directory Access Protocol-轻量级目录访问协议
- 用于多站点之间的统一身份认证,从而实现单点登录
Dcm4chee功能简介
提供了一个完善的Web管理界面
可以接收其他设备传输的任何符合Dicom标准的文件并存储
可以接收其他设备的符合Dicom标准的查询请求,故可以作为Pac服务器,worklist服务器等
本身不能伪造数据进行数据模拟,数据只能通过外部传入dcm4chee系统中
上传Dicom文件示例:
- 通过
jdicom
工具进行上传- 打开jdicom工具包中的
StorageSCU
工具 - 修改AE与端口为Dcm4chee中的AE与端口(默认为AE:DCM4CHEE,port:11112)
- 点击
connect
,然后点击send
进行上传
- 打开jdicom工具包中的
- 通过dcm4chee网页进行上传
- 通过
Navigation-->Studies-->More functions-->Upload DICOM Object
上传Dicom文件
- 通过
- 通过
WorkList服务示例
- 首先需要上传Dicom文件
- 在
http://localhost:8080/dcm4chee-arc/ui2/#/study/study
界面中列出所有图像 - 点击图像信息列最前方的三个点,点击加号
- 在弹出的
Create new MWL
界面中,点击Add new attribute
,添加Modality
字段 - 在新增的
Modality
字段中输入值MR
,然后Create即可添加一条MR的WorkList数据 - 在工作站中配置WorkList服务,即可使用DCM4CHEE的worklist服务
- IP:localhost
- Port:11112
- AE:DCM4CHEE
病人信息管理
Dcm4chee安装
- Dcm4chee支持多种数据库,例如H2,PostgreSQL,Mysql等,可以在官方releases中下载
- 不要使用Sqlserver版本,官方并未测试sqlserver版本
- 这里选用了Mysql版本进行安装,后期在其他平台安装也适用
前期准备
- Java版本:>=java SE8 && X86版(OpenJdk和Oracle JDK均可)
- 下载Wildfly(version>=wildfly14)
- 下载Mysql(Version>=5.7.9)并安装
- 下载LDAP服务器,选用Apache DS(version>=Apache DS 2.0.0-M20)
- 下载LDAP服务管理器 Apache Directory Studio(version>= Apache Directory Studio 2.0.0-M9)
安装注意点
- 安装流程按照官方指导进行即可
- 启动Wildfly之前,需要配置Wildfly管理员用户,使用wildfly提供的脚本进行配置,脚本路径为
%wildfly_Home%/bin/add-user.bat
(windows)或%wildfly_Home%/bin/add-user.sh
(linux) - 启动Wildfly之后,可以访问
http://localhost:9990/console
进入wildfly控制台
官方指导中留下的坑:
- Initialize Database这一节中,按照指导创建数据库之后,在Setup WildFly这一节的第10步,添加wildfly数据源的时候,数据源名称要与创建的数据库名称一致,否则会连不上mysql数据库
- Import default configuration into LDAP Server节的第1步,通过Apache Directory Studio连接LDAP服务时,连接参数要与Setup LDAP Server–>Apache DS 2.0.0中第2步中的连接参数相同,或者可以直接用Setup LDAP Server–>Apache DS 2.0.0中用到的连接,否则会连不上ldap服务
- 在Setup WildFly节的第1步,将Dcm4chee中的配置文件复制到wildfly中之后,需要修改dcm4chee-arc/ldap.properties文件中配置,修改
java.naming.provider.url
与java.naming.security.principal
字段,使起与之前配置的ldap服务相吻合,否则会无法启动Wildfly - 在Setup WildFly节的第10步,添加了Mysql数据源以及数据库连接之后,需要修改wildfly配置文件中的mysql的数据库连接字符串,在Setup WildFly节的第2步生成的
dcm4chee-arc.xml
即为wildfly的启动配置文件,在该文件中查找subsystem xmlns="urn:jboss:domain:datasources:5.0"
节点,在其中寻找datasource jndi-name="java:/PacsDS" pool-name="pacsds"
节点,修改其中的connection-url
节点的数据,在mysql连接字符串后添加?serverTimezone=UTC
,否则会因为时区不对无法连接mysql服务- 例如修改前
connection-url
的数据为jdbc:mysql://127.0.0.1:3306/pacsdb
- 修改后的数据为
jdbc:mysql://127.0.0.1:3306/pacsdb?serverTimezone=UTC
- 例如修改前
- 如果需要配置dcm4chee项目为外网可以访问,需要修改
dcm4chee-arc.xml
文件中的subsystem xmlns="urn:jboss:domain:webservices:2.0"
节点,interface name="management"
节点,interface name="public"
与interface name="unsecure"
节点,将节点中的127.0.0.1
全部修改为0.0.0.0
- 一定要有X86的jdk,否则ldap服务无法正常运行,最好同时安装x64与x86的jdk
- jdk版本一定要大于等于jdk8,否则wildfly服务无法正常运行
按照以上步骤安装完成dcm4chee后,就可以访问
http://localhost:8080/dcm4chee-arc/ui2
进入dcm4chee的管理界面。
- 同时,可以访问
http://localhost:9990/console/index.html#runtime
进入wildfly运行项目管理界面进行dcm4chee网站项目的监控与管理