001/*
002 * This class is an auto-generated source file for a HAPI
003 * HL7 v2.x standard structure class.
004 *
005 * For more information, visit: http://hl7api.sourceforge.net/
006 * 
007 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v231.message;
035
036import ca.uhn.hl7v2.model.v231.group.*;
037import ca.uhn.hl7v2.model.v231.segment.*;
038
039import java.util.List;
040
041import ca.uhn.hl7v2.HL7Exception;
042import ca.uhn.hl7v2.parser.ModelClassFactory;
043import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
044import ca.uhn.hl7v2.model.AbstractMessage;
045
046/**
047 * <p>Represents a RPA_I08 message structure (see chapter ${chapter}). This structure contains the 
048 * following elements: </p>
049 * <ul>
050                 * <li>1: MSH (MSH - message header segment) <b> </b></li>
051                 * <li>2: MSA (MSA - message acknowledgment segment) <b> </b></li>
052                 * <li>3: RF1 (Referral Infomation) <b>optional </b></li>
053                 * <li>4: RPA_I08_AUTCTD (a Group object) <b>optional </b></li>
054                 * <li>5: RPA_I08_PRDCTD (a Group object) <b> repeating</b></li>
055                 * <li>6: PID (PID - patient identification segment) <b> </b></li>
056                 * <li>7: NK1 (NK1 - next of kin / associated parties segment-) <b>optional repeating</b></li>
057                 * <li>8: GT1 (GT1 - guarantor segment) <b>optional repeating</b></li>
058                 * <li>9: RPA_I08_IN1IN2IN3 (a Group object) <b>optional repeating</b></li>
059                 * <li>10: ACC (ACC - accident segment) <b>optional </b></li>
060                 * <li>11: DG1 (DG1 - diagnosis segment) <b>optional repeating</b></li>
061                 * <li>12: DRG (DRG - diagnosis related group segment) <b>optional repeating</b></li>
062                 * <li>13: AL1 (AL1 - patient allergy information segment) <b>optional repeating</b></li>
063                 * <li>14: RPA_I08_PR1AUTCTD (a Group object) <b> repeating</b></li>
064                 * <li>15: RPA_I08_OBRNTEOBXNTE (a Group object) <b>optional repeating</b></li>
065                 * <li>16: RPA_I08_PV1PV2 (a Group object) <b>optional </b></li>
066                 * <li>17: NTE (NTE - notes and comments segment) <b>optional repeating</b></li>
067 * </ul>
068 */
069@SuppressWarnings("unused")
070public class RPA_I08 extends AbstractMessage  {
071
072    /**
073     * Creates a new RPA_I08 message with DefaultModelClassFactory. 
074     */ 
075    public RPA_I08() { 
076       this(new DefaultModelClassFactory());
077    }
078
079    /** 
080     * Creates a new RPA_I08 message with custom ModelClassFactory.
081     */
082    public RPA_I08(ModelClassFactory factory) {
083       super(factory);
084       init(factory);
085    }
086
087    private void init(ModelClassFactory factory) {
088       try {
089                          this.add(MSH.class, true, false);
090                          this.add(MSA.class, true, false);
091                          this.add(RF1.class, false, false);
092                          this.add(RPA_I08_AUTCTD.class, false, false);
093                          this.add(RPA_I08_PRDCTD.class, true, true);
094                          this.add(PID.class, true, false);
095                          this.add(NK1.class, false, true);
096                          this.add(GT1.class, false, true);
097                          this.add(RPA_I08_IN1IN2IN3.class, false, true);
098                          this.add(ACC.class, false, false);
099                          this.add(DG1.class, false, true);
100                          this.add(DRG.class, false, true);
101                          this.add(AL1.class, false, true);
102                          this.add(RPA_I08_PR1AUTCTD.class, true, true);
103                          this.add(RPA_I08_OBRNTEOBXNTE.class, false, true);
104                          this.add(RPA_I08_PV1PV2.class, false, false);
105                          this.add(NTE.class, false, true);
106       } catch(HL7Exception e) {
107          log.error("Unexpected error creating RPA_I08 - this is probably a bug in the source code generator.", e);
108       }
109    }
110
111    /** 
112     * Returns "2.3.1"
113     */
114    public String getVersion() {
115       return "2.3.1";
116    }
117
118
119
120    /**
121     * Returns
122     * MSH (MSH - message header segment) - creates it if necessary
123     */
124    public MSH getMSH() { 
125       return getTyped("MSH", MSH.class);
126    }
127
128
129
130
131    /**
132     * Returns
133     * MSA (MSA - message acknowledgment segment) - creates it if necessary
134     */
135    public MSA getMSA() { 
136       return getTyped("MSA", MSA.class);
137    }
138
139
140
141
142    /**
143     * Returns
144     * RF1 (Referral Infomation) - creates it if necessary
145     */
146    public RF1 getRF1() { 
147       return getTyped("RF1", RF1.class);
148    }
149
150
151
152
153    /**
154     * Returns
155     * AUTCTD (a Group object) - creates it if necessary
156     */
157    public RPA_I08_AUTCTD getAUTCTD() { 
158       return getTyped("AUTCTD", RPA_I08_AUTCTD.class);
159    }
160
161
162
163
164    /**
165     * Returns
166     * the first repetition of 
167     * PRDCTD (a Group object) - creates it if necessary
168     */
169    public RPA_I08_PRDCTD getPRDCTD() { 
170       return getTyped("PRDCTD", RPA_I08_PRDCTD.class);
171    }
172
173
174    /**
175     * Returns a specific repetition of
176     * PRDCTD (a Group object) - creates it if necessary
177     *
178     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
179     * @throws HL7Exception if the repetition requested is more than one 
180     *     greater than the number of existing repetitions.
181     */
182    public RPA_I08_PRDCTD getPRDCTD(int rep) { 
183       return getTyped("PRDCTD", rep, RPA_I08_PRDCTD.class);
184    }
185
186    /** 
187     * Returns the number of existing repetitions of PRDCTD 
188     */ 
189    public int getPRDCTDReps() { 
190        return getReps("PRDCTD");
191    } 
192
193    /** 
194     * <p>
195     * Returns a non-modifiable List containing all current existing repetitions of PRDCTD.
196     * <p>
197     * <p>
198     * Note that unlike {@link #getPRDCTD()}, this method will not create any reps
199     * if none are already present, so an empty list may be returned.
200     * </p>
201     */ 
202    public List<RPA_I08_PRDCTD> getPRDCTDAll() throws HL7Exception {
203        return getAllAsList("PRDCTD", RPA_I08_PRDCTD.class);
204    } 
205
206    /**
207     * Inserts a specific repetition of PRDCTD (a Group object)
208     * @see AbstractGroup#insertRepetition(Structure, int) 
209     */
210    public void insertPRDCTD(RPA_I08_PRDCTD structure, int rep) throws HL7Exception { 
211       super.insertRepetition( "PRDCTD", structure, rep);
212    }
213
214
215    /**
216     * Inserts a specific repetition of PRDCTD (a Group object)
217     * @see AbstractGroup#insertRepetition(Structure, int) 
218     */
219    public RPA_I08_PRDCTD insertPRDCTD(int rep) throws HL7Exception { 
220       return (RPA_I08_PRDCTD)super.insertRepetition("PRDCTD", rep);
221    }
222
223
224    /**
225     * Removes a specific repetition of PRDCTD (a Group object)
226     * @see AbstractGroup#removeRepetition(String, int) 
227     */
228    public RPA_I08_PRDCTD removePRDCTD(int rep) throws HL7Exception { 
229       return (RPA_I08_PRDCTD)super.removeRepetition("PRDCTD", rep);
230    }
231
232
233
234    /**
235     * Returns
236     * PID (PID - patient identification segment) - creates it if necessary
237     */
238    public PID getPID() { 
239       return getTyped("PID", PID.class);
240    }
241
242
243
244
245    /**
246     * Returns
247     * the first repetition of 
248     * NK1 (NK1 - next of kin / associated parties segment-) - creates it if necessary
249     */
250    public NK1 getNK1() { 
251       return getTyped("NK1", NK1.class);
252    }
253
254
255    /**
256     * Returns a specific repetition of
257     * NK1 (NK1 - next of kin / associated parties segment-) - creates it if necessary
258     *
259     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
260     * @throws HL7Exception if the repetition requested is more than one 
261     *     greater than the number of existing repetitions.
262     */
263    public NK1 getNK1(int rep) { 
264       return getTyped("NK1", rep, NK1.class);
265    }
266
267    /** 
268     * Returns the number of existing repetitions of NK1 
269     */ 
270    public int getNK1Reps() { 
271        return getReps("NK1");
272    } 
273
274    /** 
275     * <p>
276     * Returns a non-modifiable List containing all current existing repetitions of NK1.
277     * <p>
278     * <p>
279     * Note that unlike {@link #getNK1()}, this method will not create any reps
280     * if none are already present, so an empty list may be returned.
281     * </p>
282     */ 
283    public List<NK1> getNK1All() throws HL7Exception {
284        return getAllAsList("NK1", NK1.class);
285    } 
286
287    /**
288     * Inserts a specific repetition of NK1 (NK1 - next of kin / associated parties segment-)
289     * @see AbstractGroup#insertRepetition(Structure, int) 
290     */
291    public void insertNK1(NK1 structure, int rep) throws HL7Exception { 
292       super.insertRepetition( "NK1", structure, rep);
293    }
294
295
296    /**
297     * Inserts a specific repetition of NK1 (NK1 - next of kin / associated parties segment-)
298     * @see AbstractGroup#insertRepetition(Structure, int) 
299     */
300    public NK1 insertNK1(int rep) throws HL7Exception { 
301       return (NK1)super.insertRepetition("NK1", rep);
302    }
303
304
305    /**
306     * Removes a specific repetition of NK1 (NK1 - next of kin / associated parties segment-)
307     * @see AbstractGroup#removeRepetition(String, int) 
308     */
309    public NK1 removeNK1(int rep) throws HL7Exception { 
310       return (NK1)super.removeRepetition("NK1", rep);
311    }
312
313
314
315    /**
316     * Returns
317     * the first repetition of 
318     * GT1 (GT1 - guarantor segment) - creates it if necessary
319     */
320    public GT1 getGT1() { 
321       return getTyped("GT1", GT1.class);
322    }
323
324
325    /**
326     * Returns a specific repetition of
327     * GT1 (GT1 - guarantor segment) - creates it if necessary
328     *
329     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
330     * @throws HL7Exception if the repetition requested is more than one 
331     *     greater than the number of existing repetitions.
332     */
333    public GT1 getGT1(int rep) { 
334       return getTyped("GT1", rep, GT1.class);
335    }
336
337    /** 
338     * Returns the number of existing repetitions of GT1 
339     */ 
340    public int getGT1Reps() { 
341        return getReps("GT1");
342    } 
343
344    /** 
345     * <p>
346     * Returns a non-modifiable List containing all current existing repetitions of GT1.
347     * <p>
348     * <p>
349     * Note that unlike {@link #getGT1()}, this method will not create any reps
350     * if none are already present, so an empty list may be returned.
351     * </p>
352     */ 
353    public List<GT1> getGT1All() throws HL7Exception {
354        return getAllAsList("GT1", GT1.class);
355    } 
356
357    /**
358     * Inserts a specific repetition of GT1 (GT1 - guarantor segment)
359     * @see AbstractGroup#insertRepetition(Structure, int) 
360     */
361    public void insertGT1(GT1 structure, int rep) throws HL7Exception { 
362       super.insertRepetition( "GT1", structure, rep);
363    }
364
365
366    /**
367     * Inserts a specific repetition of GT1 (GT1 - guarantor segment)
368     * @see AbstractGroup#insertRepetition(Structure, int) 
369     */
370    public GT1 insertGT1(int rep) throws HL7Exception { 
371       return (GT1)super.insertRepetition("GT1", rep);
372    }
373
374
375    /**
376     * Removes a specific repetition of GT1 (GT1 - guarantor segment)
377     * @see AbstractGroup#removeRepetition(String, int) 
378     */
379    public GT1 removeGT1(int rep) throws HL7Exception { 
380       return (GT1)super.removeRepetition("GT1", rep);
381    }
382
383
384
385    /**
386     * Returns
387     * the first repetition of 
388     * IN1IN2IN3 (a Group object) - creates it if necessary
389     */
390    public RPA_I08_IN1IN2IN3 getIN1IN2IN3() { 
391       return getTyped("IN1IN2IN3", RPA_I08_IN1IN2IN3.class);
392    }
393
394
395    /**
396     * Returns a specific repetition of
397     * IN1IN2IN3 (a Group object) - creates it if necessary
398     *
399     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
400     * @throws HL7Exception if the repetition requested is more than one 
401     *     greater than the number of existing repetitions.
402     */
403    public RPA_I08_IN1IN2IN3 getIN1IN2IN3(int rep) { 
404       return getTyped("IN1IN2IN3", rep, RPA_I08_IN1IN2IN3.class);
405    }
406
407    /** 
408     * Returns the number of existing repetitions of IN1IN2IN3 
409     */ 
410    public int getIN1IN2IN3Reps() { 
411        return getReps("IN1IN2IN3");
412    } 
413
414    /** 
415     * <p>
416     * Returns a non-modifiable List containing all current existing repetitions of IN1IN2IN3.
417     * <p>
418     * <p>
419     * Note that unlike {@link #getIN1IN2IN3()}, this method will not create any reps
420     * if none are already present, so an empty list may be returned.
421     * </p>
422     */ 
423    public List<RPA_I08_IN1IN2IN3> getIN1IN2IN3All() throws HL7Exception {
424        return getAllAsList("IN1IN2IN3", RPA_I08_IN1IN2IN3.class);
425    } 
426
427    /**
428     * Inserts a specific repetition of IN1IN2IN3 (a Group object)
429     * @see AbstractGroup#insertRepetition(Structure, int) 
430     */
431    public void insertIN1IN2IN3(RPA_I08_IN1IN2IN3 structure, int rep) throws HL7Exception { 
432       super.insertRepetition( "IN1IN2IN3", structure, rep);
433    }
434
435
436    /**
437     * Inserts a specific repetition of IN1IN2IN3 (a Group object)
438     * @see AbstractGroup#insertRepetition(Structure, int) 
439     */
440    public RPA_I08_IN1IN2IN3 insertIN1IN2IN3(int rep) throws HL7Exception { 
441       return (RPA_I08_IN1IN2IN3)super.insertRepetition("IN1IN2IN3", rep);
442    }
443
444
445    /**
446     * Removes a specific repetition of IN1IN2IN3 (a Group object)
447     * @see AbstractGroup#removeRepetition(String, int) 
448     */
449    public RPA_I08_IN1IN2IN3 removeIN1IN2IN3(int rep) throws HL7Exception { 
450       return (RPA_I08_IN1IN2IN3)super.removeRepetition("IN1IN2IN3", rep);
451    }
452
453
454
455    /**
456     * Returns
457     * ACC (ACC - accident segment) - creates it if necessary
458     */
459    public ACC getACC() { 
460       return getTyped("ACC", ACC.class);
461    }
462
463
464
465
466    /**
467     * Returns
468     * the first repetition of 
469     * DG1 (DG1 - diagnosis segment) - creates it if necessary
470     */
471    public DG1 getDG1() { 
472       return getTyped("DG1", DG1.class);
473    }
474
475
476    /**
477     * Returns a specific repetition of
478     * DG1 (DG1 - diagnosis segment) - creates it if necessary
479     *
480     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
481     * @throws HL7Exception if the repetition requested is more than one 
482     *     greater than the number of existing repetitions.
483     */
484    public DG1 getDG1(int rep) { 
485       return getTyped("DG1", rep, DG1.class);
486    }
487
488    /** 
489     * Returns the number of existing repetitions of DG1 
490     */ 
491    public int getDG1Reps() { 
492        return getReps("DG1");
493    } 
494
495    /** 
496     * <p>
497     * Returns a non-modifiable List containing all current existing repetitions of DG1.
498     * <p>
499     * <p>
500     * Note that unlike {@link #getDG1()}, this method will not create any reps
501     * if none are already present, so an empty list may be returned.
502     * </p>
503     */ 
504    public List<DG1> getDG1All() throws HL7Exception {
505        return getAllAsList("DG1", DG1.class);
506    } 
507
508    /**
509     * Inserts a specific repetition of DG1 (DG1 - diagnosis segment)
510     * @see AbstractGroup#insertRepetition(Structure, int) 
511     */
512    public void insertDG1(DG1 structure, int rep) throws HL7Exception { 
513       super.insertRepetition( "DG1", structure, rep);
514    }
515
516
517    /**
518     * Inserts a specific repetition of DG1 (DG1 - diagnosis segment)
519     * @see AbstractGroup#insertRepetition(Structure, int) 
520     */
521    public DG1 insertDG1(int rep) throws HL7Exception { 
522       return (DG1)super.insertRepetition("DG1", rep);
523    }
524
525
526    /**
527     * Removes a specific repetition of DG1 (DG1 - diagnosis segment)
528     * @see AbstractGroup#removeRepetition(String, int) 
529     */
530    public DG1 removeDG1(int rep) throws HL7Exception { 
531       return (DG1)super.removeRepetition("DG1", rep);
532    }
533
534
535
536    /**
537     * Returns
538     * the first repetition of 
539     * DRG (DRG - diagnosis related group segment) - creates it if necessary
540     */
541    public DRG getDRG() { 
542       return getTyped("DRG", DRG.class);
543    }
544
545
546    /**
547     * Returns a specific repetition of
548     * DRG (DRG - diagnosis related group segment) - creates it if necessary
549     *
550     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
551     * @throws HL7Exception if the repetition requested is more than one 
552     *     greater than the number of existing repetitions.
553     */
554    public DRG getDRG(int rep) { 
555       return getTyped("DRG", rep, DRG.class);
556    }
557
558    /** 
559     * Returns the number of existing repetitions of DRG 
560     */ 
561    public int getDRGReps() { 
562        return getReps("DRG");
563    } 
564
565    /** 
566     * <p>
567     * Returns a non-modifiable List containing all current existing repetitions of DRG.
568     * <p>
569     * <p>
570     * Note that unlike {@link #getDRG()}, this method will not create any reps
571     * if none are already present, so an empty list may be returned.
572     * </p>
573     */ 
574    public List<DRG> getDRGAll() throws HL7Exception {
575        return getAllAsList("DRG", DRG.class);
576    } 
577
578    /**
579     * Inserts a specific repetition of DRG (DRG - diagnosis related group segment)
580     * @see AbstractGroup#insertRepetition(Structure, int) 
581     */
582    public void insertDRG(DRG structure, int rep) throws HL7Exception { 
583       super.insertRepetition( "DRG", structure, rep);
584    }
585
586
587    /**
588     * Inserts a specific repetition of DRG (DRG - diagnosis related group segment)
589     * @see AbstractGroup#insertRepetition(Structure, int) 
590     */
591    public DRG insertDRG(int rep) throws HL7Exception { 
592       return (DRG)super.insertRepetition("DRG", rep);
593    }
594
595
596    /**
597     * Removes a specific repetition of DRG (DRG - diagnosis related group segment)
598     * @see AbstractGroup#removeRepetition(String, int) 
599     */
600    public DRG removeDRG(int rep) throws HL7Exception { 
601       return (DRG)super.removeRepetition("DRG", rep);
602    }
603
604
605
606    /**
607     * Returns
608     * the first repetition of 
609     * AL1 (AL1 - patient allergy information segment) - creates it if necessary
610     */
611    public AL1 getAL1() { 
612       return getTyped("AL1", AL1.class);
613    }
614
615
616    /**
617     * Returns a specific repetition of
618     * AL1 (AL1 - patient allergy information segment) - creates it if necessary
619     *
620     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
621     * @throws HL7Exception if the repetition requested is more than one 
622     *     greater than the number of existing repetitions.
623     */
624    public AL1 getAL1(int rep) { 
625       return getTyped("AL1", rep, AL1.class);
626    }
627
628    /** 
629     * Returns the number of existing repetitions of AL1 
630     */ 
631    public int getAL1Reps() { 
632        return getReps("AL1");
633    } 
634
635    /** 
636     * <p>
637     * Returns a non-modifiable List containing all current existing repetitions of AL1.
638     * <p>
639     * <p>
640     * Note that unlike {@link #getAL1()}, this method will not create any reps
641     * if none are already present, so an empty list may be returned.
642     * </p>
643     */ 
644    public List<AL1> getAL1All() throws HL7Exception {
645        return getAllAsList("AL1", AL1.class);
646    } 
647
648    /**
649     * Inserts a specific repetition of AL1 (AL1 - patient allergy information segment)
650     * @see AbstractGroup#insertRepetition(Structure, int) 
651     */
652    public void insertAL1(AL1 structure, int rep) throws HL7Exception { 
653       super.insertRepetition( "AL1", structure, rep);
654    }
655
656
657    /**
658     * Inserts a specific repetition of AL1 (AL1 - patient allergy information segment)
659     * @see AbstractGroup#insertRepetition(Structure, int) 
660     */
661    public AL1 insertAL1(int rep) throws HL7Exception { 
662       return (AL1)super.insertRepetition("AL1", rep);
663    }
664
665
666    /**
667     * Removes a specific repetition of AL1 (AL1 - patient allergy information segment)
668     * @see AbstractGroup#removeRepetition(String, int) 
669     */
670    public AL1 removeAL1(int rep) throws HL7Exception { 
671       return (AL1)super.removeRepetition("AL1", rep);
672    }
673
674
675
676    /**
677     * Returns
678     * the first repetition of 
679     * PR1AUTCTD (a Group object) - creates it if necessary
680     */
681    public RPA_I08_PR1AUTCTD getPR1AUTCTD() { 
682       return getTyped("PR1AUTCTD", RPA_I08_PR1AUTCTD.class);
683    }
684
685
686    /**
687     * Returns a specific repetition of
688     * PR1AUTCTD (a Group object) - creates it if necessary
689     *
690     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
691     * @throws HL7Exception if the repetition requested is more than one 
692     *     greater than the number of existing repetitions.
693     */
694    public RPA_I08_PR1AUTCTD getPR1AUTCTD(int rep) { 
695       return getTyped("PR1AUTCTD", rep, RPA_I08_PR1AUTCTD.class);
696    }
697
698    /** 
699     * Returns the number of existing repetitions of PR1AUTCTD 
700     */ 
701    public int getPR1AUTCTDReps() { 
702        return getReps("PR1AUTCTD");
703    } 
704
705    /** 
706     * <p>
707     * Returns a non-modifiable List containing all current existing repetitions of PR1AUTCTD.
708     * <p>
709     * <p>
710     * Note that unlike {@link #getPR1AUTCTD()}, this method will not create any reps
711     * if none are already present, so an empty list may be returned.
712     * </p>
713     */ 
714    public List<RPA_I08_PR1AUTCTD> getPR1AUTCTDAll() throws HL7Exception {
715        return getAllAsList("PR1AUTCTD", RPA_I08_PR1AUTCTD.class);
716    } 
717
718    /**
719     * Inserts a specific repetition of PR1AUTCTD (a Group object)
720     * @see AbstractGroup#insertRepetition(Structure, int) 
721     */
722    public void insertPR1AUTCTD(RPA_I08_PR1AUTCTD structure, int rep) throws HL7Exception { 
723       super.insertRepetition( "PR1AUTCTD", structure, rep);
724    }
725
726
727    /**
728     * Inserts a specific repetition of PR1AUTCTD (a Group object)
729     * @see AbstractGroup#insertRepetition(Structure, int) 
730     */
731    public RPA_I08_PR1AUTCTD insertPR1AUTCTD(int rep) throws HL7Exception { 
732       return (RPA_I08_PR1AUTCTD)super.insertRepetition("PR1AUTCTD", rep);
733    }
734
735
736    /**
737     * Removes a specific repetition of PR1AUTCTD (a Group object)
738     * @see AbstractGroup#removeRepetition(String, int) 
739     */
740    public RPA_I08_PR1AUTCTD removePR1AUTCTD(int rep) throws HL7Exception { 
741       return (RPA_I08_PR1AUTCTD)super.removeRepetition("PR1AUTCTD", rep);
742    }
743
744
745
746    /**
747     * Returns
748     * the first repetition of 
749     * OBRNTEOBXNTE (a Group object) - creates it if necessary
750     */
751    public RPA_I08_OBRNTEOBXNTE getOBRNTEOBXNTE() { 
752       return getTyped("OBRNTEOBXNTE", RPA_I08_OBRNTEOBXNTE.class);
753    }
754
755
756    /**
757     * Returns a specific repetition of
758     * OBRNTEOBXNTE (a Group object) - creates it if necessary
759     *
760     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
761     * @throws HL7Exception if the repetition requested is more than one 
762     *     greater than the number of existing repetitions.
763     */
764    public RPA_I08_OBRNTEOBXNTE getOBRNTEOBXNTE(int rep) { 
765       return getTyped("OBRNTEOBXNTE", rep, RPA_I08_OBRNTEOBXNTE.class);
766    }
767
768    /** 
769     * Returns the number of existing repetitions of OBRNTEOBXNTE 
770     */ 
771    public int getOBRNTEOBXNTEReps() { 
772        return getReps("OBRNTEOBXNTE");
773    } 
774
775    /** 
776     * <p>
777     * Returns a non-modifiable List containing all current existing repetitions of OBRNTEOBXNTE.
778     * <p>
779     * <p>
780     * Note that unlike {@link #getOBRNTEOBXNTE()}, this method will not create any reps
781     * if none are already present, so an empty list may be returned.
782     * </p>
783     */ 
784    public List<RPA_I08_OBRNTEOBXNTE> getOBRNTEOBXNTEAll() throws HL7Exception {
785        return getAllAsList("OBRNTEOBXNTE", RPA_I08_OBRNTEOBXNTE.class);
786    } 
787
788    /**
789     * Inserts a specific repetition of OBRNTEOBXNTE (a Group object)
790     * @see AbstractGroup#insertRepetition(Structure, int) 
791     */
792    public void insertOBRNTEOBXNTE(RPA_I08_OBRNTEOBXNTE structure, int rep) throws HL7Exception { 
793       super.insertRepetition( "OBRNTEOBXNTE", structure, rep);
794    }
795
796
797    /**
798     * Inserts a specific repetition of OBRNTEOBXNTE (a Group object)
799     * @see AbstractGroup#insertRepetition(Structure, int) 
800     */
801    public RPA_I08_OBRNTEOBXNTE insertOBRNTEOBXNTE(int rep) throws HL7Exception { 
802       return (RPA_I08_OBRNTEOBXNTE)super.insertRepetition("OBRNTEOBXNTE", rep);
803    }
804
805
806    /**
807     * Removes a specific repetition of OBRNTEOBXNTE (a Group object)
808     * @see AbstractGroup#removeRepetition(String, int) 
809     */
810    public RPA_I08_OBRNTEOBXNTE removeOBRNTEOBXNTE(int rep) throws HL7Exception { 
811       return (RPA_I08_OBRNTEOBXNTE)super.removeRepetition("OBRNTEOBXNTE", rep);
812    }
813
814
815
816    /**
817     * Returns
818     * PV1PV2 (a Group object) - creates it if necessary
819     */
820    public RPA_I08_PV1PV2 getPV1PV2() { 
821       return getTyped("PV1PV2", RPA_I08_PV1PV2.class);
822    }
823
824
825
826
827    /**
828     * Returns
829     * the first repetition of 
830     * NTE (NTE - notes and comments segment) - creates it if necessary
831     */
832    public NTE getNTE() { 
833       return getTyped("NTE", NTE.class);
834    }
835
836
837    /**
838     * Returns a specific repetition of
839     * NTE (NTE - notes and comments segment) - creates it if necessary
840     *
841     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
842     * @throws HL7Exception if the repetition requested is more than one 
843     *     greater than the number of existing repetitions.
844     */
845    public NTE getNTE(int rep) { 
846       return getTyped("NTE", rep, NTE.class);
847    }
848
849    /** 
850     * Returns the number of existing repetitions of NTE 
851     */ 
852    public int getNTEReps() { 
853        return getReps("NTE");
854    } 
855
856    /** 
857     * <p>
858     * Returns a non-modifiable List containing all current existing repetitions of NTE.
859     * <p>
860     * <p>
861     * Note that unlike {@link #getNTE()}, this method will not create any reps
862     * if none are already present, so an empty list may be returned.
863     * </p>
864     */ 
865    public List<NTE> getNTEAll() throws HL7Exception {
866        return getAllAsList("NTE", NTE.class);
867    } 
868
869    /**
870     * Inserts a specific repetition of NTE (NTE - notes and comments segment)
871     * @see AbstractGroup#insertRepetition(Structure, int) 
872     */
873    public void insertNTE(NTE structure, int rep) throws HL7Exception { 
874       super.insertRepetition( "NTE", structure, rep);
875    }
876
877
878    /**
879     * Inserts a specific repetition of NTE (NTE - notes and comments segment)
880     * @see AbstractGroup#insertRepetition(Structure, int) 
881     */
882    public NTE insertNTE(int rep) throws HL7Exception { 
883       return (NTE)super.insertRepetition("NTE", rep);
884    }
885
886
887    /**
888     * Removes a specific repetition of NTE (NTE - notes and comments segment)
889     * @see AbstractGroup#removeRepetition(String, int) 
890     */
891    public NTE removeNTE(int rep) throws HL7Exception { 
892       return (NTE)super.removeRepetition("NTE", rep);
893    }
894
895
896
897}
898