4 Stimmen

Parsen eines HL7 ohne vorherige Kenntnis des MessageType

Wie können wir in NHapi eine Nachricht parsen, wenn wir nicht wissen, um welchen MessageType (MSH#9) es sich handelt?

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

IMessage parsedMessage = parser.Parse(SampleMessage);

parsedMessage ist eine NHapi.Base.Model.GenericMessage.V25 zur Laufzeit, und ich kann anscheinend den MSH-Header nicht einlesen, um das Feld MessageType zu lesen und dann die Nachricht als diesen Nachrichtentyp neu zu parsen(?).

Der Mangel an Dokumentation und Beispielen frustriert mich. Vielleicht liege ich sehr weit daneben. Ich bin sehr neu bei HL7, aber ich dachte, ich würde die HL7-Spezifikation gut verstehen, bis ich versuchte, NHapi zu verwenden.

8voto

Mike Stonis Punkte 2162

parsedMessage.GetStructureName() gibt Ihnen den Nachrichtentyp und das auslösende Ereignis an. parser.Encode(parsedMessage) gibt Ihnen die Nachricht im durch Pipes getrennten Format zurück.

Der folgende Code zeigt, wie der Nachrichtentyp abgerufen wird und wie die ursprüngliche Nachricht im Pipe-Format abgerufen wird.

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

Einen guten Einstiegscode finden Sie auf der hapi beispiele site .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X