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.v27.message;
035
036import ca.uhn.hl7v2.model.v27.group.*;
037import ca.uhn.hl7v2.model.v27.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 ADT_A01 message structure (see chapter 3.3.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: EVN (Event Type) <b> </b> </li>
053                                 * <li>5: PID (Patient Identification) <b> </b> </li>
054                                 * <li>6: PD1 (Patient Additional Demographic) <b>optional </b> </li>
055                                 * <li>7: ARV (Access Restriction) <b>optional repeating</b> </li>
056                                 * <li>8: ROL (Role) <b>optional repeating</b> </li>
057                                 * <li>9: NK1 (Next of Kin / Associated Parties) <b>optional repeating</b> </li>
058                                 * <li>10: PV1 (Patient Visit) <b> </b> </li>
059                                 * <li>11: PV2 (Patient Visit - Additional Information) <b>optional </b> </li>
060                                 * <li>12: ARV (Access Restriction) <b>optional repeating</b> </li>
061                                 * <li>13: ROL (Role) <b>optional repeating</b> </li>
062                                 * <li>14: DB1 (Disability) <b>optional repeating</b> </li>
063                                 * <li>15: OBX (Observation/Result) <b>optional repeating</b> </li>
064                                 * <li>16: AL1 (Patient Allergy Information) <b>optional repeating</b> </li>
065                                 * <li>17: DG1 (Diagnosis) <b>optional repeating</b> </li>
066                                 * <li>18: DRG (Diagnosis Related Group) <b>optional </b> </li>
067                                 * <li>19: ADT_A01_PROCEDURE (a Group object) <b>optional repeating</b> </li>
068                                 * <li>20: GT1 (Guarantor) <b>optional repeating</b> </li>
069                                 * <li>21: ADT_A01_INSURANCE (a Group object) <b>optional repeating</b> </li>
070                                 * <li>22: ACC (Accident) <b>optional </b> </li>
071                                 * <li>23: UB1 (UB82) <b>optional </b> </li>
072                                 * <li>24: UB2 (Uniform Billing Data) <b>optional </b> </li>
073                                 * <li>25: PDA (Patient Death and Autopsy) <b>optional </b> </li>
074 * </ul>
075 */
076//@SuppressWarnings("unused")
077public class ADT_A01 extends AbstractMessage  {
078
079    /**
080     * Creates a new ADT_A01 message with DefaultModelClassFactory. 
081     */ 
082    public ADT_A01() { 
083       this(new DefaultModelClassFactory());
084    }
085
086    /** 
087     * Creates a new ADT_A01 message with custom ModelClassFactory.
088     */
089    public ADT_A01(ModelClassFactory factory) {
090       super(factory);
091       init(factory);
092    }
093
094    private void init(ModelClassFactory factory) {
095       try {
096                          this.add(MSH.class, true, false);
097                                  this.add(SFT.class, false, true);
098                                  this.add(UAC.class, false, false);
099                                  this.add(EVN.class, true, false);
100                                  this.add(PID.class, true, false);
101                                  this.add(PD1.class, false, false);
102                                  this.add(ARV.class, false, true);
103                                  this.add(ROL.class, false, true);
104                                  this.add(NK1.class, false, true);
105                                  this.add(PV1.class, true, false);
106                                  this.add(PV2.class, false, false);
107                                  this.add(ARV.class, false, true);
108                                  this.add(ROL.class, false, true);
109                                  this.add(DB1.class, false, true);
110                                  this.add(OBX.class, false, true);
111                                  this.add(AL1.class, false, true);
112                                  this.add(DG1.class, false, true);
113                                  this.add(DRG.class, false, false);
114                                  this.add(ADT_A01_PROCEDURE.class, false, true);
115                                  this.add(GT1.class, false, true);
116                                  this.add(ADT_A01_INSURANCE.class, false, true);
117                                  this.add(ACC.class, false, false);
118                                  this.add(UB1.class, false, false);
119                                  this.add(UB2.class, false, false);
120                                  this.add(PDA.class, false, false);
121               } catch(HL7Exception e) {
122          log.error("Unexpected error creating ADT_A01 - this is probably a bug in the source code generator.", e);
123       }
124    }
125
126
127    /** 
128     * Returns "2.7"
129     */
130    public String getVersion() {
131       return "2.7";
132    }
133
134
135
136
137    /**
138     * <p>
139     * Returns
140     * MSH (Message Header) - creates it if necessary
141     * </p>
142     * 
143     *
144     */
145    public MSH getMSH() { 
146       return getTyped("MSH", MSH.class);
147    }
148
149
150
151
152
153    /**
154     * <p>
155     * Returns
156     * the first repetition of 
157     * SFT (Software Segment) - creates it if necessary
158     * </p>
159     * 
160     *
161     */
162    public SFT getSFT() { 
163       return getTyped("SFT", SFT.class);
164    }
165
166
167    /**
168     * <p>
169     * Returns a specific repetition of
170     * SFT (Software Segment) - creates it if necessary
171     * </p>
172     * 
173     *
174     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
175     * @throws HL7Exception if the repetition requested is more than one 
176     *     greater than the number of existing repetitions.
177     */
178    public SFT getSFT(int rep) { 
179       return getTyped("SFT", rep, SFT.class);
180    }
181
182    /** 
183     * <p>
184     * Returns the number of existing repetitions of SFT 
185     * </p>
186     * 
187     */ 
188    public int getSFTReps() { 
189        return getReps("SFT");
190    } 
191
192    /** 
193     * <p>
194     * Returns a non-modifiable List containing all current existing repetitions of SFT.
195     * <p>
196     * <p>
197     * Note that unlike {@link #getSFT()}, this method will not create any reps
198     * if none are already present, so an empty list may be returned.
199     * </p>
200     * 
201     */ 
202    public java.util.List<SFT> getSFTAll() throws HL7Exception {
203        return getAllAsList("SFT", SFT.class);
204    } 
205
206    /**
207     * <p>
208     * Inserts a specific repetition of SFT (Software Segment)
209     * </p>
210     * 
211     *
212     * @see AbstractGroup#insertRepetition(Structure, int) 
213     */
214    public void insertSFT(SFT structure, int rep) throws HL7Exception { 
215       super.insertRepetition( "SFT", structure, rep);
216    }
217
218
219    /**
220     * <p>
221     * Inserts a specific repetition of SFT (Software Segment)
222     * </p>
223     * 
224     *
225     * @see AbstractGroup#insertRepetition(Structure, int) 
226     */
227    public SFT insertSFT(int rep) throws HL7Exception { 
228       return (SFT)super.insertRepetition("SFT", rep);
229    }
230
231
232    /**
233     * <p>
234     * Removes a specific repetition of SFT (Software Segment)
235     * </p>
236     * 
237     *
238     * @see AbstractGroup#removeRepetition(String, int) 
239     */
240    public SFT removeSFT(int rep) throws HL7Exception { 
241       return (SFT)super.removeRepetition("SFT", rep);
242    }
243
244
245
246
247    /**
248     * <p>
249     * Returns
250     * UAC (User Authentication Credential Segment) - creates it if necessary
251     * </p>
252     * 
253     *
254     */
255    public UAC getUAC() { 
256       return getTyped("UAC", UAC.class);
257    }
258
259
260
261
262
263    /**
264     * <p>
265     * Returns
266     * EVN (Event Type) - creates it if necessary
267     * </p>
268     * 
269     *
270     */
271    public EVN getEVN() { 
272       return getTyped("EVN", EVN.class);
273    }
274
275
276
277
278
279    /**
280     * <p>
281     * Returns
282     * PID (Patient Identification) - creates it if necessary
283     * </p>
284     * 
285     *
286     */
287    public PID getPID() { 
288       return getTyped("PID", PID.class);
289    }
290
291
292
293
294
295    /**
296     * <p>
297     * Returns
298     * PD1 (Patient Additional Demographic) - creates it if necessary
299     * </p>
300     * 
301     *
302     */
303    public PD1 getPD1() { 
304       return getTyped("PD1", PD1.class);
305    }
306
307
308
309
310
311    /**
312     * <p>
313     * Returns
314     * the first repetition of 
315     * ARV (Access Restriction) - creates it if necessary
316     * </p>
317     * 
318     *
319     */
320    public ARV getARV() { 
321       return getTyped("ARV", ARV.class);
322    }
323
324
325    /**
326     * <p>
327     * Returns a specific repetition of
328     * ARV (Access Restriction) - creates it if necessary
329     * </p>
330     * 
331     *
332     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
333     * @throws HL7Exception if the repetition requested is more than one 
334     *     greater than the number of existing repetitions.
335     */
336    public ARV getARV(int rep) { 
337       return getTyped("ARV", rep, ARV.class);
338    }
339
340    /** 
341     * <p>
342     * Returns the number of existing repetitions of ARV 
343     * </p>
344     * 
345     */ 
346    public int getARVReps() { 
347        return getReps("ARV");
348    } 
349
350    /** 
351     * <p>
352     * Returns a non-modifiable List containing all current existing repetitions of ARV.
353     * <p>
354     * <p>
355     * Note that unlike {@link #getARV()}, this method will not create any reps
356     * if none are already present, so an empty list may be returned.
357     * </p>
358     * 
359     */ 
360    public java.util.List<ARV> getARVAll() throws HL7Exception {
361        return getAllAsList("ARV", ARV.class);
362    } 
363
364    /**
365     * <p>
366     * Inserts a specific repetition of ARV (Access Restriction)
367     * </p>
368     * 
369     *
370     * @see AbstractGroup#insertRepetition(Structure, int) 
371     */
372    public void insertARV(ARV structure, int rep) throws HL7Exception { 
373       super.insertRepetition( "ARV", structure, rep);
374    }
375
376
377    /**
378     * <p>
379     * Inserts a specific repetition of ARV (Access Restriction)
380     * </p>
381     * 
382     *
383     * @see AbstractGroup#insertRepetition(Structure, int) 
384     */
385    public ARV insertARV(int rep) throws HL7Exception { 
386       return (ARV)super.insertRepetition("ARV", rep);
387    }
388
389
390    /**
391     * <p>
392     * Removes a specific repetition of ARV (Access Restriction)
393     * </p>
394     * 
395     *
396     * @see AbstractGroup#removeRepetition(String, int) 
397     */
398    public ARV removeARV(int rep) throws HL7Exception { 
399       return (ARV)super.removeRepetition("ARV", rep);
400    }
401
402
403
404
405    /**
406     * <p>
407     * Returns
408     * the first repetition of 
409     * ROL (Role) - creates it if necessary
410     * </p>
411     * 
412     *
413     */
414    public ROL getROL() { 
415       return getTyped("ROL", ROL.class);
416    }
417
418
419    /**
420     * <p>
421     * Returns a specific repetition of
422     * ROL (Role) - creates it if necessary
423     * </p>
424     * 
425     *
426     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
427     * @throws HL7Exception if the repetition requested is more than one 
428     *     greater than the number of existing repetitions.
429     */
430    public ROL getROL(int rep) { 
431       return getTyped("ROL", rep, ROL.class);
432    }
433
434    /** 
435     * <p>
436     * Returns the number of existing repetitions of ROL 
437     * </p>
438     * 
439     */ 
440    public int getROLReps() { 
441        return getReps("ROL");
442    } 
443
444    /** 
445     * <p>
446     * Returns a non-modifiable List containing all current existing repetitions of ROL.
447     * <p>
448     * <p>
449     * Note that unlike {@link #getROL()}, this method will not create any reps
450     * if none are already present, so an empty list may be returned.
451     * </p>
452     * 
453     */ 
454    public java.util.List<ROL> getROLAll() throws HL7Exception {
455        return getAllAsList("ROL", ROL.class);
456    } 
457
458    /**
459     * <p>
460     * Inserts a specific repetition of ROL (Role)
461     * </p>
462     * 
463     *
464     * @see AbstractGroup#insertRepetition(Structure, int) 
465     */
466    public void insertROL(ROL structure, int rep) throws HL7Exception { 
467       super.insertRepetition( "ROL", structure, rep);
468    }
469
470
471    /**
472     * <p>
473     * Inserts a specific repetition of ROL (Role)
474     * </p>
475     * 
476     *
477     * @see AbstractGroup#insertRepetition(Structure, int) 
478     */
479    public ROL insertROL(int rep) throws HL7Exception { 
480       return (ROL)super.insertRepetition("ROL", rep);
481    }
482
483
484    /**
485     * <p>
486     * Removes a specific repetition of ROL (Role)
487     * </p>
488     * 
489     *
490     * @see AbstractGroup#removeRepetition(String, int) 
491     */
492    public ROL removeROL(int rep) throws HL7Exception { 
493       return (ROL)super.removeRepetition("ROL", rep);
494    }
495
496
497
498
499    /**
500     * <p>
501     * Returns
502     * the first repetition of 
503     * NK1 (Next of Kin / Associated Parties) - creates it if necessary
504     * </p>
505     * 
506     *
507     */
508    public NK1 getNK1() { 
509       return getTyped("NK1", NK1.class);
510    }
511
512
513    /**
514     * <p>
515     * Returns a specific repetition of
516     * NK1 (Next of Kin / Associated Parties) - creates it if necessary
517     * </p>
518     * 
519     *
520     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
521     * @throws HL7Exception if the repetition requested is more than one 
522     *     greater than the number of existing repetitions.
523     */
524    public NK1 getNK1(int rep) { 
525       return getTyped("NK1", rep, NK1.class);
526    }
527
528    /** 
529     * <p>
530     * Returns the number of existing repetitions of NK1 
531     * </p>
532     * 
533     */ 
534    public int getNK1Reps() { 
535        return getReps("NK1");
536    } 
537
538    /** 
539     * <p>
540     * Returns a non-modifiable List containing all current existing repetitions of NK1.
541     * <p>
542     * <p>
543     * Note that unlike {@link #getNK1()}, this method will not create any reps
544     * if none are already present, so an empty list may be returned.
545     * </p>
546     * 
547     */ 
548    public java.util.List<NK1> getNK1All() throws HL7Exception {
549        return getAllAsList("NK1", NK1.class);
550    } 
551
552    /**
553     * <p>
554     * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
555     * </p>
556     * 
557     *
558     * @see AbstractGroup#insertRepetition(Structure, int) 
559     */
560    public void insertNK1(NK1 structure, int rep) throws HL7Exception { 
561       super.insertRepetition( "NK1", structure, rep);
562    }
563
564
565    /**
566     * <p>
567     * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
568     * </p>
569     * 
570     *
571     * @see AbstractGroup#insertRepetition(Structure, int) 
572     */
573    public NK1 insertNK1(int rep) throws HL7Exception { 
574       return (NK1)super.insertRepetition("NK1", rep);
575    }
576
577
578    /**
579     * <p>
580     * Removes a specific repetition of NK1 (Next of Kin / Associated Parties)
581     * </p>
582     * 
583     *
584     * @see AbstractGroup#removeRepetition(String, int) 
585     */
586    public NK1 removeNK1(int rep) throws HL7Exception { 
587       return (NK1)super.removeRepetition("NK1", rep);
588    }
589
590
591
592
593    /**
594     * <p>
595     * Returns
596     * PV1 (Patient Visit) - creates it if necessary
597     * </p>
598     * 
599     *
600     */
601    public PV1 getPV1() { 
602       return getTyped("PV1", PV1.class);
603    }
604
605
606
607
608
609    /**
610     * <p>
611     * Returns
612     * PV2 (Patient Visit - Additional Information) - creates it if necessary
613     * </p>
614     * 
615     *
616     */
617    public PV2 getPV2() { 
618       return getTyped("PV2", PV2.class);
619    }
620
621
622
623
624
625    /**
626     * <p>
627     * Returns
628     * the first repetition of 
629     * ARV2 (Access Restriction) - creates it if necessary
630     * </p>
631     * 
632     *
633     */
634    public ARV getARV2() { 
635       return getTyped("ARV2", ARV.class);
636    }
637
638
639    /**
640     * <p>
641     * Returns a specific repetition of
642     * ARV2 (Access Restriction) - creates it if necessary
643     * </p>
644     * 
645     *
646     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
647     * @throws HL7Exception if the repetition requested is more than one 
648     *     greater than the number of existing repetitions.
649     */
650    public ARV getARV2(int rep) { 
651       return getTyped("ARV2", rep, ARV.class);
652    }
653
654    /** 
655     * <p>
656     * Returns the number of existing repetitions of ARV2 
657     * </p>
658     * 
659     */ 
660    public int getARV2Reps() { 
661        return getReps("ARV2");
662    } 
663
664    /** 
665     * <p>
666     * Returns a non-modifiable List containing all current existing repetitions of ARV2.
667     * <p>
668     * <p>
669     * Note that unlike {@link #getARV2()}, this method will not create any reps
670     * if none are already present, so an empty list may be returned.
671     * </p>
672     * 
673     */ 
674    public java.util.List<ARV> getARV2All() throws HL7Exception {
675        return getAllAsList("ARV2", ARV.class);
676    } 
677
678    /**
679     * <p>
680     * Inserts a specific repetition of ARV2 (Access Restriction)
681     * </p>
682     * 
683     *
684     * @see AbstractGroup#insertRepetition(Structure, int) 
685     */
686    public void insertARV2(ARV structure, int rep) throws HL7Exception { 
687       super.insertRepetition( "ARV2", structure, rep);
688    }
689
690
691    /**
692     * <p>
693     * Inserts a specific repetition of ARV2 (Access Restriction)
694     * </p>
695     * 
696     *
697     * @see AbstractGroup#insertRepetition(Structure, int) 
698     */
699    public ARV insertARV2(int rep) throws HL7Exception { 
700       return (ARV)super.insertRepetition("ARV2", rep);
701    }
702
703
704    /**
705     * <p>
706     * Removes a specific repetition of ARV2 (Access Restriction)
707     * </p>
708     * 
709     *
710     * @see AbstractGroup#removeRepetition(String, int) 
711     */
712    public ARV removeARV2(int rep) throws HL7Exception { 
713       return (ARV)super.removeRepetition("ARV2", rep);
714    }
715
716
717
718
719    /**
720     * <p>
721     * Returns
722     * the first repetition of 
723     * ROL2 (Role) - creates it if necessary
724     * </p>
725     * 
726     *
727     */
728    public ROL getROL2() { 
729       return getTyped("ROL2", ROL.class);
730    }
731
732
733    /**
734     * <p>
735     * Returns a specific repetition of
736     * ROL2 (Role) - creates it if necessary
737     * </p>
738     * 
739     *
740     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
741     * @throws HL7Exception if the repetition requested is more than one 
742     *     greater than the number of existing repetitions.
743     */
744    public ROL getROL2(int rep) { 
745       return getTyped("ROL2", rep, ROL.class);
746    }
747
748    /** 
749     * <p>
750     * Returns the number of existing repetitions of ROL2 
751     * </p>
752     * 
753     */ 
754    public int getROL2Reps() { 
755        return getReps("ROL2");
756    } 
757
758    /** 
759     * <p>
760     * Returns a non-modifiable List containing all current existing repetitions of ROL2.
761     * <p>
762     * <p>
763     * Note that unlike {@link #getROL2()}, this method will not create any reps
764     * if none are already present, so an empty list may be returned.
765     * </p>
766     * 
767     */ 
768    public java.util.List<ROL> getROL2All() throws HL7Exception {
769        return getAllAsList("ROL2", ROL.class);
770    } 
771
772    /**
773     * <p>
774     * Inserts a specific repetition of ROL2 (Role)
775     * </p>
776     * 
777     *
778     * @see AbstractGroup#insertRepetition(Structure, int) 
779     */
780    public void insertROL2(ROL structure, int rep) throws HL7Exception { 
781       super.insertRepetition( "ROL2", structure, rep);
782    }
783
784
785    /**
786     * <p>
787     * Inserts a specific repetition of ROL2 (Role)
788     * </p>
789     * 
790     *
791     * @see AbstractGroup#insertRepetition(Structure, int) 
792     */
793    public ROL insertROL2(int rep) throws HL7Exception { 
794       return (ROL)super.insertRepetition("ROL2", rep);
795    }
796
797
798    /**
799     * <p>
800     * Removes a specific repetition of ROL2 (Role)
801     * </p>
802     * 
803     *
804     * @see AbstractGroup#removeRepetition(String, int) 
805     */
806    public ROL removeROL2(int rep) throws HL7Exception { 
807       return (ROL)super.removeRepetition("ROL2", rep);
808    }
809
810
811
812
813    /**
814     * <p>
815     * Returns
816     * the first repetition of 
817     * DB1 (Disability) - creates it if necessary
818     * </p>
819     * 
820     *
821     */
822    public DB1 getDB1() { 
823       return getTyped("DB1", DB1.class);
824    }
825
826
827    /**
828     * <p>
829     * Returns a specific repetition of
830     * DB1 (Disability) - creates it if necessary
831     * </p>
832     * 
833     *
834     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
835     * @throws HL7Exception if the repetition requested is more than one 
836     *     greater than the number of existing repetitions.
837     */
838    public DB1 getDB1(int rep) { 
839       return getTyped("DB1", rep, DB1.class);
840    }
841
842    /** 
843     * <p>
844     * Returns the number of existing repetitions of DB1 
845     * </p>
846     * 
847     */ 
848    public int getDB1Reps() { 
849        return getReps("DB1");
850    } 
851
852    /** 
853     * <p>
854     * Returns a non-modifiable List containing all current existing repetitions of DB1.
855     * <p>
856     * <p>
857     * Note that unlike {@link #getDB1()}, this method will not create any reps
858     * if none are already present, so an empty list may be returned.
859     * </p>
860     * 
861     */ 
862    public java.util.List<DB1> getDB1All() throws HL7Exception {
863        return getAllAsList("DB1", DB1.class);
864    } 
865
866    /**
867     * <p>
868     * Inserts a specific repetition of DB1 (Disability)
869     * </p>
870     * 
871     *
872     * @see AbstractGroup#insertRepetition(Structure, int) 
873     */
874    public void insertDB1(DB1 structure, int rep) throws HL7Exception { 
875       super.insertRepetition( "DB1", structure, rep);
876    }
877
878
879    /**
880     * <p>
881     * Inserts a specific repetition of DB1 (Disability)
882     * </p>
883     * 
884     *
885     * @see AbstractGroup#insertRepetition(Structure, int) 
886     */
887    public DB1 insertDB1(int rep) throws HL7Exception { 
888       return (DB1)super.insertRepetition("DB1", rep);
889    }
890
891
892    /**
893     * <p>
894     * Removes a specific repetition of DB1 (Disability)
895     * </p>
896     * 
897     *
898     * @see AbstractGroup#removeRepetition(String, int) 
899     */
900    public DB1 removeDB1(int rep) throws HL7Exception { 
901       return (DB1)super.removeRepetition("DB1", rep);
902    }
903
904
905
906
907    /**
908     * <p>
909     * Returns
910     * the first repetition of 
911     * OBX (Observation/Result) - creates it if necessary
912     * </p>
913     * 
914     *
915     */
916    public OBX getOBX() { 
917       return getTyped("OBX", OBX.class);
918    }
919
920
921    /**
922     * <p>
923     * Returns a specific repetition of
924     * OBX (Observation/Result) - creates it if necessary
925     * </p>
926     * 
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 OBX getOBX(int rep) { 
933       return getTyped("OBX", rep, OBX.class);
934    }
935
936    /** 
937     * <p>
938     * Returns the number of existing repetitions of OBX 
939     * </p>
940     * 
941     */ 
942    public int getOBXReps() { 
943        return getReps("OBX");
944    } 
945
946    /** 
947     * <p>
948     * Returns a non-modifiable List containing all current existing repetitions of OBX.
949     * <p>
950     * <p>
951     * Note that unlike {@link #getOBX()}, this method will not create any reps
952     * if none are already present, so an empty list may be returned.
953     * </p>
954     * 
955     */ 
956    public java.util.List<OBX> getOBXAll() throws HL7Exception {
957        return getAllAsList("OBX", OBX.class);
958    } 
959
960    /**
961     * <p>
962     * Inserts a specific repetition of OBX (Observation/Result)
963     * </p>
964     * 
965     *
966     * @see AbstractGroup#insertRepetition(Structure, int) 
967     */
968    public void insertOBX(OBX structure, int rep) throws HL7Exception { 
969       super.insertRepetition( "OBX", structure, rep);
970    }
971
972
973    /**
974     * <p>
975     * Inserts a specific repetition of OBX (Observation/Result)
976     * </p>
977     * 
978     *
979     * @see AbstractGroup#insertRepetition(Structure, int) 
980     */
981    public OBX insertOBX(int rep) throws HL7Exception { 
982       return (OBX)super.insertRepetition("OBX", rep);
983    }
984
985
986    /**
987     * <p>
988     * Removes a specific repetition of OBX (Observation/Result)
989     * </p>
990     * 
991     *
992     * @see AbstractGroup#removeRepetition(String, int) 
993     */
994    public OBX removeOBX(int rep) throws HL7Exception { 
995       return (OBX)super.removeRepetition("OBX", rep);
996    }
997
998
999
1000
1001    /**
1002     * <p>
1003     * Returns
1004     * the first repetition of 
1005     * AL1 (Patient Allergy Information) - creates it if necessary
1006     * </p>
1007     * 
1008     *
1009     */
1010    public AL1 getAL1() { 
1011       return getTyped("AL1", AL1.class);
1012    }
1013
1014
1015    /**
1016     * <p>
1017     * Returns a specific repetition of
1018     * AL1 (Patient Allergy Information) - creates it if necessary
1019     * </p>
1020     * 
1021     *
1022     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1023     * @throws HL7Exception if the repetition requested is more than one 
1024     *     greater than the number of existing repetitions.
1025     */
1026    public AL1 getAL1(int rep) { 
1027       return getTyped("AL1", rep, AL1.class);
1028    }
1029
1030    /** 
1031     * <p>
1032     * Returns the number of existing repetitions of AL1 
1033     * </p>
1034     * 
1035     */ 
1036    public int getAL1Reps() { 
1037        return getReps("AL1");
1038    } 
1039
1040    /** 
1041     * <p>
1042     * Returns a non-modifiable List containing all current existing repetitions of AL1.
1043     * <p>
1044     * <p>
1045     * Note that unlike {@link #getAL1()}, this method will not create any reps
1046     * if none are already present, so an empty list may be returned.
1047     * </p>
1048     * 
1049     */ 
1050    public java.util.List<AL1> getAL1All() throws HL7Exception {
1051        return getAllAsList("AL1", AL1.class);
1052    } 
1053
1054    /**
1055     * <p>
1056     * Inserts a specific repetition of AL1 (Patient Allergy Information)
1057     * </p>
1058     * 
1059     *
1060     * @see AbstractGroup#insertRepetition(Structure, int) 
1061     */
1062    public void insertAL1(AL1 structure, int rep) throws HL7Exception { 
1063       super.insertRepetition( "AL1", structure, rep);
1064    }
1065
1066
1067    /**
1068     * <p>
1069     * Inserts a specific repetition of AL1 (Patient Allergy Information)
1070     * </p>
1071     * 
1072     *
1073     * @see AbstractGroup#insertRepetition(Structure, int) 
1074     */
1075    public AL1 insertAL1(int rep) throws HL7Exception { 
1076       return (AL1)super.insertRepetition("AL1", rep);
1077    }
1078
1079
1080    /**
1081     * <p>
1082     * Removes a specific repetition of AL1 (Patient Allergy Information)
1083     * </p>
1084     * 
1085     *
1086     * @see AbstractGroup#removeRepetition(String, int) 
1087     */
1088    public AL1 removeAL1(int rep) throws HL7Exception { 
1089       return (AL1)super.removeRepetition("AL1", rep);
1090    }
1091
1092
1093
1094
1095    /**
1096     * <p>
1097     * Returns
1098     * the first repetition of 
1099     * DG1 (Diagnosis) - creates it if necessary
1100     * </p>
1101     * 
1102     *
1103     */
1104    public DG1 getDG1() { 
1105       return getTyped("DG1", DG1.class);
1106    }
1107
1108
1109    /**
1110     * <p>
1111     * Returns a specific repetition of
1112     * DG1 (Diagnosis) - creates it if necessary
1113     * </p>
1114     * 
1115     *
1116     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1117     * @throws HL7Exception if the repetition requested is more than one 
1118     *     greater than the number of existing repetitions.
1119     */
1120    public DG1 getDG1(int rep) { 
1121       return getTyped("DG1", rep, DG1.class);
1122    }
1123
1124    /** 
1125     * <p>
1126     * Returns the number of existing repetitions of DG1 
1127     * </p>
1128     * 
1129     */ 
1130    public int getDG1Reps() { 
1131        return getReps("DG1");
1132    } 
1133
1134    /** 
1135     * <p>
1136     * Returns a non-modifiable List containing all current existing repetitions of DG1.
1137     * <p>
1138     * <p>
1139     * Note that unlike {@link #getDG1()}, this method will not create any reps
1140     * if none are already present, so an empty list may be returned.
1141     * </p>
1142     * 
1143     */ 
1144    public java.util.List<DG1> getDG1All() throws HL7Exception {
1145        return getAllAsList("DG1", DG1.class);
1146    } 
1147
1148    /**
1149     * <p>
1150     * Inserts a specific repetition of DG1 (Diagnosis)
1151     * </p>
1152     * 
1153     *
1154     * @see AbstractGroup#insertRepetition(Structure, int) 
1155     */
1156    public void insertDG1(DG1 structure, int rep) throws HL7Exception { 
1157       super.insertRepetition( "DG1", structure, rep);
1158    }
1159
1160
1161    /**
1162     * <p>
1163     * Inserts a specific repetition of DG1 (Diagnosis)
1164     * </p>
1165     * 
1166     *
1167     * @see AbstractGroup#insertRepetition(Structure, int) 
1168     */
1169    public DG1 insertDG1(int rep) throws HL7Exception { 
1170       return (DG1)super.insertRepetition("DG1", rep);
1171    }
1172
1173
1174    /**
1175     * <p>
1176     * Removes a specific repetition of DG1 (Diagnosis)
1177     * </p>
1178     * 
1179     *
1180     * @see AbstractGroup#removeRepetition(String, int) 
1181     */
1182    public DG1 removeDG1(int rep) throws HL7Exception { 
1183       return (DG1)super.removeRepetition("DG1", rep);
1184    }
1185
1186
1187
1188
1189    /**
1190     * <p>
1191     * Returns
1192     * DRG (Diagnosis Related Group) - creates it if necessary
1193     * </p>
1194     * 
1195     *
1196     */
1197    public DRG getDRG() { 
1198       return getTyped("DRG", DRG.class);
1199    }
1200
1201
1202
1203
1204
1205    /**
1206     * <p>
1207     * Returns
1208     * the first repetition of 
1209     * PROCEDURE (a Group object) - creates it if necessary
1210     * </p>
1211     * 
1212     *
1213     */
1214    public ADT_A01_PROCEDURE getPROCEDURE() { 
1215       return getTyped("PROCEDURE", ADT_A01_PROCEDURE.class);
1216    }
1217
1218
1219    /**
1220     * <p>
1221     * Returns a specific repetition of
1222     * PROCEDURE (a Group object) - creates it if necessary
1223     * </p>
1224     * 
1225     *
1226     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1227     * @throws HL7Exception if the repetition requested is more than one 
1228     *     greater than the number of existing repetitions.
1229     */
1230    public ADT_A01_PROCEDURE getPROCEDURE(int rep) { 
1231       return getTyped("PROCEDURE", rep, ADT_A01_PROCEDURE.class);
1232    }
1233
1234    /** 
1235     * <p>
1236     * Returns the number of existing repetitions of PROCEDURE 
1237     * </p>
1238     * 
1239     */ 
1240    public int getPROCEDUREReps() { 
1241        return getReps("PROCEDURE");
1242    } 
1243
1244    /** 
1245     * <p>
1246     * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE.
1247     * <p>
1248     * <p>
1249     * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps
1250     * if none are already present, so an empty list may be returned.
1251     * </p>
1252     * 
1253     */ 
1254    public java.util.List<ADT_A01_PROCEDURE> getPROCEDUREAll() throws HL7Exception {
1255        return getAllAsList("PROCEDURE", ADT_A01_PROCEDURE.class);
1256    } 
1257
1258    /**
1259     * <p>
1260     * Inserts a specific repetition of PROCEDURE (a Group object)
1261     * </p>
1262     * 
1263     *
1264     * @see AbstractGroup#insertRepetition(Structure, int) 
1265     */
1266    public void insertPROCEDURE(ADT_A01_PROCEDURE structure, int rep) throws HL7Exception { 
1267       super.insertRepetition( "PROCEDURE", structure, rep);
1268    }
1269
1270
1271    /**
1272     * <p>
1273     * Inserts a specific repetition of PROCEDURE (a Group object)
1274     * </p>
1275     * 
1276     *
1277     * @see AbstractGroup#insertRepetition(Structure, int) 
1278     */
1279    public ADT_A01_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 
1280       return (ADT_A01_PROCEDURE)super.insertRepetition("PROCEDURE", rep);
1281    }
1282
1283
1284    /**
1285     * <p>
1286     * Removes a specific repetition of PROCEDURE (a Group object)
1287     * </p>
1288     * 
1289     *
1290     * @see AbstractGroup#removeRepetition(String, int) 
1291     */
1292    public ADT_A01_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 
1293       return (ADT_A01_PROCEDURE)super.removeRepetition("PROCEDURE", rep);
1294    }
1295
1296
1297
1298
1299    /**
1300     * <p>
1301     * Returns
1302     * the first repetition of 
1303     * GT1 (Guarantor) - creates it if necessary
1304     * </p>
1305     * 
1306     *
1307     */
1308    public GT1 getGT1() { 
1309       return getTyped("GT1", GT1.class);
1310    }
1311
1312
1313    /**
1314     * <p>
1315     * Returns a specific repetition of
1316     * GT1 (Guarantor) - creates it if necessary
1317     * </p>
1318     * 
1319     *
1320     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1321     * @throws HL7Exception if the repetition requested is more than one 
1322     *     greater than the number of existing repetitions.
1323     */
1324    public GT1 getGT1(int rep) { 
1325       return getTyped("GT1", rep, GT1.class);
1326    }
1327
1328    /** 
1329     * <p>
1330     * Returns the number of existing repetitions of GT1 
1331     * </p>
1332     * 
1333     */ 
1334    public int getGT1Reps() { 
1335        return getReps("GT1");
1336    } 
1337
1338    /** 
1339     * <p>
1340     * Returns a non-modifiable List containing all current existing repetitions of GT1.
1341     * <p>
1342     * <p>
1343     * Note that unlike {@link #getGT1()}, this method will not create any reps
1344     * if none are already present, so an empty list may be returned.
1345     * </p>
1346     * 
1347     */ 
1348    public java.util.List<GT1> getGT1All() throws HL7Exception {
1349        return getAllAsList("GT1", GT1.class);
1350    } 
1351
1352    /**
1353     * <p>
1354     * Inserts a specific repetition of GT1 (Guarantor)
1355     * </p>
1356     * 
1357     *
1358     * @see AbstractGroup#insertRepetition(Structure, int) 
1359     */
1360    public void insertGT1(GT1 structure, int rep) throws HL7Exception { 
1361       super.insertRepetition( "GT1", structure, rep);
1362    }
1363
1364
1365    /**
1366     * <p>
1367     * Inserts a specific repetition of GT1 (Guarantor)
1368     * </p>
1369     * 
1370     *
1371     * @see AbstractGroup#insertRepetition(Structure, int) 
1372     */
1373    public GT1 insertGT1(int rep) throws HL7Exception { 
1374       return (GT1)super.insertRepetition("GT1", rep);
1375    }
1376
1377
1378    /**
1379     * <p>
1380     * Removes a specific repetition of GT1 (Guarantor)
1381     * </p>
1382     * 
1383     *
1384     * @see AbstractGroup#removeRepetition(String, int) 
1385     */
1386    public GT1 removeGT1(int rep) throws HL7Exception { 
1387       return (GT1)super.removeRepetition("GT1", rep);
1388    }
1389
1390
1391
1392
1393    /**
1394     * <p>
1395     * Returns
1396     * the first repetition of 
1397     * INSURANCE (a Group object) - creates it if necessary
1398     * </p>
1399     * 
1400     *
1401     */
1402    public ADT_A01_INSURANCE getINSURANCE() { 
1403       return getTyped("INSURANCE", ADT_A01_INSURANCE.class);
1404    }
1405
1406
1407    /**
1408     * <p>
1409     * Returns a specific repetition of
1410     * INSURANCE (a Group object) - creates it if necessary
1411     * </p>
1412     * 
1413     *
1414     * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
1415     * @throws HL7Exception if the repetition requested is more than one 
1416     *     greater than the number of existing repetitions.
1417     */
1418    public ADT_A01_INSURANCE getINSURANCE(int rep) { 
1419       return getTyped("INSURANCE", rep, ADT_A01_INSURANCE.class);
1420    }
1421
1422    /** 
1423     * <p>
1424     * Returns the number of existing repetitions of INSURANCE 
1425     * </p>
1426     * 
1427     */ 
1428    public int getINSURANCEReps() { 
1429        return getReps("INSURANCE");
1430    } 
1431
1432    /** 
1433     * <p>
1434     * Returns a non-modifiable List containing all current existing repetitions of INSURANCE.
1435     * <p>
1436     * <p>
1437     * Note that unlike {@link #getINSURANCE()}, this method will not create any reps
1438     * if none are already present, so an empty list may be returned.
1439     * </p>
1440     * 
1441     */ 
1442    public java.util.List<ADT_A01_INSURANCE> getINSURANCEAll() throws HL7Exception {
1443        return getAllAsList("INSURANCE", ADT_A01_INSURANCE.class);
1444    } 
1445
1446    /**
1447     * <p>
1448     * Inserts a specific repetition of INSURANCE (a Group object)
1449     * </p>
1450     * 
1451     *
1452     * @see AbstractGroup#insertRepetition(Structure, int) 
1453     */
1454    public void insertINSURANCE(ADT_A01_INSURANCE structure, int rep) throws HL7Exception { 
1455       super.insertRepetition( "INSURANCE", structure, rep);
1456    }
1457
1458
1459    /**
1460     * <p>
1461     * Inserts a specific repetition of INSURANCE (a Group object)
1462     * </p>
1463     * 
1464     *
1465     * @see AbstractGroup#insertRepetition(Structure, int) 
1466     */
1467    public ADT_A01_INSURANCE insertINSURANCE(int rep) throws HL7Exception { 
1468       return (ADT_A01_INSURANCE)super.insertRepetition("INSURANCE", rep);
1469    }
1470
1471
1472    /**
1473     * <p>
1474     * Removes a specific repetition of INSURANCE (a Group object)
1475     * </p>
1476     * 
1477     *
1478     * @see AbstractGroup#removeRepetition(String, int) 
1479     */
1480    public ADT_A01_INSURANCE removeINSURANCE(int rep) throws HL7Exception { 
1481       return (ADT_A01_INSURANCE)super.removeRepetition("INSURANCE", rep);
1482    }
1483
1484
1485
1486
1487    /**
1488     * <p>
1489     * Returns
1490     * ACC (Accident) - creates it if necessary
1491     * </p>
1492     * 
1493     *
1494     */
1495    public ACC getACC() { 
1496       return getTyped("ACC", ACC.class);
1497    }
1498
1499
1500
1501
1502
1503    /**
1504     * <p>
1505     * Returns
1506     * UB1 (UB82) - creates it if necessary
1507     * </p>
1508     * 
1509     *
1510     */
1511    public UB1 getUB1() { 
1512       return getTyped("UB1", UB1.class);
1513    }
1514
1515
1516
1517
1518
1519    /**
1520     * <p>
1521     * Returns
1522     * UB2 (Uniform Billing Data) - creates it if necessary
1523     * </p>
1524     * 
1525     *
1526     */
1527    public UB2 getUB2() { 
1528       return getTyped("UB2", UB2.class);
1529    }
1530
1531
1532
1533
1534
1535    /**
1536     * <p>
1537     * Returns
1538     * PDA (Patient Death and Autopsy) - creates it if necessary
1539     * </p>
1540     * 
1541     *
1542     */
1543    public PDA getPDA() { 
1544       return getTyped("PDA", PDA.class);
1545    }
1546
1547
1548
1549
1550}
1551