001/*
002 * This class is an auto-generated source file for a HAPI
003 * HL7 v2.x standard structure class.
004 *
005 * For more information, visit: http://hl7api.sourceforge.net/
006 * 
007 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v27.message;
035
036import ca.uhn.hl7v2.model.v27.group.*;
037import ca.uhn.hl7v2.model.v27.segment.*;
038
039import ca.uhn.hl7v2.HL7Exception;
040import ca.uhn.hl7v2.parser.ModelClassFactory;
041import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
042import ca.uhn.hl7v2.model.*;
043
044
045/**
046 * <p>Represents a RRI_I12 message structure (see chapter 11.5.1). This structure contains the 
047 * following elements: </p>
048 * <ul>
049                                 * <li>1: MSH (Message Header) <b> </b> </li>
050                                 * <li>2: SFT (Software Segment) <b>optional repeating</b> </li>
051                                 * <li>3: UAC (User Authentication Credential Segment) <b>optional </b> </li>
052                                 * <li>4: MSA (Message Acknowledgment) <b>optional </b> </li>
053                                 * <li>5: RF1 (Referral Information) <b>optional </b> </li>
054                                 * <li>6: RRI_I12_AUTHORIZATION_CONTACT (a Group object) <b>optional </b> </li>
055                                 * <li>7: RRI_I12_PROVIDER_CONTACT (a Group object) <b> repeating</b> </li>
056                                 * <li>8: PID (Patient Identification) <b> </b> </li>
057                                 * <li>9: ACC (Accident) <b>optional </b> </li>
058                                 * <li>10: DG1 (Diagnosis) <b>optional repeating</b> </li>
059                                 * <li>11: DRG (Diagnosis Related Group) <b>optional repeating</b> </li>
060                                 * <li>12: AL1 (Patient Allergy Information) <b>optional repeating</b> </li>
061                                 * <li>13: RRI_I12_PROCEDURE (a Group object) <b>optional repeating</b> </li>
062                                 * <li>14: RRI_I12_OBSERVATION (a Group object) <b>optional repeating</b> </li>
063                                 * <li>15: RRI_I12_PATIENT_VISIT (a Group object) <b>optional </b> </li>
064                                 * <li>16: NTE (Notes and Comments) <b>optional repeating</b> </li>
065 * </ul>
066 */
067//@SuppressWarnings("unused")
068public class RRI_I12 extends AbstractMessage  {
069
070    /**
071     * Creates a new RRI_I12 message with DefaultModelClassFactory. 
072     */ 
073    public RRI_I12() { 
074       this(new DefaultModelClassFactory());
075    }
076
077    /** 
078     * Creates a new RRI_I12 message with custom ModelClassFactory.
079     */
080    public RRI_I12(ModelClassFactory factory) {
081       super(factory);
082       init(factory);
083    }
084
085    private void init(ModelClassFactory factory) {
086       try {
087                          this.add(MSH.class, true, false);
088                                  this.add(SFT.class, false, true);
089                                  this.add(UAC.class, false, false);
090                                  this.add(MSA.class, false, false);
091                                  this.add(RF1.class, false, false);
092                                  this.add(RRI_I12_AUTHORIZATION_CONTACT.class, false, false);
093                                  this.add(RRI_I12_PROVIDER_CONTACT.class, true, true);
094                                  this.add(PID.class, true, false);
095                                  this.add(ACC.class, false, false);
096                                  this.add(DG1.class, false, true);
097                                  this.add(DRG.class, false, true);
098                                  this.add(AL1.class, false, true);
099                                  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.7"
111     */
112    public String getVersion() {
113       return "2.7";
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_CONTACT (a Group object) - creates it if necessary
281     * </p>
282     * 
283     *
284     */
285    public RRI_I12_AUTHORIZATION_CONTACT getAUTHORIZATION_CONTACT() { 
286       return getTyped("AUTHORIZATION_CONTACT", RRI_I12_AUTHORIZATION_CONTACT.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