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.v28.segment;
035
036// import ca.uhn.hl7v2.model.v28.group.*;
037import ca.uhn.hl7v2.model.v28.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 ITM message segment (Material Item). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>ITM-1: Item Identifier (EI) <b> </b>
053     * <li>ITM-2: Item Description (ST) <b>optional </b>
054     * <li>ITM-3: Item Status (CWE) <b>optional </b>
055     * <li>ITM-4: Item Type (CWE) <b>optional </b>
056     * <li>ITM-5: Item Category (CWE) <b>optional </b>
057     * <li>ITM-6: Subject to Expiration Indicator (CNE) <b>optional </b>
058     * <li>ITM-7: Manufacturer Identifier (EI) <b>optional </b>
059     * <li>ITM-8: Manufacturer Name (ST) <b>optional </b>
060     * <li>ITM-9: Manufacturer Catalog Number (ST) <b>optional </b>
061     * <li>ITM-10: Manufacturer Labeler Identification Code (CWE) <b>optional </b>
062     * <li>ITM-11: Patient Chargeable Indicator (CNE) <b>optional </b>
063     * <li>ITM-12: Transaction Code (CWE) <b>optional </b>
064     * <li>ITM-13: Transaction amount - unit (CP) <b>optional </b>
065     * <li>ITM-14: Stocked Item Indicator (CNE) <b>optional </b>
066     * <li>ITM-15: Supply Risk Codes (CWE) <b>optional </b>
067     * <li>ITM-16: Approving Regulatory Agency (XON) <b>optional repeating</b>
068     * <li>ITM-17: Latex Indicator (CNE) <b>optional </b>
069     * <li>ITM-18: Ruling Act (CWE) <b>optional repeating</b>
070     * <li>ITM-19: Item Natural Account Code (CWE) <b>optional </b>
071     * <li>ITM-20: Approved To Buy Quantity (NM) <b>optional </b>
072     * <li>ITM-21: Approved To Buy Price (MO) <b>optional </b>
073     * <li>ITM-22: Taxable Item Indicator (CNE) <b>optional </b>
074     * <li>ITM-23: Freight Charge Indicator (CNE) <b>optional </b>
075     * <li>ITM-24: Item Set Indicator (CNE) <b>optional </b>
076     * <li>ITM-25: Item Set Identifier (EI) <b>optional </b>
077     * <li>ITM-26: Track Department Usage Indicator (CNE) <b>optional </b>
078     * <li>ITM-27: Procedure Code (CNE) <b>optional </b>
079     * <li>ITM-28: Procedure Code Modifier (CNE) <b>optional repeating</b>
080     * <li>ITM-29: Special Handling Code (CWE) <b>optional </b>
081     * <li>ITM-30: Hazardous Indicator (CNE) <b>optional </b>
082     * <li>ITM-31: Sterile Indicator (CNE) <b>optional </b>
083     * <li>ITM-32: Material Data Safety Sheet Number (EI) <b>optional </b>
084     * <li>ITM-33: United Nations Standard Products and Services Code (UNSPSC) (CWE) <b>optional </b>
085 * </ul>
086 */
087@SuppressWarnings("unused")
088public class ITM extends AbstractSegment {
089
090    /** 
091     * Creates a new ITM segment
092     */
093    public ITM(Group parent, ModelClassFactory factory) {
094       super(parent, factory);
095       init(factory);
096    }
097
098    private void init(ModelClassFactory factory) {
099       try {
100                                  this.add(EI.class, true, 1, 0, new Object[]{ getMessage() }, "Item Identifier");
101                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Item Description");
102                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Item Status");
103                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Item Type");
104                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Item Category");
105                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Subject to Expiration Indicator");
106                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Manufacturer Identifier");
107                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Manufacturer Name");
108                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Manufacturer Catalog Number");
109                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Manufacturer Labeler Identification Code");
110                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Patient Chargeable Indicator");
111                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Transaction Code");
112                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Transaction amount - unit");
113                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Stocked Item Indicator");
114                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Supply Risk Codes");
115                                  this.add(XON.class, false, 0, 0, new Object[]{ getMessage() }, "Approving Regulatory Agency");
116                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Latex Indicator");
117                                  this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Ruling Act");
118                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Item Natural Account Code");
119                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Approved To Buy Quantity");
120                                  this.add(MO.class, false, 1, 0, new Object[]{ getMessage() }, "Approved To Buy Price");
121                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Taxable Item Indicator");
122                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Freight Charge Indicator");
123                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Item Set Indicator");
124                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Item Set Identifier");
125                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Track Department Usage Indicator");
126                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Procedure Code");
127                                  this.add(CNE.class, false, 0, 0, new Object[]{ getMessage() }, "Procedure Code Modifier");
128                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Special Handling Code");
129                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Hazardous Indicator");
130                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Sterile Indicator");
131                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Material Data Safety Sheet Number");
132                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "United Nations Standard Products and Services Code (UNSPSC)");
133       } catch(HL7Exception e) {
134          log.error("Unexpected error creating ITM - this is probably a bug in the source code generator.", e);
135       }
136    }
137
138
139
140    /**
141     * Returns
142     * ITM-1: "Item Identifier" - creates it if necessary
143     */
144    public EI getItemIdentifier() { 
145                EI retVal = this.getTypedField(1, 0);
146                return retVal;
147    }
148    
149    /**
150     * Returns
151     * ITM-1: "Item Identifier" - creates it if necessary
152     */
153    public EI getItm1_ItemIdentifier() { 
154                EI retVal = this.getTypedField(1, 0);
155                return retVal;
156    }
157
158
159
160    /**
161     * Returns
162     * ITM-2: "Item Description" - creates it if necessary
163     */
164    public ST getItemDescription() { 
165                ST retVal = this.getTypedField(2, 0);
166                return retVal;
167    }
168    
169    /**
170     * Returns
171     * ITM-2: "Item Description" - creates it if necessary
172     */
173    public ST getItm2_ItemDescription() { 
174                ST retVal = this.getTypedField(2, 0);
175                return retVal;
176    }
177
178
179
180    /**
181     * Returns
182     * ITM-3: "Item Status" - creates it if necessary
183     */
184    public CWE getItemStatus() { 
185                CWE retVal = this.getTypedField(3, 0);
186                return retVal;
187    }
188    
189    /**
190     * Returns
191     * ITM-3: "Item Status" - creates it if necessary
192     */
193    public CWE getItm3_ItemStatus() { 
194                CWE retVal = this.getTypedField(3, 0);
195                return retVal;
196    }
197
198
199
200    /**
201     * Returns
202     * ITM-4: "Item Type" - creates it if necessary
203     */
204    public CWE getItemType() { 
205                CWE retVal = this.getTypedField(4, 0);
206                return retVal;
207    }
208    
209    /**
210     * Returns
211     * ITM-4: "Item Type" - creates it if necessary
212     */
213    public CWE getItm4_ItemType() { 
214                CWE retVal = this.getTypedField(4, 0);
215                return retVal;
216    }
217
218
219
220    /**
221     * Returns
222     * ITM-5: "Item Category" - creates it if necessary
223     */
224    public CWE getItemCategory() { 
225                CWE retVal = this.getTypedField(5, 0);
226                return retVal;
227    }
228    
229    /**
230     * Returns
231     * ITM-5: "Item Category" - creates it if necessary
232     */
233    public CWE getItm5_ItemCategory() { 
234                CWE retVal = this.getTypedField(5, 0);
235                return retVal;
236    }
237
238
239
240    /**
241     * Returns
242     * ITM-6: "Subject to Expiration Indicator" - creates it if necessary
243     */
244    public CNE getSubjectToExpirationIndicator() { 
245                CNE retVal = this.getTypedField(6, 0);
246                return retVal;
247    }
248    
249    /**
250     * Returns
251     * ITM-6: "Subject to Expiration Indicator" - creates it if necessary
252     */
253    public CNE getItm6_SubjectToExpirationIndicator() { 
254                CNE retVal = this.getTypedField(6, 0);
255                return retVal;
256    }
257
258
259
260    /**
261     * Returns
262     * ITM-7: "Manufacturer Identifier" - creates it if necessary
263     */
264    public EI getManufacturerIdentifier() { 
265                EI retVal = this.getTypedField(7, 0);
266                return retVal;
267    }
268    
269    /**
270     * Returns
271     * ITM-7: "Manufacturer Identifier" - creates it if necessary
272     */
273    public EI getItm7_ManufacturerIdentifier() { 
274                EI retVal = this.getTypedField(7, 0);
275                return retVal;
276    }
277
278
279
280    /**
281     * Returns
282     * ITM-8: "Manufacturer Name" - creates it if necessary
283     */
284    public ST getManufacturerName() { 
285                ST retVal = this.getTypedField(8, 0);
286                return retVal;
287    }
288    
289    /**
290     * Returns
291     * ITM-8: "Manufacturer Name" - creates it if necessary
292     */
293    public ST getItm8_ManufacturerName() { 
294                ST retVal = this.getTypedField(8, 0);
295                return retVal;
296    }
297
298
299
300    /**
301     * Returns
302     * ITM-9: "Manufacturer Catalog Number" - creates it if necessary
303     */
304    public ST getManufacturerCatalogNumber() { 
305                ST retVal = this.getTypedField(9, 0);
306                return retVal;
307    }
308    
309    /**
310     * Returns
311     * ITM-9: "Manufacturer Catalog Number" - creates it if necessary
312     */
313    public ST getItm9_ManufacturerCatalogNumber() { 
314                ST retVal = this.getTypedField(9, 0);
315                return retVal;
316    }
317
318
319
320    /**
321     * Returns
322     * ITM-10: "Manufacturer Labeler Identification Code" - creates it if necessary
323     */
324    public CWE getManufacturerLabelerIdentificationCode() { 
325                CWE retVal = this.getTypedField(10, 0);
326                return retVal;
327    }
328    
329    /**
330     * Returns
331     * ITM-10: "Manufacturer Labeler Identification Code" - creates it if necessary
332     */
333    public CWE getItm10_ManufacturerLabelerIdentificationCode() { 
334                CWE retVal = this.getTypedField(10, 0);
335                return retVal;
336    }
337
338
339
340    /**
341     * Returns
342     * ITM-11: "Patient Chargeable Indicator" - creates it if necessary
343     */
344    public CNE getPatientChargeableIndicator() { 
345                CNE retVal = this.getTypedField(11, 0);
346                return retVal;
347    }
348    
349    /**
350     * Returns
351     * ITM-11: "Patient Chargeable Indicator" - creates it if necessary
352     */
353    public CNE getItm11_PatientChargeableIndicator() { 
354                CNE retVal = this.getTypedField(11, 0);
355                return retVal;
356    }
357
358
359
360    /**
361     * Returns
362     * ITM-12: "Transaction Code" - creates it if necessary
363     */
364    public CWE getTransactionCode() { 
365                CWE retVal = this.getTypedField(12, 0);
366                return retVal;
367    }
368    
369    /**
370     * Returns
371     * ITM-12: "Transaction Code" - creates it if necessary
372     */
373    public CWE getItm12_TransactionCode() { 
374                CWE retVal = this.getTypedField(12, 0);
375                return retVal;
376    }
377
378
379
380    /**
381     * Returns
382     * ITM-13: "Transaction amount - unit" - creates it if necessary
383     */
384    public CP getTransactionAmountUnit() { 
385                CP retVal = this.getTypedField(13, 0);
386                return retVal;
387    }
388    
389    /**
390     * Returns
391     * ITM-13: "Transaction amount - unit" - creates it if necessary
392     */
393    public CP getItm13_TransactionAmountUnit() { 
394                CP retVal = this.getTypedField(13, 0);
395                return retVal;
396    }
397
398
399
400    /**
401     * Returns
402     * ITM-14: "Stocked Item Indicator" - creates it if necessary
403     */
404    public CNE getStockedItemIndicator() { 
405                CNE retVal = this.getTypedField(14, 0);
406                return retVal;
407    }
408    
409    /**
410     * Returns
411     * ITM-14: "Stocked Item Indicator" - creates it if necessary
412     */
413    public CNE getItm14_StockedItemIndicator() { 
414                CNE retVal = this.getTypedField(14, 0);
415                return retVal;
416    }
417
418
419
420    /**
421     * Returns
422     * ITM-15: "Supply Risk Codes" - creates it if necessary
423     */
424    public CWE getSupplyRiskCodes() { 
425                CWE retVal = this.getTypedField(15, 0);
426                return retVal;
427    }
428    
429    /**
430     * Returns
431     * ITM-15: "Supply Risk Codes" - creates it if necessary
432     */
433    public CWE getItm15_SupplyRiskCodes() { 
434                CWE retVal = this.getTypedField(15, 0);
435                return retVal;
436    }
437
438
439    /**
440     * Returns all repetitions of Approving Regulatory Agency (ITM-16).
441     */
442    public XON[] getApprovingRegulatoryAgency() {
443        XON[] retVal = this.getTypedField(16, new XON[0]);
444        return retVal;
445    }
446
447
448    /**
449     * Returns all repetitions of Approving Regulatory Agency (ITM-16).
450     */
451    public XON[] getItm16_ApprovingRegulatoryAgency() {
452        XON[] retVal = this.getTypedField(16, new XON[0]);
453        return retVal;
454    }
455
456
457    /**
458     * Returns a count of the current number of repetitions of Approving Regulatory Agency (ITM-16).
459     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
460     * it will return zero.
461     */
462    public int getApprovingRegulatoryAgencyReps() {
463        return this.getReps(16);
464    }
465
466
467    /**
468     * Returns a specific repetition of
469     * ITM-16: "Approving Regulatory Agency" - creates it if necessary
470     *
471     * @param rep The repetition index (0-indexed)
472     */
473    public XON getApprovingRegulatoryAgency(int rep) { 
474                XON retVal = this.getTypedField(16, rep);
475                return retVal;
476    }
477
478    /**
479     * Returns a specific repetition of
480     * ITM-16: "Approving Regulatory Agency" - creates it if necessary
481     *
482     * @param rep The repetition index (0-indexed)
483     */
484    public XON getItm16_ApprovingRegulatoryAgency(int rep) { 
485                XON retVal = this.getTypedField(16, rep);
486                return retVal;
487    }
488
489    /**
490     * Returns a count of the current number of repetitions of Approving Regulatory Agency (ITM-16).
491     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
492     * it will return zero.
493     */
494    public int getItm16_ApprovingRegulatoryAgencyReps() {
495        return this.getReps(16);
496    }
497
498
499    /**
500     * Inserts a repetition of
501     * ITM-16: "Approving Regulatory Agency" at a specific index
502     *
503     * @param rep The repetition index (0-indexed)
504     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
505     */
506    public XON insertApprovingRegulatoryAgency(int rep) throws HL7Exception { 
507        return (XON) super.insertRepetition(16, rep);
508    }
509
510
511    /**
512     * Inserts a repetition of
513     * ITM-16: "Approving Regulatory Agency" at a specific index
514     *
515     * @param rep The repetition index (0-indexed)
516     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
517     */
518    public XON insertItm16_ApprovingRegulatoryAgency(int rep) throws HL7Exception { 
519        return (XON) super.insertRepetition(16, rep);
520    }
521
522
523    /**
524     * Removes a repetition of
525     * ITM-16: "Approving Regulatory Agency" at a specific index
526     *
527     * @param rep The repetition index (0-indexed)
528     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
529     */
530    public XON removeApprovingRegulatoryAgency(int rep) throws HL7Exception { 
531        return (XON) super.removeRepetition(16, rep);
532    }
533
534
535    /**
536     * Removes a repetition of
537     * ITM-16: "Approving Regulatory Agency" at a specific index
538     *
539     * @param rep The repetition index (0-indexed)
540     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
541     */
542    public XON removeItm16_ApprovingRegulatoryAgency(int rep) throws HL7Exception { 
543        return (XON) super.removeRepetition(16, rep);
544    }
545
546
547
548
549    /**
550     * Returns
551     * ITM-17: "Latex Indicator" - creates it if necessary
552     */
553    public CNE getLatexIndicator() { 
554                CNE retVal = this.getTypedField(17, 0);
555                return retVal;
556    }
557    
558    /**
559     * Returns
560     * ITM-17: "Latex Indicator" - creates it if necessary
561     */
562    public CNE getItm17_LatexIndicator() { 
563                CNE retVal = this.getTypedField(17, 0);
564                return retVal;
565    }
566
567
568    /**
569     * Returns all repetitions of Ruling Act (ITM-18).
570     */
571    public CWE[] getRulingAct() {
572        CWE[] retVal = this.getTypedField(18, new CWE[0]);
573        return retVal;
574    }
575
576
577    /**
578     * Returns all repetitions of Ruling Act (ITM-18).
579     */
580    public CWE[] getItm18_RulingAct() {
581        CWE[] retVal = this.getTypedField(18, new CWE[0]);
582        return retVal;
583    }
584
585
586    /**
587     * Returns a count of the current number of repetitions of Ruling Act (ITM-18).
588     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
589     * it will return zero.
590     */
591    public int getRulingActReps() {
592        return this.getReps(18);
593    }
594
595
596    /**
597     * Returns a specific repetition of
598     * ITM-18: "Ruling Act" - creates it if necessary
599     *
600     * @param rep The repetition index (0-indexed)
601     */
602    public CWE getRulingAct(int rep) { 
603                CWE retVal = this.getTypedField(18, rep);
604                return retVal;
605    }
606
607    /**
608     * Returns a specific repetition of
609     * ITM-18: "Ruling Act" - creates it if necessary
610     *
611     * @param rep The repetition index (0-indexed)
612     */
613    public CWE getItm18_RulingAct(int rep) { 
614                CWE retVal = this.getTypedField(18, rep);
615                return retVal;
616    }
617
618    /**
619     * Returns a count of the current number of repetitions of Ruling Act (ITM-18).
620     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
621     * it will return zero.
622     */
623    public int getItm18_RulingActReps() {
624        return this.getReps(18);
625    }
626
627
628    /**
629     * Inserts a repetition of
630     * ITM-18: "Ruling Act" at a specific index
631     *
632     * @param rep The repetition index (0-indexed)
633     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
634     */
635    public CWE insertRulingAct(int rep) throws HL7Exception { 
636        return (CWE) super.insertRepetition(18, rep);
637    }
638
639
640    /**
641     * Inserts a repetition of
642     * ITM-18: "Ruling Act" at a specific index
643     *
644     * @param rep The repetition index (0-indexed)
645     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
646     */
647    public CWE insertItm18_RulingAct(int rep) throws HL7Exception { 
648        return (CWE) super.insertRepetition(18, rep);
649    }
650
651
652    /**
653     * Removes a repetition of
654     * ITM-18: "Ruling Act" 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 CWE removeRulingAct(int rep) throws HL7Exception { 
660        return (CWE) super.removeRepetition(18, rep);
661    }
662
663
664    /**
665     * Removes a repetition of
666     * ITM-18: "Ruling Act" 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 CWE removeItm18_RulingAct(int rep) throws HL7Exception { 
672        return (CWE) super.removeRepetition(18, rep);
673    }
674
675
676
677
678    /**
679     * Returns
680     * ITM-19: "Item Natural Account Code" - creates it if necessary
681     */
682    public CWE getItemNaturalAccountCode() { 
683                CWE retVal = this.getTypedField(19, 0);
684                return retVal;
685    }
686    
687    /**
688     * Returns
689     * ITM-19: "Item Natural Account Code" - creates it if necessary
690     */
691    public CWE getItm19_ItemNaturalAccountCode() { 
692                CWE retVal = this.getTypedField(19, 0);
693                return retVal;
694    }
695
696
697
698    /**
699     * Returns
700     * ITM-20: "Approved To Buy Quantity" - creates it if necessary
701     */
702    public NM getApprovedToBuyQuantity() { 
703                NM retVal = this.getTypedField(20, 0);
704                return retVal;
705    }
706    
707    /**
708     * Returns
709     * ITM-20: "Approved To Buy Quantity" - creates it if necessary
710     */
711    public NM getItm20_ApprovedToBuyQuantity() { 
712                NM retVal = this.getTypedField(20, 0);
713                return retVal;
714    }
715
716
717
718    /**
719     * Returns
720     * ITM-21: "Approved To Buy Price" - creates it if necessary
721     */
722    public MO getApprovedToBuyPrice() { 
723                MO retVal = this.getTypedField(21, 0);
724                return retVal;
725    }
726    
727    /**
728     * Returns
729     * ITM-21: "Approved To Buy Price" - creates it if necessary
730     */
731    public MO getItm21_ApprovedToBuyPrice() { 
732                MO retVal = this.getTypedField(21, 0);
733                return retVal;
734    }
735
736
737
738    /**
739     * Returns
740     * ITM-22: "Taxable Item Indicator" - creates it if necessary
741     */
742    public CNE getTaxableItemIndicator() { 
743                CNE retVal = this.getTypedField(22, 0);
744                return retVal;
745    }
746    
747    /**
748     * Returns
749     * ITM-22: "Taxable Item Indicator" - creates it if necessary
750     */
751    public CNE getItm22_TaxableItemIndicator() { 
752                CNE retVal = this.getTypedField(22, 0);
753                return retVal;
754    }
755
756
757
758    /**
759     * Returns
760     * ITM-23: "Freight Charge Indicator" - creates it if necessary
761     */
762    public CNE getFreightChargeIndicator() { 
763                CNE retVal = this.getTypedField(23, 0);
764                return retVal;
765    }
766    
767    /**
768     * Returns
769     * ITM-23: "Freight Charge Indicator" - creates it if necessary
770     */
771    public CNE getItm23_FreightChargeIndicator() { 
772                CNE retVal = this.getTypedField(23, 0);
773                return retVal;
774    }
775
776
777
778    /**
779     * Returns
780     * ITM-24: "Item Set Indicator" - creates it if necessary
781     */
782    public CNE getItemSetIndicator() { 
783                CNE retVal = this.getTypedField(24, 0);
784                return retVal;
785    }
786    
787    /**
788     * Returns
789     * ITM-24: "Item Set Indicator" - creates it if necessary
790     */
791    public CNE getItm24_ItemSetIndicator() { 
792                CNE retVal = this.getTypedField(24, 0);
793                return retVal;
794    }
795
796
797
798    /**
799     * Returns
800     * ITM-25: "Item Set Identifier" - creates it if necessary
801     */
802    public EI getItemSetIdentifier() { 
803                EI retVal = this.getTypedField(25, 0);
804                return retVal;
805    }
806    
807    /**
808     * Returns
809     * ITM-25: "Item Set Identifier" - creates it if necessary
810     */
811    public EI getItm25_ItemSetIdentifier() { 
812                EI retVal = this.getTypedField(25, 0);
813                return retVal;
814    }
815
816
817
818    /**
819     * Returns
820     * ITM-26: "Track Department Usage Indicator" - creates it if necessary
821     */
822    public CNE getTrackDepartmentUsageIndicator() { 
823                CNE retVal = this.getTypedField(26, 0);
824                return retVal;
825    }
826    
827    /**
828     * Returns
829     * ITM-26: "Track Department Usage Indicator" - creates it if necessary
830     */
831    public CNE getItm26_TrackDepartmentUsageIndicator() { 
832                CNE retVal = this.getTypedField(26, 0);
833                return retVal;
834    }
835
836
837
838    /**
839     * Returns
840     * ITM-27: "Procedure Code" - creates it if necessary
841     */
842    public CNE getProcedureCode() { 
843                CNE retVal = this.getTypedField(27, 0);
844                return retVal;
845    }
846    
847    /**
848     * Returns
849     * ITM-27: "Procedure Code" - creates it if necessary
850     */
851    public CNE getItm27_ProcedureCode() { 
852                CNE retVal = this.getTypedField(27, 0);
853                return retVal;
854    }
855
856
857    /**
858     * Returns all repetitions of Procedure Code Modifier (ITM-28).
859     */
860    public CNE[] getProcedureCodeModifier() {
861        CNE[] retVal = this.getTypedField(28, new CNE[0]);
862        return retVal;
863    }
864
865
866    /**
867     * Returns all repetitions of Procedure Code Modifier (ITM-28).
868     */
869    public CNE[] getItm28_ProcedureCodeModifier() {
870        CNE[] retVal = this.getTypedField(28, new CNE[0]);
871        return retVal;
872    }
873
874
875    /**
876     * Returns a count of the current number of repetitions of Procedure Code Modifier (ITM-28).
877     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
878     * it will return zero.
879     */
880    public int getProcedureCodeModifierReps() {
881        return this.getReps(28);
882    }
883
884
885    /**
886     * Returns a specific repetition of
887     * ITM-28: "Procedure Code Modifier" - creates it if necessary
888     *
889     * @param rep The repetition index (0-indexed)
890     */
891    public CNE getProcedureCodeModifier(int rep) { 
892                CNE retVal = this.getTypedField(28, rep);
893                return retVal;
894    }
895
896    /**
897     * Returns a specific repetition of
898     * ITM-28: "Procedure Code Modifier" - creates it if necessary
899     *
900     * @param rep The repetition index (0-indexed)
901     */
902    public CNE getItm28_ProcedureCodeModifier(int rep) { 
903                CNE retVal = this.getTypedField(28, rep);
904                return retVal;
905    }
906
907    /**
908     * Returns a count of the current number of repetitions of Procedure Code Modifier (ITM-28).
909     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
910     * it will return zero.
911     */
912    public int getItm28_ProcedureCodeModifierReps() {
913        return this.getReps(28);
914    }
915
916
917    /**
918     * Inserts a repetition of
919     * ITM-28: "Procedure Code Modifier" at a specific index
920     *
921     * @param rep The repetition index (0-indexed)
922     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
923     */
924    public CNE insertProcedureCodeModifier(int rep) throws HL7Exception { 
925        return (CNE) super.insertRepetition(28, rep);
926    }
927
928
929    /**
930     * Inserts a repetition of
931     * ITM-28: "Procedure Code Modifier" at a specific index
932     *
933     * @param rep The repetition index (0-indexed)
934     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
935     */
936    public CNE insertItm28_ProcedureCodeModifier(int rep) throws HL7Exception { 
937        return (CNE) super.insertRepetition(28, rep);
938    }
939
940
941    /**
942     * Removes a repetition of
943     * ITM-28: "Procedure Code Modifier" at a specific index
944     *
945     * @param rep The repetition index (0-indexed)
946     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
947     */
948    public CNE removeProcedureCodeModifier(int rep) throws HL7Exception { 
949        return (CNE) super.removeRepetition(28, rep);
950    }
951
952
953    /**
954     * Removes a repetition of
955     * ITM-28: "Procedure Code Modifier" at a specific index
956     *
957     * @param rep The repetition index (0-indexed)
958     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
959     */
960    public CNE removeItm28_ProcedureCodeModifier(int rep) throws HL7Exception { 
961        return (CNE) super.removeRepetition(28, rep);
962    }
963
964
965
966
967    /**
968     * Returns
969     * ITM-29: "Special Handling Code" - creates it if necessary
970     */
971    public CWE getSpecialHandlingCode() { 
972                CWE retVal = this.getTypedField(29, 0);
973                return retVal;
974    }
975    
976    /**
977     * Returns
978     * ITM-29: "Special Handling Code" - creates it if necessary
979     */
980    public CWE getItm29_SpecialHandlingCode() { 
981                CWE retVal = this.getTypedField(29, 0);
982                return retVal;
983    }
984
985
986
987    /**
988     * Returns
989     * ITM-30: "Hazardous Indicator" - creates it if necessary
990     */
991    public CNE getHazardousIndicator() { 
992                CNE retVal = this.getTypedField(30, 0);
993                return retVal;
994    }
995    
996    /**
997     * Returns
998     * ITM-30: "Hazardous Indicator" - creates it if necessary
999     */
1000    public CNE getItm30_HazardousIndicator() { 
1001                CNE retVal = this.getTypedField(30, 0);
1002                return retVal;
1003    }
1004
1005
1006
1007    /**
1008     * Returns
1009     * ITM-31: "Sterile Indicator" - creates it if necessary
1010     */
1011    public CNE getSterileIndicator() { 
1012                CNE retVal = this.getTypedField(31, 0);
1013                return retVal;
1014    }
1015    
1016    /**
1017     * Returns
1018     * ITM-31: "Sterile Indicator" - creates it if necessary
1019     */
1020    public CNE getItm31_SterileIndicator() { 
1021                CNE retVal = this.getTypedField(31, 0);
1022                return retVal;
1023    }
1024
1025
1026
1027    /**
1028     * Returns
1029     * ITM-32: "Material Data Safety Sheet Number" - creates it if necessary
1030     */
1031    public EI getMaterialDataSafetySheetNumber() { 
1032                EI retVal = this.getTypedField(32, 0);
1033                return retVal;
1034    }
1035    
1036    /**
1037     * Returns
1038     * ITM-32: "Material Data Safety Sheet Number" - creates it if necessary
1039     */
1040    public EI getItm32_MaterialDataSafetySheetNumber() { 
1041                EI retVal = this.getTypedField(32, 0);
1042                return retVal;
1043    }
1044
1045
1046
1047    /**
1048     * Returns
1049     * ITM-33: "United Nations Standard Products and Services Code (UNSPSC)" - creates it if necessary
1050     */
1051    public CWE getUnitedNationsStandardProductsAndServicesCodeUNSPSC() { 
1052                CWE retVal = this.getTypedField(33, 0);
1053                return retVal;
1054    }
1055    
1056    /**
1057     * Returns
1058     * ITM-33: "United Nations Standard Products and Services Code (UNSPSC)" - creates it if necessary
1059     */
1060    public CWE getItm33_UnitedNationsStandardProductsAndServicesCodeUNSPSC() { 
1061                CWE retVal = this.getTypedField(33, 0);
1062                return retVal;
1063    }
1064
1065
1066
1067
1068
1069    /** {@inheritDoc} */   
1070    protected Type createNewTypeWithoutReflection(int field) {
1071       switch (field) {
1072          case 0: return new EI(getMessage());
1073          case 1: return new ST(getMessage());
1074          case 2: return new CWE(getMessage());
1075          case 3: return new CWE(getMessage());
1076          case 4: return new CWE(getMessage());
1077          case 5: return new CNE(getMessage());
1078          case 6: return new EI(getMessage());
1079          case 7: return new ST(getMessage());
1080          case 8: return new ST(getMessage());
1081          case 9: return new CWE(getMessage());
1082          case 10: return new CNE(getMessage());
1083          case 11: return new CWE(getMessage());
1084          case 12: return new CP(getMessage());
1085          case 13: return new CNE(getMessage());
1086          case 14: return new CWE(getMessage());
1087          case 15: return new XON(getMessage());
1088          case 16: return new CNE(getMessage());
1089          case 17: return new CWE(getMessage());
1090          case 18: return new CWE(getMessage());
1091          case 19: return new NM(getMessage());
1092          case 20: return new MO(getMessage());
1093          case 21: return new CNE(getMessage());
1094          case 22: return new CNE(getMessage());
1095          case 23: return new CNE(getMessage());
1096          case 24: return new EI(getMessage());
1097          case 25: return new CNE(getMessage());
1098          case 26: return new CNE(getMessage());
1099          case 27: return new CNE(getMessage());
1100          case 28: return new CWE(getMessage());
1101          case 29: return new CNE(getMessage());
1102          case 30: return new CNE(getMessage());
1103          case 31: return new EI(getMessage());
1104          case 32: return new CWE(getMessage());
1105          default: return null;
1106       }
1107   }
1108
1109
1110}
1111