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