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.v22.segment;
035
036// import ca.uhn.hl7v2.model.v22.group.*;
037import ca.uhn.hl7v2.model.v22.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 GT1 message segment (GUARANTOR). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>GT1-1: Set ID - guarantor (SI) <b> </b>
052     * <li>GT1-2: Guarantor number (CK) <b>optional </b>
053     * <li>GT1-3: Guarantor name (PN) <b> </b>
054     * <li>GT1-4: Guarantor spouse name (PN) <b>optional </b>
055     * <li>GT1-5: Guarantor address (AD) <b>optional </b>
056     * <li>GT1-6: Guarantor phone number - home (TN) <b>optional repeating</b>
057     * <li>GT1-7: Guarantor phone number - business (TN) <b>optional repeating</b>
058     * <li>GT1-8: Guarantor date of birth (DT) <b>optional </b>
059     * <li>GT1-9: Guarantor sex (ID) <b>optional </b>
060     * <li>GT1-10: Guarantor type (ID) <b>optional </b>
061     * <li>GT1-11: Guarantor relationship (ID) <b>optional </b>
062     * <li>GT1-12: Guarantor social security number (ST) <b>optional </b>
063     * <li>GT1-13: Guarantor date - begin (DT) <b>optional </b>
064     * <li>GT1-14: Guarantor date - end (DT) <b>optional </b>
065     * <li>GT1-15: Guarantor priority (NM) <b>optional </b>
066     * <li>GT1-16: Guarantor employer name (ST) <b>optional </b>
067     * <li>GT1-17: Guarantor employer address (AD) <b>optional </b>
068     * <li>GT1-18: Guarantor employ phone number (TN) <b>optional repeating</b>
069     * <li>GT1-19: Guarantor employee ID number (ST) <b>optional </b>
070     * <li>GT1-20: Guarantor employment status (ID) <b>optional </b>
071     * <li>GT1-21: Guarantor organization (ST) <b>optional </b>
072 * </ul>
073 */
074@SuppressWarnings("unused")
075public class GT1 extends AbstractSegment {
076
077    /** 
078     * Creates a new GT1 segment
079     */
080    public GT1(Group parent, ModelClassFactory factory) {
081       super(parent, factory);
082       init(factory);
083    }
084
085    private void init(ModelClassFactory factory) {
086       try {
087                                  this.add(SI.class, true, 1, 4, new Object[]{ getMessage() }, "Set ID - guarantor");
088                                  this.add(CK.class, false, 1, 20, new Object[]{ getMessage() }, "Guarantor number");
089                                  this.add(PN.class, true, 1, 48, new Object[]{ getMessage() }, "Guarantor name");
090                                  this.add(PN.class, false, 1, 48, new Object[]{ getMessage() }, "Guarantor spouse name");
091                                  this.add(AD.class, false, 1, 106, new Object[]{ getMessage() }, "Guarantor address");
092                                  this.add(TN.class, false, 3, 40, new Object[]{ getMessage() }, "Guarantor phone number - home");
093                                  this.add(TN.class, false, 3, 40, new Object[]{ getMessage() }, "Guarantor phone number - business");
094                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Guarantor date of birth");
095                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(1) }, "Guarantor sex");
096                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(68) }, "Guarantor type");
097                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(63) }, "Guarantor relationship");
098                                  this.add(ST.class, false, 1, 11, new Object[]{ getMessage() }, "Guarantor social security number");
099                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Guarantor date - begin");
100                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Guarantor date - end");
101                                  this.add(NM.class, false, 1, 2, new Object[]{ getMessage() }, "Guarantor priority");
102                                  this.add(ST.class, false, 1, 45, new Object[]{ getMessage() }, "Guarantor employer name");
103                                  this.add(AD.class, false, 1, 106, new Object[]{ getMessage() }, "Guarantor employer address");
104                                  this.add(TN.class, false, 3, 40, new Object[]{ getMessage() }, "Guarantor employ phone number");
105                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Guarantor employee ID number");
106                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(66) }, "Guarantor employment status");
107                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "Guarantor organization");
108       } catch(HL7Exception e) {
109          log.error("Unexpected error creating GT1 - this is probably a bug in the source code generator.", e);
110       }
111    }
112
113
114
115    /**
116     * Returns
117     * GT1-1: "Set ID - guarantor" - creates it if necessary
118     */
119    public SI getSetIDGuarantor() { 
120                SI retVal = this.getTypedField(1, 0);
121                return retVal;
122    }
123    
124    /**
125     * Returns
126     * GT1-1: "Set ID - guarantor" - creates it if necessary
127     */
128    public SI getGt11_SetIDGuarantor() { 
129                SI retVal = this.getTypedField(1, 0);
130                return retVal;
131    }
132
133
134
135    /**
136     * Returns
137     * GT1-2: "Guarantor number" - creates it if necessary
138     */
139    public CK getGuarantorNumber() { 
140                CK retVal = this.getTypedField(2, 0);
141                return retVal;
142    }
143    
144    /**
145     * Returns
146     * GT1-2: "Guarantor number" - creates it if necessary
147     */
148    public CK getGt12_GuarantorNumber() { 
149                CK retVal = this.getTypedField(2, 0);
150                return retVal;
151    }
152
153
154
155    /**
156     * Returns
157     * GT1-3: "Guarantor name" - creates it if necessary
158     */
159    public PN getGuarantorName() { 
160                PN retVal = this.getTypedField(3, 0);
161                return retVal;
162    }
163    
164    /**
165     * Returns
166     * GT1-3: "Guarantor name" - creates it if necessary
167     */
168    public PN getGt13_GuarantorName() { 
169                PN retVal = this.getTypedField(3, 0);
170                return retVal;
171    }
172
173
174
175    /**
176     * Returns
177     * GT1-4: "Guarantor spouse name" - creates it if necessary
178     */
179    public PN getGuarantorSpouseName() { 
180                PN retVal = this.getTypedField(4, 0);
181                return retVal;
182    }
183    
184    /**
185     * Returns
186     * GT1-4: "Guarantor spouse name" - creates it if necessary
187     */
188    public PN getGt14_GuarantorSpouseName() { 
189                PN retVal = this.getTypedField(4, 0);
190                return retVal;
191    }
192
193
194
195    /**
196     * Returns
197     * GT1-5: "Guarantor address" - creates it if necessary
198     */
199    public AD getGuarantorAddress() { 
200                AD retVal = this.getTypedField(5, 0);
201                return retVal;
202    }
203    
204    /**
205     * Returns
206     * GT1-5: "Guarantor address" - creates it if necessary
207     */
208    public AD getGt15_GuarantorAddress() { 
209                AD retVal = this.getTypedField(5, 0);
210                return retVal;
211    }
212
213
214    /**
215     * Returns all repetitions of Guarantor phone number - home (GT1-6).
216     */
217    public TN[] getGuarantorPhoneNumberHome() {
218        TN[] retVal = this.getTypedField(6, new TN[0]);
219        return retVal;
220    }
221
222
223    /**
224     * Returns all repetitions of Guarantor phone number - home (GT1-6).
225     */
226    public TN[] getGt16_GuarantorPhoneNumberHome() {
227        TN[] retVal = this.getTypedField(6, new TN[0]);
228        return retVal;
229    }
230
231
232    /**
233     * Returns a count of the current number of repetitions of Guarantor phone number - home (GT1-6).
234     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
235     * it will return zero.
236     */
237    public int getGuarantorPhoneNumberHomeReps() {
238        return this.getReps(6);
239    }
240
241
242    /**
243     * Returns a specific repetition of
244     * GT1-6: "Guarantor phone number - home" - creates it if necessary
245     *
246     * @param rep The repetition index (0-indexed)
247     */
248    public TN getGuarantorPhoneNumberHome(int rep) { 
249                TN retVal = this.getTypedField(6, rep);
250                return retVal;
251    }
252
253    /**
254     * Returns a specific repetition of
255     * GT1-6: "Guarantor phone number - home" - creates it if necessary
256     *
257     * @param rep The repetition index (0-indexed)
258     */
259    public TN getGt16_GuarantorPhoneNumberHome(int rep) { 
260                TN retVal = this.getTypedField(6, rep);
261                return retVal;
262    }
263
264    /**
265     * Returns a count of the current number of repetitions of Guarantor phone number - home (GT1-6).
266     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
267     * it will return zero.
268     */
269    public int getGt16_GuarantorPhoneNumberHomeReps() {
270        return this.getReps(6);
271    }
272
273
274    /**
275     * Inserts a repetition of
276     * GT1-6: "Guarantor phone number - home" at a specific index
277     *
278     * @param rep The repetition index (0-indexed)
279     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
280     */
281    public TN insertGuarantorPhoneNumberHome(int rep) throws HL7Exception { 
282        return (TN) super.insertRepetition(6, rep);
283    }
284
285
286    /**
287     * Inserts a repetition of
288     * GT1-6: "Guarantor phone number - home" 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 TN insertGt16_GuarantorPhoneNumberHome(int rep) throws HL7Exception { 
294        return (TN) super.insertRepetition(6, rep);
295    }
296
297
298    /**
299     * Removes a repetition of
300     * GT1-6: "Guarantor phone number - home" 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 TN removeGuarantorPhoneNumberHome(int rep) throws HL7Exception { 
306        return (TN) super.removeRepetition(6, rep);
307    }
308
309
310    /**
311     * Removes a repetition of
312     * GT1-6: "Guarantor phone number - home" 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 TN removeGt16_GuarantorPhoneNumberHome(int rep) throws HL7Exception { 
318        return (TN) super.removeRepetition(6, rep);
319    }
320
321
322
323    /**
324     * Returns all repetitions of Guarantor phone number - business (GT1-7).
325     */
326    public TN[] getGuarantorPhoneNumberBusiness() {
327        TN[] retVal = this.getTypedField(7, new TN[0]);
328        return retVal;
329    }
330
331
332    /**
333     * Returns all repetitions of Guarantor phone number - business (GT1-7).
334     */
335    public TN[] getGt17_GuarantorPhoneNumberBusiness() {
336        TN[] retVal = this.getTypedField(7, new TN[0]);
337        return retVal;
338    }
339
340
341    /**
342     * Returns a count of the current number of repetitions of Guarantor phone number - business (GT1-7).
343     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
344     * it will return zero.
345     */
346    public int getGuarantorPhoneNumberBusinessReps() {
347        return this.getReps(7);
348    }
349
350
351    /**
352     * Returns a specific repetition of
353     * GT1-7: "Guarantor phone number - business" - creates it if necessary
354     *
355     * @param rep The repetition index (0-indexed)
356     */
357    public TN getGuarantorPhoneNumberBusiness(int rep) { 
358                TN retVal = this.getTypedField(7, rep);
359                return retVal;
360    }
361
362    /**
363     * Returns a specific repetition of
364     * GT1-7: "Guarantor phone number - business" - creates it if necessary
365     *
366     * @param rep The repetition index (0-indexed)
367     */
368    public TN getGt17_GuarantorPhoneNumberBusiness(int rep) { 
369                TN retVal = this.getTypedField(7, rep);
370                return retVal;
371    }
372
373    /**
374     * Returns a count of the current number of repetitions of Guarantor phone number - business (GT1-7).
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 getGt17_GuarantorPhoneNumberBusinessReps() {
379        return this.getReps(7);
380    }
381
382
383    /**
384     * Inserts a repetition of
385     * GT1-7: "Guarantor phone number - business" at a specific index
386     *
387     * @param rep The repetition index (0-indexed)
388     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
389     */
390    public TN insertGuarantorPhoneNumberBusiness(int rep) throws HL7Exception { 
391        return (TN) super.insertRepetition(7, rep);
392    }
393
394
395    /**
396     * Inserts a repetition of
397     * GT1-7: "Guarantor phone number - business" at a specific index
398     *
399     * @param rep The repetition index (0-indexed)
400     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
401     */
402    public TN insertGt17_GuarantorPhoneNumberBusiness(int rep) throws HL7Exception { 
403        return (TN) super.insertRepetition(7, rep);
404    }
405
406
407    /**
408     * Removes a repetition of
409     * GT1-7: "Guarantor phone number - business" at a specific index
410     *
411     * @param rep The repetition index (0-indexed)
412     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
413     */
414    public TN removeGuarantorPhoneNumberBusiness(int rep) throws HL7Exception { 
415        return (TN) super.removeRepetition(7, rep);
416    }
417
418
419    /**
420     * Removes a repetition of
421     * GT1-7: "Guarantor phone number - business" at a specific index
422     *
423     * @param rep The repetition index (0-indexed)
424     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
425     */
426    public TN removeGt17_GuarantorPhoneNumberBusiness(int rep) throws HL7Exception { 
427        return (TN) super.removeRepetition(7, rep);
428    }
429
430
431
432
433    /**
434     * Returns
435     * GT1-8: "Guarantor date of birth" - creates it if necessary
436     */
437    public DT getGuarantorDateOfBirth() { 
438                DT retVal = this.getTypedField(8, 0);
439                return retVal;
440    }
441    
442    /**
443     * Returns
444     * GT1-8: "Guarantor date of birth" - creates it if necessary
445     */
446    public DT getGt18_GuarantorDateOfBirth() { 
447                DT retVal = this.getTypedField(8, 0);
448                return retVal;
449    }
450
451
452
453    /**
454     * Returns
455     * GT1-9: "Guarantor sex" - creates it if necessary
456     */
457    public ID getGuarantorSex() { 
458                ID retVal = this.getTypedField(9, 0);
459                return retVal;
460    }
461    
462    /**
463     * Returns
464     * GT1-9: "Guarantor sex" - creates it if necessary
465     */
466    public ID getGt19_GuarantorSex() { 
467                ID retVal = this.getTypedField(9, 0);
468                return retVal;
469    }
470
471
472
473    /**
474     * Returns
475     * GT1-10: "Guarantor type" - creates it if necessary
476     */
477    public ID getGuarantorType() { 
478                ID retVal = this.getTypedField(10, 0);
479                return retVal;
480    }
481    
482    /**
483     * Returns
484     * GT1-10: "Guarantor type" - creates it if necessary
485     */
486    public ID getGt110_GuarantorType() { 
487                ID retVal = this.getTypedField(10, 0);
488                return retVal;
489    }
490
491
492
493    /**
494     * Returns
495     * GT1-11: "Guarantor relationship" - creates it if necessary
496     */
497    public ID getGuarantorRelationship() { 
498                ID retVal = this.getTypedField(11, 0);
499                return retVal;
500    }
501    
502    /**
503     * Returns
504     * GT1-11: "Guarantor relationship" - creates it if necessary
505     */
506    public ID getGt111_GuarantorRelationship() { 
507                ID retVal = this.getTypedField(11, 0);
508                return retVal;
509    }
510
511
512
513    /**
514     * Returns
515     * GT1-12: "Guarantor social security number" - creates it if necessary
516     */
517    public ST getGuarantorSocialSecurityNumber() { 
518                ST retVal = this.getTypedField(12, 0);
519                return retVal;
520    }
521    
522    /**
523     * Returns
524     * GT1-12: "Guarantor social security number" - creates it if necessary
525     */
526    public ST getGt112_GuarantorSocialSecurityNumber() { 
527                ST retVal = this.getTypedField(12, 0);
528                return retVal;
529    }
530
531
532
533    /**
534     * Returns
535     * GT1-13: "Guarantor date - begin" - creates it if necessary
536     */
537    public DT getGuarantorDateBegin() { 
538                DT retVal = this.getTypedField(13, 0);
539                return retVal;
540    }
541    
542    /**
543     * Returns
544     * GT1-13: "Guarantor date - begin" - creates it if necessary
545     */
546    public DT getGt113_GuarantorDateBegin() { 
547                DT retVal = this.getTypedField(13, 0);
548                return retVal;
549    }
550
551
552
553    /**
554     * Returns
555     * GT1-14: "Guarantor date - end" - creates it if necessary
556     */
557    public DT getGuarantorDateEnd() { 
558                DT retVal = this.getTypedField(14, 0);
559                return retVal;
560    }
561    
562    /**
563     * Returns
564     * GT1-14: "Guarantor date - end" - creates it if necessary
565     */
566    public DT getGt114_GuarantorDateEnd() { 
567                DT retVal = this.getTypedField(14, 0);
568                return retVal;
569    }
570
571
572
573    /**
574     * Returns
575     * GT1-15: "Guarantor priority" - creates it if necessary
576     */
577    public NM getGuarantorPriority() { 
578                NM retVal = this.getTypedField(15, 0);
579                return retVal;
580    }
581    
582    /**
583     * Returns
584     * GT1-15: "Guarantor priority" - creates it if necessary
585     */
586    public NM getGt115_GuarantorPriority() { 
587                NM retVal = this.getTypedField(15, 0);
588                return retVal;
589    }
590
591
592
593    /**
594     * Returns
595     * GT1-16: "Guarantor employer name" - creates it if necessary
596     */
597    public ST getGuarantorEmployerName() { 
598                ST retVal = this.getTypedField(16, 0);
599                return retVal;
600    }
601    
602    /**
603     * Returns
604     * GT1-16: "Guarantor employer name" - creates it if necessary
605     */
606    public ST getGt116_GuarantorEmployerName() { 
607                ST retVal = this.getTypedField(16, 0);
608                return retVal;
609    }
610
611
612
613    /**
614     * Returns
615     * GT1-17: "Guarantor employer address" - creates it if necessary
616     */
617    public AD getGuarantorEmployerAddress() { 
618                AD retVal = this.getTypedField(17, 0);
619                return retVal;
620    }
621    
622    /**
623     * Returns
624     * GT1-17: "Guarantor employer address" - creates it if necessary
625     */
626    public AD getGt117_GuarantorEmployerAddress() { 
627                AD retVal = this.getTypedField(17, 0);
628                return retVal;
629    }
630
631
632    /**
633     * Returns all repetitions of Guarantor employ phone number (GT1-18).
634     */
635    public TN[] getGuarantorEmployPhoneNumber() {
636        TN[] retVal = this.getTypedField(18, new TN[0]);
637        return retVal;
638    }
639
640
641    /**
642     * Returns all repetitions of Guarantor employ phone number (GT1-18).
643     */
644    public TN[] getGt118_GuarantorEmployPhoneNumber() {
645        TN[] retVal = this.getTypedField(18, new TN[0]);
646        return retVal;
647    }
648
649
650    /**
651     * Returns a count of the current number of repetitions of Guarantor employ phone number (GT1-18).
652     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
653     * it will return zero.
654     */
655    public int getGuarantorEmployPhoneNumberReps() {
656        return this.getReps(18);
657    }
658
659
660    /**
661     * Returns a specific repetition of
662     * GT1-18: "Guarantor employ phone number" - creates it if necessary
663     *
664     * @param rep The repetition index (0-indexed)
665     */
666    public TN getGuarantorEmployPhoneNumber(int rep) { 
667                TN retVal = this.getTypedField(18, rep);
668                return retVal;
669    }
670
671    /**
672     * Returns a specific repetition of
673     * GT1-18: "Guarantor employ phone number" - creates it if necessary
674     *
675     * @param rep The repetition index (0-indexed)
676     */
677    public TN getGt118_GuarantorEmployPhoneNumber(int rep) { 
678                TN retVal = this.getTypedField(18, rep);
679                return retVal;
680    }
681
682    /**
683     * Returns a count of the current number of repetitions of Guarantor employ phone number (GT1-18).
684     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
685     * it will return zero.
686     */
687    public int getGt118_GuarantorEmployPhoneNumberReps() {
688        return this.getReps(18);
689    }
690
691
692    /**
693     * Inserts a repetition of
694     * GT1-18: "Guarantor employ phone number" at a specific index
695     *
696     * @param rep The repetition index (0-indexed)
697     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
698     */
699    public TN insertGuarantorEmployPhoneNumber(int rep) throws HL7Exception { 
700        return (TN) super.insertRepetition(18, rep);
701    }
702
703
704    /**
705     * Inserts a repetition of
706     * GT1-18: "Guarantor employ phone number" at a specific index
707     *
708     * @param rep The repetition index (0-indexed)
709     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
710     */
711    public TN insertGt118_GuarantorEmployPhoneNumber(int rep) throws HL7Exception { 
712        return (TN) super.insertRepetition(18, rep);
713    }
714
715
716    /**
717     * Removes a repetition of
718     * GT1-18: "Guarantor employ phone number" at a specific index
719     *
720     * @param rep The repetition index (0-indexed)
721     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
722     */
723    public TN removeGuarantorEmployPhoneNumber(int rep) throws HL7Exception { 
724        return (TN) super.removeRepetition(18, rep);
725    }
726
727
728    /**
729     * Removes a repetition of
730     * GT1-18: "Guarantor employ phone number" at a specific index
731     *
732     * @param rep The repetition index (0-indexed)
733     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
734     */
735    public TN removeGt118_GuarantorEmployPhoneNumber(int rep) throws HL7Exception { 
736        return (TN) super.removeRepetition(18, rep);
737    }
738
739
740
741
742    /**
743     * Returns
744     * GT1-19: "Guarantor employee ID number" - creates it if necessary
745     */
746    public ST getGuarantorEmployeeIDNumber() { 
747                ST retVal = this.getTypedField(19, 0);
748                return retVal;
749    }
750    
751    /**
752     * Returns
753     * GT1-19: "Guarantor employee ID number" - creates it if necessary
754     */
755    public ST getGt119_GuarantorEmployeeIDNumber() { 
756                ST retVal = this.getTypedField(19, 0);
757                return retVal;
758    }
759
760
761
762    /**
763     * Returns
764     * GT1-20: "Guarantor employment status" - creates it if necessary
765     */
766    public ID getGuarantorEmploymentStatus() { 
767                ID retVal = this.getTypedField(20, 0);
768                return retVal;
769    }
770    
771    /**
772     * Returns
773     * GT1-20: "Guarantor employment status" - creates it if necessary
774     */
775    public ID getGt120_GuarantorEmploymentStatus() { 
776                ID retVal = this.getTypedField(20, 0);
777                return retVal;
778    }
779
780
781
782    /**
783     * Returns
784     * GT1-21: "Guarantor organization" - creates it if necessary
785     */
786    public ST getGuarantorOrganization() { 
787                ST retVal = this.getTypedField(21, 0);
788                return retVal;
789    }
790    
791    /**
792     * Returns
793     * GT1-21: "Guarantor organization" - creates it if necessary
794     */
795    public ST getGt121_GuarantorOrganization() { 
796                ST retVal = this.getTypedField(21, 0);
797                return retVal;
798    }
799
800
801
802
803
804    /** {@inheritDoc} */   
805    protected Type createNewTypeWithoutReflection(int field) {
806       switch (field) {
807          case 0: return new SI(getMessage());
808          case 1: return new CK(getMessage());
809          case 2: return new PN(getMessage());
810          case 3: return new PN(getMessage());
811          case 4: return new AD(getMessage());
812          case 5: return new TN(getMessage());
813          case 6: return new TN(getMessage());
814          case 7: return new DT(getMessage());
815          case 8: return new ID(getMessage(), new Integer( 1 ));
816          case 9: return new ID(getMessage(), new Integer( 68 ));
817          case 10: return new ID(getMessage(), new Integer( 63 ));
818          case 11: return new ST(getMessage());
819          case 12: return new DT(getMessage());
820          case 13: return new DT(getMessage());
821          case 14: return new NM(getMessage());
822          case 15: return new ST(getMessage());
823          case 16: return new AD(getMessage());
824          case 17: return new TN(getMessage());
825          case 18: return new ST(getMessage());
826          case 19: return new ID(getMessage(), new Integer( 66 ));
827          case 20: return new ST(getMessage());
828          default: return null;
829       }
830   }
831
832
833}
834