基于VB.NET的通用化医疗图像采集系统的设计

2018-05-08 12:45周健煖
中国医疗设备 2018年4期
关键词:控件串口工作站

周健煖

佛山市南海区第二人民医院 设备科,广东 佛山 528251

引言

一定规模的医院基本配备了妇科、消化内科、呼吸内科、五官科、超声科、手术室、检验科、病理科等医疗图像采集工作站。这些工作站通过各种内窥镜、显微镜或其它物理学设备显示医疗图像,种类繁杂,图文报告格式和软件架构不尽相同,大多数是单机版,这对病人医疗图文信息的收集、传输、查阅、统计和保存工作带来诸多不便。工作站都包括摄像系统、采集卡、电脑和图像采集软件。通用化医疗图像采集系统能实现常用图像采集软件新建病人信息、采集图像、报告打印、报告管理等等相似的功能,此外,在原来单机的基础上增加了联机功能,为数字化医院的医疗图文信息共享提供了很好的支持。现将通用化医疗图像采集系统的具体设计方法介绍如下。

1 系统总体设计

本系统后台采用SQL Server建立数据库,SQL server数据库作为目前流行的关系型数据库管理系统,具有使用方便、可伸缩性好与相关软件集成程度高等优点[1];对于硬件配置低的电脑,可用微软Office Access建立数据库,它是常用的轻量级数据库管理系统,在中小型应用程序开发中应用非常广泛[2]。本系统前台软件采用VB.NET开发,VB.NET是基于微软.NET Framework之上的面向对象的编程语言[3]。本系统可运行在多种Windows系统,能适配繁杂的多种医疗图像采集系统。

本系统包括图像采集工作站软件和医生电脑软件:两端软件之间使用C/S结构,医生电脑通过局域网和工作站进行通信,以实现网络新建病人信息、查阅和打印报告的功能。C/S结构是一种分布式处理模式,通过充分利用两端硬件环境的优势,将任务合理分配到客户机和服务器来实现,降低了系统的通讯开销[4]。本系统的功能结构图,见图1。

2 系统实现的功能

2.1 新建病人信息

每种专科医疗图像采集工作站的病人信息数据库表字段都不会完全相同。本系统工作站软件的选项设置可以自定义软件名称,例如“耳鼻咽喉镜图像采集系统”,见图2。软件使用select case条件判断分支语句,根据软件名称来选择对应专科的SQL数据库表。

图1 通用化医疗图像采集系统的功能结构图

图2 系统软件的选项设置

两端软件的新建病人信息功能包括新建病人预约和新建采集报告两种,前者是方便病人预约其它日期来诊检,后者是新建病人信息后直接采集图像,两者都会新建病人的基础信息,见图3。

图3 新建病人信息的界面

2.2 采集图像

采集图像是工作站软件的关键技术和难点。医疗摄像系统输出接口主要有AV(声音和图像)、S-Video(S端子)、VGA(视频图形阵列)、DVI(数字视频接口)、HDMI(高清晰度多媒体接口)等几种,采集的图像分辨率分为普清和高清。连接工作站上的采集卡接口主要有PCI、PCI-E、USB等几种,在Windows系统下主要有基于VFW(Video for Windows)、DirectShow(微软新一代流媒体处理的开发包)和SDK(软件开发工具包)这3种视频采集方法[5],SDK是被软件工程师用于特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合[6],所以选取含有SDK的采集卡进行开发具有有较强兼容性和开发迅速的优势,本系统采用这种方法来开发采集图像功能。

工作站上配备了机械式脚踏开关来采集图像。脚踏开关是一种通过脚踩或踏来控制电路通断的开关,使用在双手不能触及的控制电路中以代替双手达到操作的目的,具有脚踏控制和控制距离远等优势,解放了操作人员的双手,同时又保持图像采集的实时性与精确性[7]。脚踏开关通过连接电脑COM口(串口)的4和6脚与电脑进行通信,在软件上创建SerialPort串口控件,使用串口控件的DsrHolding(数据设置就绪信号)状态和PinChanged(非数据信号)事件捕捉开关的通断信号来引发采集图像的动作。机械式开关在一次开关切换的瞬间出现抖动现象,在开关信号稳定的前后发生多个抖动脉冲[8],从而导致多个串口捕获事件,本系统采用软件延时来大大消除这种抖动干扰。对于没有串口的电脑,可以购买PCI、PCI-E或USB转串口的转换头装在电脑上,并安装好驱动即可。

同时,在工作站软件上加入采图和录像按钮,使用鼠标点击按钮来采集图片和录像,见图4。

图4 图像采集和录像界面

软件加入一些主流采集卡硬件的自动识别设置功能,根据SDK加入视频接口、亮度、对比度、饱和度、色度、分辨率和白平衡等的设置,同时加入脚踏开关的通信串口选择设置,见图5。

2.3 术语字典

术语字典包括基础字典和专科字典。基础字典包括交费类别、性别、初复诊、诊检部位、诊检科室、诊检医生等常用填写词语,在新建病人信息时通过引用到对应的ComboBox组合框控件(它由一个允许用户键入的文本框和下拉列表框组成[9])的数据源,达到快速选择输入文字,减少输入的时间和错误率。因为基础字典信息量较少,只用到listbox列表框控件和缓存文件的联动来进行管理,见图2下方部分。专科字典包括病人主诉、采图结果描述、诊检建议、病理诊断等专科术语以及一些常用但键盘不容易输入的字符(例如cm2),这些信息量多,甚至有层次的结构,所以用到TreeView树结构控件(它是以树形目录形式显示数据,并能分层展开和收缩各节点子目录[10])和数据库表的联动来管理,见图3右侧部分,在编辑病人报告信息时,先点击要填写内容的文件框,再点击对应术语名称的TreeView节点,可快速输入术语内容。

图5 系统硬件的选项设置

2.4 报告打印

两端软件都可以选取采集的图片进行打印报告,软件能根据选取的图片数量自动缩放和编排,这里用到PrintPreviewDialog打印对话框控件的PrintPage打印事件,并使用Graphics.DrawString和Graphics.DrawImage绘制打印报告的文字和图片。在工作站电脑将打印机共享,可供医生电脑联机使用。

2.5 报告查阅和报告管理

两端软件使用DataGridView控件(DataGridView控件功能强大、扩展性强,用户可以单独或与其他控件结合使用,实现数据的显示和编辑[11])显示预约表和报告表,双击表行即可打开对应病人的报告信息进行查阅。软件具有按序号、姓名、门诊号、住院号和时间范围的快速查找功能,也具有能自由组合数据表各字段的逻辑表达式的万能查询器,以满足特殊的查找需要。报告统计是为了方便医生根据性别、时间季节等感兴趣的因素进行疾病研究,也方便统计工作量和效益分析。软件还加入了修改保存、删除、导出、导入、备份等报告管理功能,实现对图文报告的常规存储管理。上述功能,见图6。

2.6 联机通信

两端软件之间的通信使用Socket技术。Socket是面向C/S结构而设计的,Socket接口是TCP/IP网络的应用编程接口[12]。在工作站软件通过上述图2的主机地址和端口设置,来创建IPEndPoint实例指定IP地址和端口对,使用Socket.Bind方法绑定IPEndPoint,启动Socket.Listen方法来侦听医生电脑软件发来的新建病人信息、报告打印或报告查阅请求任务,并使用ThreadPool类创建线程池来处理这些请求任务。线程池可以最大程度的利用系统的资源,消除系统因频繁创建、销毁线程而带来的系统开销[13],同时不阻塞工作站软件的其它界面操作。医生电脑软件同样通过软件设置来创建IPEndPoint实例指定和工作站一致的IP地址和端口对,使用Socket.Connect方法和后者连接,创建新线程向工作站发送请求任务,不阻塞软件的其它界面操作。医生电脑可以不安装SQL Server,将查询得到的病人信息保存成缓存文件,并将查阅过的图像下载保存,以便下次能本地快速查阅。

图6 报告查阅和报告管理界面

3 讨论

通用化医疗图像采集系统能集成现有的多数医疗图像采集系统,根据自定义的软件名称自动适配为对应专科的参数设置,统一软件的操作流程,促进医护人员的工作效率,规范化图文报告的格式,提高医疗图文信息的管理便捷性,减少存储错误率,增加了联机功能,适应医疗业务数字化共享的要求。

4 应用拓展

为适应医疗业务和医护人员的业务需求,要不断改善通用化系统的功能模块。近年来,电子内窥镜为了实现高清成像,逐渐发展为高清电子内窥镜[14],通用化系统要同步添加对新型高清采集硬件的软件支持,存储设备可以替换为比机械硬盘读写速度更快的固态硬盘。数字化医院不单纯是医院的信息化,它是将病人的各种信息以及诊疗过程的各种数据进行一元化管理[15],DICOM是PACS的实际工业标准,解析DICOM格式是医学图像处理的基础[16],而本系统规范化多种医疗图像采集系统的操作流程和图文报告格式,实现图文信息的网络传输,为将这些医疗图文向DICOM文件转换进而接入PACS提供了基础,这是本系统需要拓展的领域。

[参考文献]

[1] 张颖.关于SQL server数据库安全监控系统的设计的探讨[J].数字技术与应用,2011,(11):239.

[2] 刘晓天.基于Access的数据安全性分析[J].福建电脑,2012,28(7):79-80.

[3] 黄维.关于VB.NET的管理信息系统的开发的研究[J].数字技术与应用,2017,(1):130.

[4] 张梦.基于C/S结构的中小企业人事管理系统的设计与开发[J].计算机科学,2016,43(S1):547-550.

[5] 李钦存,王春明,段海龙.基于Windows的几种视频采集方法设计与实现[J].硅谷,2008,1(21):67-68.

[6] 陈俊良,葛俊锋,叶林,等.基于海康威视SDK的视频监控软件的开发[J].工业控制计算机,2015,28(7):97-98.

[7] 刘德军,张金美.医用脚踏开关控制串口采集图像功能的实现[J].硅谷,2014,7(22):55-56.

[8] 周松青,任伟艳,蔡雷.开关电路中按键抖动信号的比较[J].兵工自动化,2012,31(10):71-72.

[9] 冯伟伟,王远斌,嵇亮亮.高级输入联想在组合控件中的应用[J].江苏科技信息,2014,(23):51-52.

[10] 袁芳.TreeView控件在宿舍管理系统中分类导航的设计与应用[J].电脑知识与技术,2015,11(31):88-90.

[11] 陈江,刘佳.C#实现DataGridView调用ComboBox控件[J].电脑编程技巧与维护,2015,(9):26-27.

[12] 葛福鸿,刘晓莹,张丽萍.基于Socket技术的即时通信软件的设计与实现[J].电脑开发与应用,2011,24(5):63-65.

[13] 张垠波.线程池技术在并发服务器中的应用[J].计算机与数字工程,2012,40(7):153-156.

[14] 张雯雯,周正东,管绍林,等.电子内窥镜的研究现状及发展趋势[J].中国医疗设备,2017,32(1):93-98.

[15] 李劲松,王华琼,张小光.数字化医院的信息一元化管理[J].医学信息学杂志,2011,32(5):19-22.

[16] 龙华飞,唐月华,陈泓伶.PACS系统中DICOM医学图像格式解析[J].中国数字医学,2014,9(3):29-31.

猜你喜欢
控件串口工作站
左权浙理大 共建工作站
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于.net的用户定义验证控件的应用分析
戴尔Precision 5750移动工作站
关于.net控件数组的探讨
船舶电子设备串口数据的软件共享方法
串口技术的实物调试和虚拟仿真联合教学模式
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
德钧关爱工作站