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.v26.segment;
035
036// import ca.uhn.hl7v2.model.v26.group.*;
037import ca.uhn.hl7v2.model.v26.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 IVC message segment (Invoice Segment). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>IVC-1: Provider Invoice Number (EI) <b> </b>
052     * <li>IVC-2: Payer Invoice Number (EI) <b>optional </b>
053     * <li>IVC-3: Contract/Agreement Number (EI) <b>optional </b>
054     * <li>IVC-4: Invoice Control (IS) <b> </b>
055     * <li>IVC-5: Invoice Reason (IS) <b> </b>
056     * <li>IVC-6: Invoice Type (IS) <b> </b>
057     * <li>IVC-7: Invoice Date/Time (DTM) <b> </b>
058     * <li>IVC-8: Invoice Amount (CP) <b> </b>
059     * <li>IVC-9: Payment Terms (ST) <b>optional </b>
060     * <li>IVC-10: Provider Organization (XON) <b> </b>
061     * <li>IVC-11: Payer Organization (XON) <b> </b>
062     * <li>IVC-12: Attention (XCN) <b>optional </b>
063     * <li>IVC-13: Last Invoice Indicator (ID) <b>optional </b>
064     * <li>IVC-14: Invoice Booking Period (DTM) <b>optional </b>
065     * <li>IVC-15: Origin (ST) <b>optional </b>
066     * <li>IVC-16: Invoice Fixed Amount (CP) <b>optional </b>
067     * <li>IVC-17: Special Costs (CP) <b>optional </b>
068     * <li>IVC-18: Amount for Doctors Treatment (CP) <b>optional </b>
069     * <li>IVC-19: Responsible Physician (XCN) <b>optional </b>
070     * <li>IVC-20: Cost Center (CX) <b>optional </b>
071     * <li>IVC-21: Invoice Prepaid Amount (CP) <b>optional </b>
072     * <li>IVC-22: Total Invoice Amount without Prepaid Amount (CP) <b>optional </b>
073     * <li>IVC-23: Total-Amount of VAT (CP) <b>optional </b>
074     * <li>IVC-24: VAT-Rates applied (NM) <b>optional repeating</b>
075     * <li>IVC-25: Benefit Group (IS) <b> </b>
076     * <li>IVC-26: Provider Tax ID (ST) <b>optional </b>
077     * <li>IVC-27: Payer Tax ID (ST) <b>optional </b>
078     * <li>IVC-28: Provider Tax status (IS) <b>optional </b>
079     * <li>IVC-29: Payer Tax status (IS) <b>optional </b>
080     * <li>IVC-30: Sales Tax ID (ST) <b>optional </b>
081 * </ul>
082 */
083@SuppressWarnings("unused")
084public class IVC extends AbstractSegment {
085
086    /** 
087     * Creates a new IVC segment
088     */
089    public IVC(Group parent, ModelClassFactory factory) {
090       super(parent, factory);
091       init(factory);
092    }
093
094    private void init(ModelClassFactory factory) {
095       try {
096                                  this.add(EI.class, true, 1, 74, new Object[]{ getMessage() }, "Provider Invoice Number");
097                                  this.add(EI.class, false, 1, 74, new Object[]{ getMessage() }, "Payer Invoice Number");
098                                  this.add(EI.class, false, 1, 74, new Object[]{ getMessage() }, "Contract/Agreement Number");
099                                              this.add(IS.class, true, 1, 2, new Object[]{ getMessage(), new Integer(553) }, "Invoice Control");
100                                              this.add(IS.class, true, 1, 4, new Object[]{ getMessage(), new Integer(554) }, "Invoice Reason");
101                                              this.add(IS.class, true, 1, 2, new Object[]{ getMessage(), new Integer(555) }, "Invoice Type");
102                                  this.add(DTM.class, true, 1, 24, new Object[]{ getMessage() }, "Invoice Date/Time");
103                                  this.add(CP.class, true, 1, 254, new Object[]{ getMessage() }, "Invoice Amount");
104                                  this.add(ST.class, false, 1, 80, new Object[]{ getMessage() }, "Payment Terms");
105                                  this.add(XON.class, true, 1, 183, new Object[]{ getMessage() }, "Provider Organization");
106                                  this.add(XON.class, true, 1, 183, new Object[]{ getMessage() }, "Payer Organization");
107                                  this.add(XCN.class, false, 1, 637, new Object[]{ getMessage() }, "Attention");
108                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Last Invoice Indicator");
109                                  this.add(DTM.class, false, 1, 24, new Object[]{ getMessage() }, "Invoice Booking Period");
110                                  this.add(ST.class, false, 1, 250, new Object[]{ getMessage() }, "Origin");
111                                  this.add(CP.class, false, 1, 254, new Object[]{ getMessage() }, "Invoice Fixed Amount");
112                                  this.add(CP.class, false, 1, 254, new Object[]{ getMessage() }, "Special Costs");
113                                  this.add(CP.class, false, 1, 254, new Object[]{ getMessage() }, "Amount for Doctors Treatment");
114                                  this.add(XCN.class, false, 1, 250, new Object[]{ getMessage() }, "Responsible Physician");
115                                  this.add(CX.class, false, 1, 250, new Object[]{ getMessage() }, "Cost Center");
116                                  this.add(CP.class, false, 1, 254, new Object[]{ getMessage() }, "Invoice Prepaid Amount");
117                                  this.add(CP.class, false, 1, 254, new Object[]{ getMessage() }, "Total Invoice Amount without Prepaid Amount");
118                                  this.add(CP.class, false, 1, 254, new Object[]{ getMessage() }, "Total-Amount of VAT");
119                                  this.add(NM.class, false, 0, 1024, new Object[]{ getMessage() }, "VAT-Rates applied");
120                                              this.add(IS.class, true, 1, 4, new Object[]{ getMessage(), new Integer(556) }, "Benefit Group");
121                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Provider Tax ID");
122                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Payer Tax ID");
123                                              this.add(IS.class, false, 1, 4, new Object[]{ getMessage(), new Integer(572) }, "Provider Tax status");
124                                              this.add(IS.class, false, 1, 4, new Object[]{ getMessage(), new Integer(572) }, "Payer Tax status");
125                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Sales Tax ID");
126       } catch(HL7Exception e) {
127          log.error("Unexpected error creating IVC - this is probably a bug in the source code generator.", e);
128       }
129    }
130
131
132
133    /**
134     * Returns
135     * IVC-1: "Provider Invoice Number" - creates it if necessary
136     */
137    public EI getProviderInvoiceNumber() { 
138                EI retVal = this.getTypedField(1, 0);
139                return retVal;
140    }
141    
142    /**
143     * Returns
144     * IVC-1: "Provider Invoice Number" - creates it if necessary
145     */
146    public EI getIvc1_ProviderInvoiceNumber() { 
147                EI retVal = this.getTypedField(1, 0);
148                return retVal;
149    }
150
151
152
153    /**
154     * Returns
155     * IVC-2: "Payer Invoice Number" - creates it if necessary
156     */
157    public EI getPayerInvoiceNumber() { 
158                EI retVal = this.getTypedField(2, 0);
159                return retVal;
160    }
161    
162    /**
163     * Returns
164     * IVC-2: "Payer Invoice Number" - creates it if necessary
165     */
166    public EI getIvc2_PayerInvoiceNumber() { 
167                EI retVal = this.getTypedField(2, 0);
168                return retVal;
169    }
170
171
172
173    /**
174     * Returns
175     * IVC-3: "Contract/Agreement Number" - creates it if necessary
176     */
177    public EI getContractAgreementNumber() { 
178                EI retVal = this.getTypedField(3, 0);
179                return retVal;
180    }
181    
182    /**
183     * Returns
184     * IVC-3: "Contract/Agreement Number" - creates it if necessary
185     */
186    public EI getIvc3_ContractAgreementNumber() { 
187                EI retVal = this.getTypedField(3, 0);
188                return retVal;
189    }
190
191
192
193    /**
194     * Returns
195     * IVC-4: "Invoice Control" - creates it if necessary
196     */
197    public IS getInvoiceControl() { 
198                IS retVal = this.getTypedField(4, 0);
199                return retVal;
200    }
201    
202    /**
203     * Returns
204     * IVC-4: "Invoice Control" - creates it if necessary
205     */
206    public IS getIvc4_InvoiceControl() { 
207                IS retVal = this.getTypedField(4, 0);
208                return retVal;
209    }
210
211
212
213    /**
214     * Returns
215     * IVC-5: "Invoice Reason" - creates it if necessary
216     */
217    public IS getInvoiceReason() { 
218                IS retVal = this.getTypedField(5, 0);
219                return retVal;
220    }
221    
222    /**
223     * Returns
224     * IVC-5: "Invoice Reason" - creates it if necessary
225     */
226    public IS getIvc5_InvoiceReason() { 
227                IS retVal = this.getTypedField(5, 0);
228                return retVal;
229    }
230
231
232
233    /**
234     * Returns
235     * IVC-6: "Invoice Type" - creates it if necessary
236     */
237    public IS getInvoiceType() { 
238                IS retVal = this.getTypedField(6, 0);
239                return retVal;
240    }
241    
242    /**
243     * Returns
244     * IVC-6: "Invoice Type" - creates it if necessary
245     */
246    public IS getIvc6_InvoiceType() { 
247                IS retVal = this.getTypedField(6, 0);
248                return retVal;
249    }
250
251
252
253    /**
254     * Returns
255     * IVC-7: "Invoice Date/Time" - creates it if necessary
256     */
257    public DTM getInvoiceDateTime() { 
258                DTM retVal = this.getTypedField(7, 0);
259                return retVal;
260    }
261    
262    /**
263     * Returns
264     * IVC-7: "Invoice Date/Time" - creates it if necessary
265     */
266    public DTM getIvc7_InvoiceDateTime() { 
267                DTM retVal = this.getTypedField(7, 0);
268                return retVal;
269    }
270
271
272
273    /**
274     * Returns
275     * IVC-8: "Invoice Amount" - creates it if necessary
276     */
277    public CP getInvoiceAmount() { 
278                CP retVal = this.getTypedField(8, 0);
279                return retVal;
280    }
281    
282    /**
283     * Returns
284     * IVC-8: "Invoice Amount" - creates it if necessary
285     */
286    public CP getIvc8_InvoiceAmount() { 
287                CP retVal = this.getTypedField(8, 0);
288                return retVal;
289    }
290
291
292
293    /**
294     * Returns
295     * IVC-9: "Payment Terms" - creates it if necessary
296     */
297    public ST getPaymentTerms() { 
298                ST retVal = this.getTypedField(9, 0);
299                return retVal;
300    }
301    
302    /**
303     * Returns
304     * IVC-9: "Payment Terms" - creates it if necessary
305     */
306    public ST getIvc9_PaymentTerms() { 
307                ST retVal = this.getTypedField(9, 0);
308                return retVal;
309    }
310
311
312
313    /**
314     * Returns
315     * IVC-10: "Provider Organization" - creates it if necessary
316     */
317    public XON getProviderOrganization() { 
318                XON retVal = this.getTypedField(10, 0);
319                return retVal;
320    }
321    
322    /**
323     * Returns
324     * IVC-10: "Provider Organization" - creates it if necessary
325     */
326    public XON getIvc10_ProviderOrganization() { 
327                XON retVal = this.getTypedField(10, 0);
328                return retVal;
329    }
330
331
332
333    /**
334     * Returns
335     * IVC-11: "Payer Organization" - creates it if necessary
336     */
337    public XON getPayerOrganization() { 
338                XON retVal = this.getTypedField(11, 0);
339                return retVal;
340    }
341    
342    /**
343     * Returns
344     * IVC-11: "Payer Organization" - creates it if necessary
345     */
346    public XON getIvc11_PayerOrganization() { 
347                XON retVal = this.getTypedField(11, 0);
348                return retVal;
349    }
350
351
352
353    /**
354     * Returns
355     * IVC-12: "Attention" - creates it if necessary
356     */
357    public XCN getAttention() { 
358                XCN retVal = this.getTypedField(12, 0);
359                return retVal;
360    }
361    
362    /**
363     * Returns
364     * IVC-12: "Attention" - creates it if necessary
365     */
366    public XCN getIvc12_Attention() { 
367                XCN retVal = this.getTypedField(12, 0);
368                return retVal;
369    }
370
371
372
373    /**
374     * Returns
375     * IVC-13: "Last Invoice Indicator" - creates it if necessary
376     */
377    public ID getLastInvoiceIndicator() { 
378                ID retVal = this.getTypedField(13, 0);
379                return retVal;
380    }
381    
382    /**
383     * Returns
384     * IVC-13: "Last Invoice Indicator" - creates it if necessary
385     */
386    public ID getIvc13_LastInvoiceIndicator() { 
387                ID retVal = this.getTypedField(13, 0);
388                return retVal;
389    }
390
391
392
393    /**
394     * Returns
395     * IVC-14: "Invoice Booking Period" - creates it if necessary
396     */
397    public DTM getInvoiceBookingPeriod() { 
398                DTM retVal = this.getTypedField(14, 0);
399                return retVal;
400    }
401    
402    /**
403     * Returns
404     * IVC-14: "Invoice Booking Period" - creates it if necessary
405     */
406    public DTM getIvc14_InvoiceBookingPeriod() { 
407                DTM retVal = this.getTypedField(14, 0);
408                return retVal;
409    }
410
411
412
413    /**
414     * Returns
415     * IVC-15: "Origin" - creates it if necessary
416     */
417    public ST getOrigin() { 
418                ST retVal = this.getTypedField(15, 0);
419                return retVal;
420    }
421    
422    /**
423     * Returns
424     * IVC-15: "Origin" - creates it if necessary
425     */
426    public ST getIvc15_Origin() { 
427                ST retVal = this.getTypedField(15, 0);
428                return retVal;
429    }
430
431
432
433    /**
434     * Returns
435     * IVC-16: "Invoice Fixed Amount" - creates it if necessary
436     */
437    public CP getInvoiceFixedAmount() { 
438                CP retVal = this.getTypedField(16, 0);
439                return retVal;
440    }
441    
442    /**
443     * Returns
444     * IVC-16: "Invoice Fixed Amount" - creates it if necessary
445     */
446    public CP getIvc16_InvoiceFixedAmount() { 
447                CP retVal = this.getTypedField(16, 0);
448                return retVal;
449    }
450
451
452
453    /**
454     * Returns
455     * IVC-17: "Special Costs" - creates it if necessary
456     */
457    public CP getSpecialCosts() { 
458                CP retVal = this.getTypedField(17, 0);
459                return retVal;
460    }
461    
462    /**
463     * Returns
464     * IVC-17: "Special Costs" - creates it if necessary
465     */
466    public CP getIvc17_SpecialCosts() { 
467                CP retVal = this.getTypedField(17, 0);
468                return retVal;
469    }
470
471
472
473    /**
474     * Returns
475     * IVC-18: "Amount for Doctors Treatment" - creates it if necessary
476     */
477    public CP getAmountForDoctorsTreatment() { 
478                CP retVal = this.getTypedField(18, 0);
479                return retVal;
480    }
481    
482    /**
483     * Returns
484     * IVC-18: "Amount for Doctors Treatment" - creates it if necessary
485     */
486    public CP getIvc18_AmountForDoctorsTreatment() { 
487                CP retVal = this.getTypedField(18, 0);
488                return retVal;
489    }
490
491
492
493    /**
494     * Returns
495     * IVC-19: "Responsible Physician" - creates it if necessary
496     */
497    public XCN getResponsiblePhysician() { 
498                XCN retVal = this.getTypedField(19, 0);
499                return retVal;
500    }
501    
502    /**
503     * Returns
504     * IVC-19: "Responsible Physician" - creates it if necessary
505     */
506    public XCN getIvc19_ResponsiblePhysician() { 
507                XCN retVal = this.getTypedField(19, 0);
508                return retVal;
509    }
510
511
512
513    /**
514     * Returns
515     * IVC-20: "Cost Center" - creates it if necessary
516     */
517    public CX getCostCenter() { 
518                CX retVal = this.getTypedField(20, 0);
519                return retVal;
520    }
521    
522    /**
523     * Returns
524     * IVC-20: "Cost Center" - creates it if necessary
525     */
526    public CX getIvc20_CostCenter() { 
527                CX retVal = this.getTypedField(20, 0);
528                return retVal;
529    }
530
531
532
533    /**
534     * Returns
535     * IVC-21: "Invoice Prepaid Amount" - creates it if necessary
536     */
537    public CP getInvoicePrepaidAmount() { 
538                CP retVal = this.getTypedField(21, 0);
539                return retVal;
540    }
541    
542    /**
543     * Returns
544     * IVC-21: "Invoice Prepaid Amount" - creates it if necessary
545     */
546    public CP getIvc21_InvoicePrepaidAmount() { 
547                CP retVal = this.getTypedField(21, 0);
548                return retVal;
549    }
550
551
552
553    /**
554     * Returns
555     * IVC-22: "Total Invoice Amount without Prepaid Amount" - creates it if necessary
556     */
557    public CP getTotalInvoiceAmountWithoutPrepaidAmount() { 
558                CP retVal = this.getTypedField(22, 0);
559                return retVal;
560    }
561    
562    /**
563     * Returns
564     * IVC-22: "Total Invoice Amount without Prepaid Amount" - creates it if necessary
565     */
566    public CP getIvc22_TotalInvoiceAmountWithoutPrepaidAmount() { 
567                CP retVal = this.getTypedField(22, 0);
568                return retVal;
569    }
570
571
572
573    /**
574     * Returns
575     * IVC-23: "Total-Amount of VAT" - creates it if necessary
576     */
577    public CP getTotalAmountOfVAT() { 
578                CP retVal = this.getTypedField(23, 0);
579                return retVal;
580    }
581    
582    /**
583     * Returns
584     * IVC-23: "Total-Amount of VAT" - creates it if necessary
585     */
586    public CP getIvc23_TotalAmountOfVAT() { 
587                CP retVal = this.getTypedField(23, 0);
588                return retVal;
589    }
590
591
592    /**
593     * Returns all repetitions of VAT-Rates applied (IVC-24).
594     */
595    public NM[] getVATRatesApplied() {
596        NM[] retVal = this.getTypedField(24, new NM[0]);
597        return retVal;
598    }
599
600
601    /**
602     * Returns all repetitions of VAT-Rates applied (IVC-24).
603     */
604    public NM[] getIvc24_VATRatesApplied() {
605        NM[] retVal = this.getTypedField(24, new NM[0]);
606        return retVal;
607    }
608
609
610    /**
611     * Returns a count of the current number of repetitions of VAT-Rates applied (IVC-24).
612     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
613     * it will return zero.
614     */
615    public int getVATRatesAppliedReps() {
616        return this.getReps(24);
617    }
618
619
620    /**
621     * Returns a specific repetition of
622     * IVC-24: "VAT-Rates applied" - creates it if necessary
623     *
624     * @param rep The repetition index (0-indexed)
625     */
626    public NM getVATRatesApplied(int rep) { 
627                NM retVal = this.getTypedField(24, rep);
628                return retVal;
629    }
630
631    /**
632     * Returns a specific repetition of
633     * IVC-24: "VAT-Rates applied" - creates it if necessary
634     *
635     * @param rep The repetition index (0-indexed)
636     */
637    public NM getIvc24_VATRatesApplied(int rep) { 
638                NM retVal = this.getTypedField(24, rep);
639                return retVal;
640    }
641
642    /**
643     * Returns a count of the current number of repetitions of VAT-Rates applied (IVC-24).
644     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
645     * it will return zero.
646     */
647    public int getIvc24_VATRatesAppliedReps() {
648        return this.getReps(24);
649    }
650
651
652    /**
653     * Inserts a repetition of
654     * IVC-24: "VAT-Rates applied" at a specific index
655     *
656     * @param rep The repetition index (0-indexed)
657     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
658     */
659    public NM insertVATRatesApplied(int rep) throws HL7Exception { 
660        return (NM) super.insertRepetition(24, rep);
661    }
662
663
664    /**
665     * Inserts a repetition of
666     * IVC-24: "VAT-Rates applied" at a specific index
667     *
668     * @param rep The repetition index (0-indexed)
669     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
670     */
671    public NM insertIvc24_VATRatesApplied(int rep) throws HL7Exception { 
672        return (NM) super.insertRepetition(24, rep);
673    }
674
675
676    /**
677     * Removes a repetition of
678     * IVC-24: "VAT-Rates applied" at a specific index
679     *
680     * @param rep The repetition index (0-indexed)
681     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
682     */
683    public NM removeVATRatesApplied(int rep) throws HL7Exception { 
684        return (NM) super.removeRepetition(24, rep);
685    }
686
687
688    /**
689     * Removes a repetition of
690     * IVC-24: "VAT-Rates applied" at a specific index
691     *
692     * @param rep The repetition index (0-indexed)
693     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
694     */
695    public NM removeIvc24_VATRatesApplied(int rep) throws HL7Exception { 
696        return (NM) super.removeRepetition(24, rep);
697    }
698
699
700
701
702    /**
703     * Returns
704     * IVC-25: "Benefit Group" - creates it if necessary
705     */
706    public IS getBenefitGroup() { 
707                IS retVal = this.getTypedField(25, 0);
708                return retVal;
709    }
710    
711    /**
712     * Returns
713     * IVC-25: "Benefit Group" - creates it if necessary
714     */
715    public IS getIvc25_BenefitGroup() { 
716                IS retVal = this.getTypedField(25, 0);
717                return retVal;
718    }
719
720
721
722    /**
723     * Returns
724     * IVC-26: "Provider Tax ID" - creates it if necessary
725     */
726    public ST getProviderTaxID() { 
727                ST retVal = this.getTypedField(26, 0);
728                return retVal;
729    }
730    
731    /**
732     * Returns
733     * IVC-26: "Provider Tax ID" - creates it if necessary
734     */
735    public ST getIvc26_ProviderTaxID() { 
736                ST retVal = this.getTypedField(26, 0);
737                return retVal;
738    }
739
740
741
742    /**
743     * Returns
744     * IVC-27: "Payer Tax ID" - creates it if necessary
745     */
746    public ST getPayerTaxID() { 
747                ST retVal = this.getTypedField(27, 0);
748                return retVal;
749    }
750    
751    /**
752     * Returns
753     * IVC-27: "Payer Tax ID" - creates it if necessary
754     */
755    public ST getIvc27_PayerTaxID() { 
756                ST retVal = this.getTypedField(27, 0);
757                return retVal;
758    }
759
760
761
762    /**
763     * Returns
764     * IVC-28: "Provider Tax status" - creates it if necessary
765     */
766    public IS getProviderTaxStatus() { 
767                IS retVal = this.getTypedField(28, 0);
768                return retVal;
769    }
770    
771    /**
772     * Returns
773     * IVC-28: "Provider Tax status" - creates it if necessary
774     */
775    public IS getIvc28_ProviderTaxStatus() { 
776                IS retVal = this.getTypedField(28, 0);
777                return retVal;
778    }
779
780
781
782    /**
783     * Returns
784     * IVC-29: "Payer Tax status" - creates it if necessary
785     */
786    public IS getPayerTaxStatus() { 
787                IS retVal = this.getTypedField(29, 0);
788                return retVal;
789    }
790    
791    /**
792     * Returns
793     * IVC-29: "Payer Tax status" - creates it if necessary
794     */
795    public IS getIvc29_PayerTaxStatus() { 
796                IS retVal = this.getTypedField(29, 0);
797                return retVal;
798    }
799
800
801
802    /**
803     * Returns
804     * IVC-30: "Sales Tax ID" - creates it if necessary
805     */
806    public ST getSalesTaxID() { 
807                ST retVal = this.getTypedField(30, 0);
808                return retVal;
809    }
810    
811    /**
812     * Returns
813     * IVC-30: "Sales Tax ID" - creates it if necessary
814     */
815    public ST getIvc30_SalesTaxID() { 
816                ST retVal = this.getTypedField(30, 0);
817                return retVal;
818    }
819
820
821
822
823
824    /** {@inheritDoc} */   
825    protected Type createNewTypeWithoutReflection(int field) {
826       switch (field) {
827          case 0: return new EI(getMessage());
828          case 1: return new EI(getMessage());
829          case 2: return new EI(getMessage());
830          case 3: return new IS(getMessage(), new Integer( 553 ));
831          case 4: return new IS(getMessage(), new Integer( 554 ));
832          case 5: return new IS(getMessage(), new Integer( 555 ));
833          case 6: return new DTM(getMessage());
834          case 7: return new CP(getMessage());
835          case 8: return new ST(getMessage());
836          case 9: return new XON(getMessage());
837          case 10: return new XON(getMessage());
838          case 11: return new XCN(getMessage());
839          case 12: return new ID(getMessage(), new Integer( 136 ));
840          case 13: return new DTM(getMessage());
841          case 14: return new ST(getMessage());
842          case 15: return new CP(getMessage());
843          case 16: return new CP(getMessage());
844          case 17: return new CP(getMessage());
845          case 18: return new XCN(getMessage());
846          case 19: return new CX(getMessage());
847          case 20: return new CP(getMessage());
848          case 21: return new CP(getMessage());
849          case 22: return new CP(getMessage());
850          case 23: return new NM(getMessage());
851          case 24: return new IS(getMessage(), new Integer( 556 ));
852          case 25: return new ST(getMessage());
853          case 26: return new ST(getMessage());
854          case 27: return new IS(getMessage(), new Integer( 572 ));
855          case 28: return new IS(getMessage(), new Integer( 572 ));
856          case 29: return new ST(getMessage());
857          default: return null;
858       }
859   }
860
861
862}
863