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.v231.segment;
035
036// import ca.uhn.hl7v2.model.v231.group.*;
037import ca.uhn.hl7v2.model.v231.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 (RXE - pharmacy/treatment 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 (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 (XCN) <b>optional repeating</b>
065     * <li>RXE-14: Pharmacist/Treatment Supplier’s Verifier ID (XCN) <b>optional repeating</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: D/T 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 repeating</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(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(XCN.class, false, 0, 60, new Object[]{ getMessage() }, "Ordering Provider’s DEA Number");
110                                  this.add(XCN.class, false, 0, 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() }, "D/T 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, 0, 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 LA1 getDeliverToLocation() { 
368                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 LA1 getRxe8_DeliverToLocation() { 
377                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     * Returns all repetitions of Ordering Provider’s DEA Number (RXE-13).
464     */
465    public XCN[] getOrderingProviderSDEANumber() {
466        XCN[] retVal = this.getTypedField(13, new XCN[0]);
467        return retVal;
468    }
469
470
471    /**
472     * Returns all repetitions of Ordering Provider’s DEA Number (RXE-13).
473     */
474    public XCN[] getRxe13_OrderingProviderSDEANumber() {
475        XCN[] retVal = this.getTypedField(13, new XCN[0]);
476        return retVal;
477    }
478
479
480    /**
481     * Returns a count of the current number of repetitions of Ordering Provider’s DEA Number (RXE-13).
482     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
483     * it will return zero.
484     */
485    public int getOrderingProviderSDEANumberReps() {
486        return this.getReps(13);
487    }
488
489
490    /**
491     * Returns a specific repetition of
492     * RXE-13: "Ordering Provider’s DEA Number" - creates it if necessary
493     *
494     * @param rep The repetition index (0-indexed)
495     */
496    public XCN getOrderingProviderSDEANumber(int rep) { 
497                XCN retVal = this.getTypedField(13, rep);
498                return retVal;
499    }
500
501    /**
502     * Returns a specific repetition of
503     * RXE-13: "Ordering Provider’s DEA Number" - creates it if necessary
504     *
505     * @param rep The repetition index (0-indexed)
506     */
507    public XCN getRxe13_OrderingProviderSDEANumber(int rep) { 
508                XCN retVal = this.getTypedField(13, rep);
509                return retVal;
510    }
511
512    /**
513     * Returns a count of the current number of repetitions of Ordering Provider’s DEA Number (RXE-13).
514     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
515     * it will return zero.
516     */
517    public int getRxe13_OrderingProviderSDEANumberReps() {
518        return this.getReps(13);
519    }
520
521
522    /**
523     * Inserts a repetition of
524     * RXE-13: "Ordering Provider’s DEA Number" at a specific index
525     *
526     * @param rep The repetition index (0-indexed)
527     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
528     */
529    public XCN insertOrderingProviderSDEANumber(int rep) throws HL7Exception { 
530        return (XCN) super.insertRepetition(13, rep);
531    }
532
533
534    /**
535     * Inserts a repetition of
536     * RXE-13: "Ordering Provider’s DEA Number" at a specific index
537     *
538     * @param rep The repetition index (0-indexed)
539     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
540     */
541    public XCN insertRxe13_OrderingProviderSDEANumber(int rep) throws HL7Exception { 
542        return (XCN) super.insertRepetition(13, rep);
543    }
544
545
546    /**
547     * Removes a repetition of
548     * RXE-13: "Ordering Provider’s DEA Number" at a specific index
549     *
550     * @param rep The repetition index (0-indexed)
551     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
552     */
553    public XCN removeOrderingProviderSDEANumber(int rep) throws HL7Exception { 
554        return (XCN) super.removeRepetition(13, rep);
555    }
556
557
558    /**
559     * Removes a repetition of
560     * RXE-13: "Ordering Provider’s DEA Number" at a specific index
561     *
562     * @param rep The repetition index (0-indexed)
563     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
564     */
565    public XCN removeRxe13_OrderingProviderSDEANumber(int rep) throws HL7Exception { 
566        return (XCN) super.removeRepetition(13, rep);
567    }
568
569
570
571    /**
572     * Returns all repetitions of Pharmacist/Treatment Supplier’s Verifier ID (RXE-14).
573     */
574    public XCN[] getPharmacistTreatmentSupplierSVerifierID() {
575        XCN[] retVal = this.getTypedField(14, new XCN[0]);
576        return retVal;
577    }
578
579
580    /**
581     * Returns all repetitions of Pharmacist/Treatment Supplier’s Verifier ID (RXE-14).
582     */
583    public XCN[] getRxe14_PharmacistTreatmentSupplierSVerifierID() {
584        XCN[] retVal = this.getTypedField(14, new XCN[0]);
585        return retVal;
586    }
587
588
589    /**
590     * Returns a count of the current number of repetitions of Pharmacist/Treatment Supplier’s Verifier ID (RXE-14).
591     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
592     * it will return zero.
593     */
594    public int getPharmacistTreatmentSupplierSVerifierIDReps() {
595        return this.getReps(14);
596    }
597
598
599    /**
600     * Returns a specific repetition of
601     * RXE-14: "Pharmacist/Treatment Supplier’s Verifier ID" - creates it if necessary
602     *
603     * @param rep The repetition index (0-indexed)
604     */
605    public XCN getPharmacistTreatmentSupplierSVerifierID(int rep) { 
606                XCN retVal = this.getTypedField(14, rep);
607                return retVal;
608    }
609
610    /**
611     * Returns a specific repetition of
612     * RXE-14: "Pharmacist/Treatment Supplier’s Verifier ID" - creates it if necessary
613     *
614     * @param rep The repetition index (0-indexed)
615     */
616    public XCN getRxe14_PharmacistTreatmentSupplierSVerifierID(int rep) { 
617                XCN retVal = this.getTypedField(14, rep);
618                return retVal;
619    }
620
621    /**
622     * Returns a count of the current number of repetitions of Pharmacist/Treatment Supplier’s Verifier ID (RXE-14).
623     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
624     * it will return zero.
625     */
626    public int getRxe14_PharmacistTreatmentSupplierSVerifierIDReps() {
627        return this.getReps(14);
628    }
629
630
631    /**
632     * Inserts a repetition of
633     * RXE-14: "Pharmacist/Treatment Supplier’s Verifier ID" at a specific index
634     *
635     * @param rep The repetition index (0-indexed)
636     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
637     */
638    public XCN insertPharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
639        return (XCN) super.insertRepetition(14, rep);
640    }
641
642
643    /**
644     * Inserts a repetition of
645     * RXE-14: "Pharmacist/Treatment Supplier’s Verifier ID" at a specific index
646     *
647     * @param rep The repetition index (0-indexed)
648     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
649     */
650    public XCN insertRxe14_PharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
651        return (XCN) super.insertRepetition(14, rep);
652    }
653
654
655    /**
656     * Removes a repetition of
657     * RXE-14: "Pharmacist/Treatment Supplier’s Verifier ID" at a specific index
658     *
659     * @param rep The repetition index (0-indexed)
660     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
661     */
662    public XCN removePharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
663        return (XCN) super.removeRepetition(14, rep);
664    }
665
666
667    /**
668     * Removes a repetition of
669     * RXE-14: "Pharmacist/Treatment Supplier’s Verifier ID" at a specific index
670     *
671     * @param rep The repetition index (0-indexed)
672     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
673     */
674    public XCN removeRxe14_PharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
675        return (XCN) super.removeRepetition(14, rep);
676    }
677
678
679
680
681    /**
682     * Returns
683     * RXE-15: "Prescription Number" - creates it if necessary
684     */
685    public ST getPrescriptionNumber() { 
686                ST retVal = this.getTypedField(15, 0);
687                return retVal;
688    }
689    
690    /**
691     * Returns
692     * RXE-15: "Prescription Number" - creates it if necessary
693     */
694    public ST getRxe15_PrescriptionNumber() { 
695                ST retVal = this.getTypedField(15, 0);
696                return retVal;
697    }
698
699
700
701    /**
702     * Returns
703     * RXE-16: "Number of Refills Remaining" - creates it if necessary
704     */
705    public NM getNumberOfRefillsRemaining() { 
706                NM retVal = this.getTypedField(16, 0);
707                return retVal;
708    }
709    
710    /**
711     * Returns
712     * RXE-16: "Number of Refills Remaining" - creates it if necessary
713     */
714    public NM getRxe16_NumberOfRefillsRemaining() { 
715                NM retVal = this.getTypedField(16, 0);
716                return retVal;
717    }
718
719
720
721    /**
722     * Returns
723     * RXE-17: "Number of Refills/Doses Dispensed" - creates it if necessary
724     */
725    public NM getNumberOfRefillsDosesDispensed() { 
726                NM retVal = this.getTypedField(17, 0);
727                return retVal;
728    }
729    
730    /**
731     * Returns
732     * RXE-17: "Number of Refills/Doses Dispensed" - creates it if necessary
733     */
734    public NM getRxe17_NumberOfRefillsDosesDispensed() { 
735                NM retVal = this.getTypedField(17, 0);
736                return retVal;
737    }
738
739
740
741    /**
742     * Returns
743     * RXE-18: "D/T of Most Recent Refill or Dose Dispensed" - creates it if necessary
744     */
745    public TS getDTOfMostRecentRefillOrDoseDispensed() { 
746                TS retVal = this.getTypedField(18, 0);
747                return retVal;
748    }
749    
750    /**
751     * Returns
752     * RXE-18: "D/T of Most Recent Refill or Dose Dispensed" - creates it if necessary
753     */
754    public TS getRxe18_DTOfMostRecentRefillOrDoseDispensed() { 
755                TS retVal = this.getTypedField(18, 0);
756                return retVal;
757    }
758
759
760
761    /**
762     * Returns
763     * RXE-19: "Total Daily Dose" - creates it if necessary
764     */
765    public CQ getTotalDailyDose() { 
766                CQ retVal = this.getTypedField(19, 0);
767                return retVal;
768    }
769    
770    /**
771     * Returns
772     * RXE-19: "Total Daily Dose" - creates it if necessary
773     */
774    public CQ getRxe19_TotalDailyDose() { 
775                CQ retVal = this.getTypedField(19, 0);
776                return retVal;
777    }
778
779
780
781    /**
782     * Returns
783     * RXE-20: "Needs Human Review" - creates it if necessary
784     */
785    public ID getNeedsHumanReview() { 
786                ID retVal = this.getTypedField(20, 0);
787                return retVal;
788    }
789    
790    /**
791     * Returns
792     * RXE-20: "Needs Human Review" - creates it if necessary
793     */
794    public ID getRxe20_NeedsHumanReview() { 
795                ID retVal = this.getTypedField(20, 0);
796                return retVal;
797    }
798
799
800    /**
801     * Returns all repetitions of Pharmacy/Treatment Supplier’s Special Dispensing Instructions (RXE-21).
802     */
803    public CE[] getPharmacyTreatmentSupplierSSpecialDispensingInstructions() {
804        CE[] retVal = this.getTypedField(21, new CE[0]);
805        return retVal;
806    }
807
808
809    /**
810     * Returns all repetitions of Pharmacy/Treatment Supplier’s Special Dispensing Instructions (RXE-21).
811     */
812    public CE[] getRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions() {
813        CE[] retVal = this.getTypedField(21, new CE[0]);
814        return retVal;
815    }
816
817
818    /**
819     * Returns a count of the current number of repetitions of Pharmacy/Treatment Supplier’s Special Dispensing Instructions (RXE-21).
820     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
821     * it will return zero.
822     */
823    public int getPharmacyTreatmentSupplierSSpecialDispensingInstructionsReps() {
824        return this.getReps(21);
825    }
826
827
828    /**
829     * Returns a specific repetition of
830     * RXE-21: "Pharmacy/Treatment Supplier’s Special Dispensing Instructions" - creates it if necessary
831     *
832     * @param rep The repetition index (0-indexed)
833     */
834    public CE getPharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) { 
835                CE retVal = this.getTypedField(21, rep);
836                return retVal;
837    }
838
839    /**
840     * Returns a specific repetition of
841     * RXE-21: "Pharmacy/Treatment Supplier’s Special Dispensing Instructions" - creates it if necessary
842     *
843     * @param rep The repetition index (0-indexed)
844     */
845    public CE getRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) { 
846                CE retVal = this.getTypedField(21, rep);
847                return retVal;
848    }
849
850    /**
851     * Returns a count of the current number of repetitions of Pharmacy/Treatment Supplier’s Special Dispensing Instructions (RXE-21).
852     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
853     * it will return zero.
854     */
855    public int getRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructionsReps() {
856        return this.getReps(21);
857    }
858
859
860    /**
861     * Inserts a repetition of
862     * RXE-21: "Pharmacy/Treatment Supplier’s Special Dispensing Instructions" at a specific index
863     *
864     * @param rep The repetition index (0-indexed)
865     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
866     */
867    public CE insertPharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
868        return (CE) super.insertRepetition(21, rep);
869    }
870
871
872    /**
873     * Inserts a repetition of
874     * RXE-21: "Pharmacy/Treatment Supplier’s Special Dispensing Instructions" at a specific index
875     *
876     * @param rep The repetition index (0-indexed)
877     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
878     */
879    public CE insertRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
880        return (CE) super.insertRepetition(21, rep);
881    }
882
883
884    /**
885     * Removes a repetition of
886     * RXE-21: "Pharmacy/Treatment Supplier’s Special Dispensing Instructions" at a specific index
887     *
888     * @param rep The repetition index (0-indexed)
889     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
890     */
891    public CE removePharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
892        return (CE) super.removeRepetition(21, rep);
893    }
894
895
896    /**
897     * Removes a repetition of
898     * RXE-21: "Pharmacy/Treatment Supplier’s Special Dispensing Instructions" at a specific index
899     *
900     * @param rep The repetition index (0-indexed)
901     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
902     */
903    public CE removeRxe21_PharmacyTreatmentSupplierSSpecialDispensingInstructions(int rep) throws HL7Exception { 
904        return (CE) super.removeRepetition(21, rep);
905    }
906
907
908
909
910    /**
911     * Returns
912     * RXE-22: "Give Per (Time Unit)" - creates it if necessary
913     */
914    public ST getGivePerTimeUnit() { 
915                ST retVal = this.getTypedField(22, 0);
916                return retVal;
917    }
918    
919    /**
920     * Returns
921     * RXE-22: "Give Per (Time Unit)" - creates it if necessary
922     */
923    public ST getRxe22_GivePerTimeUnit() { 
924                ST retVal = this.getTypedField(22, 0);
925                return retVal;
926    }
927
928
929
930    /**
931     * Returns
932     * RXE-23: "Give Rate Amount" - creates it if necessary
933     */
934    public ST getGiveRateAmount() { 
935                ST retVal = this.getTypedField(23, 0);
936                return retVal;
937    }
938    
939    /**
940     * Returns
941     * RXE-23: "Give Rate Amount" - creates it if necessary
942     */
943    public ST getRxe23_GiveRateAmount() { 
944                ST retVal = this.getTypedField(23, 0);
945                return retVal;
946    }
947
948
949
950    /**
951     * Returns
952     * RXE-24: "Give Rate Units" - creates it if necessary
953     */
954    public CE getGiveRateUnits() { 
955                CE retVal = this.getTypedField(24, 0);
956                return retVal;
957    }
958    
959    /**
960     * Returns
961     * RXE-24: "Give Rate Units" - creates it if necessary
962     */
963    public CE getRxe24_GiveRateUnits() { 
964                CE retVal = this.getTypedField(24, 0);
965                return retVal;
966    }
967
968
969
970    /**
971     * Returns
972     * RXE-25: "Give Strength" - creates it if necessary
973     */
974    public NM getGiveStrength() { 
975                NM retVal = this.getTypedField(25, 0);
976                return retVal;
977    }
978    
979    /**
980     * Returns
981     * RXE-25: "Give Strength" - creates it if necessary
982     */
983    public NM getRxe25_GiveStrength() { 
984                NM retVal = this.getTypedField(25, 0);
985                return retVal;
986    }
987
988
989
990    /**
991     * Returns
992     * RXE-26: "Give Strength Units" - creates it if necessary
993     */
994    public CE getGiveStrengthUnits() { 
995                CE retVal = this.getTypedField(26, 0);
996                return retVal;
997    }
998    
999    /**
1000     * Returns
1001     * RXE-26: "Give Strength Units" - creates it if necessary
1002     */
1003    public CE getRxe26_GiveStrengthUnits() { 
1004                CE retVal = this.getTypedField(26, 0);
1005                return retVal;
1006    }
1007
1008
1009    /**
1010     * Returns all repetitions of Give Indication (RXE-27).
1011     */
1012    public CE[] getGiveIndication() {
1013        CE[] retVal = this.getTypedField(27, new CE[0]);
1014        return retVal;
1015    }
1016
1017
1018    /**
1019     * Returns all repetitions of Give Indication (RXE-27).
1020     */
1021    public CE[] getRxe27_GiveIndication() {
1022        CE[] retVal = this.getTypedField(27, new CE[0]);
1023        return retVal;
1024    }
1025
1026
1027    /**
1028     * Returns a count of the current number of repetitions of Give Indication (RXE-27).
1029     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1030     * it will return zero.
1031     */
1032    public int getGiveIndicationReps() {
1033        return this.getReps(27);
1034    }
1035
1036
1037    /**
1038     * Returns a specific repetition of
1039     * RXE-27: "Give Indication" - creates it if necessary
1040     *
1041     * @param rep The repetition index (0-indexed)
1042     */
1043    public CE getGiveIndication(int rep) { 
1044                CE retVal = this.getTypedField(27, rep);
1045                return retVal;
1046    }
1047
1048    /**
1049     * Returns a specific repetition of
1050     * RXE-27: "Give Indication" - creates it if necessary
1051     *
1052     * @param rep The repetition index (0-indexed)
1053     */
1054    public CE getRxe27_GiveIndication(int rep) { 
1055                CE retVal = this.getTypedField(27, rep);
1056                return retVal;
1057    }
1058
1059    /**
1060     * Returns a count of the current number of repetitions of Give Indication (RXE-27).
1061     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1062     * it will return zero.
1063     */
1064    public int getRxe27_GiveIndicationReps() {
1065        return this.getReps(27);
1066    }
1067
1068
1069    /**
1070     * Inserts a repetition of
1071     * RXE-27: "Give Indication" at a specific index
1072     *
1073     * @param rep The repetition index (0-indexed)
1074     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1075     */
1076    public CE insertGiveIndication(int rep) throws HL7Exception { 
1077        return (CE) super.insertRepetition(27, rep);
1078    }
1079
1080
1081    /**
1082     * Inserts a repetition of
1083     * RXE-27: "Give Indication" at a specific index
1084     *
1085     * @param rep The repetition index (0-indexed)
1086     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1087     */
1088    public CE insertRxe27_GiveIndication(int rep) throws HL7Exception { 
1089        return (CE) super.insertRepetition(27, rep);
1090    }
1091
1092
1093    /**
1094     * Removes a repetition of
1095     * RXE-27: "Give Indication" at a specific index
1096     *
1097     * @param rep The repetition index (0-indexed)
1098     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1099     */
1100    public CE removeGiveIndication(int rep) throws HL7Exception { 
1101        return (CE) super.removeRepetition(27, rep);
1102    }
1103
1104
1105    /**
1106     * Removes a repetition of
1107     * RXE-27: "Give Indication" at a specific index
1108     *
1109     * @param rep The repetition index (0-indexed)
1110     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1111     */
1112    public CE removeRxe27_GiveIndication(int rep) throws HL7Exception { 
1113        return (CE) super.removeRepetition(27, rep);
1114    }
1115
1116
1117
1118
1119    /**
1120     * Returns
1121     * RXE-28: "Dispense Package Size" - creates it if necessary
1122     */
1123    public NM getDispensePackageSize() { 
1124                NM retVal = this.getTypedField(28, 0);
1125                return retVal;
1126    }
1127    
1128    /**
1129     * Returns
1130     * RXE-28: "Dispense Package Size" - creates it if necessary
1131     */
1132    public NM getRxe28_DispensePackageSize() { 
1133                NM retVal = this.getTypedField(28, 0);
1134                return retVal;
1135    }
1136
1137
1138
1139    /**
1140     * Returns
1141     * RXE-29: "Dispense Package Size Unit" - creates it if necessary
1142     */
1143    public CE getDispensePackageSizeUnit() { 
1144                CE retVal = this.getTypedField(29, 0);
1145                return retVal;
1146    }
1147    
1148    /**
1149     * Returns
1150     * RXE-29: "Dispense Package Size Unit" - creates it if necessary
1151     */
1152    public CE getRxe29_DispensePackageSizeUnit() { 
1153                CE retVal = this.getTypedField(29, 0);
1154                return retVal;
1155    }
1156
1157
1158
1159    /**
1160     * Returns
1161     * RXE-30: "Dispense Package Method" - creates it if necessary
1162     */
1163    public ID getDispensePackageMethod() { 
1164                ID retVal = this.getTypedField(30, 0);
1165                return retVal;
1166    }
1167    
1168    /**
1169     * Returns
1170     * RXE-30: "Dispense Package Method" - creates it if necessary
1171     */
1172    public ID getRxe30_DispensePackageMethod() { 
1173                ID retVal = this.getTypedField(30, 0);
1174                return retVal;
1175    }
1176
1177
1178
1179
1180
1181    /** {@inheritDoc} */   
1182    protected Type createNewTypeWithoutReflection(int field) {
1183       switch (field) {
1184          case 0: return new TQ(getMessage());
1185          case 1: return new CE(getMessage());
1186          case 2: return new NM(getMessage());
1187          case 3: return new NM(getMessage());
1188          case 4: return new CE(getMessage());
1189          case 5: return new CE(getMessage());
1190          case 6: return new CE(getMessage());
1191          case 7: return new LA1(getMessage());
1192          case 8: return new ID(getMessage(), new Integer( 167 ));
1193          case 9: return new NM(getMessage());
1194          case 10: return new CE(getMessage());
1195          case 11: return new NM(getMessage());
1196          case 12: return new XCN(getMessage());
1197          case 13: return new XCN(getMessage());
1198          case 14: return new ST(getMessage());
1199          case 15: return new NM(getMessage());
1200          case 16: return new NM(getMessage());
1201          case 17: return new TS(getMessage());
1202          case 18: return new CQ(getMessage());
1203          case 19: return new ID(getMessage(), new Integer( 136 ));
1204          case 20: return new CE(getMessage());
1205          case 21: return new ST(getMessage());
1206          case 22: return new ST(getMessage());
1207          case 23: return new CE(getMessage());
1208          case 24: return new NM(getMessage());
1209          case 25: return new CE(getMessage());
1210          case 26: return new CE(getMessage());
1211          case 27: return new NM(getMessage());
1212          case 28: return new CE(getMessage());
1213          case 29: return new ID(getMessage(), new Integer( 321 ));
1214          default: return null;
1215       }
1216   }
1217
1218
1219}
1220