View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v281.message;
35  
36  import ca.uhn.hl7v2.model.v281.group.*;
37  import ca.uhn.hl7v2.model.v281.segment.*;
38  
39  import ca.uhn.hl7v2.HL7Exception;
40  import ca.uhn.hl7v2.parser.ModelClassFactory;
41  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
42  import ca.uhn.hl7v2.model.*;
43  
44  
45  /**
46   * <p>Represents a RQA_I08 message structure (see chapter 11.4.1). This structure contains the 
47   * following elements: </p>
48   * <ul>
49  		                 * <li>1: MSH (Message Header) <b> </b> </li>
50  		                 * <li>2: SFT (Software Segment) <b>optional repeating</b> </li>
51  		                 * <li>3: UAC (User Authentication Credential Segment) <b>optional </b> </li>
52  		                 * <li>4: RF1 (Referral Information) <b>optional </b> </li>
53  		                 * <li>5: RQA_I08_AUTHORIZATION (a Group object) <b>optional </b> </li>
54  		                 * <li>6: RQA_I08_PROVIDER (a Group object) <b> repeating</b> </li>
55  		                 * <li>7: PID (Patient Identification) <b> </b> </li>
56  		                 * <li>8: NK1 (Next of Kin / Associated Parties) <b>optional repeating</b> </li>
57  		                 * <li>9: RQA_I08_GUARANTOR_INSURANCE (a Group object) <b>optional </b> </li>
58  		                 * <li>10: ACC (Accident) <b>optional </b> </li>
59  		                 * <li>11: DG1 (Diagnosis) <b>optional repeating</b> </li>
60  		                 * <li>12: DRG (Diagnosis Related Group) <b>optional repeating</b> </li>
61  		                 * <li>13: AL1 (Patient Allergy Information) <b>optional repeating</b> </li>
62  		                 * <li>14: RQA_I08_PROCEDURE (a Group object) <b>optional repeating</b> </li>
63  		                 * <li>15: RQA_I08_OBSERVATION (a Group object) <b>optional repeating</b> </li>
64  		                 * <li>16: RQA_I08_VISIT (a Group object) <b>optional </b> </li>
65  		                 * <li>17: NTE (Notes and Comments) <b>optional repeating</b> </li>
66   * </ul>
67   */
68  //@SuppressWarnings("unused")
69  public class RQA_I08 extends AbstractMessage  {
70  
71      /**
72       * Creates a new RQA_I08 message with DefaultModelClassFactory. 
73       */ 
74      public RQA_I08() { 
75         this(new DefaultModelClassFactory());
76      }
77  
78      /** 
79       * Creates a new RQA_I08 message with custom ModelClassFactory.
80       */
81      public RQA_I08(ModelClassFactory factory) {
82         super(factory);
83         init(factory);
84      }
85  
86      private void init(ModelClassFactory factory) {
87         try {
88                            this.add(MSH.class, true, false);
89  	                          this.add(SFT.class, false, true);
90  	                          this.add(UAC.class, false, false);
91  	                          this.add(RF1.class, false, false);
92  	                          this.add(RQA_I08_AUTHORIZATION.class, false, false);
93  	                          this.add(RQA_I08_PROVIDER.class, true, true);
94  	                          this.add(PID.class, true, false);
95  	                          this.add(NK1.class, false, true);
96  	                          this.add(RQA_I08_GUARANTOR_INSURANCE.class, false, false);
97  	                          this.add(ACC.class, false, false);
98  	                          this.add(DG1.class, false, true);
99  	                          this.add(DRG.class, false, true);
100 	                          this.add(AL1.class, false, true);
101 	                          this.add(RQA_I08_PROCEDURE.class, false, true);
102 	                          this.add(RQA_I08_OBSERVATION.class, false, true);
103 	                          this.add(RQA_I08_VISIT.class, false, false);
104 	                          this.add(NTE.class, false, true);
105 	       } catch(HL7Exception e) {
106           log.error("Unexpected error creating RQA_I08 - this is probably a bug in the source code generator.", e);
107        }
108     }
109 
110 
111     /** 
112      * Returns "2.8.1"
113      */
114     public String getVersion() {
115        return "2.8.1";
116     }
117 
118 
119 
120 
121     /**
122      * <p>
123      * Returns
124      * MSH (Message Header) - creates it if necessary
125      * </p>
126      * 
127      *
128      */
129     public MSH getMSH() { 
130        return getTyped("MSH", MSH.class);
131     }
132 
133 
134 
135 
136 
137     /**
138      * <p>
139      * Returns
140      * the first repetition of 
141      * SFT (Software Segment) - creates it if necessary
142      * </p>
143      * 
144      *
145      */
146     public SFT getSFT() { 
147        return getTyped("SFT", SFT.class);
148     }
149 
150 
151     /**
152      * <p>
153      * Returns a specific repetition of
154      * SFT (Software Segment) - creates it if necessary
155      * </p>
156      * 
157      *
158      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
159      * @throws HL7Exception if the repetition requested is more than one 
160      *     greater than the number of existing repetitions.
161      */
162     public SFT getSFT(int rep) { 
163        return getTyped("SFT", rep, SFT.class);
164     }
165 
166     /** 
167      * <p>
168      * Returns the number of existing repetitions of SFT 
169      * </p>
170      * 
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      */ 
186     public java.util.List<SFT> getSFTAll() throws HL7Exception {
187     	return getAllAsList("SFT", SFT.class);
188     } 
189 
190     /**
191      * <p>
192      * Inserts a specific repetition of SFT (Software Segment)
193      * </p>
194      * 
195      *
196      * @see AbstractGroup#insertRepetition(Structure, int) 
197      */
198     public void insertSFT(SFT structure, int rep) throws HL7Exception { 
199        super.insertRepetition( "SFT", structure, rep);
200     }
201 
202 
203     /**
204      * <p>
205      * Inserts a specific repetition of SFT (Software Segment)
206      * </p>
207      * 
208      *
209      * @see AbstractGroup#insertRepetition(Structure, int) 
210      */
211     public SFT insertSFT(int rep) throws HL7Exception { 
212        return (SFT)super.insertRepetition("SFT", rep);
213     }
214 
215 
216     /**
217      * <p>
218      * Removes a specific repetition of SFT (Software Segment)
219      * </p>
220      * 
221      *
222      * @see AbstractGroup#removeRepetition(String, int) 
223      */
224     public SFT removeSFT(int rep) throws HL7Exception { 
225        return (SFT)super.removeRepetition("SFT", rep);
226     }
227 
228 
229 
230 
231     /**
232      * <p>
233      * Returns
234      * UAC (User Authentication Credential Segment) - creates it if necessary
235      * </p>
236      * 
237      *
238      */
239     public UAC getUAC() { 
240        return getTyped("UAC", UAC.class);
241     }
242 
243 
244 
245 
246 
247     /**
248      * <p>
249      * Returns
250      * RF1 (Referral Information) - creates it if necessary
251      * </p>
252      * 
253      *
254      */
255     public RF1 getRF1() { 
256        return getTyped("RF1", RF1.class);
257     }
258 
259 
260 
261 
262 
263     /**
264      * <p>
265      * Returns
266      * AUTHORIZATION (a Group object) - creates it if necessary
267      * </p>
268      * 
269      *
270      */
271     public RQA_I08_AUTHORIZATION getAUTHORIZATION() { 
272        return getTyped("AUTHORIZATION", RQA_I08_AUTHORIZATION.class);
273     }
274 
275 
276 
277 
278 
279     /**
280      * <p>
281      * Returns
282      * the first repetition of 
283      * PROVIDER (a Group object) - creates it if necessary
284      * </p>
285      * 
286      *
287      */
288     public RQA_I08_PROVIDER getPROVIDER() { 
289        return getTyped("PROVIDER", RQA_I08_PROVIDER.class);
290     }
291 
292 
293     /**
294      * <p>
295      * Returns a specific repetition of
296      * PROVIDER (a Group object) - creates it if necessary
297      * </p>
298      * 
299      *
300      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
301      * @throws HL7Exception if the repetition requested is more than one 
302      *     greater than the number of existing repetitions.
303      */
304     public RQA_I08_PROVIDER getPROVIDER(int rep) { 
305        return getTyped("PROVIDER", rep, RQA_I08_PROVIDER.class);
306     }
307 
308     /** 
309      * <p>
310      * Returns the number of existing repetitions of PROVIDER 
311      * </p>
312      * 
313      */ 
314     public int getPROVIDERReps() { 
315     	return getReps("PROVIDER");
316     } 
317 
318     /** 
319      * <p>
320      * Returns a non-modifiable List containing all current existing repetitions of PROVIDER.
321      * <p>
322      * <p>
323      * Note that unlike {@link #getPROVIDER()}, this method will not create any reps
324      * if none are already present, so an empty list may be returned.
325      * </p>
326      * 
327      */ 
328     public java.util.List<RQA_I08_PROVIDER> getPROVIDERAll() throws HL7Exception {
329     	return getAllAsList("PROVIDER", RQA_I08_PROVIDER.class);
330     } 
331 
332     /**
333      * <p>
334      * Inserts a specific repetition of PROVIDER (a Group object)
335      * </p>
336      * 
337      *
338      * @see AbstractGroup#insertRepetition(Structure, int) 
339      */
340     public void insertPROVIDER(RQA_I08_PROVIDER structure, int rep) throws HL7Exception { 
341        super.insertRepetition( "PROVIDER", structure, rep);
342     }
343 
344 
345     /**
346      * <p>
347      * Inserts a specific repetition of PROVIDER (a Group object)
348      * </p>
349      * 
350      *
351      * @see AbstractGroup#insertRepetition(Structure, int) 
352      */
353     public RQA_I08_PROVIDER insertPROVIDER(int rep) throws HL7Exception { 
354        return (RQA_I08_PROVIDER)super.insertRepetition("PROVIDER", rep);
355     }
356 
357 
358     /**
359      * <p>
360      * Removes a specific repetition of PROVIDER (a Group object)
361      * </p>
362      * 
363      *
364      * @see AbstractGroup#removeRepetition(String, int) 
365      */
366     public RQA_I08_PROVIDER removePROVIDER(int rep) throws HL7Exception { 
367        return (RQA_I08_PROVIDER)super.removeRepetition("PROVIDER", rep);
368     }
369 
370 
371 
372 
373     /**
374      * <p>
375      * Returns
376      * PID (Patient Identification) - creates it if necessary
377      * </p>
378      * 
379      *
380      */
381     public PID getPID() { 
382        return getTyped("PID", PID.class);
383     }
384 
385 
386 
387 
388 
389     /**
390      * <p>
391      * Returns
392      * the first repetition of 
393      * NK1 (Next of Kin / Associated Parties) - creates it if necessary
394      * </p>
395      * 
396      *
397      */
398     public NK1 getNK1() { 
399        return getTyped("NK1", NK1.class);
400     }
401 
402 
403     /**
404      * <p>
405      * Returns a specific repetition of
406      * NK1 (Next of Kin / Associated Parties) - creates it if necessary
407      * </p>
408      * 
409      *
410      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
411      * @throws HL7Exception if the repetition requested is more than one 
412      *     greater than the number of existing repetitions.
413      */
414     public NK1 getNK1(int rep) { 
415        return getTyped("NK1", rep, NK1.class);
416     }
417 
418     /** 
419      * <p>
420      * Returns the number of existing repetitions of NK1 
421      * </p>
422      * 
423      */ 
424     public int getNK1Reps() { 
425     	return getReps("NK1");
426     } 
427 
428     /** 
429      * <p>
430      * Returns a non-modifiable List containing all current existing repetitions of NK1.
431      * <p>
432      * <p>
433      * Note that unlike {@link #getNK1()}, this method will not create any reps
434      * if none are already present, so an empty list may be returned.
435      * </p>
436      * 
437      */ 
438     public java.util.List<NK1> getNK1All() throws HL7Exception {
439     	return getAllAsList("NK1", NK1.class);
440     } 
441 
442     /**
443      * <p>
444      * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
445      * </p>
446      * 
447      *
448      * @see AbstractGroup#insertRepetition(Structure, int) 
449      */
450     public void insertNK1(NK1 structure, int rep) throws HL7Exception { 
451        super.insertRepetition( "NK1", structure, rep);
452     }
453 
454 
455     /**
456      * <p>
457      * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties)
458      * </p>
459      * 
460      *
461      * @see AbstractGroup#insertRepetition(Structure, int) 
462      */
463     public NK1 insertNK1(int rep) throws HL7Exception { 
464        return (NK1)super.insertRepetition("NK1", rep);
465     }
466 
467 
468     /**
469      * <p>
470      * Removes a specific repetition of NK1 (Next of Kin / Associated Parties)
471      * </p>
472      * 
473      *
474      * @see AbstractGroup#removeRepetition(String, int) 
475      */
476     public NK1 removeNK1(int rep) throws HL7Exception { 
477        return (NK1)super.removeRepetition("NK1", rep);
478     }
479 
480 
481 
482 
483     /**
484      * <p>
485      * Returns
486      * GUARANTOR_INSURANCE (a Group object) - creates it if necessary
487      * </p>
488      * 
489      *
490      */
491     public RQA_I08_GUARANTOR_INSURANCE getGUARANTOR_INSURANCE() { 
492        return getTyped("GUARANTOR_INSURANCE", RQA_I08_GUARANTOR_INSURANCE.class);
493     }
494 
495 
496 
497 
498 
499     /**
500      * <p>
501      * Returns
502      * ACC (Accident) - creates it if necessary
503      * </p>
504      * 
505      *
506      */
507     public ACC getACC() { 
508        return getTyped("ACC", ACC.class);
509     }
510 
511 
512 
513 
514 
515     /**
516      * <p>
517      * Returns
518      * the first repetition of 
519      * DG1 (Diagnosis) - creates it if necessary
520      * </p>
521      * 
522      *
523      */
524     public DG1 getDG1() { 
525        return getTyped("DG1", DG1.class);
526     }
527 
528 
529     /**
530      * <p>
531      * Returns a specific repetition of
532      * DG1 (Diagnosis) - creates it if necessary
533      * </p>
534      * 
535      *
536      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
537      * @throws HL7Exception if the repetition requested is more than one 
538      *     greater than the number of existing repetitions.
539      */
540     public DG1 getDG1(int rep) { 
541        return getTyped("DG1", rep, DG1.class);
542     }
543 
544     /** 
545      * <p>
546      * Returns the number of existing repetitions of DG1 
547      * </p>
548      * 
549      */ 
550     public int getDG1Reps() { 
551     	return getReps("DG1");
552     } 
553 
554     /** 
555      * <p>
556      * Returns a non-modifiable List containing all current existing repetitions of DG1.
557      * <p>
558      * <p>
559      * Note that unlike {@link #getDG1()}, this method will not create any reps
560      * if none are already present, so an empty list may be returned.
561      * </p>
562      * 
563      */ 
564     public java.util.List<DG1> getDG1All() throws HL7Exception {
565     	return getAllAsList("DG1", DG1.class);
566     } 
567 
568     /**
569      * <p>
570      * Inserts a specific repetition of DG1 (Diagnosis)
571      * </p>
572      * 
573      *
574      * @see AbstractGroup#insertRepetition(Structure, int) 
575      */
576     public void insertDG1(DG1 structure, int rep) throws HL7Exception { 
577        super.insertRepetition( "DG1", structure, rep);
578     }
579 
580 
581     /**
582      * <p>
583      * Inserts a specific repetition of DG1 (Diagnosis)
584      * </p>
585      * 
586      *
587      * @see AbstractGroup#insertRepetition(Structure, int) 
588      */
589     public DG1 insertDG1(int rep) throws HL7Exception { 
590        return (DG1)super.insertRepetition("DG1", rep);
591     }
592 
593 
594     /**
595      * <p>
596      * Removes a specific repetition of DG1 (Diagnosis)
597      * </p>
598      * 
599      *
600      * @see AbstractGroup#removeRepetition(String, int) 
601      */
602     public DG1 removeDG1(int rep) throws HL7Exception { 
603        return (DG1)super.removeRepetition("DG1", rep);
604     }
605 
606 
607 
608 
609     /**
610      * <p>
611      * Returns
612      * the first repetition of 
613      * DRG (Diagnosis Related Group) - creates it if necessary
614      * </p>
615      * 
616      *
617      */
618     public DRG getDRG() { 
619        return getTyped("DRG", DRG.class);
620     }
621 
622 
623     /**
624      * <p>
625      * Returns a specific repetition of
626      * DRG (Diagnosis Related Group) - creates it if necessary
627      * </p>
628      * 
629      *
630      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
631      * @throws HL7Exception if the repetition requested is more than one 
632      *     greater than the number of existing repetitions.
633      */
634     public DRG getDRG(int rep) { 
635        return getTyped("DRG", rep, DRG.class);
636     }
637 
638     /** 
639      * <p>
640      * Returns the number of existing repetitions of DRG 
641      * </p>
642      * 
643      */ 
644     public int getDRGReps() { 
645     	return getReps("DRG");
646     } 
647 
648     /** 
649      * <p>
650      * Returns a non-modifiable List containing all current existing repetitions of DRG.
651      * <p>
652      * <p>
653      * Note that unlike {@link #getDRG()}, this method will not create any reps
654      * if none are already present, so an empty list may be returned.
655      * </p>
656      * 
657      */ 
658     public java.util.List<DRG> getDRGAll() throws HL7Exception {
659     	return getAllAsList("DRG", DRG.class);
660     } 
661 
662     /**
663      * <p>
664      * Inserts a specific repetition of DRG (Diagnosis Related Group)
665      * </p>
666      * 
667      *
668      * @see AbstractGroup#insertRepetition(Structure, int) 
669      */
670     public void insertDRG(DRG structure, int rep) throws HL7Exception { 
671        super.insertRepetition( "DRG", structure, rep);
672     }
673 
674 
675     /**
676      * <p>
677      * Inserts a specific repetition of DRG (Diagnosis Related Group)
678      * </p>
679      * 
680      *
681      * @see AbstractGroup#insertRepetition(Structure, int) 
682      */
683     public DRG insertDRG(int rep) throws HL7Exception { 
684        return (DRG)super.insertRepetition("DRG", rep);
685     }
686 
687 
688     /**
689      * <p>
690      * Removes a specific repetition of DRG (Diagnosis Related Group)
691      * </p>
692      * 
693      *
694      * @see AbstractGroup#removeRepetition(String, int) 
695      */
696     public DRG removeDRG(int rep) throws HL7Exception { 
697        return (DRG)super.removeRepetition("DRG", rep);
698     }
699 
700 
701 
702 
703     /**
704      * <p>
705      * Returns
706      * the first repetition of 
707      * AL1 (Patient Allergy Information) - creates it if necessary
708      * </p>
709      * 
710      *
711      */
712     public AL1 getAL1() { 
713        return getTyped("AL1", AL1.class);
714     }
715 
716 
717     /**
718      * <p>
719      * Returns a specific repetition of
720      * AL1 (Patient Allergy Information) - creates it if necessary
721      * </p>
722      * 
723      *
724      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
725      * @throws HL7Exception if the repetition requested is more than one 
726      *     greater than the number of existing repetitions.
727      */
728     public AL1 getAL1(int rep) { 
729        return getTyped("AL1", rep, AL1.class);
730     }
731 
732     /** 
733      * <p>
734      * Returns the number of existing repetitions of AL1 
735      * </p>
736      * 
737      */ 
738     public int getAL1Reps() { 
739     	return getReps("AL1");
740     } 
741 
742     /** 
743      * <p>
744      * Returns a non-modifiable List containing all current existing repetitions of AL1.
745      * <p>
746      * <p>
747      * Note that unlike {@link #getAL1()}, this method will not create any reps
748      * if none are already present, so an empty list may be returned.
749      * </p>
750      * 
751      */ 
752     public java.util.List<AL1> getAL1All() throws HL7Exception {
753     	return getAllAsList("AL1", AL1.class);
754     } 
755 
756     /**
757      * <p>
758      * Inserts a specific repetition of AL1 (Patient Allergy Information)
759      * </p>
760      * 
761      *
762      * @see AbstractGroup#insertRepetition(Structure, int) 
763      */
764     public void insertAL1(AL1 structure, int rep) throws HL7Exception { 
765        super.insertRepetition( "AL1", structure, rep);
766     }
767 
768 
769     /**
770      * <p>
771      * Inserts a specific repetition of AL1 (Patient Allergy Information)
772      * </p>
773      * 
774      *
775      * @see AbstractGroup#insertRepetition(Structure, int) 
776      */
777     public AL1 insertAL1(int rep) throws HL7Exception { 
778        return (AL1)super.insertRepetition("AL1", rep);
779     }
780 
781 
782     /**
783      * <p>
784      * Removes a specific repetition of AL1 (Patient Allergy Information)
785      * </p>
786      * 
787      *
788      * @see AbstractGroup#removeRepetition(String, int) 
789      */
790     public AL1 removeAL1(int rep) throws HL7Exception { 
791        return (AL1)super.removeRepetition("AL1", rep);
792     }
793 
794 
795 
796 
797     /**
798      * <p>
799      * Returns
800      * the first repetition of 
801      * PROCEDURE (a Group object) - creates it if necessary
802      * </p>
803      * 
804      *
805      */
806     public RQA_I08_PROCEDURE getPROCEDURE() { 
807        return getTyped("PROCEDURE", RQA_I08_PROCEDURE.class);
808     }
809 
810 
811     /**
812      * <p>
813      * Returns a specific repetition of
814      * PROCEDURE (a Group object) - creates it if necessary
815      * </p>
816      * 
817      *
818      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
819      * @throws HL7Exception if the repetition requested is more than one 
820      *     greater than the number of existing repetitions.
821      */
822     public RQA_I08_PROCEDURE getPROCEDURE(int rep) { 
823        return getTyped("PROCEDURE", rep, RQA_I08_PROCEDURE.class);
824     }
825 
826     /** 
827      * <p>
828      * Returns the number of existing repetitions of PROCEDURE 
829      * </p>
830      * 
831      */ 
832     public int getPROCEDUREReps() { 
833     	return getReps("PROCEDURE");
834     } 
835 
836     /** 
837      * <p>
838      * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE.
839      * <p>
840      * <p>
841      * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps
842      * if none are already present, so an empty list may be returned.
843      * </p>
844      * 
845      */ 
846     public java.util.List<RQA_I08_PROCEDURE> getPROCEDUREAll() throws HL7Exception {
847     	return getAllAsList("PROCEDURE", RQA_I08_PROCEDURE.class);
848     } 
849 
850     /**
851      * <p>
852      * Inserts a specific repetition of PROCEDURE (a Group object)
853      * </p>
854      * 
855      *
856      * @see AbstractGroup#insertRepetition(Structure, int) 
857      */
858     public void insertPROCEDURE(RQA_I08_PROCEDURE structure, int rep) throws HL7Exception { 
859        super.insertRepetition( "PROCEDURE", structure, rep);
860     }
861 
862 
863     /**
864      * <p>
865      * Inserts a specific repetition of PROCEDURE (a Group object)
866      * </p>
867      * 
868      *
869      * @see AbstractGroup#insertRepetition(Structure, int) 
870      */
871     public RQA_I08_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 
872        return (RQA_I08_PROCEDURE)super.insertRepetition("PROCEDURE", rep);
873     }
874 
875 
876     /**
877      * <p>
878      * Removes a specific repetition of PROCEDURE (a Group object)
879      * </p>
880      * 
881      *
882      * @see AbstractGroup#removeRepetition(String, int) 
883      */
884     public RQA_I08_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 
885        return (RQA_I08_PROCEDURE)super.removeRepetition("PROCEDURE", rep);
886     }
887 
888 
889 
890 
891     /**
892      * <p>
893      * Returns
894      * the first repetition of 
895      * OBSERVATION (a Group object) - creates it if necessary
896      * </p>
897      * 
898      *
899      */
900     public RQA_I08_OBSERVATION getOBSERVATION() { 
901        return getTyped("OBSERVATION", RQA_I08_OBSERVATION.class);
902     }
903 
904 
905     /**
906      * <p>
907      * Returns a specific repetition of
908      * OBSERVATION (a Group object) - creates it if necessary
909      * </p>
910      * 
911      *
912      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
913      * @throws HL7Exception if the repetition requested is more than one 
914      *     greater than the number of existing repetitions.
915      */
916     public RQA_I08_OBSERVATION getOBSERVATION(int rep) { 
917        return getTyped("OBSERVATION", rep, RQA_I08_OBSERVATION.class);
918     }
919 
920     /** 
921      * <p>
922      * Returns the number of existing repetitions of OBSERVATION 
923      * </p>
924      * 
925      */ 
926     public int getOBSERVATIONReps() { 
927     	return getReps("OBSERVATION");
928     } 
929 
930     /** 
931      * <p>
932      * Returns a non-modifiable List containing all current existing repetitions of OBSERVATION.
933      * <p>
934      * <p>
935      * Note that unlike {@link #getOBSERVATION()}, this method will not create any reps
936      * if none are already present, so an empty list may be returned.
937      * </p>
938      * 
939      */ 
940     public java.util.List<RQA_I08_OBSERVATION> getOBSERVATIONAll() throws HL7Exception {
941     	return getAllAsList("OBSERVATION", RQA_I08_OBSERVATION.class);
942     } 
943 
944     /**
945      * <p>
946      * Inserts a specific repetition of OBSERVATION (a Group object)
947      * </p>
948      * 
949      *
950      * @see AbstractGroup#insertRepetition(Structure, int) 
951      */
952     public void insertOBSERVATION(RQA_I08_OBSERVATION structure, int rep) throws HL7Exception { 
953        super.insertRepetition( "OBSERVATION", structure, rep);
954     }
955 
956 
957     /**
958      * <p>
959      * Inserts a specific repetition of OBSERVATION (a Group object)
960      * </p>
961      * 
962      *
963      * @see AbstractGroup#insertRepetition(Structure, int) 
964      */
965     public RQA_I08_OBSERVATION insertOBSERVATION(int rep) throws HL7Exception { 
966        return (RQA_I08_OBSERVATION)super.insertRepetition("OBSERVATION", rep);
967     }
968 
969 
970     /**
971      * <p>
972      * Removes a specific repetition of OBSERVATION (a Group object)
973      * </p>
974      * 
975      *
976      * @see AbstractGroup#removeRepetition(String, int) 
977      */
978     public RQA_I08_OBSERVATION removeOBSERVATION(int rep) throws HL7Exception { 
979        return (RQA_I08_OBSERVATION)super.removeRepetition("OBSERVATION", rep);
980     }
981 
982 
983 
984 
985     /**
986      * <p>
987      * Returns
988      * VISIT (a Group object) - creates it if necessary
989      * </p>
990      * 
991      *
992      */
993     public RQA_I08_VISIT getVISIT() { 
994        return getTyped("VISIT", RQA_I08_VISIT.class);
995     }
996 
997 
998 
999 
1000 
1001     /**
1002      * <p>
1003      * Returns
1004      * the first repetition of 
1005      * NTE (Notes and Comments) - creates it if necessary
1006      * </p>
1007      * 
1008      *
1009      */
1010     public NTE getNTE() { 
1011        return getTyped("NTE", NTE.class);
1012     }
1013 
1014 
1015     /**
1016      * <p>
1017      * Returns a specific repetition of
1018      * NTE (Notes and Comments) - 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 NTE getNTE(int rep) { 
1027        return getTyped("NTE", rep, NTE.class);
1028     }
1029 
1030     /** 
1031      * <p>
1032      * Returns the number of existing repetitions of NTE 
1033      * </p>
1034      * 
1035      */ 
1036     public int getNTEReps() { 
1037     	return getReps("NTE");
1038     } 
1039 
1040     /** 
1041      * <p>
1042      * Returns a non-modifiable List containing all current existing repetitions of NTE.
1043      * <p>
1044      * <p>
1045      * Note that unlike {@link #getNTE()}, 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<NTE> getNTEAll() throws HL7Exception {
1051     	return getAllAsList("NTE", NTE.class);
1052     } 
1053 
1054     /**
1055      * <p>
1056      * Inserts a specific repetition of NTE (Notes and Comments)
1057      * </p>
1058      * 
1059      *
1060      * @see AbstractGroup#insertRepetition(Structure, int) 
1061      */
1062     public void insertNTE(NTE structure, int rep) throws HL7Exception { 
1063        super.insertRepetition( "NTE", structure, rep);
1064     }
1065 
1066 
1067     /**
1068      * <p>
1069      * Inserts a specific repetition of NTE (Notes and Comments)
1070      * </p>
1071      * 
1072      *
1073      * @see AbstractGroup#insertRepetition(Structure, int) 
1074      */
1075     public NTE insertNTE(int rep) throws HL7Exception { 
1076        return (NTE)super.insertRepetition("NTE", rep);
1077     }
1078 
1079 
1080     /**
1081      * <p>
1082      * Removes a specific repetition of NTE (Notes and Comments)
1083      * </p>
1084      * 
1085      *
1086      * @see AbstractGroup#removeRepetition(String, int) 
1087      */
1088     public NTE removeNTE(int rep) throws HL7Exception { 
1089        return (NTE)super.removeRepetition("NTE", rep);
1090     }
1091 
1092 
1093 
1094 }
1095