public HL7Parser2X(string HL7Message) { NHapi.Base.Parser.XMLParser xmlp = new NHapi.Base.Parser.DefaultXMLParser(); //NHapi.Base.Model.IMessage imess = xmlp.Parse(HL7Message); NHapi.Base.Parser.PipeParser pp = new NHapi.Base.Parser.PipeParser(); NHapi.Base.Model.IMessage imess = pp.Parse(HL7Message, "2.3"); NHapi.Model.V23.Message.ORU_R01 orm; orm = imess as NHapi.Model.V23.Message.ORU_R01; XmlDocument MessageXML = new XmlDocument(); if (orm != null) { MessageXML = xmlp.EncodeDocument(orm); } NHapi.Base.Model.IStructure[] seg = imess.GetAll("MSH"); report.ReportXML = MessageXML; //testFunction(MessageXML); report.PatientID = GetPatientID(report.ReportXML); report.Patientname = GetPatientName(report.ReportXML); string date = string.Empty; report.ReportDateTime = GetDateTime(GetStudyDate(report.ReportXML), "yyyyMMddHHmm", out date); report.DOB = GetDateTime(GetPatientDOB(report.ReportXML), "yyyyMMdd", out date); report.AccessionNumber = GetAccessioNnumber(report.ReportXML); }
/// <summary> /// this is just to re-encode xml format message into hl7 to ceck if the XML is correct or not. /// </summary> /// <param name="xmlMEssage"></param> void testFunction(XmlDocument xmlMEssage) { NHapi.Model.V23.Message.ORU_R01 orm; // orm = imess as NHapi.Model.V23.Message.ORU_R01; NHapi.Base.Parser.DefaultXMLParser dfx = new NHapi.Base.Parser.DefaultXMLParser(); orm = dfx.ParseDocument(xmlMEssage, "2.3") as NHapi.Model.V23.Message.ORU_R01; NHapi.Base.Parser.PipeParser pp = new NHapi.Base.Parser.PipeParser(); string s = pp.Encode(orm); }