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.v23.segment;
35  
36  // import ca.uhn.hl7v2.model.v23.group.*;
37  import ca.uhn.hl7v2.model.v23.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 segment). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>RXE-1: Quantity/Timing (TQ) <b> </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/Treatment Supplier's Verifier ID (CN) <b>optional </b>
66       * <li>RXE-15: Prescription Number (ST) <b>optional </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) <b>optional </b>
71       * <li>RXE-20: Needs Human Review (ID) <b>optional </b>
72       * <li>RXE-21: Pharmacy/Treatment Supplier's Special Dispensing Instructions (CE) <b>optional repeating</b>
73       * <li>RXE-22: Give Per (Time Unit) (ST) <b>optional </b>
74       * <li>RXE-23: Give Rate Amount (ST) <b>optional </b>
75       * <li>RXE-24: Give Rate Units (CE) <b>optional </b>
76       * <li>RXE-25: Give Strength (NM) <b>optional </b>
77       * <li>RXE-26: Give Strength Units (CE) <b>optional </b>
78       * <li>RXE-27: Give Indication (CE) <b>optional </b>
79       * <li>RXE-28: Dispense Package Size (NM) <b>optional </b>
80       * <li>RXE-29: Dispense Package Size Unit (CE) <b>optional </b>
81       * <li>RXE-30: Dispense Package Method (ID) <b>optional </b>
82   * </ul>
83   */
84  @SuppressWarnings("unused")
85  public class RXE extends AbstractSegment {
86  
87      /** 
88       * Creates a new RXE segment
89       */
90      public RXE(Group parent, ModelClassFactory factory) {
91         super(parent, factory);
92         init(factory);
93      }
94  
95      private void init(ModelClassFactory factory) {
96         try {
97                                    this.add(TQ.class, true, 1, 200, new Object[]{ getMessage() }, "Quantity/Timing");
98                                    this.add(CE.class, true, 1, 100, new Object[]{ getMessage() }, "Give Code");
99                                    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