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 PRB message segment (Problem Details). 
024     * This segment has the following fields:</p>
025     * <ul>
026         * <li>PRB-1: Action Code (ID) <b> </b>
027         * <li>PRB-2: Action Date/Time (TS) <b> </b>
028         * <li>PRB-3: Problem ID (CE) <b> </b>
029         * <li>PRB-4: Problem Instance ID (EI) <b> </b>
030         * <li>PRB-5: Episode of Care ID (EI) <b>optional </b>
031         * <li>PRB-6: Problem List Priority (NM) <b>optional </b>
032         * <li>PRB-7: Problem Established Date/Time (TS) <b>optional </b>
033         * <li>PRB-8: Anticipated Problem Resolution Date/Time (TS) <b>optional </b>
034         * <li>PRB-9: Actual Problem Resolution Date/Time (TS) <b>optional </b>
035         * <li>PRB-10: Problem Classification (CE) <b>optional </b>
036         * <li>PRB-11: Problem Management Discipline (CE) <b>optional repeating</b>
037         * <li>PRB-12: Problem Persistence (CE) <b>optional </b>
038         * <li>PRB-13: Problem Confirmation Status (CE) <b>optional </b>
039         * <li>PRB-14: Problem Life Cycle Status (CE) <b>optional </b>
040         * <li>PRB-15: Problem Life Cycle Status Date/Time (TS) <b>optional </b>
041         * <li>PRB-16: Problem Date of Onset (TS) <b>optional </b>
042         * <li>PRB-17: Problem Onset Text (ST) <b>optional </b>
043         * <li>PRB-18: Problem Ranking (CE) <b>optional </b>
044         * <li>PRB-19: Certainty of Problem (CE) <b>optional </b>
045         * <li>PRB-20: Probability of Problem (0-1) (NM) <b>optional </b>
046         * <li>PRB-21: Individual Awareness of Problem (CE) <b>optional </b>
047         * <li>PRB-22: Problem Prognosis (CE) <b>optional </b>
048         * <li>PRB-23: Individual Awareness of Prognosis (CE) <b>optional </b>
049         * <li>PRB-24: Family/Significant Other Awareness of Problem/Prognosis (ST) <b>optional </b>
050         * <li>PRB-25: Security/Sensitivity (CE) <b>optional </b>
051     * </ul>
052     */
053    public class PRB extends AbstractSegment {
054    
055        /** 
056         * Creates a new PRB segment
057         */
058        public PRB(Group parent, ModelClassFactory factory) {
059           super(parent, factory);
060           init(factory);
061        }
062    
063        private void init(ModelClassFactory factory) {
064           try {
065                                      this.add(ID.class, true, 1, 2, new Object[]{ getMessage() }, "Action Code");
066                                      this.add(TS.class, true, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Action Date/Time");
067                                      this.add(CE.class, true, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem ID");
068                                      this.add(EI.class, true, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Problem Instance ID");
069                                      this.add(EI.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Episode of Care ID");
070                                      this.add(NM.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Problem List Priority");
071                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Problem Established Date/Time");
072                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Anticipated Problem Resolution Date/Time");
073                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Actual Problem Resolution Date/Time");
074                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Classification");
075                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Management Discipline");
076                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Persistence");
077                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Confirmation Status");
078                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Life Cycle Status");
079                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Problem Life Cycle Status Date/Time");
080                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Problem Date of Onset");
081                                      this.add(ST.class, false, 1, 80, new Object[]{ getMessage(), new Integer(0) }, "Problem Onset Text");
082                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Ranking");
083                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Certainty of Problem");
084                                      this.add(NM.class, false, 1, 5, new Object[]{ getMessage(), new Integer(0) }, "Probability of Problem (0-1)");
085                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Individual Awareness of Problem");
086                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Problem Prognosis");
087                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Individual Awareness of Prognosis");
088                                      this.add(ST.class, false, 1, 200, new Object[]{ getMessage(), new Integer(0) }, "Family/Significant Other Awareness of Problem/Prognosis");
089                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Security/Sensitivity");
090           } catch(HL7Exception e) {
091              HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected error creating PRB - this is probably a bug in the source code generator.", e);
092           }
093        }
094    
095    
096    
097        /**
098         * Returns
099         * PRB-1: "Action Code" - creates it if necessary
100         */
101        public ID getActionCode() { 
102            ID ret = null;
103            try {
104                Type t = this.getField(1, 0);
105                ret = (ID)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         * PRB-1: "Action Code" - creates it if necessary
120         */
121        public ID getPrb1_ActionCode() { 
122            ID ret = null;
123            try {
124                Type t = this.getField(1, 0);
125                ret = (ID)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         * PRB-2: "Action Date/Time" - creates it if necessary
141         */
142        public TS getActionDateTime() { 
143            TS ret = null;
144            try {
145                Type t = this.getField(2, 0);
146                ret = (TS)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         * PRB-2: "Action Date/Time" - creates it if necessary
161         */
162        public TS getPrb2_ActionDateTime() { 
163            TS ret = null;
164            try {
165                Type t = this.getField(2, 0);
166                ret = (TS)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         * PRB-3: "Problem ID" - creates it if necessary
182         */
183        public CE getProblemID() { 
184            CE ret = null;
185            try {
186                Type t = this.getField(3, 0);
187                ret = (CE)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         * PRB-3: "Problem ID" - creates it if necessary
202         */
203        public CE getPrb3_ProblemID() { 
204            CE ret = null;
205            try {
206                Type t = this.getField(3, 0);
207                ret = (CE)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         * PRB-4: "Problem Instance ID" - creates it if necessary
223         */
224        public EI getProblemInstanceID() { 
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         * PRB-4: "Problem Instance ID" - creates it if necessary
243         */
244        public EI getPrb4_ProblemInstanceID() { 
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         * PRB-5: "Episode of Care ID" - creates it if necessary
264         */
265        public EI getEpisodeOfCareID() { 
266            EI ret = null;
267            try {
268                Type t = this.getField(5, 0);
269                ret = (EI)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         * PRB-5: "Episode of Care ID" - creates it if necessary
284         */
285        public EI getPrb5_EpisodeOfCareID() { 
286            EI ret = null;
287            try {
288                Type t = this.getField(5, 0);
289                ret = (EI)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         * PRB-6: "Problem List Priority" - creates it if necessary
305         */
306        public NM getProblemListPriority() { 
307            NM ret = null;
308            try {
309                Type t = this.getField(6, 0);
310                ret = (NM)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         * PRB-6: "Problem List Priority" - creates it if necessary
325         */
326        public NM getPrb6_ProblemListPriority() { 
327            NM ret = null;
328            try {
329                Type t = this.getField(6, 0);
330                ret = (NM)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         * PRB-7: "Problem Established Date/Time" - creates it if necessary
346         */
347        public TS getProblemEstablishedDateTime() { 
348            TS ret = null;
349            try {
350                Type t = this.getField(7, 0);
351                ret = (TS)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         * PRB-7: "Problem Established Date/Time" - creates it if necessary
366         */
367        public TS getPrb7_ProblemEstablishedDateTime() { 
368            TS ret = null;
369            try {
370                Type t = this.getField(7, 0);
371                ret = (TS)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         * PRB-8: "Anticipated Problem Resolution Date/Time" - creates it if necessary
387         */
388        public TS getAnticipatedProblemResolutionDateTime() { 
389            TS ret = null;
390            try {
391                Type t = this.getField(8, 0);
392                ret = (TS)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         * PRB-8: "Anticipated Problem Resolution Date/Time" - creates it if necessary
407         */
408        public TS getPrb8_AnticipatedProblemResolutionDateTime() { 
409            TS ret = null;
410            try {
411                Type t = this.getField(8, 0);
412                ret = (TS)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         * PRB-9: "Actual Problem Resolution Date/Time" - creates it if necessary
428         */
429        public TS getActualProblemResolutionDateTime() { 
430            TS ret = null;
431            try {
432                Type t = this.getField(9, 0);
433                ret = (TS)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         * PRB-9: "Actual Problem Resolution Date/Time" - creates it if necessary
448         */
449        public TS getPrb9_ActualProblemResolutionDateTime() { 
450            TS ret = null;
451            try {
452                Type t = this.getField(9, 0);
453                ret = (TS)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         * PRB-10: "Problem Classification" - creates it if necessary
469         */
470        public CE getProblemClassification() { 
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         * PRB-10: "Problem Classification" - creates it if necessary
489         */
490        public CE getPrb10_ProblemClassification() { 
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 Problem Management Discipline (PRB-11).
508         */
509        public CE[] getProblemManagementDiscipline() {
510            CE[] ret = null;
511            try {
512                Type[] t = this.getField(11);  
513                ret = new CE[t.length];
514                for (int i = 0; i < ret.length; i++) {
515                    ret[i] = (CE)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 Problem Management Discipline (PRB-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 getProblemManagementDisciplineReps() {
534            CE[] 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         * PRB-11: "Problem Management Discipline" - creates it if necessary
551         *
552         * @param rep The repetition index (0-indexed)
553         */
554        public CE getProblemManagementDiscipline(int rep) { 
555            CE ret = null;
556            try {
557                Type t = this.getField(11, rep);
558                ret = (CE)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         * PRB-11: "Problem Management Discipline" - creates it if necessary
572         *
573         * @param rep The repetition index (0-indexed)
574         */
575        public CE getPrb11_ProblemManagementDiscipline(int rep) { 
576            CE ret = null;
577            try {
578                Type t = this.getField(11, rep);
579                ret = (CE)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 Problem Management Discipline (PRB-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 getPrb11_ProblemManagementDisciplineReps() {
597            CE[] 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         * PRB-11: "Problem Management Discipline" 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 CE insertProblemManagementDiscipline(int rep) throws HL7Exception { 
620            return (CE) super.insertRepetition(11, rep);
621        }
622    
623    
624    
625        /**
626         * Inserts a repetition of
627         * PRB-11: "Problem Management Discipline" 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 CE insertPrb11_ProblemManagementDiscipline(int rep) throws HL7Exception { 
633            return (CE) super.insertRepetition(11, rep);
634        }
635    
636    
637        /**
638         * Removes a repetition of
639         * PRB-11: "Problem Management Discipline" 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 CE removeProblemManagementDiscipline(int rep) throws HL7Exception { 
645            return (CE) super.removeRepetition(11, rep);
646        }
647    
648    
649        /**
650         * Removes a repetition of
651         * PRB-11: "Problem Management Discipline" 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 CE removePrb11_ProblemManagementDiscipline(int rep) throws HL7Exception { 
657            return (CE) super.removeRepetition(11, rep);
658        }
659    
660    
661    
662    
663        /**
664         * Returns
665         * PRB-12: "Problem Persistence" - creates it if necessary
666         */
667        public CE getProblemPersistence() { 
668            CE ret = null;
669            try {
670                Type t = this.getField(12, 0);
671                ret = (CE)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         * PRB-12: "Problem Persistence" - creates it if necessary
686         */
687        public CE getPrb12_ProblemPersistence() { 
688            CE ret = null;
689            try {
690                Type t = this.getField(12, 0);
691                ret = (CE)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         * PRB-13: "Problem Confirmation Status" - creates it if necessary
707         */
708        public CE getProblemConfirmationStatus() { 
709            CE ret = null;
710            try {
711                Type t = this.getField(13, 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         * PRB-13: "Problem Confirmation Status" - creates it if necessary
727         */
728        public CE getPrb13_ProblemConfirmationStatus() { 
729            CE ret = null;
730            try {
731                Type t = this.getField(13, 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        /**
746         * Returns
747         * PRB-14: "Problem Life Cycle Status" - creates it if necessary
748         */
749        public CE getProblemLifeCycleStatus() { 
750            CE ret = null;
751            try {
752                Type t = this.getField(14, 0);
753                ret = (CE)t;
754            } catch (ClassCastException cce) {
755                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
756                throw new RuntimeException(cce);
757            } catch (HL7Exception he) {
758                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
759                throw new RuntimeException(he);
760            }
761            return ret;
762        }
763    
764    
765        /**
766         * Returns
767         * PRB-14: "Problem Life Cycle Status" - creates it if necessary
768         */
769        public CE getPrb14_ProblemLifeCycleStatus() { 
770            CE ret = null;
771            try {
772                Type t = this.getField(14, 0);
773                ret = (CE)t;
774            } catch (ClassCastException cce) {
775                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
776                throw new RuntimeException(cce);
777            } catch (HL7Exception he) {
778                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
779                throw new RuntimeException(he);
780            }
781            return ret;
782        }
783    
784    
785    
786        /**
787         * Returns
788         * PRB-15: "Problem Life Cycle Status Date/Time" - creates it if necessary
789         */
790        public TS getProblemLifeCycleStatusDateTime() { 
791            TS ret = null;
792            try {
793                Type t = this.getField(15, 0);
794                ret = (TS)t;
795            } catch (ClassCastException cce) {
796                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
797                throw new RuntimeException(cce);
798            } catch (HL7Exception he) {
799                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
800                throw new RuntimeException(he);
801            }
802            return ret;
803        }
804    
805    
806        /**
807         * Returns
808         * PRB-15: "Problem Life Cycle Status Date/Time" - creates it if necessary
809         */
810        public TS getPrb15_ProblemLifeCycleStatusDateTime() { 
811            TS ret = null;
812            try {
813                Type t = this.getField(15, 0);
814                ret = (TS)t;
815            } catch (ClassCastException cce) {
816                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
817                throw new RuntimeException(cce);
818            } catch (HL7Exception he) {
819                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
820                throw new RuntimeException(he);
821            }
822            return ret;
823        }
824    
825    
826    
827        /**
828         * Returns
829         * PRB-16: "Problem Date of Onset" - creates it if necessary
830         */
831        public TS getProblemDateOfOnset() { 
832            TS ret = null;
833            try {
834                Type t = this.getField(16, 0);
835                ret = (TS)t;
836            } catch (ClassCastException cce) {
837                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
838                throw new RuntimeException(cce);
839            } catch (HL7Exception he) {
840                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
841                throw new RuntimeException(he);
842            }
843            return ret;
844        }
845    
846    
847        /**
848         * Returns
849         * PRB-16: "Problem Date of Onset" - creates it if necessary
850         */
851        public TS getPrb16_ProblemDateOfOnset() { 
852            TS ret = null;
853            try {
854                Type t = this.getField(16, 0);
855                ret = (TS)t;
856            } catch (ClassCastException cce) {
857                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
858                throw new RuntimeException(cce);
859            } catch (HL7Exception he) {
860                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
861                throw new RuntimeException(he);
862            }
863            return ret;
864        }
865    
866    
867    
868        /**
869         * Returns
870         * PRB-17: "Problem Onset Text" - creates it if necessary
871         */
872        public ST getProblemOnsetText() { 
873            ST ret = null;
874            try {
875                Type t = this.getField(17, 0);
876                ret = (ST)t;
877            } catch (ClassCastException cce) {
878                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
879                throw new RuntimeException(cce);
880            } catch (HL7Exception he) {
881                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
882                throw new RuntimeException(he);
883            }
884            return ret;
885        }
886    
887    
888        /**
889         * Returns
890         * PRB-17: "Problem Onset Text" - creates it if necessary
891         */
892        public ST getPrb17_ProblemOnsetText() { 
893            ST ret = null;
894            try {
895                Type t = this.getField(17, 0);
896                ret = (ST)t;
897            } catch (ClassCastException cce) {
898                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
899                throw new RuntimeException(cce);
900            } catch (HL7Exception he) {
901                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
902                throw new RuntimeException(he);
903            }
904            return ret;
905        }
906    
907    
908    
909        /**
910         * Returns
911         * PRB-18: "Problem Ranking" - creates it if necessary
912         */
913        public CE getProblemRanking() { 
914            CE ret = null;
915            try {
916                Type t = this.getField(18, 0);
917                ret = (CE)t;
918            } catch (ClassCastException cce) {
919                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
920                throw new RuntimeException(cce);
921            } catch (HL7Exception he) {
922                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
923                throw new RuntimeException(he);
924            }
925            return ret;
926        }
927    
928    
929        /**
930         * Returns
931         * PRB-18: "Problem Ranking" - creates it if necessary
932         */
933        public CE getPrb18_ProblemRanking() { 
934            CE ret = null;
935            try {
936                Type t = this.getField(18, 0);
937                ret = (CE)t;
938            } catch (ClassCastException cce) {
939                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
940                throw new RuntimeException(cce);
941            } catch (HL7Exception he) {
942                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
943                throw new RuntimeException(he);
944            }
945            return ret;
946        }
947    
948    
949    
950        /**
951         * Returns
952         * PRB-19: "Certainty of Problem" - creates it if necessary
953         */
954        public CE getCertaintyOfProblem() { 
955            CE ret = null;
956            try {
957                Type t = this.getField(19, 0);
958                ret = (CE)t;
959            } catch (ClassCastException cce) {
960                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
961                throw new RuntimeException(cce);
962            } catch (HL7Exception he) {
963                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
964                throw new RuntimeException(he);
965            }
966            return ret;
967        }
968    
969    
970        /**
971         * Returns
972         * PRB-19: "Certainty of Problem" - creates it if necessary
973         */
974        public CE getPrb19_CertaintyOfProblem() { 
975            CE ret = null;
976            try {
977                Type t = this.getField(19, 0);
978                ret = (CE)t;
979            } catch (ClassCastException cce) {
980                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
981                throw new RuntimeException(cce);
982            } catch (HL7Exception he) {
983                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
984                throw new RuntimeException(he);
985            }
986            return ret;
987        }
988    
989    
990    
991        /**
992         * Returns
993         * PRB-20: "Probability of Problem (0-1)" - creates it if necessary
994         */
995        public NM getProbabilityOfProblem() { 
996            NM ret = null;
997            try {
998                Type t = this.getField(20, 0);
999                ret = (NM)t;
1000            } catch (ClassCastException cce) {
1001                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1002                throw new RuntimeException(cce);
1003            } catch (HL7Exception he) {
1004                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1005                throw new RuntimeException(he);
1006            }
1007            return ret;
1008        }
1009    
1010    
1011        /**
1012         * Returns
1013         * PRB-20: "Probability of Problem (0-1)" - creates it if necessary
1014         */
1015        public NM getPrb20_ProbabilityOfProblem() { 
1016            NM ret = null;
1017            try {
1018                Type t = this.getField(20, 0);
1019                ret = (NM)t;
1020            } catch (ClassCastException cce) {
1021                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1022                throw new RuntimeException(cce);
1023            } catch (HL7Exception he) {
1024                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1025                throw new RuntimeException(he);
1026            }
1027            return ret;
1028        }
1029    
1030    
1031    
1032        /**
1033         * Returns
1034         * PRB-21: "Individual Awareness of Problem" - creates it if necessary
1035         */
1036        public CE getIndividualAwarenessOfProblem() { 
1037            CE ret = null;
1038            try {
1039                Type t = this.getField(21, 0);
1040                ret = (CE)t;
1041            } catch (ClassCastException cce) {
1042                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1043                throw new RuntimeException(cce);
1044            } catch (HL7Exception he) {
1045                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1046                throw new RuntimeException(he);
1047            }
1048            return ret;
1049        }
1050    
1051    
1052        /**
1053         * Returns
1054         * PRB-21: "Individual Awareness of Problem" - creates it if necessary
1055         */
1056        public CE getPrb21_IndividualAwarenessOfProblem() { 
1057            CE ret = null;
1058            try {
1059                Type t = this.getField(21, 0);
1060                ret = (CE)t;
1061            } catch (ClassCastException cce) {
1062                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1063                throw new RuntimeException(cce);
1064            } catch (HL7Exception he) {
1065                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1066                throw new RuntimeException(he);
1067            }
1068            return ret;
1069        }
1070    
1071    
1072    
1073        /**
1074         * Returns
1075         * PRB-22: "Problem Prognosis" - creates it if necessary
1076         */
1077        public CE getProblemPrognosis() { 
1078            CE ret = null;
1079            try {
1080                Type t = this.getField(22, 0);
1081                ret = (CE)t;
1082            } catch (ClassCastException cce) {
1083                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1084                throw new RuntimeException(cce);
1085            } catch (HL7Exception he) {
1086                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1087                throw new RuntimeException(he);
1088            }
1089            return ret;
1090        }
1091    
1092    
1093        /**
1094         * Returns
1095         * PRB-22: "Problem Prognosis" - creates it if necessary
1096         */
1097        public CE getPrb22_ProblemPrognosis() { 
1098            CE ret = null;
1099            try {
1100                Type t = this.getField(22, 0);
1101                ret = (CE)t;
1102            } catch (ClassCastException cce) {
1103                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1104                throw new RuntimeException(cce);
1105            } catch (HL7Exception he) {
1106                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1107                throw new RuntimeException(he);
1108            }
1109            return ret;
1110        }
1111    
1112    
1113    
1114        /**
1115         * Returns
1116         * PRB-23: "Individual Awareness of Prognosis" - creates it if necessary
1117         */
1118        public CE getIndividualAwarenessOfPrognosis() { 
1119            CE ret = null;
1120            try {
1121                Type t = this.getField(23, 0);
1122                ret = (CE)t;
1123            } catch (ClassCastException cce) {
1124                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1125                throw new RuntimeException(cce);
1126            } catch (HL7Exception he) {
1127                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1128                throw new RuntimeException(he);
1129            }
1130            return ret;
1131        }
1132    
1133    
1134        /**
1135         * Returns
1136         * PRB-23: "Individual Awareness of Prognosis" - creates it if necessary
1137         */
1138        public CE getPrb23_IndividualAwarenessOfPrognosis() { 
1139            CE ret = null;
1140            try {
1141                Type t = this.getField(23, 0);
1142                ret = (CE)t;
1143            } catch (ClassCastException cce) {
1144                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1145                throw new RuntimeException(cce);
1146            } catch (HL7Exception he) {
1147                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1148                throw new RuntimeException(he);
1149            }
1150            return ret;
1151        }
1152    
1153    
1154    
1155        /**
1156         * Returns
1157         * PRB-24: "Family/Significant Other Awareness of Problem/Prognosis" - creates it if necessary
1158         */
1159        public ST getFamilySignificantOtherAwarenessOfProblemPrognosis() { 
1160            ST ret = null;
1161            try {
1162                Type t = this.getField(24, 0);
1163                ret = (ST)t;
1164            } catch (ClassCastException cce) {
1165                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1166                throw new RuntimeException(cce);
1167            } catch (HL7Exception he) {
1168                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1169                throw new RuntimeException(he);
1170            }
1171            return ret;
1172        }
1173    
1174    
1175        /**
1176         * Returns
1177         * PRB-24: "Family/Significant Other Awareness of Problem/Prognosis" - creates it if necessary
1178         */
1179        public ST getPrb24_FamilySignificantOtherAwarenessOfProblemPrognosis() { 
1180            ST ret = null;
1181            try {
1182                Type t = this.getField(24, 0);
1183                ret = (ST)t;
1184            } catch (ClassCastException cce) {
1185                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1186                throw new RuntimeException(cce);
1187            } catch (HL7Exception he) {
1188                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1189                throw new RuntimeException(he);
1190            }
1191            return ret;
1192        }
1193    
1194    
1195    
1196        /**
1197         * Returns
1198         * PRB-25: "Security/Sensitivity" - creates it if necessary
1199         */
1200        public CE getSecuritySensitivity() { 
1201            CE ret = null;
1202            try {
1203                Type t = this.getField(25, 0);
1204                ret = (CE)t;
1205            } catch (ClassCastException cce) {
1206                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1207                throw new RuntimeException(cce);
1208            } catch (HL7Exception he) {
1209                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1210                throw new RuntimeException(he);
1211            }
1212            return ret;
1213        }
1214    
1215    
1216        /**
1217         * Returns
1218         * PRB-25: "Security/Sensitivity" - creates it if necessary
1219         */
1220        public CE getPrb25_SecuritySensitivity() { 
1221            CE ret = null;
1222            try {
1223                Type t = this.getField(25, 0);
1224                ret = (CE)t;
1225            } catch (ClassCastException cce) {
1226                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1227                throw new RuntimeException(cce);
1228            } catch (HL7Exception he) {
1229                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1230                throw new RuntimeException(he);
1231            }
1232            return ret;
1233        }
1234    
1235    
1236    
1237    
1238    
1239        /** {@inheritDoc} */   
1240        protected Type createNewTypeWithoutReflection(int field) {
1241           switch (field) {
1242              case 0: return new ID(getMessage(), new Integer( 287 ));
1243              case 1: return new TS(getMessage());
1244              case 2: return new CE(getMessage());
1245              case 3: return new EI(getMessage());
1246              case 4: return new EI(getMessage());
1247              case 5: return new NM(getMessage());
1248              case 6: return new TS(getMessage());
1249              case 7: return new TS(getMessage());
1250              case 8: return new TS(getMessage());
1251              case 9: return new CE(getMessage());
1252              case 10: return new CE(getMessage());
1253              case 11: return new CE(getMessage());
1254              case 12: return new CE(getMessage());
1255              case 13: return new CE(getMessage());
1256              case 14: return new TS(getMessage());
1257              case 15: return new TS(getMessage());
1258              case 16: return new ST(getMessage());
1259              case 17: return new CE(getMessage());
1260              case 18: return new CE(getMessage());
1261              case 19: return new NM(getMessage());
1262              case 20: return new CE(getMessage());
1263              case 21: return new CE(getMessage());
1264              case 22: return new CE(getMessage());
1265              case 23: return new ST(getMessage());
1266              case 24: return new CE(getMessage());
1267              default: return null;
1268           }
1269       }
1270    
1271    
1272    }
1273