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