DICOM worklist工作原理
一、关于Worklist
在RIS与PACS的系统集成中。Wordlist的连接为其主要工作之一。Wordlist成像设备工作列表,它是DICOM协议中众多服务类别中的一个.它的功能是实现设备操作台与登记台之间的通讯,完成成像设备和信息系统的集成.称为BASIC WORKLIST MANAGEMENT SERVICE(简称Worklist)。
二、DICOM标准中与Worklist相关的一些基本概念
配置影像检查设备(Modality)的Worklist首先要阅读该设备的“DICOM 一致性声明(DICOM Conformance Statement)”中关于Worklist的部分,了解设备对Worklist的支持程度。而熟悉以下基本概念则有助于阅读DICOM Conformance Statement:
1、VR(Value Representation):描述了数据元素的种类(字符串、数字、日期等)以及这些值的格式。在DICOM标准第五部分Data Structures and Encoding的第25页中列出了所有的VR。
2、Data Set(数据集):一个数据集表示了一个DICOM对象,它进一步由Data Element(数据元素)组成。而数据元素包括了tag(唯一的)、值的长度以及值。数据元素中可能包含VR。
3、 数据元素类型:一个数据元素是否在一个数据集中出现,取决于该数据元素的类型。
4、 AE Title:AE Title(Application Entity Title)是配置影像检查设备DICOM服务(Worklist、Storage、Print等)必不可少的参数之一。对于某一台影像检查设备,其各个DICOM服务可以对应不同的AE Title,当然这些DICOM服务也可以对应同一个AE Title。AE Title是一个字符串,但是这个字符串在我们要配置的RIS/PACS系统的网络中必须是唯一的。因此,AE Title是这个网络中某一个(或几个)DICOM服务的唯一标识。
三、DICOM的Worklist实现的功能
fz2841585:从RIS或者其他系统下载病人信息,以免重复登记。
0753zhongwei:Worklist只是一个传输协议,DICOM的Worklist其实就是C-FIND服务,有点类似于Query/Retrieve,SCU在C-FIND命令集后面加上一些查询字段,SCP把查询结果放在C-FIND-RSP后面返回去。
tks1000:在CT或MR等工作站上,如果没有Worklist功能,新检查一个病人的时候,要输入病人全部的基本信息,这样比较麻烦,而且容易出错。有了WorkList功能后,可以直接从服务器上读取病人的基本信息,不用输入,而且不易出错。实质上还是C-FIND,不过需要MPPS等的支持。
chaoran898:DICOM的MWL是一种接口协议,至于怎样查数据,那是coding实现的事情,MWL只负责把找到的数据按DICOM标准传出去。
xiaoyilong19:我做了多台设备的Worklist,深有体会:如果设备厂家不同的话,Worklist服务端程序就要调试一番,才能让返回的数据在对方设备工作站上显示出来,否则就是出现各种情况。乱码还比较简单处理,就是怕对方什么应答都没有。实际上就是,请求,返回请求,和cs服务架构一样。
四、Worklist在Pacs中的作用与的工作原理
向左转|向右转

五、 基本设计概念和处理流程
xuyuansheng:正常的流程是,病人在HIS上注册,经hl7消息传至RIS,RIS上便有了病人的登记信息。做检查时,成像设备通过DICOM Worklist来从RIS上取得需做检查的病人列表,选择后做检查。检查完成后,图像便可以传到PACS中进行存储。在这个过程中,病人信息仅在HIS端输入一遍,但它流经RIS,Modality以及PACS。可以节省时间,减少错误,规范流程,互联互通,形成数据共享。理想的情况下,让医生专注于检查及诊断,而缩短的时间,也会提高病人的满意度。
DICOM worklist工作原理的更多相关文章
- 菜鸟学Struts2——Struts工作原理
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...
- 【夯实Nginx基础】Nginx工作原理和优化、漏洞
本文地址 原文地址 本文提纲: 1. Nginx的模块与工作原理 2. Nginx的进程模型 3 . NginxFastCGI运行原理 3.1 什么是 FastCGI ...
- HashMap的工作原理
HashMap的工作原理 HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- ThreadLocal 工作原理、部分源码分析
1.大概去哪里看 ThreadLocal 其根本实现方法,是在Thread里面,有一个ThreadLocal.ThreadLocalMap属性 ThreadLocal.ThreadLocalMap t ...
- Servlet的生命周期及工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- 代码管理工具 --- git的学习笔记二《git的工作原理》
通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 浏览器内部工作原理--作者:Tali Garsiel
本篇内容为转载,主要用于个人学习使用,作者:Tali Garsiel 一.介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到 ...
随机推荐
- redis-存储命令
一.String类型: 1.赋值/取值 set key valueget key 2.设置/获取多个键值 mset key1 value1 key2 value2 … mget key1 ke ...
- 关于logging模块
from logging.handlers import TimedRotatingFileHandle #日志文件控制(日志删除时间设置) import logging logger=logging ...
- 记一次win 2003 折腾pyspider遇到问题(pycurl)
把解决过程记录下来,帮助自己,帮助他人. 针对pyspider.win2003我安装的是python2.7.*.听我的吧.这绝对是一个明智的选择. 结果pycurl死活安装不上,试了网上给的方法:去h ...
- PHP实现Redis单据锁,防止并发重复写入
一.写在前面 在整个供应链系统中,会有很多种单据(采购单.入库单.到货单.运单等等),在涉及写单据数据的接口时(增删改操作),即使前端做了相关限制,还是有可能因为网络或异常操作产生并发重复调用的情况, ...
- 让Windows中的文件名支持大小写
背景 最近在Linux官网下载了Linux内核,下载下来的是一个后缀为.tar.xz的压缩包,于是在毫不知情的情况下随随便便解压了,解压过程中出现了很多问题. 其中一个问题就是在Windows下,不区 ...
- go语言每个工程是不是都要单独设置GOPATH?
go语言每个工程是不是都要单独设置GOPATH?比如我的go项目都统一管理在d:/workspace/go_work/目录下面,该目录下有3个项目project_01,project_02,pro ...
- python 中根据python版本(2或3)定义函数
示意代码如下: #_*_coding:UTF-8_*_ import time import socket import os import sys if sys.version_info.major ...
- docker学习9-搭建rabbitMQ环境
前言 docker搭建rabbitMQ环境 下载镜像 rabbitMQ 镜像仓库地址https://hub.docker.com/_/rabbitmq 找带有 mangement的版本,会带后台管理界 ...
- Vuex之store仓库计算属性Getter
(1)简介 Getter相当于vue中的computed计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算,这里可以通过定义vuex的Getter来获 ...
- python应用-输入分数 输出最高分数对应的名字
def main(): names = ['刘备', '张飞', '曹操', '袁绍', '关羽', '赵云', '周瑜'] scores=[] num=0 m=0 for name in names ...