|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
How to find Repeating SegmentsHello Everybody....
I am trying to find an API or code hach to get the repeating segments. For example in the ORU_R01 message OBX segments are repeated..How can I iterate on each available OBX and use terser to get the fields So I would like to have something like this: Foreach repSegment find number of Fields present in this segment Foreach Field Find indices and run terser to get the value. So my clue is around extending the Terser class but this seems to be a pretty vital API so wondering if anybody has done any thing? Any help. |
|
|
Re: How to find Repeating SegmentsSomething like this should work:
int obxCount = msg.getORDER().getORDER_DETAIL().getOBSERVATIONReps(); for (int i = 0; i < obxCount; i++) { OBX obx = msg.getORDER().getORDER_DETAIL().getOBSERVATION(i).getOBX(); //use your terser here String id = terser.get(obx, 1, 0, 1, 1); String value = terser.get(obx, 5, 0, 1, 1); } |
|
|
Re: How to find Repeating SegmentsNot sure...what type of object msg is ..
If it is Message or ORU_R01 in both cases it does not find the methods you have used. Help. Thanks. Regards -Niranjan. -----Original Message----- From: Johnny2R [mailto:grails@...] Sent: Tuesday, August 04, 2009 7:01 AM To: hl7api-devel@... Subject: Re: [HAPI-devel] How to find Repeating Segments Something like this should work: int obxCount = msg.getORDER().getORDER_DETAIL().getOBSERVATIONReps(); for (int i = 0; i < obxCount; i++) { OBX obx = msg.getORDER().getORDER_DETAIL().getOBSERVATION(i).getOBX(); //use your terser here String id = terser.get(obx, 1, 0, 1, 1); String value = terser.get(obx, 5, 0, 1, 1); } -- View this message in context: http://www.nabble.com/How-to-find-Repeating-Segments-tp24700999p24808110 .html Sent from the hl7api-devel mailing list archive at Nabble.com. ------------------------------------------------------------------------ ------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Hl7api-devel mailing list Hl7api-devel@... https://lists.sourceforge.net/lists/listinfo/hl7api-devel ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Hl7api-devel mailing list Hl7api-devel@... https://lists.sourceforge.net/lists/listinfo/hl7api-devel |
|
|
Re: How to find Repeating SegmentsSorry, you're right, I was assuming an ORM O01 message (which I've been burying my head in recently). The same principle applies with an ORU_R01 message, though. Try:
int obxCount = msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATIONReps(); for (int i = 0; i < obxCount; i++) { OBX obx = msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATION(i).getOBX(); //use your terser here String id = terser.get(obx, 1, 0, 1, 1); String value = terser.get(obx, 5, 0, 1, 1); } Of course, you may have to take account of any repetitions (I'm assuming one ORDER_OBSERVATION). |
|
|
Re: How to find Repeating SegmentsThanks Johnny..For note here...
I was doing the same but I did not realized that I was not passing the values with parameterized strings. It works. Here is the snapshot. ORU_R01 ORU_R01Message = (ORU_R01) theMessage; for (int i = 0; i<ORU_R01Message.getPATIENT_RESULTReps(); i++) { for (int j = 0; j<ORU_R01Message.getPATIENT_RESULT(i).getORDER_OBSERVATIONReps(); j++) { for (int k = 0; k<ORU_R01Message.getPATIENT_RESULT(i).getORDER_OBSERVATION(j).getOBSERVA TIONReps(); k++) { String terserPath = "/PATIENT_RESULT(" + i + ")/ORDER_OBSERVATION(" + j + ")/OBSERVATION(" + k + ")/OBX-3"; String value= t.get(terserPath); logger.debug(value); logger.debug("k=" + k); } } } -----Original Message----- From: Johnny2R [mailto:grails@...] Sent: Tuesday, August 04, 2009 8:33 AM To: hl7api-devel@... Subject: Re: [HAPI-devel] How to find Repeating Segments Sorry, you're right, I was assuming an ORM O01 message (which I've been burying my head in recently). The same principle applies with an ORU_R01 message, though. Try: int obxCount = msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATIONReps(); for (int i = 0; i < obxCount; i++) { OBX obx = msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATION(i).getOBX( ); //use your terser here String id = terser.get(obx, 1, 0, 1, 1); String value = terser.get(obx, 5, 0, 1, 1); } Of course, you may have to take account of any repetitions (I'm assuming one ORDER_OBSERVATION). -- View this message in context: http://www.nabble.com/How-to-find-Repeating-Segments-tp24700999p24809784 .html Sent from the hl7api-devel mailing list archive at Nabble.com. ------------------------------------------------------------------------ ------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Hl7api-devel mailing list Hl7api-devel@... https://lists.sourceforge.net/lists/listinfo/hl7api-devel ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Hl7api-devel mailing list Hl7api-devel@... https://lists.sourceforge.net/lists/listinfo/hl7api-devel |
|
|
Re: How to find Repeating SegmentsTo find the repeating OBX segment..Here is the code snippet:
To get at the OBX: ORU_R01 ORU_R01Message = (ORU_R01) theMessage; for (int PATIENT_RESULTRep = 0; PATIENT_RESULTRep<ORU_R01Message.getPATIENT_RESULTReps(); PATIENT_RESULTRep++) { for (int ORDER_OBSERVATIONRep = 0; ORDER_OBSERVATIONRep<ORU_R01Message.getPATIENT_RESULT(PATIENT_RESULTRep) .getORDER_OBSERVATIONReps(); ORDER_OBSERVATIONRep++) { for (int OBSERVATIONRep = 0; OBSERVATIONRep<ORU_R01Message.getPATIENT_RESULT(PATIENT_RESULTRep).getOR DER_OBSERVATION(ORDER_OBSERVATIONRep).getOBSERVATIONReps(); OBSERVATIONRep++) { String[] OBX3Value= TerserUtil.getOBX3(localTerser, PATIENT_RESULTRep, ORDER_OBSERVATIONRep, OBSERVATIONRep); } } } To get the Values of OBX: public static String[] getOBX3(Terser localTerser, int PATIENT_RESULTRep, int ORDER_OBSERVATIONRep, int OBSERVATIONRep) throws HL7Exception { String [] OBX3 = new String[6]; String terserPath = "PATIENT_RESULT(" + PATIENT_RESULTRep + ")/ORDER_OBSERVATION(" + ORDER_OBSERVATIONRep + ")/OBSERVATION(" + OBSERVATIONRep + ")/OBX-"; OBX3[0] = localTerser.get(terserPath + "3(0)-1-1"); OBX3[1] = localTerser.get(terserPath + "3(0)-2-1"); OBX3[2] = localTerser.get(terserPath + "3(0)-3-1"); OBX3[3] = localTerser.get(terserPath + "3(0)-4-1"); OBX3[4] = localTerser.get(terserPath + "3(0)-5-1"); OBX3[5] = localTerser.get(terserPath + "3(0)-6-1"); return OBX3; } ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Hl7api-devel mailing list Hl7api-devel@... https://lists.sourceforge.net/lists/listinfo/hl7api-devel |
| Free embeddable forum powered by Nabble | Forum Help |