View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.test.nodt.conf.segment;
35  
36  // import ca.uhn.hl7v2.test.nodt.conf.group.*;
37  import ca.uhn.hl7v2.model.v25.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 UB1 message segment (UB82). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>UB1-1: Set ID - UB1 (SI) <b>optional </b>
53       * <li>UB1-2: Blood Deductible  (43) (NM) <b>optional repeating</b>
54       * <li>UB1-3: Blood Furnished-Pints Of (40) (NM) <b>optional </b>
55       * <li>UB1-4: Blood Replaced-Pints (41) (NM) <b>optional </b>
56       * <li>UB1-5: Blood Not Replaced-Pints(42) (NM) <b>optional </b>
57       * <li>UB1-6: Co-Insurance Days (25) (NM) <b>optional </b>
58       * <li>UB1-7: Condition Code (35-39) (IS) <b>optional repeating</b>
59       * <li>UB1-8: Covered Days - (23) (NM) <b>optional </b>
60       * <li>UB1-9: Non Covered Days - (24) (NM) <b>optional </b>
61       * <li>UB1-10: Value Amount & Code (46-49) (UVC) <b>optional repeating</b>
62       * <li>UB1-11: Number Of Grace Days (90) (NM) <b>optional </b>
63       * <li>UB1-12: Special Program Indicator (44) (CE) <b>optional </b>
64       * <li>UB1-13: PSRO/UR Approval Indicator (87) (CE) <b>optional </b>
65       * <li>UB1-14: PSRO/UR Approved Stay-Fm (88) (DT) <b>optional </b>
66       * <li>UB1-15: PSRO/UR Approved Stay-To (89) (DT) <b>optional </b>
67       * <li>UB1-16: Occurrence (28-32) (OCD) <b>optional repeating</b>
68       * <li>UB1-17: Occurrence Span (33) (CE) <b>optional </b>
69       * <li>UB1-18: Occur Span Start Date(33) (DT) <b>optional </b>
70       * <li>UB1-19: Occur Span End Date (33) (DT) <b>optional </b>
71       * <li>UB1-20: UB-82 Locator 2 (ST) <b>optional repeating</b>
72       * <li>UB1-21: UB-82 Locator 9 (ST) <b>optional repeating</b>
73       * <li>UB1-22: UB-82 Locator 27 (ST) <b>optional repeating</b>
74       * <li>UB1-23: UB-82 Locator 45 (ST) <b>optional repeating</b>
75   * </ul>
76   */
77  @SuppressWarnings("unused")
78  public class UB1 extends AbstractSegment {
79  
80      /** 
81       * Creates a new UB1 segment
82       */
83      public UB1(Group parent, ModelClassFactory factory) {
84         super(parent, factory);
85         init(factory);
86      }
87  
88      private void init(ModelClassFactory factory) {
89         try {
90                                    this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - UB1");
91                                    this.add(NM.class, false, -1, 1, new Object[]{ getMessage() }, "Blood Deductible  (43)");
92                                    this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Blood Furnished-Pints Of (40)");
93                                    this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Blood Replaced-Pints (41)");
94                                    this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Blood Not Replaced-Pints(42)");
95                                    this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Co-Insurance Days (25)");
96                                                this.add(IS.class, false, -1, 14, new Object[]{ getMessage(), new Integer(43) }, "Condition Code (35-39)");
97                                    this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Covered Days - (23)");
98                                    this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Non Covered Days - (24)");
99                                    this.add(UVC.class, false, -1, 717, new Object[]{ getMessage() }, "Value Amount & Code (46-49)");
100                                   this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Number Of Grace Days (90)");
101                                   this.add(CE.class, false, 1, 478, new Object[]{ getMessage() }, "Special Program Indicator (44)");
102                                   this.add(CE.class, false, 1, 478, new Object[]{ getMessage() }, "PSRO/UR Approval Indicator (87)");
103                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "PSRO/UR Approved Stay-Fm (88)");
104                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "PSRO/UR Approved Stay-To (89)");
105                                   this.add(OCD.class, false, -1, 713, new Object[]{ getMessage() }, "Occurrence (28-32)");
106                                   this.add(CE.class, false, 1, 478, new Object[]{ getMessage() }, "Occurrence Span (33)");
107                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Occur Span Start Date(33)");
108                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Occur Span End Date (33)");
109                                   this.add(ST.class, false, -1, 30, new Object[]{ getMessage() }, "UB-82 Locator 2");
110                                   this.add(ST.class, false, -1, 7, new Object[]{ getMessage() }, "UB-82 Locator 9");
111                                   this.add(ST.class, false, -1, 8, new Object[]{ getMessage() }, "UB-82 Locator 27");
112                                   this.add(ST.class, false, -1, 17, new Object[]{ getMessage() }, "UB-82 Locator 45");
113        } catch(HL7Exception e) {
114           log.error("Unexpected error creating UB1 - this is probably a bug in the source code generator.", e);
115        }
116     }
117 
118 
119 
120     /**
121      * Returns
122      * UB1-1: "Set ID - UB1" - creates it if necessary
123      */
124     public SI getSetIDUB1() { 
125 		SI retVal = this.getTypedField(1, 0);
126 		return retVal;
127     }
128     
129     /**
130      * Returns
131      * UB1-1: "Set ID - UB1" - creates it if necessary
132      */
133     public SI getUb11_SetIDUB1() { 
134 		SI retVal = this.getTypedField(1, 0);
135 		return retVal;
136     }
137 
138 
139     /**
140      * Returns all repetitions of Blood Deductible  (43) (UB1-2).
141      */
142     public NM[] getBloodDeductible() {
143     	NM[] retVal = this.getTypedField(2, new NM[0]);
144     	return retVal;
145     }
146 
147 
148     /**
149      * Returns all repetitions of Blood Deductible  (43) (UB1-2).
150      */
151     public NM[] getUb12_BloodDeductible() {
152     	NM[] retVal = this.getTypedField(2, new NM[0]);
153     	return retVal;
154     }
155 
156 
157     /**
158      * Returns a count of the current number of repetitions of Blood Deductible  (43) (UB1-2).
159      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
160      * it will return zero.
161      */
162     public int getBloodDeductibleReps() {
163     	return this.getReps(2);
164     }
165 
166 
167     /**
168      * Returns a specific repetition of
169      * UB1-2: "Blood Deductible  (43)" - creates it if necessary
170      *
171      * @param rep The repetition index (0-indexed)
172      */
173     public NM getBloodDeductible(int rep) { 
174 		NM retVal = this.getTypedField(2, rep);
175 		return retVal;
176     }
177 
178     /**
179      * Returns a specific repetition of
180      * UB1-2: "Blood Deductible  (43)" - creates it if necessary
181      *
182      * @param rep The repetition index (0-indexed)
183      */
184     public NM getUb12_BloodDeductible(int rep) { 
185 		NM retVal = this.getTypedField(2, rep);
186 		return retVal;
187     }
188 
189     /**
190      * Returns a count of the current number of repetitions of Blood Deductible  (43) (UB1-2).
191      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
192      * it will return zero.
193      */
194     public int getUb12_BloodDeductibleReps() {
195     	return this.getReps(2);
196     }
197 
198 
199     /**
200      * Inserts a repetition of
201      * UB1-2: "Blood Deductible  (43)" at a specific index
202      *
203      * @param rep The repetition index (0-indexed)
204      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
205      */
206     public NM insertBloodDeductible(int rep) throws HL7Exception { 
207         return (NM) super.insertRepetition(2, rep);
208     }
209 
210 
211     /**
212      * Inserts a repetition of
213      * UB1-2: "Blood Deductible  (43)" at a specific index
214      *
215      * @param rep The repetition index (0-indexed)
216      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
217      */
218     public NM insertUb12_BloodDeductible(int rep) throws HL7Exception { 
219         return (NM) super.insertRepetition(2, rep);
220     }
221 
222 
223     /**
224      * Removes a repetition of
225      * UB1-2: "Blood Deductible  (43)" at a specific index
226      *
227      * @param rep The repetition index (0-indexed)
228      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
229      */
230     public NM removeBloodDeductible(int rep) throws HL7Exception { 
231         return (NM) super.removeRepetition(2, rep);
232     }
233 
234 
235     /**
236      * Removes a repetition of
237      * UB1-2: "Blood Deductible  (43)" at a specific index
238      *
239      * @param rep The repetition index (0-indexed)
240      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
241      */
242     public NM removeUb12_BloodDeductible(int rep) throws HL7Exception { 
243         return (NM) super.removeRepetition(2, rep);
244     }
245 
246 
247 
248 
249     /**
250      * Returns
251      * UB1-3: "Blood Furnished-Pints Of (40)" - creates it if necessary
252      */
253     public NM getBloodFurnishedPintsOf() { 
254 		NM retVal = this.getTypedField(3, 0);
255 		return retVal;
256     }
257     
258     /**
259      * Returns
260      * UB1-3: "Blood Furnished-Pints Of (40)" - creates it if necessary
261      */
262     public NM getUb13_BloodFurnishedPintsOf() { 
263 		NM retVal = this.getTypedField(3, 0);
264 		return retVal;
265     }
266 
267 
268 
269     /**
270      * Returns
271      * UB1-4: "Blood Replaced-Pints (41)" - creates it if necessary
272      */
273     public NM getBloodReplacedPints() { 
274 		NM retVal = this.getTypedField(4, 0);
275 		return retVal;
276     }
277     
278     /**
279      * Returns
280      * UB1-4: "Blood Replaced-Pints (41)" - creates it if necessary
281      */
282     public NM getUb14_BloodReplacedPints() { 
283 		NM retVal = this.getTypedField(4, 0);
284 		return retVal;
285     }
286 
287 
288 
289     /**
290      * Returns
291      * UB1-5: "Blood Not Replaced-Pints(42)" - creates it if necessary
292      */
293     public NM getBloodNotReplacedPints() { 
294 		NM retVal = this.getTypedField(5, 0);
295 		return retVal;
296     }
297     
298     /**
299      * Returns
300      * UB1-5: "Blood Not Replaced-Pints(42)" - creates it if necessary
301      */
302     public NM getUb15_BloodNotReplacedPints() { 
303 		NM retVal = this.getTypedField(5, 0);
304 		return retVal;
305     }
306 
307 
308 
309     /**
310      * Returns
311      * UB1-6: "Co-Insurance Days (25)" - creates it if necessary
312      */
313     public NM getCoInsuranceDays() { 
314 		NM retVal = this.getTypedField(6, 0);
315 		return retVal;
316     }
317     
318     /**
319      * Returns
320      * UB1-6: "Co-Insurance Days (25)" - creates it if necessary
321      */
322     public NM getUb16_CoInsuranceDays() { 
323 		NM retVal = this.getTypedField(6, 0);
324 		return retVal;
325     }
326 
327 
328     /**
329      * Returns all repetitions of Condition Code (35-39) (UB1-7).
330      */
331     public IS[] getConditionCode3539() {
332     	IS[] retVal = this.getTypedField(7, new IS[0]);
333     	return retVal;
334     }
335 
336 
337     /**
338      * Returns all repetitions of Condition Code (35-39) (UB1-7).
339      */
340     public IS[] getUb17_ConditionCode3539() {
341     	IS[] retVal = this.getTypedField(7, new IS[0]);
342     	return retVal;
343     }
344 
345 
346     /**
347      * Returns a count of the current number of repetitions of Condition Code (35-39) (UB1-7).
348      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
349      * it will return zero.
350      */
351     public int getConditionCode3539Reps() {
352     	return this.getReps(7);
353     }
354 
355 
356     /**
357      * Returns a specific repetition of
358      * UB1-7: "Condition Code (35-39)" - creates it if necessary
359      *
360      * @param rep The repetition index (0-indexed)
361      */
362     public IS getConditionCode3539(int rep) { 
363 		IS retVal = this.getTypedField(7, rep);
364 		return retVal;
365     }
366 
367     /**
368      * Returns a specific repetition of
369      * UB1-7: "Condition Code (35-39)" - creates it if necessary
370      *
371      * @param rep The repetition index (0-indexed)
372      */
373     public IS getUb17_ConditionCode3539(int rep) { 
374 		IS retVal = this.getTypedField(7, rep);
375 		return retVal;
376     }
377 
378     /**
379      * Returns a count of the current number of repetitions of Condition Code (35-39) (UB1-7).
380      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
381      * it will return zero.
382      */
383     public int getUb17_ConditionCode3539Reps() {
384     	return this.getReps(7);
385     }
386 
387 
388     /**
389      * Inserts a repetition of
390      * UB1-7: "Condition Code (35-39)" at a specific index
391      *
392      * @param rep The repetition index (0-indexed)
393      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
394      */
395     public IS insertConditionCode3539(int rep) throws HL7Exception { 
396         return (IS) super.insertRepetition(7, rep);
397     }
398 
399 
400     /**
401      * Inserts a repetition of
402      * UB1-7: "Condition Code (35-39)" at a specific index
403      *
404      * @param rep The repetition index (0-indexed)
405      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
406      */
407     public IS insertUb17_ConditionCode3539(int rep) throws HL7Exception { 
408         return (IS) super.insertRepetition(7, rep);
409     }
410 
411 
412     /**
413      * Removes a repetition of
414      * UB1-7: "Condition Code (35-39)" at a specific index
415      *
416      * @param rep The repetition index (0-indexed)
417      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
418      */
419     public IS removeConditionCode3539(int rep) throws HL7Exception { 
420         return (IS) super.removeRepetition(7, rep);
421     }
422 
423 
424     /**
425      * Removes a repetition of
426      * UB1-7: "Condition Code (35-39)" at a specific index
427      *
428      * @param rep The repetition index (0-indexed)
429      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
430      */
431     public IS removeUb17_ConditionCode3539(int rep) throws HL7Exception { 
432         return (IS) super.removeRepetition(7, rep);
433     }
434 
435 
436 
437 
438     /**
439      * Returns
440      * UB1-8: "Covered Days - (23)" - creates it if necessary
441      */
442     public NM getCoveredDays() { 
443 		NM retVal = this.getTypedField(8, 0);
444 		return retVal;
445     }
446     
447     /**
448      * Returns
449      * UB1-8: "Covered Days - (23)" - creates it if necessary
450      */
451     public NM getUb18_CoveredDays() { 
452 		NM retVal = this.getTypedField(8, 0);
453 		return retVal;
454     }
455 
456 
457 
458     /**
459      * Returns
460      * UB1-9: "Non Covered Days - (24)" - creates it if necessary
461      */
462     public NM getNonCoveredDays() { 
463 		NM retVal = this.getTypedField(9, 0);
464 		return retVal;
465     }
466     
467     /**
468      * Returns
469      * UB1-9: "Non Covered Days - (24)" - creates it if necessary
470      */
471     public NM getUb19_NonCoveredDays() { 
472 		NM retVal = this.getTypedField(9, 0);
473 		return retVal;
474     }
475 
476 
477     /**
478      * Returns all repetitions of Value Amount & Code (46-49) (UB1-10).
479      */
480     public UVC[] getValueAmountCode4649() {
481     	UVC[] retVal = this.getTypedField(10, new UVC[0]);
482     	return retVal;
483     }
484 
485 
486     /**
487      * Returns all repetitions of Value Amount & Code (46-49) (UB1-10).
488      */
489     public UVC[] getUb110_ValueAmountCode4649() {
490     	UVC[] retVal = this.getTypedField(10, new UVC[0]);
491     	return retVal;
492     }
493 
494 
495     /**
496      * Returns a count of the current number of repetitions of Value Amount & Code (46-49) (UB1-10).
497      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
498      * it will return zero.
499      */
500     public int getValueAmountCode4649Reps() {
501     	return this.getReps(10);
502     }
503 
504 
505     /**
506      * Returns a specific repetition of
507      * UB1-10: "Value Amount & Code (46-49)" - creates it if necessary
508      *
509      * @param rep The repetition index (0-indexed)
510      */
511     public UVC getValueAmountCode4649(int rep) { 
512 		UVC retVal = this.getTypedField(10, rep);
513 		return retVal;
514     }
515 
516     /**
517      * Returns a specific repetition of
518      * UB1-10: "Value Amount & Code (46-49)" - creates it if necessary
519      *
520      * @param rep The repetition index (0-indexed)
521      */
522     public UVC getUb110_ValueAmountCode4649(int rep) { 
523 		UVC retVal = this.getTypedField(10, rep);
524 		return retVal;
525     }
526 
527     /**
528      * Returns a count of the current number of repetitions of Value Amount & Code (46-49) (UB1-10).
529      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
530      * it will return zero.
531      */
532     public int getUb110_ValueAmountCode4649Reps() {
533     	return this.getReps(10);
534     }
535 
536 
537     /**
538      * Inserts a repetition of
539      * UB1-10: "Value Amount & Code (46-49)" at a specific index
540      *
541      * @param rep The repetition index (0-indexed)
542      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
543      */
544     public UVC insertValueAmountCode4649(int rep) throws HL7Exception { 
545         return (UVC) super.insertRepetition(10, rep);
546     }
547 
548 
549     /**
550      * Inserts a repetition of
551      * UB1-10: "Value Amount & Code (46-49)" at a specific index
552      *
553      * @param rep The repetition index (0-indexed)
554      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
555      */
556     public UVC insertUb110_ValueAmountCode4649(int rep) throws HL7Exception { 
557         return (UVC) super.insertRepetition(10, rep);
558     }
559 
560 
561     /**
562      * Removes a repetition of
563      * UB1-10: "Value Amount & Code (46-49)" at a specific index
564      *
565      * @param rep The repetition index (0-indexed)
566      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
567      */
568     public UVC removeValueAmountCode4649(int rep) throws HL7Exception { 
569         return (UVC) super.removeRepetition(10, rep);
570     }
571 
572 
573     /**
574      * Removes a repetition of
575      * UB1-10: "Value Amount & Code (46-49)" at a specific index
576      *
577      * @param rep The repetition index (0-indexed)
578      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
579      */
580     public UVC removeUb110_ValueAmountCode4649(int rep) throws HL7Exception { 
581         return (UVC) super.removeRepetition(10, rep);
582     }
583 
584 
585 
586 
587     /**
588      * Returns
589      * UB1-11: "Number Of Grace Days (90)" - creates it if necessary
590      */
591     public NM getNumberOfGraceDays() { 
592 		NM retVal = this.getTypedField(11, 0);
593 		return retVal;
594     }
595     
596     /**
597      * Returns
598      * UB1-11: "Number Of Grace Days (90)" - creates it if necessary
599      */
600     public NM getUb111_NumberOfGraceDays() { 
601 		NM retVal = this.getTypedField(11, 0);
602 		return retVal;
603     }
604 
605 
606 
607     /**
608      * Returns
609      * UB1-12: "Special Program Indicator (44)" - creates it if necessary
610      */
611     public CE getSpecialProgramIndicator() { 
612 		CE retVal = this.getTypedField(12, 0);
613 		return retVal;
614     }
615     
616     /**
617      * Returns
618      * UB1-12: "Special Program Indicator (44)" - creates it if necessary
619      */
620     public CE getUb112_SpecialProgramIndicator() { 
621 		CE retVal = this.getTypedField(12, 0);
622 		return retVal;
623     }
624 
625 
626 
627     /**
628      * Returns
629      * UB1-13: "PSRO/UR Approval Indicator (87)" - creates it if necessary
630      */
631     public CE getPSROURApprovalIndicator() { 
632 		CE retVal = this.getTypedField(13, 0);
633 		return retVal;
634     }
635     
636     /**
637      * Returns
638      * UB1-13: "PSRO/UR Approval Indicator (87)" - creates it if necessary
639      */
640     public CE getUb113_PSROURApprovalIndicator() { 
641 		CE retVal = this.getTypedField(13, 0);
642 		return retVal;
643     }
644 
645 
646 
647     /**
648      * Returns
649      * UB1-14: "PSRO/UR Approved Stay-Fm (88)" - creates it if necessary
650      */
651     public DT getPSROURApprovedStayFm() { 
652 		DT retVal = this.getTypedField(14, 0);
653 		return retVal;
654     }
655     
656     /**
657      * Returns
658      * UB1-14: "PSRO/UR Approved Stay-Fm (88)" - creates it if necessary
659      */
660     public DT getUb114_PSROURApprovedStayFm() { 
661 		DT retVal = this.getTypedField(14, 0);
662 		return retVal;
663     }
664 
665 
666 
667     /**
668      * Returns
669      * UB1-15: "PSRO/UR Approved Stay-To (89)" - creates it if necessary
670      */
671     public DT getPSROURApprovedStayTo() { 
672 		DT retVal = this.getTypedField(15, 0);
673 		return retVal;
674     }
675     
676     /**
677      * Returns
678      * UB1-15: "PSRO/UR Approved Stay-To (89)" - creates it if necessary
679      */
680     public DT getUb115_PSROURApprovedStayTo() { 
681 		DT retVal = this.getTypedField(15, 0);
682 		return retVal;
683     }
684 
685 
686     /**
687      * Returns all repetitions of Occurrence (28-32) (UB1-16).
688      */
689     public OCD[] getOccurrence2832() {
690     	OCD[] retVal = this.getTypedField(16, new OCD[0]);
691     	return retVal;
692     }
693 
694 
695     /**
696      * Returns all repetitions of Occurrence (28-32) (UB1-16).
697      */
698     public OCD[] getUb116_Occurrence2832() {
699     	OCD[] retVal = this.getTypedField(16, new OCD[0]);
700     	return retVal;
701     }
702 
703 
704     /**
705      * Returns a count of the current number of repetitions of Occurrence (28-32) (UB1-16).
706      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
707      * it will return zero.
708      */
709     public int getOccurrence2832Reps() {
710     	return this.getReps(16);
711     }
712 
713 
714     /**
715      * Returns a specific repetition of
716      * UB1-16: "Occurrence (28-32)" - creates it if necessary
717      *
718      * @param rep The repetition index (0-indexed)
719      */
720     public OCD getOccurrence2832(int rep) { 
721 		OCD retVal = this.getTypedField(16, rep);
722 		return retVal;
723     }
724 
725     /**
726      * Returns a specific repetition of
727      * UB1-16: "Occurrence (28-32)" - creates it if necessary
728      *
729      * @param rep The repetition index (0-indexed)
730      */
731     public OCD getUb116_Occurrence2832(int rep) { 
732 		OCD retVal = this.getTypedField(16, rep);
733 		return retVal;
734     }
735 
736     /**
737      * Returns a count of the current number of repetitions of Occurrence (28-32) (UB1-16).
738      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
739      * it will return zero.
740      */
741     public int getUb116_Occurrence2832Reps() {
742     	return this.getReps(16);
743     }
744 
745 
746     /**
747      * Inserts a repetition of
748      * UB1-16: "Occurrence (28-32)" at a specific index
749      *
750      * @param rep The repetition index (0-indexed)
751      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
752      */
753     public OCD insertOccurrence2832(int rep) throws HL7Exception { 
754         return (OCD) super.insertRepetition(16, rep);
755     }
756 
757 
758     /**
759      * Inserts a repetition of
760      * UB1-16: "Occurrence (28-32)" at a specific index
761      *
762      * @param rep The repetition index (0-indexed)
763      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
764      */
765     public OCD insertUb116_Occurrence2832(int rep) throws HL7Exception { 
766         return (OCD) super.insertRepetition(16, rep);
767     }
768 
769 
770     /**
771      * Removes a repetition of
772      * UB1-16: "Occurrence (28-32)" at a specific index
773      *
774      * @param rep The repetition index (0-indexed)
775      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
776      */
777     public OCD removeOccurrence2832(int rep) throws HL7Exception { 
778         return (OCD) super.removeRepetition(16, rep);
779     }
780 
781 
782     /**
783      * Removes a repetition of
784      * UB1-16: "Occurrence (28-32)" at a specific index
785      *
786      * @param rep The repetition index (0-indexed)
787      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
788      */
789     public OCD removeUb116_Occurrence2832(int rep) throws HL7Exception { 
790         return (OCD) super.removeRepetition(16, rep);
791     }
792 
793 
794 
795 
796     /**
797      * Returns
798      * UB1-17: "Occurrence Span (33)" - creates it if necessary
799      */
800     public CE getOccurrenceSpan() { 
801 		CE retVal = this.getTypedField(17, 0);
802 		return retVal;
803     }
804     
805     /**
806      * Returns
807      * UB1-17: "Occurrence Span (33)" - creates it if necessary
808      */
809     public CE getUb117_OccurrenceSpan() { 
810 		CE retVal = this.getTypedField(17, 0);
811 		return retVal;
812     }
813 
814 
815 
816     /**
817      * Returns
818      * UB1-18: "Occur Span Start Date(33)" - creates it if necessary
819      */
820     public DT getOccurSpanStartDate() { 
821 		DT retVal = this.getTypedField(18, 0);
822 		return retVal;
823     }
824     
825     /**
826      * Returns
827      * UB1-18: "Occur Span Start Date(33)" - creates it if necessary
828      */
829     public DT getUb118_OccurSpanStartDate() { 
830 		DT retVal = this.getTypedField(18, 0);
831 		return retVal;
832     }
833 
834 
835 
836     /**
837      * Returns
838      * UB1-19: "Occur Span End Date (33)" - creates it if necessary
839      */
840     public DT getOccurSpanEndDate() { 
841 		DT retVal = this.getTypedField(19, 0);
842 		return retVal;
843     }
844     
845     /**
846      * Returns
847      * UB1-19: "Occur Span End Date (33)" - creates it if necessary
848      */
849     public DT getUb119_OccurSpanEndDate() { 
850 		DT retVal = this.getTypedField(19, 0);
851 		return retVal;
852     }
853 
854 
855     /**
856      * Returns all repetitions of UB-82 Locator 2 (UB1-20).
857      */
858     public ST[] getUB82Locator2() {
859     	ST[] retVal = this.getTypedField(20, new ST[0]);
860     	return retVal;
861     }
862 
863 
864     /**
865      * Returns all repetitions of UB-82 Locator 2 (UB1-20).
866      */
867     public ST[] getUb120_UB82Locator2() {
868     	ST[] retVal = this.getTypedField(20, new ST[0]);
869     	return retVal;
870     }
871 
872 
873     /**
874      * Returns a count of the current number of repetitions of UB-82 Locator 2 (UB1-20).
875      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
876      * it will return zero.
877      */
878     public int getUB82Locator2Reps() {
879     	return this.getReps(20);
880     }
881 
882 
883     /**
884      * Returns a specific repetition of
885      * UB1-20: "UB-82 Locator 2" - creates it if necessary
886      *
887      * @param rep The repetition index (0-indexed)
888      */
889     public ST getUB82Locator2(int rep) { 
890 		ST retVal = this.getTypedField(20, rep);
891 		return retVal;
892     }
893 
894     /**
895      * Returns a specific repetition of
896      * UB1-20: "UB-82 Locator 2" - creates it if necessary
897      *
898      * @param rep The repetition index (0-indexed)
899      */
900     public ST getUb120_UB82Locator2(int rep) { 
901 		ST retVal = this.getTypedField(20, rep);
902 		return retVal;
903     }
904 
905     /**
906      * Returns a count of the current number of repetitions of UB-82 Locator 2 (UB1-20).
907      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
908      * it will return zero.
909      */
910     public int getUb120_UB82Locator2Reps() {
911     	return this.getReps(20);
912     }
913 
914 
915     /**
916      * Inserts a repetition of
917      * UB1-20: "UB-82 Locator 2" at a specific index
918      *
919      * @param rep The repetition index (0-indexed)
920      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
921      */
922     public ST insertUB82Locator2(int rep) throws HL7Exception { 
923         return (ST) super.insertRepetition(20, rep);
924     }
925 
926 
927     /**
928      * Inserts a repetition of
929      * UB1-20: "UB-82 Locator 2" at a specific index
930      *
931      * @param rep The repetition index (0-indexed)
932      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
933      */
934     public ST insertUb120_UB82Locator2(int rep) throws HL7Exception { 
935         return (ST) super.insertRepetition(20, rep);
936     }
937 
938 
939     /**
940      * Removes a repetition of
941      * UB1-20: "UB-82 Locator 2" at a specific index
942      *
943      * @param rep The repetition index (0-indexed)
944      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
945      */
946     public ST removeUB82Locator2(int rep) throws HL7Exception { 
947         return (ST) super.removeRepetition(20, rep);
948     }
949 
950 
951     /**
952      * Removes a repetition of
953      * UB1-20: "UB-82 Locator 2" at a specific index
954      *
955      * @param rep The repetition index (0-indexed)
956      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
957      */
958     public ST removeUb120_UB82Locator2(int rep) throws HL7Exception { 
959         return (ST) super.removeRepetition(20, rep);
960     }
961 
962 
963 
964     /**
965      * Returns all repetitions of UB-82 Locator 9 (UB1-21).
966      */
967     public ST[] getUB82Locator9() {
968     	ST[] retVal = this.getTypedField(21, new ST[0]);
969     	return retVal;
970     }
971 
972 
973     /**
974      * Returns all repetitions of UB-82 Locator 9 (UB1-21).
975      */
976     public ST[] getUb121_UB82Locator9() {
977     	ST[] retVal = this.getTypedField(21, new ST[0]);
978     	return retVal;
979     }
980 
981 
982     /**
983      * Returns a count of the current number of repetitions of UB-82 Locator 9 (UB1-21).
984      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
985      * it will return zero.
986      */
987     public int getUB82Locator9Reps() {
988     	return this.getReps(21);
989     }
990 
991 
992     /**
993      * Returns a specific repetition of
994      * UB1-21: "UB-82 Locator 9" - creates it if necessary
995      *
996      * @param rep The repetition index (0-indexed)
997      */
998     public ST getUB82Locator9(int rep) { 
999 		ST retVal = this.getTypedField(21, rep);
1000 		return retVal;
1001     }
1002 
1003     /**
1004      * Returns a specific repetition of
1005      * UB1-21: "UB-82 Locator 9" - creates it if necessary
1006      *
1007      * @param rep The repetition index (0-indexed)
1008      */
1009     public ST getUb121_UB82Locator9(int rep) { 
1010 		ST retVal = this.getTypedField(21, rep);
1011 		return retVal;
1012     }
1013 
1014     /**
1015      * Returns a count of the current number of repetitions of UB-82 Locator 9 (UB1-21).
1016      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1017      * it will return zero.
1018      */
1019     public int getUb121_UB82Locator9Reps() {
1020     	return this.getReps(21);
1021     }
1022 
1023 
1024     /**
1025      * Inserts a repetition of
1026      * UB1-21: "UB-82 Locator 9" at a specific index
1027      *
1028      * @param rep The repetition index (0-indexed)
1029      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1030      */
1031     public ST insertUB82Locator9(int rep) throws HL7Exception { 
1032         return (ST) super.insertRepetition(21, rep);
1033     }
1034 
1035 
1036     /**
1037      * Inserts a repetition of
1038      * UB1-21: "UB-82 Locator 9" at a specific index
1039      *
1040      * @param rep The repetition index (0-indexed)
1041      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1042      */
1043     public ST insertUb121_UB82Locator9(int rep) throws HL7Exception { 
1044         return (ST) super.insertRepetition(21, rep);
1045     }
1046 
1047 
1048     /**
1049      * Removes a repetition of
1050      * UB1-21: "UB-82 Locator 9" at a specific index
1051      *
1052      * @param rep The repetition index (0-indexed)
1053      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1054      */
1055     public ST removeUB82Locator9(int rep) throws HL7Exception { 
1056         return (ST) super.removeRepetition(21, rep);
1057     }
1058 
1059 
1060     /**
1061      * Removes a repetition of
1062      * UB1-21: "UB-82 Locator 9" at a specific index
1063      *
1064      * @param rep The repetition index (0-indexed)
1065      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1066      */
1067     public ST removeUb121_UB82Locator9(int rep) throws HL7Exception { 
1068         return (ST) super.removeRepetition(21, rep);
1069     }
1070 
1071 
1072 
1073     /**
1074      * Returns all repetitions of UB-82 Locator 27 (UB1-22).
1075      */
1076     public ST[] getUB82Locator27() {
1077     	ST[] retVal = this.getTypedField(22, new ST[0]);
1078     	return retVal;
1079     }
1080 
1081 
1082     /**
1083      * Returns all repetitions of UB-82 Locator 27 (UB1-22).
1084      */
1085     public ST[] getUb122_UB82Locator27() {
1086     	ST[] retVal = this.getTypedField(22, new ST[0]);
1087     	return retVal;
1088     }
1089 
1090 
1091     /**
1092      * Returns a count of the current number of repetitions of UB-82 Locator 27 (UB1-22).
1093      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1094      * it will return zero.
1095      */
1096     public int getUB82Locator27Reps() {
1097     	return this.getReps(22);
1098     }
1099 
1100 
1101     /**
1102      * Returns a specific repetition of
1103      * UB1-22: "UB-82 Locator 27" - creates it if necessary
1104      *
1105      * @param rep The repetition index (0-indexed)
1106      */
1107     public ST getUB82Locator27(int rep) { 
1108 		ST retVal = this.getTypedField(22, rep);
1109 		return retVal;
1110     }
1111 
1112     /**
1113      * Returns a specific repetition of
1114      * UB1-22: "UB-82 Locator 27" - creates it if necessary
1115      *
1116      * @param rep The repetition index (0-indexed)
1117      */
1118     public ST getUb122_UB82Locator27(int rep) { 
1119 		ST retVal = this.getTypedField(22, rep);
1120 		return retVal;
1121     }
1122 
1123     /**
1124      * Returns a count of the current number of repetitions of UB-82 Locator 27 (UB1-22).
1125      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1126      * it will return zero.
1127      */
1128     public int getUb122_UB82Locator27Reps() {
1129     	return this.getReps(22);
1130     }
1131 
1132 
1133     /**
1134      * Inserts a repetition of
1135      * UB1-22: "UB-82 Locator 27" at a specific index
1136      *
1137      * @param rep The repetition index (0-indexed)
1138      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1139      */
1140     public ST insertUB82Locator27(int rep) throws HL7Exception { 
1141         return (ST) super.insertRepetition(22, rep);
1142     }
1143 
1144 
1145     /**
1146      * Inserts a repetition of
1147      * UB1-22: "UB-82 Locator 27" at a specific index
1148      *
1149      * @param rep The repetition index (0-indexed)
1150      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1151      */
1152     public ST insertUb122_UB82Locator27(int rep) throws HL7Exception { 
1153         return (ST) super.insertRepetition(22, rep);
1154     }
1155 
1156 
1157     /**
1158      * Removes a repetition of
1159      * UB1-22: "UB-82 Locator 27" at a specific index
1160      *
1161      * @param rep The repetition index (0-indexed)
1162      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1163      */
1164     public ST removeUB82Locator27(int rep) throws HL7Exception { 
1165         return (ST) super.removeRepetition(22, rep);
1166     }
1167 
1168 
1169     /**
1170      * Removes a repetition of
1171      * UB1-22: "UB-82 Locator 27" at a specific index
1172      *
1173      * @param rep The repetition index (0-indexed)
1174      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1175      */
1176     public ST removeUb122_UB82Locator27(int rep) throws HL7Exception { 
1177         return (ST) super.removeRepetition(22, rep);
1178     }
1179 
1180 
1181 
1182     /**
1183      * Returns all repetitions of UB-82 Locator 45 (UB1-23).
1184      */
1185     public ST[] getUB82Locator45() {
1186     	ST[] retVal = this.getTypedField(23, new ST[0]);
1187     	return retVal;
1188     }
1189 
1190 
1191     /**
1192      * Returns all repetitions of UB-82 Locator 45 (UB1-23).
1193      */
1194     public ST[] getUb123_UB82Locator45() {
1195     	ST[] retVal = this.getTypedField(23, new ST[0]);
1196     	return retVal;
1197     }
1198 
1199 
1200     /**
1201      * Returns a count of the current number of repetitions of UB-82 Locator 45 (UB1-23).
1202      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1203      * it will return zero.
1204      */
1205     public int getUB82Locator45Reps() {
1206     	return this.getReps(23);
1207     }
1208 
1209 
1210     /**
1211      * Returns a specific repetition of
1212      * UB1-23: "UB-82 Locator 45" - creates it if necessary
1213      *
1214      * @param rep The repetition index (0-indexed)
1215      */
1216     public ST getUB82Locator45(int rep) { 
1217 		ST retVal = this.getTypedField(23, rep);
1218 		return retVal;
1219     }
1220 
1221     /**
1222      * Returns a specific repetition of
1223      * UB1-23: "UB-82 Locator 45" - creates it if necessary
1224      *
1225      * @param rep The repetition index (0-indexed)
1226      */
1227     public ST getUb123_UB82Locator45(int rep) { 
1228 		ST retVal = this.getTypedField(23, rep);
1229 		return retVal;
1230     }
1231 
1232     /**
1233      * Returns a count of the current number of repetitions of UB-82 Locator 45 (UB1-23).
1234      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1235      * it will return zero.
1236      */
1237     public int getUb123_UB82Locator45Reps() {
1238     	return this.getReps(23);
1239     }
1240 
1241 
1242     /**
1243      * Inserts a repetition of
1244      * UB1-23: "UB-82 Locator 45" at a specific index
1245      *
1246      * @param rep The repetition index (0-indexed)
1247      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1248      */
1249     public ST insertUB82Locator45(int rep) throws HL7Exception { 
1250         return (ST) super.insertRepetition(23, rep);
1251     }
1252 
1253 
1254     /**
1255      * Inserts a repetition of
1256      * UB1-23: "UB-82 Locator 45" at a specific index
1257      *
1258      * @param rep The repetition index (0-indexed)
1259      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1260      */
1261     public ST insertUb123_UB82Locator45(int rep) throws HL7Exception { 
1262         return (ST) super.insertRepetition(23, rep);
1263     }
1264 
1265 
1266     /**
1267      * Removes a repetition of
1268      * UB1-23: "UB-82 Locator 45" at a specific index
1269      *
1270      * @param rep The repetition index (0-indexed)
1271      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1272      */
1273     public ST removeUB82Locator45(int rep) throws HL7Exception { 
1274         return (ST) super.removeRepetition(23, rep);
1275     }
1276 
1277 
1278     /**
1279      * Removes a repetition of
1280      * UB1-23: "UB-82 Locator 45" at a specific index
1281      *
1282      * @param rep The repetition index (0-indexed)
1283      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1284      */
1285     public ST removeUb123_UB82Locator45(int rep) throws HL7Exception { 
1286         return (ST) super.removeRepetition(23, rep);
1287     }
1288 
1289 
1290 
1291 
1292 
1293 
1294     /** {@inheritDoc} */   
1295     protected Type createNewTypeWithoutReflection(int field) {
1296        switch (field) {
1297           case 0: return new SI(getMessage());
1298           case 1: return new NM(getMessage());
1299           case 2: return new NM(getMessage());
1300           case 3: return new NM(getMessage());
1301           case 4: return new NM(getMessage());
1302           case 5: return new NM(getMessage());
1303           case 6: return new IS(getMessage(), new Integer( 43 ));
1304           case 7: return new NM(getMessage());
1305           case 8: return new NM(getMessage());
1306           case 9: return new UVC(getMessage());
1307           case 10: return new NM(getMessage());
1308           case 11: return new CE(getMessage());
1309           case 12: return new CE(getMessage());
1310           case 13: return new DT(getMessage());
1311           case 14: return new DT(getMessage());
1312           case 15: return new OCD(getMessage());
1313           case 16: return new CE(getMessage());
1314           case 17: return new DT(getMessage());
1315           case 18: return new DT(getMessage());
1316           case 19: return new ST(getMessage());
1317           case 20: return new ST(getMessage());
1318           case 21: return new ST(getMessage());
1319           case 22: return new ST(getMessage());
1320           default: return null;
1321        }
1322    }
1323 
1324 
1325 }
1326