最近开发的ECG项目
最近参与公司开发了一款读取ECG心电接口程序
原理就是通过心电设备读取患者的心电数据 并生成ECG文件 然后通过ECG客户端程序读取ECG文件 并解析转换成图片 上传至服务器
下边是客户端程序截图 客户端配发给个乡镇诊所 主要负责采集患者的心电数据 并压缩上传服务器 这样异地的医生通过登录心电平台 能够及时的对患者的病情做出诊疗 大致开发的时候是这个设想

医生登录服务端

心电盒设备

心电盒可以读取患者的心电数据 并生成ECG文件
但由于心电盒这种设备磁盘读取非常耗电 所以解析文件都是把文件拷贝到本地磁盘进行解析操作
由于项目是BS的 参考很多项目 ECG多数都是显示都是CS程序中 BS必须转成图片才可以 所以本地程序把ECG文件转换成了GIF图片 和滤波文件(滤波文件只能CS程序查看 这里调用的是ECGVIEW) 并压缩成BYTE[]流 通过WCF的方式
上传到服务端预览

患者的数据也是通过客户端上传过来的


读取心电盒数据的读取和读取U盘数据一样 操作很简单
//读取U盘ECG文件 并序列化为流
protected override void WndProc(ref Message m)
{
try
{
if (m.Msg == WM_DEVICECHANGE)
{
switch (m.WParam.ToInt32())
{
case WM_DEVICECHANGE:
break;
case DBT_DEVICEARRIVAL://U盘插入 bool result = false;
DriveInfo[] s = DriveInfo.GetDrives();
foreach (DriveInfo drive in s)
{
if (drive.DriveType == DriveType.Removable)
{
string path = Path.Combine(drive.Name.ToString(), "CCSDSM.ECG");
if (File.Exists(path))
{
result = true;
break;
}
}
} if (!result)
{
return;
}
if (this.WindowState == FormWindowState.Minimized)
{
this.Visible = true;//弹出MainForm this.WindowState = FormWindowState.Normal;//最大化 } if (!setRepeatOpenForm("frmMain"))
{
_frmBaseInfo = new frmMain();
_frmBaseInfo.Show(dockPanel1);
} if (DialogResult.OK == MessageBox.Show("发现ECG心电数据,是否进行上传?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
{ _frmBaseInfo.btnReadXD.Enabled = true;
object t=null;
EventArgs e=new EventArgs ();
_frmBaseInfo.btnReadXD_Click(t, e);
}
else
{
_frmBaseInfo.btnReadXD.Enabled = false;
} break;
case DBT_CONFIGCHANGECANCELED:
break;
case DBT_CONFIGCHANGED:
break;
case DBT_CUSTOMEVENT:
break;
case DBT_DEVICEQUERYREMOVE:
break;
case DBT_DEVICEQUERYREMOVEFAILED:
break;
case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
break;
case DBT_DEVICEREMOVEPENDING:
break;
case DBT_DEVICETYPESPECIFIC:
break;
case DBT_DEVNODES_CHANGED:
break;
case DBT_QUERYCHANGECONFIG:
break;
case DBT_USERDEFINED:
break;
default:
break;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
base.WndProc(ref m);
}
ecg解析和滤波文件的生成用的是这两个DLL dll应该是用delphi开的 如果有的朋友能给反编译出代码 记得共享一下哈
由于每种心电盒调用的DLL不一样 所以这种DLL不适用其它产品 这也是行业所欠缺的吧 我觉得 要是能统一一下就好了 共享链接
http://files.cnblogs.com/wangnannan/GifDll.rar
http://files.cnblogs.com/wangnannan/FilterFile.rar
最近开发的ECG项目的更多相关文章
- Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录
一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...
- ASP.NET MVC5 网站开发实践(一) - 项目框架
前几天算是开题了,关于怎么做自己想了很多,但毕竟没做过项目既不知道这些想法有无必要,也不知道能不能实现,不过邓爷爷说过"摸着石头过河"吧.这段时间看了一些博主的文章收获很大,特别是 ...
- ASP.NET Core WebAPI 开发-新建WebAPI项目
ASP.NET Core WebAPI 开发-新建WebAPI项目, ASP.NET Core 1.0 RC2 即将发布,我们现在来学习一下 ASP.NET Core WebAPI开发. 网上已经有泄 ...
- ASP.NET MVC5 网站开发实践(一) - 项目框架(转)
前几天算是开题了,关于怎么做自己想了很多,但毕竟没做过项目既不知道这些想法有无必要,也不知道能不能实现,不过邓爷爷说过“摸着石头过河”吧.这段时间看了一些博主的文章收获很大,特别是@kencery,依 ...
- Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目
一.开发背景: 由于老系统已经无法满足实际业务需求,需在现有数据库的甚而上开发新的项目. 二.困难点: 而EF默认情况下是要删除现有数据库表格后重新创建,这是不允许的.当你创建数据库对象时系统会提示“ ...
- VS2013开发Windows服务项目
这篇随笔里,我将介绍如何用VS2013开发Windows服务项目,实现的功能是定时发送电子邮件. 开发环境:VS2013,SQL Server2008,采用C#语言开发 步骤一:创建Windows服务 ...
- 采用apicloud开发移动端项目心得体会
作为第一批吃螃蟹的,来说一说apicloud做移动端项目的一些体会. 刚开始接到项目,需要移动端开发两个项目,公司人员里面没有一个会原生android或者ios开发的,目前能出的技术也就是web,后端 ...
- express框架+jade+bootstrap+mysql开发用户注册登录项目
完整的项目代码(github):https://github.com/suqinhui/express-demo express是基于Node.js平台的web应用开发框架,用express框架开发w ...
- 多人开发的git项目如何保持提交日志为一条直线?
多人开发的git项目如何保持提交日志为一条直线? 一.Git的项目的git常用操作 a)Git clone 项目地址 从远程仓库克隆项目到本地 b)Git pull 从当前分支拉取更新代码 c)Git ...
随机推荐
- php_html转译符号
1.双引号 /" 或者 " 2.单引号 ' > 4. & &
- JAVA基础----java中E,T,?的区别?
http://825635381.iteye.com/blog/2017650 遇到<A>,<B>,<K,V>等,是用到了java中的泛型. 一般使用<T&g ...
- cygwin下载指南(转)
http://blog.chinaunix.net/uid-20178959-id-1731456.html
- 关于DMA和它的仇家
[基础知识]什么叫做DMA?DMA=Direct Memory Access.这是一种通过硬件实现的数据传输机制.简单的说,就是不在CPU的参与下完成数据的传输.[/基础知识]不太明白?我举个简单的例 ...
- 解决iis+php+mysql访问速度慢的方法
IIS7.5网站访问PHP响应慢的原因原因是PHP5.3以上支持IPv6协议,但是大家的服务器未使用IPv6,当访问PHP的时候会连接MySQL的地址为localhost,系统会会先用IPv6连接,但 ...
- Flask源码学习—config配置管理
自己用Flask做了一个博客(www.hbnnlove.sinaapp.com),之前苦于没有对源码解析的文档,只能自己硬着头皮看.现在我把我自己学习Flask源码的收获写出来,也希望能给后续要学习F ...
- hdu 1231, dp ,maximum consecutive sum of integers, find the boundaries, possibly all negative, C++ 分类: hdoj 2015-07-12 03:24 87人阅读 评论(0) 收藏
the algorithm of three version below is essentially the same, namely, Kadane's algorithm, which is o ...
- jQuery--选择器总结
传统选择器:$('#test') id选择器 $('.test') class选择器$('p') 标签选择器$('*') 通配符选择器$('div,span,.myclass') 多个元素选择器层次选 ...
- vps推荐之DigitalOcean
作为一个爱折腾的网站”程序猿“,我用过多家vps,由于一般支持paypal 月付, 所以基本上都会用两三个月,不行就换另一家. 1.Yard VPS 台湾人开的,有中文支持,貌似也支持支付宝付款,偶尔 ...
- 1、C#基础:变量、运算符、分支、循环、枚举、数组、方法 <转>
转自:海盗船长 链接:http://www.cnblogs.com/baidawei/p/4701504.html#3241882 C#..Net以及IDE简介 一.什么是.Net? .Net指 .N ...