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