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