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 RXG message segment (Pharmacy give segment). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>RXG-1: Give Sub-ID Counter (ID) <b>optional </b>
53       * <li>RXG-2: Dispense Sub-ID Counter (NM) <b> </b>
54       * <li>RXG-3: Quantity/Timing (TQ) <b> </b>
55       * <li>RXG-4: Give Code (CE) <b> </b>
56       * <li>RXG-5: Give Amount - Minimum (NM) <b> </b>
57       * <li>RXG-6: Give Amount - Maximum (NM) <b>optional </b>
58       * <li>RXG-7: Give Units (CE) <b> </b>
59       * <li>RXG-8: Give Dosage Form (CE) <b>optional </b>
60       * <li>RXG-9: Administration Notes (CE) <b>optional repeating</b>
61       * <li>RXG-10: Substitution Status (ID) <b>optional </b>
62       * <li>RXG-11: Dispense-To Location (CM_LA1) <b>optional </b>
63       * <li>RXG-12: Needs Human Review (ID) <b>optional </b>
64       * <li>RXG-13: Pharmacy Special Administration Instructions (CE) <b>optional </b>
65       * <li>RXG-14: Give Per (Time Unit) (ST) <b>optional </b>
66       * <li>RXG-15: Give Rate Amount (ST) <b>optional </b>
67       * <li>RXG-16: Give Rate Units (CE) <b>optional </b>
68       * <li>RXG-17: Give Strength (NM) <b>optional </b>
69       * <li>RXG-18: Give Strength Units (CE) <b>optional </b>
70       * <li>RXG-19: Substance Lot Number (ST) <b>optional repeating</b>
71       * <li>RXG-20: Substance Expiration Date (TS) <b>optional repeating</b>
72       * <li>RXG-21: Substance Manufacturer Name (CE) <b>optional repeating</b>
73       * <li>RXG-22: Indication (CE) <b>optional </b>
74   * </ul>
75   */
76  @SuppressWarnings("unused")
77  public class RXG extends AbstractSegment {
78  
79      /** 
80       * Creates a new RXG segment
81       */
82      public RXG(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, false, 1, 4, new Object[]{ getMessage(), new Integer(0) }, "Give Sub-ID Counter");
90                                    this.add(NM.class, true, 1, 4, new Object[]{ getMessage() }, "Dispense Sub-ID Counter");
91                                    this.add(TQ.class, true, 1, 200, new Object[]{ getMessage() }, "Quantity/Timing");
92                                    this.add(CE.class, true, 1, 100, new Object[]{ getMessage() }, "Give Code");
93                                    this.add(NM.class, true, 1, 20, new Object[]{ getMessage() }, "Give Amount - Minimum");
94                                    this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Give Amount - Maximum");
95                                    this.add(CE.class, true, 1, 60, new Object[]{ getMessage() }, "Give Units");
96                                    this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Dosage Form");
97                                    this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Administration Notes");
98                                                this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(167) }, "Substitution Status");
99                                    this.add(CM_LA1.class, false, 1, 200, new Object[]{ getMessage() }, "Dispense-To Location");
100                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Needs Human Review");
101                                   this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Pharmacy Special Administration Instructions");
102                                   this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Give Per (Time Unit)");
103                                   this.add(ST.class, false, 1, 6, new Object[]{ getMessage() }, "Give Rate Amount");
104                                   this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Rate Units");
105                                   this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Give Strength");
106                                   this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Give Strength Units");
107                                   this.add(ST.class, false, 0, 20, new Object[]{ getMessage() }, "Substance Lot Number");
108                                   this.add(TS.class, false, 0, 26, new Object[]{ getMessage() }, "Substance Expiration Date");
109                                   this.add(CE.class, false, 0, 60, new Object[]{ getMessage() }, "Substance Manufacturer Name");
110                                   this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Indication");
111        } catch(HL7Exception e) {
112           log.error("Unexpected error creating RXG - this is probably a bug in the source code generator.", e);
113        }
114     }
115 
116 
117 
118     /**
119      * Returns
120      * RXG-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      * RXG-1: "Give Sub-ID Counter" - creates it if necessary
130      */
131     public ID getRxg1_GiveSubIDCounter() { 
132 		ID retVal = this.getTypedField(1, 0);
133 		return retVal;
134     }
135 
136 
137 
138     /**
139      * Returns
140      * RXG-2: "Dispense Sub-ID Counter" - creates it if necessary
141      */
142     public NM getDispenseSubIDCounter() { 
143 		NM retVal = this.getTypedField(2, 0);
144 		return retVal;
145     }
146     
147     /**
148      * Returns
149      * RXG-2: "Dispense Sub-ID Counter" - creates it if necessary
150      */
151     public NM getRxg2_DispenseSubIDCounter() { 
152 		NM retVal = this.getTypedField(2, 0);
153 		return retVal;
154     }
155 
156 
157 
158     /**
159      * Returns
160      * RXG-3: "Quantity/Timing" - creates it if necessary
161      */
162     public TQ getQuantityTiming() { 
163 		TQ retVal = this.getTypedField(3, 0);
164 		return retVal;
165     }
166     
167     /**
168      * Returns
169      * RXG-3: "Quantity/Timing" - creates it if necessary
170      */
171     public TQ getRxg3_QuantityTiming() { 
172 		TQ retVal = this.getTypedField(3, 0);
173 		return retVal;
174     }
175 
176 
177 
178     /**
179      * Returns
180      * RXG-4: "Give Code" - creates it if necessary
181      */
182     public CE getGiveCode() { 
183 		CE retVal = this.getTypedField(4, 0);
184 		return retVal;
185     }
186     
187     /**
188      * Returns
189      * RXG-4: "Give Code" - creates it if necessary
190      */
191     public CE getRxg4_GiveCode() { 
192 		CE retVal = this.getTypedField(4, 0);
193 		return retVal;
194     }
195 
196 
197 
198     /**
199      * Returns
200      * RXG-5: "Give Amount - Minimum" - creates it if necessary
201      */
202     public NM getGiveAmountMinimum() { 
203 		NM retVal = this.getTypedField(5, 0);
204 		return retVal;
205     }
206     
207     /**
208      * Returns
209      * RXG-5: "Give Amount - Minimum" - creates it if necessary
210      */
211     public NM getRxg5_GiveAmountMinimum() { 
212 		NM retVal = this.getTypedField(5, 0);
213 		return retVal;
214     }
215 
216 
217 
218     /**
219      * Returns
220      * RXG-6: "Give Amount - Maximum" - creates it if necessary
221      */
222     public NM getGiveAmountMaximum() { 
223 		NM retVal = this.getTypedField(6, 0);
224 		return retVal;
225     }
226     
227     /**
228      * Returns
229      * RXG-6: "Give Amount - Maximum" - creates it if necessary
230      */
231     public NM getRxg6_GiveAmountMaximum() { 
232 		NM retVal = this.getTypedField(6, 0);
233 		return retVal;
234     }
235 
236 
237 
238     /**
239      * Returns
240      * RXG-7: "Give Units" - creates it if necessary
241      */
242     public CE getGiveUnits() { 
243 		CE retVal = this.getTypedField(7, 0);
244 		return retVal;
245     }
246     
247     /**
248      * Returns
249      * RXG-7: "Give Units" - creates it if necessary
250      */
251     public CE getRxg7_GiveUnits() { 
252 		CE retVal = this.getTypedField(7, 0);
253 		return retVal;
254     }
255 
256 
257 
258     /**
259      * Returns
260      * RXG-8: "Give Dosage Form" - creates it if necessary
261      */
262     public CE getGiveDosageForm() { 
263 		CE retVal = this.getTypedField(8, 0);
264 		return retVal;
265     }
266     
267     /**
268      * Returns
269      * RXG-8: "Give Dosage Form" - creates it if necessary
270      */
271     public CE getRxg8_GiveDosageForm() { 
272 		CE retVal = this.getTypedField(8, 0);
273 		return retVal;
274     }
275 
276 
277     /**
278      * Returns all repetitions of Administration Notes (RXG-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 (RXG-9).
288      */
289     public CE[] getRxg9_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 (RXG-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      * RXG-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      * RXG-9: "Administration Notes" - creates it if necessary
319      *
320      * @param rep The repetition index (0-indexed)
321      */
322     public CE getRxg9_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 (RXG-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 getRxg9_AdministrationNotesReps() {
333     	return this.getReps(9);
334     }
335 
336 
337     /**
338      * Inserts a repetition of
339      * RXG-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      * RXG-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 insertRxg9_AdministrationNotes(int rep) throws HL7Exception { 
357         return (CE) super.insertRepetition(9, rep);
358     }
359 
360 
361     /**
362      * Removes a repetition of
363      * RXG-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      * RXG-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 removeRxg9_AdministrationNotes(int rep) throws HL7Exception { 
381         return (CE) super.removeRepetition(9, rep);
382     }
383 
384 
385 
386 
387     /**
388      * Returns
389      * RXG-10: "Substitution Status" - creates it if necessary
390      */
391     public ID getSubstitutionStatus() { 
392 		ID retVal = this.getTypedField(10, 0);
393 		return retVal;
394     }
395     
396     /**
397      * Returns
398      * RXG-10: "Substitution Status" - creates it if necessary
399      */
400     public ID getRxg10_SubstitutionStatus() { 
401 		ID retVal = this.getTypedField(10, 0);
402 		return retVal;
403     }
404 
405 
406 
407     /**
408      * Returns
409      * RXG-11: "Dispense-To Location" - creates it if necessary
410      */
411     public CM_LA1 getDispenseToLocation() { 
412 		CM_LA1 retVal = this.getTypedField(11, 0);
413 		return retVal;
414     }
415     
416     /**
417      * Returns
418      * RXG-11: "Dispense-To Location" - creates it if necessary
419      */
420     public CM_LA1 getRxg11_DispenseToLocation() { 
421 		CM_LA1 retVal = this.getTypedField(11, 0);
422 		return retVal;
423     }
424 
425 
426 
427     /**
428      * Returns
429      * RXG-12: "Needs Human Review" - creates it if necessary
430      */
431     public ID getNeedsHumanReview() { 
432 		ID retVal = this.getTypedField(12, 0);
433 		return retVal;
434     }
435     
436     /**
437      * Returns
438      * RXG-12: "Needs Human Review" - creates it if necessary
439      */
440     public ID getRxg12_NeedsHumanReview() { 
441 		ID retVal = this.getTypedField(12, 0);
442 		return retVal;
443     }
444 
445 
446 
447     /**
448      * Returns
449      * RXG-13: "Pharmacy Special Administration Instructions" - creates it if necessary
450      */
451     public CE getPharmacySpecialAdministrationInstructions() { 
452 		CE retVal = this.getTypedField(13, 0);
453 		return retVal;
454     }
455     
456     /**
457      * Returns
458      * RXG-13: "Pharmacy Special Administration Instructions" - creates it if necessary
459      */
460     public CE getRxg13_PharmacySpecialAdministrationInstructions() { 
461 		CE retVal = this.getTypedField(13, 0);
462 		return retVal;
463     }
464 
465 
466 
467     /**
468      * Returns
469      * RXG-14: "Give Per (Time Unit)" - creates it if necessary
470      */
471     public ST getGivePerTimeUnit() { 
472 		ST retVal = this.getTypedField(14, 0);
473 		return retVal;
474     }
475     
476     /**
477      * Returns
478      * RXG-14: "Give Per (Time Unit)" - creates it if necessary
479      */
480     public ST getRxg14_GivePerTimeUnit() { 
481 		ST retVal = this.getTypedField(14, 0);
482 		return retVal;
483     }
484 
485 
486 
487     /**
488      * Returns
489      * RXG-15: "Give Rate Amount" - creates it if necessary
490      */
491     public ST getGiveRateAmount() { 
492 		ST retVal = this.getTypedField(15, 0);
493 		return retVal;
494     }
495     
496     /**
497      * Returns
498      * RXG-15: "Give Rate Amount" - creates it if necessary
499      */
500     public ST getRxg15_GiveRateAmount() { 
501 		ST retVal = this.getTypedField(15, 0);
502 		return retVal;
503     }
504 
505 
506 
507     /**
508      * Returns
509      * RXG-16: "Give Rate Units" - creates it if necessary
510      */
511     public CE getGiveRateUnits() { 
512 		CE retVal = this.getTypedField(16, 0);
513 		return retVal;
514     }
515     
516     /**
517      * Returns
518      * RXG-16: "Give Rate Units" - creates it if necessary
519      */
520     public CE getRxg16_GiveRateUnits() { 
521 		CE retVal = this.getTypedField(16, 0);
522 		return retVal;
523     }
524 
525 
526 
527     /**
528      * Returns
529      * RXG-17: "Give Strength" - creates it if necessary
530      */
531     public NM getGiveStrength() { 
532 		NM retVal = this.getTypedField(17, 0);
533 		return retVal;
534     }
535     
536     /**
537      * Returns
538      * RXG-17: "Give Strength" - creates it if necessary
539      */
540     public NM getRxg17_GiveStrength() { 
541 		NM retVal = this.getTypedField(17, 0);
542 		return retVal;
543     }
544 
545 
546 
547     /**
548      * Returns
549      * RXG-18: "Give Strength Units" - creates it if necessary
550      */
551     public CE getGiveStrengthUnits() { 
552 		CE retVal = this.getTypedField(18, 0);
553 		return retVal;
554     }
555     
556     /**
557      * Returns
558      * RXG-18: "Give Strength Units" - creates it if necessary
559      */
560     public CE getRxg18_GiveStrengthUnits() { 
561 		CE retVal = this.getTypedField(18, 0);
562 		return retVal;
563     }
564 
565 
566     /**
567      * Returns all repetitions of Substance Lot Number (RXG-19).
568      */
569     public ST[] getSubstanceLotNumber() {
570     	ST[] retVal = this.getTypedField(19, new ST[0]);
571     	return retVal;
572     }
573 
574 
575     /**
576      * Returns all repetitions of Substance Lot Number (RXG-19).
577      */
578     public ST[] getRxg19_SubstanceLotNumber() {
579     	ST[] retVal = this.getTypedField(19, new ST[0]);
580     	return retVal;
581     }
582 
583 
584     /**
585      * Returns a count of the current number of repetitions of Substance Lot Number (RXG-19).
586      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
587      * it will return zero.
588      */
589     public int getSubstanceLotNumberReps() {
590     	return this.getReps(19);
591     }
592 
593 
594     /**
595      * Returns a specific repetition of
596      * RXG-19: "Substance Lot Number" - creates it if necessary
597      *
598      * @param rep The repetition index (0-indexed)
599      */
600     public ST getSubstanceLotNumber(int rep) { 
601 		ST retVal = this.getTypedField(19, rep);
602 		return retVal;
603     }
604 
605     /**
606      * Returns a specific repetition of
607      * RXG-19: "Substance Lot Number" - creates it if necessary
608      *
609      * @param rep The repetition index (0-indexed)
610      */
611     public ST getRxg19_SubstanceLotNumber(int rep) { 
612 		ST retVal = this.getTypedField(19, rep);
613 		return retVal;
614     }
615 
616     /**
617      * Returns a count of the current number of repetitions of Substance Lot Number (RXG-19).
618      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
619      * it will return zero.
620      */
621     public int getRxg19_SubstanceLotNumberReps() {
622     	return this.getReps(19);
623     }
624 
625 
626     /**
627      * Inserts a repetition of
628      * RXG-19: "Substance Lot Number" at a specific index
629      *
630      * @param rep The repetition index (0-indexed)
631      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
632      */
633     public ST insertSubstanceLotNumber(int rep) throws HL7Exception { 
634         return (ST) super.insertRepetition(19, rep);
635     }
636 
637 
638     /**
639      * Inserts a repetition of
640      * RXG-19: "Substance Lot Number" at a specific index
641      *
642      * @param rep The repetition index (0-indexed)
643      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
644      */
645     public ST insertRxg19_SubstanceLotNumber(int rep) throws HL7Exception { 
646         return (ST) super.insertRepetition(19, rep);
647     }
648 
649 
650     /**
651      * Removes a repetition of
652      * RXG-19: "Substance Lot Number" at a specific index
653      *
654      * @param rep The repetition index (0-indexed)
655      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
656      */
657     public ST removeSubstanceLotNumber(int rep) throws HL7Exception { 
658         return (ST) super.removeRepetition(19, rep);
659     }
660 
661 
662     /**
663      * Removes a repetition of
664      * RXG-19: "Substance Lot Number" at a specific index
665      *
666      * @param rep The repetition index (0-indexed)
667      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
668      */
669     public ST removeRxg19_SubstanceLotNumber(int rep) throws HL7Exception { 
670         return (ST) super.removeRepetition(19, rep);
671     }
672 
673 
674 
675     /**
676      * Returns all repetitions of Substance Expiration Date (RXG-20).
677      */
678     public TS[] getSubstanceExpirationDate() {
679     	TS[] retVal = this.getTypedField(20, new TS[0]);
680     	return retVal;
681     }
682 
683 
684     /**
685      * Returns all repetitions of Substance Expiration Date (RXG-20).
686      */
687     public TS[] getRxg20_SubstanceExpirationDate() {
688     	TS[] retVal = this.getTypedField(20, new TS[0]);
689     	return retVal;
690     }
691 
692 
693     /**
694      * Returns a count of the current number of repetitions of Substance Expiration Date (RXG-20).
695      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
696      * it will return zero.
697      */
698     public int getSubstanceExpirationDateReps() {
699     	return this.getReps(20);
700     }
701 
702 
703     /**
704      * Returns a specific repetition of
705      * RXG-20: "Substance Expiration Date" - creates it if necessary
706      *
707      * @param rep The repetition index (0-indexed)
708      */
709     public TS getSubstanceExpirationDate(int rep) { 
710 		TS retVal = this.getTypedField(20, rep);
711 		return retVal;
712     }
713 
714     /**
715      * Returns a specific repetition of
716      * RXG-20: "Substance Expiration Date" - creates it if necessary
717      *
718      * @param rep The repetition index (0-indexed)
719      */
720     public TS getRxg20_SubstanceExpirationDate(int rep) { 
721 		TS retVal = this.getTypedField(20, rep);
722 		return retVal;
723     }
724 
725     /**
726      * Returns a count of the current number of repetitions of Substance Expiration Date (RXG-20).
727      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
728      * it will return zero.
729      */
730     public int getRxg20_SubstanceExpirationDateReps() {
731     	return this.getReps(20);
732     }
733 
734 
735     /**
736      * Inserts a repetition of
737      * RXG-20: "Substance Expiration Date" at a specific index
738      *
739      * @param rep The repetition index (0-indexed)
740      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
741      */
742     public TS insertSubstanceExpirationDate(int rep) throws HL7Exception { 
743         return (TS) super.insertRepetition(20, rep);
744     }
745 
746 
747     /**
748      * Inserts a repetition of
749      * RXG-20: "Substance Expiration Date" at a specific index
750      *
751      * @param rep The repetition index (0-indexed)
752      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
753      */
754     public TS insertRxg20_SubstanceExpirationDate(int rep) throws HL7Exception { 
755         return (TS) super.insertRepetition(20, rep);
756     }
757 
758 
759     /**
760      * Removes a repetition of
761      * RXG-20: "Substance Expiration Date" at a specific index
762      *
763      * @param rep The repetition index (0-indexed)
764      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
765      */
766     public TS removeSubstanceExpirationDate(int rep) throws HL7Exception { 
767         return (TS) super.removeRepetition(20, rep);
768     }
769 
770 
771     /**
772      * Removes a repetition of
773      * RXG-20: "Substance Expiration Date" at a specific index
774      *
775      * @param rep The repetition index (0-indexed)
776      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
777      */
778     public TS removeRxg20_SubstanceExpirationDate(int rep) throws HL7Exception { 
779         return (TS) super.removeRepetition(20, rep);
780     }
781 
782 
783 
784     /**
785      * Returns all repetitions of Substance Manufacturer Name (RXG-21).
786      */
787     public CE[] getSubstanceManufacturerName() {
788     	CE[] retVal = this.getTypedField(21, new CE[0]);
789     	return retVal;
790     }
791 
792 
793     /**
794      * Returns all repetitions of Substance Manufacturer Name (RXG-21).
795      */
796     public CE[] getRxg21_SubstanceManufacturerName() {
797     	CE[] retVal = this.getTypedField(21, new CE[0]);
798     	return retVal;
799     }
800 
801 
802     /**
803      * Returns a count of the current number of repetitions of Substance Manufacturer Name (RXG-21).
804      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
805      * it will return zero.
806      */
807     public int getSubstanceManufacturerNameReps() {
808     	return this.getReps(21);
809     }
810 
811 
812     /**
813      * Returns a specific repetition of
814      * RXG-21: "Substance Manufacturer Name" - creates it if necessary
815      *
816      * @param rep The repetition index (0-indexed)
817      */
818     public CE getSubstanceManufacturerName(int rep) { 
819 		CE retVal = this.getTypedField(21, rep);
820 		return retVal;
821     }
822 
823     /**
824      * Returns a specific repetition of
825      * RXG-21: "Substance Manufacturer Name" - creates it if necessary
826      *
827      * @param rep The repetition index (0-indexed)
828      */
829     public CE getRxg21_SubstanceManufacturerName(int rep) { 
830 		CE retVal = this.getTypedField(21, rep);
831 		return retVal;
832     }
833 
834     /**
835      * Returns a count of the current number of repetitions of Substance Manufacturer Name (RXG-21).
836      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
837      * it will return zero.
838      */
839     public int getRxg21_SubstanceManufacturerNameReps() {
840     	return this.getReps(21);
841     }
842 
843 
844     /**
845      * Inserts a repetition of
846      * RXG-21: "Substance Manufacturer Name" at a specific index
847      *
848      * @param rep The repetition index (0-indexed)
849      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
850      */
851     public CE insertSubstanceManufacturerName(int rep) throws HL7Exception { 
852         return (CE) super.insertRepetition(21, rep);
853     }
854 
855 
856     /**
857      * Inserts a repetition of
858      * RXG-21: "Substance Manufacturer Name" at a specific index
859      *
860      * @param rep The repetition index (0-indexed)
861      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
862      */
863     public CE insertRxg21_SubstanceManufacturerName(int rep) throws HL7Exception { 
864         return (CE) super.insertRepetition(21, rep);
865     }
866 
867 
868     /**
869      * Removes a repetition of
870      * RXG-21: "Substance Manufacturer Name" at a specific index
871      *
872      * @param rep The repetition index (0-indexed)
873      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
874      */
875     public CE removeSubstanceManufacturerName(int rep) throws HL7Exception { 
876         return (CE) super.removeRepetition(21, rep);
877     }
878 
879 
880     /**
881      * Removes a repetition of
882      * RXG-21: "Substance Manufacturer Name" at a specific index
883      *
884      * @param rep The repetition index (0-indexed)
885      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
886      */
887     public CE removeRxg21_SubstanceManufacturerName(int rep) throws HL7Exception { 
888         return (CE) super.removeRepetition(21, rep);
889     }
890 
891 
892 
893 
894     /**
895      * Returns
896      * RXG-22: "Indication" - creates it if necessary
897      */
898     public CE getIndication() { 
899 		CE retVal = this.getTypedField(22, 0);
900 		return retVal;
901     }
902     
903     /**
904      * Returns
905      * RXG-22: "Indication" - creates it if necessary
906      */
907     public CE getRxg22_Indication() { 
908 		CE retVal = this.getTypedField(22, 0);
909 		return retVal;
910     }
911 
912 
913 
914 
915 
916     /** {@inheritDoc} */   
917     protected Type createNewTypeWithoutReflection(int field) {
918        switch (field) {
919           case 0: return new ID(getMessage(), new Integer( 0 ));
920           case 1: return new NM(getMessage());
921           case 2: return new TQ(getMessage());
922           case 3: return new CE(getMessage());
923           case 4: return new NM(getMessage());
924           case 5: return new NM(getMessage());
925           case 6: return new CE(getMessage());
926           case 7: return new CE(getMessage());
927           case 8: return new CE(getMessage());
928           case 9: return new ID(getMessage(), new Integer( 167 ));
929           case 10: return new CM_LA1(getMessage());
930           case 11: return new ID(getMessage(), new Integer( 136 ));
931           case 12: return new CE(getMessage());
932           case 13: return new ST(getMessage());
933           case 14: return new ST(getMessage());
934           case 15: return new CE(getMessage());
935           case 16: return new NM(getMessage());
936           case 17: return new CE(getMessage());
937           case 18: return new ST(getMessage());
938           case 19: return new TS(getMessage());
939           case 20: return new CE(getMessage());
940           case 21: return new CE(getMessage());
941           default: return null;
942        }
943    }
944 
945 
946 }
947