When I try parsing an ADT_A34 (2.3.1) Message with the PipeParser it ignores the messagetype and creates an ADT_A30.
hapi v0.5
Test scenario:
String testMsg =
"MSH|^~\\&|SENDER|IIG|RCV1|IIG|20061123090324||ADT^A34|18879123|P|2.3.1|||AL|NE\n\r"+
"EVN|A34|20061123090324\n\r"+ "PID|||21122112^5^M12||TESTNAME^FIRSTNAME||20020709|M|||EWZ 1^^HALLIN TIROL^^6060^A|A|||D||||3657090702|||||||A\n\r"+
"MRG|220064212^3^M12\n\r";
PipeParser parse = new PipeParser();
try{
Message msg = parse.parse(testMsg);
System.out.println(msg.getClass().getName());
} catch(HL7Exception e) {
System.out.println(e.toString());
}
Looking at the spec, v2.3.1 does not know about message groups yet, and HAPI does contain classes like ADT_A04, ADT_A34 for this version. The 2.3.1.properties file (also 2.3.properties), however, reads like this:
ADT_A01 ADT_A01
ADT_A02 ADT_A02
ADT_A03 ADT_A03
ADT_A04 ADT_A01
...
ADT_A34 ADT_A30
Is this correct??
Fix checked in- For some reason the database has some unneeded entries in the 2.3.1 database.