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.v26.group;
035
036import ca.uhn.hl7v2.model.v26.segment.*;
037
038import java.util.List;
039
040import ca.uhn.hl7v2.HL7Exception;
041import ca.uhn.hl7v2.parser.ModelClassFactory;
042import ca.uhn.hl7v2.model.*;
043
044/**
045 * <p>Represents a ADR_A19_QUERY_RESPONSE group structure (a Group object).
046 * A Group is an ordered collection of message segments that can repeat together or be optionally in/excluded together.
047 * This Group contains the following elements:  
048 * </p>
049 * <ul>
050                 * <li>1: EVN (Event Type) <b>optional </b></li>
051                 * <li>2: PID (Patient Identification) <b> </b></li>
052                 * <li>3: PD1 (Patient Additional Demographic) <b>optional </b></li>
053                 * <li>4: ARV (Access Restriction) <b>optional repeating</b></li>
054                 * <li>5: ROL (Role) <b>optional repeating</b></li>
055                 * <li>6: NK1 (Next of Kin / Associated Parties) <b>optional repeating</b></li>
056                 * <li>7: PV1 (Patient Visit) <b> </b></li>
057                 * <li>8: PV2 (Patient Visit - Additional Information) <b>optional </b></li>
058                 * <li>9: ARV (Access Restriction) <b>optional repeating</b></li>
059                 * <li>10: ROL (Role) <b>optional repeating</b></li>
060                 * <li>11: DB1 (Disability) <b>optional repeating</b></li>
061                 * <li>12: OBX (Observation/Result) <b>optional repeating</b></li>
062                 * <li>13: AL1 (Patient Allergy Information) <b>optional repeating</b></li>
063                 * <li>14: DG1 (Diagnosis) <b>optional repeating</b></li>
064                 * <li>15: DRG (Diagnosis Related Group) <b>optional </b></li>
065                 * <li>16: ADR_A19_PROCEDURE (a Group object) <b>optional repeating</b></li>
066                 * <li>17: GT1 (Guarantor) <b>optional repeating</b></li>
067                 * <li>18: ADR_A19_INSURANCE (a Group object) <b>optional repeating</b></li>
068                 * <li>19: ACC (Accident) <b>optional </b></li>
069                 * <li>20: UB1 (UB82) <b>optional </b></li>
070                 * <li>21: UB2 (UB92 Data) <b>optional </b></li>
071 * </ul>
072 */
073@SuppressWarnings("unused")
074public class ADR_A19_QUERY_RESPONSE extends AbstractGroup {
075
076    /** 
077     * Creates a new ADR_A19_QUERY_RESPONSE group
078     */
079    public ADR_A19_QUERY_RESPONSE(Group parent, ModelClassFactory factory) {
080       super(parent, factory);
081       init(factory);
082    }
083
084    private void init(ModelClassFactory factory) {
085       try {
086                          this.add(EVN.class, false, false);
087                          this.add(PID.class, true, false);
088                          this.add(PD1.class, false, false);
089                          this.add(ARV.class, false, true);
090                          this.add(ROL.class, false, true);
091                          this.add(NK1.class, false, true);
092                          this.add(PV1.class, true, false);
093                          this.add(PV2.class, false, false);
094                          this.add(ARV.class, false, true);
095                          this.add(ROL.class, false, true);
096                          this.add(DB1.class, false, true);
097                          this.add(OBX.class, false, true);
098                          this.add(AL1.class, false, true);
099                          this.add(DG1.class, false, true);
100                          this.add(DRG.class, false, false);
101                          this.add(ADR_A19_PROCEDURE.class, false, true);
102                          this.add(GT1.class, false, true);
103                          this.add(ADR_A19_INSURANCE.class, false, true);
104                          this.add(ACC.class, false, false);
105                          this.add(UB1.class, false, false);
106                          this.add(UB2.class, false, false);
107       } catch(HL7Exception e) {
108          log.error("Unexpected error creating ADR_A19_QUERY_RESPONSE - this is probably a bug in the source code generator.", e);
109       }
110    }
111
112    /** 
113     * Returns "2.6"
114     */
115    public String getVersion() {
116       return "2.6";
117    }
118
119
120
121    /**
122     * Returns
123     * EVN (Event Type) - creates it if necessary
124     */
125    public EVN getEVN() { 
126       EVN retVal = getTyped("EVN", EVN.class);
127       return retVal;
128    }
129
130
131
132
133    /**
134     * Returns
135     * PID (Patient Identification) - creates it if necessary
136     */
137    public PID getPID() { 
138       PID retVal = getTyped("PID", PID.class);
139       return retVal;
140    }
141
142
143
144
145    /**
146     * Returns
147     * PD1 (Patient Additional Demographic) - creates it if necessary
148     */
149    public PD1 getPD1() { 
150       PD1 retVal = getTyped("PD1", PD1.class);
151       return retVal;
152    }
153
154
155
156
157    /**
158     * Returns
159     * the first repetition of 
160     * ARV (Access Restriction) - creates it if necessary
161     */
162    public ARV getARV() { 
163       ARV retVal = getTyped("ARV", ARV.class);
164       return retVal;
165    }
166
167
168    /**
169     * Returns a specific repetition of
170     * ARV (Access Restriction) - creates it if necessary
171     *
172     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
173     * @throws HL7Exception if the repetition requested is more than one 
174     *     greater than the number of existing repetitions.
175     */
176    public ARV getARV(int rep) { 
177       ARV retVal = getTyped("ARV", rep, ARV.class);
178       return retVal;
179    }
180
181    /** 
182     * Returns the number of existing repetitions of ARV 
183     */ 
184    public int getARVReps() {  
185        return getReps("ARV");
186    } 
187
188    /** 
189     * <p>
190     * Returns a non-modifiable List containing all current existing repetitions of ARV.
191     * <p>
192     * <p>
193     * Note that unlike {@link #getARV()}, this method will not create any reps
194     * if none are already present, so an empty list may be returned.
195     * </p>
196     */ 
197    public List<ARV> getARVAll() throws HL7Exception {
198        return getAllAsList("ARV", ARV.class);
199    } 
200
201    /**
202     * Inserts a specific repetition of ARV (Access Restriction)
203     * @see AbstractGroup#insertRepetition(Structure, int) 
204     */
205    public void insertARV(ARV structure, int rep) throws HL7Exception { 
206       super.insertRepetition("ARV", structure, rep);
207    }
208
209
210    /**
211     * Inserts a specific repetition of ARV (Access Restriction)
212     * @see AbstractGroup#insertRepetition(Structure, int) 
213     */
214    public ARV insertARV(int rep) throws HL7Exception { 
215       return (ARV)super.insertRepetition("ARV", rep);
216    }
217
218
219    /**
220     * Removes a specific repetition of ARV (Access Restriction)
221     * @see AbstractGroup#removeRepetition(String, int) 
222     */
223    public ARV removeARV(int rep) throws HL7Exception { 
224       return (ARV)super.removeRepetition("ARV", rep);
225    }
226
227
228
229    /**
230     * Returns
231     * the first repetition of 
232     * ROL (Role) - creates it if necessary
233     */
234    public ROL getROL() { 
235       ROL retVal = getTyped("ROL", ROL.class);
236       return retVal;
237    }
238
239
240    /**
241     * Returns a specific repetition of
242     * ROL (Role) - creates it if necessary
243     *
244     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
245     * @throws HL7Exception if the repetition requested is more than one 
246     *     greater than the number of existing repetitions.
247     */
248    public ROL getROL(int rep) { 
249       ROL retVal = getTyped("ROL", rep, ROL.class);
250       return retVal;
251    }
252
253    /** 
254     * Returns the number of existing repetitions of ROL 
255     */ 
256    public int getROLReps() {  
257        return getReps("ROL");
258    } 
259
260    /** 
261     * <p>
262     * Returns a non-modifiable List containing all current existing repetitions of ROL.
263     * <p>
264     * <p>
265     * Note that unlike {@link #getROL()}, this method will not create any reps
266     * if none are already present, so an empty list may be returned.
267     * </p>
268     */ 
269    public List<ROL> getROLAll() throws HL7Exception {
270        return getAllAsList("ROL", ROL.class);
271    } 
272
273    /**
274     * Inserts a specific repetition of ROL (Role)
275     * @see AbstractGroup#insertRepetition(Structure, int) 
276     */
277    public void insertROL(ROL structure, int rep) throws HL7Exception { 
278       super.insertRepetition("ROL", structure, rep);
279    }
280
281
282    /**
283     * Inserts a specific repetition of ROL (Role)
284     * @see AbstractGroup#insertRepetition(Structure, int) 
285     */
286    public ROL insertROL(int rep) throws HL7Exception { 
287       return (ROL)super.insertRepetition("ROL", rep);
288    }
289
290
291    /**
292     * Removes a specific repetition of ROL (Role)
293     * @see AbstractGroup#removeRepetition(String, int) 
294     */
295    public ROL removeROL(int rep) throws HL7Exception { 
296       return (ROL)super.removeRepetition("ROL", rep);
297    }
298
299
300
301    /**
302     * Returns
303     * the first repetition of 
304     * NK1 (Next of Kin / Associated Parties) - creates it if necessary
305     */
306    public NK1 getNK1() { 
307       NK1 retVal = getTyped("NK1", NK1.class);
308       return retVal;
309    }
310
311
312    /**
313     * Returns a specific repetition of
314     * NK1 (Next of Kin / Associated Parties) - creates it if necessary
315     *
316     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
317     * @throws HL7Exception if the repetition requested is more than one 
318     *     greater than the number of existing repetitions.
319     */
320    public NK1 getNK1(int rep) { 
321       NK1 retVal = getTyped("NK1", rep, NK1.class);
322       return retVal;
323    }
324
325    /** 
326     * Returns the number of existing repetitions of NK1 
327     */ 
328    public int getNK1Reps() {  
329        return getReps("NK1");
330    } 
331
332    /** 
333     * <p>
334     * Returns a non-modifiable List containing all current existing repetitions of NK1.
335     * <p>
336     * <p>
337     * Note that unlike {@link #getNK1()}, this method will not create any reps
338     * if none are already present, so an empty list may be returned.
339     * </p>
340     */ 
341    public List<NK1> getNK1All() throws HL7Exception {
342        return getAllAsList("NK1", NK1.class);
343    } 
344
345    /**
346     * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
347     * @see AbstractGroup#insertRepetition(Structure, int) 
348     */
349    public void insertNK1(NK1 structure, int rep) throws HL7Exception { 
350       super.insertRepetition("NK1", structure, rep);
351    }
352
353
354    /**
355     * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
356     * @see AbstractGroup#insertRepetition(Structure, int) 
357     */
358    public NK1 insertNK1(int rep) throws HL7Exception { 
359       return (NK1)super.insertRepetition("NK1", rep);
360    }
361
362
363    /**
364     * Removes a specific repetition of NK1 (Next of Kin / Associated Parties)
365     * @see AbstractGroup#removeRepetition(String, int) 
366     */
367    public NK1 removeNK1(int rep) throws HL7Exception { 
368       return (NK1)super.removeRepetition("NK1", rep);
369    }
370
371
372
373    /**
374     * Returns
375     * PV1 (Patient Visit) - creates it if necessary
376     */
377    public PV1 getPV1() { 
378       PV1 retVal = getTyped("PV1", PV1.class);
379       return retVal;
380    }
381
382
383
384
385    /**
386     * Returns
387     * PV2 (Patient Visit - Additional Information) - creates it if necessary
388     */
389    public PV2 getPV2() { 
390       PV2 retVal = getTyped("PV2", PV2.class);
391       return retVal;
392    }
393
394
395
396
397    /**
398     * Returns
399     * the first repetition of 
400     * ARV2 (Access Restriction) - creates it if necessary
401     */
402    public ARV getARV2() { 
403       ARV retVal = getTyped("ARV2", ARV.class);
404       return retVal;
405    }
406
407
408    /**
409     * Returns a specific repetition of
410     * ARV (Access Restriction) - creates it if necessary
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 ARV getARV2(int rep) { 
417       ARV retVal = getTyped("ARV2", rep, ARV.class);
418       return retVal;
419    }
420
421    /** 
422     * Returns the number of existing repetitions of ARV2 
423     */ 
424    public int getARV2Reps() {  
425        return getReps("ARV2");
426    } 
427
428    /** 
429     * <p>
430     * Returns a non-modifiable List containing all current existing repetitions of ARV2.
431     * <p>
432     * <p>
433     * Note that unlike {@link #getARV2()}, this method will not create any reps
434     * if none are already present, so an empty list may be returned.
435     * </p>
436     */ 
437    public List<ARV> getARV2All() throws HL7Exception {
438        return getAllAsList("ARV2", ARV.class);
439    } 
440
441    /**
442     * Inserts a specific repetition of ARV2 (Access Restriction)
443     * @see AbstractGroup#insertRepetition(Structure, int) 
444     */
445    public void insertARV2(ARV structure, int rep) throws HL7Exception { 
446       super.insertRepetition("ARV2", structure, rep);
447    }
448
449
450    /**
451     * Inserts a specific repetition of ARV2 (Access Restriction)
452     * @see AbstractGroup#insertRepetition(Structure, int) 
453     */
454    public ARV insertARV2(int rep) throws HL7Exception { 
455       return (ARV)super.insertRepetition("ARV2", rep);
456    }
457
458
459    /**
460     * Removes a specific repetition of ARV2 (Access Restriction)
461     * @see AbstractGroup#removeRepetition(String, int) 
462     */
463    public ARV removeARV2(int rep) throws HL7Exception { 
464       return (ARV)super.removeRepetition("ARV2", rep);
465    }
466
467
468
469    /**
470     * Returns
471     * the first repetition of 
472     * ROL2 (Role) - creates it if necessary
473     */
474    public ROL getROL2() { 
475       ROL retVal = getTyped("ROL2", ROL.class);
476       return retVal;
477    }
478
479
480    /**
481     * Returns a specific repetition of
482     * ROL (Role) - creates it if necessary
483     *
484     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
485     * @throws HL7Exception if the repetition requested is more than one 
486     *     greater than the number of existing repetitions.
487     */
488    public ROL getROL2(int rep) { 
489       ROL retVal = getTyped("ROL2", rep, ROL.class);
490       return retVal;
491    }
492
493    /** 
494     * Returns the number of existing repetitions of ROL2 
495     */ 
496    public int getROL2Reps() {  
497        return getReps("ROL2");
498    } 
499
500    /** 
501     * <p>
502     * Returns a non-modifiable List containing all current existing repetitions of ROL2.
503     * <p>
504     * <p>
505     * Note that unlike {@link #getROL2()}, this method will not create any reps
506     * if none are already present, so an empty list may be returned.
507     * </p>
508     */ 
509    public List<ROL> getROL2All() throws HL7Exception {
510        return getAllAsList("ROL2", ROL.class);
511    } 
512
513    /**
514     * Inserts a specific repetition of ROL2 (Role)
515     * @see AbstractGroup#insertRepetition(Structure, int) 
516     */
517    public void insertROL2(ROL structure, int rep) throws HL7Exception { 
518       super.insertRepetition("ROL2", structure, rep);
519    }
520
521
522    /**
523     * Inserts a specific repetition of ROL2 (Role)
524     * @see AbstractGroup#insertRepetition(Structure, int) 
525     */
526    public ROL insertROL2(int rep) throws HL7Exception { 
527       return (ROL)super.insertRepetition("ROL2", rep);
528    }
529
530
531    /**
532     * Removes a specific repetition of ROL2 (Role)
533     * @see AbstractGroup#removeRepetition(String, int) 
534     */
535    public ROL removeROL2(int rep) throws HL7Exception { 
536       return (ROL)super.removeRepetition("ROL2", rep);
537    }
538
539
540
541    /**
542     * Returns
543     * the first repetition of 
544     * DB1 (Disability) - creates it if necessary
545     */
546    public DB1 getDB1() { 
547       DB1 retVal = getTyped("DB1", DB1.class);
548       return retVal;
549    }
550
551
552    /**
553     * Returns a specific repetition of
554     * DB1 (Disability) - creates it if necessary
555     *
556     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
557     * @throws HL7Exception if the repetition requested is more than one 
558     *     greater than the number of existing repetitions.
559     */
560    public DB1 getDB1(int rep) { 
561       DB1 retVal = getTyped("DB1", rep, DB1.class);
562       return retVal;
563    }
564
565    /** 
566     * Returns the number of existing repetitions of DB1 
567     */ 
568    public int getDB1Reps() {  
569        return getReps("DB1");
570    } 
571
572    /** 
573     * <p>
574     * Returns a non-modifiable List containing all current existing repetitions of DB1.
575     * <p>
576     * <p>
577     * Note that unlike {@link #getDB1()}, this method will not create any reps
578     * if none are already present, so an empty list may be returned.
579     * </p>
580     */ 
581    public List<DB1> getDB1All() throws HL7Exception {
582        return getAllAsList("DB1", DB1.class);
583    } 
584
585    /**
586     * Inserts a specific repetition of DB1 (Disability)
587     * @see AbstractGroup#insertRepetition(Structure, int) 
588     */
589    public void insertDB1(DB1 structure, int rep) throws HL7Exception { 
590       super.insertRepetition("DB1", structure, rep);
591    }
592
593
594    /**
595     * Inserts a specific repetition of DB1 (Disability)
596     * @see AbstractGroup#insertRepetition(Structure, int) 
597     */
598    public DB1 insertDB1(int rep) throws HL7Exception { 
599       return (DB1)super.insertRepetition("DB1", rep);
600    }
601
602
603    /**
604     * Removes a specific repetition of DB1 (Disability)
605     * @see AbstractGroup#removeRepetition(String, int) 
606     */
607    public DB1 removeDB1(int rep) throws HL7Exception { 
608       return (DB1)super.removeRepetition("DB1", rep);
609    }
610
611
612
613    /**
614     * Returns
615     * the first repetition of 
616     * OBX (Observation/Result) - creates it if necessary
617     */
618    public OBX getOBX() { 
619       OBX retVal = getTyped("OBX", OBX.class);
620       return retVal;
621    }
622
623
624    /**
625     * Returns a specific repetition of
626     * OBX (Observation/Result) - creates it if necessary
627     *
628     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
629     * @throws HL7Exception if the repetition requested is more than one 
630     *     greater than the number of existing repetitions.
631     */
632    public OBX getOBX(int rep) { 
633       OBX retVal = getTyped("OBX", rep, OBX.class);
634       return retVal;
635    }
636
637    /** 
638     * Returns the number of existing repetitions of OBX 
639     */ 
640    public int getOBXReps() {  
641        return getReps("OBX");
642    } 
643
644    /** 
645     * <p>
646     * Returns a non-modifiable List containing all current existing repetitions of OBX.
647     * <p>
648     * <p>
649     * Note that unlike {@link #getOBX()}, this method will not create any reps
650     * if none are already present, so an empty list may be returned.
651     * </p>
652     */ 
653    public List<OBX> getOBXAll() throws HL7Exception {
654        return getAllAsList("OBX", OBX.class);
655    } 
656
657    /**
658     * Inserts a specific repetition of OBX (Observation/Result)
659     * @see AbstractGroup#insertRepetition(Structure, int) 
660     */
661    public void insertOBX(OBX structure, int rep) throws HL7Exception { 
662       super.insertRepetition("OBX", structure, rep);
663    }
664
665
666    /**
667     * Inserts a specific repetition of OBX (Observation/Result)
668     * @see AbstractGroup#insertRepetition(Structure, int) 
669     */
670    public OBX insertOBX(int rep) throws HL7Exception { 
671       return (OBX)super.insertRepetition("OBX", rep);
672    }
673
674
675    /**
676     * Removes a specific repetition of OBX (Observation/Result)
677     * @see AbstractGroup#removeRepetition(String, int) 
678     */
679    public OBX removeOBX(int rep) throws HL7Exception { 
680       return (OBX)super.removeRepetition("OBX", rep);
681    }
682
683
684
685    /**
686     * Returns
687     * the first repetition of 
688     * AL1 (Patient Allergy Information) - creates it if necessary
689     */
690    public AL1 getAL1() { 
691       AL1 retVal = getTyped("AL1", AL1.class);
692       return retVal;
693    }
694
695
696    /**
697     * Returns a specific repetition of
698     * AL1 (Patient Allergy Information) - creates it if necessary
699     *
700     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
701     * @throws HL7Exception if the repetition requested is more than one 
702     *     greater than the number of existing repetitions.
703     */
704    public AL1 getAL1(int rep) { 
705       AL1 retVal = getTyped("AL1", rep, AL1.class);
706       return retVal;
707    }
708
709    /** 
710     * Returns the number of existing repetitions of AL1 
711     */ 
712    public int getAL1Reps() {  
713        return getReps("AL1");
714    } 
715
716    /** 
717     * <p>
718     * Returns a non-modifiable List containing all current existing repetitions of AL1.
719     * <p>
720     * <p>
721     * Note that unlike {@link #getAL1()}, this method will not create any reps
722     * if none are already present, so an empty list may be returned.
723     * </p>
724     */ 
725    public List<AL1> getAL1All() throws HL7Exception {
726        return getAllAsList("AL1", AL1.class);
727    } 
728
729    /**
730     * Inserts a specific repetition of AL1 (Patient Allergy Information)
731     * @see AbstractGroup#insertRepetition(Structure, int) 
732     */
733    public void insertAL1(AL1 structure, int rep) throws HL7Exception { 
734       super.insertRepetition("AL1", structure, rep);
735    }
736
737
738    /**
739     * Inserts a specific repetition of AL1 (Patient Allergy Information)
740     * @see AbstractGroup#insertRepetition(Structure, int) 
741     */
742    public AL1 insertAL1(int rep) throws HL7Exception { 
743       return (AL1)super.insertRepetition("AL1", rep);
744    }
745
746
747    /**
748     * Removes a specific repetition of AL1 (Patient Allergy Information)
749     * @see AbstractGroup#removeRepetition(String, int) 
750     */
751    public AL1 removeAL1(int rep) throws HL7Exception { 
752       return (AL1)super.removeRepetition("AL1", rep);
753    }
754
755
756
757    /**
758     * Returns
759     * the first repetition of 
760     * DG1 (Diagnosis) - creates it if necessary
761     */
762    public DG1 getDG1() { 
763       DG1 retVal = getTyped("DG1", DG1.class);
764       return retVal;
765    }
766
767
768    /**
769     * Returns a specific repetition of
770     * DG1 (Diagnosis) - creates it if necessary
771     *
772     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
773     * @throws HL7Exception if the repetition requested is more than one 
774     *     greater than the number of existing repetitions.
775     */
776    public DG1 getDG1(int rep) { 
777       DG1 retVal = getTyped("DG1", rep, DG1.class);
778       return retVal;
779    }
780
781    /** 
782     * Returns the number of existing repetitions of DG1 
783     */ 
784    public int getDG1Reps() {  
785        return getReps("DG1");
786    } 
787
788    /** 
789     * <p>
790     * Returns a non-modifiable List containing all current existing repetitions of DG1.
791     * <p>
792     * <p>
793     * Note that unlike {@link #getDG1()}, this method will not create any reps
794     * if none are already present, so an empty list may be returned.
795     * </p>
796     */ 
797    public List<DG1> getDG1All() throws HL7Exception {
798        return getAllAsList("DG1", DG1.class);
799    } 
800
801    /**
802     * Inserts a specific repetition of DG1 (Diagnosis)
803     * @see AbstractGroup#insertRepetition(Structure, int) 
804     */
805    public void insertDG1(DG1 structure, int rep) throws HL7Exception { 
806       super.insertRepetition("DG1", structure, rep);
807    }
808
809
810    /**
811     * Inserts a specific repetition of DG1 (Diagnosis)
812     * @see AbstractGroup#insertRepetition(Structure, int) 
813     */
814    public DG1 insertDG1(int rep) throws HL7Exception { 
815       return (DG1)super.insertRepetition("DG1", rep);
816    }
817
818
819    /**
820     * Removes a specific repetition of DG1 (Diagnosis)
821     * @see AbstractGroup#removeRepetition(String, int) 
822     */
823    public DG1 removeDG1(int rep) throws HL7Exception { 
824       return (DG1)super.removeRepetition("DG1", rep);
825    }
826
827
828
829    /**
830     * Returns
831     * DRG (Diagnosis Related Group) - creates it if necessary
832     */
833    public DRG getDRG() { 
834       DRG retVal = getTyped("DRG", DRG.class);
835       return retVal;
836    }
837
838
839
840
841    /**
842     * Returns
843     * the first repetition of 
844     * PROCEDURE (a Group object) - creates it if necessary
845     */
846    public ADR_A19_PROCEDURE getPROCEDURE() { 
847       ADR_A19_PROCEDURE retVal = getTyped("PROCEDURE", ADR_A19_PROCEDURE.class);
848       return retVal;
849    }
850
851
852    /**
853     * Returns a specific repetition of
854     * PROCEDURE (a Group object) - creates it if necessary
855     *
856     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
857     * @throws HL7Exception if the repetition requested is more than one 
858     *     greater than the number of existing repetitions.
859     */
860    public ADR_A19_PROCEDURE getPROCEDURE(int rep) { 
861       ADR_A19_PROCEDURE retVal = getTyped("PROCEDURE", rep, ADR_A19_PROCEDURE.class);
862       return retVal;
863    }
864
865    /** 
866     * Returns the number of existing repetitions of PROCEDURE 
867     */ 
868    public int getPROCEDUREReps() {  
869        return getReps("PROCEDURE");
870    } 
871
872    /** 
873     * <p>
874     * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE.
875     * <p>
876     * <p>
877     * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps
878     * if none are already present, so an empty list may be returned.
879     * </p>
880     */ 
881    public List<ADR_A19_PROCEDURE> getPROCEDUREAll() throws HL7Exception {
882        return getAllAsList("PROCEDURE", ADR_A19_PROCEDURE.class);
883    } 
884
885    /**
886     * Inserts a specific repetition of PROCEDURE (a Group object)
887     * @see AbstractGroup#insertRepetition(Structure, int) 
888     */
889    public void insertPROCEDURE(ADR_A19_PROCEDURE structure, int rep) throws HL7Exception { 
890       super.insertRepetition("PROCEDURE", structure, rep);
891    }
892
893
894    /**
895     * Inserts a specific repetition of PROCEDURE (a Group object)
896     * @see AbstractGroup#insertRepetition(Structure, int) 
897     */
898    public ADR_A19_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 
899       return (ADR_A19_PROCEDURE)super.insertRepetition("PROCEDURE", rep);
900    }
901
902
903    /**
904     * Removes a specific repetition of PROCEDURE (a Group object)
905     * @see AbstractGroup#removeRepetition(String, int) 
906     */
907    public ADR_A19_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 
908       return (ADR_A19_PROCEDURE)super.removeRepetition("PROCEDURE", rep);
909    }
910
911
912
913    /**
914     * Returns
915     * the first repetition of 
916     * GT1 (Guarantor) - creates it if necessary
917     */
918    public GT1 getGT1() { 
919       GT1 retVal = getTyped("GT1", GT1.class);
920       return retVal;
921    }
922
923
924    /**
925     * Returns a specific repetition of
926     * GT1 (Guarantor) - creates it if necessary
927     *
928     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
929     * @throws HL7Exception if the repetition requested is more than one 
930     *     greater than the number of existing repetitions.
931     */
932    public GT1 getGT1(int rep) { 
933       GT1 retVal = getTyped("GT1", rep, GT1.class);
934       return retVal;
935    }
936
937    /** 
938     * Returns the number of existing repetitions of GT1 
939     */ 
940    public int getGT1Reps() {  
941        return getReps("GT1");
942    } 
943
944    /** 
945     * <p>
946     * Returns a non-modifiable List containing all current existing repetitions of GT1.
947     * <p>
948     * <p>
949     * Note that unlike {@link #getGT1()}, this method will not create any reps
950     * if none are already present, so an empty list may be returned.
951     * </p>
952     */ 
953    public List<GT1> getGT1All() throws HL7Exception {
954        return getAllAsList("GT1", GT1.class);
955    } 
956
957    /**
958     * Inserts a specific repetition of GT1 (Guarantor)
959     * @see AbstractGroup#insertRepetition(Structure, int) 
960     */
961    public void insertGT1(GT1 structure, int rep) throws HL7Exception { 
962       super.insertRepetition("GT1", structure, rep);
963    }
964
965
966    /**
967     * Inserts a specific repetition of GT1 (Guarantor)
968     * @see AbstractGroup#insertRepetition(Structure, int) 
969     */
970    public GT1 insertGT1(int rep) throws HL7Exception { 
971       return (GT1)super.insertRepetition("GT1", rep);
972    }
973
974
975    /**
976     * Removes a specific repetition of GT1 (Guarantor)
977     * @see AbstractGroup#removeRepetition(String, int) 
978     */
979    public GT1 removeGT1(int rep) throws HL7Exception { 
980       return (GT1)super.removeRepetition("GT1", rep);
981    }
982
983
984
985    /**
986     * Returns
987     * the first repetition of 
988     * INSURANCE (a Group object) - creates it if necessary
989     */
990    public ADR_A19_INSURANCE getINSURANCE() { 
991       ADR_A19_INSURANCE retVal = getTyped("INSURANCE", ADR_A19_INSURANCE.class);
992       return retVal;
993    }
994
995
996    /**
997     * Returns a specific repetition of
998     * INSURANCE (a Group object) - creates it if necessary
999     *
1000     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1001     * @throws HL7Exception if the repetition requested is more than one 
1002     *     greater than the number of existing repetitions.
1003     */
1004    public ADR_A19_INSURANCE getINSURANCE(int rep) { 
1005       ADR_A19_INSURANCE retVal = getTyped("INSURANCE", rep, ADR_A19_INSURANCE.class);
1006       return retVal;
1007    }
1008
1009    /** 
1010     * Returns the number of existing repetitions of INSURANCE 
1011     */ 
1012    public int getINSURANCEReps() {  
1013        return getReps("INSURANCE");
1014    } 
1015
1016    /** 
1017     * <p>
1018     * Returns a non-modifiable List containing all current existing repetitions of INSURANCE.
1019     * <p>
1020     * <p>
1021     * Note that unlike {@link #getINSURANCE()}, this method will not create any reps
1022     * if none are already present, so an empty list may be returned.
1023     * </p>
1024     */ 
1025    public List<ADR_A19_INSURANCE> getINSURANCEAll() throws HL7Exception {
1026        return getAllAsList("INSURANCE", ADR_A19_INSURANCE.class);
1027    } 
1028
1029    /**
1030     * Inserts a specific repetition of INSURANCE (a Group object)
1031     * @see AbstractGroup#insertRepetition(Structure, int) 
1032     */
1033    public void insertINSURANCE(ADR_A19_INSURANCE structure, int rep) throws HL7Exception { 
1034       super.insertRepetition("INSURANCE", structure, rep);
1035    }
1036
1037
1038    /**
1039     * Inserts a specific repetition of INSURANCE (a Group object)
1040     * @see AbstractGroup#insertRepetition(Structure, int) 
1041     */
1042    public ADR_A19_INSURANCE insertINSURANCE(int rep) throws HL7Exception { 
1043       return (ADR_A19_INSURANCE)super.insertRepetition("INSURANCE", rep);
1044    }
1045
1046
1047    /**
1048     * Removes a specific repetition of INSURANCE (a Group object)
1049     * @see AbstractGroup#removeRepetition(String, int) 
1050     */
1051    public ADR_A19_INSURANCE removeINSURANCE(int rep) throws HL7Exception { 
1052       return (ADR_A19_INSURANCE)super.removeRepetition("INSURANCE", rep);
1053    }
1054
1055
1056
1057    /**
1058     * Returns
1059     * ACC (Accident) - creates it if necessary
1060     */
1061    public ACC getACC() { 
1062       ACC retVal = getTyped("ACC", ACC.class);
1063       return retVal;
1064    }
1065
1066
1067
1068
1069    /**
1070     * Returns
1071     * UB1 (UB82) - creates it if necessary
1072     */
1073    public UB1 getUB1() { 
1074       UB1 retVal = getTyped("UB1", UB1.class);
1075       return retVal;
1076    }
1077
1078
1079
1080
1081    /**
1082     * Returns
1083     * UB2 (UB92 Data) - creates it if necessary
1084     */
1085    public UB2 getUB2() { 
1086       UB2 retVal = getTyped("UB2", UB2.class);
1087       return retVal;
1088    }
1089
1090
1091
1092
1093}
1094