基于军字一号的药品流动统计查询系统

2012-11-16 03:42肖永平刘秉春马玉想初亮孙枫林
中国医疗设备 2012年5期
关键词:出入库药房库存

肖永平 ,刘秉春,马玉想,初亮,孙枫林

1.第一○七医院 信息科,山东 烟台264002;2.第四军医大学 卫勤教研室,陕西 西安 710032

基于军字一号的药品流动统计查询系统

肖永平1,2,刘秉春2,马玉想2,初亮2,孙枫林2

1.第一○七医院 信息科,山东 烟台264002;2.第四军医大学 卫勤教研室,陕西 西安 710032

针对医院的工作需要,利用Powerbuilder9.0和Sybase ASA Database数据库开发了药品流动统计查询系统,实现了药房药品流动情况的跟踪查询。系统有较强的实用性。

军字一号;药品流动统计查询系统;摆药

我院的药房分为门诊药房、住院药房和制剂药房,每个药房都有药局库存管理程序,可以查看一段时期内的药品出入库和处方及摆药情况,但只能从每个菜单中单独查看。而军卫一号系统不保存每天的库存数量,这样不便于药剂科领导和工作人员掌握一段时期内药品库存的变化情况和药品流动情况。为此,我们开发了药品流动统计查询系统,该系统保存每个药房每天的药品库存数量,按照日期将每种药品的库存变化、出入库、摆药和处方总数进行统计,形成一张药品流动数据报表,使相关领导和药剂科人员对药品流动情况一目了然。

1 系统的功能设计

(1)保存医院每天的药品库存数量。医院的3个药房都有大量的药品,如果在军字一号系统中保存库存表,会占用大量的系统表空间,为了不增加军字一号的存储和查询负担,我们采用PB自带的数据库Sybase ASA Database[1],在ASA数据库中建立drug_dict和drug_stock 2张表,其表结构和军卫一号一致,只是在drug_stock表中增加了1个datetime字段,存储备份库存表的日期和时间。

(2)系统的各时间段数据运算。根据给出的时间段,从系统中提出库存数,并计算出在这个时间段内的该药房所有药品的出入库、处方、摆药等情况,形成数据报表。

2 系统的实现

2.1 ASA Database数据库的建立

首先打开PB的Database Profiles,在ODBC[2]中新建一个ASA Database,选择相应的目录创建一个本地数据库Drug Monitor[3],系统会在目录中生成一个后缀为.db的数据库文件。在PB中连接Drug Monitor数据库,新建drug_dict和drug_stock 2张表,其表结构和军卫一号中同名表的结构相同,在drug_stock中新建一个类型为timestamp的字段datetime。

2.2 药品字典及库存表的备份

在系统中我们采用数据管道[4](Pipeline)来备份库存表和药品字典。首先创建数据管道对象,在New菜单中选database,选择Data Pipeline,分别选择源和目标数据库[5],再选择drug_dict表并选择所有列,在Options中选择Refresh,并保存为Pipe_drug_dict,同样再新建一个数据管道,在Options中选择Append,保存为Pipe_drug_stock。

创建用户对象,通过这个用户对象来管理管道对象。在用户对象画板中单击New,在New User Object 对话框中选择Class组框中的Standard作为用户对象类型,在Select Standard Class Type对话框中选取继承pipeline内置系统对象,将用户对象保存为u_pipe_backup。

执行数据管道,定义2个事务SQLCA和SQLCB[6],分别连接管道操作的源数据库军字一号和目标数据库Drug Monitor。以下为数据管道生成及执行代码:

2.3 库存数量、出入库、处方和摆药等统计查询

系统首先用SQLCB连接到本地库[7]Drug Monitor,根据日期date_front和date_after,在本地数据库的drug_stock表中提出每种药品对应的2个库存数stock_front和stock_after。再用SQLCA连接到军字一号系统中,根据date_front和date_after计算出该药房每种药品在这一时间段内的出入库、处方和摆药数量。前一个库存数stock_front加上入库数量amount_import,再减去出库数量amount_export、处方数量amount_presc和摆药数量amount_pharm,计算出来的数值与第二个库存数stock_after做比较。如果相等,则说明该药品在这一段时间内的流动没有任何问题,同时把标志位置0;如果不相等,则说明在某一环节存在差错,如人为改动药品库存数量、处方数量等,同时把标志位置1,设置红色警示。以下是提取摆药数量的一段代码。

3 结束语

该系统设置为自动运行,可按规定时间提取刷新各项数据,每个药房每天的库存数量定时保存,并把给出的某一段时间内的库存数量和出入库、处方和摆药数量等进行比较[8-9],通过标志位可以看出药品的流动是否存在数据被人为修改等问题,并把这些数量形成一张实时报表,方便了相关领导和药房工作人员随时掌握药品流动情况。

[1] 蔡毅,邓格林,李宏伟,等.PowerBuilder9.0进阶开发篇[M].北京:清华大学出版社,2003.

[2] 常伟.SOL中查询语句的优化方法[J].重庆工学院学报,2006,20(5):85-87.

[3] 刘志敏.Oracle数据库应用管理解决方案[M].北京:电子工业出版社,2002.

[4] 刘志敏,刘微.“军字一号”数据库的连接模式选择[J].中国医疗设备,2008,23(5):30-31.

[5] 屈景辉,廖琪梅,许卫中.医学信息数据库的建立与数据挖掘[J].第四军医大学学报,2001,22(1):88-89.

[6] 周健煖.基于Access开发的医疗设备管理系统[J].中国医疗设备,2011,26(11):38-41.

[7] 蔡隽.基于B/S架构开发的医疗设备管理系统[J].电脑与电信,2011,(2):60-62.

[8] 黄林清,颜怀城,罗艳,等.“军空一号”药品管理系统在药品一级库管理中的应用[J].中国药业,2007(8):50-51.

[9] 李康,徐山.我院“军空一号工程”药品管理系统应用体会[J].临床合理用药杂志,2011,(1):35.

Statistics and Inquiry System of Drug Circulation Based on No.1 Military Medical Project

XIAO Yong-ping1,2,LIU Bing-chun2, MA Yu-xiang2,CHU Liang2, SUN Feng-lin2
1. Department of Information, No.107 Hospital of PLA, Yantai Shandong 264002, China; 2. Department of Health Services, Fourth Military Medical University, Xi'an Shaanxi 710032,China

This paper develops a statistics and inquiry system of drug circulation using Powerbuilder9.0 and Sybase ASA Database based on the demand of hospital working.It realizes the tracking and statistics of drugs circulation in the drugstores. The system is practical in practice.

No.1 Military Medical Project; statistics and inquiry system of drug circulation; drug dispensing

TP311.52

A

10.3969/j.issn.1674-1633.2012.05.014

1674-1633(2012)05-0047-02

2012-02-23

2012-03-15

作者邮箱:dulcetfuture@126.com

猜你喜欢
出入库药房库存
乌克兰谷物和油料作物库存远低于2020年同期
乌克兰谷物和油料作物库存远低于2020年同期
房地产去库存中的金融支持探究
发电企业物资仓库精细化管理的研究和探讨
解析几种常用的吸塑托盘拆分叠放输送机构
培训单位的实训库房管理系统的设计
营销4C与房产去库存
药房托管
陈勇:我不看好这样的药房托管
药房托管 好还是不好