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.v251.segment;
035
036// import ca.uhn.hl7v2.model.v251.group.*;
037import ca.uhn.hl7v2.model.v251.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 RXO message segment (Pharmacy/Treatment Order). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>RXO-1: Requested Give Code (CE) <b>optional </b>
053     * <li>RXO-2: Requested Give Amount - Minimum (NM) <b>optional </b>
054     * <li>RXO-3: Requested Give Amount - Maximum (NM) <b>optional </b>
055     * <li>RXO-4: Requested Give Units (CE) <b>optional </b>
056     * <li>RXO-5: Requested Dosage Form (CE) <b>optional </b>
057     * <li>RXO-6: Provider's Pharmacy/Treatment Instructions (CE) <b>optional repeating</b>
058     * <li>RXO-7: Provider's Administration Instructions (CE) <b>optional repeating</b>
059     * <li>RXO-8: Deliver-To Location (LA1) <b>optional </b>
060     * <li>RXO-9: Allow Substitutions (ID) <b>optional </b>
061     * <li>RXO-10: Requested Dispense Code (CE) <b>optional </b>
062     * <li>RXO-11: Requested Dispense Amount (NM) <b>optional </b>
063     * <li>RXO-12: Requested Dispense Units (CE) <b>optional </b>
064     * <li>RXO-13: Number Of Refills (NM) <b>optional </b>
065     * <li>RXO-14: Ordering Provider's DEA Number (XCN) <b>optional repeating</b>
066     * <li>RXO-15: Pharmacist/Treatment Supplier's Verifier ID (XCN) <b>optional repeating</b>
067     * <li>RXO-16: Needs Human Review (ID) <b>optional </b>
068     * <li>RXO-17: Requested Give Per (Time Unit) (ST) <b>optional </b>
069     * <li>RXO-18: Requested Give Strength (NM) <b>optional </b>
070     * <li>RXO-19: Requested Give Strength Units (CE) <b>optional </b>
071     * <li>RXO-20: Indication (CE) <b>optional repeating</b>
072     * <li>RXO-21: Requested Give Rate Amount (ST) <b>optional </b>
073     * <li>RXO-22: Requested Give Rate Units (CE) <b>optional </b>
074     * <li>RXO-23: Total Daily Dose (CQ) <b>optional </b>
075     * <li>RXO-24: Supplementary Code (CE) <b>optional repeating</b>
076     * <li>RXO-25: Requested Drug Strength Volume (NM) <b>optional </b>
077     * <li>RXO-26: Requested Drug Strength Volume Units (CWE) <b>optional </b>
078     * <li>RXO-27: Pharmacy Order Type (ID) <b>optional </b>
079     * <li>RXO-28: Dispensing Interval (NM) <b>optional </b>
080 * </ul>
081 */
082@SuppressWarnings("unused")
083public class RXO extends AbstractSegment {
084
085    /** 
086     * Creates a new RXO segment
087     */
088    public RXO(Group parent, ModelClassFactory factory) {
089       super(parent, factory);
090       init(factory);
091    }
092
093    private void init(ModelClassFactory factory) {
094       try {
095                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Give Code");
096                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Requested Give Amount - Minimum");
097                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Requested Give Amount - Maximum");
098                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Give Units");
099                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Dosage Form");
100                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Provider's Pharmacy/Treatment Instructions");
101                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Provider's Administration Instructions");
102                                  this.add(LA1.class, false, 1, 200, new Object[]{ getMessage() }, "Deliver-To Location");
103                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(161) }, "Allow Substitutions");
104                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Dispense Code");
105                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Requested Dispense Amount");
106                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Dispense Units");
107                                  this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Number Of Refills");
108                                  this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Ordering Provider's DEA Number");
109                                  this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Pharmacist/Treatment Supplier's Verifier ID");
110                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Needs Human Review");
111                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Requested Give Per (Time Unit)");
112                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Requested Give Strength");
113                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Give Strength Units");
114                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Indication");
115                                  this.add(ST.class, false, 1, 6, new Object[]{ getMessage() }, "Requested Give Rate Amount");
116                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Give Rate Units");
117                                  this.add(CQ.class, false, 1, 10, new Object[]{ getMessage() }, "Total Daily Dose");
118                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Supplementary Code");
119                                  this.add(NM.class, false, 1, 5, new Object[]{ getMessage() }, "Requested Drug Strength Volume");
120                                  this.add(CWE.class, false, 1, 250, new Object[]{ getMessage() }, "Requested Drug Strength Volume Units");
121                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(480) }, "Pharmacy Order Type");
122                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Dispensing Interval");
123       } catch(HL7Exception e) {
124          log.error("Unexpected error creating RXO - this is probably a bug in the source code generator.", e);
125       }
126    }
127
128
129
130    /**
131     * Returns
132     * RXO-1: "Requested Give Code" - creates it if necessary
133     */
134    public CE getRequestedGiveCode() { 
135                CE retVal = this.getTypedField(1, 0);
136                return retVal;
137    }
138    
139    /**
140     * Returns
141     * RXO-1: "Requested Give Code" - creates it if necessary
142     */
143    public CE getRxo1_RequestedGiveCode() { 
144                CE retVal = this.getTypedField(1, 0);
145                return retVal;
146    }
147
148
149
150    /**
151     * Returns
152     * RXO-2: "Requested Give Amount - Minimum" - creates it if necessary
153     */
154    public NM getRequestedGiveAmountMinimum() { 
155                NM retVal = this.getTypedField(2, 0);
156                return retVal;
157    }
158    
159    /**
160     * Returns
161     * RXO-2: "Requested Give Amount - Minimum" - creates it if necessary
162     */
163    public NM getRxo2_RequestedGiveAmountMinimum() { 
164                NM retVal = this.getTypedField(2, 0);
165                return retVal;
166    }
167
168
169
170    /**
171     * Returns
172     * RXO-3: "Requested Give Amount - Maximum" - creates it if necessary
173     */
174    public NM getRequestedGiveAmountMaximum() { 
175                NM retVal = this.getTypedField(3, 0);
176                return retVal;
177    }
178    
179    /**
180     * Returns
181     * RXO-3: "Requested Give Amount - Maximum" - creates it if necessary
182     */
183    public NM getRxo3_RequestedGiveAmountMaximum() { 
184                NM retVal = this.getTypedField(3, 0);
185                return retVal;
186    }
187
188
189
190    /**
191     * Returns
192     * RXO-4: "Requested Give Units" - creates it if necessary
193     */
194    public CE getRequestedGiveUnits() { 
195                CE retVal = this.getTypedField(4, 0);
196                return retVal;
197    }
198    
199    /**
200     * Returns
201     * RXO-4: "Requested Give Units" - creates it if necessary
202     */
203    public CE getRxo4_RequestedGiveUnits() { 
204                CE retVal = this.getTypedField(4, 0);
205                return retVal;
206    }
207
208
209
210    /**
211     * Returns
212     * RXO-5: "Requested Dosage Form" - creates it if necessary
213     */
214    public CE getRequestedDosageForm() { 
215                CE retVal = this.getTypedField(5, 0);
216                return retVal;
217    }
218    
219    /**
220     * Returns
221     * RXO-5: "Requested Dosage Form" - creates it if necessary
222     */
223    public CE getRxo5_RequestedDosageForm() { 
224                CE retVal = this.getTypedField(5, 0);
225                return retVal;
226    }
227
228
229    /**
230     * Returns all repetitions of Provider's Pharmacy/Treatment Instructions (RXO-6).
231     */
232    public CE[] getProviderSPharmacyTreatmentInstructions() {
233        CE[] retVal = this.getTypedField(6, new CE[0]);
234        return retVal;
235    }
236
237
238    /**
239     * Returns all repetitions of Provider's Pharmacy/Treatment Instructions (RXO-6).
240     */
241    public CE[] getRxo6_ProviderSPharmacyTreatmentInstructions() {
242        CE[] retVal = this.getTypedField(6, new CE[0]);
243        return retVal;
244    }
245
246
247    /**
248     * Returns a count of the current number of repetitions of Provider's Pharmacy/Treatment Instructions (RXO-6).
249     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
250     * it will return zero.
251     */
252    public int getProviderSPharmacyTreatmentInstructionsReps() {
253        return this.getReps(6);
254    }
255
256
257    /**
258     * Returns a specific repetition of
259     * RXO-6: "Provider's Pharmacy/Treatment Instructions" - creates it if necessary
260     *
261     * @param rep The repetition index (0-indexed)
262     */
263    public CE getProviderSPharmacyTreatmentInstructions(int rep) { 
264                CE retVal = this.getTypedField(6, rep);
265                return retVal;
266    }
267
268    /**
269     * Returns a specific repetition of
270     * RXO-6: "Provider's Pharmacy/Treatment Instructions" - creates it if necessary
271     *
272     * @param rep The repetition index (0-indexed)
273     */
274    public CE getRxo6_ProviderSPharmacyTreatmentInstructions(int rep) { 
275                CE retVal = this.getTypedField(6, rep);
276                return retVal;
277    }
278
279    /**
280     * Returns a count of the current number of repetitions of Provider's Pharmacy/Treatment Instructions (RXO-6).
281     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
282     * it will return zero.
283     */
284    public int getRxo6_ProviderSPharmacyTreatmentInstructionsReps() {
285        return this.getReps(6);
286    }
287
288
289    /**
290     * Inserts a repetition of
291     * RXO-6: "Provider's Pharmacy/Treatment Instructions" at a specific index
292     *
293     * @param rep The repetition index (0-indexed)
294     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
295     */
296    public CE insertProviderSPharmacyTreatmentInstructions(int rep) throws HL7Exception { 
297        return (CE) super.insertRepetition(6, rep);
298    }
299
300
301    /**
302     * Inserts a repetition of
303     * RXO-6: "Provider's Pharmacy/Treatment Instructions" at a specific index
304     *
305     * @param rep The repetition index (0-indexed)
306     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
307     */
308    public CE insertRxo6_ProviderSPharmacyTreatmentInstructions(int rep) throws HL7Exception { 
309        return (CE) super.insertRepetition(6, rep);
310    }
311
312
313    /**
314     * Removes a repetition of
315     * RXO-6: "Provider's Pharmacy/Treatment 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 removeProviderSPharmacyTreatmentInstructions(int rep) throws HL7Exception { 
321        return (CE) super.removeRepetition(6, rep);
322    }
323
324
325    /**
326     * Removes a repetition of
327     * RXO-6: "Provider's Pharmacy/Treatment 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 removeRxo6_ProviderSPharmacyTreatmentInstructions(int rep) throws HL7Exception { 
333        return (CE) super.removeRepetition(6, rep);
334    }
335
336
337
338    /**
339     * Returns all repetitions of Provider's Administration Instructions (RXO-7).
340     */
341    public CE[] getProviderSAdministrationInstructions() {
342        CE[] retVal = this.getTypedField(7, new CE[0]);
343        return retVal;
344    }
345
346
347    /**
348     * Returns all repetitions of Provider's Administration Instructions (RXO-7).
349     */
350    public CE[] getRxo7_ProviderSAdministrationInstructions() {
351        CE[] retVal = this.getTypedField(7, new CE[0]);
352        return retVal;
353    }
354
355
356    /**
357     * Returns a count of the current number of repetitions of Provider's Administration Instructions (RXO-7).
358     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
359     * it will return zero.
360     */
361    public int getProviderSAdministrationInstructionsReps() {
362        return this.getReps(7);
363    }
364
365
366    /**
367     * Returns a specific repetition of
368     * RXO-7: "Provider's Administration Instructions" - creates it if necessary
369     *
370     * @param rep The repetition index (0-indexed)
371     */
372    public CE getProviderSAdministrationInstructions(int rep) { 
373                CE retVal = this.getTypedField(7, rep);
374                return retVal;
375    }
376
377    /**
378     * Returns a specific repetition of
379     * RXO-7: "Provider's Administration Instructions" - creates it if necessary
380     *
381     * @param rep The repetition index (0-indexed)
382     */
383    public CE getRxo7_ProviderSAdministrationInstructions(int rep) { 
384                CE retVal = this.getTypedField(7, rep);
385                return retVal;
386    }
387
388    /**
389     * Returns a count of the current number of repetitions of Provider's Administration Instructions (RXO-7).
390     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
391     * it will return zero.
392     */
393    public int getRxo7_ProviderSAdministrationInstructionsReps() {
394        return this.getReps(7);
395    }
396
397
398    /**
399     * Inserts a repetition of
400     * RXO-7: "Provider's Administration Instructions" at a specific index
401     *
402     * @param rep The repetition index (0-indexed)
403     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
404     */
405    public CE insertProviderSAdministrationInstructions(int rep) throws HL7Exception { 
406        return (CE) super.insertRepetition(7, rep);
407    }
408
409
410    /**
411     * Inserts a repetition of
412     * RXO-7: "Provider's Administration Instructions" at a specific index
413     *
414     * @param rep The repetition index (0-indexed)
415     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
416     */
417    public CE insertRxo7_ProviderSAdministrationInstructions(int rep) throws HL7Exception { 
418        return (CE) super.insertRepetition(7, rep);
419    }
420
421
422    /**
423     * Removes a repetition of
424     * RXO-7: "Provider's Administration Instructions" at a specific index
425     *
426     * @param rep The repetition index (0-indexed)
427     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
428     */
429    public CE removeProviderSAdministrationInstructions(int rep) throws HL7Exception { 
430        return (CE) super.removeRepetition(7, rep);
431    }
432
433
434    /**
435     * Removes a repetition of
436     * RXO-7: "Provider's Administration Instructions" at a specific index
437     *
438     * @param rep The repetition index (0-indexed)
439     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
440     */
441    public CE removeRxo7_ProviderSAdministrationInstructions(int rep) throws HL7Exception { 
442        return (CE) super.removeRepetition(7, rep);
443    }
444
445
446
447
448    /**
449     * Returns
450     * RXO-8: "Deliver-To Location" - creates it if necessary
451     */
452    public LA1 getDeliverToLocation() { 
453                LA1 retVal = this.getTypedField(8, 0);
454                return retVal;
455    }
456    
457    /**
458     * Returns
459     * RXO-8: "Deliver-To Location" - creates it if necessary
460     */
461    public LA1 getRxo8_DeliverToLocation() { 
462                LA1 retVal = this.getTypedField(8, 0);
463                return retVal;
464    }
465
466
467
468    /**
469     * Returns
470     * RXO-9: "Allow Substitutions" - creates it if necessary
471     */
472    public ID getAllowSubstitutions() { 
473                ID retVal = this.getTypedField(9, 0);
474                return retVal;
475    }
476    
477    /**
478     * Returns
479     * RXO-9: "Allow Substitutions" - creates it if necessary
480     */
481    public ID getRxo9_AllowSubstitutions() { 
482                ID retVal = this.getTypedField(9, 0);
483                return retVal;
484    }
485
486
487
488    /**
489     * Returns
490     * RXO-10: "Requested Dispense Code" - creates it if necessary
491     */
492    public CE getRequestedDispenseCode() { 
493                CE retVal = this.getTypedField(10, 0);
494                return retVal;
495    }
496    
497    /**
498     * Returns
499     * RXO-10: "Requested Dispense Code" - creates it if necessary
500     */
501    public CE getRxo10_RequestedDispenseCode() { 
502                CE retVal = this.getTypedField(10, 0);
503                return retVal;
504    }
505
506
507
508    /**
509     * Returns
510     * RXO-11: "Requested Dispense Amount" - creates it if necessary
511     */
512    public NM getRequestedDispenseAmount() { 
513                NM retVal = this.getTypedField(11, 0);
514                return retVal;
515    }
516    
517    /**
518     * Returns
519     * RXO-11: "Requested Dispense Amount" - creates it if necessary
520     */
521    public NM getRxo11_RequestedDispenseAmount() { 
522                NM retVal = this.getTypedField(11, 0);
523                return retVal;
524    }
525
526
527
528    /**
529     * Returns
530     * RXO-12: "Requested Dispense Units" - creates it if necessary
531     */
532    public CE getRequestedDispenseUnits() { 
533                CE retVal = this.getTypedField(12, 0);
534                return retVal;
535    }
536    
537    /**
538     * Returns
539     * RXO-12: "Requested Dispense Units" - creates it if necessary
540     */
541    public CE getRxo12_RequestedDispenseUnits() { 
542                CE retVal = this.getTypedField(12, 0);
543                return retVal;
544    }
545
546
547
548    /**
549     * Returns
550     * RXO-13: "Number Of Refills" - creates it if necessary
551     */
552    public NM getNumberOfRefills() { 
553                NM retVal = this.getTypedField(13, 0);
554                return retVal;
555    }
556    
557    /**
558     * Returns
559     * RXO-13: "Number Of Refills" - creates it if necessary
560     */
561    public NM getRxo13_NumberOfRefills() { 
562                NM retVal = this.getTypedField(13, 0);
563                return retVal;
564    }
565
566
567    /**
568     * Returns all repetitions of Ordering Provider's DEA Number (RXO-14).
569     */
570    public XCN[] getOrderingProviderSDEANumber() {
571        XCN[] retVal = this.getTypedField(14, new XCN[0]);
572        return retVal;
573    }
574
575
576    /**
577     * Returns all repetitions of Ordering Provider's DEA Number (RXO-14).
578     */
579    public XCN[] getRxo14_OrderingProviderSDEANumber() {
580        XCN[] retVal = this.getTypedField(14, new XCN[0]);
581        return retVal;
582    }
583
584
585    /**
586     * Returns a count of the current number of repetitions of Ordering Provider's DEA Number (RXO-14).
587     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
588     * it will return zero.
589     */
590    public int getOrderingProviderSDEANumberReps() {
591        return this.getReps(14);
592    }
593
594
595    /**
596     * Returns a specific repetition of
597     * RXO-14: "Ordering Provider's DEA Number" - creates it if necessary
598     *
599     * @param rep The repetition index (0-indexed)
600     */
601    public XCN getOrderingProviderSDEANumber(int rep) { 
602                XCN retVal = this.getTypedField(14, rep);
603                return retVal;
604    }
605
606    /**
607     * Returns a specific repetition of
608     * RXO-14: "Ordering Provider's DEA Number" - creates it if necessary
609     *
610     * @param rep The repetition index (0-indexed)
611     */
612    public XCN getRxo14_OrderingProviderSDEANumber(int rep) { 
613                XCN retVal = this.getTypedField(14, rep);
614                return retVal;
615    }
616
617    /**
618     * Returns a count of the current number of repetitions of Ordering Provider's DEA Number (RXO-14).
619     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
620     * it will return zero.
621     */
622    public int getRxo14_OrderingProviderSDEANumberReps() {
623        return this.getReps(14);
624    }
625
626
627    /**
628     * Inserts a repetition of
629     * RXO-14: "Ordering Provider's DEA Number" at a specific index
630     *
631     * @param rep The repetition index (0-indexed)
632     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
633     */
634    public XCN insertOrderingProviderSDEANumber(int rep) throws HL7Exception { 
635        return (XCN) super.insertRepetition(14, rep);
636    }
637
638
639    /**
640     * Inserts a repetition of
641     * RXO-14: "Ordering Provider's DEA Number" at a specific index
642     *
643     * @param rep The repetition index (0-indexed)
644     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
645     */
646    public XCN insertRxo14_OrderingProviderSDEANumber(int rep) throws HL7Exception { 
647        return (XCN) super.insertRepetition(14, rep);
648    }
649
650
651    /**
652     * Removes a repetition of
653     * RXO-14: "Ordering Provider's DEA Number" at a specific index
654     *
655     * @param rep The repetition index (0-indexed)
656     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
657     */
658    public XCN removeOrderingProviderSDEANumber(int rep) throws HL7Exception { 
659        return (XCN) super.removeRepetition(14, rep);
660    }
661
662
663    /**
664     * Removes a repetition of
665     * RXO-14: "Ordering Provider's DEA Number" at a specific index
666     *
667     * @param rep The repetition index (0-indexed)
668     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
669     */
670    public XCN removeRxo14_OrderingProviderSDEANumber(int rep) throws HL7Exception { 
671        return (XCN) super.removeRepetition(14, rep);
672    }
673
674
675
676    /**
677     * Returns all repetitions of Pharmacist/Treatment Supplier's Verifier ID (RXO-15).
678     */
679    public XCN[] getPharmacistTreatmentSupplierSVerifierID() {
680        XCN[] retVal = this.getTypedField(15, new XCN[0]);
681        return retVal;
682    }
683
684
685    /**
686     * Returns all repetitions of Pharmacist/Treatment Supplier's Verifier ID (RXO-15).
687     */
688    public XCN[] getRxo15_PharmacistTreatmentSupplierSVerifierID() {
689        XCN[] retVal = this.getTypedField(15, new XCN[0]);
690        return retVal;
691    }
692
693
694    /**
695     * Returns a count of the current number of repetitions of Pharmacist/Treatment Supplier's Verifier ID (RXO-15).
696     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
697     * it will return zero.
698     */
699    public int getPharmacistTreatmentSupplierSVerifierIDReps() {
700        return this.getReps(15);
701    }
702
703
704    /**
705     * Returns a specific repetition of
706     * RXO-15: "Pharmacist/Treatment Supplier's Verifier ID" - creates it if necessary
707     *
708     * @param rep The repetition index (0-indexed)
709     */
710    public XCN getPharmacistTreatmentSupplierSVerifierID(int rep) { 
711                XCN retVal = this.getTypedField(15, rep);
712                return retVal;
713    }
714
715    /**
716     * Returns a specific repetition of
717     * RXO-15: "Pharmacist/Treatment Supplier's Verifier ID" - creates it if necessary
718     *
719     * @param rep The repetition index (0-indexed)
720     */
721    public XCN getRxo15_PharmacistTreatmentSupplierSVerifierID(int rep) { 
722                XCN retVal = this.getTypedField(15, rep);
723                return retVal;
724    }
725
726    /**
727     * Returns a count of the current number of repetitions of Pharmacist/Treatment Supplier's Verifier ID (RXO-15).
728     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
729     * it will return zero.
730     */
731    public int getRxo15_PharmacistTreatmentSupplierSVerifierIDReps() {
732        return this.getReps(15);
733    }
734
735
736    /**
737     * Inserts a repetition of
738     * RXO-15: "Pharmacist/Treatment Supplier's Verifier ID" at a specific index
739     *
740     * @param rep The repetition index (0-indexed)
741     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
742     */
743    public XCN insertPharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
744        return (XCN) super.insertRepetition(15, rep);
745    }
746
747
748    /**
749     * Inserts a repetition of
750     * RXO-15: "Pharmacist/Treatment Supplier's Verifier ID" at a specific index
751     *
752     * @param rep The repetition index (0-indexed)
753     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
754     */
755    public XCN insertRxo15_PharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
756        return (XCN) super.insertRepetition(15, rep);
757    }
758
759
760    /**
761     * Removes a repetition of
762     * RXO-15: "Pharmacist/Treatment Supplier's Verifier ID" at a specific index
763     *
764     * @param rep The repetition index (0-indexed)
765     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
766     */
767    public XCN removePharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
768        return (XCN) super.removeRepetition(15, rep);
769    }
770
771
772    /**
773     * Removes a repetition of
774     * RXO-15: "Pharmacist/Treatment Supplier's Verifier ID" at a specific index
775     *
776     * @param rep The repetition index (0-indexed)
777     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
778     */
779    public XCN removeRxo15_PharmacistTreatmentSupplierSVerifierID(int rep) throws HL7Exception { 
780        return (XCN) super.removeRepetition(15, rep);
781    }
782
783
784
785
786    /**
787     * Returns
788     * RXO-16: "Needs Human Review" - creates it if necessary
789     */
790    public ID getNeedsHumanReview() { 
791                ID retVal = this.getTypedField(16, 0);
792                return retVal;
793    }
794    
795    /**
796     * Returns
797     * RXO-16: "Needs Human Review" - creates it if necessary
798     */
799    public ID getRxo16_NeedsHumanReview() { 
800                ID retVal = this.getTypedField(16, 0);
801                return retVal;
802    }
803
804
805
806    /**
807     * Returns
808     * RXO-17: "Requested Give Per (Time Unit)" - creates it if necessary
809     */
810    public ST getRequestedGivePerTimeUnit() { 
811                ST retVal = this.getTypedField(17, 0);
812                return retVal;
813    }
814    
815    /**
816     * Returns
817     * RXO-17: "Requested Give Per (Time Unit)" - creates it if necessary
818     */
819    public ST getRxo17_RequestedGivePerTimeUnit() { 
820                ST retVal = this.getTypedField(17, 0);
821                return retVal;
822    }
823
824
825
826    /**
827     * Returns
828     * RXO-18: "Requested Give Strength" - creates it if necessary
829     */
830    public NM getRequestedGiveStrength() { 
831                NM retVal = this.getTypedField(18, 0);
832                return retVal;
833    }
834    
835    /**
836     * Returns
837     * RXO-18: "Requested Give Strength" - creates it if necessary
838     */
839    public NM getRxo18_RequestedGiveStrength() { 
840                NM retVal = this.getTypedField(18, 0);
841                return retVal;
842    }
843
844
845
846    /**
847     * Returns
848     * RXO-19: "Requested Give Strength Units" - creates it if necessary
849     */
850    public CE getRequestedGiveStrengthUnits() { 
851                CE retVal = this.getTypedField(19, 0);
852                return retVal;
853    }
854    
855    /**
856     * Returns
857     * RXO-19: "Requested Give Strength Units" - creates it if necessary
858     */
859    public CE getRxo19_RequestedGiveStrengthUnits() { 
860                CE retVal = this.getTypedField(19, 0);
861                return retVal;
862    }
863
864
865    /**
866     * Returns all repetitions of Indication (RXO-20).
867     */
868    public CE[] getIndication() {
869        CE[] retVal = this.getTypedField(20, new CE[0]);
870        return retVal;
871    }
872
873
874    /**
875     * Returns all repetitions of Indication (RXO-20).
876     */
877    public CE[] getRxo20_Indication() {
878        CE[] retVal = this.getTypedField(20, new CE[0]);
879        return retVal;
880    }
881
882
883    /**
884     * Returns a count of the current number of repetitions of Indication (RXO-20).
885     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
886     * it will return zero.
887     */
888    public int getIndicationReps() {
889        return this.getReps(20);
890    }
891
892
893    /**
894     * Returns a specific repetition of
895     * RXO-20: "Indication" - creates it if necessary
896     *
897     * @param rep The repetition index (0-indexed)
898     */
899    public CE getIndication(int rep) { 
900                CE retVal = this.getTypedField(20, rep);
901                return retVal;
902    }
903
904    /**
905     * Returns a specific repetition of
906     * RXO-20: "Indication" - creates it if necessary
907     *
908     * @param rep The repetition index (0-indexed)
909     */
910    public CE getRxo20_Indication(int rep) { 
911                CE retVal = this.getTypedField(20, rep);
912                return retVal;
913    }
914
915    /**
916     * Returns a count of the current number of repetitions of Indication (RXO-20).
917     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
918     * it will return zero.
919     */
920    public int getRxo20_IndicationReps() {
921        return this.getReps(20);
922    }
923
924
925    /**
926     * Inserts a repetition of
927     * RXO-20: "Indication" at a specific index
928     *
929     * @param rep The repetition index (0-indexed)
930     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
931     */
932    public CE insertIndication(int rep) throws HL7Exception { 
933        return (CE) super.insertRepetition(20, rep);
934    }
935
936
937    /**
938     * Inserts a repetition of
939     * RXO-20: "Indication" at a specific index
940     *
941     * @param rep The repetition index (0-indexed)
942     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
943     */
944    public CE insertRxo20_Indication(int rep) throws HL7Exception { 
945        return (CE) super.insertRepetition(20, rep);
946    }
947
948
949    /**
950     * Removes a repetition of
951     * RXO-20: "Indication" at a specific index
952     *
953     * @param rep The repetition index (0-indexed)
954     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
955     */
956    public CE removeIndication(int rep) throws HL7Exception { 
957        return (CE) super.removeRepetition(20, rep);
958    }
959
960
961    /**
962     * Removes a repetition of
963     * RXO-20: "Indication" at a specific index
964     *
965     * @param rep The repetition index (0-indexed)
966     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
967     */
968    public CE removeRxo20_Indication(int rep) throws HL7Exception { 
969        return (CE) super.removeRepetition(20, rep);
970    }
971
972
973
974
975    /**
976     * Returns
977     * RXO-21: "Requested Give Rate Amount" - creates it if necessary
978     */
979    public ST getRequestedGiveRateAmount() { 
980                ST retVal = this.getTypedField(21, 0);
981                return retVal;
982    }
983    
984    /**
985     * Returns
986     * RXO-21: "Requested Give Rate Amount" - creates it if necessary
987     */
988    public ST getRxo21_RequestedGiveRateAmount() { 
989                ST retVal = this.getTypedField(21, 0);
990                return retVal;
991    }
992
993
994
995    /**
996     * Returns
997     * RXO-22: "Requested Give Rate Units" - creates it if necessary
998     */
999    public CE getRequestedGiveRateUnits() { 
1000                CE retVal = this.getTypedField(22, 0);
1001                return retVal;
1002    }
1003    
1004    /**
1005     * Returns
1006     * RXO-22: "Requested Give Rate Units" - creates it if necessary
1007     */
1008    public CE getRxo22_RequestedGiveRateUnits() { 
1009                CE retVal = this.getTypedField(22, 0);
1010                return retVal;
1011    }
1012
1013
1014
1015    /**
1016     * Returns
1017     * RXO-23: "Total Daily Dose" - creates it if necessary
1018     */
1019    public CQ getTotalDailyDose() { 
1020                CQ retVal = this.getTypedField(23, 0);
1021                return retVal;
1022    }
1023    
1024    /**
1025     * Returns
1026     * RXO-23: "Total Daily Dose" - creates it if necessary
1027     */
1028    public CQ getRxo23_TotalDailyDose() { 
1029                CQ retVal = this.getTypedField(23, 0);
1030                return retVal;
1031    }
1032
1033
1034    /**
1035     * Returns all repetitions of Supplementary Code (RXO-24).
1036     */
1037    public CE[] getSupplementaryCode() {
1038        CE[] retVal = this.getTypedField(24, new CE[0]);
1039        return retVal;
1040    }
1041
1042
1043    /**
1044     * Returns all repetitions of Supplementary Code (RXO-24).
1045     */
1046    public CE[] getRxo24_SupplementaryCode() {
1047        CE[] retVal = this.getTypedField(24, new CE[0]);
1048        return retVal;
1049    }
1050
1051
1052    /**
1053     * Returns a count of the current number of repetitions of Supplementary Code (RXO-24).
1054     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1055     * it will return zero.
1056     */
1057    public int getSupplementaryCodeReps() {
1058        return this.getReps(24);
1059    }
1060
1061
1062    /**
1063     * Returns a specific repetition of
1064     * RXO-24: "Supplementary Code" - creates it if necessary
1065     *
1066     * @param rep The repetition index (0-indexed)
1067     */
1068    public CE getSupplementaryCode(int rep) { 
1069                CE retVal = this.getTypedField(24, rep);
1070                return retVal;
1071    }
1072
1073    /**
1074     * Returns a specific repetition of
1075     * RXO-24: "Supplementary Code" - creates it if necessary
1076     *
1077     * @param rep The repetition index (0-indexed)
1078     */
1079    public CE getRxo24_SupplementaryCode(int rep) { 
1080                CE retVal = this.getTypedField(24, rep);
1081                return retVal;
1082    }
1083
1084    /**
1085     * Returns a count of the current number of repetitions of Supplementary Code (RXO-24).
1086     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1087     * it will return zero.
1088     */
1089    public int getRxo24_SupplementaryCodeReps() {
1090        return this.getReps(24);
1091    }
1092
1093
1094    /**
1095     * Inserts a repetition of
1096     * RXO-24: "Supplementary Code" at a specific index
1097     *
1098     * @param rep The repetition index (0-indexed)
1099     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1100     */
1101    public CE insertSupplementaryCode(int rep) throws HL7Exception { 
1102        return (CE) super.insertRepetition(24, rep);
1103    }
1104
1105
1106    /**
1107     * Inserts a repetition of
1108     * RXO-24: "Supplementary Code" at a specific index
1109     *
1110     * @param rep The repetition index (0-indexed)
1111     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1112     */
1113    public CE insertRxo24_SupplementaryCode(int rep) throws HL7Exception { 
1114        return (CE) super.insertRepetition(24, rep);
1115    }
1116
1117
1118    /**
1119     * Removes a repetition of
1120     * RXO-24: "Supplementary Code" at a specific index
1121     *
1122     * @param rep The repetition index (0-indexed)
1123     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1124     */
1125    public CE removeSupplementaryCode(int rep) throws HL7Exception { 
1126        return (CE) super.removeRepetition(24, rep);
1127    }
1128
1129
1130    /**
1131     * Removes a repetition of
1132     * RXO-24: "Supplementary Code" at a specific index
1133     *
1134     * @param rep The repetition index (0-indexed)
1135     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1136     */
1137    public CE removeRxo24_SupplementaryCode(int rep) throws HL7Exception { 
1138        return (CE) super.removeRepetition(24, rep);
1139    }
1140
1141
1142
1143
1144    /**
1145     * Returns
1146     * RXO-25: "Requested Drug Strength Volume" - creates it if necessary
1147     */
1148    public NM getRequestedDrugStrengthVolume() { 
1149                NM retVal = this.getTypedField(25, 0);
1150                return retVal;
1151    }
1152    
1153    /**
1154     * Returns
1155     * RXO-25: "Requested Drug Strength Volume" - creates it if necessary
1156     */
1157    public NM getRxo25_RequestedDrugStrengthVolume() { 
1158                NM retVal = this.getTypedField(25, 0);
1159                return retVal;
1160    }
1161
1162
1163
1164    /**
1165     * Returns
1166     * RXO-26: "Requested Drug Strength Volume Units" - creates it if necessary
1167     */
1168    public CWE getRequestedDrugStrengthVolumeUnits() { 
1169                CWE retVal = this.getTypedField(26, 0);
1170                return retVal;
1171    }
1172    
1173    /**
1174     * Returns
1175     * RXO-26: "Requested Drug Strength Volume Units" - creates it if necessary
1176     */
1177    public CWE getRxo26_RequestedDrugStrengthVolumeUnits() { 
1178                CWE retVal = this.getTypedField(26, 0);
1179                return retVal;
1180    }
1181
1182
1183
1184    /**
1185     * Returns
1186     * RXO-27: "Pharmacy Order Type" - creates it if necessary
1187     */
1188    public ID getPharmacyOrderType() { 
1189                ID retVal = this.getTypedField(27, 0);
1190                return retVal;
1191    }
1192    
1193    /**
1194     * Returns
1195     * RXO-27: "Pharmacy Order Type" - creates it if necessary
1196     */
1197    public ID getRxo27_PharmacyOrderType() { 
1198                ID retVal = this.getTypedField(27, 0);
1199                return retVal;
1200    }
1201
1202
1203
1204    /**
1205     * Returns
1206     * RXO-28: "Dispensing Interval" - creates it if necessary
1207     */
1208    public NM getDispensingInterval() { 
1209                NM retVal = this.getTypedField(28, 0);
1210                return retVal;
1211    }
1212    
1213    /**
1214     * Returns
1215     * RXO-28: "Dispensing Interval" - creates it if necessary
1216     */
1217    public NM getRxo28_DispensingInterval() { 
1218                NM retVal = this.getTypedField(28, 0);
1219                return retVal;
1220    }
1221
1222
1223
1224
1225
1226    /** {@inheritDoc} */   
1227    protected Type createNewTypeWithoutReflection(int field) {
1228       switch (field) {
1229          case 0: return new CE(getMessage());
1230          case 1: return new NM(getMessage());
1231          case 2: return new NM(getMessage());
1232          case 3: return new CE(getMessage());
1233          case 4: return new CE(getMessage());
1234          case 5: return new CE(getMessage());
1235          case 6: return new CE(getMessage());
1236          case 7: return new LA1(getMessage());
1237          case 8: return new ID(getMessage(), new Integer( 161 ));
1238          case 9: return new CE(getMessage());
1239          case 10: return new NM(getMessage());
1240          case 11: return new CE(getMessage());
1241          case 12: return new NM(getMessage());
1242          case 13: return new XCN(getMessage());
1243          case 14: return new XCN(getMessage());
1244          case 15: return new ID(getMessage(), new Integer( 136 ));
1245          case 16: return new ST(getMessage());
1246          case 17: return new NM(getMessage());
1247          case 18: return new CE(getMessage());
1248          case 19: return new CE(getMessage());
1249          case 20: return new ST(getMessage());
1250          case 21: return new CE(getMessage());
1251          case 22: return new CQ(getMessage());
1252          case 23: return new CE(getMessage());
1253          case 24: return new NM(getMessage());
1254          case 25: return new CWE(getMessage());
1255          case 26: return new ID(getMessage(), new Integer( 480 ));
1256          case 27: return new NM(getMessage());
1257          default: return null;
1258       }
1259   }
1260
1261
1262}
1263