存包柜厂家
免费服务热线

Free service

hotline

010-00000000
存包柜厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

硅谷杂志各大医院信息化助推自助挂号系统开发新日

发布时间:2020-01-15 13:09:37 阅读: 来源:存包柜厂家

【硅谷网12月12日文】据《硅谷》杂志2012年第18期刊文,随着医院的信息化的不断推进,患者对医院服务上的要求越来越高,自助系统的使用可以在减少排队及方便患者就医方面提供不可替代的作用。我院采购的自助挂号机因未提供前台软件与HIS系统的接口,请来的工程师对HIS及其他接口的流程又不太熟,导致不能使用。无奈只好亲自上阵,经过一段时间的摸索,完成自助挂号系统的开发工作。

1编程分析

1.1程序要实现的基本功能和实现思路

自助挂号机看似很神秘、很高贵、还很神奇,其实说白了就是一台没有键盘和鼠标的电脑。所有的操作都是通过手指触碰计算机显示屏上的图符或文字就能实现对主机操作的,也就是说用显示屏代替了Click事件来处理。

程序要能处理操作者将界面停留在非主界面上一段时间后自动返主界面;要能处理数据库、显示表格、显示文字等常用的功能。

1.2自助挂号流程

首先需制定自助挂号系统流程,我院采用的是先挂号后在收费自动生成补收费方式。具体流程为:复诊患者扫描条码后选择挂号科室或专家然后打印出挂号单(初诊患者还需提供医保卡或农合卡以便获取病员信息)。

1.3程序中用到的控件

选择Label控件的Click事件来响应手指触摸事件;选择Timer控件,来处理操作者将界面停留在非主界面上一段时间后自动返主界面,以方便其后的其他人员操作;选择Image控件,Stretch属性设为True,表示图形要调整大小以与控件相适合,用于显示查询界面;对于有存取数据库需求的,则在“工程”菜单中选择“引用”中“MicrosoftActiveXDataObjects2.5Library”打“√”;有表格显示、文字显示的,则在“控件”选项卡中分别为“MicrosoftFlexgridControl6.0(SP6)”、“MicrosoftRichTextboxControl6.0(SP6)”打“√”。读者可根据系统所需功能选择合适的控件。

1.4界面设计

自助挂号系统背景画面:可用图形软件制作生成,注意画面的美观大方,整洁简明。可触摸的热区(能响应触摸事件的区域)部分要有明显图文指示标志。将Label控件大小修改成热区大小,将属性BackStyle设为0-Transparents,Caption中值清空,这样Label看上去是透明的,不影响背景显示。

窗体的属性值修改如下:BorderStyle改为None;Caption改为空;StartPosition改为2-屏幕中心;WindowState改为2-Maximized

2准备工作

1)新建文本文件,文件名:sys.ini,输入如下内容:

[数据库名]

数据库=SelfReg.mdb

[LastingTime]返回主界面时间以秒计

secs=10

2)在Access中新建数据库名称为:SelfReg.mdb,在数据库中新建表:自助挂号表,表的字段设置如下:自助ID(文本,20)、姓名(文本,40)、性别(文本,2)出生年月(日期)、住址或单位(文本,100)、病历条码(文本,20)、医合号(文本,20)、身份证号(文本,18)、合同单位ID(文本,2)、合同单位(文本,40)、类型ID(文本,4)、挂号类型(文本,20)、科室ID(文本,10)、挂号科室(文本,40)、专家ID(文本,2)、专家姓名(文本,20)、挂号日期(日期)、挂号机ID(文本,4)、挂号机编号(文本,6)、科室地址(文本,40)、备注(文本,255)。

3)准备好自助挂号系统所需的所有背景图片及所需的控件,并调整好位置、大小及属性等参数。

4)准备好打印挂号凭单的热敏打印机(须带自动切纸功能)及所需的纸张。

3主要代码

3.1mdlData模块代码

OptionExplicit

‘常用变量定义及环境初始化(略)

'定时关闭MSGBOX函数

PublicAsString

PublicX1,Y1,X2,Y2AsInteger

PublicTypePOINTAPI

XAsLong:YAsLong

EndType

'读取INI配备文件参数GetFromINI(略)

‘取鼠标坐标函数

PublicDeclareFunctionGetCursorPosLib"user32"(lpPointAsPOINTAPI)AsLong

PublicDeclareFunctionSetCursorLib"user32"(ByValhCursorAsLong)AsLong

PublicctT,ctT1,ctX,ctYAsLong

3.2窗体主要代码:

3.2.1窗体调用代码

PrivateSubForm_Load()

inipath=App.Path+"\sys.ini"

DBname=App.Path+"\"+GetFromINI("数据库名","数据库",inipath)

Me.Image1.Picture=LoadPicture(App.Path+"\images\医院自助挂号封面.jpg")

Me.Image1.Left=0:Me.Image1.Top=0:Me.Image1.Height=Me.Height:Me.Image1.Width=Me.Width

DimsNameAsString

sName="Shell_TrayWnd"

hwnd5=FindWindow(sName,"")

CallShowWindow(hwnd5,SW_HIDE)'隐藏任务栏

‘CallShowWindow(hwnd5,SW_SHOW)'显示任务栏,供调试用

EndSub

3.2.2调整窗体大小

PrivateSubForm_Resize()

Me.Image1.Left=0:Me.Image1.Top=0

Me.Image1.Height=Me.Height:Me.Image1.Width=Me.Width

EndSub

3.2.3鼠标超时未操作返回主界面(除主界面外,其他所有界面都要加timer控件)

PrivateSubTimer1_Timer()

'判定鼠标是否移动

DimXYAsPOINTAPI,dlAsLong

dl=GetCursorPos(XY)'获取当前鼠标位置

IfctX=XY.XAndctY=XY.YThen

ctT1=ctT1-1'鼠标没有动

Else

ctT1=ctT'鼠标移动了,重新计时

EndIf

ctX=XY.X:ctY=XY.Y:lblLastTime.Caption="剩余操作时间"+LTrim(Str(ctT1))+"秒"

IfctT1=0Then

ctT=Val(GetFromINI("LastingTime","secs",inipath))

frm主屏幕.Show‘切换到主界面

Unloadfrm挂号类型

EndIf

EndSub

4编程后记

本程序在WINXP+VB(SP6)环境下开发调试通过,并在单位EK2100自助挂号机上调试通过。开发时需要注意事项:1)窗体切换代码不能因切换导致显示出桌面来影响整体效果,应先显示下一窗体后再隐藏或卸载前一窗体;2)在所有可能出现错误的地方要进行错误捕获处理,以防系统因意外出错退出;3)触摸屏的分辨率与开发环境分辨率大小一致,分辨率不符会导致热区位置改变而影响效果;4)扫描条码、读磁卡等信息时,为保证文本框正确接收信息,可用提示语句的标签控件置于其上一层,并在窗体打开时将焦点设在此文本框中;5)在完成自助挂号后需信息系统提供完整就诊流程的支持(如医生站调取,收费处费等)。

(责任编辑:硅谷网·)

上一篇:Win8亮点成鸡肋 销量骤降国产厂商需静观其变

下一篇:硅谷硬件巨头集体转型:通过收购进军软件 对“硅谷杂志:各大医院信息化助推自助挂号系统开发”发布评论

名医汇

医院挂号服务平台

在线咨询问诊