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