/** * CD = WVI, WVS,...<br> * WVI = NM, ST */ @Test public void testObx5WithExpectedComponentExpectedSubcomponent() throws HL7Exception { // Message is stripped down String msgString = "MSH|^~\\&\r" // - + "OBR|\r" // - + "OBX||CD|||F1C1&F1C2\r"; ORU_R01 msg = new ORU_R01(); msg.setParser(new PipeParser(new DefaultHapiContext(ValidationContextFactory.noValidation()))); msg.parse(msgString); String encode = msg.encode(); ourLog.debug("\n\n" + encode); Varies observationValue = msg.getPATIENT_RESULT(0) .getORDER_OBSERVATION(0) .getOBSERVATION() .getOBX() .getObx5_ObservationValue(0); CD obx5 = (CD) observationValue.getData(); assertEquals("F1C1", obx5.getCd1_ChannelIdentifier().getWvi1_ChannelNumber().getValue()); assertEquals("F1C2", obx5.getCd1_ChannelIdentifier().getWvi2_ChannelName().getValue()); assertEquals(msgString.trim(), encode.trim()); }