4. 处方数据结构化建模
处方审核与流转平台的核心难点,不在于把纸质处方扫描成图片,而在于把处方中“人、药、量、法、诊”五类信息拆解成可计算、可校验、可追溯的结构化数据。如果处方只是一段自由文本,审核规则就无法稳定命中,流转环节也无法按药品、诊断、用法做精细路由。因此,处方结构化建模是平台工程的地基。
一、处方主数据:处方的“身份与骨架”
处方主数据描述一张处方本身是谁开的、给谁开的、什么时候开的、属于哪次就诊。它不承载具体药品明细,而是处方明细的容器与上下文。典型字段包括:处方号(全局唯一,建议采用“机构编码+日期+序列”的规则生成)、患者标识(院内患者ID与平台统一患者ID的映射)、就诊标识(门诊号/住院号/急诊流水号)、开方医生与科室、处方类别(普通处方、急诊处方、儿科处方、麻醉药品处方等)、处方状态(待审核、审核通过、审核不通过、已流转、已调配、已发药、已作废)、开方时间与有效期限。
处方状态是流转引擎的关键参数。例如,只有处于“待审核”状态的处方才进入审核队列;审核不通过的处方不允许进入调配环节;已发药处方不可再次修改。状态字段必须与流转动作严格对应,避免出现“已发药但状态仍为待审核”这类脏数据。
二、药品字典:把“药名”变成“编码”
处方上写的“阿莫西林胶囊 0.25g”,在平台里必须映射到唯一的药品字典项。药品字典至少应包含:药品通用名、商品名、剂型、规格、单位、给药途径、是否皮试、是否高危药品、是否抗菌药物、是否精神/麻醉药品、医保类别、生产厂家、批准文号。其中,药品编码是主键,建议采用国家药品编码或院内药品编码,并建立与医保编码、条码的映射表。
药品字典的难点在于“同名不同规、同规不同厂”。例如“阿莫西林胶囊”有 0.125g、0.25g、0.5g 三种规格,若字典中只按通用名建一条记录,审核规则中的“单次剂量上限”就无法准确判断。因此,药品字典的粒度应细化到“通用名+剂型+规格+厂家”级别,并允许一个通用名下挂多个规格项。
三、用法用量:结构化的“给药指令”
用法用量是处方结构化中最容易出问题的部分。自由文本“一次1粒,一日3次,口服”需要拆成四个结构化字段:给药途径(口服、静脉滴注、外用等)、单次剂量(数值+单位)、给药频次(每日次数或间隔时间)、疗程(天数或总次数)。此外还应记录“是否按体重计算”“是否按体表面积计算”等特殊给药方式。
以“注射用头孢曲松钠 2g + 0.9%氯化钠注射液 100ml,静脉滴注,每日1次”为例,结构化后应拆成两条药品明细:一条是头孢曲松钠(主药),一条是氯化钠注射液(溶媒),并通过“溶媒关联”字段把两者绑定。这样审核规则才能判断“溶媒选择是否适宜”“浓度是否过高”。
四、诊断编码:处方与诊断的“逻辑锚点”
处方必须与诊断关联,否则无法判断“用药是否对症”。诊断编码建议采用 ICD-10 或国家临床版 ICD-10 编码,并保留诊断名称文本。一张处方可以对应一个主诊断和多个次诊断,结构化模型中应记录诊断与药品明细的对应关系,即“哪个药是为哪个诊断开的”。
例如,诊断为“急性上呼吸道感染(J06.900)”,处方中若出现“阿莫西林胶囊”,审核规则可提示“上呼吸道感染多为病毒性,抗菌药物使用需有明确指征”。如果诊断编码缺失或与药品明显不匹配,系统应标记为“诊断-用药不匹配”风险项。
五、结构化处方模型设计
综合以上四类数据,结构化处方模型可采用“处方头—处方明细—用法用量—诊断关联”四层结构。处方头对应主数据;处方明细对应药品字典项;用法用量挂在明细上;诊断关联则建立诊断与明细的多对多关系。下图展示了这一模型的核心结构与数据流向。
在工程实现上,建议将处方头、明细、用法用量、诊断关联分别建表,通过外键关联。处方头表的主键是处方号;明细表的主键是“处方号+明细序号”;用法用量表通过明细ID关联;诊断关联表记录“处方号+诊断编码+明细序号”的对应关系。这样既保证了数据一致性,也便于审核规则按维度检索。
最后需要强调:结构化建模不是一次性工作。药品字典会新增规格,诊断编码会升级版本,用法用量会出现新的给药方式。平台应提供字典维护、版本管理和变更审计能力,确保审核规则始终基于最新、最准确的基础数据运行。