需要解析HL7消息 [英] Need to parse HL7 message
本文介绍了需要解析HL7消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要解析HL7消息,首先验证该消息,然后解析.
I need to parse HL7 message ,firstly ,validate the message and then parse.
XMLParser xmlParser = new DefaultXMLParser();
//encode message in XML
String hl7MessageInXML = null;
try {
hl7MessageInXML = xmlParser.encode(message);
} catch (HL7Exception e) {
e.printStackTrace();
}
推荐答案
示例代码:
import ca.uhn.hl7v2.parser.*;
import ca.uhn.hl7v2.model.Message;
import ca.uhn.hl7v2.model.v24.message.ACK;
public class ParserDemo {
public static void main(String args[]) {
//for demo purposes, we just declare a literal message string
String ackMessageString
= "MSH|^~\\&|foo|foo||foo|200108151718||ACK^A01^ACK|1|D|2.4|\rMSA|AA\r";
//instantiate a PipeParser, which handles the "traditional encoding"
PipeParser pipeParser = new PipeParser();
try {
//parse the message string into a Message object
Message message = pipeParser.parse(ackMessageString);
//if it is an ACK message (as we know it is), cast it to an
// ACK object so that it is easier to work with, and change a value
if (message instanceof ACK) {
ACK ack = (ACK) message;
ack.getMSH().getProcessingID().getProcessingMode().setValue("P");
}
//instantiate an XML parser
XMLParser xmlParser = new DefaultXMLParser();
//encode message in XML
String ackMessageInXML = xmlParser.encode(message);
//print XML-encoded message to standard out
System.out.println(ackMessageInXML);
} catch (Exception e) {
e.printStackTrace();
}
}
}
这篇关于需要解析HL7消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文