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