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