For this message type, PID must occur exactly once within each QUERY_RESPONSE
group. So there's no need to find the number of PID segments.
 
To find out the number of QUERY_RESPONSE groups inside the message, you can
say e.g. hapiMsg.getQUERY_RESPONSEReps(). 
To find out about the number of NK1 segments within the first QUERY_RESPONSE
group, you can say hapiMsg.getQUERY_RESPONSE(0).getNK1Reps().

As Niranjan indicated, this can not (yet) be done with the Terser - you need
to obtain the structure object directly and call the getXXXReps method.

regards
Christian


depeche007 wrote:
> 
> Hi Christian 
>      Thanks for giving the solution. It worked nicely. But still I face
> one issue that how can we get the number of segment counts (say for
> example PID segment count) using Terser or any other class? Is there any
> property defined to get the number of counts for segment?
> 
>                  RSP_K21 hapiMsg = null;
>                 PipeParser parser = new PipeParser();
>                 try {
>                         hapiMsg = (RSP_K21) parser.parse(MSG);
>                         Terser t = new Terser(hapiMsg);
>        
>                       
> System.out.println(t.get("/QUERY_RESPONSE(0)/PID-3-1")); 
>                       
> System.out.println(t.get("/QUERY_RESPONSE(1)/PID-3-1"));
> 
> How can we count the number of PID segments returned?
> 
> Thanks & regards,
>    depeche
> 
> 
> 
> nksharma0624 wrote:
>> 
>> Christian, James,
>> 
>> There are repetitive queries around getting Segment, Field with multiple
>> repetitions.
>> 
>> I think it is high time to have a utility added in Terser to get number
>> of repetition for a specified path element.
>> 
>> Thoughts are welcome.
>> 
>> 
>> Thanks.
>> 
>> Regards
>> -Niranjan.
>> 
>> -----Original Message-----
>> From: christian ohr [mailto:[email protected]] 
>> Sent: Friday, June 11, 2010 8:47 AM
>> To: [email protected]
>> Subject: Re: [HAPI-devel] How to handle multiple PID returned in
>> RSP^K22^RSP_K21 messages of version 2.5 messages?
>> 
>> 
>> Hi,
>> 
>> Executing the piece of code below (e.g. using HAPI 0.6 or better)
>> returns
>> 
>> 11.06.2010 16:39:40 ca.uhn.log.HapiLogImpl info
>> INFO: Instantiating msg of class ca.uhn.hl7v2.model.v25.message.RSP_K21
>> 5ab16eec-4eb0-4f78-ae45-f8759a83ee70
>> 5ab16eec-4eb0-4f78-ae45-f8759a83ff10
>> 
>> in my console; so it returns the IDs correctly. Note the Terser
>> expressions
>> /QUERY_RESPONSE(0)/PID-3-1 and /QUERY_RESPONSE(1)/PID-3-1, respectively.
>> 
>> cheers Christian
>> 
>> 
>> import ca.uhn.hl7v2.model.v25.message.RSP_K21;
>> import ca.uhn.hl7v2.parser.PipeParser;
>> import ca.uhn.hl7v2.util.Terser;
>> 
>> public class test {
>> 
>>      private static final String MSG =
>> "MSH|^~\\&||3f0203ca-7da1-4c92-8dcf-743a5579673f|GENERIC|3f0203ca-7da1-4
>> c92-8dcf-743a5579673f|20100610165524||RSP^K22^RSP_K21|201006101655247185
>> 43|P|2.5\r"
>>                      + "MSA|AA|11312110\r"
>>                      + "QAK|QRY11312110|OK|IHE PDQ Query\r"
>>                      + "QPD|IHE PDQ
>> Query|QRY11312110|@PID.5.2\\S\\Jack [email protected]\\s\\m\r"
>>                      +
>> "PID||3|5ab16eec-4eb0-4f78-ae45-f8759a83ee70^^^3f0203ca-7da1-4c92-8dcf-7
>> 43a5579673f&&^PI~5ab16eec-4eb0-4f78-ae45-f8759a83ee70^^^EMR_3f0203ca-7da
>> 1-4c92-8dcf-743a5579673f&&^PI|5ab16eec-4eb0-4f78-ae45-f8759a83ee70^^^3f0
>> 203ca-7da1-4c92-8dcf-743a5579673f|Jack^Straw|Mommmmy|20001111|M||2028-9|
>> Brigade
>> Street Las vegas^^New
>> York^10005^USA||(900)485-5344^PRN^PH^~(900)545-1200^PRN^CP^~^NET^X.400^m
>> [email protected]|(900)485-3333^WPN^PH^~(900)545-1234^WPN^CP^~^NET^X.40
>> 0^[email protected]|||CHR||123895678|1234^NY\r"
>>                      + "QRI|5\r"
>>                      +
>> "PID||2|5ab16eec-4eb0-4f78-ae45-f8759a83ff10^^^3f0203ca-7da1-4c92-8dcf-7
>> 43a5579673f&&^PI~5ab16eec-4eb0-4f78-ae45-f8759a83ff10^^^EMR_3f0203ca-7da
>> 1-4c92-8dcf-743a5579673f&&^PI|5ab16eec-4eb0-4f78-ae45-f8759a83ff10^^^3f0
>> 203ca-7da1-4c92-8dcf-743a5579673f|Jack^Straw^T|Mommmmy|20001111|M||2028-
>> 9|Brigade
>> Street Las vegas^^New
>> York^10005^USA||(900)485-5344^PRN^PH^~(900)545-1200^PRN^CP^~^NET^X.400^m
>> [email protected]|(900)485-3333^WPN^PH^~(900)545-1234^WPN^CP^~^NET^X.40
>> 0^[email protected]|||CHR||123891234|1234^NY\r"
>>                      + "QRI|4.35708725";
>> 
>>      /**
>>       * @param args
>>       */
>>      public static void main(String[] arg) {
>>              RSP_K21 hapiMsg = null;
>>              PipeParser parser = new PipeParser();
>>              try {
>>                      hapiMsg = (RSP_K21) parser.parse(MSG);
>>                      Terser t = new Terser(hapiMsg);
>>      
>> System.out.println(t.get("/QUERY_RESPONSE(0)/PID-3-1"));
>>      
>> System.out.println(t.get("/QUERY_RESPONSE(1)/PID-3-1"));
>>              } catch (Exception e) {
>>                      e.printStackTrace();
>>              }
>> 
>>      }
>> 
>> }
>> 
>> 
>> depeche007 wrote:
>>> 
>>> Hi,
>>>    
>>>    How to handle multiple PID returned in RSP^K22^RSP_K21 messages of
>>> version 2.5 messages?
>>> 
>>> The structure of the message is as follows:
>>>       
>>>
>> MSH|^~\&||3f0203ca-7da1-4c92-8dcf-743a5579673f|GENERIC|3f0203ca-7da1-4c9
>> 2-8dcf-743a5579673f|20100610165524||RSP^K22^RSP_K21|20100610165524718543
>> |P|2.5
>>> MSA|AA|11312110
>>> QAK|QRY11312110|OK|IHE PDQ Query
>>> QPD|IHE PDQ Query|QRY11312110|@PID.5.2\S\Jack [email protected]\s\m
>>>
>> PID||3|5ab16eec-4eb0-4f78-ae45-f8759a83ee70^^^3f0203ca-7da1-4c92-8dcf-74
>> 3a5579673f&&^PI~5ab16eec-4eb0-4f78-ae45-f8759a83ee70^^^EMR_3f0203ca-7da1
>> -4c92-8dcf-743a5579673f&&^PI|5ab16eec-4eb0-4f78-ae45-f8759a83ee70^^^3f02
>> 03ca-7da1-4c92-8dcf-743a5579673f|Jack^Straw|Mommmmy|20001111|M||2028-9|B
>> rigade
>>> Street Las vegas^^New
>>>
>> York^10005^USA||(900)485-5344^PRN^PH^~(900)545-1200^PRN^CP^~^NET^X.400^m
>> [email protected]|(900)485-3333^WPN^PH^~(900)545-1234^WPN^CP^~^NET^X.40
>> 0^[email protected]|||CHR||123895678|1234^NY
>>> QRI|5
>>>
>> PID||2|5ab16eec-4eb0-4f78-ae45-f8759a83ff10^^^3f0203ca-7da1-4c92-8dcf-74
>> 3a5579673f&&^PI~5ab16eec-4eb0-4f78-ae45-f8759a83ff10^^^EMR_3f0203ca-7da1
>> -4c92-8dcf-743a5579673f&&^PI|5ab16eec-4eb0-4f78-ae45-f8759a83ff10^^^3f02
>> 03ca-7da1-4c92-8dcf-743a5579673f|Jack^Straw^T|Mommmmy|20001111|M||2028-9
>> |Brigade
>>> Street Las vegas^^New
>>>
>> York^10005^USA||(900)485-5344^PRN^PH^~(900)545-1200^PRN^CP^~^NET^X.400^m
>> [email protected]|(900)485-3333^WPN^PH^~(900)545-1234^WPN^CP^~^NET^X.40
>> 0^[email protected]|||CHR||123891234|1234^NY
>>> QRI|4.35708725
>>> 
>>> 
>>>            I am using following piece of code: 
>>> 
>>> terser.get("/patientidentificationsegment(0)/.PID-3-1");
>>> terser.get("/patientidentificationsegment(1)/.PID-3-1");
>>> 
>>> I came to know from this forum [forum topic no
>>> http://old.nabble.com/terser---syntax-to13883873.html#a13904316] that
>> we
>>> can achieve the same. But i am getting exception like:
>>> 
>>> "Exception: java.lang.IllegalArgumentException: The pattern
>>> patientidentificationsegment is not valid.  Only [\w\*\?]* allowed. "
>>> 
>>> For financial and observation
>>> 
>>> terser.get("/FINANCIAL(0)/FT1-1");
>>> terser.get("/FINANCIAL(1)/FT1-1");
>>> 
>>> terser.get("/OBSERVATION(0)/OBX-1");
>>> terser.get("/OBSERVATION(1)/OBX-1");
>>> 
>>> What will be used for PID segment?
>>> 
>>> Thanks & regards,
>>>     depeche
>>> 
>> 
>> -- 
>> View this message in context:
>> http://old.nabble.com/How-to-handle-multiple-PID-returned-in-RSP%5EK22%5
>> ERSP_K21-messages-of-version-2.5-messages--tp28854205p28856197.html
>> Sent from the hl7api-devel mailing list archive at Nabble.com.
>> 
>> 
>> ------------------------------------------------------------------------
>> ------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
>> lucky parental unit.  See the prize list and enter to win: 
>> http://p.sf.net/sfu/thinkgeek-promo
>> _______________________________________________
>> Hl7api-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/hl7api-devel
>> 
>> ------------------------------------------------------------------------------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate 
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
>> lucky parental unit.  See the prize list and enter to win: 
>> http://p.sf.net/sfu/thinkgeek-promo
>> _______________________________________________
>> Hl7api-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/hl7api-devel
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/How-to-handle-multiple-PID-returned-in-RSP%5EK22%5ERSP_K21-messages-of-version-2.5-messages--tp28854205p28876689.html
Sent from the hl7api-devel mailing list archive at Nabble.com.


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Hl7api-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hl7api-devel

Reply via email to