标准化问诊训练软件“雅问”的探索
问诊是医师通过对患者或相关人员的系统询问获取病史资料,经过分析综合而做出临床判断的一种诊法,是临床诊断学的基本组成部分[1]。能否获得一个完整准确的病史,对于医生能否避免漏诊并做出正确诊断都起着决定性的作用。实际上,有很多疾病通过详尽的问诊,就已经可以基本确定诊断[2]。然而,不管在考试还是实际工作中,医学生和低级医生甚至一些基层的高年资医生整体的问诊水平都不尽如人意。其中,问诊学习时间严重不足[3]、问诊实践空间狭窄[4]和有效的问诊训练手段匮乏为主要的3个原因。为丰富问诊训练手段,有些院校鼓励学生在业余时间观看问诊视频及自行训
练作为弥补,但因缺乏监督和针对性的指导和循序渐进的训练,学生无所适从甚至干脆放弃训练,达不到应有的效果[5-6]。一些院校培训了标准化病人(standard patient, SP)来协助教学,但是合格的SP同样非常稀缺且费用高昂,无法广泛开展[7-8]。为此利用信息技术开发出一套能模拟问诊的软件,建立起可供积累、扩充、修订的“标准病例库”,对于缓解临床医疗实际情景与教学计划需要之间的客观矛盾和实际困难是非常有现实意义的[9]。
1 软件开发需求调查
为了明确医学生在问诊过程中的重难点、易错易漏点以及对于问诊软件具体需求,本团队首先通过电子问卷的形式,对医学院临床专业的学生开展了关于问诊的调查。由于电子问卷采取了匿名、线上的形式,可以很好的排除其他因素的干扰,因此在一定程度上能够反映用户当前阶段的真实需求。在41份有效问卷中,大二占比30%,大三占比27%,大四占比30%,五年及以上占比13%。调查数据显示,在学习过程中最容易遗忘或混淆的前3名是主要症状特点、病因与诱因和伴随症状。这与教学实践是一致的,因此在设计病例资料时,对这些项目需要赋予更多的权重。而且75%的同学认为使用软件有很大程度或者一定的帮助,还有22%的同学愿意尝试使用软件提升问诊技能(表1,图1)。
表1 问诊过程中难点调查结果Table 1 Results of survey of difficulty in inquiry问诊内容你认为哪些内容在诊断大部分疾病有更为重要的参考值?哪些内容是你容易遗忘或混淆?一般项目87起病情况与患病时间288主要症状特点4112病因与诱因3316伴随症状3018诊治经过1510一般情况129既往史218个人史16婚育史09月经史111家族史75结束总结16
图1 使用问诊软件的意愿Fig 1 Willingness to use inquiry training software
2 软件开发思路
由于绝大多数问诊都是围绕主要症状,并按照现病史、既往史、个人史、婚育史和家族史的病史框架和采集顺序完成的,整个问诊的内容和过程是可以在大量病例基础上加以分类提炼,从而形成标准化模板,这为问诊软件的实现提供了一定的理论依据。本软件以选择题+“一问一答”的设计思路进行研发,因为选择题的形式可以使开发人员明确问诊的顺序逻辑,而限制性的选择形式可以让刚接触问诊的医学生避免思维过于发散而忽略重点,使其更专注于问诊的全面与逻辑顺序的正确。
3 软件简介
通过Microsoft Visual Studio 2017开发的以选择一般项目包括姓名、性别、年龄等,一般情况包括体重、大小便、精神状态等.
题形式进行训练的软件具有以下的几个模块:数据模块、选择模块、评价模块,图2将详细说明使用步骤,图3和图4分别为问诊对话和评价界面。
图2 软件使用流程图Fig 2 Flow chart of software
图3 问诊对话界面Fig 3 Window of inquiry dialog
图4 评价界面Fig 4 Window of evaluation
3.1 数据模块
数据模块以文件的形式存储着问诊问题与对应的回复,问诊问题与对应的回复由人工处理而得。从真实的病例中可以提取出来症状,病史等各种有用数据,利用医生或医学生的专业知识,将这些数据组合成一系列的患者回复,然后反推出医生的问诊问题,再根据问诊的规则,对这些问诊问题及其回复加以筛选和附加顺序则得到了一个符合规范的问诊案例。将这些案例通过一个由Python写的文本处理脚本,则案例文本实现了一定的结构化后将其存储到对应的存储数据文件中。数据模块中拥有一定的接口方便其他的模块调用数据。
3.2 选择模块
选择模块是该软件的核心,该模块中蕴含着主要的逻辑算法。选择模块根据使用者想训练的类型将数据模块中存储的数据调用出来,其中的算法利用调取的数据为每次选择提供4个选项并判定每次选择是否错误。每次选择后都会给予一个对应的回复。软件中有两种使用模式,分别为Training和Test,其中Test模式的逻辑算法较为复杂,为了使该逻辑算法具有一定的数理依据,本团队建立了一个数学模型来表示其中的算法。