HIS系统中各类卡接口应用设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HIS系统中各类卡接口应用设计说明
1.卡应用结构
主应用:现有的作用模块都是主应用,在需要应用卡的应用程序中,留有卡的适当接口,比如“读卡”按钮,通过这样的接口(或者说是操作卡的收段)来调用“卡接口”中提供的调用函数实现对卡的各种操作;
卡接口:卡接口是一个程序模块,在这个模块中可以定义卡驱动的api函数给应用系统使用;定义函数wf_read(),wf_write()提供给“主应用”使用;函数wf_read()\wf_write(),调用卡驱动的api函数,根据不同卡的读写特点开发程序,主要是处理异常及读写流程;
读卡器驱动:读卡器驱动由其设备供应商提供,一般来说,各个厂商的读卡器驱动都不尽相同,所以每遇到一个不同厂商的设备后,首先需要详细了解产品及相关资料的情况;读卡器驱动一般是dll,其中打包了一系列的函数,这些函数是要在“卡接口”中定义声明使用的;
2.卡应用的数据基础
医院中应用卡,往往是要贯穿到各个业务部门科室,而卡,在这里仅仅起到“信息提示”的作用。由于卡存储容量及数据安全的原因,在卡中不会写过多的信息,主要记录的数据包括:病人ID,姓名等。要实现医院所有部门、科室实现一卡通,特别是门诊部门(因为住院部门的病人各种信息已经能够完整连贯),就要求在软件系统中能够保存、读取更多的数据,而且这些数据必须在病人就医过程中一直保存。
这样的数据就是卡应用的数据基础。
目前,我们可以卡应用的数据基础理解为“病人信息主索引”和MEDICAL_CARD_MEMO。
那么,在卡运作过程当中就要关注该数据信息:什么位置产生病人信息主索引?刷卡时如何调用该信息?数据保存到什么时候?门诊病人信息量大,连贯性不强,该如何处置?这些问题都应当同医院相关部门讨论清楚。
在此数据基础上是用卡,实现医院各个部门、科室的数据关联、共享,“办卡”处颁发卡片,同时建立病人信息主索引,并在卡片上记录病人唯一标示信息数据;挂号、就医、交费、检察等处应当配备读卡设备,从卡中获得病人唯一表示信息数据后,调取病人主索引,然后再做其他操作。
3.实施中开发卡接口
1、了解卡及读卡设备情况,了解卡的存储容量、存储特征等;读卡设备是接触或非接触式
的?这些内容的了解能够为卡应用流程的设计提供帮助或影响;
2、搜集驱动api的相关资料、例程等,做测试程序,深入了解卡的特性,注意api函数定
义中参数数据类型有c语言到pb的转换;
3、设计卡的存储内容、存储位置;并将其记录到表MEDCARD_ADDRESS_REC中,记录
的内容如下表所示;
4、开发卡接口,接口是指iccard.pb l中窗口w_pub;需要完成其中的标准函数wf_read(),
wf_write(),注意不要更改函数参数及返回值的定义,这两个函数中,要完整处理错误异常,完整处理读或写的工作,另外,还可以包括密码输入要求等;
函数定义如下:
//==================================================================== // 函数: wf_read()
//--------------------------------------------------------------------
// 描述: 读卡函数
//--------------------------------------------------------------------
// 参数: [in] string as_item 指定读的项目名称
// [out]string as_value 读取的结果值
//--------------------------------------------------------------------
// 返回: int 0 读卡成功;-1 读卡失败;
//==================================================================== //==================================================================== // 函数: wf_write()
//--------------------------------------------------------------------
// 描述: 写卡函数
//--------------------------------------------------------------------
// 参数: [in] string item_name 指定写的项目名称
// [in] string item_value 指定写的内容
//--------------------------------------------------------------------
// 返回: int 0:成功;- 1:失败
//==================================================================== 以上函数中参数as_item必须是表MEDCARD_ADDRESS_REC中item_name的值,目
在wf_read()或wf_write()中,获得参数as_item,并根据表MEDCARD_ADDRESS_REC 中相应行所设置的起始位置、长度,调用卡读写api函数进行读写操作。
卡相关应用包括:读写端口设置、通用接口、应用主程序;面向实施开放的是读写端口设置和通用接口,也就是说,需要根据不同的卡、卡设备设计不同的卡属性设置,设计不同的通用接口(主应用会调用通用函数wf_read()wf_write())
另外,通用接口w_pub:open事件;close事件;这两个事件中分别执行设备加电/打开或者去电/关闭操作,需要根据设备的api函数做修改。
表MEDCARD_CONFIG中设置卡应用中全院统一的信息。
注:iccard.pbl包括医保卡接口、医院卡接口两种接口。
4.接口函数