智慧药房信息管理系统
2019-01-30雷亚猛刘阳
文/雷亚猛 刘阳
1 概述
目前,我国绝大多数医院中的上药发药操作一般还是由人工完成的,这样效率低下而且容易出错。智慧药房软件系统弥补了这方面不足,它将处方上药发药操作交由软件系统自动发送指令,下位机系统接收指令完成动作操作,具有准确、快速、高效而且便于维护的优点。由此可见,智慧药房系统是建设目前医院的一个发展的必然方向,但是,通过调研发现目前只有少数医院使用了智慧药房软件系统,而且目前现有的智慧药房的软件系统的安全性和可靠性还是不够完善,所以对智慧药房软件系统的设计与研究具有很重要的实际意义。
2 总体框架设计
软件部分是智慧药房的核心,本文在分析了现有的智慧药房的技术缺点以后,提出了自己的设计方案,能够实现以下几个功能:管理药房中药品的相关信息;从医院信息管理系统中读取并处理相关药品信息;驱动发药机进行上药和发药动作;可以实时监控处方药品发送情况;可以对过往药品信息进行查看;及时对数据库进行实时更新;及时与发药终端药剂师进行交互,完成处方发药过程等。如图1所示。
3 系统主要功能模块设计
3.1 自动化药房发药模块
进入自动药房管理系统之后,输入用户名及其密码,用户成功登录之后,如图2所示,分为四类小功能模块,分别为实时信息,过往记录,本地数据和系统设置。
3.2 模拟HIS系统模块
模拟HIS系统要实现的最重要的功能就是编辑和发送处方,然后上位机软件系统对从模拟HIS系统通过局域网接收到的处方进行相关的处理。它具有处方管理和查看过往历史记录的功能,在界面的最右侧有三个按钮,分别可以“保存”,“发送”或者“新建”处方信息;在左下角也有三个按钮,可以“添加”,“修改”或者“修改”药品信息。通过“添加”按钮,处方中相关信息都会显示在中间药品信息中。添加完处方中药品信息后,就可以点击“发送”,如图3所示。
3.3 智慧药房实时信息监控模块
实时信息监控界面如下,当点击按钮“开始发药”后,系统就可以全自动地处理处方信息了,通过该界面不仅可以清晰看到各个处方上的详细信息,包括药品名称和数量等,还可以观察到每个处方的处理状态等,是否发送成功。如图4所示。
3.4 人工取药模块
图1
图2
图3
图4
图5
当软件系统接收到处方信息解析处理后,当是盒装药时要发送指令给快速发药机进行上药操作,如果是异型包装针剂等药品时要发送指令信息给人工取药客户端提示人工取药,药剂师可以通过人工取药客户端看到需要人工取药的序列和需要取药的详细信息。它的界面设计如图5所示。
3.5 补药模块
补药客户端是药房工作人员与软件系统进行交互的接口,在上位机软件系统发送补药指令给补药系统后,界面上会显示需要补的药品的种类和数量的补药队列。
4 下位机控制模块
本文下位机采用的是stm32单片机,上位机发送指令给stm32单片机,有时也需要单片机反馈相应的信息给上位机,如当补药房补药完成时,需反馈到上位机修改本地数据库的相关信息,这就需要考虑上位机与下位机的通信方式,本文以补药房为例进行阐述通信方式。
5 串口通信模块
串口数据的写入是通过write Data(const char * data, qint64 max Size)以 及write(const char * data, qint64 max Size),前者是protected属性,只能在子类中访问,而后者则是public属性。在串口打开并且具有可写属性,即可通过write函数写入数据。串口数据的读入是通 过 readData(char * data, qint64 maxSize) ,read(qint64 maxSize)实现的,如果需要一次性读完所有的数据,则可以通过readAll()全部读取串口缓冲区中的数据。
QSerialPort提供了访问串口的接口函数。使用辅助类QSerialPortInfo可以使用串口信息。将QSerialPortInfo辅助类对象作为参数,使用setPort() 或setPortName()函数可以设置访问的串口设备。
6 小结
本文主要阐述了智慧药房软件系统,使用智慧药房软件系统可以使工作效率提高,同时降低错误率,在一定程度上为医院节省了人力和物力。但该系统也存在很多不足,下一阶段可以进行进一步的优化升级,以期达到更好的效果。随着人工智能技术的快速发展,智慧药房必然是一个主流趋势。