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.v28.message;
35  
36  import ca.uhn.hl7v2.model.v28.group.*;
37  import ca.uhn.hl7v2.model.v28.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 RRI_I12 message structure (see chapter 11.5.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: MSA (Message Acknowledgment) <b>optional </b> </li>
53  		                 * <li>5: RF1 (Referral Information) <b>optional </b> </li>
54  		                 * <li>6: RRI_I12_AUTHORIZATION_CONTACT2 (a Group object) <b>optional </b> </li>
55  		                 * <li>7: RRI_I12_PROVIDER_CONTACT (a Group object) <b> repeating</b> </li>
56  		                 * <li>8: PID (Patient Identification) <b> </b> </li>
57  		                 * <li>9: ACC (Accident) <b>optional </b> </li>
58  		                 * <li>10: DG1 (Diagnosis) <b>optional repeating</b> </li>
59  		                 * <li>11: DRG (Diagnosis Related Group) <b>optional repeating</b> </li>
60  		                 * <li>12: AL1 (Patient Allergy Information) <b>optional repeating</b> </li>
61  		                 * <li>13: RRI_I12_PROCEDURE (a Group object) <b>optional repeating</b> </li>
62  		                 * <li>14: RRI_I12_OBSERVATION (a Group object) <b>optional repeating</b> </li>
63  		                 * <li>15: RRI_I12_PATIENT_VISIT (a Group object) <b>optional </b> </li>
64  		                 * <li>16: NTE (Notes and Comments) <b>optional repeating</b> </li>
65   * </ul>
66   */
67  //@SuppressWarnings("unused")
68  public class RRI_I12 extends AbstractMessage  {
69  
70      /**
71       * Creates a new RRI_I12 message with DefaultModelClassFactory. 
72       */ 
73      public RRI_I12() { 
74         this(new DefaultModelClassFactory());
75      }
76  
77      /** 
78       * Creates a new RRI_I12 message with custom ModelClassFactory.
79       */
80      public RRI_I12(ModelClassFactory factory) {
81         super(factory);
82         init(factory);
83      }
84  
85      private void init(ModelClassFactory factory) {
86         try {
87                            this.add(MSH.class, true, false);
88  	                          this.add(SFT.class, false, true);
89  	                          this.add(UAC.class, false, false);
90  	                          this.add(MSA.class, false, false);
91  	                          this.add(RF1.class, false, false);
92  	                          this.add(RRI_I12_AUTHORIZATION_CONTACT2.class, false, false);
93  	                          this.add(RRI_I12_PROVIDER_CONTACT.class, true, true);
94  	                          this.add(PID.class, true, false);
95  	                          this.add(ACC.class, false, false);
96  	                          this.add(DG1.class, false, true);
97  	                          this.add(DRG.class, false, true);
98  	                          this.add(AL1.class, false, true);
99  	                          this.add(RRI_I12_PROCEDURE.class, false, true);
100 	                          this.add(RRI_I12_OBSERVATION.class, false, true);
101 	                          this.add(RRI_I12_PATIENT_VISIT.class, false, false);
102 	                          this.add(NTE.class, false, true);
103 	       } catch(HL7Exception e) {
104           log.error("Unexpected error creating RRI_I12 - this is probably a bug in the source code generator.", e);
105        }
106     }
107 
108 
109     /** 
110      * Returns "2.8"
111      */
112     public String getVersion() {
113        return "2.8";
114     }
115 
116 
117 
118 
119     /**
120      * <p>
121      * Returns
122      * MSH (Message Header) - creates it if necessary
123      * </p>
124      * 
125      *
126      */
127     public MSH getMSH() { 
128        return getTyped("MSH", MSH.class);
129     }
130 
131 
132 
133 
134 
135     /**
136      * <p>
137      * Returns
138      * the first repetition of 
139      * SFT (Software Segment) - creates it if necessary
140      * </p>
141      * 
142      *
143      */
144     public SFT getSFT() { 
145        return getTyped("SFT", SFT.class);
146     }
147 
148 
149     /**
150      * <p>
151      * Returns a specific repetition of
152      * SFT (Software Segment) - creates it if necessary
153      * </p>
154      * 
155      *
156      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
157      * @throws HL7Exception if the repetition requested is more than one 
158      *     greater than the number of existing repetitions.
159      */
160     public SFT getSFT(int rep) { 
161        return getTyped("SFT", rep, SFT.class);
162     }
163 
164     /** 
165      * <p>
166      * Returns the number of existing repetitions of SFT 
167      * </p>
168      * 
169      */ 
170     public int getSFTReps() { 
171     	return getReps("SFT");
172     } 
173 
174     /** 
175      * <p>
176      * Returns a non-modifiable List containing all current existing repetitions of SFT.
177      * <p>
178      * <p>
179      * Note that unlike {@link #getSFT()}, this method will not create any reps
180      * if none are already present, so an empty list may be returned.
181      * </p>
182      * 
183      */ 
184     public java.util.List<SFT> getSFTAll() throws HL7Exception {
185     	return getAllAsList("SFT", SFT.class);
186     } 
187 
188     /**
189      * <p>
190      * Inserts a specific repetition of SFT (Software Segment)
191      * </p>
192      * 
193      *
194      * @see AbstractGroup#insertRepetition(Structure, int) 
195      */
196     public void insertSFT(SFT structure, int rep) throws HL7Exception { 
197        super.insertRepetition( "SFT", structure, rep);
198     }
199 
200 
201     /**
202      * <p>
203      * Inserts a specific repetition of SFT (Software Segment)
204      * </p>
205      * 
206      *
207      * @see AbstractGroup#insertRepetition(Structure, int) 
208      */
209     public SFT insertSFT(int rep) throws HL7Exception { 
210        return (SFT)super.insertRepetition("SFT", rep);
211     }
212 
213 
214     /**
215      * <p>
216      * Removes a specific repetition of SFT (Software Segment)
217      * </p>
218      * 
219      *
220      * @see AbstractGroup#removeRepetition(String, int) 
221      */
222     public SFT removeSFT(int rep) throws HL7Exception { 
223        return (SFT)super.removeRepetition("SFT", rep);
224     }
225 
226 
227 
228 
229     /**
230      * <p>
231      * Returns
232      * UAC (User Authentication Credential Segment) - creates it if necessary
233      * </p>
234      * 
235      *
236      */
237     public UAC getUAC() { 
238        return getTyped("UAC", UAC.class);
239     }
240 
241 
242 
243 
244 
245     /**
246      * <p>
247      * Returns
248      * MSA (Message Acknowledgment) - creates it if necessary
249      * </p>
250      * 
251      *
252      */
253     public MSA getMSA() { 
254        return getTyped("MSA", MSA.class);
255     }
256 
257 
258 
259 
260 
261     /**
262      * <p>
263      * Returns
264      * RF1 (Referral Information) - creates it if necessary
265      * </p>
266      * 
267      *
268      */
269     public RF1 getRF1() { 
270        return getTyped("RF1", RF1.class);
271     }
272 
273 
274 
275 
276 
277     /**
278      * <p>
279      * Returns
280      * AUTHORIZATION_CONTACT2 (a Group object) - creates it if necessary
281      * </p>
282      * 
283      *
284      */
285     public RRI_I12_AUTHORIZATION_CONTACT2 getAUTHORIZATION_CONTACT2() { 
286        return getTyped("AUTHORIZATION_CONTACT2", RRI_I12_AUTHORIZATION_CONTACT2.class);
287     }
288 
289 
290 
291 
292 
293     /**
294      * <p>
295      * Returns
296      * the first repetition of 
297      * PROVIDER_CONTACT (a Group object) - creates it if necessary
298      * </p>
299      * 
300      *
301      */
302     public RRI_I12_PROVIDER_CONTACT getPROVIDER_CONTACT() { 
303        return getTyped("PROVIDER_CONTACT", RRI_I12_PROVIDER_CONTACT.class);
304     }
305 
306 
307     /**
308      * <p>
309      * Returns a specific repetition of
310      * PROVIDER_CONTACT (a Group object) - creates it if necessary
311      * </p>
312      * 
313      *
314      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
315      * @throws HL7Exception if the repetition requested is more than one 
316      *     greater than the number of existing repetitions.
317      */
318     public RRI_I12_PROVIDER_CONTACT getPROVIDER_CONTACT(int rep) { 
319        return getTyped("PROVIDER_CONTACT", rep, RRI_I12_PROVIDER_CONTACT.class);
320     }
321 
322     /** 
323      * <p>
324      * Returns the number of existing repetitions of PROVIDER_CONTACT 
325      * </p>
326      * 
327      */ 
328     public int getPROVIDER_CONTACTReps() { 
329     	return getReps("PROVIDER_CONTACT");
330     } 
331 
332     /** 
333      * <p>
334      * Returns a non-modifiable List containing all current existing repetitions of PROVIDER_CONTACT.
335      * <p>
336      * <p>
337      * Note that unlike {@link #getPROVIDER_CONTACT()}, this method will not create any reps
338      * if none are already present, so an empty list may be returned.
339      * </p>
340      * 
341      */ 
342     public java.util.List<RRI_I12_PROVIDER_CONTACT> getPROVIDER_CONTACTAll() throws HL7Exception {
343     	return getAllAsList("PROVIDER_CONTACT", RRI_I12_PROVIDER_CONTACT.class);
344     } 
345 
346     /**
347      * <p>
348      * Inserts a specific repetition of PROVIDER_CONTACT (a Group object)
349      * </p>
350      * 
351      *
352      * @see AbstractGroup#insertRepetition(Structure, int) 
353      */
354     public void insertPROVIDER_CONTACT(RRI_I12_PROVIDER_CONTACT structure, int rep) throws HL7Exception { 
355        super.insertRepetition( "PROVIDER_CONTACT", structure, rep);
356     }
357 
358 
359     /**
360      * <p>
361      * Inserts a specific repetition of PROVIDER_CONTACT (a Group object)
362      * </p>
363      * 
364      *
365      * @see AbstractGroup#insertRepetition(Structure, int) 
366      */
367     public RRI_I12_PROVIDER_CONTACT insertPROVIDER_CONTACT(int rep) throws HL7Exception { 
368        return (RRI_I12_PROVIDER_CONTACT)super.insertRepetition("PROVIDER_CONTACT", rep);
369     }
370 
371 
372     /**
373      * <p>
374      * Removes a specific repetition of PROVIDER_CONTACT (a Group object)
375      * </p>
376      * 
377      *
378      * @see AbstractGroup#removeRepetition(String, int) 
379      */
380     public RRI_I12_PROVIDER_CONTACT removePROVIDER_CONTACT(int rep) throws HL7Exception { 
381        return (RRI_I12_PROVIDER_CONTACT)super.removeRepetition("PROVIDER_CONTACT", rep);
382     }
383 
384 
385 
386 
387     /**
388      * <p>
389      * Returns
390      * PID (Patient Identification) - creates it if necessary
391      * </p>
392      * 
393      *
394      */
395     public PID getPID() { 
396        return getTyped("PID", PID.class);
397     }
398 
399 
400 
401 
402 
403     /**
404      * <p>
405      * Returns
406      * ACC (Accident) - creates it if necessary
407      * </p>
408      * 
409      *
410      */
411     public ACC getACC() { 
412        return getTyped("ACC", ACC.class);
413     }
414 
415 
416 
417 
418 
419     /**
420      * <p>
421      * Returns
422      * the first repetition of 
423      * DG1 (Diagnosis) - creates it if necessary
424      * </p>
425      * 
426      *
427      */
428     public DG1 getDG1() { 
429        return getTyped("DG1", DG1.class);
430     }
431 
432 
433     /**
434      * <p>
435      * Returns a specific repetition of
436      * DG1 (Diagnosis) - creates it if necessary
437      * </p>
438      * 
439      *
440      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
441      * @throws HL7Exception if the repetition requested is more than one 
442      *     greater than the number of existing repetitions.
443      */
444     public DG1 getDG1(int rep) { 
445        return getTyped("DG1", rep, DG1.class);
446     }
447 
448     /** 
449      * <p>
450      * Returns the number of existing repetitions of DG1 
451      * </p>
452      * 
453      */ 
454     public int getDG1Reps() { 
455     	return getReps("DG1");
456     } 
457 
458     /** 
459      * <p>
460      * Returns a non-modifiable List containing all current existing repetitions of DG1.
461      * <p>
462      * <p>
463      * Note that unlike {@link #getDG1()}, this method will not create any reps
464      * if none are already present, so an empty list may be returned.
465      * </p>
466      * 
467      */ 
468     public java.util.List<DG1> getDG1All() throws HL7Exception {
469     	return getAllAsList("DG1", DG1.class);
470     } 
471 
472     /**
473      * <p>
474      * Inserts a specific repetition of DG1 (Diagnosis)
475      * </p>
476      * 
477      *
478      * @see AbstractGroup#insertRepetition(Structure, int) 
479      */
480     public void insertDG1(DG1 structure, int rep) throws HL7Exception { 
481        super.insertRepetition( "DG1", structure, rep);
482     }
483 
484 
485     /**
486      * <p>
487      * Inserts a specific repetition of DG1 (Diagnosis)
488      * </p>
489      * 
490      *
491      * @see AbstractGroup#insertRepetition(Structure, int) 
492      */
493     public DG1 insertDG1(int rep) throws HL7Exception { 
494        return (DG1)super.insertRepetition("DG1", rep);
495     }
496 
497 
498     /**
499      * <p>
500      * Removes a specific repetition of DG1 (Diagnosis)
501      * </p>
502      * 
503      *
504      * @see AbstractGroup#removeRepetition(String, int) 
505      */
506     public DG1 removeDG1(int rep) throws HL7Exception { 
507        return (DG1)super.removeRepetition("DG1", rep);
508     }
509 
510 
511 
512 
513     /**
514      * <p>
515      * Returns
516      * the first repetition of 
517      * DRG (Diagnosis Related Group) - creates it if necessary
518      * </p>
519      * 
520      *
521      */
522     public DRG getDRG() { 
523        return getTyped("DRG", DRG.class);
524     }
525 
526 
527     /**
528      * <p>
529      * Returns a specific repetition of
530      * DRG (Diagnosis Related Group) - creates it if necessary
531      * </p>
532      * 
533      *
534      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
535      * @throws HL7Exception if the repetition requested is more than one 
536      *     greater than the number of existing repetitions.
537      */
538     public DRG getDRG(int rep) { 
539        return getTyped("DRG", rep, DRG.class);
540     }
541 
542     /** 
543      * <p>
544      * Returns the number of existing repetitions of DRG 
545      * </p>
546      * 
547      */ 
548     public int getDRGReps() { 
549     	return getReps("DRG");
550     } 
551 
552     /** 
553      * <p>
554      * Returns a non-modifiable List containing all current existing repetitions of DRG.
555      * <p>
556      * <p>
557      * Note that unlike {@link #getDRG()}, this method will not create any reps
558      * if none are already present, so an empty list may be returned.
559      * </p>
560      * 
561      */ 
562     public java.util.List<DRG> getDRGAll() throws HL7Exception {
563     	return getAllAsList("DRG", DRG.class);
564     } 
565 
566     /**
567      * <p>
568      * Inserts a specific repetition of DRG (Diagnosis Related Group)
569      * </p>
570      * 
571      *
572      * @see AbstractGroup#insertRepetition(Structure, int) 
573      */
574     public void insertDRG(DRG structure, int rep) throws HL7Exception { 
575        super.insertRepetition( "DRG", structure, rep);
576     }
577 
578 
579     /**
580      * <p>
581      * Inserts a specific repetition of DRG (Diagnosis Related Group)
582      * </p>
583      * 
584      *
585      * @see AbstractGroup#insertRepetition(Structure, int) 
586      */
587     public DRG insertDRG(int rep) throws HL7Exception { 
588        return (DRG)super.insertRepetition("DRG", rep);
589     }
590 
591 
592     /**
593      * <p>
594      * Removes a specific repetition of DRG (Diagnosis Related Group)
595      * </p>
596      * 
597      *
598      * @see AbstractGroup#removeRepetition(String, int) 
599      */
600     public DRG removeDRG(int rep) throws HL7Exception { 
601        return (DRG)super.removeRepetition("DRG", rep);
602     }
603 
604 
605 
606 
607     /**
608      * <p>
609      * Returns
610      * the first repetition of 
611      * AL1 (Patient Allergy Information) - creates it if necessary
612      * </p>
613      * 
614      *
615      */
616     public AL1 getAL1() { 
617        return getTyped("AL1", AL1.class);
618     }
619 
620 
621     /**
622      * <p>
623      * Returns a specific repetition of
624      * AL1 (Patient Allergy Information) - creates it if necessary
625      * </p>
626      * 
627      *
628      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
629      * @throws HL7Exception if the repetition requested is more than one 
630      *     greater than the number of existing repetitions.
631      */
632     public AL1 getAL1(int rep) { 
633        return getTyped("AL1", rep, AL1.class);
634     }
635 
636     /** 
637      * <p>
638      * Returns the number of existing repetitions of AL1 
639      * </p>
640      * 
641      */ 
642     public int getAL1Reps() { 
643     	return getReps("AL1");
644     } 
645 
646     /** 
647      * <p>
648      * Returns a non-modifiable List containing all current existing repetitions of AL1.
649      * <p>
650      * <p>
651      * Note that unlike {@link #getAL1()}, this method will not create any reps
652      * if none are already present, so an empty list may be returned.
653      * </p>
654      * 
655      */ 
656     public java.util.List<AL1> getAL1All() throws HL7Exception {
657     	return getAllAsList("AL1", AL1.class);
658     } 
659 
660     /**
661      * <p>
662      * Inserts a specific repetition of AL1 (Patient Allergy Information)
663      * </p>
664      * 
665      *
666      * @see AbstractGroup#insertRepetition(Structure, int) 
667      */
668     public void insertAL1(AL1 structure, int rep) throws HL7Exception { 
669        super.insertRepetition( "AL1", structure, rep);
670     }
671 
672 
673     /**
674      * <p>
675      * Inserts a specific repetition of AL1 (Patient Allergy Information)
676      * </p>
677      * 
678      *
679      * @see AbstractGroup#insertRepetition(Structure, int) 
680      */
681     public AL1 insertAL1(int rep) throws HL7Exception { 
682        return (AL1)super.insertRepetition("AL1", rep);
683     }
684 
685 
686     /**
687      * <p>
688      * Removes a specific repetition of AL1 (Patient Allergy Information)
689      * </p>
690      * 
691      *
692      * @see AbstractGroup#removeRepetition(String, int) 
693      */
694     public AL1 removeAL1(int rep) throws HL7Exception { 
695        return (AL1)super.removeRepetition("AL1", rep);
696     }
697 
698 
699 
700 
701     /**
702      * <p>
703      * Returns
704      * the first repetition of 
705      * PROCEDURE (a Group object) - creates it if necessary
706      * </p>
707      * 
708      *
709      */
710     public RRI_I12_PROCEDURE getPROCEDURE() { 
711        return getTyped("PROCEDURE", RRI_I12_PROCEDURE.class);
712     }
713 
714 
715     /**
716      * <p>
717      * Returns a specific repetition of
718      * PROCEDURE (a Group object) - creates it if necessary
719      * </p>
720      * 
721      *
722      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
723      * @throws HL7Exception if the repetition requested is more than one 
724      *     greater than the number of existing repetitions.
725      */
726     public RRI_I12_PROCEDURE getPROCEDURE(int rep) { 
727        return getTyped("PROCEDURE", rep, RRI_I12_PROCEDURE.class);
728     }
729 
730     /** 
731      * <p>
732      * Returns the number of existing repetitions of PROCEDURE 
733      * </p>
734      * 
735      */ 
736     public int getPROCEDUREReps() { 
737     	return getReps("PROCEDURE");
738     } 
739 
740     /** 
741      * <p>
742      * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE.
743      * <p>
744      * <p>
745      * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps
746      * if none are already present, so an empty list may be returned.
747      * </p>
748      * 
749      */ 
750     public java.util.List<RRI_I12_PROCEDURE> getPROCEDUREAll() throws HL7Exception {
751     	return getAllAsList("PROCEDURE", RRI_I12_PROCEDURE.class);
752     } 
753 
754     /**
755      * <p>
756      * Inserts a specific repetition of PROCEDURE (a Group object)
757      * </p>
758      * 
759      *
760      * @see AbstractGroup#insertRepetition(Structure, int) 
761      */
762     public void insertPROCEDURE(RRI_I12_PROCEDURE structure, int rep) throws HL7Exception { 
763        super.insertRepetition( "PROCEDURE", structure, rep);
764     }
765 
766 
767     /**
768      * <p>
769      * Inserts a specific repetition of PROCEDURE (a Group object)
770      * </p>
771      * 
772      *
773      * @see AbstractGroup#insertRepetition(Structure, int) 
774      */
775     public RRI_I12_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 
776        return (RRI_I12_PROCEDURE)super.insertRepetition("PROCEDURE", rep);
777     }
778 
779 
780     /**
781      * <p>
782      * Removes a specific repetition of PROCEDURE (a Group object)
783      * </p>
784      * 
785      *
786      * @see AbstractGroup#removeRepetition(String, int) 
787      */
788     public RRI_I12_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 
789        return (RRI_I12_PROCEDURE)super.removeRepetition("PROCEDURE", rep);
790     }
791 
792 
793 
794 
795     /**
796      * <p>
797      * Returns
798      * the first repetition of 
799      * OBSERVATION (a Group object) - creates it if necessary
800      * </p>
801      * 
802      *
803      */
804     public RRI_I12_OBSERVATION getOBSERVATION() { 
805        return getTyped("OBSERVATION", RRI_I12_OBSERVATION.class);
806     }
807 
808 
809     /**
810      * <p>
811      * Returns a specific repetition of
812      * OBSERVATION (a Group object) - creates it if necessary
813      * </p>
814      * 
815      *
816      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
817      * @throws HL7Exception if the repetition requested is more than one 
818      *     greater than the number of existing repetitions.
819      */
820     public RRI_I12_OBSERVATION getOBSERVATION(int rep) { 
821        return getTyped("OBSERVATION", rep, RRI_I12_OBSERVATION.class);
822     }
823 
824     /** 
825      * <p>
826      * Returns the number of existing repetitions of OBSERVATION 
827      * </p>
828      * 
829      */ 
830     public int getOBSERVATIONReps() { 
831     	return getReps("OBSERVATION");
832     } 
833 
834     /** 
835      * <p>
836      * Returns a non-modifiable List containing all current existing repetitions of OBSERVATION.
837      * <p>
838      * <p>
839      * Note that unlike {@link #getOBSERVATION()}, this method will not create any reps
840      * if none are already present, so an empty list may be returned.
841      * </p>
842      * 
843      */ 
844     public java.util.List<RRI_I12_OBSERVATION> getOBSERVATIONAll() throws HL7Exception {
845     	return getAllAsList("OBSERVATION", RRI_I12_OBSERVATION.class);
846     } 
847 
848     /**
849      * <p>
850      * Inserts a specific repetition of OBSERVATION (a Group object)
851      * </p>
852      * 
853      *
854      * @see AbstractGroup#insertRepetition(Structure, int) 
855      */
856     public void insertOBSERVATION(RRI_I12_OBSERVATION structure, int rep) throws HL7Exception { 
857        super.insertRepetition( "OBSERVATION", structure, rep);
858     }
859 
860 
861     /**
862      * <p>
863      * Inserts a specific repetition of OBSERVATION (a Group object)
864      * </p>
865      * 
866      *
867      * @see AbstractGroup#insertRepetition(Structure, int) 
868      */
869     public RRI_I12_OBSERVATION insertOBSERVATION(int rep) throws HL7Exception { 
870        return (RRI_I12_OBSERVATION)super.insertRepetition("OBSERVATION", rep);
871     }
872 
873 
874     /**
875      * <p>
876      * Removes a specific repetition of OBSERVATION (a Group object)
877      * </p>
878      * 
879      *
880      * @see AbstractGroup#removeRepetition(String, int) 
881      */
882     public RRI_I12_OBSERVATION removeOBSERVATION(int rep) throws HL7Exception { 
883        return (RRI_I12_OBSERVATION)super.removeRepetition("OBSERVATION", rep);
884     }
885 
886 
887 
888 
889     /**
890      * <p>
891      * Returns
892      * PATIENT_VISIT (a Group object) - creates it if necessary
893      * </p>
894      * 
895      *
896      */
897     public RRI_I12_PATIENT_VISIT getPATIENT_VISIT() { 
898        return getTyped("PATIENT_VISIT", RRI_I12_PATIENT_VISIT.class);
899     }
900 
901 
902 
903 
904 
905     /**
906      * <p>
907      * Returns
908      * the first repetition of 
909      * NTE (Notes and Comments) - creates it if necessary
910      * </p>
911      * 
912      *
913      */
914     public NTE getNTE() { 
915        return getTyped("NTE", NTE.class);
916     }
917 
918 
919     /**
920      * <p>
921      * Returns a specific repetition of
922      * NTE (Notes and Comments) - creates it if necessary
923      * </p>
924      * 
925      *
926      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
927      * @throws HL7Exception if the repetition requested is more than one 
928      *     greater than the number of existing repetitions.
929      */
930     public NTE getNTE(int rep) { 
931        return getTyped("NTE", rep, NTE.class);
932     }
933 
934     /** 
935      * <p>
936      * Returns the number of existing repetitions of NTE 
937      * </p>
938      * 
939      */ 
940     public int getNTEReps() { 
941     	return getReps("NTE");
942     } 
943 
944     /** 
945      * <p>
946      * Returns a non-modifiable List containing all current existing repetitions of NTE.
947      * <p>
948      * <p>
949      * Note that unlike {@link #getNTE()}, this method will not create any reps
950      * if none are already present, so an empty list may be returned.
951      * </p>
952      * 
953      */ 
954     public java.util.List<NTE> getNTEAll() throws HL7Exception {
955     	return getAllAsList("NTE", NTE.class);
956     } 
957 
958     /**
959      * <p>
960      * Inserts a specific repetition of NTE (Notes and Comments)
961      * </p>
962      * 
963      *
964      * @see AbstractGroup#insertRepetition(Structure, int) 
965      */
966     public void insertNTE(NTE structure, int rep) throws HL7Exception { 
967        super.insertRepetition( "NTE", structure, rep);
968     }
969 
970 
971     /**
972      * <p>
973      * Inserts a specific repetition of NTE (Notes and Comments)
974      * </p>
975      * 
976      *
977      * @see AbstractGroup#insertRepetition(Structure, int) 
978      */
979     public NTE insertNTE(int rep) throws HL7Exception { 
980        return (NTE)super.insertRepetition("NTE", rep);
981     }
982 
983 
984     /**
985      * <p>
986      * Removes a specific repetition of NTE (Notes and Comments)
987      * </p>
988      * 
989      *
990      * @see AbstractGroup#removeRepetition(String, int) 
991      */
992     public NTE removeNTE(int rep) throws HL7Exception { 
993        return (NTE)super.removeRepetition("NTE", rep);
994     }
995 
996 
997 
998 }
999