View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v23.segment;
35  
36  // import ca.uhn.hl7v2.model.v23.group.*;
37  import ca.uhn.hl7v2.model.v23.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 RXA message segment (Pharmacy administration segment). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>RXA-1: Give Sub-ID Counter (ID) <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 </b>
62       * <li>RXA-11: Administered-at Location (CM_LA1) <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(ID.class, true, 1, 4, new Object[]{ getMessage(), new Integer(0) }, "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, 1, 200, new Object[]{ getMessage() }, "Administering Provider");
99                                    this.add(CM_LA1.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, 60, 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 ID getGiveSubIDCounter() { 
123 		ID 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 ID getRxa1_GiveSubIDCounter() { 
132 		ID 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     /**
388      * Returns
389      * RXA-10: "Administering Provider" - creates it if necessary
390      */
391     public XCN getAdministeringProvider() { 
392 		XCN retVal = this.getTypedField(10, 0);
393 		return retVal;
394     }
395     
396     /**
397      * Returns
398      * RXA-10: "Administering Provider" - creates it if necessary
399      */
400     public XCN getRxa10_AdministeringProvider() { 
401 		XCN retVal = this.getTypedField(10, 0);
402 		return retVal;
403     }
404 
405 
406 
407     /**
408      * Returns
409      * RXA-11: "Administered-at Location" - creates it if necessary
410      */
411     public CM_LA1 getAdministeredAtLocation() { 
412 		CM_LA1 retVal = this.getTypedField(11, 0);
413 		return retVal;
414     }
415     
416     /**
417      * Returns
418      * RXA-11: "Administered-at Location" - creates it if necessary
419      */
420     public CM_LA1 getRxa11_AdministeredAtLocation() { 
421 		CM_LA1 retVal = this.getTypedField(11, 0);
422 		return retVal;
423     }
424 
425 
426 
427     /**
428      * Returns
429      * RXA-12: "Administered Per (Time Unit)" - creates it if necessary
430      */
431     public ST getAdministeredPerTimeUnit() { 
432 		ST retVal = this.getTypedField(12, 0);
433 		return retVal;
434     }
435     
436     /**
437      * Returns
438      * RXA-12: "Administered Per (Time Unit)" - creates it if necessary
439      */
440     public ST getRxa12_AdministeredPerTimeUnit() { 
441 		ST retVal = this.getTypedField(12, 0);
442 		return retVal;
443     }
444 
445 
446 
447     /**
448      * Returns
449      * RXA-13: "Administered Strength" - creates it if necessary
450      */
451     public NM getAdministeredStrength() { 
452 		NM retVal = this.getTypedField(13, 0);
453 		return retVal;
454     }
455     
456     /**
457      * Returns
458      * RXA-13: "Administered Strength" - creates it if necessary
459      */
460     public NM getRxa13_AdministeredStrength() { 
461 		NM retVal = this.getTypedField(13, 0);
462 		return retVal;
463     }
464 
465 
466 
467     /**
468      * Returns
469      * RXA-14: "Administered Strength Units" - creates it if necessary
470      */
471     public CE getAdministeredStrengthUnits() { 
472 		CE retVal = this.getTypedField(14, 0);
473 		return retVal;
474     }
475     
476     /**
477      * Returns
478      * RXA-14: "Administered Strength Units" - creates it if necessary
479      */
480     public CE getRxa14_AdministeredStrengthUnits() { 
481 		CE retVal = this.getTypedField(14, 0);
482 		return retVal;
483     }
484 
485 
486     /**
487      * Returns all repetitions of Substance Lot Number (RXA-15).
488      */
489     public ST[] getSubstanceLotNumber() {
490     	ST[] retVal = this.getTypedField(15, new ST[0]);
491     	return retVal;
492     }
493 
494 
495     /**
496      * Returns all repetitions of Substance Lot Number (RXA-15).
497      */
498     public ST[] getRxa15_SubstanceLotNumber() {
499     	ST[] retVal = this.getTypedField(15, new ST[0]);
500     	return retVal;
501     }
502 
503 
504     /**
505      * Returns a count of the current number of repetitions of Substance Lot Number (RXA-15).
506      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
507      * it will return zero.
508      */
509     public int getSubstanceLotNumberReps() {
510     	return this.getReps(15);
511     }
512 
513 
514     /**
515      * Returns a specific repetition of
516      * RXA-15: "Substance Lot Number" - creates it if necessary
517      *
518      * @param rep The repetition index (0-indexed)
519      */
520     public ST getSubstanceLotNumber(int rep) { 
521 		ST retVal = this.getTypedField(15, rep);
522 		return retVal;
523     }
524 
525     /**
526      * Returns a specific repetition of
527      * RXA-15: "Substance Lot Number" - creates it if necessary
528      *
529      * @param rep The repetition index (0-indexed)
530      */
531     public ST getRxa15_SubstanceLotNumber(int rep) { 
532 		ST retVal = this.getTypedField(15, rep);
533 		return retVal;
534     }
535 
536     /**
537      * Returns a count of the current number of repetitions of Substance Lot Number (RXA-15).
538      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
539      * it will return zero.
540      */
541     public int getRxa15_SubstanceLotNumberReps() {
542     	return this.getReps(15);
543     }
544 
545 
546     /**
547      * Inserts a repetition of
548      * RXA-15: "Substance Lot Number" at a specific index
549      *
550      * @param rep The repetition index (0-indexed)
551      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
552      */
553     public ST insertSubstanceLotNumber(int rep) throws HL7Exception { 
554         return (ST) super.insertRepetition(15, rep);
555     }
556 
557 
558     /**
559      * Inserts a repetition of
560      * RXA-15: "Substance Lot Number" at a specific index
561      *
562      * @param rep The repetition index (0-indexed)
563      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
564      */
565     public ST insertRxa15_SubstanceLotNumber(int rep) throws HL7Exception { 
566         return (ST) super.insertRepetition(15, rep);
567     }
568 
569 
570     /**
571      * Removes a repetition of
572      * RXA-15: "Substance Lot Number" at a specific index
573      *
574      * @param rep The repetition index (0-indexed)
575      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
576      */
577     public ST removeSubstanceLotNumber(int rep) throws HL7Exception { 
578         return (ST) super.removeRepetition(15, rep);
579     }
580 
581 
582     /**
583      * Removes a repetition of
584      * RXA-15: "Substance Lot Number" at a specific index
585      *
586      * @param rep The repetition index (0-indexed)
587      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
588      */
589     public ST removeRxa15_SubstanceLotNumber(int rep) throws HL7Exception { 
590         return (ST) super.removeRepetition(15, rep);
591     }
592 
593 
594 
595     /**
596      * Returns all repetitions of Substance Expiration Date (RXA-16).
597      */
598     public TS[] getSubstanceExpirationDate() {
599     	TS[] retVal = this.getTypedField(16, new TS[0]);
600     	return retVal;
601     }
602 
603 
604     /**
605      * Returns all repetitions of Substance Expiration Date (RXA-16).
606      */
607     public TS[] getRxa16_SubstanceExpirationDate() {
608     	TS[] retVal = this.getTypedField(16, new TS[0]);
609     	return retVal;
610     }
611 
612 
613     /**
614      * Returns a count of the current number of repetitions of Substance Expiration Date (RXA-16).
615      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
616      * it will return zero.
617      */
618     public int getSubstanceExpirationDateReps() {
619     	return this.getReps(16);
620     }
621 
622 
623     /**
624      * Returns a specific repetition of
625      * RXA-16: "Substance Expiration Date" - creates it if necessary
626      *
627      * @param rep The repetition index (0-indexed)
628      */
629     public TS getSubstanceExpirationDate(int rep) { 
630 		TS retVal = this.getTypedField(16, rep);
631 		return retVal;
632     }
633 
634     /**
635      * Returns a specific repetition of
636      * RXA-16: "Substance Expiration Date" - creates it if necessary
637      *
638      * @param rep The repetition index (0-indexed)
639      */
640     public TS getRxa16_SubstanceExpirationDate(int rep) { 
641 		TS retVal = this.getTypedField(16, rep);
642 		return retVal;
643     }
644 
645     /**
646      * Returns a count of the current number of repetitions of Substance Expiration Date (RXA-16).
647      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
648      * it will return zero.
649      */
650     public int getRxa16_SubstanceExpirationDateReps() {
651     	return this.getReps(16);
652     }
653 
654 
655     /**
656      * Inserts a repetition of
657      * RXA-16: "Substance Expiration Date" at a specific index
658      *
659      * @param rep The repetition index (0-indexed)
660      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
661      */
662     public TS insertSubstanceExpirationDate(int rep) throws HL7Exception { 
663         return (TS) super.insertRepetition(16, rep);
664     }
665 
666 
667     /**
668      * Inserts a repetition of
669      * RXA-16: "Substance Expiration Date" at a specific index
670      *
671      * @param rep The repetition index (0-indexed)
672      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
673      */
674     public TS insertRxa16_SubstanceExpirationDate(int rep) throws HL7Exception { 
675         return (TS) super.insertRepetition(16, rep);
676     }
677 
678 
679     /**
680      * Removes a repetition of
681      * RXA-16: "Substance Expiration Date" at a specific index
682      *
683      * @param rep The repetition index (0-indexed)
684      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
685      */
686     public TS removeSubstanceExpirationDate(int rep) throws HL7Exception { 
687         return (TS) super.removeRepetition(16, rep);
688     }
689 
690 
691     /**
692      * Removes a repetition of
693      * RXA-16: "Substance Expiration Date" at a specific index
694      *
695      * @param rep The repetition index (0-indexed)
696      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
697      */
698     public TS removeRxa16_SubstanceExpirationDate(int rep) throws HL7Exception { 
699         return (TS) super.removeRepetition(16, rep);
700     }
701 
702 
703 
704     /**
705      * Returns all repetitions of Substance Manufacturer Name (RXA-17).
706      */
707     public CE[] getSubstanceManufacturerName() {
708     	CE[] retVal = this.getTypedField(17, new CE[0]);
709     	return retVal;
710     }
711 
712 
713     /**
714      * Returns all repetitions of Substance Manufacturer Name (RXA-17).
715      */
716     public CE[] getRxa17_SubstanceManufacturerName() {
717     	CE[] retVal = this.getTypedField(17, new CE[0]);
718     	return retVal;
719     }
720 
721 
722     /**
723      * Returns a count of the current number of repetitions of Substance Manufacturer Name (RXA-17).
724      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
725      * it will return zero.
726      */
727     public int getSubstanceManufacturerNameReps() {
728     	return this.getReps(17);
729     }
730 
731 
732     /**
733      * Returns a specific repetition of
734      * RXA-17: "Substance Manufacturer Name" - creates it if necessary
735      *
736      * @param rep The repetition index (0-indexed)
737      */
738     public CE getSubstanceManufacturerName(int rep) { 
739 		CE retVal = this.getTypedField(17, rep);
740 		return retVal;
741     }
742 
743     /**
744      * Returns a specific repetition of
745      * RXA-17: "Substance Manufacturer Name" - creates it if necessary
746      *
747      * @param rep The repetition index (0-indexed)
748      */
749     public CE getRxa17_SubstanceManufacturerName(int rep) { 
750 		CE retVal = this.getTypedField(17, rep);
751 		return retVal;
752     }
753 
754     /**
755      * Returns a count of the current number of repetitions of Substance Manufacturer Name (RXA-17).
756      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
757      * it will return zero.
758      */
759     public int getRxa17_SubstanceManufacturerNameReps() {
760     	return this.getReps(17);
761     }
762 
763 
764     /**
765      * Inserts a repetition of
766      * RXA-17: "Substance Manufacturer Name" at a specific index
767      *
768      * @param rep The repetition index (0-indexed)
769      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
770      */
771     public CE insertSubstanceManufacturerName(int rep) throws HL7Exception { 
772         return (CE) super.insertRepetition(17, rep);
773     }
774 
775 
776     /**
777      * Inserts a repetition of
778      * RXA-17: "Substance Manufacturer Name" at a specific index
779      *
780      * @param rep The repetition index (0-indexed)
781      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
782      */
783     public CE insertRxa17_SubstanceManufacturerName(int rep) throws HL7Exception { 
784         return (CE) super.insertRepetition(17, rep);
785     }
786 
787 
788     /**
789      * Removes a repetition of
790      * RXA-17: "Substance Manufacturer Name" at a specific index
791      *
792      * @param rep The repetition index (0-indexed)
793      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
794      */
795     public CE removeSubstanceManufacturerName(int rep) throws HL7Exception { 
796         return (CE) super.removeRepetition(17, rep);
797     }
798 
799 
800     /**
801      * Removes a repetition of
802      * RXA-17: "Substance Manufacturer Name" at a specific index
803      *
804      * @param rep The repetition index (0-indexed)
805      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
806      */
807     public CE removeRxa17_SubstanceManufacturerName(int rep) throws HL7Exception { 
808         return (CE) super.removeRepetition(17, rep);
809     }
810 
811 
812 
813     /**
814      * Returns all repetitions of Substance Refusal Reason (RXA-18).
815      */
816     public CE[] getSubstanceRefusalReason() {
817     	CE[] retVal = this.getTypedField(18, new CE[0]);
818     	return retVal;
819     }
820 
821 
822     /**
823      * Returns all repetitions of Substance Refusal Reason (RXA-18).
824      */
825     public CE[] getRxa18_SubstanceRefusalReason() {
826     	CE[] retVal = this.getTypedField(18, new CE[0]);
827     	return retVal;
828     }
829 
830 
831     /**
832      * Returns a count of the current number of repetitions of Substance Refusal Reason (RXA-18).
833      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
834      * it will return zero.
835      */
836     public int getSubstanceRefusalReasonReps() {
837     	return this.getReps(18);
838     }
839 
840 
841     /**
842      * Returns a specific repetition of
843      * RXA-18: "Substance Refusal Reason" - creates it if necessary
844      *
845      * @param rep The repetition index (0-indexed)
846      */
847     public CE getSubstanceRefusalReason(int rep) { 
848 		CE retVal = this.getTypedField(18, rep);
849 		return retVal;
850     }
851 
852     /**
853      * Returns a specific repetition of
854      * RXA-18: "Substance Refusal Reason" - creates it if necessary
855      *
856      * @param rep The repetition index (0-indexed)
857      */
858     public CE getRxa18_SubstanceRefusalReason(int rep) { 
859 		CE retVal = this.getTypedField(18, rep);
860 		return retVal;
861     }
862 
863     /**
864      * Returns a count of the current number of repetitions of Substance Refusal Reason (RXA-18).
865      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
866      * it will return zero.
867      */
868     public int getRxa18_SubstanceRefusalReasonReps() {
869     	return this.getReps(18);
870     }
871 
872 
873     /**
874      * Inserts a repetition of
875      * RXA-18: "Substance Refusal Reason" at a specific index
876      *
877      * @param rep The repetition index (0-indexed)
878      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
879      */
880     public CE insertSubstanceRefusalReason(int rep) throws HL7Exception { 
881         return (CE) super.insertRepetition(18, rep);
882     }
883 
884 
885     /**
886      * Inserts a repetition of
887      * RXA-18: "Substance Refusal Reason" at a specific index
888      *
889      * @param rep The repetition index (0-indexed)
890      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
891      */
892     public CE insertRxa18_SubstanceRefusalReason(int rep) throws HL7Exception { 
893         return (CE) super.insertRepetition(18, rep);
894     }
895 
896 
897     /**
898      * Removes a repetition of
899      * RXA-18: "Substance Refusal Reason" at a specific index
900      *
901      * @param rep The repetition index (0-indexed)
902      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
903      */
904     public CE removeSubstanceRefusalReason(int rep) throws HL7Exception { 
905         return (CE) super.removeRepetition(18, rep);
906     }
907 
908 
909     /**
910      * Removes a repetition of
911      * RXA-18: "Substance Refusal Reason" at a specific index
912      *
913      * @param rep The repetition index (0-indexed)
914      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
915      */
916     public CE removeRxa18_SubstanceRefusalReason(int rep) throws HL7Exception { 
917         return (CE) super.removeRepetition(18, rep);
918     }
919 
920 
921 
922     /**
923      * Returns all repetitions of Indication (RXA-19).
924      */
925     public CE[] getIndication() {
926     	CE[] retVal = this.getTypedField(19, new CE[0]);
927     	return retVal;
928     }
929 
930 
931     /**
932      * Returns all repetitions of Indication (RXA-19).
933      */
934     public CE[] getRxa19_Indication() {
935     	CE[] retVal = this.getTypedField(19, new CE[0]);
936     	return retVal;
937     }
938 
939 
940     /**
941      * Returns a count of the current number of repetitions of Indication (RXA-19).
942      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
943      * it will return zero.
944      */
945     public int getIndicationReps() {
946     	return this.getReps(19);
947     }
948 
949 
950     /**
951      * Returns a specific repetition of
952      * RXA-19: "Indication" - creates it if necessary
953      *
954      * @param rep The repetition index (0-indexed)
955      */
956     public CE getIndication(int rep) { 
957 		CE retVal = this.getTypedField(19, rep);
958 		return retVal;
959     }
960 
961     /**
962      * Returns a specific repetition of
963      * RXA-19: "Indication" - creates it if necessary
964      *
965      * @param rep The repetition index (0-indexed)
966      */
967     public CE getRxa19_Indication(int rep) { 
968 		CE retVal = this.getTypedField(19, rep);
969 		return retVal;
970     }
971 
972     /**
973      * Returns a count of the current number of repetitions of Indication (RXA-19).
974      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
975      * it will return zero.
976      */
977     public int getRxa19_IndicationReps() {
978     	return this.getReps(19);
979     }
980 
981 
982     /**
983      * Inserts a repetition of
984      * RXA-19: "Indication" at a specific index
985      *
986      * @param rep The repetition index (0-indexed)
987      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
988      */
989     public CE insertIndication(int rep) throws HL7Exception { 
990         return (CE) super.insertRepetition(19, rep);
991     }
992 
993 
994     /**
995      * Inserts a repetition of
996      * RXA-19: "Indication" at a specific index
997      *
998      * @param rep The repetition index (0-indexed)
999      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1000      */
1001     public CE insertRxa19_Indication(int rep) throws HL7Exception { 
1002         return (CE) super.insertRepetition(19, rep);
1003     }
1004 
1005 
1006     /**
1007      * Removes a repetition of
1008      * RXA-19: "Indication" at a specific index
1009      *
1010      * @param rep The repetition index (0-indexed)
1011      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1012      */
1013     public CE removeIndication(int rep) throws HL7Exception { 
1014         return (CE) super.removeRepetition(19, rep);
1015     }
1016 
1017 
1018     /**
1019      * Removes a repetition of
1020      * RXA-19: "Indication" at a specific index
1021      *
1022      * @param rep The repetition index (0-indexed)
1023      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1024      */
1025     public CE removeRxa19_Indication(int rep) throws HL7Exception { 
1026         return (CE) super.removeRepetition(19, rep);
1027     }
1028 
1029 
1030 
1031 
1032     /**
1033      * Returns
1034      * RXA-20: "Completion Status" - creates it if necessary
1035      */
1036     public ID getCompletionStatus() { 
1037 		ID retVal = this.getTypedField(20, 0);
1038 		return retVal;
1039     }
1040     
1041     /**
1042      * Returns
1043      * RXA-20: "Completion Status" - creates it if necessary
1044      */
1045     public ID getRxa20_CompletionStatus() { 
1046 		ID retVal = this.getTypedField(20, 0);
1047 		return retVal;
1048     }
1049 
1050 
1051 
1052     /**
1053      * Returns
1054      * RXA-21: "Action Code-RXA" - creates it if necessary
1055      */
1056     public ID getActionCodeRXA() { 
1057 		ID retVal = this.getTypedField(21, 0);
1058 		return retVal;
1059     }
1060     
1061     /**
1062      * Returns
1063      * RXA-21: "Action Code-RXA" - creates it if necessary
1064      */
1065     public ID getRxa21_ActionCodeRXA() { 
1066 		ID retVal = this.getTypedField(21, 0);
1067 		return retVal;
1068     }
1069 
1070 
1071 
1072     /**
1073      * Returns
1074      * RXA-22: "System Entry Date/Time" - creates it if necessary
1075      */
1076     public TS getSystemEntryDateTime() { 
1077 		TS retVal = this.getTypedField(22, 0);
1078 		return retVal;
1079     }
1080     
1081     /**
1082      * Returns
1083      * RXA-22: "System Entry Date/Time" - creates it if necessary
1084      */
1085     public TS getRxa22_SystemEntryDateTime() { 
1086 		TS retVal = this.getTypedField(22, 0);
1087 		return retVal;
1088     }
1089 
1090 
1091 
1092 
1093 
1094     /** {@inheritDoc} */   
1095     protected Type createNewTypeWithoutReflection(int field) {
1096        switch (field) {
1097           case 0: return new ID(getMessage(), new Integer( 0 ));
1098           case 1: return new NM(getMessage());
1099           case 2: return new TS(getMessage());
1100           case 3: return new TS(getMessage());
1101           case 4: return new CE(getMessage());
1102           case 5: return new NM(getMessage());
1103           case 6: return new CE(getMessage());
1104           case 7: return new CE(getMessage());
1105           case 8: return new CE(getMessage());
1106           case 9: return new XCN(getMessage());
1107           case 10: return new CM_LA1(getMessage());
1108           case 11: return new ST(getMessage());
1109           case 12: return new NM(getMessage());
1110           case 13: return new CE(getMessage());
1111           case 14: return new ST(getMessage());
1112           case 15: return new TS(getMessage());
1113           case 16: return new CE(getMessage());
1114           case 17: return new CE(getMessage());
1115           case 18: return new CE(getMessage());
1116           case 19: return new ID(getMessage(), new Integer( 322 ));
1117           case 20: return new ID(getMessage(), new Integer( 323 ));
1118           case 21: return new TS(getMessage());
1119           default: return null;
1120        }
1121    }
1122 
1123 
1124 }
1125