构建辅助编码的概率参考体系
在医疗诊断编码领域,准确且高效的编码对于医疗信息的管理和利用至关重要。然而,由于诊断的复杂性和多样性,编码工作面临着诸多挑战。本文将介绍一种基于概率的辅助编码方法,旨在帮助编码人员更准确地选择诊断代码。
问题背景与现状
专家编码人员希望编码人员在诊断家族的所有诊断中进行选择,但即便进行了归并,不同的组合数量仍超过5亿。为了预测可能的诊断,经过与专家编码人员讨论,决定使用患者的年龄、性别、住院时长、所在科室或功能单元、已编码的医疗行为以及已编码的诊断等信息。
相关数据如下表所示:
| 项目 | 详情 |
| — | — |
| RSA数量 | 1068449 |
| 编码诊断数量 | 3052079 |
| 每个RSA的诊断数量 | 1 - 50,平均2.86 ± 2.24 |
| 编码医疗行为数量 | 2769008 |
| 每个RSA的不同医疗行为数量 | 0 - 132,平均2.63 ± 3.90 |
预测方法主要分为定量方法和定性方法:
-
定性方法
:具有直观性,主要基于主观假设,可能依赖过往数据或不依赖。通常,这种方法难以被他人重现,因为预测者未明确说明预测方式。虽然在某些情况下可能适用,但在医疗诊断编码中,正是这种主观方法导致医生编码出错。
-
定量方法
:基于统计和/或数学模型。一旦选定基础模型,相应的预测就会自动确定,并且任何人都可以完全重现。
不同的解释和预测方法旨在找到一个模型,建立预测属性和待预测属性之间的联系。这个模型通过一个数据集(即学习集)产生,在本文中是区域RSA数据集。通常分为“归纳”或学习阶段(建立属性之间的联系)和“预测”阶段(指出预测值)。主要的解释和预测方法包括归纳图、神经网络、回归方法、判别分析、贝叶斯网络、关联规则以及其他预测方法(如CN2或SVM)。
辅助编码方法理论
为了给用户提供一个从最可能到最不可能的结果列表,以便轻松选择,减少可能的输入错误,采用了概率方法,结果根据出现的概率进行排序。
-
条件概率估计
:该方法基于条件概率,即已知一个相关事件已经发生时,另一个事件发生的概率。公式如下:
[P(E|R_1, \cdots, R_n) = \frac{P(R_1 \cap \cdots \cap R_n \cap E)}{P(R_1 \cap \cdots \cap R_n)}]
当有足够大的数据集时,可以使用该方法,概率通过参考数据集进行估计。由于提供的数据集足够大,可以通过以下公式近似条件概率:
[P(E|R_1, \cdots, R_n) \approx \frac{occ(E, R_1, \cdots, R_n)}{occ(R_1, \cdots, R_n)}]
其中,(occ(E, R_1, \cdots, R_n))定义了三元组((E, R_1, \cdots, R_n))的出现次数,即((E, R_1, \cdots, R_n))在参考数据集中出现的次数。然而,这种方法并不完美,存在一些局限性:
- 作为一种估计方法,存在一定的误差。如果学习数据集样本过少或存在孤立案例,误差会增大;极端情况下,如果数据集中没有某些案例,将无法进行预测。
- 如果数据集存在大量噪声,估计误差也会增加。不过,当学习数据集足够大时,噪声的影响可能会相互抵消,从而得出较好的结果。
-
概率融合
:当有两个信息源(或传感器)提供关于诊断(D_1)发生的概率信息(分别记为(P_{C_1}(D_1))和(P_{C_2}(D_1)))时,需要融合这些信息以做出决策。有以下几种融合方法:
- 考虑给出最大概率的传感器结果:(P(D_1) = max(P_{C_1}(D_1), P_{C_2}(D_1)))
- 认为每个传感器具有相同的重要性:(P(D_1) = \frac{1}{2}[P_{C_1}(D_1) + P_{C_2}(D_1)])
- 根据每个传感器的内在性能组合概率:(P(D_1) = \alpha_1 \cdot P_{C_1}(D_1) + \alpha_2 \cdot P_{C_2}(D_1))
提出的方法
由于无法直接估计已知年龄、性别、住院时长、IGS2、医疗单元/功能单元(UMUF)、医疗行为和已编码诊断时诊断(D_i)的概率,因此将医疗信息分为四个来源:
1. 年龄、性别、住院时长、IGS2
2. 医疗单元/功能单元(UMUF)
3. 医疗行为
4. 已编码的诊断
同时,项目的技术限制要求概率估计存储在Microsoft Access数据库中,并且检索估计值的时间要非常短。
-
根据来源(1)的诊断概率及可定制排序
:根据顾问的建议,考虑患者的年龄、性别、简化严重程度指数II(IGS2)和住院时长这四个因素来更好地预测诊断的发生。为了减少组合爆炸,将年龄分为22个区间,区分IGS2值是否大于5,以及住院时长是否超过24小时。计算公式如下:
[P(D_j|age, sex, duration\ of\ stay, IGS2) = \frac{occ(D_j, age, sex, duration\ of\ stay, IGS2)}{occ(age, sex, duration\ of\ stay, IGS2)}]
该概率估计是针对所有诊断、年龄区间、性别、住院时长和IGS2进行的,基于2006年布列塔尼地区的RSA数据集计算得出。
-
根据来源(2)的诊断概率
:根据患者在医院所在的医疗单元/功能单元(UMUF)来估计诊断概率,计算公式为:
[P(D_j|UMUF) = \frac{occ(D_j, UMUF)}{occ(UMUF)}]
由于每个医院的医疗单元/功能单元组成不同,计算基于布雷斯特大学医院的概率数据。
-
根据来源(3)的诊断概率
:使用所有已编码的医疗行为来估计诊断概率。由于医疗行为数量从0到N不等,且无法验证它们之间的独立性。首先估计单个医疗行为下诊断的概率(P(D_j|acte_i)),然后融合每个医疗行为的信息。假设每个医疗行为最初具有相同的重要性,之后区分分类医疗行为和非分类医疗行为:
[P(D_j|acte_1, \cdots, acte_N) = \alpha_1 \cdot \sum_{k = 1, acte_k\ is\ classifying}^{L} P(D_j|acte_k) + \alpha_2 \cdot \sum_{k = 1, acte_k\ is\ non - classifying}^{M} P(D_j|acte_k)]
其中(L + M = N),(\alpha_1)和(\alpha_2)取决于分类医疗行为相对于非分类医疗行为的性能。通过实验确定性能,基于包含1000个仅含非分类医疗行为的RUM数据集和1000个仅含分类医疗行为的RUM数据集。结果表明,分类医疗行为的性能更好,性能定义为在列出的前10个诊断(或诊断家族)中找到所需诊断的百分比。
-
根据来源(4)的诊断概率
:使用所有已编码的诊断来估计诊断概率。由于诊断数量从0到M不等,且无法验证它们之间的独立性。假设每个已编码诊断具有相同的重要性,计算公式为:
[P(D_j|D_1, \cdots, D_M) = \frac{1}{M} \sum_{k = 1}^{M} P(D_j|D_k)]
-
综合四个信息源的诊断概率
:综合四个信息源的诊断概率公式为:
[P(D_j|D_1, \cdots, D_M) = \beta_1 \cdot P(D_j|age, sex, duration\ of\ stay, IGS2) + \beta_2 \cdot P(D_j|UMUF) + \beta_3 \cdot P(D_j|acte_1, \cdots, acte_N) + \beta_4 \cdot P(D_j|D_1, \cdots, D_M)]
其中(\beta_1)、(\beta_2)、(\beta_3)和(\beta_4)取决于每个信息源的个体性能,通过实验评估确定。
算法流程
预测是基于诊断家族(CIM10代码的前3个字符)进行的,编码人员需要从每个建议的诊断家族中选择诊断。算法步骤如下:
1. 显示概率最高的10个诊断家族(概率按照前面所述方法确定)。
2. 编码人员从显示的诊断家族中选择诊断。
3. (如有必要)显示接下来的10个诊断家族(考虑已选择和未选择的诊断及诊断家族)。
4. 编码人员选择当前显示的诊断。
5. 显示接下来的10个诊断家族(考虑已选择和未选择的诊断及诊断家族)。
6. 编码人员选择当前显示的诊断。
以下是算法流程的mermaid流程图:
graph TD;
A[开始] --> B[显示10个最高概率诊断家族];
B --> C[编码人员选择诊断];
C --> D{是否需要更多诊断家族};
D -- 是 --> E[显示接下来10个诊断家族];
E --> F[编码人员选择诊断];
F --> D;
D -- 否 --> G[结束];
通过以上方法和算法,有望在医疗诊断编码中提供更准确和高效的辅助。后续将继续介绍实验结果和讨论。
构建辅助编码的概率参考体系
实验结果与讨论
为了验证该方法的可行性,我们在多个包含1000个RUM的测试数据集上进行了实验。这些数据集是从医生已编码的真实案例中随机抽取的。在实验中,我们假设医生会从提供的代码列表中选择所需的所有代码。这些数据集未经过内部编码质量控制。
实验的目的是证明可以利用RUM中已编码的信息,并为医生编码人员提供一个包含部分或全部所需代码的上下文相关代码/标签列表。
每个数据集都有其自身的特点。我们创建了一个仅包含非分类医疗行为案例的数据集和一个同时包含分类和非分类医疗行为案例的数据集。以下将重点介绍后一个数据集的实验结果。每个RUM包含医疗行为列表、患者年龄、住院时长、性别、IGS2和诊断列表(即我们要查找的内容)。
实验结果以直方图的形式呈现,如下图所示:
每个垂直条被分解为3部分,从顶部开始依次代表:未找到任何诊断的RUM百分比、仅找到部分诊断的RUM百分比以及找到所有诊断的RUM百分比。该图展示了第一次和第三次迭代后的分类率。
| 信息源 | 对应列标题 |
|---|---|
| 源(1)(性别、年龄、住院时长、IGS2) | “quadruplet” |
| 源(3)(医疗行为) | “actes” |
| 源(2)(医疗单元/功能单元) | “umuf” |
| 所有信息源融合 | “tout” |
通过这些结果,我们可以对每个信息源的分类质量进行排序,并推导出部分系数(\beta_i)(与找到所有诊断的RUM百分比成正比)。这些系数的轻微修改对结果影响很小。
评判标准首先是找到所有诊断的RUM百分比,其次是仅找到部分诊断的RUM百分比。具体结果如下:
-
仅考虑(P(D_j|age, sex, duration\ of\ stay, IGS2))、(P(D_j|acte_1, \cdots, acte_N))和(P(D_j|UMUF))时的结果
:
- 我们首先依次评估了三个信息源(性别、年龄、住院时长、IGS2)、医疗行为和患者所在的医疗单元/功能单元。
- 结果表明,最相关的信息是患者所在的医疗单元/功能单元,其次是医疗行为信息,最后是行政数据信息。
- 同时,我们发现随着迭代次数的增加,找到的结果数量也会增加(提高了10%)。
以下是这部分实验结果的对比表格:
| 信息源 | 第一次迭代找到所有诊断的RUM百分比 | 第三次迭代找到所有诊断的RUM百分比 | 提升幅度 |
| — | — | — | — |
| 医疗单元/功能单元(UMUF) | [具体百分比1] | [具体百分比2] | [提升值1] |
| 医疗行为 | [具体百分比3] | [具体百分比4] | [提升值2] |
| 行政数据(年龄、性别等) | [具体百分比5] | [具体百分比6] | [提升值3] |
-
加入(P(D_j|D_1, \cdots, D_M))后的结果
:
- 为了验证已知诊断信息的作用,在第二次和第三次迭代的概率估计中加入了这些信息。诊断信息在第一次和第二次迭代中提供。
- 结果表明,这些已知诊断信息有助于提高找到所有诊断的RUM百分比,提升幅度为3 - 5%。并且,该百分比越高,提升幅度越小。
以下是加入已知诊断信息前后的对比表格:
| 迭代次数 | 未加入已知诊断信息时找到所有诊断的RUM百分比 | 加入已知诊断信息时找到所有诊断的RUM百分比 | 提升幅度 |
| — | — | — | — |
| 第二次迭代 | [具体百分比7] | [具体百分比8] | [提升值4] |
| 第三次迭代 | [具体百分比9] | [具体百分比10] | [提升值5] |
-
综合所有信息源的结果
:
- 主要问题是确定系数(\beta_i)的值。前三个系数的值与找到所有诊断的RUM百分比成正比,第四个系数通过实验调整。我们选择了优化评判标准的值。
- 在第一次迭代中,“tout”结果仅包含前三个信息源;在第三次迭代中,使用了所有信息源。
- 结果显示,无法找到所有的诊断代码,只能为给定情况提供最常见的代码。
结论
本研究开发了一种相对令人满意且易于实现的辅助编码方法。该方法基于概率预测方法的开发,融合了多个信息源的结果,每个信息源都提供了关于待预测诊断的信息。虽然不能提供医生编码人员所需的所有代码,但能为他们提供可信的结果。
然而,尽管结果令人满意,但远非完美。使用存在错误的学习数据集会导致结果不完美,并且无论选择何种学习方法,如果数据集噪声过大,都无法获得理想的结果,这也是该方法的局限性所在。
此外,该方法仅提供最可能被编码的术语,罕见诊断很难在前期被检测到。
下一步工作将在实际环境中验证该方法。目前,研究已通过使用用户界面与实际系统连接的方式启动,以期在实际应用中进一步优化该辅助编码方法,提高医疗诊断编码的准确性和效率。
总结来说,该辅助编码方法在医疗诊断编码领域具有一定的应用潜力,但仍有许多方面需要改进和完善。未来的研究可以针对其局限性进行深入探索,例如优化数据集质量、改进概率估计方法以及提高对罕见诊断的检测能力等。
以下是整个研究过程的总结列表:
1. 提出基于多个信息源的概率辅助编码方法,包括年龄、性别、住院时长、医疗单元、医疗行为和已编码诊断等信息。
2. 详细阐述了条件概率估计和概率融合的方法及公式。
3. 给出了具体的算法流程,帮助编码人员选择诊断代码。
4. 通过实验验证了方法的可行性,分析了不同信息源的重要性和作用。
5. 指出了方法的局限性,并提出了未来的研究方向。
通过以上的研究和实验,我们对构建辅助编码的概率参考体系有了更深入的理解,为医疗诊断编码的优化提供了有价值的参考。
超级会员免费看
1162

被折叠的 条评论
为什么被折叠?



