新型农村合作医疗接口程序的开发与实践

时间:2022-10-24 09:12:34

新型农村合作医疗接口程序的开发与实践

摘要:为减轻农民医疗费用负担,缓解农民“因病致贫,因病返贫”问题,党中央、国务院决定到2010年在全国建立基本覆盖农村居民的新型农村合作医疗制度。文章结合邯郸市肥乡县中医院实例,介绍了新型农村合作医疗接口程序的开发设计思想和实现方法。

关键词:新型农村合作医疗;接口程序;Sybase数据库;powerbuilder9.0

中国分类号:TP315文献标识码:A 文章编号:1009-3044(2007)12-21643-02

The Development and Implement of New Type of Rural Cooperative Medical Interface Program

JIA Xin1,CHANG Ming-jie2

(1.Department of Electronic Information Engineer, HanDan Polytechnic College,HeBei,056001,China;2.Center of Modern Education Technology, HanDan Polytechnic College,HeBei,056001,China)

Abstract:In order to lighten the farmer medical expense burden, alleviates the farmer "because sickness to send poorly, because sickness returns the question poorly",the Central Party Committee, the State Council decides to 2010 in the national establishment basic cover countryside inhabitant's new rural cooperatives medical service system.The paper union the Handan Feixiang County Chinese medicine hospital example, introduced the new type of rural cooperative medical service interface program development design concept and the realization method.

Key words:New Type of Rural Cooperative Medical;Interface program;Sybase DataBase;PowerBuilder9.0

1 引言

为了构建和谐社会,减轻百姓看病难的问题,国务院卫生部推出在全国范围实施“新型农村合作医疗”的优惠政策。针对目前医院现有的医院管理系统(HIS)的实施情况,即医院已完成定点医疗机构的HIS建设,但不能直接从定点医疗机构的HIS数据库中自动提取相关数据的情况,参照《新型农村合作医疗信息系统基本规范(试行)》和《中国医院信息标准数据集(试行)》等技术规范的要求需要开发新的接口程序,主要实现医院现有的HIS和中心系统之间传递医疗费用、实时支付数据,实现对参合人员的帐户实时交易。本文主要论述接口程序的开发思路和过程。

2 系统概述

接口程序主要实现从医院现有HIS中获取参合患者入院基本信息、参合患者住院药品费用明细信息、参合患者住院诊疗项目信息、参合患者住院一次性卫材信息、参合患者出院信息等基本信息,然后将获取的数据导入接口程序数据库,通过新型农村合作医疗保险管理软件与当地卫生系统服务器数据进行交互处理,实现住院费用的报批工作。接口程序功能结构如图1所示。

图1 接口程序功能结构

3 系统设计与实现

3.1 系统开发环境

由于肥乡县中医院目前使用的HIS是以PowerBuilder9.0为前台数据库开发工具、 Sybase 11.5为后台服务器的数据库管理系统,而县卫生局中心服务器提供的数据库接口标准为Microsoft Access 2003,这就要求接口程序要同时操作不同的数据库,并且交换的数据量也较大,因此选择PowerBuilder9.0为接口程序的开发工具。

PowerBuilder9.0是基于客户/服务器(C/S)应用的快速数据库开发工具,使用它可以快速开发一些实用的数据库信息系统管理软件。 PowerBuilder功能强大、操作简单、容易上手,它可以与几乎所有主流数据库进行连接,是一个很好的数据库前端开发工具。Powerbuilder的特点可以概括为以下几点:

(1)面向对象的编程和事件驱动的应用程序开发工具,它和许多编程工具一样具有开发速度快,代码重用度高的特点,用户可以通过为每个对象添加事件代码,然后通过人为或系统的消息进行事件驱动。

(2)支持跨平台开发,具有开放的数据库连接系统,可以和大多数主流数据库进行连接。

(3)无需记住各种语言格式即可轻松编程,在powerbuilder中系统提供了几乎所有常用的编程语句模块,使用它们可以轻松快速的插入各种语句。

(4)人性化设计,为用户提供方便快捷的语句块剪切板工具,使用它可以创建一些常用的语句块,这样在以后的编程过程中可直接插入相似功能代码,稍作修改即可应用。

(5)独特的库文件画板和层次清晰的系统资源树,用户使用库文件画板可以管理用户创建的应用程序,可以轻松地在不同库中转移、复制和删除各种对象。

(6)提供十一种不同风格的数据窗口,可以满足不同用户的需要。

3.2 数据结构设计

3.2.1 接口数据库表结构

表1 接口数据库表IFT_002结构

3.2.2 医院HIS中药品费用明细表结构

表2 医院HIS中药品费用明细表zy_ypmx结构

3.3 数据库连接

由于接口程序要求同时操作Sybase和Access两个不同的数据库,所以使用默认的数据库事务对象已不能满足要求,需要创建两个新的数据库事务对象,实现医院系统与中心服务器进行实时的数据交换。具体代码如下:

(1)定义全局变量

boolean ib_source_connected,ib_target_connected //连接标记,

transaction itr_source,itr_target

//源数据库事务对象、目的数据库事务对象

string gs_dir//记录路径

(2)应用程序Open事件

//实例化事务对象

itr_source = Create Transaction

itr_target = Create Transaction

//连接HSP数据库

itr_source.DBMS = "SYC Adaptive Server Enterprise"

itr_source.Database = "hsp"

itr_source.ServerName = "clp2000"

itr_source.LogId = "sa"

itr_source.AutoCommit = False

itr_source.DBParm = ""

Connect using itr_source;

Ib_source_connected = (itr_source.sqlcode = 0)

if Ib_source_connected then

Messagebox("提示信息",'源数据库HSP连接成功' )

else

Messagebox("提示信息",'源数据库连接失败:错误'+itr_source.sqlerrtext )

end if

//连接目的数据库Interface

itr_target.DBMS = "ODBC"

itr_target.AutoCommit = False

itr_target.DBParm = "ConnectString='DSN=interface;UID=dba;PWD=sql'"

connect using itr_target;

if Ib_source_connected then

Messagebox("提示信息",'目的数据库Interface连接成功')

else

Messagebox("提示信息",'目的数据库连接失败:错误'+itr_source.sqlerrtext )

end if

open(w_login)

(3)应用程序Close事件

//撤消事务对象

Destroy itr_source

Destroy itr_target

3.4 通过住院号获取患者的药品明细

如图2所示,首先为数据窗口对象dw_1定义一检索参数Rs_PatientID,类型为String,cb_query(查询)按纽Clicked事件的部分代码为:

long ls_byh

图2 通过住院号患者的药品明细并写入接口数据库

ls_byh = long(trim(sle_1.text))

dw_1.retrieve(ls_byh)

//为dw_2赋值

int row,row_num,i,j

row_num = dw_1.rowcount()

longlong li_byh[],li_id[],li_bm[],li_yisheng[],li_dalei[]

dw_1.accepttext()

for i = 1 to row_num //通过循环从医院His中将数据导入接口数据库

j = j+1

row= dw_2.insertrow(i)

li_byh[i]= dw_1.getitemnumber(row,1)

li_id[i] = dw_1.getitemnumber(row,2)

li_bm[i] = dw_1.getitemnumber(row,3)

ls_name[i] = dw_1.getitemstring(row,4)

li_yisheng[i] = dw_1.getitemnumber(row,13)

li_dalei[i] = dw_1.getitemnumber(row,15)

dw_2.object.ift_002_01[i] = string(li_byh[i])

dw_2.object.ift_002_02[i] = j//实现联合主键IFT_002_01 + IFT_002_02的唯一性

dw_2.object.ift_002_03[i] = string(li_bm[i])

dw_2.object.ift_002_13[i] = string(li_yisheng[i])

dw_2.object.ift_002_14[i] = ls_yishengxingming[i]

dw_2.object.ift_002_15[i] = string(li_dalei[i])

next

3.5 保存数据

if dw_2.accepttext() = 1 and dw_2.update() = 1 then

commit;

messagebox("提示窗","已成功存盘",Exclamation!,ok!)

this.enabled = false

dw_2.object.datawindow.readonly = "yes"

else

rollback;

messagebox("警示窗","录入数据不能存盘",Exclamation!,ok!)

return

end if

4 结束语

邯郸市肥乡县中医院投入使用新型农村医疗合作接口程序后,可以方便、快捷、准确地为参加新型农村合作医疗的住院患者报批可报费用,极大地减轻了医院信息管理人员的负担,提高了工作效率,实现了新型农村合作医疗管理的信息化、网络化。

参考文献:

[1]朱爱民.PowerBuilder9.0与系统开发[M].北京:清华大学出版社,2003.

[2]数据库开发技术宝典丛书编委会.Sybase Adaptive Server Enterprise SAE系统管理指南[M].北京希望电子出版社,2000.

[3]刘志铭,张振坤,冯文萃. PowerBuilder数据库开发关键技术与实例应用.[M].人民邮电出版社,2004.

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”

上一篇:虚拟实验现象仿真研究 下一篇:基于提升小波变换的并网逆变系统信号去噪