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