090613 BPyUg Py+Delphi

14
分分分分分Python+delphi 分分分分分分分分分分分分 分分 2009.6

description

大庆油田总医院核磁共振室 张迪

Transcript of 090613 BPyUg Py+Delphi

Page 1: 090613 BPyUg Py+Delphi

分诊叫号系统

Python+delphi大庆油田总医院核磁共振室

张迪2009.6

Page 2: 090613 BPyUg Py+Delphi

Why?•改进原有流程•简化医护日常工作•减少工作出错的几率

•医疗是个严谨的工作•每天从早到晚的重复工作• HIS 和 RIS 人工干预

Page 3: 090613 BPyUg Py+Delphi

原工作流程信息来源:• 门诊患者→挂号就诊→ HIS 系统• 住院患者→住院部→ HIS 系统

我们科的工作:• 影像科室登记生成检查号• 手写片袋、申请单的记录备份• 护士人工叫号• 医生手工输入检查号,姓名等信息给检查设备

HIS 和 RIS两套系统中间的工作人工完成

Page 4: 090613 BPyUg Py+Delphi
Page 5: 090613 BPyUg Py+Delphi

原过程存在的问题• MRI 2 台 70 人 / 天 •人工叫号

枯燥、疲劳语气等引起的医患纠纷•手工录入信息出错几率

错误输入引起的一系列问题•每项检查五次审核过程

Page 6: 090613 BPyUg Py+Delphi

改进过程•从 HIS 系统提取患者信息打印不干胶贴•程序生成检查设备所需要的参数• TTS 语音叫号•叫号同时分诊,发送患者信息给检查设备•空闲时 TTS 播放检查注意事项•统计

Page 7: 090613 BPyUg Py+Delphi

程序设计客户端• Hook 在登记时从 HIS 系统取出患者信息传给

python 写的服务端• 检查设备运行的客户端

服务端• 服务端接受数据做处理(生成拼音码、首字母检

索、扫描参数等)入库• 服务端处理 TTS• 服务端分发参数给检查设备

Page 8: 090613 BPyUg Py+Delphi

hook

• Delphi 写的全局 hookGetForegroundWindow 还是 Findwindow

如果一个 Dll 里有 hook 并且再调用 socket 那么会被大部分杀毒软件和谐WM_COPYDATA 将取到的数据传给调用 dll 的 exe 在通过 tcp 发送给服务端。

Page 9: 090613 BPyUg Py+Delphi

python 服务端•接收数据处理入库

编码, ch2pr , webpy , twisted• PyTTS 合成语音

( speakfromwave 这个 delphi 没有)

• telnet 分发给检查设备(写临时文件,格式?)

•客户端数据列表•统计信息( flex+json )

•打印(调用 delphi 写的命令行程序)

Page 10: 090613 BPyUg Py+Delphi

客户端样式

Page 11: 090613 BPyUg Py+Delphi

Flex+json 的统计图

Page 12: 090613 BPyUg Py+Delphi

Flex+json 的统计图

Page 13: 090613 BPyUg Py+Delphi

源代码

• http://code.google.com/p/meduline/hg clone https://meduline.googlecode.com/hg/ meduline

Page 14: 090613 BPyUg Py+Delphi

谢谢Thanks