冯东建①
① 河南省卫生厅医药采购管理服务中心,450001,河南省南阳市建设东路66号
摘 要 结合树形层次目录编码和分段编码编制一种新型树形层次编码压缩算法,实现药品分类编码,满足药品生产经营企业、医疗机构、医保中心、卫生行政及药品监督管理部门的工作需要,有利于药品生产、经营、使用、监管部门应用信息化手段对药品进行管理。
关键词 药品分类编码;树形层次编码;压缩算法
2008年河南省卫生厅接到卫生部项目委托,要求在《河南省医疗机构常用药品分类编码07版》的基础上,编写一种药品分类编码。满足药品生产经营企业、医疗机构、医保中心、卫生行政及药品监督管理部门的工作需要。
药品分类编码具体要求: 1、包含药理属性、药品名称、剂型、规格、包装、生产厂家等。2、为了方便使用,和条形码接轨,要求纯数字编码,首位不为零。3、药理属性参考国家药典分类及医保药品药理分类。药理分类要细,但长度不宜过长。
我们接到任务后,首先分析国家药典药理分类及医保药品药理分类,发现药理分类均为树形层次目录,药理名称数量不超过500种,但相关药理分类按照传统层次编码分类,最高有7级,2位一级,需要14位编码,这显然不符合卫生部要求。
我们查阅资料及咨询有关计算机算法专家,没有一种非常好的解决方案。既能体现丰富的树形层次目录,编码长度又短的方案。最终我们结合树形层次目录编码和分段编码编制一种新型树形层次编码压缩算法。在此基础上,河南省医药采购管理服务中心组织药学、临床医疗、计算机专家编写完成了《河南省医疗机构常用药品分类编码》2008版。
我们设计了分段流水号编码3位加层次编码1位共计4位的药理编码表示方法。此算法支持9级树形目录,1000种目录分类。由于药理属性不超过500种,用三位数表示即可,排除0开头的还有900个编码,完全够用,再加上药理名称属性相对稳定,我们给每一大类都预留2个编码,方便今后扩充。
1 药理分类与编码方法
1.1药理分类原则 药理分类依据国家药典委员会《中华人民共和国药典临床用药须知 2005版 化学药和生物制品卷、中药卷》,参考《第16版新编药物学》和医疗保险药品目录药理分类方法。
药理分类分为西药、中成药、草药、医院自制制剂4种,每种同时分为大类、亚类。其中西药分为28个大类,中成药分为11个大类。
1.2 编码的原则及结构
1.2.1编码原则 药品按药理属性归类时可能有交叉现象。因此,药品归类时遵循药品主药理属性原则,即根据药品的主要药理属性确定药品的类别。另外为了便于电子表处理,首位不为0。
1.2.2 编码结构 药理编码共4位,采用分段流水号编码3位加层次编码1位,如西药流水号编码为100-499,中药流水号编码为500-799,草药流水号编码为800-899,自制制剂流水号编码为900-999…,而层次编码体现该编码的层次归属,如阿莫西林药理编码1064,其中106为流水号编码,4为层次编码,药理名称为 广谱青霉素及复方制剂 ,完整层次为1011西药/1022抗感染药物/1033青霉素类/1064广谱青霉素及复方制剂。
表1 药理分类编码对照表
2 新型树形层次编码压缩算法(以1073头孢菌素类为例)
结合药理分类与编码方法,采用新型树形层次编码压缩算法来实现。该算法描述及具体实现如下:
第一步:判断当前药理编码的层次:采用直接取药理编码第4位皆可,如1073头孢菌素类第四位为3,即1073头孢菌素类层次为3。
第二步:查找当前编码的父亲(上一层编码):(1)取得当前编码的层次li_cc,如1073头孢菌素类层次为3;(2)向上查找第1个层次为li_cc–1的编码,即为该编码的父亲,查找层次为3–1 =2的编码即向上查找第一个层次编码为2的编码,结果为1022抗感染药物。(3)为了加快速度,方便今后查找方便处理,在药理分类编码对照表增加一个字段parent_bh(上级编码),beg_bh(起始编码) ,999表示最大编码,如1073头孢菌素类,上级编码PARENT_BH 等于1022的前三位102。
(4)有关实现代码(以PB实现代码为例):
Long i ,j , li_cc ,li_row
j = dw_2.RowCount() //取得总行数
dw_2.SetSort(" rowid D") //倒序排列
dw_2.Sort()
FOR i = 1 TO j
li_cc = dw_2.Object.yl_cc[i] //得到当前编码的层次
IF i < j THEN
li_row = dw_2.Find("yl_cc = " + String(li_cc - 1), i+1, j) //查第1个层次为li_cc - 1的编码
IF li_row > 0 THEN
dw_2.Object.beg_bh[li_row] = LEFT(dw_2.Object. YL_BM [li_row],3)
dw_2.Object.parent_bh[i] = dw_2.Object.beg_bh[li_row]
ELSE
dw_2.Object.parent_bh[i] = 999
END IF
NEXT
IF dw_2.Update() = 1 THEN
MessageBox("提示","编码的父编码已处理完毕!")
第三步:查找当前编码的所有孩子:(1)取得当前编码的层次li_cc,下一行编码的层次li_cc_next。如1073头孢菌素类第四位为3,即1073头孢菌素类层次为3;(2)向下查找层次大于当前层次的编码,直到向下查找的层次编码等于当前层次编码,查找结束。如查找第四位大于3的编码(1084 1094 1104 1114),遇到3结束(1123)。(3)为了加快速度,方便今后查找方便处理,在药理分类编码对照表增加一个字段beg_bh(起始编码) ,end_bh(结束编码),999表示最大编码,如end_bh(结束编码)等于1123前3位112。
(4)有关实现代码:
Long i ,j , li_cc ,li_row ,k , li_cc_next
String ls_filter
j = dw_2.RowCount()
FOR i = 1 TO j //通过循环查找最后一个孩子
li_cc = dw_2.Object.yl_cc[i]
IF i < j THEN //查找到倒数第二行
li_cc_next = dw_2.Object.yl_cc[ i + 1]
IF li_cc_next > li_cc THEN //下一行编码的层次编码的层次于当前行层次比较
li_row = dw_2.Find("yl_cc = " + String(li_cc), i+1, dw_2.RowCount())
dw_2.Object.end_bh[i] = dw_2.Object.beg_bh[li_row]
dw_2.Object.end_bh[i] = 999
dw_2.Object.end_bh[i] = dw_2.Object.beg_bh[ i + 1]
ELSE //最后一行
MessageBox("提示","当前编码的所有孩子已查找完毕!")
第四步:查找当前编码的所有兄弟:(1)取得当前编码的层次;(2)查找当前编码的父亲(上一层编码);(3)根据上一层编码查找所有的孩子;(4)从所有孩子中选择层次编码为li_cc 的孩子;(5)代码根据第二步、第三步算法组合即可。
第五步:树形目录的实现:(1)利用层次和流水号范围即可实现(注意大于等于起始编码ll_beg_bh,小于结束编码beg_bh)。(2)有关实现代码:
' beg_bh >= '+ String(ll_beg_bh[1]) + ' and beg_bh < ' + String(ll_end_bh[1])
3 应用案例
通过新型树形层次目录编码压缩算法,我们顺利完成了《河南省医疗机构常用药品分类编码》2008版,08版分类编码,可适用于医药经营企业、生产企业、医疗机构、医保中心、新型农村合作医疗机构、药品监管部门以及物价监管部门。它的推广使用,将有利于药品生产、经营、使用、监管部门应用信息化手段对药品进行管理,以下采用新型树形层次目录编码压缩算法实现药品分类编码的两个实际应用。
应用一:河南医药招标网(图1)
图1 河南医药招标网界面
应用二:药品信息查询系统(图2)
图2 药品信息查询系统界面
4 相关知识
4.1 河南省药品分类编码规则 基本编码长度15位,扩展编码4到5位,为了方便录入以及和条形码结合,一律用数字码表示,为了方便电子表处理,编码首位不为0。其结构如图3所示。
4.2 国家药品编码本位码编制规则
国家药品编码本位码共14位,由药品国别码、药品类别码,药品本体码和校验码依次连接组成,不留空格,如编码86900001000019,其结构如图4所示。
5 结语
本文结合树形层次目录编码和分段编码编制一种新型树形层次编码压缩算法,编写一种药品分类编码,满足药品生产经营企业、医疗机构、医保中心、卫生行政及药品监督管理部门的工作需要。它的推广使用,将有利于药品生产、经营、使用、监管部门应用信息化手段对药品进行管理,实现了药品安全的可追溯性,也加强了药品价格监管、药品网上集中采购和医疗机构药品收费管理。
参考文献:
[1] 冯东建,张大义,田玲.利用信息技术 促进药品编码发展[J].中国卫生信息管理杂志.2006年(1)
[2] 田海,黄华.完善医保药品监管的技术手段——浙江省建立统一的异地就医联网结算药品编码[J].中国医疗保险.2011(11).
[3] 王春涛,唐静,陈伟.Minitab软件在药品生产质量控制中的应用[J].中国执业药师.2012(11).
[4] 王璐,左美云,刘满成.信息系统实施中用户成熟度及评价研究[J].信息资源管理学报.2012(03).
[5] 何艳春 HIS系统中14位药品编码的编制与应用.[J].中国医药指南.2011(12).
[6] 王妍.医药电子交易中的药品信息代码标准研究[J].中国执业药师.2012(7).
[7] 卢绍江.医院信息系统提高医院药事管理水平的效果探讨[J].中国医药指南.2011(25).
[8] 欧阳露.医院药品编码的应用现状[J].中国医药指南.2011(7).
[9] 白云.广州市药品编码规范及应用[J].今日药学. 2010(8).
[10] 欧阳露.药品编码在我院药房药品管理中的应用[J].山西医药杂志.2012(11).
[11] 苏如雄.我院住院药房药品四位数货位编码的应用[J].抗感染药学.2011(6).
[12] 舒波.医院药品库房信息化管理的运用及体会[J].中医药管理杂志.2010(10)
[13] 郑敏霞.中成药编码研究[J].海峡药学.2011(5)
[14] 傅全威.“医保新编码药品库”的临床效应[J].中国医疗保险.2011(11).
[15] 冯智敏.目视管理结合药品库位编码在住院药房的尝试[J].今日药学.2013(6)
[16] 赵育新.以合理用药动态监测为例浅析一般管理决策的实现过程[J].医疗卫生装备.2013(7).
[17] 王健沈.运用ATC编码体系实现精确管理[J].中国社会保障.2013(8).
[18] 黄惠春.广东医药流通物流发展的分析探索[J].物流技术.2011(6).
[19] 曹丽.完善我院现有药品计算机管理系统的探讨[J].中国冶金工业医学杂志.2011(8).
[20] 孙咸泽.用现代信息科技磨砺监管利器——食品药品监管信息化的建设与发展[J].中国食品药品监管.2012(3).