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