View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v281.segment;
35  
36  // import ca.uhn.hl7v2.model.v281.group.*;
37  import ca.uhn.hl7v2.model.v281.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 ITM message segment (Material Item). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>ITM-1: Item Identifier (EI) <b> </b>
53       * <li>ITM-2: Item Description (ST) <b>optional </b>
54       * <li>ITM-3: Item Status (CWE) <b>optional </b>
55       * <li>ITM-4: Item Type (CWE) <b>optional </b>
56       * <li>ITM-5: Item Category (CWE) <b>optional </b>
57       * <li>ITM-6: Subject to Expiration Indicator (CNE) <b>optional </b>
58       * <li>ITM-7: Manufacturer Identifier (EI) <b>optional </b>
59       * <li>ITM-8: Manufacturer Name (ST) <b>optional </b>
60       * <li>ITM-9: Manufacturer Catalog Number (ST) <b>optional </b>
61       * <li>ITM-10: Manufacturer Labeler Identification Code (CWE) <b>optional </b>
62       * <li>ITM-11: Patient Chargeable Indicator (CNE) <b>optional </b>
63       * <li>ITM-12: Transaction Code (CWE) <b>optional </b>
64       * <li>ITM-13: Transaction amount - unit (CP) <b>optional </b>
65       * <li>ITM-14: Stocked Item Indicator (CNE) <b>optional </b>
66       * <li>ITM-15: Supply Risk Codes (CWE) <b>optional </b>
67       * <li>ITM-16: Approving Regulatory Agency (XON) <b>optional repeating</b>
68       * <li>ITM-17: Latex Indicator (CNE) <b>optional </b>
69       * <li>ITM-18: Ruling Act (CWE) <b>optional repeating</b>
70       * <li>ITM-19: Item Natural Account Code (CWE) <b>optional </b>
71       * <li>ITM-20: Approved To Buy Quantity (NM) <b>optional </b>
72       * <li>ITM-21: Approved To Buy Price (MO) <b>optional </b>
73       * <li>ITM-22: Taxable Item Indicator (CNE) <b>optional </b>
74       * <li>ITM-23: Freight Charge Indicator (CNE) <b>optional </b>
75       * <li>ITM-24: Item Set Indicator (CNE) <b>optional </b>
76       * <li>ITM-25: Item Set Identifier (EI) <b>optional </b>
77       * <li>ITM-26: Track Department Usage Indicator (CNE) <b>optional </b>
78       * <li>ITM-27: Procedure Code (CNE) <b>optional </b>
79       * <li>ITM-28: Procedure Code Modifier (CNE) <b>optional repeating</b>
80       * <li>ITM-29: Special Handling Code (CWE) <b>optional </b>
81       * <li>ITM-30: Hazardous Indicator (CNE) <b>optional </b>
82       * <li>ITM-31: Sterile Indicator (CNE) <b>optional </b>
83       * <li>ITM-32: Material Data Safety Sheet Number (EI) <b>optional </b>
84       * <li>ITM-33: United Nations Standard Products and Services Code (UNSPSC) (CWE) <b>optional </b>
85   * </ul>
86   */
87  @SuppressWarnings("unused")
88  public class ITM extends AbstractSegment {
89  
90      /** 
91       * Creates a new ITM segment
92       */
93      public ITM(Group parent, ModelClassFactory factory) {
94         super(parent, factory);
95         init(factory);
96      }
97  
98      private void init(ModelClassFactory factory) {
99         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