View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v231.segment;
35  
36  // import ca.uhn.hl7v2.model.v231.group.*;
37  import ca.uhn.hl7v2.model.v231.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 RXA message segment (RXA - pharmacy/treatment administration segment). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>RXA-1: Give Sub-ID Counter (NM) <b> </b>
53       * <li>RXA-2: Administration Sub-ID Counter (NM) <b> </b>
54       * <li>RXA-3: Date/Time Start of Administration (TS) <b> </b>
55       * <li>RXA-4: Date/Time End of Administration (TS) <b> </b>
56       * <li>RXA-5: Administered Code (CE) <b> </b>
57       * <li>RXA-6: Administered Amount (NM) <b> </b>
58       * <li>RXA-7: Administered Units (CE) <b>optional </b>
59       * <li>RXA-8: Administered Dosage Form (CE) <b>optional </b>
60       * <li>RXA-9: Administration Notes (CE) <b>optional repeating</b>
61       * <li>RXA-10: Administering Provider (XCN) <b>optional repeating</b>
62       * <li>RXA-11: Administered-at Location (LA2) <b>optional </b>
63       * <li>RXA-12: Administered Per (Time Unit) (ST) <b>optional </b>
64       * <li>RXA-13: Administered Strength (NM) <b>optional </b>
65       * <li>RXA-14: Administered Strength Units (CE) <b>optional </b>
66       * <li>RXA-15: Substance Lot Number (ST) <b>optional repeating</b>
67       * <li>RXA-16: Substance Expiration Date (TS) <b>optional repeating</b>
68       * <li>RXA-17: Substance Manufacturer Name (CE) <b>optional repeating</b>
69       * <li>RXA-18: Substance Refusal Reason (CE) <b>optional repeating</b>
70       * <li>RXA-19: Indication (CE) <b>optional repeating</b>
71       * <li>RXA-20: Completion Status (ID) <b>optional </b>
72       * <li>RXA-21: Action Code-RXA (ID) <b>optional </b>
73       * <li>RXA-22: System Entry Date/Time (TS) <b>optional </b>
74   * </ul>
75   */
76  @SuppressWarnings("unused")
77  public class RXA extends AbstractSegment {
78  
79      /** 
80       * Creates a new RXA segment
81       */
82      public RXA(Group parent, ModelClassFactory factory) {
83         super(parent, factory);
84         init(factory);
85      }
86  
87      private void init(ModelClassFactory factory) {
88         try {
89                                    this.add(NM.class, true, 1, 4, new Object[]{ getMessage() }, "Give Sub-ID Counter");
90                                    this.add(NM.class, true, 1, 4, new Object[]{ getMessage() }, "Administration Sub-ID Counter");
91                                    this.add(TS.class, true, 1, 26, new Object[]{ getMessage() }, "Date/Time Start of Administration");
92                                    this.add(TS.class, true, 1, 26, new Object[]{ getMessage() }, "Date/Time End of Administration");
93                                    this.add(CE.class, true, 1, 100, new Object[]{ getMessage() }, "Administered Code");
94                                    this.add(NM.class, true, 1, 20, new Object[]{ getMessage() }, "Administered Amount");
95                                    this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Administered Units");
96                                    this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Administered Dosage Form");
97                                    this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Administration Notes");
98                                    this.add(XCN.class, false, 0, 200, new Object[]{ getMessage() }, "Administering Provider");
99                                    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