写在miforum上的,转帖过来,大家共勉!

半年前,重新回到了医疗信息行业,接受的第一个任务就是电子病历系统开发,我的主要职责是电子病历系统的总体设计和电子病历编辑控件的代码编写。经过3个多月的研发、调试,总算有一个基本成型的产品能够在一些医院开始试用,就在今天都还在陆陆续续地修改BUG。

回顾整个研发过程和实施过程,一些心得与大家共享,共同推进中国医疗信息化发展。有不同见解地方,欢迎讨论。

1、目标的确定

电子病历系统开发,目标确实是非常重要的,为确定最终的需求,我花费了大约3周的时间查阅资料和与人探讨。在此要感谢陈联忠老师,在咨询他时给予了一些支持。由于离开这个行业太久,所以查阅资料重新熟悉花费了很多的时间,最终确定了需求目标。

不过在产品上线后,还是发现需求目标与实际需求的偏离。目前无论是网上还是会议、还是卫生部标准,大篇幅地都在讨论电子病历的结构化问题,但目前医院医生们的实际需要是什么?是哪些医生在书写病历?不知道有几位能够准确的回答这个问题。

15年前我也是一个医生,写大病历的数量没有30份也有20份吧,入院病历应该在200份以上,那时的病历书写全靠钢笔和纸张,真希望有个能复写的东东来解决大篇幅重复书写的问题。大家都知道病历是医疗过程的记录,但是几乎所有的人,包括很多医生自己都忽略了,病历书写还是训练临床低年资医生严谨思维方式的重要手段。老一辈医学家张孝骞老师曾经说过“写大病历的阶段至为重要,要通过它形成一种终生不改的习惯,即在诊务繁忙之中,也能如条件反射般运用,在诊治病人过程中不遗漏任何要点。这种训练是短暂的,稍纵即逝,一旦落课,就无法再补,切勿等闲视之”。还有谁记得,上学时老师们强调的“查你所写,写你所查”的病历书写要点。

在此呼吁和提醒各位,对电子病历的认识,不能仅仅停留在记录上,还应意识到书写病历有训练低年资医生的作用。所以目前的电子病历应充分重视书写便捷性和书写过程中对临床事务的训练作用,其次才是结构化存储和查询。

这也是后来通过实践认识到这个问题后,我们的电子病历系统在初步解决结构化问题后,90%以上的精力都放在了如何提高书写便捷性和引导式输入上。关于引导式输入的问题我会在另外的论题上探讨。

2、工具的选择

软件研发行业都知道,最先进的不一定是最适用的。在开发电子病历系统时,选择何种开发工具,确实有一个犹豫过程。公司产品是用PB开发的,说句老实话,我一直对PB和VB这两种解释性语言不太感兴趣,10多年来一直用C/C++和Pascal,三层结构和面向对象设计的优劣都很清楚。

PB在两层数据库开发速度上有绝对优势,但运算性能和复杂算法、图形操作上显得很弱。再加上时间紧迫,与领导协商后,决定与数据库系统相关的还是用PB完成,最核心的电子病历编辑控件用我熟悉的Delphi开发,做成ActiveX控件。另外Delphi丰富的第三方控件库,基本上都是开源的,即便买也很便宜,这也是一个重要原因。从目前结果来看,效果还是不错。所以要想快速开发出产品,还必须选择自己熟悉的工具,最好在已有的控件基础上改,否则从最底层做起,那得猴年马月去了。至于为什么不选择.Net,呵呵,个人喜好。

3、设计

解决了电子病历控件问题,其他设计基本上不算有难度,毕竟搞了10多年数据库,再复杂的业务都搞定过。不过在总体设计时,应充分考虑将来的扩展,卫生部《基于健康档案的区域卫生信息平台建设指南(试行)》和《电子病历基本架构与数据标准征求意见稿》要多看几遍,毕竟代表了一个趋势。在设计时一定要考虑到未来发展需要,电子病历控件不能仅仅满足书写病历,还必须支持健康档案书写的需要,例如表格、图片、表达式的支持,另外对RadioButton、CheckBox、Edit、ComboBox等控件的支持也是需要的,否则以后表格书写很困难的。

不同开发工具之间的兼容性问题也要在代码开始前解决,说句实话,PB与Delphi的兼容性有些让人头痛,不过好在都解决了。花了1个半月写代码,又花了半个月调试,三个控件,每个近150个函数和事件,工作量还是很大的。不过干得很愉快,成就感强烈,哈哈!

4、实施

实施的一句话“沟通比技术重要”,与医生进行写病历沟通,《病历书写规范》是每个实施人员必须熟读的东西,不理解,背呀!我们当初医学生就是这样训练出来的,想要一口吃成胖子,只有天才能做到。想很好理解病历书写过程中的需要,简单,跟着医生手写5份大病历,10份入院病历,就能有感觉了。不愿写?对不起,我帮不了你了。

5、预计与现实的差距

从书写角度讲,通用性书写器Word是电子病历非常不错的选择,可惜MS太小气了,开放的接口不够理想,如果能让我获取到操作者书写过程中的动作,比如按下哪个键了,光标位置在哪里,鼠标移动到哪个文字上了等等,我一定选择Word了,可惜...金山WPS也许是一个不错选择,不知道他们是否有这方面的意愿,由于开发时间紧迫而没有联系,一般来讲在中国搞合作不容易啊!

6.感叹

作为软件开发者,最高兴的事其实是自己的产品能够为使用者接受和推崇。10多年来为这个目标走了很久,可惜一直不理想,搞过的行业众多,包括社保、住房公积金、产权产籍管理、住房保障、教育考试等,甚至最后还在工业控制上尝试了1年多,最终还是走回了自己熟悉的医疗专业,不过目前看来是走对了,感谢现任公司领导,给了这样的机会。

从医生改行搞软件,从程序员做起,一步步走过来,其中的辛苦不是常人能够理解的,好在喜欢。回顾10多年,还是要感谢在医学院的老师们,是他们当年的严格要求,造就了现在的严谨态度和对事业的责任心。从事临床工作的数年,吃过各种苦,才能在当程序员后再苦再累也不感觉苦累。

目前在公司继续领导和开发合理用药、临床决策、PACS/LIS等项目,公司的小伙子们是我见过的最棒的,心情也很愉快,很愿意把自己的经验和知识传授给他们。

如果大家有兴趣和疑问,也可以和我联系,QQ:453897806,最好是发邮件,我不常上QQ。涉及到公司机密的,就请不要问了哈,我也不会回答的。呵呵!

python电子病历交接班系统_电子病历系统开发经验共享,大家共勉!相关推荐

  1. 计算机专业考研电路原理,2019电子信息工程考研方向_电路与系统专业解读

    2019考研打算报考电子信息工程考研的考生你对本专业了解么?电子信息工程考研有12大方向,我们首先要清楚地了解每一个专业方向的学科概况.专业排名.培养目标.研究方向等,以此对比做出选择.下面介绍电路与 ...

  2. python课程的中期报告_电子课程设计中期报告

    电子线路课程设计中期报告 电信工一班 王绪泉 200900121181 1. 设计题目 设计一个数字显示的电子温度计,要求包含模数转换模块,可数字显示,可测定温 度范围在 0 到 100 摄氏度之间, ...

  3. 电子信息工程专业概论_电子信息工程专业介绍

    一.专业介绍及办学特色 电子信息工程专业为湖南省重点学科,本.硕.博学位点齐全,设有电子科学与技术一级学科博士后流动站.2016年在国内首批通过国际工程教育专业认证,遵循"以学生为中心,以产 ...

  4. 电子签章怎么操作_电子签章合同是否有效

    电子签章怎么操作 下面通俗地解释下电子签章怎么操作. 用户将合同文件上传到法大大平台,或者通过合同模板生成合同文件后,系统会自动生成一份PDF文件.这个时候,用户就可以使用电子签章进行签署了. 当用户 ...

  5. java电子面单开发_电子面单 - 无需录单提供快递发货,接口返回html快递模板及单号 – 基于ThinkPHP和Bootstrap的极速后台开发框架...

    使用之前先登录/注册快递鸟http://www.kdniao.com/login 拿到快递鸟用户id和key在配置填上. 调用电子面单示例try { /* * 电子面单构建 * @param $exp ...

  6. 外网访问arm嵌入式linux系统_嵌入式Linux系统移植的四大步骤

    最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命 ...

  7. 快递包裹自动化分拣系统_包裹识别系统的类型

    快递包裹自动化分拣系统 包裹识别码的类型 (Types of Parcel identifiers) There are several classes or parcel identificatio ...

  8. Java景区票务系统_景区票务系统的5个优点

    首先,良好的实时性能. 景区票务系统可以实时准确判断门票的合法性,查询统计门票的数量.销量.种类.时间和客流量,打印日报.周报.月报.季报和年报,便于审核和科学决策管理.同时,底层检票处理技术的采用, ...

  9. java在线书城系统_二手书城系统 本设计为基于JAVA的网上书店系统 - 下载 - 搜珍网...

    压缩包 : e3e5162e046943e353d52817670.zip 列表 二手书城系统/ 二手书城系统/book_system/ 二手书城系统/book_system/book/ 二手书城系统 ...

最新文章

  1. 机械自动化专业转 PLC 还是单片机,路会更好走一些?
  2. jstorm mysql_zookeeper,kafka,jstorm,memcached,mysql流式数据处理平台部署
  3. docker log 文件 清理
  4. 使用 保存文件_使用SaveFileDialog调用保存文件对话框
  5. oracle9i查等待事件,Oracle9i中的一个特殊等待事件
  6. 5分钟速成C++14多线程编程
  7. c++二进制转十进制_进制转换:二进制、八进制、十进制、十六进制相互转换
  8. java判断用户是否在某一个区域登录_单点登录实现原理
  9. 转载:Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
  10. 内存非延续分派治理方法
  11. 架构师必备!java架构师资格证书
  12. python词云图生成简单实用
  13. 深度学习-Pytorch:Pytorch 创建CNN神经网络模型【ResNet模型】
  14. ERROR! MySQL is not running, but PID file exists
  15. 共享磁盘到远程服务器上,远程桌面链接怎么共享本地磁盘,你值得一看的技巧...
  16. iOS解决“The ‘Pods-XXX‘ target has transitive dependencies that include statically linked binaries”报错
  17. ensp路由器注册_使用ensp进行简单的路由器互连实验
  18. 加薪引发的难题 穆穆-movno1
  19. 常用正则 -- 正则表达式
  20. 基于sqlite的android数据库编程,Android编程之SQLite数据库操作方法详解

热门文章

  1. ASP.NET入门篇【项目实战】打造一个自己的相册(二)登录模块
  2. 强化学习泛化性 综述论文阅读 A SURVEY OF GENERALISATION IN DEEP REINFORCEMENT LEARNING
  3. 二段式FPGA的状态机
  4. 中国涡轮螺旋桨飞机螺旋桨系统行业市场供需与战略研究报告
  5. 怎样改证件照的背景颜色?两种方法教你换背景色
  6. vivado报错:USF-XSim-62的常见解决办法
  7. hdu1896 Stones
  8. 鲁大师3月新机性能/流畅榜:骁龙8对决天玑9000,这款手机拿下两个冠军
  9. c语言 汉诺塔游戏下载,使用C语言解决益智游戏——“汉诺塔”
  10. adb 命令之appt