医嘱摆药等差数列模型算法研究
2011-07-31李力汪火明李辉
李力,汪火明,李辉
1.华中科技大学同济医院 计算机中心,湖北 武汉,430030;2.华中科技大学同济医学院附属精神卫生中心,湖北 武汉,430030
医嘱摆药等差数列模型算法研究
李力1,汪火明1,李辉2
1.华中科技大学同济医院 计算机中心,湖北 武汉,430030;2.华中科技大学同济医学院附属精神卫生中心,湖北 武汉,430030
本文通过对医嘱和摆药业务的分析,提出了基于等差数列模型的医嘱摆药算法,该算法的实现对医院摆药过程的自动化具有重要的促进作用。
医嘱;摆药;等差数列;数学模型
我国《医疗机构药事管理办法》明确提出医院住院药房实行药学专业技术人员单剂量调配药品。如何充分利用规范的临床医嘱,提高遵医嘱摆药的准确性,方便病区用药,计算机化的临床医嘱摆药管理的研究和应用便显得越发重要[1],摆药的算法值得深入研究与探讨。
1 医嘱与摆药业务分析
1.1 医嘱及属性设计[2-3]
分析药疗医嘱可以得到 Orders 定制的几个重要属性,如表1所示。
“最后执行日期”的解释和使用,站在护士执行医嘱角度,护士需要考虑 :① 当天是否需要去执行医嘱 ;② 当天执行后,下一次执行医嘱的执行周期和具体执行日期;③执行日期当日的用药量。因此,对今天执行而言记录的是上次用药的日期,执行后还需要提前知道了下次用药日期,记录下来以便做好准备。如 11 月 12 日新开医嘱,1 次 /日,初始是空,表示还没执行过,今天要执行一次;执行后,下一次需要执行的日期是 11 月 13 日,保存到该字段 ;对于 1 次 /2 日,首次执行日可以在 12 日,也可在 13 日,一般首次执行日取当前日期,即 11 月 12 日(当然也可按逢单号或逢双日执行),那么下一次执行就是在 14 日,将 11月 14日保存到该字段。
表1 Orders的重要属性
站在药房摆药角度,今天摆药工作是上次摆药的最后摆药日期,是本次摆药的截止日期,记录下来便于下次摆药的时间计算。因摆药天数可以不同 (日常工作是1日摆药,特殊情况可能多日摆药,如摆 3天的药),会给出几天的药,以满足临床用药需要。如果最后摆药日期是11月12日,今天 12 日需摆 2 天的药,可知应该将 13 日、14 日的用药摆出,并将 11 月 14 日(对护士执行而言是有药可用的最后执行日期)保存到该字段。
1.2 摆药分析[4]
分析药房摆药业务,核心工作之一就是遵医嘱按单剂量提前给出调配药品(具体执行日由护士安排)。有如下需求 :① 需对长期医嘱、临时医嘱摆药 ;② 按给药途径摆药 ;③ 按指定摆药天数摆药,如 1 日摆药,多日摆药(节假日)。④ 指定病人摆药 ;⑤ 可手工调节摆药结果,对自动摆药结果人工调整,如经审核后需要更换摆药规格、数量。
当然,只有按系统设计规范下达的医嘱,计算机才能按设计好的算法完成摆药。另外,在计算机辅助计算下,除可提供当次摆药总量外,还能提供与之对应的具体执行日期表,可用于护士领药时的比对和在执行日期上参考。
2 等差数列模型摆药算法
2.1 摆药算法数学模型
分析遵医嘱执行和摆药业务不难发现,护士执行医嘱的日期构成了数列 {Daten},已经知道了护士医嘱执行频次间隔(每个执行周期)是数列的公差d,护士已经知道上次执行日期 a0,现在考虑今天(数 b)后 1 天或几天是否需要执行医嘱,如果需要,具体日期是那些?这也正是药房摆药关心的需求,其中摆药天数(1日或多日摆药)就是今天之后的差距 Gap。
另外要注意医嘱信息中执行频次(Freq_C)的不同。当间隔时间 Freq_I = 1 则表示 1 天里执行的次数(如 2 次/日),当 (Freq_I > 1) ∨ (Freq_I > Freq_C ) 则表示每间隔天数里要有执行的天数 (如 2 次 /3 日 )。
等差数列的数学模型问题如图1所示。
图1 等差数列的数学模型
对应 Freq_C=1 :构成等差数列模型,已知一数列 {an},公差是 d,现已知项 a0,当前数 b,以及 b 后 Gap,求 a0后是否存在数列项,存在的条件 Solv_con ?如存在,求数量 N,及各项 ai。
对应 Freq_C > 1 :与上例不同点只是构成数列的项是一个向量,即 an是个向量,所有执行周期内执行日期构成了一个矩阵 Am*c(c=Freq_C )。如 2 次 /3 日,就可能在第i个执行周期(该公差段)的项是 αi=(ai1, ai2),其中 ai1、ai2表示需要执行的日期。而其中的 ai1、ai2的求解是按数列 {an}的求解得到结果(是 ai1)后去求向量的各个数,可按均匀规则给出。如 3 个位置中放 2 个数,可放到 1 和 3 的位置,对应服药表示了用药的均匀性。因而解的结果是一个矩阵An*c(n=N_performdays,c= Freq_C)。
2.2 算法实现
相关变量定义描述与数据示例如表2所示。
表2 变量定义描述与数据示例
具体算法如下:
(1)有解条件(摆药条件)。
Solv_con = (Disp_Date-LastPerform_day+1) / Freq_I≥1 ?成立则进入下面的计算公式,给出下一次用药天数和最后执行日期。
(2)对新开医嘱(最后执行日期 LastPerform_day 为空)。
首先,直接给变量赋初始值。
N_performdays = 1 (首次执行按 1 次考虑,新开医嘱当天执行用药量 :Q_per * 1):
Perform_day = Curr_day (可遵医嘱如双号执行给出日期);
LastPerform_day = Curr_day 。
然后,可看成不是新开医嘱,按下面算法计算下一次可执行的天数和可执行日期。
因 此, 首 次 药 房 摆 出 的 总 摆 药 量 : Q_per *(1+ N_ performdays * Freq_C)。
(3)对不是新开医嘱。①下一次执行的天数(周期数):N_performdays = [((Disp_Date - LastPerform_day)+ N_ DispDays)/ Freq_I](取上整);② 用药总量△:Q_per *(Freq_C *N_performdays);③ 下一次具体执行日期:Perform_days= { LastPerform_day+i * Freq_I,i=1,.., N_ performdays } ;④ 最后执行日期:LastPerform_day = LastPerform_day + N_performdays * Freq_I,保存下来;⑤越界舍弃:根据医嘱的停止时间,需要考虑舍弃超界的可能执行次数及执行日期。对c次/日,还需考虑医嘱首日执行次数的舍弃,如3次/日,首日可舍弃2次,则取1次执行。
注 :上述算法中对 Freq_C 次 / Freq_I日(如 3 次 /7 日)情况说明:
(1)由于 Freq_C>1,所求 N_performdays 准确地讲求的是执行周期数。
上 述 算 法 中 只 是 简 单 地 按(1 次 /I日 )得 到 N_ performdays(乘上 C,总用药量不会有错),但没有给出各服药周期里具体执行日期。算法求得 Perform_days 的结果是每个向量的最小数,即矩阵 A 的第一列 ;LastPerform_ day 是最后一个向量的最小数。 一般医院在摆药时也不需要求出各个执行日期,因此往往就不再考虑各执行周期内执行日期了。
(2)各执行周期内执行日期计算算法:
只给出了按简单递加规则的算法,可以做按均匀规则算。见示例说明。
Perform_days[i,j]=LastPerform_day + i * Freq_I+ j 。式中i=1…N_performdays ;j=1… Freq_C -1
2.3 示例说明(见表2)
表2 示例说明
假设给出了 11 月 12 日新开医嘱,下面针对执行频率描述为 2 次 /3 日给出执行次数与执行日期,其中用 N 表示N_performdays,药量计算略去。如下是摆药示意图与计算过程。
3 讨论
这个基于等差数列模型的摆药算法不仅能得到准确的用药量,而且也克服了目前摆药工作中护士常说的“当日的药拿不到”,需要下一条临时医嘱加以配合才行的现象。同时如果需要还可以给出下一次需要执行医嘱的具体日期,供护士参考。本文探讨的算法是摆药计算的核心,程序代码在实现上还需考虑其他一些参数信息,如跨月数据的计算,开、停日期用药的调整。
医嘱摆药系统的实现与应用提高了中心摆药室管理的效率 , 减少了对中心摆药室管理的工作量 , 减轻了工作负担 ,避免了人为差错。为此,系统的实施与应用上还需要做好药品基本信息数据的定义,医嘱的规范录入;建立医院一种行之有效的摆药中心作业模式[5],临床与药房的积极配合,如药房保证充足的库存,对当日新开的长期医嘱,根据病区需要及时给予摆药。
[1] 张晓华,冯博华.临床医嘱摆药管理的应用研究[J].中医药管理杂志,2007,15(10):769-272
[2] 李力,李金,袁鑫,等.基于规范的医疗服务价格体系系统设计与实现[J].中国数字医学,2008,3(6):30-32
[3] 李力,汪火明.临床信息系统中促进合理用药细节研究[J].医学信息学,2008,(11):32-34
[4] 龙其生,张磊.医院信息管理中摆药模式及算法的探讨[J].中国药房,1998,9(4):164-166
[5] 李贤文,石磊,吴新荣,等.基于医院信息系统摆药中心作业模式的研究[J].中国药房,2005,16(4):267-268.
[6] 肖怀玉.医院信息系统药库管理子系统的优化方向[J].首都医药,2007,4(22):33-34.
[7] 李晋,张宏亮,杨荣,吴新荣.基于医院信息系统的临床药师模块研发的探讨[J].今日药学,2008,18(5):37-38.
[8] 付炬炫,李丽娜.医院信息管理系统下中心摆药室的药品管理[J].现代中西医结合杂志,2004,13(13):140.
Research of Doctor's Advice and Drugs Dispensing Algorithm Based on Arithmetic Sequence Model
LI Li1,WANG Huo-ming1,LI hui2
1.Computer Center,Tongji Hospital of Huazhong University of Science and Technology, Wuhan Hubei 430030, China;2. Mental Health Center, Tongji Medical College of Huazhong University of Science and Technology, Wuhan Hubei 430030, China
Through the analysis of the doctor's advice and drug dispensing, this paper proposed the doctor's advice and drug dispensing algorithm based on arithmetic series model algorithm. The implementation of the algorithm plays an important role in promoting hospital drug dispensing automation.
doctor's advice; drug dispensing; arithmetic sequence; mathematical model
R95
B
10.3969/j.issn.1674-1633.2011.06.033
1674-1633(2011)06-0092-03
2010-10-23
2010-11-24
作者邮箱:lilee@tjh.tjmu.edu.cn