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.v24.segment;
035
036// import ca.uhn.hl7v2.model.v24.group.*;
037import ca.uhn.hl7v2.model.v24.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047/**
048 *<p>Represents an HL7 PRA message segment (Practitioner Detail). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>PRA-1: Primary Key Value - PRA (CE) <b>optional </b>
052     * <li>PRA-2: Practitioner Group (CE) <b>optional repeating</b>
053     * <li>PRA-3: Practitioner Category (IS) <b>optional repeating</b>
054     * <li>PRA-4: Provider Billing (ID) <b>optional </b>
055     * <li>PRA-5: Specialty (SPD) <b>optional repeating</b>
056     * <li>PRA-6: Practitioner ID Numbers (PLN) <b>optional repeating</b>
057     * <li>PRA-7: Privileges (PIP) <b>optional repeating</b>
058     * <li>PRA-8: Date Entered Practice (DT) <b>optional </b>
059     * <li>PRA-9: Institution (CE) <b>optional </b>
060     * <li>PRA-10: Date Left Practice (DT) <b>optional </b>
061     * <li>PRA-11: Government Reimbursement Billing Eligibility (CE) <b>optional repeating</b>
062     * <li>PRA-12: Set ID - PRA (SI) <b>optional </b>
063 * </ul>
064 */
065@SuppressWarnings("unused")
066public class PRA extends AbstractSegment {
067
068    /** 
069     * Creates a new PRA segment
070     */
071    public PRA(Group parent, ModelClassFactory factory) {
072       super(parent, factory);
073       init(factory);
074    }
075
076    private void init(ModelClassFactory factory) {
077       try {
078                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Primary Key Value - PRA");
079                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Practitioner Group");
080                                              this.add(IS.class, false, 0, 3, new Object[]{ getMessage(), new Integer(186) }, "Practitioner Category");
081                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(187) }, "Provider Billing");
082                                  this.add(SPD.class, false, 0, 100, new Object[]{ getMessage() }, "Specialty");
083                                  this.add(PLN.class, false, 0, 100, new Object[]{ getMessage() }, "Practitioner ID Numbers");
084                                  this.add(PIP.class, false, 0, 200, new Object[]{ getMessage() }, "Privileges");
085                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Date Entered Practice");
086                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Institution");
087                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Date Left Practice");
088                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Government Reimbursement Billing Eligibility");
089                                  this.add(SI.class, false, 1, 60, new Object[]{ getMessage() }, "Set ID - PRA");
090       } catch(HL7Exception e) {
091          log.error("Unexpected error creating PRA - this is probably a bug in the source code generator.", e);
092       }
093    }
094
095
096
097    /**
098     * Returns
099     * PRA-1: "Primary Key Value - PRA" - creates it if necessary
100     */
101    public CE getPrimaryKeyValuePRA() { 
102                CE retVal = this.getTypedField(1, 0);
103                return retVal;
104    }
105    
106    /**
107     * Returns
108     * PRA-1: "Primary Key Value - PRA" - creates it if necessary
109     */
110    public CE getPra1_PrimaryKeyValuePRA() { 
111                CE retVal = this.getTypedField(1, 0);
112                return retVal;
113    }
114
115
116    /**
117     * Returns all repetitions of Practitioner Group (PRA-2).
118     */
119    public CE[] getPractitionerGroup() {
120        CE[] retVal = this.getTypedField(2, new CE[0]);
121        return retVal;
122    }
123
124
125    /**
126     * Returns all repetitions of Practitioner Group (PRA-2).
127     */
128    public CE[] getPra2_PractitionerGroup() {
129        CE[] retVal = this.getTypedField(2, new CE[0]);
130        return retVal;
131    }
132
133
134    /**
135     * Returns a count of the current number of repetitions of Practitioner Group (PRA-2).
136     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
137     * it will return zero.
138     */
139    public int getPractitionerGroupReps() {
140        return this.getReps(2);
141    }
142
143
144    /**
145     * Returns a specific repetition of
146     * PRA-2: "Practitioner Group" - creates it if necessary
147     *
148     * @param rep The repetition index (0-indexed)
149     */
150    public CE getPractitionerGroup(int rep) { 
151                CE retVal = this.getTypedField(2, rep);
152                return retVal;
153    }
154
155    /**
156     * Returns a specific repetition of
157     * PRA-2: "Practitioner Group" - creates it if necessary
158     *
159     * @param rep The repetition index (0-indexed)
160     */
161    public CE getPra2_PractitionerGroup(int rep) { 
162                CE retVal = this.getTypedField(2, rep);
163                return retVal;
164    }
165
166    /**
167     * Returns a count of the current number of repetitions of Practitioner Group (PRA-2).
168     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
169     * it will return zero.
170     */
171    public int getPra2_PractitionerGroupReps() {
172        return this.getReps(2);
173    }
174
175
176    /**
177     * Inserts a repetition of
178     * PRA-2: "Practitioner Group" at a specific index
179     *
180     * @param rep The repetition index (0-indexed)
181     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
182     */
183    public CE insertPractitionerGroup(int rep) throws HL7Exception { 
184        return (CE) super.insertRepetition(2, rep);
185    }
186
187
188    /**
189     * Inserts a repetition of
190     * PRA-2: "Practitioner Group" at a specific index
191     *
192     * @param rep The repetition index (0-indexed)
193     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
194     */
195    public CE insertPra2_PractitionerGroup(int rep) throws HL7Exception { 
196        return (CE) super.insertRepetition(2, rep);
197    }
198
199
200    /**
201     * Removes a repetition of
202     * PRA-2: "Practitioner Group" at a specific index
203     *
204     * @param rep The repetition index (0-indexed)
205     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
206     */
207    public CE removePractitionerGroup(int rep) throws HL7Exception { 
208        return (CE) super.removeRepetition(2, rep);
209    }
210
211
212    /**
213     * Removes a repetition of
214     * PRA-2: "Practitioner Group" at a specific index
215     *
216     * @param rep The repetition index (0-indexed)
217     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
218     */
219    public CE removePra2_PractitionerGroup(int rep) throws HL7Exception { 
220        return (CE) super.removeRepetition(2, rep);
221    }
222
223
224
225    /**
226     * Returns all repetitions of Practitioner Category (PRA-3).
227     */
228    public IS[] getPractitionerCategory() {
229        IS[] retVal = this.getTypedField(3, new IS[0]);
230        return retVal;
231    }
232
233
234    /**
235     * Returns all repetitions of Practitioner Category (PRA-3).
236     */
237    public IS[] getPra3_PractitionerCategory() {
238        IS[] retVal = this.getTypedField(3, new IS[0]);
239        return retVal;
240    }
241
242
243    /**
244     * Returns a count of the current number of repetitions of Practitioner Category (PRA-3).
245     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
246     * it will return zero.
247     */
248    public int getPractitionerCategoryReps() {
249        return this.getReps(3);
250    }
251
252
253    /**
254     * Returns a specific repetition of
255     * PRA-3: "Practitioner Category" - creates it if necessary
256     *
257     * @param rep The repetition index (0-indexed)
258     */
259    public IS getPractitionerCategory(int rep) { 
260                IS retVal = this.getTypedField(3, rep);
261                return retVal;
262    }
263
264    /**
265     * Returns a specific repetition of
266     * PRA-3: "Practitioner Category" - creates it if necessary
267     *
268     * @param rep The repetition index (0-indexed)
269     */
270    public IS getPra3_PractitionerCategory(int rep) { 
271                IS retVal = this.getTypedField(3, rep);
272                return retVal;
273    }
274
275    /**
276     * Returns a count of the current number of repetitions of Practitioner Category (PRA-3).
277     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
278     * it will return zero.
279     */
280    public int getPra3_PractitionerCategoryReps() {
281        return this.getReps(3);
282    }
283
284
285    /**
286     * Inserts a repetition of
287     * PRA-3: "Practitioner Category" at a specific index
288     *
289     * @param rep The repetition index (0-indexed)
290     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
291     */
292    public IS insertPractitionerCategory(int rep) throws HL7Exception { 
293        return (IS) super.insertRepetition(3, rep);
294    }
295
296
297    /**
298     * Inserts a repetition of
299     * PRA-3: "Practitioner Category" at a specific index
300     *
301     * @param rep The repetition index (0-indexed)
302     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
303     */
304    public IS insertPra3_PractitionerCategory(int rep) throws HL7Exception { 
305        return (IS) super.insertRepetition(3, rep);
306    }
307
308
309    /**
310     * Removes a repetition of
311     * PRA-3: "Practitioner Category" at a specific index
312     *
313     * @param rep The repetition index (0-indexed)
314     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
315     */
316    public IS removePractitionerCategory(int rep) throws HL7Exception { 
317        return (IS) super.removeRepetition(3, rep);
318    }
319
320
321    /**
322     * Removes a repetition of
323     * PRA-3: "Practitioner Category" at a specific index
324     *
325     * @param rep The repetition index (0-indexed)
326     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
327     */
328    public IS removePra3_PractitionerCategory(int rep) throws HL7Exception { 
329        return (IS) super.removeRepetition(3, rep);
330    }
331
332
333
334
335    /**
336     * Returns
337     * PRA-4: "Provider Billing" - creates it if necessary
338     */
339    public ID getProviderBilling() { 
340                ID retVal = this.getTypedField(4, 0);
341                return retVal;
342    }
343    
344    /**
345     * Returns
346     * PRA-4: "Provider Billing" - creates it if necessary
347     */
348    public ID getPra4_ProviderBilling() { 
349                ID retVal = this.getTypedField(4, 0);
350                return retVal;
351    }
352
353
354    /**
355     * Returns all repetitions of Specialty (PRA-5).
356     */
357    public SPD[] getSpecialty() {
358        SPD[] retVal = this.getTypedField(5, new SPD[0]);
359        return retVal;
360    }
361
362
363    /**
364     * Returns all repetitions of Specialty (PRA-5).
365     */
366    public SPD[] getPra5_Specialty() {
367        SPD[] retVal = this.getTypedField(5, new SPD[0]);
368        return retVal;
369    }
370
371
372    /**
373     * Returns a count of the current number of repetitions of Specialty (PRA-5).
374     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
375     * it will return zero.
376     */
377    public int getSpecialtyReps() {
378        return this.getReps(5);
379    }
380
381
382    /**
383     * Returns a specific repetition of
384     * PRA-5: "Specialty" - creates it if necessary
385     *
386     * @param rep The repetition index (0-indexed)
387     */
388    public SPD getSpecialty(int rep) { 
389                SPD retVal = this.getTypedField(5, rep);
390                return retVal;
391    }
392
393    /**
394     * Returns a specific repetition of
395     * PRA-5: "Specialty" - creates it if necessary
396     *
397     * @param rep The repetition index (0-indexed)
398     */
399    public SPD getPra5_Specialty(int rep) { 
400                SPD retVal = this.getTypedField(5, rep);
401                return retVal;
402    }
403
404    /**
405     * Returns a count of the current number of repetitions of Specialty (PRA-5).
406     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
407     * it will return zero.
408     */
409    public int getPra5_SpecialtyReps() {
410        return this.getReps(5);
411    }
412
413
414    /**
415     * Inserts a repetition of
416     * PRA-5: "Specialty" at a specific index
417     *
418     * @param rep The repetition index (0-indexed)
419     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
420     */
421    public SPD insertSpecialty(int rep) throws HL7Exception { 
422        return (SPD) super.insertRepetition(5, rep);
423    }
424
425
426    /**
427     * Inserts a repetition of
428     * PRA-5: "Specialty" at a specific index
429     *
430     * @param rep The repetition index (0-indexed)
431     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
432     */
433    public SPD insertPra5_Specialty(int rep) throws HL7Exception { 
434        return (SPD) super.insertRepetition(5, rep);
435    }
436
437
438    /**
439     * Removes a repetition of
440     * PRA-5: "Specialty" at a specific index
441     *
442     * @param rep The repetition index (0-indexed)
443     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
444     */
445    public SPD removeSpecialty(int rep) throws HL7Exception { 
446        return (SPD) super.removeRepetition(5, rep);
447    }
448
449
450    /**
451     * Removes a repetition of
452     * PRA-5: "Specialty" at a specific index
453     *
454     * @param rep The repetition index (0-indexed)
455     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
456     */
457    public SPD removePra5_Specialty(int rep) throws HL7Exception { 
458        return (SPD) super.removeRepetition(5, rep);
459    }
460
461
462
463    /**
464     * Returns all repetitions of Practitioner ID Numbers (PRA-6).
465     */
466    public PLN[] getPractitionerIDNumbers() {
467        PLN[] retVal = this.getTypedField(6, new PLN[0]);
468        return retVal;
469    }
470
471
472    /**
473     * Returns all repetitions of Practitioner ID Numbers (PRA-6).
474     */
475    public PLN[] getPra6_PractitionerIDNumbers() {
476        PLN[] retVal = this.getTypedField(6, new PLN[0]);
477        return retVal;
478    }
479
480
481    /**
482     * Returns a count of the current number of repetitions of Practitioner ID Numbers (PRA-6).
483     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
484     * it will return zero.
485     */
486    public int getPractitionerIDNumbersReps() {
487        return this.getReps(6);
488    }
489
490
491    /**
492     * Returns a specific repetition of
493     * PRA-6: "Practitioner ID Numbers" - creates it if necessary
494     *
495     * @param rep The repetition index (0-indexed)
496     */
497    public PLN getPractitionerIDNumbers(int rep) { 
498                PLN retVal = this.getTypedField(6, rep);
499                return retVal;
500    }
501
502    /**
503     * Returns a specific repetition of
504     * PRA-6: "Practitioner ID Numbers" - creates it if necessary
505     *
506     * @param rep The repetition index (0-indexed)
507     */
508    public PLN getPra6_PractitionerIDNumbers(int rep) { 
509                PLN retVal = this.getTypedField(6, rep);
510                return retVal;
511    }
512
513    /**
514     * Returns a count of the current number of repetitions of Practitioner ID Numbers (PRA-6).
515     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
516     * it will return zero.
517     */
518    public int getPra6_PractitionerIDNumbersReps() {
519        return this.getReps(6);
520    }
521
522
523    /**
524     * Inserts a repetition of
525     * PRA-6: "Practitioner ID Numbers" at a specific index
526     *
527     * @param rep The repetition index (0-indexed)
528     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
529     */
530    public PLN insertPractitionerIDNumbers(int rep) throws HL7Exception { 
531        return (PLN) super.insertRepetition(6, rep);
532    }
533
534
535    /**
536     * Inserts a repetition of
537     * PRA-6: "Practitioner ID Numbers" at a specific index
538     *
539     * @param rep The repetition index (0-indexed)
540     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
541     */
542    public PLN insertPra6_PractitionerIDNumbers(int rep) throws HL7Exception { 
543        return (PLN) super.insertRepetition(6, rep);
544    }
545
546
547    /**
548     * Removes a repetition of
549     * PRA-6: "Practitioner ID Numbers" at a specific index
550     *
551     * @param rep The repetition index (0-indexed)
552     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
553     */
554    public PLN removePractitionerIDNumbers(int rep) throws HL7Exception { 
555        return (PLN) super.removeRepetition(6, rep);
556    }
557
558
559    /**
560     * Removes a repetition of
561     * PRA-6: "Practitioner ID Numbers" at a specific index
562     *
563     * @param rep The repetition index (0-indexed)
564     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
565     */
566    public PLN removePra6_PractitionerIDNumbers(int rep) throws HL7Exception { 
567        return (PLN) super.removeRepetition(6, rep);
568    }
569
570
571
572    /**
573     * Returns all repetitions of Privileges (PRA-7).
574     */
575    public PIP[] getPrivileges() {
576        PIP[] retVal = this.getTypedField(7, new PIP[0]);
577        return retVal;
578    }
579
580
581    /**
582     * Returns all repetitions of Privileges (PRA-7).
583     */
584    public PIP[] getPra7_Privileges() {
585        PIP[] retVal = this.getTypedField(7, new PIP[0]);
586        return retVal;
587    }
588
589
590    /**
591     * Returns a count of the current number of repetitions of Privileges (PRA-7).
592     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
593     * it will return zero.
594     */
595    public int getPrivilegesReps() {
596        return this.getReps(7);
597    }
598
599
600    /**
601     * Returns a specific repetition of
602     * PRA-7: "Privileges" - creates it if necessary
603     *
604     * @param rep The repetition index (0-indexed)
605     */
606    public PIP getPrivileges(int rep) { 
607                PIP retVal = this.getTypedField(7, rep);
608                return retVal;
609    }
610
611    /**
612     * Returns a specific repetition of
613     * PRA-7: "Privileges" - creates it if necessary
614     *
615     * @param rep The repetition index (0-indexed)
616     */
617    public PIP getPra7_Privileges(int rep) { 
618                PIP retVal = this.getTypedField(7, rep);
619                return retVal;
620    }
621
622    /**
623     * Returns a count of the current number of repetitions of Privileges (PRA-7).
624     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
625     * it will return zero.
626     */
627    public int getPra7_PrivilegesReps() {
628        return this.getReps(7);
629    }
630
631
632    /**
633     * Inserts a repetition of
634     * PRA-7: "Privileges" at a specific index
635     *
636     * @param rep The repetition index (0-indexed)
637     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
638     */
639    public PIP insertPrivileges(int rep) throws HL7Exception { 
640        return (PIP) super.insertRepetition(7, rep);
641    }
642
643
644    /**
645     * Inserts a repetition of
646     * PRA-7: "Privileges" at a specific index
647     *
648     * @param rep The repetition index (0-indexed)
649     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
650     */
651    public PIP insertPra7_Privileges(int rep) throws HL7Exception { 
652        return (PIP) super.insertRepetition(7, rep);
653    }
654
655
656    /**
657     * Removes a repetition of
658     * PRA-7: "Privileges" at a specific index
659     *
660     * @param rep The repetition index (0-indexed)
661     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
662     */
663    public PIP removePrivileges(int rep) throws HL7Exception { 
664        return (PIP) super.removeRepetition(7, rep);
665    }
666
667
668    /**
669     * Removes a repetition of
670     * PRA-7: "Privileges" at a specific index
671     *
672     * @param rep The repetition index (0-indexed)
673     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
674     */
675    public PIP removePra7_Privileges(int rep) throws HL7Exception { 
676        return (PIP) super.removeRepetition(7, rep);
677    }
678
679
680
681
682    /**
683     * Returns
684     * PRA-8: "Date Entered Practice" - creates it if necessary
685     */
686    public DT getDateEnteredPractice() { 
687                DT retVal = this.getTypedField(8, 0);
688                return retVal;
689    }
690    
691    /**
692     * Returns
693     * PRA-8: "Date Entered Practice" - creates it if necessary
694     */
695    public DT getPra8_DateEnteredPractice() { 
696                DT retVal = this.getTypedField(8, 0);
697                return retVal;
698    }
699
700
701
702    /**
703     * Returns
704     * PRA-9: "Institution" - creates it if necessary
705     */
706    public CE getInstitution() { 
707                CE retVal = this.getTypedField(9, 0);
708                return retVal;
709    }
710    
711    /**
712     * Returns
713     * PRA-9: "Institution" - creates it if necessary
714     */
715    public CE getPra9_Institution() { 
716                CE retVal = this.getTypedField(9, 0);
717                return retVal;
718    }
719
720
721
722    /**
723     * Returns
724     * PRA-10: "Date Left Practice" - creates it if necessary
725     */
726    public DT getDateLeftPractice() { 
727                DT retVal = this.getTypedField(10, 0);
728                return retVal;
729    }
730    
731    /**
732     * Returns
733     * PRA-10: "Date Left Practice" - creates it if necessary
734     */
735    public DT getPra10_DateLeftPractice() { 
736                DT retVal = this.getTypedField(10, 0);
737                return retVal;
738    }
739
740
741    /**
742     * Returns all repetitions of Government Reimbursement Billing Eligibility (PRA-11).
743     */
744    public CE[] getGovernmentReimbursementBillingEligibility() {
745        CE[] retVal = this.getTypedField(11, new CE[0]);
746        return retVal;
747    }
748
749
750    /**
751     * Returns all repetitions of Government Reimbursement Billing Eligibility (PRA-11).
752     */
753    public CE[] getPra11_GovernmentReimbursementBillingEligibility() {
754        CE[] retVal = this.getTypedField(11, new CE[0]);
755        return retVal;
756    }
757
758
759    /**
760     * Returns a count of the current number of repetitions of Government Reimbursement Billing Eligibility (PRA-11).
761     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
762     * it will return zero.
763     */
764    public int getGovernmentReimbursementBillingEligibilityReps() {
765        return this.getReps(11);
766    }
767
768
769    /**
770     * Returns a specific repetition of
771     * PRA-11: "Government Reimbursement Billing Eligibility" - creates it if necessary
772     *
773     * @param rep The repetition index (0-indexed)
774     */
775    public CE getGovernmentReimbursementBillingEligibility(int rep) { 
776                CE retVal = this.getTypedField(11, rep);
777                return retVal;
778    }
779
780    /**
781     * Returns a specific repetition of
782     * PRA-11: "Government Reimbursement Billing Eligibility" - creates it if necessary
783     *
784     * @param rep The repetition index (0-indexed)
785     */
786    public CE getPra11_GovernmentReimbursementBillingEligibility(int rep) { 
787                CE retVal = this.getTypedField(11, rep);
788                return retVal;
789    }
790
791    /**
792     * Returns a count of the current number of repetitions of Government Reimbursement Billing Eligibility (PRA-11).
793     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
794     * it will return zero.
795     */
796    public int getPra11_GovernmentReimbursementBillingEligibilityReps() {
797        return this.getReps(11);
798    }
799
800
801    /**
802     * Inserts a repetition of
803     * PRA-11: "Government Reimbursement Billing Eligibility" at a specific index
804     *
805     * @param rep The repetition index (0-indexed)
806     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
807     */
808    public CE insertGovernmentReimbursementBillingEligibility(int rep) throws HL7Exception { 
809        return (CE) super.insertRepetition(11, rep);
810    }
811
812
813    /**
814     * Inserts a repetition of
815     * PRA-11: "Government Reimbursement Billing Eligibility" at a specific index
816     *
817     * @param rep The repetition index (0-indexed)
818     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
819     */
820    public CE insertPra11_GovernmentReimbursementBillingEligibility(int rep) throws HL7Exception { 
821        return (CE) super.insertRepetition(11, rep);
822    }
823
824
825    /**
826     * Removes a repetition of
827     * PRA-11: "Government Reimbursement Billing Eligibility" at a specific index
828     *
829     * @param rep The repetition index (0-indexed)
830     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
831     */
832    public CE removeGovernmentReimbursementBillingEligibility(int rep) throws HL7Exception { 
833        return (CE) super.removeRepetition(11, rep);
834    }
835
836
837    /**
838     * Removes a repetition of
839     * PRA-11: "Government Reimbursement Billing Eligibility" at a specific index
840     *
841     * @param rep The repetition index (0-indexed)
842     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
843     */
844    public CE removePra11_GovernmentReimbursementBillingEligibility(int rep) throws HL7Exception { 
845        return (CE) super.removeRepetition(11, rep);
846    }
847
848
849
850
851    /**
852     * Returns
853     * PRA-12: "Set ID - PRA" - creates it if necessary
854     */
855    public SI getSetIDPRA() { 
856                SI retVal = this.getTypedField(12, 0);
857                return retVal;
858    }
859    
860    /**
861     * Returns
862     * PRA-12: "Set ID - PRA" - creates it if necessary
863     */
864    public SI getPra12_SetIDPRA() { 
865                SI retVal = this.getTypedField(12, 0);
866                return retVal;
867    }
868
869
870
871
872
873    /** {@inheritDoc} */   
874    protected Type createNewTypeWithoutReflection(int field) {
875       switch (field) {
876          case 0: return new CE(getMessage());
877          case 1: return new CE(getMessage());
878          case 2: return new IS(getMessage(), new Integer( 186 ));
879          case 3: return new ID(getMessage(), new Integer( 187 ));
880          case 4: return new SPD(getMessage());
881          case 5: return new PLN(getMessage());
882          case 6: return new PIP(getMessage());
883          case 7: return new DT(getMessage());
884          case 8: return new CE(getMessage());
885          case 9: return new DT(getMessage());
886          case 10: return new CE(getMessage());
887          case 11: return new SI(getMessage());
888          default: return null;
889       }
890   }
891
892
893}
894