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.v251.message;
035
036import ca.uhn.hl7v2.model.v251.group.*;
037import ca.uhn.hl7v2.model.v251.segment.*;
038
039import ca.uhn.hl7v2.HL7Exception;
040import ca.uhn.hl7v2.parser.ModelClassFactory;
041import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
042import ca.uhn.hl7v2.model.*;
043
044
045/**
046 * <p>Represents a RPA_I08 message structure (see chapter 11.4.1). This structure contains the 
047 * following elements: </p>
048 * <ul>
049                                 * <li>1: MSH (Message Header) <b> </b> </li>
050                                 * <li>2: SFT (Software Segment) <b>optional repeating</b> </li>
051                                 * <li>3: MSA (Message Acknowledgment) <b> </b> </li>
052                                 * <li>4: RF1 (Referral Information) <b>optional </b> </li>
053                                 * <li>5: RPA_I08_AUTHORIZATION (a Group object) <b>optional </b> </li>
054                                 * <li>6: RPA_I08_PROVIDER (a Group object) <b> repeating</b> </li>
055                                 * <li>7: PID (Patient Identification) <b> </b> </li>
056                                 * <li>8: NK1 (Next of Kin / Associated Parties) <b>optional repeating</b> </li>
057                                 * <li>9: GT1 (Guarantor) <b>optional repeating</b> </li>
058                                 * <li>10: RPA_I08_INSURANCE (a Group object) <b>optional repeating</b> </li>
059                                 * <li>11: ACC (Accident) <b>optional </b> </li>
060                                 * <li>12: DG1 (Diagnosis) <b>optional repeating</b> </li>
061                                 * <li>13: DRG (Diagnosis Related Group) <b>optional repeating</b> </li>
062                                 * <li>14: AL1 (Patient Allergy Information) <b>optional repeating</b> </li>
063                                 * <li>15: RPA_I08_PROCEDURE (a Group object) <b> repeating</b> </li>
064                                 * <li>16: RPA_I08_OBSERVATION (a Group object) <b>optional repeating</b> </li>
065                                 * <li>17: RPA_I08_VISIT (a Group object) <b>optional </b> </li>
066                                 * <li>18: NTE (Notes and Comments) <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(SFT.class, false, true);
091                                  this.add(MSA.class, true, false);
092                                  this.add(RF1.class, false, false);
093                                  this.add(RPA_I08_AUTHORIZATION.class, false, false);
094                                  this.add(RPA_I08_PROVIDER.class, true, true);
095                                  this.add(PID.class, true, false);
096                                  this.add(NK1.class, false, true);
097                                  this.add(GT1.class, false, true);
098                                  this.add(RPA_I08_INSURANCE.class, false, true);
099                                  this.add(ACC.class, false, false);
100                                  this.add(DG1.class, false, true);
101                                  this.add(DRG.class, false, true);
102                                  this.add(AL1.class, false, true);
103                                  this.add(RPA_I08_PROCEDURE.class, true, true);
104                                  this.add(RPA_I08_OBSERVATION.class, false, true);
105                                  this.add(RPA_I08_VISIT.class, false, false);
106                                  this.add(NTE.class, false, true);
107               } catch(HL7Exception e) {
108          log.error("Unexpected error creating RPA_I08 - this is probably a bug in the source code generator.", e);
109       }
110    }
111
112
113    /** 
114     * Returns "2.5.1"
115     */
116    public String getVersion() {
117       return "2.5.1";
118    }
119
120
121
122
123    /**
124     * <p>
125     * Returns
126     * MSH (Message Header) - creates it if necessary
127     * </p>
128     * 
129     *
130     */
131    public MSH getMSH() { 
132       return getTyped("MSH", MSH.class);
133    }
134
135
136
137
138
139    /**
140     * <p>
141     * Returns
142     * the first repetition of 
143     * SFT (Software Segment) - creates it if necessary
144     * </p>
145     * 
146     *
147     */
148    public SFT getSFT() { 
149       return getTyped("SFT", SFT.class);
150    }
151
152
153    /**
154     * <p>
155     * Returns a specific repetition of
156     * SFT (Software Segment) - creates it if necessary
157     * </p>
158     * 
159     *
160     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
161     * @throws HL7Exception if the repetition requested is more than one 
162     *     greater than the number of existing repetitions.
163     */
164    public SFT getSFT(int rep) { 
165       return getTyped("SFT", rep, SFT.class);
166    }
167
168    /** 
169     * <p>
170     * Returns the number of existing repetitions of SFT 
171     * </p>
172     * 
173     */ 
174    public int getSFTReps() { 
175        return getReps("SFT");
176    } 
177
178    /** 
179     * <p>
180     * Returns a non-modifiable List containing all current existing repetitions of SFT.
181     * <p>
182     * <p>
183     * Note that unlike {@link #getSFT()}, this method will not create any reps
184     * if none are already present, so an empty list may be returned.
185     * </p>
186     * 
187     */ 
188    public java.util.List<SFT> getSFTAll() throws HL7Exception {
189        return getAllAsList("SFT", SFT.class);
190    } 
191
192    /**
193     * <p>
194     * Inserts a specific repetition of SFT (Software Segment)
195     * </p>
196     * 
197     *
198     * @see AbstractGroup#insertRepetition(Structure, int) 
199     */
200    public void insertSFT(SFT structure, int rep) throws HL7Exception { 
201       super.insertRepetition( "SFT", structure, rep);
202    }
203
204
205    /**
206     * <p>
207     * Inserts a specific repetition of SFT (Software Segment)
208     * </p>
209     * 
210     *
211     * @see AbstractGroup#insertRepetition(Structure, int) 
212     */
213    public SFT insertSFT(int rep) throws HL7Exception { 
214       return (SFT)super.insertRepetition("SFT", rep);
215    }
216
217
218    /**
219     * <p>
220     * Removes a specific repetition of SFT (Software Segment)
221     * </p>
222     * 
223     *
224     * @see AbstractGroup#removeRepetition(String, int) 
225     */
226    public SFT removeSFT(int rep) throws HL7Exception { 
227       return (SFT)super.removeRepetition("SFT", rep);
228    }
229
230
231
232
233    /**
234     * <p>
235     * Returns
236     * MSA (Message Acknowledgment) - creates it if necessary
237     * </p>
238     * 
239     *
240     */
241    public MSA getMSA() { 
242       return getTyped("MSA", MSA.class);
243    }
244
245
246
247
248
249    /**
250     * <p>
251     * Returns
252     * RF1 (Referral Information) - creates it if necessary
253     * </p>
254     * 
255     *
256     */
257    public RF1 getRF1() { 
258       return getTyped("RF1", RF1.class);
259    }
260
261
262
263
264
265    /**
266     * <p>
267     * Returns
268     * AUTHORIZATION (a Group object) - creates it if necessary
269     * </p>
270     * 
271     *
272     */
273    public RPA_I08_AUTHORIZATION getAUTHORIZATION() { 
274       return getTyped("AUTHORIZATION", RPA_I08_AUTHORIZATION.class);
275    }
276
277
278
279
280
281    /**
282     * <p>
283     * Returns
284     * the first repetition of 
285     * PROVIDER (a Group object) - creates it if necessary
286     * </p>
287     * 
288     *
289     */
290    public RPA_I08_PROVIDER getPROVIDER() { 
291       return getTyped("PROVIDER", RPA_I08_PROVIDER.class);
292    }
293
294
295    /**
296     * <p>
297     * Returns a specific repetition of
298     * PROVIDER (a Group object) - creates it if necessary
299     * </p>
300     * 
301     *
302     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
303     * @throws HL7Exception if the repetition requested is more than one 
304     *     greater than the number of existing repetitions.
305     */
306    public RPA_I08_PROVIDER getPROVIDER(int rep) { 
307       return getTyped("PROVIDER", rep, RPA_I08_PROVIDER.class);
308    }
309
310    /** 
311     * <p>
312     * Returns the number of existing repetitions of PROVIDER 
313     * </p>
314     * 
315     */ 
316    public int getPROVIDERReps() { 
317        return getReps("PROVIDER");
318    } 
319
320    /** 
321     * <p>
322     * Returns a non-modifiable List containing all current existing repetitions of PROVIDER.
323     * <p>
324     * <p>
325     * Note that unlike {@link #getPROVIDER()}, this method will not create any reps
326     * if none are already present, so an empty list may be returned.
327     * </p>
328     * 
329     */ 
330    public java.util.List<RPA_I08_PROVIDER> getPROVIDERAll() throws HL7Exception {
331        return getAllAsList("PROVIDER", RPA_I08_PROVIDER.class);
332    } 
333
334    /**
335     * <p>
336     * Inserts a specific repetition of PROVIDER (a Group object)
337     * </p>
338     * 
339     *
340     * @see AbstractGroup#insertRepetition(Structure, int) 
341     */
342    public void insertPROVIDER(RPA_I08_PROVIDER structure, int rep) throws HL7Exception { 
343       super.insertRepetition( "PROVIDER", structure, rep);
344    }
345
346
347    /**
348     * <p>
349     * Inserts a specific repetition of PROVIDER (a Group object)
350     * </p>
351     * 
352     *
353     * @see AbstractGroup#insertRepetition(Structure, int) 
354     */
355    public RPA_I08_PROVIDER insertPROVIDER(int rep) throws HL7Exception { 
356       return (RPA_I08_PROVIDER)super.insertRepetition("PROVIDER", rep);
357    }
358
359
360    /**
361     * <p>
362     * Removes a specific repetition of PROVIDER (a Group object)
363     * </p>
364     * 
365     *
366     * @see AbstractGroup#removeRepetition(String, int) 
367     */
368    public RPA_I08_PROVIDER removePROVIDER(int rep) throws HL7Exception { 
369       return (RPA_I08_PROVIDER)super.removeRepetition("PROVIDER", rep);
370    }
371
372
373
374
375    /**
376     * <p>
377     * Returns
378     * PID (Patient Identification) - creates it if necessary
379     * </p>
380     * 
381     *
382     */
383    public PID getPID() { 
384       return getTyped("PID", PID.class);
385    }
386
387
388
389
390
391    /**
392     * <p>
393     * Returns
394     * the first repetition of 
395     * NK1 (Next of Kin / Associated Parties) - creates it if necessary
396     * </p>
397     * 
398     *
399     */
400    public NK1 getNK1() { 
401       return getTyped("NK1", NK1.class);
402    }
403
404
405    /**
406     * <p>
407     * Returns a specific repetition of
408     * NK1 (Next of Kin / Associated Parties) - creates it if necessary
409     * </p>
410     * 
411     *
412     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
413     * @throws HL7Exception if the repetition requested is more than one 
414     *     greater than the number of existing repetitions.
415     */
416    public NK1 getNK1(int rep) { 
417       return getTyped("NK1", rep, NK1.class);
418    }
419
420    /** 
421     * <p>
422     * Returns the number of existing repetitions of NK1 
423     * </p>
424     * 
425     */ 
426    public int getNK1Reps() { 
427        return getReps("NK1");
428    } 
429
430    /** 
431     * <p>
432     * Returns a non-modifiable List containing all current existing repetitions of NK1.
433     * <p>
434     * <p>
435     * Note that unlike {@link #getNK1()}, this method will not create any reps
436     * if none are already present, so an empty list may be returned.
437     * </p>
438     * 
439     */ 
440    public java.util.List<NK1> getNK1All() throws HL7Exception {
441        return getAllAsList("NK1", NK1.class);
442    } 
443
444    /**
445     * <p>
446     * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
447     * </p>
448     * 
449     *
450     * @see AbstractGroup#insertRepetition(Structure, int) 
451     */
452    public void insertNK1(NK1 structure, int rep) throws HL7Exception { 
453       super.insertRepetition( "NK1", structure, rep);
454    }
455
456
457    /**
458     * <p>
459     * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
460     * </p>
461     * 
462     *
463     * @see AbstractGroup#insertRepetition(Structure, int) 
464     */
465    public NK1 insertNK1(int rep) throws HL7Exception { 
466       return (NK1)super.insertRepetition("NK1", rep);
467    }
468
469
470    /**
471     * <p>
472     * Removes a specific repetition of NK1 (Next of Kin / Associated Parties)
473     * </p>
474     * 
475     *
476     * @see AbstractGroup#removeRepetition(String, int) 
477     */
478    public NK1 removeNK1(int rep) throws HL7Exception { 
479       return (NK1)super.removeRepetition("NK1", rep);
480    }
481
482
483
484
485    /**
486     * <p>
487     * Returns
488     * the first repetition of 
489     * GT1 (Guarantor) - creates it if necessary
490     * </p>
491     * 
492     *
493     */
494    public GT1 getGT1() { 
495       return getTyped("GT1", GT1.class);
496    }
497
498
499    /**
500     * <p>
501     * Returns a specific repetition of
502     * GT1 (Guarantor) - creates it if necessary
503     * </p>
504     * 
505     *
506     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
507     * @throws HL7Exception if the repetition requested is more than one 
508     *     greater than the number of existing repetitions.
509     */
510    public GT1 getGT1(int rep) { 
511       return getTyped("GT1", rep, GT1.class);
512    }
513
514    /** 
515     * <p>
516     * Returns the number of existing repetitions of GT1 
517     * </p>
518     * 
519     */ 
520    public int getGT1Reps() { 
521        return getReps("GT1");
522    } 
523
524    /** 
525     * <p>
526     * Returns a non-modifiable List containing all current existing repetitions of GT1.
527     * <p>
528     * <p>
529     * Note that unlike {@link #getGT1()}, this method will not create any reps
530     * if none are already present, so an empty list may be returned.
531     * </p>
532     * 
533     */ 
534    public java.util.List<GT1> getGT1All() throws HL7Exception {
535        return getAllAsList("GT1", GT1.class);
536    } 
537
538    /**
539     * <p>
540     * Inserts a specific repetition of GT1 (Guarantor)
541     * </p>
542     * 
543     *
544     * @see AbstractGroup#insertRepetition(Structure, int) 
545     */
546    public void insertGT1(GT1 structure, int rep) throws HL7Exception { 
547       super.insertRepetition( "GT1", structure, rep);
548    }
549
550
551    /**
552     * <p>
553     * Inserts a specific repetition of GT1 (Guarantor)
554     * </p>
555     * 
556     *
557     * @see AbstractGroup#insertRepetition(Structure, int) 
558     */
559    public GT1 insertGT1(int rep) throws HL7Exception { 
560       return (GT1)super.insertRepetition("GT1", rep);
561    }
562
563
564    /**
565     * <p>
566     * Removes a specific repetition of GT1 (Guarantor)
567     * </p>
568     * 
569     *
570     * @see AbstractGroup#removeRepetition(String, int) 
571     */
572    public GT1 removeGT1(int rep) throws HL7Exception { 
573       return (GT1)super.removeRepetition("GT1", rep);
574    }
575
576
577
578
579    /**
580     * <p>
581     * Returns
582     * the first repetition of 
583     * INSURANCE (a Group object) - creates it if necessary
584     * </p>
585     * 
586     *
587     */
588    public RPA_I08_INSURANCE getINSURANCE() { 
589       return getTyped("INSURANCE", RPA_I08_INSURANCE.class);
590    }
591
592
593    /**
594     * <p>
595     * Returns a specific repetition of
596     * INSURANCE (a Group object) - creates it if necessary
597     * </p>
598     * 
599     *
600     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
601     * @throws HL7Exception if the repetition requested is more than one 
602     *     greater than the number of existing repetitions.
603     */
604    public RPA_I08_INSURANCE getINSURANCE(int rep) { 
605       return getTyped("INSURANCE", rep, RPA_I08_INSURANCE.class);
606    }
607
608    /** 
609     * <p>
610     * Returns the number of existing repetitions of INSURANCE 
611     * </p>
612     * 
613     */ 
614    public int getINSURANCEReps() { 
615        return getReps("INSURANCE");
616    } 
617
618    /** 
619     * <p>
620     * Returns a non-modifiable List containing all current existing repetitions of INSURANCE.
621     * <p>
622     * <p>
623     * Note that unlike {@link #getINSURANCE()}, this method will not create any reps
624     * if none are already present, so an empty list may be returned.
625     * </p>
626     * 
627     */ 
628    public java.util.List<RPA_I08_INSURANCE> getINSURANCEAll() throws HL7Exception {
629        return getAllAsList("INSURANCE", RPA_I08_INSURANCE.class);
630    } 
631
632    /**
633     * <p>
634     * Inserts a specific repetition of INSURANCE (a Group object)
635     * </p>
636     * 
637     *
638     * @see AbstractGroup#insertRepetition(Structure, int) 
639     */
640    public void insertINSURANCE(RPA_I08_INSURANCE structure, int rep) throws HL7Exception { 
641       super.insertRepetition( "INSURANCE", structure, rep);
642    }
643
644
645    /**
646     * <p>
647     * Inserts a specific repetition of INSURANCE (a Group object)
648     * </p>
649     * 
650     *
651     * @see AbstractGroup#insertRepetition(Structure, int) 
652     */
653    public RPA_I08_INSURANCE insertINSURANCE(int rep) throws HL7Exception { 
654       return (RPA_I08_INSURANCE)super.insertRepetition("INSURANCE", rep);
655    }
656
657
658    /**
659     * <p>
660     * Removes a specific repetition of INSURANCE (a Group object)
661     * </p>
662     * 
663     *
664     * @see AbstractGroup#removeRepetition(String, int) 
665     */
666    public RPA_I08_INSURANCE removeINSURANCE(int rep) throws HL7Exception { 
667       return (RPA_I08_INSURANCE)super.removeRepetition("INSURANCE", rep);
668    }
669
670
671
672
673    /**
674     * <p>
675     * Returns
676     * ACC (Accident) - creates it if necessary
677     * </p>
678     * 
679     *
680     */
681    public ACC getACC() { 
682       return getTyped("ACC", ACC.class);
683    }
684
685
686
687
688
689    /**
690     * <p>
691     * Returns
692     * the first repetition of 
693     * DG1 (Diagnosis) - creates it if necessary
694     * </p>
695     * 
696     *
697     */
698    public DG1 getDG1() { 
699       return getTyped("DG1", DG1.class);
700    }
701
702
703    /**
704     * <p>
705     * Returns a specific repetition of
706     * DG1 (Diagnosis) - creates it if necessary
707     * </p>
708     * 
709     *
710     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
711     * @throws HL7Exception if the repetition requested is more than one 
712     *     greater than the number of existing repetitions.
713     */
714    public DG1 getDG1(int rep) { 
715       return getTyped("DG1", rep, DG1.class);
716    }
717
718    /** 
719     * <p>
720     * Returns the number of existing repetitions of DG1 
721     * </p>
722     * 
723     */ 
724    public int getDG1Reps() { 
725        return getReps("DG1");
726    } 
727
728    /** 
729     * <p>
730     * Returns a non-modifiable List containing all current existing repetitions of DG1.
731     * <p>
732     * <p>
733     * Note that unlike {@link #getDG1()}, this method will not create any reps
734     * if none are already present, so an empty list may be returned.
735     * </p>
736     * 
737     */ 
738    public java.util.List<DG1> getDG1All() throws HL7Exception {
739        return getAllAsList("DG1", DG1.class);
740    } 
741
742    /**
743     * <p>
744     * Inserts a specific repetition of DG1 (Diagnosis)
745     * </p>
746     * 
747     *
748     * @see AbstractGroup#insertRepetition(Structure, int) 
749     */
750    public void insertDG1(DG1 structure, int rep) throws HL7Exception { 
751       super.insertRepetition( "DG1", structure, rep);
752    }
753
754
755    /**
756     * <p>
757     * Inserts a specific repetition of DG1 (Diagnosis)
758     * </p>
759     * 
760     *
761     * @see AbstractGroup#insertRepetition(Structure, int) 
762     */
763    public DG1 insertDG1(int rep) throws HL7Exception { 
764       return (DG1)super.insertRepetition("DG1", rep);
765    }
766
767
768    /**
769     * <p>
770     * Removes a specific repetition of DG1 (Diagnosis)
771     * </p>
772     * 
773     *
774     * @see AbstractGroup#removeRepetition(String, int) 
775     */
776    public DG1 removeDG1(int rep) throws HL7Exception { 
777       return (DG1)super.removeRepetition("DG1", rep);
778    }
779
780
781
782
783    /**
784     * <p>
785     * Returns
786     * the first repetition of 
787     * DRG (Diagnosis Related Group) - creates it if necessary
788     * </p>
789     * 
790     *
791     */
792    public DRG getDRG() { 
793       return getTyped("DRG", DRG.class);
794    }
795
796
797    /**
798     * <p>
799     * Returns a specific repetition of
800     * DRG (Diagnosis Related Group) - creates it if necessary
801     * </p>
802     * 
803     *
804     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
805     * @throws HL7Exception if the repetition requested is more than one 
806     *     greater than the number of existing repetitions.
807     */
808    public DRG getDRG(int rep) { 
809       return getTyped("DRG", rep, DRG.class);
810    }
811
812    /** 
813     * <p>
814     * Returns the number of existing repetitions of DRG 
815     * </p>
816     * 
817     */ 
818    public int getDRGReps() { 
819        return getReps("DRG");
820    } 
821
822    /** 
823     * <p>
824     * Returns a non-modifiable List containing all current existing repetitions of DRG.
825     * <p>
826     * <p>
827     * Note that unlike {@link #getDRG()}, this method will not create any reps
828     * if none are already present, so an empty list may be returned.
829     * </p>
830     * 
831     */ 
832    public java.util.List<DRG> getDRGAll() throws HL7Exception {
833        return getAllAsList("DRG", DRG.class);
834    } 
835
836    /**
837     * <p>
838     * Inserts a specific repetition of DRG (Diagnosis Related Group)
839     * </p>
840     * 
841     *
842     * @see AbstractGroup#insertRepetition(Structure, int) 
843     */
844    public void insertDRG(DRG structure, int rep) throws HL7Exception { 
845       super.insertRepetition( "DRG", structure, rep);
846    }
847
848
849    /**
850     * <p>
851     * Inserts a specific repetition of DRG (Diagnosis Related Group)
852     * </p>
853     * 
854     *
855     * @see AbstractGroup#insertRepetition(Structure, int) 
856     */
857    public DRG insertDRG(int rep) throws HL7Exception { 
858       return (DRG)super.insertRepetition("DRG", rep);
859    }
860
861
862    /**
863     * <p>
864     * Removes a specific repetition of DRG (Diagnosis Related Group)
865     * </p>
866     * 
867     *
868     * @see AbstractGroup#removeRepetition(String, int) 
869     */
870    public DRG removeDRG(int rep) throws HL7Exception { 
871       return (DRG)super.removeRepetition("DRG", rep);
872    }
873
874
875
876
877    /**
878     * <p>
879     * Returns
880     * the first repetition of 
881     * AL1 (Patient Allergy Information) - creates it if necessary
882     * </p>
883     * 
884     *
885     */
886    public AL1 getAL1() { 
887       return getTyped("AL1", AL1.class);
888    }
889
890
891    /**
892     * <p>
893     * Returns a specific repetition of
894     * AL1 (Patient Allergy Information) - creates it if necessary
895     * </p>
896     * 
897     *
898     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
899     * @throws HL7Exception if the repetition requested is more than one 
900     *     greater than the number of existing repetitions.
901     */
902    public AL1 getAL1(int rep) { 
903       return getTyped("AL1", rep, AL1.class);
904    }
905
906    /** 
907     * <p>
908     * Returns the number of existing repetitions of AL1 
909     * </p>
910     * 
911     */ 
912    public int getAL1Reps() { 
913        return getReps("AL1");
914    } 
915
916    /** 
917     * <p>
918     * Returns a non-modifiable List containing all current existing repetitions of AL1.
919     * <p>
920     * <p>
921     * Note that unlike {@link #getAL1()}, this method will not create any reps
922     * if none are already present, so an empty list may be returned.
923     * </p>
924     * 
925     */ 
926    public java.util.List<AL1> getAL1All() throws HL7Exception {
927        return getAllAsList("AL1", AL1.class);
928    } 
929
930    /**
931     * <p>
932     * Inserts a specific repetition of AL1 (Patient Allergy Information)
933     * </p>
934     * 
935     *
936     * @see AbstractGroup#insertRepetition(Structure, int) 
937     */
938    public void insertAL1(AL1 structure, int rep) throws HL7Exception { 
939       super.insertRepetition( "AL1", structure, rep);
940    }
941
942
943    /**
944     * <p>
945     * Inserts a specific repetition of AL1 (Patient Allergy Information)
946     * </p>
947     * 
948     *
949     * @see AbstractGroup#insertRepetition(Structure, int) 
950     */
951    public AL1 insertAL1(int rep) throws HL7Exception { 
952       return (AL1)super.insertRepetition("AL1", rep);
953    }
954
955
956    /**
957     * <p>
958     * Removes a specific repetition of AL1 (Patient Allergy Information)
959     * </p>
960     * 
961     *
962     * @see AbstractGroup#removeRepetition(String, int) 
963     */
964    public AL1 removeAL1(int rep) throws HL7Exception { 
965       return (AL1)super.removeRepetition("AL1", rep);
966    }
967
968
969
970
971    /**
972     * <p>
973     * Returns
974     * the first repetition of 
975     * PROCEDURE (a Group object) - creates it if necessary
976     * </p>
977     * 
978     *
979     */
980    public RPA_I08_PROCEDURE getPROCEDURE() { 
981       return getTyped("PROCEDURE", RPA_I08_PROCEDURE.class);
982    }
983
984
985    /**
986     * <p>
987     * Returns a specific repetition of
988     * PROCEDURE (a Group object) - creates it if necessary
989     * </p>
990     * 
991     *
992     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
993     * @throws HL7Exception if the repetition requested is more than one 
994     *     greater than the number of existing repetitions.
995     */
996    public RPA_I08_PROCEDURE getPROCEDURE(int rep) { 
997       return getTyped("PROCEDURE", rep, RPA_I08_PROCEDURE.class);
998    }
999
1000    /** 
1001     * <p>
1002     * Returns the number of existing repetitions of PROCEDURE 
1003     * </p>
1004     * 
1005     */ 
1006    public int getPROCEDUREReps() { 
1007        return getReps("PROCEDURE");
1008    } 
1009
1010    /** 
1011     * <p>
1012     * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE.
1013     * <p>
1014     * <p>
1015     * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps
1016     * if none are already present, so an empty list may be returned.
1017     * </p>
1018     * 
1019     */ 
1020    public java.util.List<RPA_I08_PROCEDURE> getPROCEDUREAll() throws HL7Exception {
1021        return getAllAsList("PROCEDURE", RPA_I08_PROCEDURE.class);
1022    } 
1023
1024    /**
1025     * <p>
1026     * Inserts a specific repetition of PROCEDURE (a Group object)
1027     * </p>
1028     * 
1029     *
1030     * @see AbstractGroup#insertRepetition(Structure, int) 
1031     */
1032    public void insertPROCEDURE(RPA_I08_PROCEDURE structure, int rep) throws HL7Exception { 
1033       super.insertRepetition( "PROCEDURE", structure, rep);
1034    }
1035
1036
1037    /**
1038     * <p>
1039     * Inserts a specific repetition of PROCEDURE (a Group object)
1040     * </p>
1041     * 
1042     *
1043     * @see AbstractGroup#insertRepetition(Structure, int) 
1044     */
1045    public RPA_I08_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 
1046       return (RPA_I08_PROCEDURE)super.insertRepetition("PROCEDURE", rep);
1047    }
1048
1049
1050    /**
1051     * <p>
1052     * Removes a specific repetition of PROCEDURE (a Group object)
1053     * </p>
1054     * 
1055     *
1056     * @see AbstractGroup#removeRepetition(String, int) 
1057     */
1058    public RPA_I08_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 
1059       return (RPA_I08_PROCEDURE)super.removeRepetition("PROCEDURE", rep);
1060    }
1061
1062
1063
1064
1065    /**
1066     * <p>
1067     * Returns
1068     * the first repetition of 
1069     * OBSERVATION (a Group object) - creates it if necessary
1070     * </p>
1071     * 
1072     *
1073     */
1074    public RPA_I08_OBSERVATION getOBSERVATION() { 
1075       return getTyped("OBSERVATION", RPA_I08_OBSERVATION.class);
1076    }
1077
1078
1079    /**
1080     * <p>
1081     * Returns a specific repetition of
1082     * OBSERVATION (a Group object) - creates it if necessary
1083     * </p>
1084     * 
1085     *
1086     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1087     * @throws HL7Exception if the repetition requested is more than one 
1088     *     greater than the number of existing repetitions.
1089     */
1090    public RPA_I08_OBSERVATION getOBSERVATION(int rep) { 
1091       return getTyped("OBSERVATION", rep, RPA_I08_OBSERVATION.class);
1092    }
1093
1094    /** 
1095     * <p>
1096     * Returns the number of existing repetitions of OBSERVATION 
1097     * </p>
1098     * 
1099     */ 
1100    public int getOBSERVATIONReps() { 
1101        return getReps("OBSERVATION");
1102    } 
1103
1104    /** 
1105     * <p>
1106     * Returns a non-modifiable List containing all current existing repetitions of OBSERVATION.
1107     * <p>
1108     * <p>
1109     * Note that unlike {@link #getOBSERVATION()}, this method will not create any reps
1110     * if none are already present, so an empty list may be returned.
1111     * </p>
1112     * 
1113     */ 
1114    public java.util.List<RPA_I08_OBSERVATION> getOBSERVATIONAll() throws HL7Exception {
1115        return getAllAsList("OBSERVATION", RPA_I08_OBSERVATION.class);
1116    } 
1117
1118    /**
1119     * <p>
1120     * Inserts a specific repetition of OBSERVATION (a Group object)
1121     * </p>
1122     * 
1123     *
1124     * @see AbstractGroup#insertRepetition(Structure, int) 
1125     */
1126    public void insertOBSERVATION(RPA_I08_OBSERVATION structure, int rep) throws HL7Exception { 
1127       super.insertRepetition( "OBSERVATION", structure, rep);
1128    }
1129
1130
1131    /**
1132     * <p>
1133     * Inserts a specific repetition of OBSERVATION (a Group object)
1134     * </p>
1135     * 
1136     *
1137     * @see AbstractGroup#insertRepetition(Structure, int) 
1138     */
1139    public RPA_I08_OBSERVATION insertOBSERVATION(int rep) throws HL7Exception { 
1140       return (RPA_I08_OBSERVATION)super.insertRepetition("OBSERVATION", rep);
1141    }
1142
1143
1144    /**
1145     * <p>
1146     * Removes a specific repetition of OBSERVATION (a Group object)
1147     * </p>
1148     * 
1149     *
1150     * @see AbstractGroup#removeRepetition(String, int) 
1151     */
1152    public RPA_I08_OBSERVATION removeOBSERVATION(int rep) throws HL7Exception { 
1153       return (RPA_I08_OBSERVATION)super.removeRepetition("OBSERVATION", rep);
1154    }
1155
1156
1157
1158
1159    /**
1160     * <p>
1161     * Returns
1162     * VISIT (a Group object) - creates it if necessary
1163     * </p>
1164     * 
1165     *
1166     */
1167    public RPA_I08_VISIT getVISIT() { 
1168       return getTyped("VISIT", RPA_I08_VISIT.class);
1169    }
1170
1171
1172
1173
1174
1175    /**
1176     * <p>
1177     * Returns
1178     * the first repetition of 
1179     * NTE (Notes and Comments) - creates it if necessary
1180     * </p>
1181     * 
1182     *
1183     */
1184    public NTE getNTE() { 
1185       return getTyped("NTE", NTE.class);
1186    }
1187
1188
1189    /**
1190     * <p>
1191     * Returns a specific repetition of
1192     * NTE (Notes and Comments) - creates it if necessary
1193     * </p>
1194     * 
1195     *
1196     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1197     * @throws HL7Exception if the repetition requested is more than one 
1198     *     greater than the number of existing repetitions.
1199     */
1200    public NTE getNTE(int rep) { 
1201       return getTyped("NTE", rep, NTE.class);
1202    }
1203
1204    /** 
1205     * <p>
1206     * Returns the number of existing repetitions of NTE 
1207     * </p>
1208     * 
1209     */ 
1210    public int getNTEReps() { 
1211        return getReps("NTE");
1212    } 
1213
1214    /** 
1215     * <p>
1216     * Returns a non-modifiable List containing all current existing repetitions of NTE.
1217     * <p>
1218     * <p>
1219     * Note that unlike {@link #getNTE()}, this method will not create any reps
1220     * if none are already present, so an empty list may be returned.
1221     * </p>
1222     * 
1223     */ 
1224    public java.util.List<NTE> getNTEAll() throws HL7Exception {
1225        return getAllAsList("NTE", NTE.class);
1226    } 
1227
1228    /**
1229     * <p>
1230     * Inserts a specific repetition of NTE (Notes and Comments)
1231     * </p>
1232     * 
1233     *
1234     * @see AbstractGroup#insertRepetition(Structure, int) 
1235     */
1236    public void insertNTE(NTE structure, int rep) throws HL7Exception { 
1237       super.insertRepetition( "NTE", structure, rep);
1238    }
1239
1240
1241    /**
1242     * <p>
1243     * Inserts a specific repetition of NTE (Notes and Comments)
1244     * </p>
1245     * 
1246     *
1247     * @see AbstractGroup#insertRepetition(Structure, int) 
1248     */
1249    public NTE insertNTE(int rep) throws HL7Exception { 
1250       return (NTE)super.insertRepetition("NTE", rep);
1251    }
1252
1253
1254    /**
1255     * <p>
1256     * Removes a specific repetition of NTE (Notes and Comments)
1257     * </p>
1258     * 
1259     *
1260     * @see AbstractGroup#removeRepetition(String, int) 
1261     */
1262    public NTE removeNTE(int rep) throws HL7Exception { 
1263       return (NTE)super.removeRepetition("NTE", rep);
1264    }
1265
1266
1267
1268}
1269