最近开发的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 ...
随机推荐
- Task
.net 4.0为我们带来了TPL(Task Parallel Library),其中Task相较ThreadPool线程池使用更简单,而且支持线程的取消,完成和失败通知等交互性操作,而这些是Thre ...
- Python从零开始(1)新手常问
如何清除屏幕 如果是在Windows命令行中,输入 import os os.system('cls') 在IDEL中没有找到完美的清除屏幕的方法 网上提到用新建窗口的方法 如何退出Python提示符 ...
- [CodeForces - 712D]Memory and Scores (DP 或者 生成函数)
题目大意: 两个人玩取数游戏,第一个人分数一开始是a,第二个分数一开始是b,接下来t轮,每轮两人都选择一个[-k,k]范围内的整数,加到自己的分数里,求有多少种情况使得t轮结束后a的分数比b高. ( ...
- Android中数据的传递以及对象序列化
Android中当两个Activity需要有信息交互的时候,可以使用Intent.具体来说: 发送单一类型数据: 发送方: String data = "Hello SecondActivi ...
- error MSB6006: “CL.exe”已退出,代码为X —— 的解决办法
错误 : error MSB6006: “CL.exe”已退出,代码为X . 解决方法: 1.有少可能是执行目录引起的. 参考 http://bbs.csdn.net/topics/370064083 ...
- Eclipse中的一些快捷键的使用
Eclipse是一款强大的编程工具,在使用的过程中,若能够有效的使用其快捷键,效率会得到很大的提升,下面是一些常用的eclipse快捷键,可谓是键键精彩. 1.成单词:Alt+/ 2 重构之重命名:S ...
- RBAC类使用
1.实现首先我们先简单理解一下RBAC,顾名思义,RBAC是基于角色的权限设计.既然根据角色去分权限,那么我们就得有角色表,权限表,角色对应权限表,这是最基本的.角色是什么,就是你的身份,你的职位,也 ...
- ppp数据帧的格式
参考http://blog.chinaunix.net/uid-11639156-id-2379044.html
- 常用的CSS定位,XPath定位和JPath定位
CSS定位 举例 描述 div#menu id为menu的div元素 div.action-btn.ok-btn class为action-btn和ok-btn的div元素 table#emailLi ...
- Iframe 知识点总结
JS刷新框架外页面七种实现代码: 1. window.parent.frames[1].location.reload(); 2. window.parent.frames.bottom.locati ...