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.v23.segment;
035
036// import ca.uhn.hl7v2.model.v23.group.*;
037import ca.uhn.hl7v2.model.v23.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047/**
048 *<p>Represents an HL7 RXE message segment (Pharmacy encoded order segment). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>RXE-1: Quantity/Timing (TQ) <b> </b>
052     * <li>RXE-2: Give Code (CE) <b> </b>
053     * <li>RXE-3: Give Amount - Minimum (NM) <b> </b>
054     * <li>RXE-4: Give Amount - Maximum (NM) <b>optional </b>
055     * <li>RXE-5: Give Units (CE) <b> </b>
056     * <li>RXE-6: Give Dosage Form (CE) <b>optional </b>
057     * <li>RXE-7: Provider's Administration Instructions (CE) <b>optional repeating</b>
058     * <li>RXE-8: Deliver To Location (CM_LA1) <b>optional </b>
059     * <li>RXE-9: Substitution Status (ID) <b>optional </b>
060     * <li>RXE-10: Dispense Amount (NM) <b>optional </b>
061     * <li>RXE-11: Dispense Units (CE) <b>optional </b>
062     * <li>RXE-12: Number of Refills (NM) <b>optional </b>
063     * <li>RXE-13: Ordering Provider's DEA Number (CN) <b>optional </b>
064     * <li>RXE-14: Pharmacist/Treatment Supplier's Verifier ID (CN) <b>optional </b>
065     * <li>RXE-15: Prescription Number (ST) <b>optional </b>
066     * <li>RXE-16: Number of Refills Remaining (NM) <b>optional </b>
067     * <li>RXE-17: Number of Refills/Doses Dispensed (NM) <b>optional </b>
068     * <li>RXE-18: Date / time of most recent refill or dose dispensed (TS) <b>optional </b>
069     * <li>RXE-19: Total Daily Dose (CQ) <b>optional </b>
070     * <li>RXE-20: Needs Human Review (ID) <b>optional </b>
071     * <li>RXE-21: Pharmacy/Treatment Supplier's Special Dispensing Instructions (CE) <b>optional repeating</b>
072     * <li>RXE-22: Give Per (Time Unit) (ST) <b>optional </b>
073     * <li>RXE-23: Give Rate Amount (ST) <b>optional </b>
074     * <li>RXE-24: Give Rate Units (CE) <b>optional </b>
075     * <li>RXE-25: Give Strength (NM) <b>optional </b>
076     * <li>RXE-26: Give Strength Units (CE) <b>optional </b>
077     * <li>RXE-27: Give Indication (CE) <b>optional </b>
078     * <li>RXE-28: Dispense Package Size (NM) <b>optional </b>
079     * <li>RXE-29: Dispense Package Size Unit (CE) <b>optional </b>
080     * <li>RXE-30: Dispense Package Method (ID) <b>optional </b>
081 * </ul>
082 */
083@SuppressWarnings("unused")
084public class RXE extends AbstractSegment {
085
086    /** 
087     * Creates a new RXE segment
088     */
089    public RXE(Group parent, ModelClassFactory factory) {
090       super(parent, factory);
091       init(factory);
092    }
093
094    private void init(ModelClassFactory factory) {
095       try {
096                                  this.add(TQ.class, true, 1, 200, new Object[]{ getMessage() }, "Quantity/Timing");
097                                  this.add(CE.class, true, 1, 100, new Object[]{ getMessage() }, "Give Code");
098                                  this.add(NM.class, true, 1, 20, new Object[]{ getMessage() }, "Give Amount - Minimum");
099                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Give Amount - Maximum");
100                                  this.add(CE.class, true, 1, 60, new Object[]{ getMessage() }, "Give Units");
101                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Dosage Form");
102                                  this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Provider's Administration Instructions");
103                                  this.add(CM_LA1.class, false, 1, 200, new Object[]{ getMessage() }, "Deliver To Location");
104                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(167) }, "Substitution Status");
105                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Dispense Amount");
106                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Dispense Units");
107                                  this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Number of Refills");
108                                  this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Ordering Provider's DEA Number");
109                                  this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Pharmacist/Treatment Supplier's Verifier ID");
110                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Prescription Number");
111                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Number of Refills Remaining");
112                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Number of Refills/Doses Dispensed");
113                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date / time of most recent refill or dose dispensed");
114                                  this.add(CQ.class, false, 1, 10, new Object[]{ getMessage() }, "Total Daily Dose");
115                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Needs Human Review");
116                                  this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Pharmacy/Treatment Supplier's Special Dispensing Instructions");
117                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Give Per (Time Unit)");
118                                  this.add(ST.class, false, 1, 6, new Object[]{ getMessage() }, "Give Rate Amount");
119                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Rate Units");
120                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Give Strength");
121                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Strength Units");
122                                  this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Give Indication");
123                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Dispense Package Size");
124                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Dispense Package Size Unit");
125                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(321) }, "Dispense Package Method");
126       } catch(HL7Exception e) {
127          log.error("Unexpected error creating RXE - this is probably a bug in the source code generator.", e);
128       }
129    }
130
131
132
133    /**
134     * Returns
135     * RXE-1: "Quantity/Timing" - creates it if necessary
136     */
137    public TQ getQuantityTiming() { 
138                TQ retVal = this.getTypedField(1, 0);
139                return retVal;
140    }
141    
142    /**
143     * Returns
144     * RXE-1: "Quantity/Timing" - creates it if necessary
145     */
146    public TQ getRxe1_QuantityTiming() { 
147                TQ retVal = this.getTypedField(1, 0);
148                return retVal;
149    }
150
151
152
153    /**
154     * Returns
155     * RXE-2: "Give Code" - creates it if necessary
156     */
157    public CE getGiveCode() { 
158                CE retVal = this.getTypedField(2, 0);
159                return retVal;
160    }
161    
162    /**
163     * Returns
164     * RXE-2: "Give Code" - creates it if necessary
165     */
166    public CE getRxe2_GiveCode() { 
167                CE retVal = this.getTypedField(2, 0);
168                return retVal;
169    }
170
171
172
173    /**
174     * Returns
175     * RXE-3: "Give Amount - Minimum" - creates it if necessary
176     */
177    public NM getGiveAmountMinimum() { 
178                NM retVal = this.getTypedField(3, 0);
179                return retVal;
180    }
181    
182    /**
183     * Returns
184     * RXE-3: "Give Amount - Minimum" - creates it if necessary
185     */
186    public NM getRxe3_GiveAmountMinimum() { 
187                NM retVal = this.getTypedField(3, 0);
188                return retVal;
189    }
190
191
192
193    /**
194     * Returns
195     * RXE-4: "Give Amount - Maximum" - creates it if necessary
196     */
197    public NM getGiveAmountMaximum() { 
198                NM retVal = this.getTypedField(4, 0);
199                return retVal;
200    }
201    
202    /**
203     * Returns
204     * RXE-4: "Give Amount - Maximum" - creates it if necessary
205     */
206    public NM getRxe4_GiveAmountMaximum() { 
207                NM retVal = this.getTypedField(4, 0);
208                return retVal;
209    }
210
211
212
213    /**
214     * Returns
215     * RXE-5: "Give Units" - creates it if necessary
216     */
217    public CE getGiveUnits() { 
218                CE retVal = this.getTypedField(5, 0);
219                return retVal;
220    }
221    
222    /**
223     * Returns
224     * RXE-5: "Give Units" - creates it if necessary
225     */
226    public CE getRxe5_GiveUnits() { 
227                CE retVal = this.getTypedField(5, 0);
228                return retVal;
229    }
230
231
232
233    /**
234     * Returns
235     * RXE-6: "Give Dosage Form" - creates it if necessary
236     */
237    public CE getGiveDosageForm() { 
238                CE retVal = this.getTypedField(6, 0);
239                return retVal;
240    }
241    
242    /**
243     * Returns
244     * RXE-6: "Give Dosage Form" - creates it if necessary
245     */
246    public CE getRxe6_GiveDosageForm() { 
247                CE retVal = this.getTypedField(6, 0);
248                return retVal;
249    }
250
251
252    /**
253     * Returns all repetitions of Provider's Administration Instructions (RXE-7).
254     */
255    public CE[] getProviderSAdministrationInstructions() {
256        CE[] retVal = this.getTypedField(7, new CE[0]);
257        return retVal;
258    }
259
260
261    /**
262     * Returns all repetitions of Provider's Administration Instructions (RXE-7).
263     */
264    public CE[] getRxe7_ProviderSAdministrationInstructions() {
265        CE[] retVal = this.getTypedField(7, new CE[0]);
266        return retVal;
267    }
268
269
270    /**
271     * Returns a count of the current number of repetitions of Provider's Administration Instructions (RXE-7).
272     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
273     * it will return zero.
274     */
275    public int getProviderSAdministrationInstructionsReps() {
276        return this.getReps(7);
277    }
278
279
280    /**
281     * Returns a specific repetition of
282     * RXE-7: "Provider's Administration Instructions" - creates it if necessary
283     *
284     * @param rep The repetition index (0-indexed)
285     */
286    public CE getProviderSAdministrationInstructions(int rep) { 
287                CE retVal = this.getTypedField(7, rep);
288                return retVal;
289    }
290
291    /**
292     * Returns a specific repetition of
293     * RXE-7: "Provider's Administration Instructions" - creates it if necessary
294     *
295     * @param rep The repetition index (0-indexed)
296     */
297    public CE getRxe7_ProviderSAdministrationInstructions(int rep) { 
298                CE retVal = this.getTypedField(7, rep);
299                return retVal;
300    }
301
302    /**
303     * Returns a count of the current number of repetitions of Provider's Administration Instructions (RXE-7).
304     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
305     * it will return zero.
306     */
307    public int getRxe7_ProviderSAdministrationInstructionsReps() {
308        return this.getReps(7);
309    }
310
311
312    /**
313     * Inserts a repetition of
314     * RXE-7: "Provider's Administration Instructions" at a specific index
315     *
316     * @param rep The repetition index (0-indexed)
317     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
318     */
319    public CE insertProviderSAdministrationInstructions(int rep) throws HL7Exception { 
320        return (CE) super.insertRepetition(7, rep);
321    }
322
323
324    /**
325     * Inserts a repetition of
326     * RXE-7: "Provider's Administration Instructions" at a specific index
327     *
328     * @param rep The repetition index (0-indexed)
329     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
330     */
331    public CE insertRxe7_ProviderSAdministrationInstructions(int rep) throws HL7Exception { 
332        return (CE) super.insertRepetition(7, rep);
333    }
334
335
336    /**
337     * Removes a repetition of
338     * RXE-7: "Provider's Administration Instructions" at a specific index
339     *
340     * @param rep The repetition index (0-indexed)
341     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
342     */
343    public CE removeProviderSAdministrationInstructions(int rep) throws HL7Exception { 
344        return (CE) super.removeRepetition(7, rep);
345    }
346
347
348    /**
349     * Removes a repetition of
350     * RXE-7: "Provider's Administration Instructions" at a specific index
351     *
352     * @param rep The repetition index (0-indexed)
353     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
354     */
355    public CE removeRxe7_ProviderSAdministrationInstructions(int rep) throws HL7Exception { 
356        return (CE) super.removeRepetition(7, rep);
357    }
358
359
360
361
362    /**
363     * Returns
364     * RXE-8: "Deliver To Location" - creates it if necessary
365     */
366    public CM_LA1 getDeliverToLocation() { 
367                CM_LA1 retVal = this.getTypedField(8, 0);
368                return retVal;
369    }
370    
371    /**
372     * Returns
373     * RXE-8: "Deliver To Location" - creates it if necessary
374     */
375    public CM_LA1 getRxe8_DeliverToLocation() { 
376                CM_LA1 retVal = this.getTypedField(8, 0);
377                return retVal;
378    }
379
380
381
382    /**
383     * Returns
384     * RXE-9: "Substitution Status" - creates it if necessary
385     */
386    public ID getSubstitutionStatus() { 
387                ID retVal = this.getTypedField(9, 0);
388                return retVal;
389    }
390    
391    /**
392     * Returns
393     * RXE-9: "Substitution Status" - creates it if necessary
394     */
395    public ID getRxe9_SubstitutionStatus() { 
396                ID retVal = this.getTypedField(9, 0);
397                return retVal;
398    }
399
400
401
402    /**
403     * Returns
404     * RXE-10: "Dispense Amount" - creates it if necessary
405     */
406    public NM getDispenseAmount() { 
407                NM retVal = this.getTypedField(10, 0);
408                return retVal;
409    }
410    
411    /**
412     * Returns
413     * RXE-10: "Dispense Amount" - creates it if necessary
414     */
415    public NM getRxe10_DispenseAmount() { 
416                NM retVal = this.getTypedField(10, 0);
417                return retVal;
418    }
419
420
421
422    /**
423     * Returns
424     * RXE-11: "Dispense Units" - creates it if necessary
425     */
426    public CE getDispenseUnits() { 
427                CE retVal = this.getTypedField(11, 0);
428                return retVal;
429    }
430    
431    /**
432     * Returns
433     * RXE-11: "Dispense Units" - creates it if necessary
434     */
435    public CE getRxe11_DispenseUnits() { 
436                CE retVal = this.getTypedField(11, 0);
437                return retVal;
438    }
439
440
441
442    /**
443     * Returns
444     * RXE-12: "Number of Refills" - creates it if necessary
445     */
446    public NM getNumberOfRefills() { 
447                NM retVal = this.getTypedField(12, 0);
448                return retVal;
449    }
450    
451    /**
452     * Returns
453     * RXE-12: "Number of Refills" - creates it if necessary
454     */
455    public NM getRxe12_NumberOfRefills() { 
456                NM retVal = this.getTypedField(12, 0);
457                return retVal;
458    }
459
460
461
462    /**
463     * Returns
464     * RXE-13: "Ordering Provider's DEA Number" - creates it if necessary
465     */
466    public CN getOrderingProviderSDEANumber() { 
467                CN retVal = this.getTypedField(13, 0);
468                return retVal;
469    }
470    
471    /**
472     * Returns
473     * RXE-13: "Ordering Provider's DEA Number" - creates it if necessary
474     */
475    public CN getRxe13_OrderingProviderSDEANumber() { 
476                CN retVal = this.getTypedField(13, 0);
477                return retVal;
478    }
479
480
481
482    /**
483     * Returns
484     * RXE-14: "Pharmacist/Treatment Supplier's Verifier ID" - creates it if necessary
485     */
486    public CN getPharmacistTreatmentSupplierSVerifierID() { 
487                CN retVal = this.getTypedField(14, 0);
488                return retVal;
489    }
490    
491    /**
492     * Returns
493     * RXE-14: "Pharmacist/Treatment Supplier's Verifier ID" - creates it if necessary
494     */
495    public CN getRxe14_PharmacistTreatmentSupplierSVerifierID() { 
496                CN retVal = this.getTypedField(14, 0);
497                return retVal;
498    }
499
500
501
502    /**
503     * Returns
504     * RXE-15: "Prescription Number" - creates it if necessary
505     */
506    public ST getPrescriptionNumber() { 
507                ST retVal = this.getTypedField(15, 0);
508                return retVal;
509    }
510    
511    /**
512     * Returns
513     * RXE-15: "Prescription Number" - creates it if necessary
514     */
515    public ST getRxe15_PrescriptionNumber() { 
516                ST retVal = this.getTypedField(15, 0);
517                return retVal;
518    }
519
520
521
522    /**
523     * Returns
524     * RXE-16: "Number of Refills Remaining" - creates it if necessary
525     */
526    public NM getNumberOfRefillsRemaining() { 
527                NM retVal = this.getTypedField(16, 0);
528                return retVal;
529    }
530    
531    /**
532     * Returns
533     * RXE-16: "Number of Refills Remaining" - creates it if necessary
534     */
535    public NM getRxe16_NumberOfRefillsRemaining() { 
536                NM retVal = this.getTypedField(16, 0);
537                return retVal;
538    }
539
540
541
542    /**
543     * Returns
544     * RXE-17: "Number of Refills/Doses Dispensed" - creates it if necessary
545     */
546    public NM getNumberOfRefillsDosesDispensed() { 
547                NM retVal = this.getTypedField(17, 0);
548                return retVal;
549    }
550    
551    /**
552     * Returns
553     * RXE-17: "Number of Refills/Doses Dispensed" - creates it if necessary
554     */
555    public NM getRxe17_NumberOfRefillsDosesDispensed() { 
556                NM retVal = this.getTypedField(17, 0);
557                return retVal;
558    }
559
560
561
562    /**
563     * Returns
564     * RXE-18: "Date / time of most recent refill or dose dispensed" - creates it if necessary
565     */
566    public TS getDateTimeOfMostRecentRefillOrDoseDispensed() { 
567                TS retVal = this.getTypedField(18, 0);
568                return retVal;
569    }
570    
571    /**
572     * Returns
573     * RXE-18: "Date / time of most recent refill or dose dispensed" - creates it if necessary
574     */
575    public TS getRxe18_DateTimeOfMostRecentRefillOrDoseDispensed() { 
576                TS retVal = this.getTypedField(18, 0);
577                return retVal;
578    }
579
580
581
582    /**
583     * Returns
584     * RXE-19: "Total Daily Dose" - creates it if necessary
585     */
586    public CQ getTotalDailyDose() { 
587                CQ retVal = this.getTypedField(19, 0);
588                return retVal;
589    }
590    
591    /**
592     * Returns
593     * RXE-19: "Total Daily Dose" - creates it if necessary
594     */
595    public CQ getRxe19_TotalDailyDose() { 
596                CQ retVal = this.getTypedField(19, 0);
597                return retVal;
598    }
599
600
601
602    /**
603     * Returns
604     * RXE-20: "Needs Human Review" - creates it if necessary
605     */
606    public ID getNeedsHumanReview() { 
607                ID retVal = this.getTypedField(20, 0);
608                return retVal;
609    }
610    
611    /**
612     * Returns
613     * RXE-20: "Needs Human Review" - creates it if necessary
614     */
615    public ID getRxe20_NeedsHumanReview() { 
616                ID retVal = this.getTypedField(20, 0);
617                return retVal;
618    }
619
620
621    /**
622     * Returns all repetitions of Pharmacy/Treatment Supplier's Special Dispensing Instructions (RXE-21).
623     */
624    public CE[] getPharmacyTreatmentSupplierSSpecialDispensingInstructions() {
625        CE[] retVal = this.getTypedField(21, new CE[0]);
626        return retVal;
627    }
628
629
630    /**
631     * Returns all repetitions of Pharmacy/Treatment Supplier's Special Dispensing Instructions (RXE-21).
632     */
633    public CE[] getRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions() {
634        CE[] retVal = this.getTypedField(21, new CE[0]);
635        return retVal;
636    }
637
638
639    /**
640     * Returns a count of the current number of repetitions of Pharmacy/Treatment Supplier's Special Dispensing Instructions (RXE-21).
641     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
642     * it will return zero.
643     */
644    public int getPharmacyTreatmentSupplierSSpecialDispensingInstructionsReps() {
645        return this.getReps(21);
646    }
647
648
649    /**
650     * Returns a specific repetition of
651     * RXE-21: "Pharmacy/Treatment Supplier's Special Dispensing Instructions" - creates it if necessary
652     *
653     * @param rep The repetition index (0-indexed)
654     */
655    public CE getPharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) { 
656                CE retVal = this.getTypedField(21, rep);
657                return retVal;
658    }
659
660    /**
661     * Returns a specific repetition of
662     * RXE-21: "Pharmacy/Treatment Supplier's Special Dispensing Instructions" - creates it if necessary
663     *
664     * @param rep The repetition index (0-indexed)
665     */
666    public CE getRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) { 
667                CE retVal = this.getTypedField(21, rep);
668                return retVal;
669    }
670
671    /**
672     * Returns a count of the current number of repetitions of Pharmacy/Treatment Supplier's Special Dispensing Instructions (RXE-21).
673     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
674     * it will return zero.
675     */
676    public int getRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructionsReps() {
677        return this.getReps(21);
678    }
679
680
681    /**
682     * Inserts a repetition of
683     * RXE-21: "Pharmacy/Treatment Supplier's Special Dispensing Instructions" at a specific index
684     *
685     * @param rep The repetition index (0-indexed)
686     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
687     */
688    public CE insertPharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
689        return (CE) super.insertRepetition(21, rep);
690    }
691
692
693    /**
694     * Inserts a repetition of
695     * RXE-21: "Pharmacy/Treatment Supplier's Special Dispensing Instructions" at a specific index
696     *
697     * @param rep The repetition index (0-indexed)
698     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
699     */
700    public CE insertRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
701        return (CE) super.insertRepetition(21, rep);
702    }
703
704
705    /**
706     * Removes a repetition of
707     * RXE-21: "Pharmacy/Treatment Supplier's Special Dispensing Instructions" at a specific index
708     *
709     * @param rep The repetition index (0-indexed)
710     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
711     */
712    public CE removePharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
713        return (CE) super.removeRepetition(21, rep);
714    }
715
716
717    /**
718     * Removes a repetition of
719     * RXE-21: "Pharmacy/Treatment Supplier's Special Dispensing Instructions" at a specific index
720     *
721     * @param rep The repetition index (0-indexed)
722     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
723     */
724    public CE removeRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
725        return (CE) super.removeRepetition(21, rep);
726    }
727
728
729
730
731    /**
732     * Returns
733     * RXE-22: "Give Per (Time Unit)" - creates it if necessary
734     */
735    public ST getGivePerTimeUnit() { 
736                ST retVal = this.getTypedField(22, 0);
737                return retVal;
738    }
739    
740    /**
741     * Returns
742     * RXE-22: "Give Per (Time Unit)" - creates it if necessary
743     */
744    public ST getRxe22_GivePerTimeUnit() { 
745                ST retVal = this.getTypedField(22, 0);
746                return retVal;
747    }
748
749
750
751    /**
752     * Returns
753     * RXE-23: "Give Rate Amount" - creates it if necessary
754     */
755    public ST getGiveRateAmount() { 
756                ST retVal = this.getTypedField(23, 0);
757                return retVal;
758    }
759    
760    /**
761     * Returns
762     * RXE-23: "Give Rate Amount" - creates it if necessary
763     */
764    public ST getRxe23_GiveRateAmount() { 
765                ST retVal = this.getTypedField(23, 0);
766                return retVal;
767    }
768
769
770
771    /**
772     * Returns
773     * RXE-24: "Give Rate Units" - creates it if necessary
774     */
775    public CE getGiveRateUnits() { 
776                CE retVal = this.getTypedField(24, 0);
777                return retVal;
778    }
779    
780    /**
781     * Returns
782     * RXE-24: "Give Rate Units" - creates it if necessary
783     */
784    public CE getRxe24_GiveRateUnits() { 
785                CE retVal = this.getTypedField(24, 0);
786                return retVal;
787    }
788
789
790
791    /**
792     * Returns
793     * RXE-25: "Give Strength" - creates it if necessary
794     */
795    public NM getGiveStrength() { 
796                NM retVal = this.getTypedField(25, 0);
797                return retVal;
798    }
799    
800    /**
801     * Returns
802     * RXE-25: "Give Strength" - creates it if necessary
803     */
804    public NM getRxe25_GiveStrength() { 
805                NM retVal = this.getTypedField(25, 0);
806                return retVal;
807    }
808
809
810
811    /**
812     * Returns
813     * RXE-26: "Give Strength Units" - creates it if necessary
814     */
815    public CE getGiveStrengthUnits() { 
816                CE retVal = this.getTypedField(26, 0);
817                return retVal;
818    }
819    
820    /**
821     * Returns
822     * RXE-26: "Give Strength Units" - creates it if necessary
823     */
824    public CE getRxe26_GiveStrengthUnits() { 
825                CE retVal = this.getTypedField(26, 0);
826                return retVal;
827    }
828
829
830
831    /**
832     * Returns
833     * RXE-27: "Give Indication" - creates it if necessary
834     */
835    public CE getGiveIndication() { 
836                CE retVal = this.getTypedField(27, 0);
837                return retVal;
838    }
839    
840    /**
841     * Returns
842     * RXE-27: "Give Indication" - creates it if necessary
843     */
844    public CE getRxe27_GiveIndication() { 
845                CE retVal = this.getTypedField(27, 0);
846                return retVal;
847    }
848
849
850
851    /**
852     * Returns
853     * RXE-28: "Dispense Package Size" - creates it if necessary
854     */
855    public NM getDispensePackageSize() { 
856                NM retVal = this.getTypedField(28, 0);
857                return retVal;
858    }
859    
860    /**
861     * Returns
862     * RXE-28: "Dispense Package Size" - creates it if necessary
863     */
864    public NM getRxe28_DispensePackageSize() { 
865                NM retVal = this.getTypedField(28, 0);
866                return retVal;
867    }
868
869
870
871    /**
872     * Returns
873     * RXE-29: "Dispense Package Size Unit" - creates it if necessary
874     */
875    public CE getDispensePackageSizeUnit() { 
876                CE retVal = this.getTypedField(29, 0);
877                return retVal;
878    }
879    
880    /**
881     * Returns
882     * RXE-29: "Dispense Package Size Unit" - creates it if necessary
883     */
884    public CE getRxe29_DispensePackageSizeUnit() { 
885                CE retVal = this.getTypedField(29, 0);
886                return retVal;
887    }
888
889
890
891    /**
892     * Returns
893     * RXE-30: "Dispense Package Method" - creates it if necessary
894     */
895    public ID getDispensePackageMethod() { 
896                ID retVal = this.getTypedField(30, 0);
897                return retVal;
898    }
899    
900    /**
901     * Returns
902     * RXE-30: "Dispense Package Method" - creates it if necessary
903     */
904    public ID getRxe30_DispensePackageMethod() { 
905                ID retVal = this.getTypedField(30, 0);
906                return retVal;
907    }
908
909
910
911
912
913    /** {@inheritDoc} */   
914    protected Type createNewTypeWithoutReflection(int field) {
915       switch (field) {
916          case 0: return new TQ(getMessage());
917          case 1: return new CE(getMessage());
918          case 2: return new NM(getMessage());
919          case 3: return new NM(getMessage());
920          case 4: return new CE(getMessage());
921          case 5: return new CE(getMessage());
922          case 6: return new CE(getMessage());
923          case 7: return new CM_LA1(getMessage());
924          case 8: return new ID(getMessage(), new Integer( 167 ));
925          case 9: return new NM(getMessage());
926          case 10: return new CE(getMessage());
927          case 11: return new NM(getMessage());
928          case 12: return new CN(getMessage());
929          case 13: return new CN(getMessage());
930          case 14: return new ST(getMessage());
931          case 15: return new NM(getMessage());
932          case 16: return new NM(getMessage());
933          case 17: return new TS(getMessage());
934          case 18: return new CQ(getMessage());
935          case 19: return new ID(getMessage(), new Integer( 136 ));
936          case 20: return new CE(getMessage());
937          case 21: return new ST(getMessage());
938          case 22: return new ST(getMessage());
939          case 23: return new CE(getMessage());
940          case 24: return new NM(getMessage());
941          case 25: return new CE(getMessage());
942          case 26: return new CE(getMessage());
943          case 27: return new NM(getMessage());
944          case 28: return new CE(getMessage());
945          case 29: return new ID(getMessage(), new Integer( 321 ));
946          default: return null;
947       }
948   }
949
950
951}
952