文章目录
- 简介
- HL7消息体
- 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');#endregionreturn true;}catch (Exception err){Common.Logs.SaveLog("C:\\AppExe_技术医嘱", modellist[0].号,err.ToString() + '\r');return false;}}