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 GOL message segment (Goal Detail). 
024     * This segment has the following fields:</p>
025     * <ul>
026         * <li>GOL-1: Action Code (ID) <b> </b>
027         * <li>GOL-2: Action Date/Time (TS) <b> </b>
028         * <li>GOL-3: Goal ID (CE) <b> </b>
029         * <li>GOL-4: Goal Instance ID (EI) <b> </b>
030         * <li>GOL-5: Episode of Care ID (EI) <b>optional </b>
031         * <li>GOL-6: Goal List Priority (NM) <b>optional </b>
032         * <li>GOL-7: Goal Established Date/Time (TS) <b>optional </b>
033         * <li>GOL-8: Expected Goal Achieve Date/Time (TS) <b>optional </b>
034         * <li>GOL-9: Goal Classification (CE) <b>optional </b>
035         * <li>GOL-10: Goal Management Discipline (CE) <b>optional </b>
036         * <li>GOL-11: Current Goal Review Status (CE) <b>optional </b>
037         * <li>GOL-12: Current Goal Review Date/Time (TS) <b>optional </b>
038         * <li>GOL-13: Next Goal Review Date/Time (TS) <b>optional </b>
039         * <li>GOL-14: Previous Goal Review Date/Time (TS) <b>optional </b>
040         * <li>GOL-15: Goal Review Interval (TQ) <b>optional </b>
041         * <li>GOL-16: Goal Evaluation (CE) <b>optional </b>
042         * <li>GOL-17: Goal Evaluation Comment (ST) <b>optional repeating</b>
043         * <li>GOL-18: Goal Life Cycle Status (CE) <b>optional </b>
044         * <li>GOL-19: Goal Life Cycle Status Date/Time (TS) <b>optional </b>
045         * <li>GOL-20: Goal Target Type (CE) <b>optional repeating</b>
046         * <li>GOL-21: Goal Target Name (XPN) <b>optional repeating</b>
047     * </ul>
048     */
049    public class GOL extends AbstractSegment {
050    
051        /** 
052         * Creates a new GOL segment
053         */
054        public GOL(Group parent, ModelClassFactory factory) {
055           super(parent, factory);
056           init(factory);
057        }
058    
059        private void init(ModelClassFactory factory) {
060           try {
061                                      this.add(ID.class, true, 1, 2, new Object[]{ getMessage() }, "Action Code");
062                                      this.add(TS.class, true, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Action Date/Time");
063                                      this.add(CE.class, true, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal ID");
064                                      this.add(EI.class, true, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Goal Instance ID");
065                                      this.add(EI.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Episode of Care ID");
066                                      this.add(NM.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Goal List Priority");
067                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Goal Established Date/Time");
068                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Expected Goal Achieve Date/Time");
069                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal Classification");
070                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal Management Discipline");
071                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Current Goal Review Status");
072                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Current Goal Review Date/Time");
073                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Next Goal Review Date/Time");
074                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Previous Goal Review Date/Time");
075                                      this.add(TQ.class, false, 1, 200, new Object[]{ getMessage(), new Integer(0) }, "Goal Review Interval");
076                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal Evaluation");
077                                      this.add(ST.class, false, 0, 300, new Object[]{ getMessage(), new Integer(0) }, "Goal Evaluation Comment");
078                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal Life Cycle Status");
079                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Goal Life Cycle Status Date/Time");
080                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal Target Type");
081                                      this.add(XPN.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Goal Target Name");
082           } catch(HL7Exception e) {
083              HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected error creating GOL - this is probably a bug in the source code generator.", e);
084           }
085        }
086    
087    
088    
089        /**
090         * Returns
091         * GOL-1: "Action Code" - creates it if necessary
092         */
093        public ID getActionCode() { 
094            ID ret = null;
095            try {
096                Type t = this.getField(1, 0);
097                ret = (ID)t;
098            } catch (ClassCastException cce) {
099                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
100                throw new RuntimeException(cce);
101            } catch (HL7Exception he) {
102                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
103                throw new RuntimeException(he);
104            }
105            return ret;
106        }
107    
108    
109        /**
110         * Returns
111         * GOL-1: "Action Code" - creates it if necessary
112         */
113        public ID getGol1_ActionCode() { 
114            ID ret = null;
115            try {
116                Type t = this.getField(1, 0);
117                ret = (ID)t;
118            } catch (ClassCastException cce) {
119                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
120                throw new RuntimeException(cce);
121            } catch (HL7Exception he) {
122                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
123                throw new RuntimeException(he);
124            }
125            return ret;
126        }
127    
128    
129    
130        /**
131         * Returns
132         * GOL-2: "Action Date/Time" - creates it if necessary
133         */
134        public TS getActionDateTime() { 
135            TS ret = null;
136            try {
137                Type t = this.getField(2, 0);
138                ret = (TS)t;
139            } catch (ClassCastException cce) {
140                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
141                throw new RuntimeException(cce);
142            } catch (HL7Exception he) {
143                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
144                throw new RuntimeException(he);
145            }
146            return ret;
147        }
148    
149    
150        /**
151         * Returns
152         * GOL-2: "Action Date/Time" - creates it if necessary
153         */
154        public TS getGol2_ActionDateTime() { 
155            TS ret = null;
156            try {
157                Type t = this.getField(2, 0);
158                ret = (TS)t;
159            } catch (ClassCastException cce) {
160                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
161                throw new RuntimeException(cce);
162            } catch (HL7Exception he) {
163                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
164                throw new RuntimeException(he);
165            }
166            return ret;
167        }
168    
169    
170    
171        /**
172         * Returns
173         * GOL-3: "Goal ID" - creates it if necessary
174         */
175        public CE getGoalID() { 
176            CE ret = null;
177            try {
178                Type t = this.getField(3, 0);
179                ret = (CE)t;
180            } catch (ClassCastException cce) {
181                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
182                throw new RuntimeException(cce);
183            } catch (HL7Exception he) {
184                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
185                throw new RuntimeException(he);
186            }
187            return ret;
188        }
189    
190    
191        /**
192         * Returns
193         * GOL-3: "Goal ID" - creates it if necessary
194         */
195        public CE getGol3_GoalID() { 
196            CE ret = null;
197            try {
198                Type t = this.getField(3, 0);
199                ret = (CE)t;
200            } catch (ClassCastException cce) {
201                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
202                throw new RuntimeException(cce);
203            } catch (HL7Exception he) {
204                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
205                throw new RuntimeException(he);
206            }
207            return ret;
208        }
209    
210    
211    
212        /**
213         * Returns
214         * GOL-4: "Goal Instance ID" - creates it if necessary
215         */
216        public EI getGoalInstanceID() { 
217            EI ret = null;
218            try {
219                Type t = this.getField(4, 0);
220                ret = (EI)t;
221            } catch (ClassCastException cce) {
222                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
223                throw new RuntimeException(cce);
224            } catch (HL7Exception he) {
225                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
226                throw new RuntimeException(he);
227            }
228            return ret;
229        }
230    
231    
232        /**
233         * Returns
234         * GOL-4: "Goal Instance ID" - creates it if necessary
235         */
236        public EI getGol4_GoalInstanceID() { 
237            EI ret = null;
238            try {
239                Type t = this.getField(4, 0);
240                ret = (EI)t;
241            } catch (ClassCastException cce) {
242                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
243                throw new RuntimeException(cce);
244            } catch (HL7Exception he) {
245                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
246                throw new RuntimeException(he);
247            }
248            return ret;
249        }
250    
251    
252    
253        /**
254         * Returns
255         * GOL-5: "Episode of Care ID" - creates it if necessary
256         */
257        public EI getEpisodeOfCareID() { 
258            EI ret = null;
259            try {
260                Type t = this.getField(5, 0);
261                ret = (EI)t;
262            } catch (ClassCastException cce) {
263                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
264                throw new RuntimeException(cce);
265            } catch (HL7Exception he) {
266                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
267                throw new RuntimeException(he);
268            }
269            return ret;
270        }
271    
272    
273        /**
274         * Returns
275         * GOL-5: "Episode of Care ID" - creates it if necessary
276         */
277        public EI getGol5_EpisodeOfCareID() { 
278            EI ret = null;
279            try {
280                Type t = this.getField(5, 0);
281                ret = (EI)t;
282            } catch (ClassCastException cce) {
283                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
284                throw new RuntimeException(cce);
285            } catch (HL7Exception he) {
286                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
287                throw new RuntimeException(he);
288            }
289            return ret;
290        }
291    
292    
293    
294        /**
295         * Returns
296         * GOL-6: "Goal List Priority" - creates it if necessary
297         */
298        public NM getGoalListPriority() { 
299            NM ret = null;
300            try {
301                Type t = this.getField(6, 0);
302                ret = (NM)t;
303            } catch (ClassCastException cce) {
304                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
305                throw new RuntimeException(cce);
306            } catch (HL7Exception he) {
307                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
308                throw new RuntimeException(he);
309            }
310            return ret;
311        }
312    
313    
314        /**
315         * Returns
316         * GOL-6: "Goal List Priority" - creates it if necessary
317         */
318        public NM getGol6_GoalListPriority() { 
319            NM ret = null;
320            try {
321                Type t = this.getField(6, 0);
322                ret = (NM)t;
323            } catch (ClassCastException cce) {
324                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
325                throw new RuntimeException(cce);
326            } catch (HL7Exception he) {
327                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
328                throw new RuntimeException(he);
329            }
330            return ret;
331        }
332    
333    
334    
335        /**
336         * Returns
337         * GOL-7: "Goal Established Date/Time" - creates it if necessary
338         */
339        public TS getGoalEstablishedDateTime() { 
340            TS ret = null;
341            try {
342                Type t = this.getField(7, 0);
343                ret = (TS)t;
344            } catch (ClassCastException cce) {
345                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
346                throw new RuntimeException(cce);
347            } catch (HL7Exception he) {
348                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
349                throw new RuntimeException(he);
350            }
351            return ret;
352        }
353    
354    
355        /**
356         * Returns
357         * GOL-7: "Goal Established Date/Time" - creates it if necessary
358         */
359        public TS getGol7_GoalEstablishedDateTime() { 
360            TS ret = null;
361            try {
362                Type t = this.getField(7, 0);
363                ret = (TS)t;
364            } catch (ClassCastException cce) {
365                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
366                throw new RuntimeException(cce);
367            } catch (HL7Exception he) {
368                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
369                throw new RuntimeException(he);
370            }
371            return ret;
372        }
373    
374    
375    
376        /**
377         * Returns
378         * GOL-8: "Expected Goal Achieve Date/Time" - creates it if necessary
379         */
380        public TS getExpectedGoalAchieveDateTime() { 
381            TS ret = null;
382            try {
383                Type t = this.getField(8, 0);
384                ret = (TS)t;
385            } catch (ClassCastException cce) {
386                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
387                throw new RuntimeException(cce);
388            } catch (HL7Exception he) {
389                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
390                throw new RuntimeException(he);
391            }
392            return ret;
393        }
394    
395    
396        /**
397         * Returns
398         * GOL-8: "Expected Goal Achieve Date/Time" - creates it if necessary
399         */
400        public TS getGol8_ExpectedGoalAchieveDateTime() { 
401            TS ret = null;
402            try {
403                Type t = this.getField(8, 0);
404                ret = (TS)t;
405            } catch (ClassCastException cce) {
406                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
407                throw new RuntimeException(cce);
408            } catch (HL7Exception he) {
409                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
410                throw new RuntimeException(he);
411            }
412            return ret;
413        }
414    
415    
416    
417        /**
418         * Returns
419         * GOL-9: "Goal Classification" - creates it if necessary
420         */
421        public CE getGoalClassification() { 
422            CE ret = null;
423            try {
424                Type t = this.getField(9, 0);
425                ret = (CE)t;
426            } catch (ClassCastException cce) {
427                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
428                throw new RuntimeException(cce);
429            } catch (HL7Exception he) {
430                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
431                throw new RuntimeException(he);
432            }
433            return ret;
434        }
435    
436    
437        /**
438         * Returns
439         * GOL-9: "Goal Classification" - creates it if necessary
440         */
441        public CE getGol9_GoalClassification() { 
442            CE ret = null;
443            try {
444                Type t = this.getField(9, 0);
445                ret = (CE)t;
446            } catch (ClassCastException cce) {
447                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
448                throw new RuntimeException(cce);
449            } catch (HL7Exception he) {
450                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
451                throw new RuntimeException(he);
452            }
453            return ret;
454        }
455    
456    
457    
458        /**
459         * Returns
460         * GOL-10: "Goal Management Discipline" - creates it if necessary
461         */
462        public CE getGoalManagementDiscipline() { 
463            CE ret = null;
464            try {
465                Type t = this.getField(10, 0);
466                ret = (CE)t;
467            } catch (ClassCastException cce) {
468                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
469                throw new RuntimeException(cce);
470            } catch (HL7Exception he) {
471                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
472                throw new RuntimeException(he);
473            }
474            return ret;
475        }
476    
477    
478        /**
479         * Returns
480         * GOL-10: "Goal Management Discipline" - creates it if necessary
481         */
482        public CE getGol10_GoalManagementDiscipline() { 
483            CE ret = null;
484            try {
485                Type t = this.getField(10, 0);
486                ret = (CE)t;
487            } catch (ClassCastException cce) {
488                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
489                throw new RuntimeException(cce);
490            } catch (HL7Exception he) {
491                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
492                throw new RuntimeException(he);
493            }
494            return ret;
495        }
496    
497    
498    
499        /**
500         * Returns
501         * GOL-11: "Current Goal Review Status" - creates it if necessary
502         */
503        public CE getCurrentGoalReviewStatus() { 
504            CE ret = null;
505            try {
506                Type t = this.getField(11, 0);
507                ret = (CE)t;
508            } catch (ClassCastException cce) {
509                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
510                throw new RuntimeException(cce);
511            } catch (HL7Exception he) {
512                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
513                throw new RuntimeException(he);
514            }
515            return ret;
516        }
517    
518    
519        /**
520         * Returns
521         * GOL-11: "Current Goal Review Status" - creates it if necessary
522         */
523        public CE getGol11_CurrentGoalReviewStatus() { 
524            CE ret = null;
525            try {
526                Type t = this.getField(11, 0);
527                ret = (CE)t;
528            } catch (ClassCastException cce) {
529                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
530                throw new RuntimeException(cce);
531            } catch (HL7Exception he) {
532                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
533                throw new RuntimeException(he);
534            }
535            return ret;
536        }
537    
538    
539    
540        /**
541         * Returns
542         * GOL-12: "Current Goal Review Date/Time" - creates it if necessary
543         */
544        public TS getCurrentGoalReviewDateTime() { 
545            TS ret = null;
546            try {
547                Type t = this.getField(12, 0);
548                ret = (TS)t;
549            } catch (ClassCastException cce) {
550                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
551                throw new RuntimeException(cce);
552            } catch (HL7Exception he) {
553                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
554                throw new RuntimeException(he);
555            }
556            return ret;
557        }
558    
559    
560        /**
561         * Returns
562         * GOL-12: "Current Goal Review Date/Time" - creates it if necessary
563         */
564        public TS getGol12_CurrentGoalReviewDateTime() { 
565            TS ret = null;
566            try {
567                Type t = this.getField(12, 0);
568                ret = (TS)t;
569            } catch (ClassCastException cce) {
570                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
571                throw new RuntimeException(cce);
572            } catch (HL7Exception he) {
573                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
574                throw new RuntimeException(he);
575            }
576            return ret;
577        }
578    
579    
580    
581        /**
582         * Returns
583         * GOL-13: "Next Goal Review Date/Time" - creates it if necessary
584         */
585        public TS getNextGoalReviewDateTime() { 
586            TS ret = null;
587            try {
588                Type t = this.getField(13, 0);
589                ret = (TS)t;
590            } catch (ClassCastException cce) {
591                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
592                throw new RuntimeException(cce);
593            } catch (HL7Exception he) {
594                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
595                throw new RuntimeException(he);
596            }
597            return ret;
598        }
599    
600    
601        /**
602         * Returns
603         * GOL-13: "Next Goal Review Date/Time" - creates it if necessary
604         */
605        public TS getGol13_NextGoalReviewDateTime() { 
606            TS ret = null;
607            try {
608                Type t = this.getField(13, 0);
609                ret = (TS)t;
610            } catch (ClassCastException cce) {
611                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
612                throw new RuntimeException(cce);
613            } catch (HL7Exception he) {
614                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
615                throw new RuntimeException(he);
616            }
617            return ret;
618        }
619    
620    
621    
622        /**
623         * Returns
624         * GOL-14: "Previous Goal Review Date/Time" - creates it if necessary
625         */
626        public TS getPreviousGoalReviewDateTime() { 
627            TS ret = null;
628            try {
629                Type t = this.getField(14, 0);
630                ret = (TS)t;
631            } catch (ClassCastException cce) {
632                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
633                throw new RuntimeException(cce);
634            } catch (HL7Exception he) {
635                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
636                throw new RuntimeException(he);
637            }
638            return ret;
639        }
640    
641    
642        /**
643         * Returns
644         * GOL-14: "Previous Goal Review Date/Time" - creates it if necessary
645         */
646        public TS getGol14_PreviousGoalReviewDateTime() { 
647            TS ret = null;
648            try {
649                Type t = this.getField(14, 0);
650                ret = (TS)t;
651            } catch (ClassCastException cce) {
652                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
653                throw new RuntimeException(cce);
654            } catch (HL7Exception he) {
655                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
656                throw new RuntimeException(he);
657            }
658            return ret;
659        }
660    
661    
662    
663        /**
664         * Returns
665         * GOL-15: "Goal Review Interval" - creates it if necessary
666         */
667        public TQ getGoalReviewInterval() { 
668            TQ ret = null;
669            try {
670                Type t = this.getField(15, 0);
671                ret = (TQ)t;
672            } catch (ClassCastException cce) {
673                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
674                throw new RuntimeException(cce);
675            } catch (HL7Exception he) {
676                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
677                throw new RuntimeException(he);
678            }
679            return ret;
680        }
681    
682    
683        /**
684         * Returns
685         * GOL-15: "Goal Review Interval" - creates it if necessary
686         */
687        public TQ getGol15_GoalReviewInterval() { 
688            TQ ret = null;
689            try {
690                Type t = this.getField(15, 0);
691                ret = (TQ)t;
692            } catch (ClassCastException cce) {
693                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
694                throw new RuntimeException(cce);
695            } catch (HL7Exception he) {
696                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
697                throw new RuntimeException(he);
698            }
699            return ret;
700        }
701    
702    
703    
704        /**
705         * Returns
706         * GOL-16: "Goal Evaluation" - creates it if necessary
707         */
708        public CE getGoalEvaluation() { 
709            CE ret = null;
710            try {
711                Type t = this.getField(16, 0);
712                ret = (CE)t;
713            } catch (ClassCastException cce) {
714                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
715                throw new RuntimeException(cce);
716            } catch (HL7Exception he) {
717                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
718                throw new RuntimeException(he);
719            }
720            return ret;
721        }
722    
723    
724        /**
725         * Returns
726         * GOL-16: "Goal Evaluation" - creates it if necessary
727         */
728        public CE getGol16_GoalEvaluation() { 
729            CE ret = null;
730            try {
731                Type t = this.getField(16, 0);
732                ret = (CE)t;
733            } catch (ClassCastException cce) {
734                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
735                throw new RuntimeException(cce);
736            } catch (HL7Exception he) {
737                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
738                throw new RuntimeException(he);
739            }
740            return ret;
741        }
742    
743    
744        /**
745         * Returns all repetitions of Goal Evaluation Comment (GOL-17).
746         */
747        public ST[] getGoalEvaluationComment() {
748            ST[] ret = null;
749            try {
750                Type[] t = this.getField(17);  
751                ret = new ST[t.length];
752                for (int i = 0; i < ret.length; i++) {
753                    ret[i] = (ST)t[i];
754                }
755            } catch (ClassCastException cce) {
756                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
757                throw new RuntimeException(cce);
758            } catch (HL7Exception he) {
759                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
760                throw new RuntimeException(he);
761            }
762            return ret;
763        }
764    
765    
766        /**
767         * Returns a count of the current number of repetitions of Goal Evaluation Comment (GOL-17).
768         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
769         * it will return zero.
770         */
771        public int getGoalEvaluationCommentReps() {
772            ST[] ret = null;
773            try {
774                Type[] t = this.getField(17);
775                return t.length;  
776            } catch (ClassCastException cce) {
777                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
778                throw new RuntimeException(cce);
779            } catch (HL7Exception he) {
780                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
781                throw new RuntimeException(he);
782            }
783        }
784    
785    
786        /**
787         * Returns a specific repetition of
788         * GOL-17: "Goal Evaluation Comment" - creates it if necessary
789         *
790         * @param rep The repetition index (0-indexed)
791         */
792        public ST getGoalEvaluationComment(int rep) { 
793            ST ret = null;
794            try {
795                Type t = this.getField(17, rep);
796                ret = (ST)t;
797            } catch (ClassCastException cce) {
798                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
799                throw new RuntimeException(cce);
800            } catch (HL7Exception he) {
801                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
802                throw new RuntimeException(he);
803            }
804            return ret;
805        }
806    
807        /**
808         * Returns a specific repetition of
809         * GOL-17: "Goal Evaluation Comment" - creates it if necessary
810         *
811         * @param rep The repetition index (0-indexed)
812         */
813        public ST getGol17_GoalEvaluationComment(int rep) { 
814            ST ret = null;
815            try {
816                Type t = this.getField(17, rep);
817                ret = (ST)t;
818            } catch (ClassCastException cce) {
819                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
820                throw new RuntimeException(cce);
821            } catch (HL7Exception he) {
822                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
823                throw new RuntimeException(he);
824            }
825            return ret;
826        }
827    
828    
829        /**
830         * Returns a count of the current number of repetitions of Goal Evaluation Comment (GOL-17).
831         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
832         * it will return zero.
833         */
834        public int getGol17_GoalEvaluationCommentReps() {
835            ST[] ret = null;
836            try {
837                Type[] t = this.getField(17);
838                return t.length;  
839            } catch (ClassCastException cce) {
840                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
841                throw new RuntimeException(cce);
842            } catch (HL7Exception he) {
843                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
844                throw new RuntimeException(he);
845            }
846        }
847    
848    
849    
850        /**
851         * Inserts a repetition of
852         * GOL-17: "Goal Evaluation Comment" at a specific index
853         *
854         * @param rep The repetition index (0-indexed)
855         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
856         */
857        public ST insertGoalEvaluationComment(int rep) throws HL7Exception { 
858            return (ST) super.insertRepetition(17, rep);
859        }
860    
861    
862    
863        /**
864         * Inserts a repetition of
865         * GOL-17: "Goal Evaluation Comment" at a specific index
866         *
867         * @param rep The repetition index (0-indexed)
868         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
869         */
870        public ST insertGol17_GoalEvaluationComment(int rep) throws HL7Exception { 
871            return (ST) super.insertRepetition(17, rep);
872        }
873    
874    
875        /**
876         * Removes a repetition of
877         * GOL-17: "Goal Evaluation Comment" at a specific index
878         *
879         * @param rep The repetition index (0-indexed)
880         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
881         */
882        public ST removeGoalEvaluationComment(int rep) throws HL7Exception { 
883            return (ST) super.removeRepetition(17, rep);
884        }
885    
886    
887        /**
888         * Removes a repetition of
889         * GOL-17: "Goal Evaluation Comment" at a specific index
890         *
891         * @param rep The repetition index (0-indexed)
892         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
893         */
894        public ST removeGol17_GoalEvaluationComment(int rep) throws HL7Exception { 
895            return (ST) super.removeRepetition(17, rep);
896        }
897    
898    
899    
900    
901        /**
902         * Returns
903         * GOL-18: "Goal Life Cycle Status" - creates it if necessary
904         */
905        public CE getGoalLifeCycleStatus() { 
906            CE ret = null;
907            try {
908                Type t = this.getField(18, 0);
909                ret = (CE)t;
910            } catch (ClassCastException cce) {
911                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
912                throw new RuntimeException(cce);
913            } catch (HL7Exception he) {
914                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
915                throw new RuntimeException(he);
916            }
917            return ret;
918        }
919    
920    
921        /**
922         * Returns
923         * GOL-18: "Goal Life Cycle Status" - creates it if necessary
924         */
925        public CE getGol18_GoalLifeCycleStatus() { 
926            CE ret = null;
927            try {
928                Type t = this.getField(18, 0);
929                ret = (CE)t;
930            } catch (ClassCastException cce) {
931                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
932                throw new RuntimeException(cce);
933            } catch (HL7Exception he) {
934                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
935                throw new RuntimeException(he);
936            }
937            return ret;
938        }
939    
940    
941    
942        /**
943         * Returns
944         * GOL-19: "Goal Life Cycle Status Date/Time" - creates it if necessary
945         */
946        public TS getGoalLifeCycleStatusDateTime() { 
947            TS ret = null;
948            try {
949                Type t = this.getField(19, 0);
950                ret = (TS)t;
951            } catch (ClassCastException cce) {
952                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
953                throw new RuntimeException(cce);
954            } catch (HL7Exception he) {
955                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
956                throw new RuntimeException(he);
957            }
958            return ret;
959        }
960    
961    
962        /**
963         * Returns
964         * GOL-19: "Goal Life Cycle Status Date/Time" - creates it if necessary
965         */
966        public TS getGol19_GoalLifeCycleStatusDateTime() { 
967            TS ret = null;
968            try {
969                Type t = this.getField(19, 0);
970                ret = (TS)t;
971            } catch (ClassCastException cce) {
972                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
973                throw new RuntimeException(cce);
974            } catch (HL7Exception he) {
975                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
976                throw new RuntimeException(he);
977            }
978            return ret;
979        }
980    
981    
982        /**
983         * Returns all repetitions of Goal Target Type (GOL-20).
984         */
985        public CE[] getGoalTargetType() {
986            CE[] ret = null;
987            try {
988                Type[] t = this.getField(20);  
989                ret = new CE[t.length];
990                for (int i = 0; i < ret.length; i++) {
991                    ret[i] = (CE)t[i];
992                }
993            } catch (ClassCastException cce) {
994                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
995                throw new RuntimeException(cce);
996            } catch (HL7Exception he) {
997                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
998                throw new RuntimeException(he);
999            }
1000            return ret;
1001        }
1002    
1003    
1004        /**
1005         * Returns a count of the current number of repetitions of Goal Target Type (GOL-20).
1006         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1007         * it will return zero.
1008         */
1009        public int getGoalTargetTypeReps() {
1010            CE[] ret = null;
1011            try {
1012                Type[] t = this.getField(20);
1013                return t.length;  
1014            } catch (ClassCastException cce) {
1015                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1016                throw new RuntimeException(cce);
1017            } catch (HL7Exception he) {
1018                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1019                throw new RuntimeException(he);
1020            }
1021        }
1022    
1023    
1024        /**
1025         * Returns a specific repetition of
1026         * GOL-20: "Goal Target Type" - creates it if necessary
1027         *
1028         * @param rep The repetition index (0-indexed)
1029         */
1030        public CE getGoalTargetType(int rep) { 
1031            CE ret = null;
1032            try {
1033                Type t = this.getField(20, rep);
1034                ret = (CE)t;
1035            } catch (ClassCastException cce) {
1036                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1037                throw new RuntimeException(cce);
1038            } catch (HL7Exception he) {
1039                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1040                throw new RuntimeException(he);
1041            }
1042            return ret;
1043        }
1044    
1045        /**
1046         * Returns a specific repetition of
1047         * GOL-20: "Goal Target Type" - creates it if necessary
1048         *
1049         * @param rep The repetition index (0-indexed)
1050         */
1051        public CE getGol20_GoalTargetType(int rep) { 
1052            CE ret = null;
1053            try {
1054                Type t = this.getField(20, rep);
1055                ret = (CE)t;
1056            } catch (ClassCastException cce) {
1057                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1058                throw new RuntimeException(cce);
1059            } catch (HL7Exception he) {
1060                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1061                throw new RuntimeException(he);
1062            }
1063            return ret;
1064        }
1065    
1066    
1067        /**
1068         * Returns a count of the current number of repetitions of Goal Target Type (GOL-20).
1069         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1070         * it will return zero.
1071         */
1072        public int getGol20_GoalTargetTypeReps() {
1073            CE[] ret = null;
1074            try {
1075                Type[] t = this.getField(20);
1076                return t.length;  
1077            } catch (ClassCastException cce) {
1078                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1079                throw new RuntimeException(cce);
1080            } catch (HL7Exception he) {
1081                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1082                throw new RuntimeException(he);
1083            }
1084        }
1085    
1086    
1087    
1088        /**
1089         * Inserts a repetition of
1090         * GOL-20: "Goal Target Type" at a specific index
1091         *
1092         * @param rep The repetition index (0-indexed)
1093         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1094         */
1095        public CE insertGoalTargetType(int rep) throws HL7Exception { 
1096            return (CE) super.insertRepetition(20, rep);
1097        }
1098    
1099    
1100    
1101        /**
1102         * Inserts a repetition of
1103         * GOL-20: "Goal Target Type" at a specific index
1104         *
1105         * @param rep The repetition index (0-indexed)
1106         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1107         */
1108        public CE insertGol20_GoalTargetType(int rep) throws HL7Exception { 
1109            return (CE) super.insertRepetition(20, rep);
1110        }
1111    
1112    
1113        /**
1114         * Removes a repetition of
1115         * GOL-20: "Goal Target Type" at a specific index
1116         *
1117         * @param rep The repetition index (0-indexed)
1118         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1119         */
1120        public CE removeGoalTargetType(int rep) throws HL7Exception { 
1121            return (CE) super.removeRepetition(20, rep);
1122        }
1123    
1124    
1125        /**
1126         * Removes a repetition of
1127         * GOL-20: "Goal Target Type" at a specific index
1128         *
1129         * @param rep The repetition index (0-indexed)
1130         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1131         */
1132        public CE removeGol20_GoalTargetType(int rep) throws HL7Exception { 
1133            return (CE) super.removeRepetition(20, rep);
1134        }
1135    
1136    
1137    
1138        /**
1139         * Returns all repetitions of Goal Target Name (GOL-21).
1140         */
1141        public XPN[] getGoalTargetName() {
1142            XPN[] ret = null;
1143            try {
1144                Type[] t = this.getField(21);  
1145                ret = new XPN[t.length];
1146                for (int i = 0; i < ret.length; i++) {
1147                    ret[i] = (XPN)t[i];
1148                }
1149            } catch (ClassCastException cce) {
1150                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1151                throw new RuntimeException(cce);
1152            } catch (HL7Exception he) {
1153                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1154                throw new RuntimeException(he);
1155            }
1156            return ret;
1157        }
1158    
1159    
1160        /**
1161         * Returns a count of the current number of repetitions of Goal Target Name (GOL-21).
1162         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1163         * it will return zero.
1164         */
1165        public int getGoalTargetNameReps() {
1166            XPN[] ret = null;
1167            try {
1168                Type[] t = this.getField(21);
1169                return t.length;  
1170            } catch (ClassCastException cce) {
1171                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1172                throw new RuntimeException(cce);
1173            } catch (HL7Exception he) {
1174                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1175                throw new RuntimeException(he);
1176            }
1177        }
1178    
1179    
1180        /**
1181         * Returns a specific repetition of
1182         * GOL-21: "Goal Target Name" - creates it if necessary
1183         *
1184         * @param rep The repetition index (0-indexed)
1185         */
1186        public XPN getGoalTargetName(int rep) { 
1187            XPN ret = null;
1188            try {
1189                Type t = this.getField(21, rep);
1190                ret = (XPN)t;
1191            } catch (ClassCastException cce) {
1192                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1193                throw new RuntimeException(cce);
1194            } catch (HL7Exception he) {
1195                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1196                throw new RuntimeException(he);
1197            }
1198            return ret;
1199        }
1200    
1201        /**
1202         * Returns a specific repetition of
1203         * GOL-21: "Goal Target Name" - creates it if necessary
1204         *
1205         * @param rep The repetition index (0-indexed)
1206         */
1207        public XPN getGol21_GoalTargetName(int rep) { 
1208            XPN ret = null;
1209            try {
1210                Type t = this.getField(21, rep);
1211                ret = (XPN)t;
1212            } catch (ClassCastException cce) {
1213                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1214                throw new RuntimeException(cce);
1215            } catch (HL7Exception he) {
1216                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1217                throw new RuntimeException(he);
1218            }
1219            return ret;
1220        }
1221    
1222    
1223        /**
1224         * Returns a count of the current number of repetitions of Goal Target Name (GOL-21).
1225         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1226         * it will return zero.
1227         */
1228        public int getGol21_GoalTargetNameReps() {
1229            XPN[] ret = null;
1230            try {
1231                Type[] t = this.getField(21);
1232                return t.length;  
1233            } catch (ClassCastException cce) {
1234                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1235                throw new RuntimeException(cce);
1236            } catch (HL7Exception he) {
1237                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1238                throw new RuntimeException(he);
1239            }
1240        }
1241    
1242    
1243    
1244        /**
1245         * Inserts a repetition of
1246         * GOL-21: "Goal Target Name" at a specific index
1247         *
1248         * @param rep The repetition index (0-indexed)
1249         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1250         */
1251        public XPN insertGoalTargetName(int rep) throws HL7Exception { 
1252            return (XPN) super.insertRepetition(21, rep);
1253        }
1254    
1255    
1256    
1257        /**
1258         * Inserts a repetition of
1259         * GOL-21: "Goal Target Name" at a specific index
1260         *
1261         * @param rep The repetition index (0-indexed)
1262         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1263         */
1264        public XPN insertGol21_GoalTargetName(int rep) throws HL7Exception { 
1265            return (XPN) super.insertRepetition(21, rep);
1266        }
1267    
1268    
1269        /**
1270         * Removes a repetition of
1271         * GOL-21: "Goal Target Name" at a specific index
1272         *
1273         * @param rep The repetition index (0-indexed)
1274         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1275         */
1276        public XPN removeGoalTargetName(int rep) throws HL7Exception { 
1277            return (XPN) super.removeRepetition(21, rep);
1278        }
1279    
1280    
1281        /**
1282         * Removes a repetition of
1283         * GOL-21: "Goal Target Name" at a specific index
1284         *
1285         * @param rep The repetition index (0-indexed)
1286         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1287         */
1288        public XPN removeGol21_GoalTargetName(int rep) throws HL7Exception { 
1289            return (XPN) super.removeRepetition(21, rep);
1290        }
1291    
1292    
1293    
1294    
1295    
1296    
1297        /** {@inheritDoc} */   
1298        protected Type createNewTypeWithoutReflection(int field) {
1299           switch (field) {
1300              case 0: return new ID(getMessage(), new Integer( 287 ));
1301              case 1: return new TS(getMessage());
1302              case 2: return new CE(getMessage());
1303              case 3: return new EI(getMessage());
1304              case 4: return new EI(getMessage());
1305              case 5: return new NM(getMessage());
1306              case 6: return new TS(getMessage());
1307              case 7: return new TS(getMessage());
1308              case 8: return new CE(getMessage());
1309              case 9: return new CE(getMessage());
1310              case 10: return new CE(getMessage());
1311              case 11: return new TS(getMessage());
1312              case 12: return new TS(getMessage());
1313              case 13: return new TS(getMessage());
1314              case 14: return new TQ(getMessage());
1315              case 15: return new CE(getMessage());
1316              case 16: return new ST(getMessage());
1317              case 17: return new CE(getMessage());
1318              case 18: return new TS(getMessage());
1319              case 19: return new CE(getMessage());
1320              case 20: return new XPN(getMessage());
1321              default: return null;
1322           }
1323       }
1324    
1325    
1326    }
1327