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.v22.segment;
35  
36  // import ca.uhn.hl7v2.model.v22.group.*;
37  import ca.uhn.hl7v2.model.v22.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 RXE message segment (PHARMACY ENCODED ORDER). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>RXE-1: Quantity / timing (TQ) <b>optional repeating</b>
53       * <li>RXE-2: Give Code (CE) <b> </b>
54       * <li>RXE-3: Give Amount - Minimum (NM) <b> </b>
55       * <li>RXE-4: Give Amount - Maximum (NM) <b>optional </b>
56       * <li>RXE-5: Give Units (CE) <b> </b>
57       * <li>RXE-6: Give Dosage Form (CE) <b>optional </b>
58       * <li>RXE-7: Provider's Administration Instructions (CE) <b>optional repeating</b>
59       * <li>RXE-8: Deliver-to location (CM_LA1) <b>optional </b>
60       * <li>RXE-9: Substitution Status (ID) <b>optional </b>
61       * <li>RXE-10: Dispense Amount (NM) <b>optional </b>
62       * <li>RXE-11: Dispense Units (CE) <b>optional </b>
63       * <li>RXE-12: Number of Refills (NM) <b>optional </b>
64       * <li>RXE-13: Ordering Provider's DEA Number (CN) <b>optional </b>
65       * <li>RXE-14: Pharmacist Verifier ID (CN) <b>optional </b>
66       * <li>RXE-15: Prescription Number (ST) <b> </b>
67       * <li>RXE-16: Number of Refills Remaining (NM) <b>optional </b>
68       * <li>RXE-17: Number of refills / doses dispensed (NM) <b>optional </b>
69       * <li>RXE-18: Date / time of most recent refill or dose dispensed (TS) <b>optional </b>
70       * <li>RXE-19: Total Daily Dose (CQ_QUANTITY) <b>optional </b>
71       * <li>RXE-20: Needs Human Review (ID) <b>optional </b>
72       * <li>RXE-21: Pharmacy Special Dispensing Instructions (CE) <b>optional </b>
73       * <li>RXE-22: Give Per (Time Unit) (ST) <b>optional </b>
74       * <li>RXE-23: Give Rate Amount (CE) <b>optional </b>
75       * <li>RXE-24: Give Rate Units (CE) <b>optional </b>
76   * </ul>
77   */
78  @SuppressWarnings("unused")
79  public class RXE extends AbstractSegment {
80  
81      /** 
82       * Creates a new RXE segment
83       */
84      public RXE(Group parent, ModelClassFactory factory) {
85         super(parent, factory);
86         init(factory);
87      }
88  
89      private void init(ModelClassFactory factory) {
90         try {
91                                    this.add(TQ.class, false, 0, 200, new Object[]{ getMessage() }, "Quantity / timing");
92                                    this.add(CE.class, true, 1, 100, new Object[]{ getMessage() }, "Give Code");
93                                    this.add(NM.class, true, 1, 20, new Object[]{ getMessage() }, "Give Amount - Minimum");
94                                    this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Give Amount - Maximum");
95                                    this.add(CE.class, true, 1, 60, new Object[]{ getMessage() }, "Give Units");
96                                    this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Dosage Form");
97                                    this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Provider's Administration Instructions");
98                                    this.add(CM_LA1.class, false, 1, 12, new Object[]{ getMessage() }, "Deliver-to location");
99                                                this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(167) }, "Substitution Status");
100                                   this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Dispense Amount");
101                                   this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Dispense Units");
102                                   this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Number of Refills");
103                                   this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Ordering Provider's DEA Number");
104                                   this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Pharmacist Verifier ID");
105                                   this.add(ST.class, true, 1, 20, new Object[]{ getMessage() }, "Prescription Number");
106                                   this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Number of Refills Remaining");
107                                   this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Number of refills / doses dispensed");
108                                   this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date / time of most recent refill or dose dispensed");
109                                   this.add(CQ_QUANTITY.class, false, 1, 10, new Object[]{ getMessage() }, "Total Daily Dose");
110                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(0) }, "Needs Human Review");
111                                   this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Pharmacy Special Dispensing Instructions");
112                                   this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Give Per (Time Unit)");
113                                   this.add(CE.class, false, 1, 6, new Object[]{ getMessage() }, "Give Rate Amount");
114                                   this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Rate Units");
115        } catch(HL7Exception e) {
116           log.error("Unexpected error creating RXE - this is probably a bug in the source code generator.", e);
117        }
118     }
119 
120 
121     /**
122      * Returns all repetitions of Quantity / timing (RXE-1).
123      */
124     public TQ[] getQuantityTiming() {
125     	TQ[] retVal = this.getTypedField(1, new TQ[0]);
126     	return retVal;
127     }
128 
129 
130     /**
131      * Returns all repetitions of Quantity / timing (RXE-1).
132      */
133     public TQ[] getRxe1_QuantityTiming() {
134     	TQ[] retVal = this.getTypedField(1, new TQ[0]);
135     	return retVal;
136     }
137 
138 
139     /**
140      * Returns a count of the current number of repetitions of Quantity / timing (RXE-1).
141      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
142      * it will return zero.
143      */
144     public int getQuantityTimingReps() {
145     	return this.getReps(1);
146     }
147 
148 
149     /**
150      * Returns a specific repetition of
151      * RXE-1: "Quantity / timing" - creates it if necessary
152      *
153      * @param rep The repetition index (0-indexed)
154      */
155     public TQ getQuantityTiming(int rep) { 
156 		TQ retVal = this.getTypedField(1, rep);
157 		return retVal;
158     }
159 
160     /**
161      * Returns a specific repetition of
162      * RXE-1: "Quantity / timing" - creates it if necessary
163      *
164      * @param rep The repetition index (0-indexed)
165      */
166     public TQ getRxe1_QuantityTiming(int rep) { 
167 		TQ retVal = this.getTypedField(1, rep);
168 		return retVal;
169     }
170 
171     /**
172      * Returns a count of the current number of repetitions of Quantity / timing (RXE-1).
173      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
174      * it will return zero.
175      */
176     public int getRxe1_QuantityTimingReps() {
177     	return this.getReps(1);
178     }
179 
180 
181     /**
182      * Inserts a repetition of
183      * RXE-1: "Quantity / timing" at a specific index
184      *
185      * @param rep The repetition index (0-indexed)
186      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
187      */
188     public TQ insertQuantityTiming(int rep) throws HL7Exception { 
189         return (TQ) super.insertRepetition(1, rep);
190     }
191 
192 
193     /**
194      * Inserts a repetition of
195      * RXE-1: "Quantity / timing" at a specific index
196      *
197      * @param rep The repetition index (0-indexed)
198      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
199      */
200     public TQ insertRxe1_QuantityTiming(int rep) throws HL7Exception { 
201         return (TQ) super.insertRepetition(1, rep);
202     }
203 
204 
205     /**
206      * Removes a repetition of
207      * RXE-1: "Quantity / timing" at a specific index
208      *
209      * @param rep The repetition index (0-indexed)
210      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
211      */
212     public TQ removeQuantityTiming(int rep) throws HL7Exception { 
213         return (TQ) super.removeRepetition(1, rep);
214     }
215 
216 
217     /**
218      * Removes a repetition of
219      * RXE-1: "Quantity / timing" at a specific index
220      *
221      * @param rep The repetition index (0-indexed)
222      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
223      */
224     public TQ removeRxe1_QuantityTiming(int rep) throws HL7Exception { 
225         return (TQ) super.removeRepetition(1, rep);
226     }
227 
228 
229 
230 
231     /**
232      * Returns
233      * RXE-2: "Give Code" - creates it if necessary
234      */
235     public CE getGiveCode() { 
236 		CE retVal = this.getTypedField(2, 0);
237 		return retVal;
238     }
239     
240     /**
241      * Returns
242      * RXE-2: "Give Code" - creates it if necessary
243      */
244     public CE getRxe2_GiveCode() { 
245 		CE retVal = this.getTypedField(2, 0);
246 		return retVal;
247     }
248 
249 
250 
251     /**
252      * Returns
253      * RXE-3: "Give Amount - Minimum" - creates it if necessary
254      */
255     public NM getGiveAmountMinimum() { 
256 		NM retVal = this.getTypedField(3, 0);
257 		return retVal;
258     }
259     
260     /**
261      * Returns
262      * RXE-3: "Give Amount - Minimum" - creates it if necessary
263      */
264     public NM getRxe3_GiveAmountMinimum() { 
265 		NM retVal = this.getTypedField(3, 0);
266 		return retVal;
267     }
268 
269 
270 
271     /**
272      * Returns
273      * RXE-4: "Give Amount - Maximum" - creates it if necessary
274      */
275     public NM getGiveAmountMaximum() { 
276 		NM retVal = this.getTypedField(4, 0);
277 		return retVal;
278     }
279     
280     /**
281      * Returns
282      * RXE-4: "Give Amount - Maximum" - creates it if necessary
283      */
284     public NM getRxe4_GiveAmountMaximum() { 
285 		NM retVal = this.getTypedField(4, 0);
286 		return retVal;
287     }
288 
289 
290 
291     /**
292      * Returns
293      * RXE-5: "Give Units" - creates it if necessary
294      */
295     public CE getGiveUnits() { 
296 		CE retVal = this.getTypedField(5, 0);
297 		return retVal;
298     }
299     
300     /**
301      * Returns
302      * RXE-5: "Give Units" - creates it if necessary
303      */
304     public CE getRxe5_GiveUnits() { 
305 		CE retVal = this.getTypedField(5, 0);
306 		return retVal;
307     }
308 
309 
310 
311     /**
312      * Returns
313      * RXE-6: "Give Dosage Form" - creates it if necessary
314      */
315     public CE getGiveDosageForm() { 
316 		CE retVal = this.getTypedField(6, 0);
317 		return retVal;
318     }
319     
320     /**
321      * Returns
322      * RXE-6: "Give Dosage Form" - creates it if necessary
323      */
324     public CE getRxe6_GiveDosageForm() { 
325 		CE retVal = this.getTypedField(6, 0);
326 		return retVal;
327     }
328 
329 
330     /**
331      * Returns all repetitions of Provider's Administration Instructions (RXE-7).
332      */
333     public CE[] getProviderSAdministrationInstructions() {
334     	CE[] retVal = this.getTypedField(7, new CE[0]);
335     	return retVal;
336     }
337 
338 
339     /**
340      * Returns all repetitions of Provider's Administration Instructions (RXE-7).
341      */
342     public CE[] getRxe7_ProviderSAdministrationInstructions() {
343     	CE[] retVal = this.getTypedField(7, new CE[0]);
344     	return retVal;
345     }
346 
347 
348     /**
349      * Returns a count of the current number of repetitions of Provider's Administration Instructions (RXE-7).
350      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
351      * it will return zero.
352      */
353     public int getProviderSAdministrationInstructionsReps() {
354     	return this.getReps(7);
355     }
356 
357 
358     /**
359      * Returns a specific repetition of
360      * RXE-7: "Provider's Administration Instructions" - creates it if necessary
361      *
362      * @param rep The repetition index (0-indexed)
363      */
364     public CE getProviderSAdministrationInstructions(int rep) { 
365 		CE retVal = this.getTypedField(7, rep);
366 		return retVal;
367     }
368 
369     /**
370      * Returns a specific repetition of
371      * RXE-7: "Provider's Administration Instructions" - creates it if necessary
372      *
373      * @param rep The repetition index (0-indexed)
374      */
375     public CE getRxe7_ProviderSAdministrationInstructions(int rep) { 
376 		CE retVal = this.getTypedField(7, rep);
377 		return retVal;
378     }
379 
380     /**
381      * Returns a count of the current number of repetitions of Provider's Administration Instructions (RXE-7).
382      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
383      * it will return zero.
384      */
385     public int getRxe7_ProviderSAdministrationInstructionsReps() {
386     	return this.getReps(7);
387     }
388 
389 
390     /**
391      * Inserts a repetition of
392      * RXE-7: "Provider's Administration Instructions" at a specific index
393      *
394      * @param rep The repetition index (0-indexed)
395      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
396      */
397     public CE insertProviderSAdministrationInstructions(int rep) throws HL7Exception { 
398         return (CE) super.insertRepetition(7, rep);
399     }
400 
401 
402     /**
403      * Inserts a repetition of
404      * RXE-7: "Provider's Administration Instructions" at a specific index
405      *
406      * @param rep The repetition index (0-indexed)
407      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
408      */
409     public CE insertRxe7_ProviderSAdministrationInstructions(int rep) throws HL7Exception { 
410         return (CE) super.insertRepetition(7, rep);
411     }
412 
413 
414     /**
415      * Removes a repetition of
416      * RXE-7: "Provider's Administration Instructions" at a specific index
417      *
418      * @param rep The repetition index (0-indexed)
419      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
420      */
421     public CE removeProviderSAdministrationInstructions(int rep) throws HL7Exception { 
422         return (CE) super.removeRepetition(7, rep);
423     }
424 
425 
426     /**
427      * Removes a repetition of
428      * RXE-7: "Provider's Administration Instructions" at a specific index
429      *
430      * @param rep The repetition index (0-indexed)
431      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
432      */
433     public CE removeRxe7_ProviderSAdministrationInstructions(int rep) throws HL7Exception { 
434         return (CE) super.removeRepetition(7, rep);
435     }
436 
437 
438 
439 
440     /**
441      * Returns
442      * RXE-8: "Deliver-to location" - creates it if necessary
443      */
444     public CM_LA1 getDeliverToLocation() { 
445 		CM_LA1 retVal = this.getTypedField(8, 0);
446 		return retVal;
447     }
448     
449     /**
450      * Returns
451      * RXE-8: "Deliver-to location" - creates it if necessary
452      */
453     public CM_LA1 getRxe8_DeliverToLocation() { 
454 		CM_LA1 retVal = this.getTypedField(8, 0);
455 		return retVal;
456     }
457 
458 
459 
460     /**
461      * Returns
462      * RXE-9: "Substitution Status" - creates it if necessary
463      */
464     public ID getSubstitutionStatus() { 
465 		ID retVal = this.getTypedField(9, 0);
466 		return retVal;
467     }
468     
469     /**
470      * Returns
471      * RXE-9: "Substitution Status" - creates it if necessary
472      */
473     public ID getRxe9_SubstitutionStatus() { 
474 		ID retVal = this.getTypedField(9, 0);
475 		return retVal;
476     }
477 
478 
479 
480     /**
481      * Returns
482      * RXE-10: "Dispense Amount" - creates it if necessary
483      */
484     public NM getDispenseAmount() { 
485 		NM retVal = this.getTypedField(10, 0);
486 		return retVal;
487     }
488     
489     /**
490      * Returns
491      * RXE-10: "Dispense Amount" - creates it if necessary
492      */
493     public NM getRxe10_DispenseAmount() { 
494 		NM retVal = this.getTypedField(10, 0);
495 		return retVal;
496     }
497 
498 
499 
500     /**
501      * Returns
502      * RXE-11: "Dispense Units" - creates it if necessary
503      */
504     public CE getDispenseUnits() { 
505 		CE retVal = this.getTypedField(11, 0);
506 		return retVal;
507     }
508     
509     /**
510      * Returns
511      * RXE-11: "Dispense Units" - creates it if necessary
512      */
513     public CE getRxe11_DispenseUnits() { 
514 		CE retVal = this.getTypedField(11, 0);
515 		return retVal;
516     }
517 
518 
519 
520     /**
521      * Returns
522      * RXE-12: "Number of Refills" - creates it if necessary
523      */
524     public NM getNumberOfRefills() { 
525 		NM retVal = this.getTypedField(12, 0);
526 		return retVal;
527     }
528     
529     /**
530      * Returns
531      * RXE-12: "Number of Refills" - creates it if necessary
532      */
533     public NM getRxe12_NumberOfRefills() { 
534 		NM retVal = this.getTypedField(12, 0);
535 		return retVal;
536     }
537 
538 
539 
540     /**
541      * Returns
542      * RXE-13: "Ordering Provider's DEA Number" - creates it if necessary
543      */
544     public CN getOrderingProviderSDEANumber() { 
545 		CN retVal = this.getTypedField(13, 0);
546 		return retVal;
547     }
548     
549     /**
550      * Returns
551      * RXE-13: "Ordering Provider's DEA Number" - creates it if necessary
552      */
553     public CN getRxe13_OrderingProviderSDEANumber() { 
554 		CN retVal = this.getTypedField(13, 0);
555 		return retVal;
556     }
557 
558 
559 
560     /**
561      * Returns
562      * RXE-14: "Pharmacist Verifier ID" - creates it if necessary
563      */
564     public CN getPharmacistVerifierID() { 
565 		CN retVal = this.getTypedField(14, 0);
566 		return retVal;
567     }
568     
569     /**
570      * Returns
571      * RXE-14: "Pharmacist Verifier ID" - creates it if necessary
572      */
573     public CN getRxe14_PharmacistVerifierID() { 
574 		CN retVal = this.getTypedField(14, 0);
575 		return retVal;
576     }
577 
578 
579 
580     /**
581      * Returns
582      * RXE-15: "Prescription Number" - creates it if necessary
583      */
584     public ST getPrescriptionNumber() { 
585 		ST retVal = this.getTypedField(15, 0);
586 		return retVal;
587     }
588     
589     /**
590      * Returns
591      * RXE-15: "Prescription Number" - creates it if necessary
592      */
593     public ST getRxe15_PrescriptionNumber() { 
594 		ST retVal = this.getTypedField(15, 0);
595 		return retVal;
596     }
597 
598 
599 
600     /**
601      * Returns
602      * RXE-16: "Number of Refills Remaining" - creates it if necessary
603      */
604     public NM getNumberOfRefillsRemaining() { 
605 		NM retVal = this.getTypedField(16, 0);
606 		return retVal;
607     }
608     
609     /**
610      * Returns
611      * RXE-16: "Number of Refills Remaining" - creates it if necessary
612      */
613     public NM getRxe16_NumberOfRefillsRemaining() { 
614 		NM retVal = this.getTypedField(16, 0);
615 		return retVal;
616     }
617 
618 
619 
620     /**
621      * Returns
622      * RXE-17: "Number of refills / doses dispensed" - creates it if necessary
623      */
624     public NM getNumberOfRefillsDosesDispensed() { 
625 		NM retVal = this.getTypedField(17, 0);
626 		return retVal;
627     }
628     
629     /**
630      * Returns
631      * RXE-17: "Number of refills / doses dispensed" - creates it if necessary
632      */
633     public NM getRxe17_NumberOfRefillsDosesDispensed() { 
634 		NM retVal = this.getTypedField(17, 0);
635 		return retVal;
636     }
637 
638 
639 
640     /**
641      * Returns
642      * RXE-18: "Date / time of most recent refill or dose dispensed" - creates it if necessary
643      */
644     public TS getDateTimeOfMostRecentRefillOrDoseDispensed() { 
645 		TS retVal = this.getTypedField(18, 0);
646 		return retVal;
647     }
648     
649     /**
650      * Returns
651      * RXE-18: "Date / time of most recent refill or dose dispensed" - creates it if necessary
652      */
653     public TS getRxe18_DateTimeOfMostRecentRefillOrDoseDispensed() { 
654 		TS retVal = this.getTypedField(18, 0);
655 		return retVal;
656     }
657 
658 
659 
660     /**
661      * Returns
662      * RXE-19: "Total Daily Dose" - creates it if necessary
663      */
664     public CQ_QUANTITY getTotalDailyDose() { 
665 		CQ_QUANTITY retVal = this.getTypedField(19, 0);
666 		return retVal;
667     }
668     
669     /**
670      * Returns
671      * RXE-19: "Total Daily Dose" - creates it if necessary
672      */
673     public CQ_QUANTITY getRxe19_TotalDailyDose() { 
674 		CQ_QUANTITY retVal = this.getTypedField(19, 0);
675 		return retVal;
676     }
677 
678 
679 
680     /**
681      * Returns
682      * RXE-20: "Needs Human Review" - creates it if necessary
683      */
684     public ID getNeedsHumanReview() { 
685 		ID retVal = this.getTypedField(20, 0);
686 		return retVal;
687     }
688     
689     /**
690      * Returns
691      * RXE-20: "Needs Human Review" - creates it if necessary
692      */
693     public ID getRxe20_NeedsHumanReview() { 
694 		ID retVal = this.getTypedField(20, 0);
695 		return retVal;
696     }
697 
698 
699 
700     /**
701      * Returns
702      * RXE-21: "Pharmacy Special Dispensing Instructions" - creates it if necessary
703      */
704     public CE getPharmacySpecialDispensingInstructions() { 
705 		CE retVal = this.getTypedField(21, 0);
706 		return retVal;
707     }
708     
709     /**
710      * Returns
711      * RXE-21: "Pharmacy Special Dispensing Instructions" - creates it if necessary
712      */
713     public CE getRxe21_PharmacySpecialDispensingInstructions() { 
714 		CE retVal = this.getTypedField(21, 0);
715 		return retVal;
716     }
717 
718 
719 
720     /**
721      * Returns
722      * RXE-22: "Give Per (Time Unit)" - creates it if necessary
723      */
724     public ST getGivePerTimeUnit() { 
725 		ST retVal = this.getTypedField(22, 0);
726 		return retVal;
727     }
728     
729     /**
730      * Returns
731      * RXE-22: "Give Per (Time Unit)" - creates it if necessary
732      */
733     public ST getRxe22_GivePerTimeUnit() { 
734 		ST retVal = this.getTypedField(22, 0);
735 		return retVal;
736     }
737 
738 
739 
740     /**
741      * Returns
742      * RXE-23: "Give Rate Amount" - creates it if necessary
743      */
744     public CE getGiveRateAmount() { 
745 		CE retVal = this.getTypedField(23, 0);
746 		return retVal;
747     }
748     
749     /**
750      * Returns
751      * RXE-23: "Give Rate Amount" - creates it if necessary
752      */
753     public CE getRxe23_GiveRateAmount() { 
754 		CE retVal = this.getTypedField(23, 0);
755 		return retVal;
756     }
757 
758 
759 
760     /**
761      * Returns
762      * RXE-24: "Give Rate Units" - creates it if necessary
763      */
764     public CE getGiveRateUnits() { 
765 		CE retVal = this.getTypedField(24, 0);
766 		return retVal;
767     }
768     
769     /**
770      * Returns
771      * RXE-24: "Give Rate Units" - creates it if necessary
772      */
773     public CE getRxe24_GiveRateUnits() { 
774 		CE retVal = this.getTypedField(24, 0);
775 		return retVal;
776     }
777 
778 
779 
780 
781 
782     /** {@inheritDoc} */   
783     protected Type createNewTypeWithoutReflection(int field) {
784        switch (field) {
785           case 0: return new TQ(getMessage());
786           case 1: return new CE(getMessage());
787           case 2: return new NM(getMessage());
788           case 3: return new NM(getMessage());
789           case 4: return new CE(getMessage());
790           case 5: return new CE(getMessage());
791           case 6: return new CE(getMessage());
792           case 7: return new CM_LA1(getMessage());
793           case 8: return new ID(getMessage(), new Integer( 167 ));
794           case 9: return new NM(getMessage());
795           case 10: return new CE(getMessage());
796           case 11: return new NM(getMessage());
797           case 12: return new CN(getMessage());
798           case 13: return new CN(getMessage());
799           case 14: return new ST(getMessage());
800           case 15: return new NM(getMessage());
801           case 16: return new NM(getMessage());
802           case 17: return new TS(getMessage());
803           case 18: return new CQ_QUANTITY(getMessage());
804           case 19: return new ID(getMessage(), new Integer( 0 ));
805           case 20: return new CE(getMessage());
806           case 21: return new ST(getMessage());
807           case 22: return new CE(getMessage());
808           case 23: return new CE(getMessage());
809           default: return null;
810        }
811    }
812 
813 
814 }
815