001    /*
002     * This class is an auto-generated source file for a HAPI
003     * HL7 v2.x standard structure class.
004     *
005     * For more information, visit: http://hl7api.sourceforge.net/
006     */
007    
008    package ca.uhn.hl7v2.model.v24.segment;
009    
010    // import ca.uhn.hl7v2.model.v24.group.*;
011    import ca.uhn.hl7v2.model.v24.datatype.*;
012    import ca.uhn.log.HapiLogFactory;
013    import ca.uhn.hl7v2.HL7Exception;
014    import ca.uhn.hl7v2.parser.ModelClassFactory;
015    import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
016    import ca.uhn.hl7v2.model.AbstractMessage;
017    import ca.uhn.hl7v2.model.Group;
018    import ca.uhn.hl7v2.model.Type;
019    import ca.uhn.hl7v2.model.AbstractSegment;
020    import ca.uhn.hl7v2.model.Varies;
021    
022    /**
023     *<p>Represents an HL7 ARQ message segment (Appointment Request). 
024     * This segment has the following fields:</p>
025     * <ul>
026         * <li>ARQ-1: Placer Appointment ID (EI) <b> </b>
027         * <li>ARQ-2: Filler Appointment ID (EI) <b>optional </b>
028         * <li>ARQ-3: Occurrence Number (NM) <b>optional </b>
029         * <li>ARQ-4: Placer Group Number (EI) <b>optional </b>
030         * <li>ARQ-5: Schedule ID (CE) <b>optional </b>
031         * <li>ARQ-6: Request Event Reason (CE) <b>optional </b>
032         * <li>ARQ-7: Appointment Reason (CE) <b>optional </b>
033         * <li>ARQ-8: Appointment Type (CE) <b>optional </b>
034         * <li>ARQ-9: Appointment Duration (NM) <b>optional </b>
035         * <li>ARQ-10: Appointment Duration Units (CE) <b>optional </b>
036         * <li>ARQ-11: Requested Start Date/Time Range (DR) <b>optional repeating</b>
037         * <li>ARQ-12: Priority-ARQ (ST) <b>optional </b>
038         * <li>ARQ-13: Repeating Interval (RI) <b>optional </b>
039         * <li>ARQ-14: Repeating Interval Duration (ST) <b>optional </b>
040         * <li>ARQ-15: Placer Contact Person (XCN) <b> repeating</b>
041         * <li>ARQ-16: Placer Contact Phone Number (XTN) <b>optional repeating</b>
042         * <li>ARQ-17: Placer Contact Address (XAD) <b>optional repeating</b>
043         * <li>ARQ-18: Placer Contact Location (PL) <b>optional </b>
044         * <li>ARQ-19: Entered By Person (XCN) <b> repeating</b>
045         * <li>ARQ-20: Entered By Phone Number (XTN) <b>optional repeating</b>
046         * <li>ARQ-21: Entered by Location (PL) <b>optional </b>
047         * <li>ARQ-22: Parent Placer Appointment ID (EI) <b>optional </b>
048         * <li>ARQ-23: Parent Filler Appointment ID (EI) <b>optional </b>
049         * <li>ARQ-24: Placer Order Number (EI) <b>optional repeating</b>
050         * <li>ARQ-25: Filler Order Number (EI) <b>optional repeating</b>
051     * </ul>
052     */
053    public class ARQ extends AbstractSegment {
054    
055        /** 
056         * Creates a new ARQ segment
057         */
058        public ARQ(Group parent, ModelClassFactory factory) {
059           super(parent, factory);
060           init(factory);
061        }
062    
063        private void init(ModelClassFactory factory) {
064           try {
065                                      this.add(EI.class, true, 1, 75, new Object[]{ getMessage(), new Integer(0) }, "Placer Appointment ID");
066                                      this.add(EI.class, false, 1, 75, new Object[]{ getMessage(), new Integer(0) }, "Filler Appointment ID");
067                                      this.add(NM.class, false, 1, 5, new Object[]{ getMessage(), new Integer(0) }, "Occurrence Number");
068                                      this.add(EI.class, false, 1, 22, new Object[]{ getMessage(), new Integer(0) }, "Placer Group Number");
069                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Schedule ID");
070                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Request Event Reason");
071                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(276) }, "Appointment Reason");
072                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(277) }, "Appointment Type");
073                                      this.add(NM.class, false, 1, 20, new Object[]{ getMessage(), new Integer(0) }, "Appointment Duration");
074                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Appointment Duration Units");
075                                      this.add(DR.class, false, 0, 53, new Object[]{ getMessage(), new Integer(0) }, "Requested Start Date/Time Range");
076                                      this.add(ST.class, false, 1, 5, new Object[]{ getMessage(), new Integer(0) }, "Priority-ARQ");
077                                      this.add(RI.class, false, 1, 100, new Object[]{ getMessage(), new Integer(0) }, "Repeating Interval");
078                                      this.add(ST.class, false, 1, 5, new Object[]{ getMessage(), new Integer(0) }, "Repeating Interval Duration");
079                                      this.add(XCN.class, true, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Placer Contact Person");
080                                      this.add(XTN.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Placer Contact Phone Number");
081                                      this.add(XAD.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Placer Contact Address");
082                                      this.add(PL.class, false, 1, 80, new Object[]{ getMessage(), new Integer(0) }, "Placer Contact Location");
083                                      this.add(XCN.class, true, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Entered By Person");
084                                      this.add(XTN.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Entered By Phone Number");
085                                      this.add(PL.class, false, 1, 80, new Object[]{ getMessage(), new Integer(0) }, "Entered by Location");
086                                      this.add(EI.class, false, 1, 75, new Object[]{ getMessage(), new Integer(0) }, "Parent Placer Appointment ID");
087                                      this.add(EI.class, false, 1, 75, new Object[]{ getMessage(), new Integer(0) }, "Parent Filler Appointment ID");
088                                      this.add(EI.class, false, 0, 22, new Object[]{ getMessage(), new Integer(0) }, "Placer Order Number");
089                                      this.add(EI.class, false, 0, 22, new Object[]{ getMessage(), new Integer(0) }, "Filler Order Number");
090           } catch(HL7Exception e) {
091              HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected error creating ARQ - this is probably a bug in the source code generator.", e);
092           }
093        }
094    
095    
096    
097        /**
098         * Returns
099         * ARQ-1: "Placer Appointment ID" - creates it if necessary
100         */
101        public EI getPlacerAppointmentID() { 
102            EI ret = null;
103            try {
104                Type t = this.getField(1, 0);
105                ret = (EI)t;
106            } catch (ClassCastException cce) {
107                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
108                throw new RuntimeException(cce);
109            } catch (HL7Exception he) {
110                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
111                throw new RuntimeException(he);
112            }
113            return ret;
114        }
115    
116    
117        /**
118         * Returns
119         * ARQ-1: "Placer Appointment ID" - creates it if necessary
120         */
121        public EI getArq1_PlacerAppointmentID() { 
122            EI ret = null;
123            try {
124                Type t = this.getField(1, 0);
125                ret = (EI)t;
126            } catch (ClassCastException cce) {
127                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
128                throw new RuntimeException(cce);
129            } catch (HL7Exception he) {
130                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
131                throw new RuntimeException(he);
132            }
133            return ret;
134        }
135    
136    
137    
138        /**
139         * Returns
140         * ARQ-2: "Filler Appointment ID" - creates it if necessary
141         */
142        public EI getFillerAppointmentID() { 
143            EI ret = null;
144            try {
145                Type t = this.getField(2, 0);
146                ret = (EI)t;
147            } catch (ClassCastException cce) {
148                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
149                throw new RuntimeException(cce);
150            } catch (HL7Exception he) {
151                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
152                throw new RuntimeException(he);
153            }
154            return ret;
155        }
156    
157    
158        /**
159         * Returns
160         * ARQ-2: "Filler Appointment ID" - creates it if necessary
161         */
162        public EI getArq2_FillerAppointmentID() { 
163            EI ret = null;
164            try {
165                Type t = this.getField(2, 0);
166                ret = (EI)t;
167            } catch (ClassCastException cce) {
168                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
169                throw new RuntimeException(cce);
170            } catch (HL7Exception he) {
171                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
172                throw new RuntimeException(he);
173            }
174            return ret;
175        }
176    
177    
178    
179        /**
180         * Returns
181         * ARQ-3: "Occurrence Number" - creates it if necessary
182         */
183        public NM getOccurrenceNumber() { 
184            NM ret = null;
185            try {
186                Type t = this.getField(3, 0);
187                ret = (NM)t;
188            } catch (ClassCastException cce) {
189                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
190                throw new RuntimeException(cce);
191            } catch (HL7Exception he) {
192                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
193                throw new RuntimeException(he);
194            }
195            return ret;
196        }
197    
198    
199        /**
200         * Returns
201         * ARQ-3: "Occurrence Number" - creates it if necessary
202         */
203        public NM getArq3_OccurrenceNumber() { 
204            NM ret = null;
205            try {
206                Type t = this.getField(3, 0);
207                ret = (NM)t;
208            } catch (ClassCastException cce) {
209                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
210                throw new RuntimeException(cce);
211            } catch (HL7Exception he) {
212                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
213                throw new RuntimeException(he);
214            }
215            return ret;
216        }
217    
218    
219    
220        /**
221         * Returns
222         * ARQ-4: "Placer Group Number" - creates it if necessary
223         */
224        public EI getPlacerGroupNumber() { 
225            EI ret = null;
226            try {
227                Type t = this.getField(4, 0);
228                ret = (EI)t;
229            } catch (ClassCastException cce) {
230                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
231                throw new RuntimeException(cce);
232            } catch (HL7Exception he) {
233                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
234                throw new RuntimeException(he);
235            }
236            return ret;
237        }
238    
239    
240        /**
241         * Returns
242         * ARQ-4: "Placer Group Number" - creates it if necessary
243         */
244        public EI getArq4_PlacerGroupNumber() { 
245            EI ret = null;
246            try {
247                Type t = this.getField(4, 0);
248                ret = (EI)t;
249            } catch (ClassCastException cce) {
250                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
251                throw new RuntimeException(cce);
252            } catch (HL7Exception he) {
253                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
254                throw new RuntimeException(he);
255            }
256            return ret;
257        }
258    
259    
260    
261        /**
262         * Returns
263         * ARQ-5: "Schedule ID" - creates it if necessary
264         */
265        public CE getScheduleID() { 
266            CE ret = null;
267            try {
268                Type t = this.getField(5, 0);
269                ret = (CE)t;
270            } catch (ClassCastException cce) {
271                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
272                throw new RuntimeException(cce);
273            } catch (HL7Exception he) {
274                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
275                throw new RuntimeException(he);
276            }
277            return ret;
278        }
279    
280    
281        /**
282         * Returns
283         * ARQ-5: "Schedule ID" - creates it if necessary
284         */
285        public CE getArq5_ScheduleID() { 
286            CE ret = null;
287            try {
288                Type t = this.getField(5, 0);
289                ret = (CE)t;
290            } catch (ClassCastException cce) {
291                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
292                throw new RuntimeException(cce);
293            } catch (HL7Exception he) {
294                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
295                throw new RuntimeException(he);
296            }
297            return ret;
298        }
299    
300    
301    
302        /**
303         * Returns
304         * ARQ-6: "Request Event Reason" - creates it if necessary
305         */
306        public CE getRequestEventReason() { 
307            CE ret = null;
308            try {
309                Type t = this.getField(6, 0);
310                ret = (CE)t;
311            } catch (ClassCastException cce) {
312                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
313                throw new RuntimeException(cce);
314            } catch (HL7Exception he) {
315                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
316                throw new RuntimeException(he);
317            }
318            return ret;
319        }
320    
321    
322        /**
323         * Returns
324         * ARQ-6: "Request Event Reason" - creates it if necessary
325         */
326        public CE getArq6_RequestEventReason() { 
327            CE ret = null;
328            try {
329                Type t = this.getField(6, 0);
330                ret = (CE)t;
331            } catch (ClassCastException cce) {
332                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
333                throw new RuntimeException(cce);
334            } catch (HL7Exception he) {
335                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
336                throw new RuntimeException(he);
337            }
338            return ret;
339        }
340    
341    
342    
343        /**
344         * Returns
345         * ARQ-7: "Appointment Reason" - creates it if necessary
346         */
347        public CE getAppointmentReason() { 
348            CE ret = null;
349            try {
350                Type t = this.getField(7, 0);
351                ret = (CE)t;
352            } catch (ClassCastException cce) {
353                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
354                throw new RuntimeException(cce);
355            } catch (HL7Exception he) {
356                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
357                throw new RuntimeException(he);
358            }
359            return ret;
360        }
361    
362    
363        /**
364         * Returns
365         * ARQ-7: "Appointment Reason" - creates it if necessary
366         */
367        public CE getArq7_AppointmentReason() { 
368            CE ret = null;
369            try {
370                Type t = this.getField(7, 0);
371                ret = (CE)t;
372            } catch (ClassCastException cce) {
373                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
374                throw new RuntimeException(cce);
375            } catch (HL7Exception he) {
376                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
377                throw new RuntimeException(he);
378            }
379            return ret;
380        }
381    
382    
383    
384        /**
385         * Returns
386         * ARQ-8: "Appointment Type" - creates it if necessary
387         */
388        public CE getAppointmentType() { 
389            CE ret = null;
390            try {
391                Type t = this.getField(8, 0);
392                ret = (CE)t;
393            } catch (ClassCastException cce) {
394                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
395                throw new RuntimeException(cce);
396            } catch (HL7Exception he) {
397                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
398                throw new RuntimeException(he);
399            }
400            return ret;
401        }
402    
403    
404        /**
405         * Returns
406         * ARQ-8: "Appointment Type" - creates it if necessary
407         */
408        public CE getArq8_AppointmentType() { 
409            CE ret = null;
410            try {
411                Type t = this.getField(8, 0);
412                ret = (CE)t;
413            } catch (ClassCastException cce) {
414                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
415                throw new RuntimeException(cce);
416            } catch (HL7Exception he) {
417                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
418                throw new RuntimeException(he);
419            }
420            return ret;
421        }
422    
423    
424    
425        /**
426         * Returns
427         * ARQ-9: "Appointment Duration" - creates it if necessary
428         */
429        public NM getAppointmentDuration() { 
430            NM ret = null;
431            try {
432                Type t = this.getField(9, 0);
433                ret = (NM)t;
434            } catch (ClassCastException cce) {
435                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
436                throw new RuntimeException(cce);
437            } catch (HL7Exception he) {
438                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
439                throw new RuntimeException(he);
440            }
441            return ret;
442        }
443    
444    
445        /**
446         * Returns
447         * ARQ-9: "Appointment Duration" - creates it if necessary
448         */
449        public NM getArq9_AppointmentDuration() { 
450            NM ret = null;
451            try {
452                Type t = this.getField(9, 0);
453                ret = (NM)t;
454            } catch (ClassCastException cce) {
455                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
456                throw new RuntimeException(cce);
457            } catch (HL7Exception he) {
458                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
459                throw new RuntimeException(he);
460            }
461            return ret;
462        }
463    
464    
465    
466        /**
467         * Returns
468         * ARQ-10: "Appointment Duration Units" - creates it if necessary
469         */
470        public CE getAppointmentDurationUnits() { 
471            CE ret = null;
472            try {
473                Type t = this.getField(10, 0);
474                ret = (CE)t;
475            } catch (ClassCastException cce) {
476                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
477                throw new RuntimeException(cce);
478            } catch (HL7Exception he) {
479                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
480                throw new RuntimeException(he);
481            }
482            return ret;
483        }
484    
485    
486        /**
487         * Returns
488         * ARQ-10: "Appointment Duration Units" - creates it if necessary
489         */
490        public CE getArq10_AppointmentDurationUnits() { 
491            CE ret = null;
492            try {
493                Type t = this.getField(10, 0);
494                ret = (CE)t;
495            } catch (ClassCastException cce) {
496                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
497                throw new RuntimeException(cce);
498            } catch (HL7Exception he) {
499                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
500                throw new RuntimeException(he);
501            }
502            return ret;
503        }
504    
505    
506        /**
507         * Returns all repetitions of Requested Start Date/Time Range (ARQ-11).
508         */
509        public DR[] getRequestedStartDateTimeRange() {
510            DR[] ret = null;
511            try {
512                Type[] t = this.getField(11);  
513                ret = new DR[t.length];
514                for (int i = 0; i < ret.length; i++) {
515                    ret[i] = (DR)t[i];
516                }
517            } catch (ClassCastException cce) {
518                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
519                throw new RuntimeException(cce);
520            } catch (HL7Exception he) {
521                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
522                throw new RuntimeException(he);
523            }
524            return ret;
525        }
526    
527    
528        /**
529         * Returns a count of the current number of repetitions of Requested Start Date/Time Range (ARQ-11).
530         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
531         * it will return zero.
532         */
533        public int getRequestedStartDateTimeRangeReps() {
534            DR[] ret = null;
535            try {
536                Type[] t = this.getField(11);
537                return t.length;  
538            } catch (ClassCastException cce) {
539                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
540                throw new RuntimeException(cce);
541            } catch (HL7Exception he) {
542                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
543                throw new RuntimeException(he);
544            }
545        }
546    
547    
548        /**
549         * Returns a specific repetition of
550         * ARQ-11: "Requested Start Date/Time Range" - creates it if necessary
551         *
552         * @param rep The repetition index (0-indexed)
553         */
554        public DR getRequestedStartDateTimeRange(int rep) { 
555            DR ret = null;
556            try {
557                Type t = this.getField(11, rep);
558                ret = (DR)t;
559            } catch (ClassCastException cce) {
560                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
561                throw new RuntimeException(cce);
562            } catch (HL7Exception he) {
563                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
564                throw new RuntimeException(he);
565            }
566            return ret;
567        }
568    
569        /**
570         * Returns a specific repetition of
571         * ARQ-11: "Requested Start Date/Time Range" - creates it if necessary
572         *
573         * @param rep The repetition index (0-indexed)
574         */
575        public DR getArq11_RequestedStartDateTimeRange(int rep) { 
576            DR ret = null;
577            try {
578                Type t = this.getField(11, rep);
579                ret = (DR)t;
580            } catch (ClassCastException cce) {
581                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
582                throw new RuntimeException(cce);
583            } catch (HL7Exception he) {
584                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
585                throw new RuntimeException(he);
586            }
587            return ret;
588        }
589    
590    
591        /**
592         * Returns a count of the current number of repetitions of Requested Start Date/Time Range (ARQ-11).
593         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
594         * it will return zero.
595         */
596        public int getArq11_RequestedStartDateTimeRangeReps() {
597            DR[] ret = null;
598            try {
599                Type[] t = this.getField(11);
600                return t.length;  
601            } catch (ClassCastException cce) {
602                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
603                throw new RuntimeException(cce);
604            } catch (HL7Exception he) {
605                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
606                throw new RuntimeException(he);
607            }
608        }
609    
610    
611    
612        /**
613         * Inserts a repetition of
614         * ARQ-11: "Requested Start Date/Time Range" at a specific index
615         *
616         * @param rep The repetition index (0-indexed)
617         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
618         */
619        public DR insertRequestedStartDateTimeRange(int rep) throws HL7Exception { 
620            return (DR) super.insertRepetition(11, rep);
621        }
622    
623    
624    
625        /**
626         * Inserts a repetition of
627         * ARQ-11: "Requested Start Date/Time Range" at a specific index
628         *
629         * @param rep The repetition index (0-indexed)
630         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
631         */
632        public DR insertArq11_RequestedStartDateTimeRange(int rep) throws HL7Exception { 
633            return (DR) super.insertRepetition(11, rep);
634        }
635    
636    
637        /**
638         * Removes a repetition of
639         * ARQ-11: "Requested Start Date/Time Range" at a specific index
640         *
641         * @param rep The repetition index (0-indexed)
642         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
643         */
644        public DR removeRequestedStartDateTimeRange(int rep) throws HL7Exception { 
645            return (DR) super.removeRepetition(11, rep);
646        }
647    
648    
649        /**
650         * Removes a repetition of
651         * ARQ-11: "Requested Start Date/Time Range" at a specific index
652         *
653         * @param rep The repetition index (0-indexed)
654         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
655         */
656        public DR removeArq11_RequestedStartDateTimeRange(int rep) throws HL7Exception { 
657            return (DR) super.removeRepetition(11, rep);
658        }
659    
660    
661    
662    
663        /**
664         * Returns
665         * ARQ-12: "Priority-ARQ" - creates it if necessary
666         */
667        public ST getPriorityARQ() { 
668            ST ret = null;
669            try {
670                Type t = this.getField(12, 0);
671                ret = (ST)t;
672            } catch (ClassCastException cce) {
673                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
674                throw new RuntimeException(cce);
675            } catch (HL7Exception he) {
676                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
677                throw new RuntimeException(he);
678            }
679            return ret;
680        }
681    
682    
683        /**
684         * Returns
685         * ARQ-12: "Priority-ARQ" - creates it if necessary
686         */
687        public ST getArq12_PriorityARQ() { 
688            ST ret = null;
689            try {
690                Type t = this.getField(12, 0);
691                ret = (ST)t;
692            } catch (ClassCastException cce) {
693                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
694                throw new RuntimeException(cce);
695            } catch (HL7Exception he) {
696                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
697                throw new RuntimeException(he);
698            }
699            return ret;
700        }
701    
702    
703    
704        /**
705         * Returns
706         * ARQ-13: "Repeating Interval" - creates it if necessary
707         */
708        public RI getRepeatingInterval() { 
709            RI ret = null;
710            try {
711                Type t = this.getField(13, 0);
712                ret = (RI)t;
713            } catch (ClassCastException cce) {
714                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
715                throw new RuntimeException(cce);
716            } catch (HL7Exception he) {
717                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
718                throw new RuntimeException(he);
719            }
720            return ret;
721        }
722    
723    
724        /**
725         * Returns
726         * ARQ-13: "Repeating Interval" - creates it if necessary
727         */
728        public RI getArq13_RepeatingInterval() { 
729            RI ret = null;
730            try {
731                Type t = this.getField(13, 0);
732                ret = (RI)t;
733            } catch (ClassCastException cce) {
734                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
735                throw new RuntimeException(cce);
736            } catch (HL7Exception he) {
737                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
738                throw new RuntimeException(he);
739            }
740            return ret;
741        }
742    
743    
744    
745        /**
746         * Returns
747         * ARQ-14: "Repeating Interval Duration" - creates it if necessary
748         */
749        public ST getRepeatingIntervalDuration() { 
750            ST ret = null;
751            try {
752                Type t = this.getField(14, 0);
753                ret = (ST)t;
754            } catch (ClassCastException cce) {
755                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
756                throw new RuntimeException(cce);
757            } catch (HL7Exception he) {
758                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
759                throw new RuntimeException(he);
760            }
761            return ret;
762        }
763    
764    
765        /**
766         * Returns
767         * ARQ-14: "Repeating Interval Duration" - creates it if necessary
768         */
769        public ST getArq14_RepeatingIntervalDuration() { 
770            ST ret = null;
771            try {
772                Type t = this.getField(14, 0);
773                ret = (ST)t;
774            } catch (ClassCastException cce) {
775                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
776                throw new RuntimeException(cce);
777            } catch (HL7Exception he) {
778                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
779                throw new RuntimeException(he);
780            }
781            return ret;
782        }
783    
784    
785        /**
786         * Returns all repetitions of Placer Contact Person (ARQ-15).
787         */
788        public XCN[] getPlacerContactPerson() {
789            XCN[] ret = null;
790            try {
791                Type[] t = this.getField(15);  
792                ret = new XCN[t.length];
793                for (int i = 0; i < ret.length; i++) {
794                    ret[i] = (XCN)t[i];
795                }
796            } catch (ClassCastException cce) {
797                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
798                throw new RuntimeException(cce);
799            } catch (HL7Exception he) {
800                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
801                throw new RuntimeException(he);
802            }
803            return ret;
804        }
805    
806    
807        /**
808         * Returns a count of the current number of repetitions of Placer Contact Person (ARQ-15).
809         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
810         * it will return zero.
811         */
812        public int getPlacerContactPersonReps() {
813            XCN[] ret = null;
814            try {
815                Type[] t = this.getField(15);
816                return t.length;  
817            } catch (ClassCastException cce) {
818                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
819                throw new RuntimeException(cce);
820            } catch (HL7Exception he) {
821                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
822                throw new RuntimeException(he);
823            }
824        }
825    
826    
827        /**
828         * Returns a specific repetition of
829         * ARQ-15: "Placer Contact Person" - creates it if necessary
830         *
831         * @param rep The repetition index (0-indexed)
832         */
833        public XCN getPlacerContactPerson(int rep) { 
834            XCN ret = null;
835            try {
836                Type t = this.getField(15, rep);
837                ret = (XCN)t;
838            } catch (ClassCastException cce) {
839                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
840                throw new RuntimeException(cce);
841            } catch (HL7Exception he) {
842                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
843                throw new RuntimeException(he);
844            }
845            return ret;
846        }
847    
848        /**
849         * Returns a specific repetition of
850         * ARQ-15: "Placer Contact Person" - creates it if necessary
851         *
852         * @param rep The repetition index (0-indexed)
853         */
854        public XCN getArq15_PlacerContactPerson(int rep) { 
855            XCN ret = null;
856            try {
857                Type t = this.getField(15, rep);
858                ret = (XCN)t;
859            } catch (ClassCastException cce) {
860                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
861                throw new RuntimeException(cce);
862            } catch (HL7Exception he) {
863                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
864                throw new RuntimeException(he);
865            }
866            return ret;
867        }
868    
869    
870        /**
871         * Returns a count of the current number of repetitions of Placer Contact Person (ARQ-15).
872         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
873         * it will return zero.
874         */
875        public int getArq15_PlacerContactPersonReps() {
876            XCN[] ret = null;
877            try {
878                Type[] t = this.getField(15);
879                return t.length;  
880            } catch (ClassCastException cce) {
881                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
882                throw new RuntimeException(cce);
883            } catch (HL7Exception he) {
884                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
885                throw new RuntimeException(he);
886            }
887        }
888    
889    
890    
891        /**
892         * Inserts a repetition of
893         * ARQ-15: "Placer Contact Person" at a specific index
894         *
895         * @param rep The repetition index (0-indexed)
896         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
897         */
898        public XCN insertPlacerContactPerson(int rep) throws HL7Exception { 
899            return (XCN) super.insertRepetition(15, rep);
900        }
901    
902    
903    
904        /**
905         * Inserts a repetition of
906         * ARQ-15: "Placer Contact Person" at a specific index
907         *
908         * @param rep The repetition index (0-indexed)
909         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
910         */
911        public XCN insertArq15_PlacerContactPerson(int rep) throws HL7Exception { 
912            return (XCN) super.insertRepetition(15, rep);
913        }
914    
915    
916        /**
917         * Removes a repetition of
918         * ARQ-15: "Placer Contact Person" at a specific index
919         *
920         * @param rep The repetition index (0-indexed)
921         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
922         */
923        public XCN removePlacerContactPerson(int rep) throws HL7Exception { 
924            return (XCN) super.removeRepetition(15, rep);
925        }
926    
927    
928        /**
929         * Removes a repetition of
930         * ARQ-15: "Placer Contact Person" at a specific index
931         *
932         * @param rep The repetition index (0-indexed)
933         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
934         */
935        public XCN removeArq15_PlacerContactPerson(int rep) throws HL7Exception { 
936            return (XCN) super.removeRepetition(15, rep);
937        }
938    
939    
940    
941        /**
942         * Returns all repetitions of Placer Contact Phone Number (ARQ-16).
943         */
944        public XTN[] getPlacerContactPhoneNumber() {
945            XTN[] ret = null;
946            try {
947                Type[] t = this.getField(16);  
948                ret = new XTN[t.length];
949                for (int i = 0; i < ret.length; i++) {
950                    ret[i] = (XTN)t[i];
951                }
952            } catch (ClassCastException cce) {
953                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
954                throw new RuntimeException(cce);
955            } catch (HL7Exception he) {
956                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
957                throw new RuntimeException(he);
958            }
959            return ret;
960        }
961    
962    
963        /**
964         * Returns a count of the current number of repetitions of Placer Contact Phone Number (ARQ-16).
965         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
966         * it will return zero.
967         */
968        public int getPlacerContactPhoneNumberReps() {
969            XTN[] ret = null;
970            try {
971                Type[] t = this.getField(16);
972                return t.length;  
973            } catch (ClassCastException cce) {
974                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
975                throw new RuntimeException(cce);
976            } catch (HL7Exception he) {
977                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
978                throw new RuntimeException(he);
979            }
980        }
981    
982    
983        /**
984         * Returns a specific repetition of
985         * ARQ-16: "Placer Contact Phone Number" - creates it if necessary
986         *
987         * @param rep The repetition index (0-indexed)
988         */
989        public XTN getPlacerContactPhoneNumber(int rep) { 
990            XTN ret = null;
991            try {
992                Type t = this.getField(16, rep);
993                ret = (XTN)t;
994            } catch (ClassCastException cce) {
995                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
996                throw new RuntimeException(cce);
997            } catch (HL7Exception he) {
998                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
999                throw new RuntimeException(he);
1000            }
1001            return ret;
1002        }
1003    
1004        /**
1005         * Returns a specific repetition of
1006         * ARQ-16: "Placer Contact Phone Number" - creates it if necessary
1007         *
1008         * @param rep The repetition index (0-indexed)
1009         */
1010        public XTN getArq16_PlacerContactPhoneNumber(int rep) { 
1011            XTN ret = null;
1012            try {
1013                Type t = this.getField(16, rep);
1014                ret = (XTN)t;
1015            } catch (ClassCastException cce) {
1016                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1017                throw new RuntimeException(cce);
1018            } catch (HL7Exception he) {
1019                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1020                throw new RuntimeException(he);
1021            }
1022            return ret;
1023        }
1024    
1025    
1026        /**
1027         * Returns a count of the current number of repetitions of Placer Contact Phone Number (ARQ-16).
1028         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1029         * it will return zero.
1030         */
1031        public int getArq16_PlacerContactPhoneNumberReps() {
1032            XTN[] ret = null;
1033            try {
1034                Type[] t = this.getField(16);
1035                return t.length;  
1036            } catch (ClassCastException cce) {
1037                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1038                throw new RuntimeException(cce);
1039            } catch (HL7Exception he) {
1040                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1041                throw new RuntimeException(he);
1042            }
1043        }
1044    
1045    
1046    
1047        /**
1048         * Inserts a repetition of
1049         * ARQ-16: "Placer Contact Phone Number" at a specific index
1050         *
1051         * @param rep The repetition index (0-indexed)
1052         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1053         */
1054        public XTN insertPlacerContactPhoneNumber(int rep) throws HL7Exception { 
1055            return (XTN) super.insertRepetition(16, rep);
1056        }
1057    
1058    
1059    
1060        /**
1061         * Inserts a repetition of
1062         * ARQ-16: "Placer Contact Phone Number" at a specific index
1063         *
1064         * @param rep The repetition index (0-indexed)
1065         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1066         */
1067        public XTN insertArq16_PlacerContactPhoneNumber(int rep) throws HL7Exception { 
1068            return (XTN) super.insertRepetition(16, rep);
1069        }
1070    
1071    
1072        /**
1073         * Removes a repetition of
1074         * ARQ-16: "Placer Contact Phone Number" at a specific index
1075         *
1076         * @param rep The repetition index (0-indexed)
1077         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1078         */
1079        public XTN removePlacerContactPhoneNumber(int rep) throws HL7Exception { 
1080            return (XTN) super.removeRepetition(16, rep);
1081        }
1082    
1083    
1084        /**
1085         * Removes a repetition of
1086         * ARQ-16: "Placer Contact Phone Number" at a specific index
1087         *
1088         * @param rep The repetition index (0-indexed)
1089         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1090         */
1091        public XTN removeArq16_PlacerContactPhoneNumber(int rep) throws HL7Exception { 
1092            return (XTN) super.removeRepetition(16, rep);
1093        }
1094    
1095    
1096    
1097        /**
1098         * Returns all repetitions of Placer Contact Address (ARQ-17).
1099         */
1100        public XAD[] getPlacerContactAddress() {
1101            XAD[] ret = null;
1102            try {
1103                Type[] t = this.getField(17);  
1104                ret = new XAD[t.length];
1105                for (int i = 0; i < ret.length; i++) {
1106                    ret[i] = (XAD)t[i];
1107                }
1108            } catch (ClassCastException cce) {
1109                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1110                throw new RuntimeException(cce);
1111            } catch (HL7Exception he) {
1112                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1113                throw new RuntimeException(he);
1114            }
1115            return ret;
1116        }
1117    
1118    
1119        /**
1120         * Returns a count of the current number of repetitions of Placer Contact Address (ARQ-17).
1121         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1122         * it will return zero.
1123         */
1124        public int getPlacerContactAddressReps() {
1125            XAD[] ret = null;
1126            try {
1127                Type[] t = this.getField(17);
1128                return t.length;  
1129            } catch (ClassCastException cce) {
1130                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1131                throw new RuntimeException(cce);
1132            } catch (HL7Exception he) {
1133                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1134                throw new RuntimeException(he);
1135            }
1136        }
1137    
1138    
1139        /**
1140         * Returns a specific repetition of
1141         * ARQ-17: "Placer Contact Address" - creates it if necessary
1142         *
1143         * @param rep The repetition index (0-indexed)
1144         */
1145        public XAD getPlacerContactAddress(int rep) { 
1146            XAD ret = null;
1147            try {
1148                Type t = this.getField(17, rep);
1149                ret = (XAD)t;
1150            } catch (ClassCastException cce) {
1151                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1152                throw new RuntimeException(cce);
1153            } catch (HL7Exception he) {
1154                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1155                throw new RuntimeException(he);
1156            }
1157            return ret;
1158        }
1159    
1160        /**
1161         * Returns a specific repetition of
1162         * ARQ-17: "Placer Contact Address" - creates it if necessary
1163         *
1164         * @param rep The repetition index (0-indexed)
1165         */
1166        public XAD getArq17_PlacerContactAddress(int rep) { 
1167            XAD ret = null;
1168            try {
1169                Type t = this.getField(17, rep);
1170                ret = (XAD)t;
1171            } catch (ClassCastException cce) {
1172                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1173                throw new RuntimeException(cce);
1174            } catch (HL7Exception he) {
1175                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1176                throw new RuntimeException(he);
1177            }
1178            return ret;
1179        }
1180    
1181    
1182        /**
1183         * Returns a count of the current number of repetitions of Placer Contact Address (ARQ-17).
1184         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1185         * it will return zero.
1186         */
1187        public int getArq17_PlacerContactAddressReps() {
1188            XAD[] ret = null;
1189            try {
1190                Type[] t = this.getField(17);
1191                return t.length;  
1192            } catch (ClassCastException cce) {
1193                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1194                throw new RuntimeException(cce);
1195            } catch (HL7Exception he) {
1196                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1197                throw new RuntimeException(he);
1198            }
1199        }
1200    
1201    
1202    
1203        /**
1204         * Inserts a repetition of
1205         * ARQ-17: "Placer Contact Address" at a specific index
1206         *
1207         * @param rep The repetition index (0-indexed)
1208         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1209         */
1210        public XAD insertPlacerContactAddress(int rep) throws HL7Exception { 
1211            return (XAD) super.insertRepetition(17, rep);
1212        }
1213    
1214    
1215    
1216        /**
1217         * Inserts a repetition of
1218         * ARQ-17: "Placer Contact Address" at a specific index
1219         *
1220         * @param rep The repetition index (0-indexed)
1221         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1222         */
1223        public XAD insertArq17_PlacerContactAddress(int rep) throws HL7Exception { 
1224            return (XAD) super.insertRepetition(17, rep);
1225        }
1226    
1227    
1228        /**
1229         * Removes a repetition of
1230         * ARQ-17: "Placer Contact Address" at a specific index
1231         *
1232         * @param rep The repetition index (0-indexed)
1233         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1234         */
1235        public XAD removePlacerContactAddress(int rep) throws HL7Exception { 
1236            return (XAD) super.removeRepetition(17, rep);
1237        }
1238    
1239    
1240        /**
1241         * Removes a repetition of
1242         * ARQ-17: "Placer Contact Address" at a specific index
1243         *
1244         * @param rep The repetition index (0-indexed)
1245         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1246         */
1247        public XAD removeArq17_PlacerContactAddress(int rep) throws HL7Exception { 
1248            return (XAD) super.removeRepetition(17, rep);
1249        }
1250    
1251    
1252    
1253    
1254        /**
1255         * Returns
1256         * ARQ-18: "Placer Contact Location" - creates it if necessary
1257         */
1258        public PL getPlacerContactLocation() { 
1259            PL ret = null;
1260            try {
1261                Type t = this.getField(18, 0);
1262                ret = (PL)t;
1263            } catch (ClassCastException cce) {
1264                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1265                throw new RuntimeException(cce);
1266            } catch (HL7Exception he) {
1267                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1268                throw new RuntimeException(he);
1269            }
1270            return ret;
1271        }
1272    
1273    
1274        /**
1275         * Returns
1276         * ARQ-18: "Placer Contact Location" - creates it if necessary
1277         */
1278        public PL getArq18_PlacerContactLocation() { 
1279            PL ret = null;
1280            try {
1281                Type t = this.getField(18, 0);
1282                ret = (PL)t;
1283            } catch (ClassCastException cce) {
1284                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1285                throw new RuntimeException(cce);
1286            } catch (HL7Exception he) {
1287                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1288                throw new RuntimeException(he);
1289            }
1290            return ret;
1291        }
1292    
1293    
1294        /**
1295         * Returns all repetitions of Entered By Person (ARQ-19).
1296         */
1297        public XCN[] getEnteredByPerson() {
1298            XCN[] ret = null;
1299            try {
1300                Type[] t = this.getField(19);  
1301                ret = new XCN[t.length];
1302                for (int i = 0; i < ret.length; i++) {
1303                    ret[i] = (XCN)t[i];
1304                }
1305            } catch (ClassCastException cce) {
1306                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1307                throw new RuntimeException(cce);
1308            } catch (HL7Exception he) {
1309                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1310                throw new RuntimeException(he);
1311            }
1312            return ret;
1313        }
1314    
1315    
1316        /**
1317         * Returns a count of the current number of repetitions of Entered By Person (ARQ-19).
1318         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1319         * it will return zero.
1320         */
1321        public int getEnteredByPersonReps() {
1322            XCN[] ret = null;
1323            try {
1324                Type[] t = this.getField(19);
1325                return t.length;  
1326            } catch (ClassCastException cce) {
1327                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1328                throw new RuntimeException(cce);
1329            } catch (HL7Exception he) {
1330                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1331                throw new RuntimeException(he);
1332            }
1333        }
1334    
1335    
1336        /**
1337         * Returns a specific repetition of
1338         * ARQ-19: "Entered By Person" - creates it if necessary
1339         *
1340         * @param rep The repetition index (0-indexed)
1341         */
1342        public XCN getEnteredByPerson(int rep) { 
1343            XCN ret = null;
1344            try {
1345                Type t = this.getField(19, rep);
1346                ret = (XCN)t;
1347            } catch (ClassCastException cce) {
1348                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1349                throw new RuntimeException(cce);
1350            } catch (HL7Exception he) {
1351                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1352                throw new RuntimeException(he);
1353            }
1354            return ret;
1355        }
1356    
1357        /**
1358         * Returns a specific repetition of
1359         * ARQ-19: "Entered By Person" - creates it if necessary
1360         *
1361         * @param rep The repetition index (0-indexed)
1362         */
1363        public XCN getArq19_EnteredByPerson(int rep) { 
1364            XCN ret = null;
1365            try {
1366                Type t = this.getField(19, rep);
1367                ret = (XCN)t;
1368            } catch (ClassCastException cce) {
1369                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1370                throw new RuntimeException(cce);
1371            } catch (HL7Exception he) {
1372                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1373                throw new RuntimeException(he);
1374            }
1375            return ret;
1376        }
1377    
1378    
1379        /**
1380         * Returns a count of the current number of repetitions of Entered By Person (ARQ-19).
1381         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1382         * it will return zero.
1383         */
1384        public int getArq19_EnteredByPersonReps() {
1385            XCN[] ret = null;
1386            try {
1387                Type[] t = this.getField(19);
1388                return t.length;  
1389            } catch (ClassCastException cce) {
1390                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1391                throw new RuntimeException(cce);
1392            } catch (HL7Exception he) {
1393                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1394                throw new RuntimeException(he);
1395            }
1396        }
1397    
1398    
1399    
1400        /**
1401         * Inserts a repetition of
1402         * ARQ-19: "Entered By Person" at a specific index
1403         *
1404         * @param rep The repetition index (0-indexed)
1405         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1406         */
1407        public XCN insertEnteredByPerson(int rep) throws HL7Exception { 
1408            return (XCN) super.insertRepetition(19, rep);
1409        }
1410    
1411    
1412    
1413        /**
1414         * Inserts a repetition of
1415         * ARQ-19: "Entered By Person" at a specific index
1416         *
1417         * @param rep The repetition index (0-indexed)
1418         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1419         */
1420        public XCN insertArq19_EnteredByPerson(int rep) throws HL7Exception { 
1421            return (XCN) super.insertRepetition(19, rep);
1422        }
1423    
1424    
1425        /**
1426         * Removes a repetition of
1427         * ARQ-19: "Entered By Person" at a specific index
1428         *
1429         * @param rep The repetition index (0-indexed)
1430         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1431         */
1432        public XCN removeEnteredByPerson(int rep) throws HL7Exception { 
1433            return (XCN) super.removeRepetition(19, rep);
1434        }
1435    
1436    
1437        /**
1438         * Removes a repetition of
1439         * ARQ-19: "Entered By Person" at a specific index
1440         *
1441         * @param rep The repetition index (0-indexed)
1442         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1443         */
1444        public XCN removeArq19_EnteredByPerson(int rep) throws HL7Exception { 
1445            return (XCN) super.removeRepetition(19, rep);
1446        }
1447    
1448    
1449    
1450        /**
1451         * Returns all repetitions of Entered By Phone Number (ARQ-20).
1452         */
1453        public XTN[] getEnteredByPhoneNumber() {
1454            XTN[] ret = null;
1455            try {
1456                Type[] t = this.getField(20);  
1457                ret = new XTN[t.length];
1458                for (int i = 0; i < ret.length; i++) {
1459                    ret[i] = (XTN)t[i];
1460                }
1461            } catch (ClassCastException cce) {
1462                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1463                throw new RuntimeException(cce);
1464            } catch (HL7Exception he) {
1465                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1466                throw new RuntimeException(he);
1467            }
1468            return ret;
1469        }
1470    
1471    
1472        /**
1473         * Returns a count of the current number of repetitions of Entered By Phone Number (ARQ-20).
1474         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1475         * it will return zero.
1476         */
1477        public int getEnteredByPhoneNumberReps() {
1478            XTN[] ret = null;
1479            try {
1480                Type[] t = this.getField(20);
1481                return t.length;  
1482            } catch (ClassCastException cce) {
1483                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1484                throw new RuntimeException(cce);
1485            } catch (HL7Exception he) {
1486                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1487                throw new RuntimeException(he);
1488            }
1489        }
1490    
1491    
1492        /**
1493         * Returns a specific repetition of
1494         * ARQ-20: "Entered By Phone Number" - creates it if necessary
1495         *
1496         * @param rep The repetition index (0-indexed)
1497         */
1498        public XTN getEnteredByPhoneNumber(int rep) { 
1499            XTN ret = null;
1500            try {
1501                Type t = this.getField(20, rep);
1502                ret = (XTN)t;
1503            } catch (ClassCastException cce) {
1504                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1505                throw new RuntimeException(cce);
1506            } catch (HL7Exception he) {
1507                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1508                throw new RuntimeException(he);
1509            }
1510            return ret;
1511        }
1512    
1513        /**
1514         * Returns a specific repetition of
1515         * ARQ-20: "Entered By Phone Number" - creates it if necessary
1516         *
1517         * @param rep The repetition index (0-indexed)
1518         */
1519        public XTN getArq20_EnteredByPhoneNumber(int rep) { 
1520            XTN ret = null;
1521            try {
1522                Type t = this.getField(20, rep);
1523                ret = (XTN)t;
1524            } catch (ClassCastException cce) {
1525                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1526                throw new RuntimeException(cce);
1527            } catch (HL7Exception he) {
1528                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1529                throw new RuntimeException(he);
1530            }
1531            return ret;
1532        }
1533    
1534    
1535        /**
1536         * Returns a count of the current number of repetitions of Entered By Phone Number (ARQ-20).
1537         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1538         * it will return zero.
1539         */
1540        public int getArq20_EnteredByPhoneNumberReps() {
1541            XTN[] ret = null;
1542            try {
1543                Type[] t = this.getField(20);
1544                return t.length;  
1545            } catch (ClassCastException cce) {
1546                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1547                throw new RuntimeException(cce);
1548            } catch (HL7Exception he) {
1549                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1550                throw new RuntimeException(he);
1551            }
1552        }
1553    
1554    
1555    
1556        /**
1557         * Inserts a repetition of
1558         * ARQ-20: "Entered By Phone Number" at a specific index
1559         *
1560         * @param rep The repetition index (0-indexed)
1561         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1562         */
1563        public XTN insertEnteredByPhoneNumber(int rep) throws HL7Exception { 
1564            return (XTN) super.insertRepetition(20, rep);
1565        }
1566    
1567    
1568    
1569        /**
1570         * Inserts a repetition of
1571         * ARQ-20: "Entered By Phone Number" at a specific index
1572         *
1573         * @param rep The repetition index (0-indexed)
1574         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1575         */
1576        public XTN insertArq20_EnteredByPhoneNumber(int rep) throws HL7Exception { 
1577            return (XTN) super.insertRepetition(20, rep);
1578        }
1579    
1580    
1581        /**
1582         * Removes a repetition of
1583         * ARQ-20: "Entered By Phone Number" at a specific index
1584         *
1585         * @param rep The repetition index (0-indexed)
1586         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1587         */
1588        public XTN removeEnteredByPhoneNumber(int rep) throws HL7Exception { 
1589            return (XTN) super.removeRepetition(20, rep);
1590        }
1591    
1592    
1593        /**
1594         * Removes a repetition of
1595         * ARQ-20: "Entered By Phone Number" at a specific index
1596         *
1597         * @param rep The repetition index (0-indexed)
1598         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1599         */
1600        public XTN removeArq20_EnteredByPhoneNumber(int rep) throws HL7Exception { 
1601            return (XTN) super.removeRepetition(20, rep);
1602        }
1603    
1604    
1605    
1606    
1607        /**
1608         * Returns
1609         * ARQ-21: "Entered by Location" - creates it if necessary
1610         */
1611        public PL getEnteredByLocation() { 
1612            PL ret = null;
1613            try {
1614                Type t = this.getField(21, 0);
1615                ret = (PL)t;
1616            } catch (ClassCastException cce) {
1617                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1618                throw new RuntimeException(cce);
1619            } catch (HL7Exception he) {
1620                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1621                throw new RuntimeException(he);
1622            }
1623            return ret;
1624        }
1625    
1626    
1627        /**
1628         * Returns
1629         * ARQ-21: "Entered by Location" - creates it if necessary
1630         */
1631        public PL getArq21_EnteredByLocation() { 
1632            PL ret = null;
1633            try {
1634                Type t = this.getField(21, 0);
1635                ret = (PL)t;
1636            } catch (ClassCastException cce) {
1637                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1638                throw new RuntimeException(cce);
1639            } catch (HL7Exception he) {
1640                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1641                throw new RuntimeException(he);
1642            }
1643            return ret;
1644        }
1645    
1646    
1647    
1648        /**
1649         * Returns
1650         * ARQ-22: "Parent Placer Appointment ID" - creates it if necessary
1651         */
1652        public EI getParentPlacerAppointmentID() { 
1653            EI ret = null;
1654            try {
1655                Type t = this.getField(22, 0);
1656                ret = (EI)t;
1657            } catch (ClassCastException cce) {
1658                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1659                throw new RuntimeException(cce);
1660            } catch (HL7Exception he) {
1661                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1662                throw new RuntimeException(he);
1663            }
1664            return ret;
1665        }
1666    
1667    
1668        /**
1669         * Returns
1670         * ARQ-22: "Parent Placer Appointment ID" - creates it if necessary
1671         */
1672        public EI getArq22_ParentPlacerAppointmentID() { 
1673            EI ret = null;
1674            try {
1675                Type t = this.getField(22, 0);
1676                ret = (EI)t;
1677            } catch (ClassCastException cce) {
1678                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1679                throw new RuntimeException(cce);
1680            } catch (HL7Exception he) {
1681                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1682                throw new RuntimeException(he);
1683            }
1684            return ret;
1685        }
1686    
1687    
1688    
1689        /**
1690         * Returns
1691         * ARQ-23: "Parent Filler Appointment ID" - creates it if necessary
1692         */
1693        public EI getParentFillerAppointmentID() { 
1694            EI ret = null;
1695            try {
1696                Type t = this.getField(23, 0);
1697                ret = (EI)t;
1698            } catch (ClassCastException cce) {
1699                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1700                throw new RuntimeException(cce);
1701            } catch (HL7Exception he) {
1702                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1703                throw new RuntimeException(he);
1704            }
1705            return ret;
1706        }
1707    
1708    
1709        /**
1710         * Returns
1711         * ARQ-23: "Parent Filler Appointment ID" - creates it if necessary
1712         */
1713        public EI getArq23_ParentFillerAppointmentID() { 
1714            EI ret = null;
1715            try {
1716                Type t = this.getField(23, 0);
1717                ret = (EI)t;
1718            } catch (ClassCastException cce) {
1719                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1720                throw new RuntimeException(cce);
1721            } catch (HL7Exception he) {
1722                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1723                throw new RuntimeException(he);
1724            }
1725            return ret;
1726        }
1727    
1728    
1729        /**
1730         * Returns all repetitions of Placer Order Number (ARQ-24).
1731         */
1732        public EI[] getPlacerOrderNumber() {
1733            EI[] ret = null;
1734            try {
1735                Type[] t = this.getField(24);  
1736                ret = new EI[t.length];
1737                for (int i = 0; i < ret.length; i++) {
1738                    ret[i] = (EI)t[i];
1739                }
1740            } catch (ClassCastException cce) {
1741                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1742                throw new RuntimeException(cce);
1743            } catch (HL7Exception he) {
1744                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1745                throw new RuntimeException(he);
1746            }
1747            return ret;
1748        }
1749    
1750    
1751        /**
1752         * Returns a count of the current number of repetitions of Placer Order Number (ARQ-24).
1753         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1754         * it will return zero.
1755         */
1756        public int getPlacerOrderNumberReps() {
1757            EI[] ret = null;
1758            try {
1759                Type[] t = this.getField(24);
1760                return t.length;  
1761            } catch (ClassCastException cce) {
1762                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1763                throw new RuntimeException(cce);
1764            } catch (HL7Exception he) {
1765                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1766                throw new RuntimeException(he);
1767            }
1768        }
1769    
1770    
1771        /**
1772         * Returns a specific repetition of
1773         * ARQ-24: "Placer Order Number" - creates it if necessary
1774         *
1775         * @param rep The repetition index (0-indexed)
1776         */
1777        public EI getPlacerOrderNumber(int rep) { 
1778            EI ret = null;
1779            try {
1780                Type t = this.getField(24, rep);
1781                ret = (EI)t;
1782            } catch (ClassCastException cce) {
1783                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1784                throw new RuntimeException(cce);
1785            } catch (HL7Exception he) {
1786                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1787                throw new RuntimeException(he);
1788            }
1789            return ret;
1790        }
1791    
1792        /**
1793         * Returns a specific repetition of
1794         * ARQ-24: "Placer Order Number" - creates it if necessary
1795         *
1796         * @param rep The repetition index (0-indexed)
1797         */
1798        public EI getArq24_PlacerOrderNumber(int rep) { 
1799            EI ret = null;
1800            try {
1801                Type t = this.getField(24, rep);
1802                ret = (EI)t;
1803            } catch (ClassCastException cce) {
1804                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1805                throw new RuntimeException(cce);
1806            } catch (HL7Exception he) {
1807                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1808                throw new RuntimeException(he);
1809            }
1810            return ret;
1811        }
1812    
1813    
1814        /**
1815         * Returns a count of the current number of repetitions of Placer Order Number (ARQ-24).
1816         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1817         * it will return zero.
1818         */
1819        public int getArq24_PlacerOrderNumberReps() {
1820            EI[] ret = null;
1821            try {
1822                Type[] t = this.getField(24);
1823                return t.length;  
1824            } catch (ClassCastException cce) {
1825                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1826                throw new RuntimeException(cce);
1827            } catch (HL7Exception he) {
1828                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1829                throw new RuntimeException(he);
1830            }
1831        }
1832    
1833    
1834    
1835        /**
1836         * Inserts a repetition of
1837         * ARQ-24: "Placer Order Number" at a specific index
1838         *
1839         * @param rep The repetition index (0-indexed)
1840         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1841         */
1842        public EI insertPlacerOrderNumber(int rep) throws HL7Exception { 
1843            return (EI) super.insertRepetition(24, rep);
1844        }
1845    
1846    
1847    
1848        /**
1849         * Inserts a repetition of
1850         * ARQ-24: "Placer Order Number" at a specific index
1851         *
1852         * @param rep The repetition index (0-indexed)
1853         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1854         */
1855        public EI insertArq24_PlacerOrderNumber(int rep) throws HL7Exception { 
1856            return (EI) super.insertRepetition(24, rep);
1857        }
1858    
1859    
1860        /**
1861         * Removes a repetition of
1862         * ARQ-24: "Placer Order Number" at a specific index
1863         *
1864         * @param rep The repetition index (0-indexed)
1865         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1866         */
1867        public EI removePlacerOrderNumber(int rep) throws HL7Exception { 
1868            return (EI) super.removeRepetition(24, rep);
1869        }
1870    
1871    
1872        /**
1873         * Removes a repetition of
1874         * ARQ-24: "Placer Order Number" at a specific index
1875         *
1876         * @param rep The repetition index (0-indexed)
1877         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1878         */
1879        public EI removeArq24_PlacerOrderNumber(int rep) throws HL7Exception { 
1880            return (EI) super.removeRepetition(24, rep);
1881        }
1882    
1883    
1884    
1885        /**
1886         * Returns all repetitions of Filler Order Number (ARQ-25).
1887         */
1888        public EI[] getFillerOrderNumber() {
1889            EI[] ret = null;
1890            try {
1891                Type[] t = this.getField(25);  
1892                ret = new EI[t.length];
1893                for (int i = 0; i < ret.length; i++) {
1894                    ret[i] = (EI)t[i];
1895                }
1896            } catch (ClassCastException cce) {
1897                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1898                throw new RuntimeException(cce);
1899            } catch (HL7Exception he) {
1900                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1901                throw new RuntimeException(he);
1902            }
1903            return ret;
1904        }
1905    
1906    
1907        /**
1908         * Returns a count of the current number of repetitions of Filler Order Number (ARQ-25).
1909         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1910         * it will return zero.
1911         */
1912        public int getFillerOrderNumberReps() {
1913            EI[] ret = null;
1914            try {
1915                Type[] t = this.getField(25);
1916                return t.length;  
1917            } catch (ClassCastException cce) {
1918                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1919                throw new RuntimeException(cce);
1920            } catch (HL7Exception he) {
1921                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1922                throw new RuntimeException(he);
1923            }
1924        }
1925    
1926    
1927        /**
1928         * Returns a specific repetition of
1929         * ARQ-25: "Filler Order Number" - creates it if necessary
1930         *
1931         * @param rep The repetition index (0-indexed)
1932         */
1933        public EI getFillerOrderNumber(int rep) { 
1934            EI ret = null;
1935            try {
1936                Type t = this.getField(25, rep);
1937                ret = (EI)t;
1938            } catch (ClassCastException cce) {
1939                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1940                throw new RuntimeException(cce);
1941            } catch (HL7Exception he) {
1942                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1943                throw new RuntimeException(he);
1944            }
1945            return ret;
1946        }
1947    
1948        /**
1949         * Returns a specific repetition of
1950         * ARQ-25: "Filler Order Number" - creates it if necessary
1951         *
1952         * @param rep The repetition index (0-indexed)
1953         */
1954        public EI getArq25_FillerOrderNumber(int rep) { 
1955            EI ret = null;
1956            try {
1957                Type t = this.getField(25, rep);
1958                ret = (EI)t;
1959            } catch (ClassCastException cce) {
1960                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1961                throw new RuntimeException(cce);
1962            } catch (HL7Exception he) {
1963                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1964                throw new RuntimeException(he);
1965            }
1966            return ret;
1967        }
1968    
1969    
1970        /**
1971         * Returns a count of the current number of repetitions of Filler Order Number (ARQ-25).
1972         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1973         * it will return zero.
1974         */
1975        public int getArq25_FillerOrderNumberReps() {
1976            EI[] ret = null;
1977            try {
1978                Type[] t = this.getField(25);
1979                return t.length;  
1980            } catch (ClassCastException cce) {
1981                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1982                throw new RuntimeException(cce);
1983            } catch (HL7Exception he) {
1984                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1985                throw new RuntimeException(he);
1986            }
1987        }
1988    
1989    
1990    
1991        /**
1992         * Inserts a repetition of
1993         * ARQ-25: "Filler Order Number" at a specific index
1994         *
1995         * @param rep The repetition index (0-indexed)
1996         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1997         */
1998        public EI insertFillerOrderNumber(int rep) throws HL7Exception { 
1999            return (EI) super.insertRepetition(25, rep);
2000        }
2001    
2002    
2003    
2004        /**
2005         * Inserts a repetition of
2006         * ARQ-25: "Filler Order Number" at a specific index
2007         *
2008         * @param rep The repetition index (0-indexed)
2009         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2010         */
2011        public EI insertArq25_FillerOrderNumber(int rep) throws HL7Exception { 
2012            return (EI) super.insertRepetition(25, rep);
2013        }
2014    
2015    
2016        /**
2017         * Removes a repetition of
2018         * ARQ-25: "Filler Order Number" at a specific index
2019         *
2020         * @param rep The repetition index (0-indexed)
2021         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2022         */
2023        public EI removeFillerOrderNumber(int rep) throws HL7Exception { 
2024            return (EI) super.removeRepetition(25, rep);
2025        }
2026    
2027    
2028        /**
2029         * Removes a repetition of
2030         * ARQ-25: "Filler Order Number" at a specific index
2031         *
2032         * @param rep The repetition index (0-indexed)
2033         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2034         */
2035        public EI removeArq25_FillerOrderNumber(int rep) throws HL7Exception { 
2036            return (EI) super.removeRepetition(25, rep);
2037        }
2038    
2039    
2040    
2041    
2042    
2043    
2044        /** {@inheritDoc} */   
2045        protected Type createNewTypeWithoutReflection(int field) {
2046           switch (field) {
2047              case 0: return new EI(getMessage());
2048              case 1: return new EI(getMessage());
2049              case 2: return new NM(getMessage());
2050              case 3: return new EI(getMessage());
2051              case 4: return new CE(getMessage());
2052              case 5: return new CE(getMessage());
2053              case 6: return new CE(getMessage());
2054              case 7: return new CE(getMessage());
2055              case 8: return new NM(getMessage());
2056              case 9: return new CE(getMessage());
2057              case 10: return new DR(getMessage());
2058              case 11: return new ST(getMessage());
2059              case 12: return new RI(getMessage());
2060              case 13: return new ST(getMessage());
2061              case 14: return new XCN(getMessage());
2062              case 15: return new XTN(getMessage());
2063              case 16: return new XAD(getMessage());
2064              case 17: return new PL(getMessage());
2065              case 18: return new XCN(getMessage());
2066              case 19: return new XTN(getMessage());
2067              case 20: return new PL(getMessage());
2068              case 21: return new EI(getMessage());
2069              case 22: return new EI(getMessage());
2070              case 23: return new EI(getMessage());
2071              case 24: return new EI(getMessage());
2072              default: return null;
2073           }
2074       }
2075    
2076    
2077    }
2078