Ich versuche, eine HL7-Nachricht von Hapi in Map-Reduce-Funktion zu analysieren Ich habe EncodingNotSupportedException, wenn ich die Map-Task ausführen. Ich habe versucht, am Ende jedes Segments \ n oder \ hinzuzufügen, aber ich habe den gleichen Fehler. Die Nachricht wird in einer Textdatei gespeichert und in HDFS hochgeladen. sollte ich das etwas hinzufügen müssen, ist mein CodeHL7 Nachricht Codierung Fehler beim Analysieren der Nachricht in map-reduce
String v = value.toString();
InputStream is = new StringBufferInputStream(v);
is = new BufferedInputStream(is);
Hl7InputStreamMessageStringIterator iter = new Hl7InputStreamMessageStringIterator(
is);
HapiContext hcontext = new DefaultHapiContext();
Message hapiMsg;
Parser p = hcontext.getGenericParser();
while (iter.hasNext()) {
String msg = iter.next();
try {
hapiMsg = p.parse(msg);
} catch (EncodingNotSupportedException e) {
e.printStackTrace();
return;
} catch (HL7Exception e) {
e.printStackTrace();
return;
}
}
die Probe Nachricht
MSH|^~\&|HIS|RIH|EKG|EKG|20150121002000||ADT^A01||P|2.5.1
EVN||20150121002000|||||CITY GENL HOSP^0133195934^NPI
PID|1||95101100001^^^^PI^CITY GENL HOSP&0133195934&NPI||SNOW^JOHN^^^MR^^L||19560121002000|M||2054-5^White^CDCREC|470 Ocean Ave^^NEW YORK^^11226^USA^C^^29051||^^^^^513^5551212|||||95101100001||||2186-5^White American^CDCREC|||1
PV1||E||E||||||||||1||||||||||||||||||||||||||||||
OBX|1|NM|21612-7^PATIENT AGE REPORTED^LN||60|a^YEAR^UCUM|||||F|||201601131443
OBX|2|NM|21613-7^Urination^LN||2|a^DAY^UCUM|||||F|||19740514201500
DG1|001||4158^Diabetes^I9CDX||19740514201500|A|5478^Non-infectious
DG1|002||2222^Huntington^I9CDX||19610718121500|A|6958^Genetic
Kann PipeParser Ihnen helfen, die die Codierung behandelt. –
Ich benutzte es auch und ich hatte den gleichen Fehler – Zaman
zeigen Sie uns, wie die Nachricht aussieht! Speichern Sie HL7-Nachrichten niemals als Textdatei, sondern als Binärdatei. Sind Sie sicher, dass die Segmentbegrenzer in Ordnung sind? – sqlab