在没有先验messageType知识的情况下解析HL7

Jas*_*ban 4 c# hl7 nhapi

在NHapi中,如果我们不知道它是什么messageType(MSH#9),我们如何解析消息?

var parser = new NHapi.Base.Parser.PipeParser();

IMessage parsedMessage = parser.Parse(SampleMessage);
Run Code Online (Sandbox Code Playgroud)

parsedMessageNHapi.Base.Model.GenericMessage.V25在运行时,我似乎无法在MSH标头中读取MessageType字段,然后将消息重新解析(?)为该消息类型.

由于缺乏文档和示例,我感到很沮丧.也许我离基地很远.我是HL7的新手,但在我尝试使用NHapi之前,我认为我对HL7规范的理解很好.

Mik*_*nis 8

parsedMessage.GetStructureName()将为您提供消息类型和触发事件.parser.Encode(parsedMessage)将以管道分隔格式返回给您的消息.

以下代码显示了如何获取消息类型以及如何以管道格式获取原始消息.

public static String ParseMessage(String message)
{
    var parser = new NHapi.Base.Parser.PipeParser();
    var parsedMessage = parser.Parse(message);

    //Get the message type and trigger event
    var msgType = parsedMessage.GetStructureName();

    //Get the message in raw, pipe-delimited format
    var pipeDelimitedMessage = parser.Encode(parsedMessage);

    return pipeDelimitedMessage;
}
Run Code Online (Sandbox Code Playgroud)

一些好的入门代码可以在hapi示例站点找到.