临床路径


1、临床路径的目的是用来对一些病情简单的患者规范治疗过程,防止过度诊疗;路径的功能点主要有病种路径维护和工作台展示两个方面;
维护相关字典表
select from config.carepathway;—路径字典表
select from CONFIG.carepathwayelement;—路径各个活动明细
select from CONFIG.carepathwaypackage;—路径二进制包
select from CONFIG.carepathwayoperate;—操作记录
select from CONFIG.carepathwayorganization ;—适用科室
select from CONFIG.carepathwaycustomdesc;—自定义描述
select from CONFIG.carepathwayitemmatch;—匹配项目
—分类维护
SELECT FROM CONFIG.carepathwaysubstanceassort;—分类定义
select from CONFIG.carepathwaysubstanceassortitem;—分类组明细
SELECT FROM CONFIG.carepathwaysubstanceassortorg; —分类适用科室
维护角度看,首先需要把路径各个细节定义出来
路径定义
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Activities\CarePathway.cs
阶段定义
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Activities\CareStage.cs
活动基类
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Activities\CareActivityBase.cs
CareActivityBase 基类 InteractionActivity含执行信息的基类
ActivityGroup 组合,不含实际意义,用于对活动分组,用于医嘱中长临嘱分组,组合如果标记了必选,则组合中所有必选项都完成才标记完成
CareActivity 诊疗活动(不关联其他信息的文本活动,直接执行后标记完成)
CareActivity
设计模式用到的相关代码
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Presentation\Design.…..
诊疗标准定义(进入、排除、完成、退出标准)
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Activities\CareCriteria.cs
诊疗标准中手术诊断疾病ICD码选择(SurgeryCriteriaValueEditor,DiagnoseCriteriaValueEditor)
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Presentation\Design\Internals\TextCollectionEditor.xaml.cs
子类项目,所有CareActivity
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement\DomainModel\CarePathway\CareActivityModel.cs
临床路径维护界面相关代码
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Maintenance
目录面板
e:\vsts\medicalhealthsy\clinicalmanagement\clinicalmanagement.pathway\maintenance\carepathwaycatalogpane.cs
CarePathwayDesignerPane临床路径维护面板
e:\vsts\medicalhealthsy\clinicalmanagement\clinicalmanagement.pathway\maintenance\carepathwaydesignerpane.cs
子类项目维护
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Maintenance\ActivityItemModelGridWrapper.cs
子项目表格设置
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Maintenance\CarePathwayMgntDefaultResurce.xaml
属性面板
E:\VSTS\MedicalHealthSY\Core\Core.Activities\Presentation\Design\PropertyPane.cs ActivityPropertyPane
工具箱面板
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Maintenance\ToolboxPane.cs
适用科室面板
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Maintenance\CpOrganizationPresenter.cs
临床路径匹配项目维护,意思是同种药品可替换,比如5%的葡萄糖可替换10%的
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Maintenance\CarePathwayItemMatchMgntPresenter.cs
保存模板相关字典数据中间层
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.ServiceLibrary\CarePathway\CarePathwaySvc.cs


—业务表
工作台医生和护士对临床路径的所有操作都会归到这几个表中,当需要查因或者临床处理数据时也只需要调整这几个表
select carepathid as 路径Id,pathwaystatus as 路径状态,nurseplanid as 护理路径Id,nurseplanstatus as 护理路径状态 from PRPA.medicalrecord;
select from RCCP.carepath;—患者路径表
SELECT FROM RCCP.carepathstage;—患者路径中阶段表
SELECT FROM RCCP.carepathexecute;—执行记录表
SELECT FROM RCCP.carepathoperate;—操作日志
SELECT FROM RCCP.carepathvariation;—变异记录
SELECT FROM RCCP.carepathjournal;—
临床路径相关参数
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement\ClinicalManagement\CarePathwayConfig.cs
运行是代码基本都在下面文件夹中,列出几个重要的E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes
运行时临床路径主要业务代码处理
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\RuntimeContext.cs
运行是路径主视图
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\CarePathwayView.xaml
阶段视图
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\CareStageView.xaml
运行时样式控制
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\RuntimeResources.xaml
最底层活动视图,执行相关都在此展开
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\CareActivityHost.xaml
执行相关按钮控制(计算执行,延后执行,复制,新建等按钮命令是否显示)
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\RuntimeCommand.cs
点开活动后的执行控制(RuntimeCommand的下一步)
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\ActivityExecutor.cs
执行时使用相应的OnExecute实现直接生成执行记录,或者发布相应事件新建文书或者医嘱记录
路径转移相关代码在此文件夹下 进入 迁移 退出 完成相关E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms
进入路径
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\CarePathEnterWizard.cs
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\CarePathwayEnter.xaml
进入阶段
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\EnterStage.xaml
退出阶段
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\ExitStage.xaml
完成路径
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\CompletePath.xaml
退出路径,直接从某阶段退出,不算完成路径,也不算进入路径
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\ExitPath.xaml
业务数据保存中间层
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.ServiceLibrary\CarePathway\CarePathSvc.cs
其中bool DoAutoLinkExecuteRecords(ServerContext sc, LinkRecordParameter p)自动计算关联了项目的活动的执行结果
路径活动执行状态计算相关
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.ServiceLibrary\CarePathway\CarePathHelper.cs
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Runtimes\RuntimeContext.cs 中临床路径运行简述
1、工作台打开患者后根据患者的诊断自动计算是否有符合进入的路径,如果有弹出提示框让用户选择,如果已经进入路径则判断是否满足迁移条件,满足后自动迁移到下一阶段,不满足则不处理Validate() DoValidate();AutoTransfer(CareStage stage)
2、进入路径后Reset(ICarePath cp) ,加载出路径模板ICarePathway LoadDefinitions(),加载出执行记录LoadExecuteRecords();,根据执行记录标记活动的状态CarePathwayHelper.ResetActivityIcon(ea); CarePathwayHelper.FormatStrokes(item.Strokes, ActivityExecuteResult.None),对延后执行的项目拷贝一次副本,留在实际执行的阶段展示GetDelayedItems(CareStage stage)
3、执行活动,页面上方执行按钮ExecActivities(),一次可执行所有勾选项,单个活动弹窗执行PopupCascade(CareActivityHost cav),其中对未关联其他信息的直接生成执行记录,否则发布相关事件,在关联的信息执行后在中间层DoAutoLinkExecuteRecords自动标记执行
4、迁移阶段 根据TransformPayload上下文计算迁移条件等弹出相关界面进行下一步操作
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.Pathway\Transforms\TransformStage.xaml
5、完成路径 在所有阶段完成退出后,医生和护士分别标记路径完成则进入完成状态,路径全部完成
e:\vsts\medicalhealthsy\clinicalmanagement\clinicalmanagement.pathway\transforms\completepath.xaml
常见问题
1、路径中的每个活动都应该在carepathwayelement中有一条记录,同时ElementKey应该在同一个路径中是唯一的,但并不是所有信息都有单独字段,没有字段的在package中保存,护理路径由于路径模板维护有一批错误数据,发现ElementKey不唯一(复制错误导致),或者没有响应的记录,当发现时应该修改模板,模板新建如果需要复用之前的应使用新建按钮勾选其他路径,导入导出应该是多数据库时使用,不用用了复制
牙周检查记录表
业务表
select * from OBS.toothrecord;
接口定义
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement\DomainModel\Tooth\IPeriodontalRecord.cs
牙周检查分为文档展示和录入两个方面
展示
实现代码在这个文件夹下面E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord
首先展示界面类似体温单和产程图,将数据通过ToothItemStroke、ToothBackgroundStroke数字墨迹将内容画到InkPresenter后展示到Block中
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothChart.cs
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothChartDoc.cs
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothChartPage.cs
数据录入界面
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\PeriodontalRecordPresenter.cs
分别对应不同牙位分区
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothArea123Host.xaml
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothArea4Host.xaml
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothArea6Host.xaml
E:\VSTS\MedicalHealthSY\ClinicalManagement\ClinicalManagement.EMR\ToothRecord\ToothAreaDefaultHost.xaml
撤销
通过ToothRecordUndoUnit和ToothRecordLostUndoUnit实现撤销功能
e:\vsts\medicalhealthsy\clinicalmanagement\clinicalmanagement.emr\toothrecord\periodontalrecordhelper.cs
