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