4

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

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

IMessage parsedMessage = parser.Parse(SampleMessage);

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

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

4

1 回答 1

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;
}

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

于 2011-12-20T04:01:43.720 回答