提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:龚雪|2015-12-08 11:07:09.000|阅读 476 次
概述:LEADTOOLS Medical Imaging SDK包含在应用程序中添加 HL7功能所需的一切。本文将对HL7进行简单介绍。并展示如何通过LEADTOOL产品将HL7集成到医学应用程序。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Health Level Seven (HL7)信息是一个灵活的结构化电子健康信息交换标准,受到了广泛的欢迎和接受。HL7可以启用标准化信息和图像系统的通信和互操作性,如电子健康记录系统(EHR)、医院信息系统(HIS)、放射信息系统(RIS)、实验室信息系统(LIS)和图像存档及通信系统(PACS),以及任何用于计费和病人跟踪功能的个人实践管理或前台应用程序。
LEADTOOLS Medical Imaging SDK包含在应用程序中添加 Health Level Seven 功能所需的一切。
一般情况下,有如此多优点的标准肯定有一个陡峭的学习曲线。尽管完全不同的应用程序现在可以通信,但是开发者必须实现控制传入和传出消息的接口。LEADTOOLS HL7 SDK简化了复杂HL7标准到任何医学应用程序的集成。此外,如果你需要建立一个支持HL7消息的DICOM/PACS解决方案,LEADTOOLS提供了多个预设接口帮助你更新病人和模态调度(MWL/MPPS)。LEADTOOLS拥有如此全面的医学成像技术,开发者使用它可以快速创建功能完整且兼容HL7的PACS。
LEADTOOLS HL7的核心功能是创建和解析原始HL7消息的能力。这些基于文本的消息是代码、值和分隔符的集合,如(|)和(^)。共有100多种消息类型,每个都是行和预期竖线值的组合。例如,以下是确认病人的一个基本HL7消息,同时病人的ID、名字和性别都存储在PID行中。
MSH|^~\&|||||201505210936||ADT^A01|6386af5b-a9bc-478c-9f9d-847a97c3c0c3||2.6||||||||||||| SFT|||||| UAC|| EVN||||||| PID||123456|||Doe^John|||M||||||||||||||||||||||||||||||| PD1|||||||||||||||||||||| ARV|||||| ROL||||||||||||| NK1||||||||||||||||||||||||||||||||||||||| PV1|||||||||||||||||||||||||||||||||||||||||||||||||||| PV2|||||||||||||||||||||||||||||||||||||||||||||||||| ARV|||||| ROL||||||||||||| DB1|||||||| OBX||||||||||||||||||||||||| AL1|||||| DG1|||||||||||||||||||||||||| DRG||||||||||||||||||||||||||||||||| PR1|||||||||||||||||||||| ROL||||||||||||| GT1||||||||||||||||||||||||||||||||||||||||||||||||||||||||| IN1||||||||||||||||||||||||||||||||||||||||||||||||||||| IN2|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| IN3||||||||||||||||||||||||| ROL||||||||||||| ACC||||||||||| UB1||||||||||||||||||||||| UB2||||||||||||||||| PDA|||||||||
当然还有很多信息需要填写,例如病人的联系信息、就诊的医生、症状报告等。你可能会猜到,这或许会带来一些混淆,特别是多个HL7版本和子版本之间的不同。
LEADTOOLS使用Leadtools.Medical.HL7命名空间极大简化了此类消息的创建。它的类和枚举为开发者提供了一个创建和解析HL7消息的简单框架。你不需要关心竖线的的个数或来回查看不同的规范,以确保没有因为少一个字符而弄错病人的姓名和出生年月。LEADTOOLS包括了现在最流行的HL7版本 (2.6, 2.5.1, 2.3.1)中每个消息类型的数据模型,枚举它们能以更可读的方式生成消息。以下的代码创建了一个ADT_A01消息,用于确认病人、填写一些基本的病人身份信息。
// 创建并将信息投入一个模型,同时创建默认字段填充 ADT_A01 msg = (ADT_A01)Leadtools.Medical.HL7.V2x.Models.MessageFactory.New("ADT_A01", "V26"); Leadtools.Medical.HL7.V2x.Models.MessageConstructor.CreateSegments(msg); // 设置header信息 msg.MSH.Sending_Application.Value = "LTHL7Demo"; msg.MSH.Sending_Facility.Value = "LEADTOOLS"; msg.MSH.Date_Time_of_Message.Value = MessageConstructor.CurTime(); msg.MSH.Message_Type.MessageCode.Value = "ADT"; msg.MSH.Message_Type.TriggerEvent.Value = "A01"; msg.MSH.Message_Control_ID.Value = UniqueId.New; msg.MSH.Processing_ID.Value = "1"; msg.MSH.Version_ID.VersionID.Value = "2.6"; // 设置病人信息 msg.PID.Patient_ID.IDNumber.Value = PatientId; msg.PID.Patient_Name[0].FamilyName.Value = PatientLastName; msg.PID.Patient_Name[0].GivenName.Value = PatientFirstName;
当接收信息时,LEADTOOLS将原始的文本解析为正确的数据模型。可以显示或映射到应用程序的合适的UI元素上。如下所示,只需几行代码就可以将一个竖线信息解析为一个 IHL7MessageItem,在一个树状图中可以枚举和表示它,就像LEADTOOLS HL7消息示例一样。
PipeMessageConverter pmc = new PipeMessageConverter(); MessageStructureConverter msc = new MessageStructureConverter(); MessageStructure ms = pmc.PipeMessageToMessageStructure(strMessage); IHL7MessageItem msg = msc.MessageStructureToMessage(ms, new MessageStructureConverter.Options() { Parse_RepeatableParentGroupFirst = true, Forgive_IncompleteMessage = true }).Message;
除了简化EHR、HIS、RIS等开发的HL7接口,LEADTOOLS还支持PACS解决方案中HL7消息的接收。这个综合的PACS框架和DIOCM存储服务提供了高级类和OEM-ready组件,开发者能以很少的工作量完成PACS开发。
正如许多不同的医学应用程序越来越需要HL7一样,PACS在医院或医疗实践中作为一个独立的个体被需要,用来存储DICOM图像。然而,互操作性已经改变了整体的结构,PACS加入,这样它就能和管理病人信息和账单的前台应用程序交互。例如,一个病人多年不会去见整形专家,但是现在需要一个X-射线或MRI。上次访问至今,他们可能结婚或搬走了。前台的病人确认应用程序可以将HL7消息发送给网络中的每一个系统,包括PACS,这样现在的医生就可以查找和查看病人若干年前的就诊记录。
LEADTOOLS DICOM存储服务器包含了一个病人更新器插件,可以通过监听其他应用程序发送的HL7消息处理常见场景。一旦接收到消息,就会解析值,并将它提交到PACS图像存储中。
public override void OnHl7Message(Leadtools.Medical.HL7.V2x.Models.IHL7MessageItem hl7msg) { string OriginalPatientId = string.Empty; string PatientId = string.Empty; string GivenName = string.Empty; string FamilyName = string.Empty; string Sex = string.Empty; // 解析和解码HL7消息 string MessageName = MessageItemCracker.GetMessageName(hl7msg); if (MessageName == "ADT_A01") { ADT_A01 msg = (ADT_A01)hl7msg; // 获取PatientID,这样我们就知道更新哪一条信息 OriginalPatientId = PatientId = msg.PID.Patient_ID.IDNumber.Value; // 获取需要更改的值 FamilyName = msg.PID.Patient_Name[0].FamilyName.Surname.Value; GivenName = msg.PID.Patient_Name[0].GivenName.Value; Sex = msg.PID.Administrative_Sex.Value; // ...其他值如Birthdate、原因等 // 使用消息中的信息更新PACS } }
由于HL7没有定义发送和接收消息的规则,因此LEADTOOLS为您提供了插件的源码,这样你就能根据环境的要求完全自定义它。这个插件包括侦听TCP连接的能力,它还可以轻松被修改来侦听其他连接类型,或监视一个含有HL7消息数据的文本文件的文件夹。
互操作性是当今医疗部门降低费用最小化风险必不可少的一部分。HL7是全球范围内交换病人护理和临床信息的消息标准,但对软件开发者来说这是一个复杂的领域。LEADTOOLS这一类的SDK可以帮助开发者兼容HL7,不耽误项目的进度。当还需要PACS和DICOM时,LEADTOOLS的PACS框架和DICOM存储服务器带来了巨大的改变。这些框架节省了数月的开发时间,为开发与HL7相互连接的动态现代化医学应用程序的开发者提供了内心的宁静。
本文转自
购买最新正版授权!""
慧都年终盛典火爆开启,一年仅一次的最强促销,破冰钜惠不容错过!!优惠详情点击查看>>
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
LEADTOOLS Medical Imaging是一款医疗成像控件,包含了一些精心挑选的、经过优化的特性,可以满足医疗成像应用程序开发的特殊需要。
LEADTOOLS Medical Imaging Suite Developer ToolkitLEADTOOLS Medical Imaging Suite帮您开发功能强大的PACS和医学成像应用程序
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢