C# HL7消息体

简介: C# HL7消息体


简介

本章主要以HL7消息格式运用Socket进行消息数据传递,下列以新增消息为案例:

HL7消息体

HL7发送新增

新增方法,提供前端进行调用,传递 List<技术医嘱_Model> 实体数据类

public bool 新增(List<Element.Model.技术医嘱_Model> modellist)
{
      try
      {
          //发送时间--当做唯一消息id
          //循环遍历实体类。赋值消息发送时间
          for (int i = 0; i < modellist.Count; i++)
          {
              modellist[i].消息发送时间 = DateTime.Now.ToString("yyyyMMddhhmmssfff");
              Thread.Sleep(1);
          }
          #region (2)消息转换(HL7消息格式)
          Hl7.技术医嘱_HL7 hl7 = new Hl7.技术医嘱_HL7();
           List<string> str = hl7.转换_新增(modellist);
          for (int i = 0; i < str.Count; i++)//遍历转换后的str生成日志
          {
              //日志消息记录
              Common.Logs.SaveLog("C:\\AppExe_技术医嘱", modellist[0].病理号, "(2)_技术医嘱--新增(消息转换):\r" + str[i]);
          }
          #endregion
          #region (3)消息发送(HL7格式)
          Hl7.Connect connect = new Hl7.Connect();//调用发送类
          for (int i = 0; i < str.Count; i++)
          {
              if (!connect.发送(str[i]))
              {
                  //失败日志
                  Common.Logs.SaveLog("C:\\AppExe_技术医嘱", modellist[0].号, "(3)_技术医嘱--新增(消息发送)---失败" + '\r');
              }
              else
              {
                  //成功日志
                  Common.Logs.SaveLog("C:\\AppExe_技术医嘱", modellist[0].号, "(3)_技术医嘱--新增(消息发送)---成功" + '\r');
              }
          }
          #endregion
          #region (4)保存事件记录
          Data.技术医嘱 data = new Data.技术医嘱();
          data.Save(modellist);
          //发送成功日志
          Common.Logs.SaveLog("C:\\AppExe_技术医嘱", modellist[0].号, "(4)_技术医嘱--新增(保存事件记录)--成功" + '\r' + "-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" + '\r');
          #endregion
          return true;
      }
      catch (Exception err)
      {
          Common.Logs.SaveLog("C:\\AppExe_技术医嘱", modellist[0].号,err.ToString() + '\r');
          return false;
      }
  }
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7月前
|
消息中间件 RocketMQ
rocketmq 超过4M消息体怎么发送
rocketmq 超过4M消息体怎么发送
149 1
request 获取请求消息体
request 获取请求消息体
|
12月前
|
JSON 开发工具 Android开发
通知消息和透传消息
通知消息和透传消息
626 0
通知消息和透传消息
|
消息中间件 网络协议
RabbiMQ中的消息回调与消息确认
和生产者的消息确认机制不同,因为消息接收本来就是在监听消息,符合条件的消息就会消费下来。 所以,消息接收的确认机制主要存在三种模式 1.自动确认 这也是默认的消息确认情况。AcknowledgeMode.NONE,RabbitMQ成功将消息发出(即将消息成功写入TCP Socket)中立即 认为本次投递已经被正确处理,不管消费者端是否成功处理本次投递 当自动应答等于true的时候,表示当消费者一收到消息就表示消费者收到了消息,消费者收到了消息就会立即从队列中删除 2.不确认(不介绍) 3.手动确认(多数选择的模式) 消费者收
|
编解码 Java 测试技术
消息类型-普通消息|学习笔记
快速学习消息类型-普通消息
130 0
消息类型-普通消息|学习笔记
|
消息中间件 Java 数据库
消息的和发送和接收|学习笔记
快速学习消息的和发送和接收
107 0
|
消息中间件 运维 监控
多类型业务消息专题-普通消息 | 学习笔记(一)
快速学习多类型业务消息专题-普通消息
139 0
 多类型业务消息专题-普通消息 | 学习笔记(一)
|
消息中间件 存储 运维
多类型业务消息专题-普通消息 | 学习笔记(二)
快速学习多类型业务消息专题-普通消息
99 0
多类型业务消息专题-普通消息 | 学习笔记(二)
|
消息中间件 Java 开发者
消息类型-顺序消息|学习笔记
快速学习消息类型-顺序消息
90 0
消息类型-顺序消息|学习笔记
|
消息中间件 物联网 Linux
Msgrcv 接收消息|学习笔记
快速学习 Msgrcv 接收消息
267 0
Msgrcv 接收消息|学习笔记