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 OBR message segment (Observation Request). 
024     * This segment has the following fields:</p>
025     * <ul>
026         * <li>OBR-1: Set ID - OBR (SI) <b>optional </b>
027         * <li>OBR-2: Placer Order Number (EI) <b>optional </b>
028         * <li>OBR-3: Filler Order Number (EI) <b>optional </b>
029         * <li>OBR-4: Universal Service Identifier (CE) <b> </b>
030         * <li>OBR-5: Priority (ID) <b>optional </b>
031         * <li>OBR-6: Requested Date/Time (TS) <b>optional </b>
032         * <li>OBR-7: Observation Date/Time # (TS) <b>optional </b>
033         * <li>OBR-8: Observation End Date/Time # (TS) <b>optional </b>
034         * <li>OBR-9: Collection Volume * (CQ) <b>optional </b>
035         * <li>OBR-10: Collector Identifier * (XCN) <b>optional repeating</b>
036         * <li>OBR-11: Specimen Action Code * (ID) <b>optional </b>
037         * <li>OBR-12: Danger Code (CE) <b>optional </b>
038         * <li>OBR-13: Relevant Clinical Info. (ST) <b>optional </b>
039         * <li>OBR-14: Specimen Received Date/Time * (TS) <b>optional </b>
040         * <li>OBR-15: Specimen Source (SPS) <b>optional </b>
041         * <li>OBR-16: Ordering Provider (XCN) <b>optional repeating</b>
042         * <li>OBR-17: Order Callback Phone Number (XTN) <b>optional repeating</b>
043         * <li>OBR-18: Placer Field 1 (ST) <b>optional </b>
044         * <li>OBR-19: Placer Field 2 (ST) <b>optional </b>
045         * <li>OBR-20: Filler Field 1 + (ST) <b>optional </b>
046         * <li>OBR-21: Filler Field 2 + (ST) <b>optional </b>
047         * <li>OBR-22: Results Rpt/Status Chng - Date/Time + (TS) <b>optional </b>
048         * <li>OBR-23: Charge to Practice + (MOC) <b>optional </b>
049         * <li>OBR-24: Diagnostic Serv Sect ID (ID) <b>optional </b>
050         * <li>OBR-25: Result Status + (ID) <b>optional </b>
051         * <li>OBR-26: Parent Result + (PRL) <b>optional </b>
052         * <li>OBR-27: Quantity/Timing (TQ) <b>optional repeating</b>
053         * <li>OBR-28: Result Copies To (XCN) <b>optional repeating</b>
054         * <li>OBR-29: Parent Number (EIP) <b>optional </b>
055         * <li>OBR-30: Transportation Mode (ID) <b>optional </b>
056         * <li>OBR-31: Reason for Study (CE) <b>optional repeating</b>
057         * <li>OBR-32: Principal Result Interpreter + (NDL) <b>optional </b>
058         * <li>OBR-33: Assistant Result Interpreter + (NDL) <b>optional repeating</b>
059         * <li>OBR-34: Technician + (NDL) <b>optional repeating</b>
060         * <li>OBR-35: Transcriptionist + (NDL) <b>optional repeating</b>
061         * <li>OBR-36: Scheduled Date/Time + (TS) <b>optional </b>
062         * <li>OBR-37: Number of Sample Containers * (NM) <b>optional </b>
063         * <li>OBR-38: Transport Logistics of Collected Sample * (CE) <b>optional repeating</b>
064         * <li>OBR-39: Collector's Comment * (CE) <b>optional repeating</b>
065         * <li>OBR-40: Transport Arrangement Responsibility (CE) <b>optional </b>
066         * <li>OBR-41: Transport Arranged (ID) <b>optional </b>
067         * <li>OBR-42: Escort Required (ID) <b>optional </b>
068         * <li>OBR-43: Planned Patient Transport Comment (CE) <b>optional repeating</b>
069         * <li>OBR-44: Procedure Code (CE) <b>optional </b>
070         * <li>OBR-45: Procedure Code Modifier (CE) <b>optional repeating</b>
071         * <li>OBR-46: Placer Supplemental Service Information (CE) <b>optional repeating</b>
072         * <li>OBR-47: Filler Supplemental Service Information (CE) <b>optional repeating</b>
073     * </ul>
074     */
075    public class OBR extends AbstractSegment {
076    
077        /** 
078         * Creates a new OBR segment
079         */
080        public OBR(Group parent, ModelClassFactory factory) {
081           super(parent, factory);
082           init(factory);
083        }
084    
085        private void init(ModelClassFactory factory) {
086           try {
087                                      this.add(SI.class, false, 1, 4, new Object[]{ getMessage(), new Integer(0) }, "Set ID - OBR");
088                                      this.add(EI.class, false, 1, 22, new Object[]{ getMessage(), new Integer(0) }, "Placer Order Number");
089                                      this.add(EI.class, false, 1, 22, new Object[]{ getMessage(), new Integer(0) }, "Filler Order Number");
090                                      this.add(CE.class, true, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Universal Service Identifier");
091                                      this.add(ID.class, false, 1, 2, new Object[]{ getMessage() }, "Priority");
092                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Requested Date/Time");
093                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Observation Date/Time #");
094                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Observation End Date/Time #");
095                                      this.add(CQ.class, false, 1, 20, new Object[]{ getMessage(), new Integer(0) }, "Collection Volume *");
096                                      this.add(XCN.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Collector Identifier *");
097                                      this.add(ID.class, false, 1, 1, new Object[]{ getMessage() }, "Specimen Action Code *");
098                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Danger Code");
099                                      this.add(ST.class, false, 1, 300, new Object[]{ getMessage(), new Integer(0) }, "Relevant Clinical Info.");
100                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Specimen Received Date/Time *");
101                                      this.add(SPS.class, false, 1, 300, new Object[]{ getMessage(), new Integer(70) }, "Specimen Source");
102                                      this.add(XCN.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Ordering Provider");
103                                      this.add(XTN.class, false, 2, 250, new Object[]{ getMessage(), new Integer(0) }, "Order Callback Phone Number");
104                                      this.add(ST.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Placer Field 1");
105                                      this.add(ST.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Placer Field 2");
106                                      this.add(ST.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Filler Field 1 +");
107                                      this.add(ST.class, false, 1, 60, new Object[]{ getMessage(), new Integer(0) }, "Filler Field 2 +");
108                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Results Rpt/Status Chng - Date/Time +");
109                                      this.add(MOC.class, false, 1, 40, new Object[]{ getMessage(), new Integer(0) }, "Charge to Practice +");
110                                      this.add(ID.class, false, 1, 10, new Object[]{ getMessage() }, "Diagnostic Serv Sect ID");
111                                      this.add(ID.class, false, 1, 1, new Object[]{ getMessage() }, "Result Status +");
112                                      this.add(PRL.class, false, 1, 400, new Object[]{ getMessage(), new Integer(0) }, "Parent Result +");
113                                      this.add(TQ.class, false, 0, 200, new Object[]{ getMessage(), new Integer(0) }, "Quantity/Timing");
114                                      this.add(XCN.class, false, 5, 250, new Object[]{ getMessage(), new Integer(0) }, "Result Copies To");
115                                      this.add(EIP.class, false, 1, 200, new Object[]{ getMessage(), new Integer(0) }, "Parent Number");
116                                      this.add(ID.class, false, 1, 20, new Object[]{ getMessage() }, "Transportation Mode");
117                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Reason for Study");
118                                      this.add(NDL.class, false, 1, 200, new Object[]{ getMessage(), new Integer(0) }, "Principal Result Interpreter +");
119                                      this.add(NDL.class, false, 0, 200, new Object[]{ getMessage(), new Integer(0) }, "Assistant Result Interpreter +");
120                                      this.add(NDL.class, false, 0, 200, new Object[]{ getMessage(), new Integer(0) }, "Technician +");
121                                      this.add(NDL.class, false, 0, 200, new Object[]{ getMessage(), new Integer(0) }, "Transcriptionist +");
122                                      this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Scheduled Date/Time +");
123                                      this.add(NM.class, false, 1, 4, new Object[]{ getMessage(), new Integer(0) }, "Number of Sample Containers *");
124                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Transport Logistics of Collected Sample *");
125                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Collector's Comment *");
126                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Transport Arrangement Responsibility");
127                                      this.add(ID.class, false, 1, 30, new Object[]{ getMessage() }, "Transport Arranged");
128                                      this.add(ID.class, false, 1, 1, new Object[]{ getMessage() }, "Escort Required");
129                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(0) }, "Planned Patient Transport Comment");
130                                      this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(88) }, "Procedure Code");
131                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(340) }, "Procedure Code Modifier");
132                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(411) }, "Placer Supplemental Service Information");
133                                      this.add(CE.class, false, 0, 250, new Object[]{ getMessage(), new Integer(411) }, "Filler Supplemental Service Information");
134           } catch(HL7Exception e) {
135              HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected error creating OBR - this is probably a bug in the source code generator.", e);
136           }
137        }
138    
139    
140    
141        /**
142         * Returns
143         * OBR-1: "Set ID - OBR" - creates it if necessary
144         */
145        public SI getSetIDOBR() { 
146            SI ret = null;
147            try {
148                Type t = this.getField(1, 0);
149                ret = (SI)t;
150            } catch (ClassCastException cce) {
151                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
152                throw new RuntimeException(cce);
153            } catch (HL7Exception he) {
154                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
155                throw new RuntimeException(he);
156            }
157            return ret;
158        }
159    
160    
161        /**
162         * Returns
163         * OBR-1: "Set ID - OBR" - creates it if necessary
164         */
165        public SI getObr1_SetIDOBR() { 
166            SI ret = null;
167            try {
168                Type t = this.getField(1, 0);
169                ret = (SI)t;
170            } catch (ClassCastException cce) {
171                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
172                throw new RuntimeException(cce);
173            } catch (HL7Exception he) {
174                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
175                throw new RuntimeException(he);
176            }
177            return ret;
178        }
179    
180    
181    
182        /**
183         * Returns
184         * OBR-2: "Placer Order Number" - creates it if necessary
185         */
186        public EI getPlacerOrderNumber() { 
187            EI ret = null;
188            try {
189                Type t = this.getField(2, 0);
190                ret = (EI)t;
191            } catch (ClassCastException cce) {
192                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
193                throw new RuntimeException(cce);
194            } catch (HL7Exception he) {
195                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
196                throw new RuntimeException(he);
197            }
198            return ret;
199        }
200    
201    
202        /**
203         * Returns
204         * OBR-2: "Placer Order Number" - creates it if necessary
205         */
206        public EI getObr2_PlacerOrderNumber() { 
207            EI ret = null;
208            try {
209                Type t = this.getField(2, 0);
210                ret = (EI)t;
211            } catch (ClassCastException cce) {
212                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
213                throw new RuntimeException(cce);
214            } catch (HL7Exception he) {
215                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
216                throw new RuntimeException(he);
217            }
218            return ret;
219        }
220    
221    
222    
223        /**
224         * Returns
225         * OBR-3: "Filler Order Number" - creates it if necessary
226         */
227        public EI getFillerOrderNumber() { 
228            EI ret = null;
229            try {
230                Type t = this.getField(3, 0);
231                ret = (EI)t;
232            } catch (ClassCastException cce) {
233                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
234                throw new RuntimeException(cce);
235            } catch (HL7Exception he) {
236                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
237                throw new RuntimeException(he);
238            }
239            return ret;
240        }
241    
242    
243        /**
244         * Returns
245         * OBR-3: "Filler Order Number" - creates it if necessary
246         */
247        public EI getObr3_FillerOrderNumber() { 
248            EI ret = null;
249            try {
250                Type t = this.getField(3, 0);
251                ret = (EI)t;
252            } catch (ClassCastException cce) {
253                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
254                throw new RuntimeException(cce);
255            } catch (HL7Exception he) {
256                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
257                throw new RuntimeException(he);
258            }
259            return ret;
260        }
261    
262    
263    
264        /**
265         * Returns
266         * OBR-4: "Universal Service Identifier" - creates it if necessary
267         */
268        public CE getUniversalServiceIdentifier() { 
269            CE ret = null;
270            try {
271                Type t = this.getField(4, 0);
272                ret = (CE)t;
273            } catch (ClassCastException cce) {
274                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
275                throw new RuntimeException(cce);
276            } catch (HL7Exception he) {
277                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
278                throw new RuntimeException(he);
279            }
280            return ret;
281        }
282    
283    
284        /**
285         * Returns
286         * OBR-4: "Universal Service Identifier" - creates it if necessary
287         */
288        public CE getObr4_UniversalServiceIdentifier() { 
289            CE ret = null;
290            try {
291                Type t = this.getField(4, 0);
292                ret = (CE)t;
293            } catch (ClassCastException cce) {
294                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
295                throw new RuntimeException(cce);
296            } catch (HL7Exception he) {
297                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
298                throw new RuntimeException(he);
299            }
300            return ret;
301        }
302    
303    
304    
305        /**
306         * Returns
307         * OBR-5: "Priority" - creates it if necessary
308         */
309        public ID getPriority() { 
310            ID ret = null;
311            try {
312                Type t = this.getField(5, 0);
313                ret = (ID)t;
314            } catch (ClassCastException cce) {
315                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
316                throw new RuntimeException(cce);
317            } catch (HL7Exception he) {
318                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
319                throw new RuntimeException(he);
320            }
321            return ret;
322        }
323    
324    
325        /**
326         * Returns
327         * OBR-5: "Priority" - creates it if necessary
328         */
329        public ID getObr5_Priority() { 
330            ID ret = null;
331            try {
332                Type t = this.getField(5, 0);
333                ret = (ID)t;
334            } catch (ClassCastException cce) {
335                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
336                throw new RuntimeException(cce);
337            } catch (HL7Exception he) {
338                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
339                throw new RuntimeException(he);
340            }
341            return ret;
342        }
343    
344    
345    
346        /**
347         * Returns
348         * OBR-6: "Requested Date/Time" - creates it if necessary
349         */
350        public TS getRequestedDateTime() { 
351            TS ret = null;
352            try {
353                Type t = this.getField(6, 0);
354                ret = (TS)t;
355            } catch (ClassCastException cce) {
356                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
357                throw new RuntimeException(cce);
358            } catch (HL7Exception he) {
359                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
360                throw new RuntimeException(he);
361            }
362            return ret;
363        }
364    
365    
366        /**
367         * Returns
368         * OBR-6: "Requested Date/Time" - creates it if necessary
369         */
370        public TS getObr6_RequestedDateTime() { 
371            TS ret = null;
372            try {
373                Type t = this.getField(6, 0);
374                ret = (TS)t;
375            } catch (ClassCastException cce) {
376                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
377                throw new RuntimeException(cce);
378            } catch (HL7Exception he) {
379                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
380                throw new RuntimeException(he);
381            }
382            return ret;
383        }
384    
385    
386    
387        /**
388         * Returns
389         * OBR-7: "Observation Date/Time #" - creates it if necessary
390         */
391        public TS getObservationDateTime() { 
392            TS ret = null;
393            try {
394                Type t = this.getField(7, 0);
395                ret = (TS)t;
396            } catch (ClassCastException cce) {
397                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
398                throw new RuntimeException(cce);
399            } catch (HL7Exception he) {
400                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
401                throw new RuntimeException(he);
402            }
403            return ret;
404        }
405    
406    
407        /**
408         * Returns
409         * OBR-7: "Observation Date/Time #" - creates it if necessary
410         */
411        public TS getObr7_ObservationDateTime() { 
412            TS ret = null;
413            try {
414                Type t = this.getField(7, 0);
415                ret = (TS)t;
416            } catch (ClassCastException cce) {
417                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
418                throw new RuntimeException(cce);
419            } catch (HL7Exception he) {
420                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
421                throw new RuntimeException(he);
422            }
423            return ret;
424        }
425    
426    
427    
428        /**
429         * Returns
430         * OBR-8: "Observation End Date/Time #" - creates it if necessary
431         */
432        public TS getObservationEndDateTime() { 
433            TS ret = null;
434            try {
435                Type t = this.getField(8, 0);
436                ret = (TS)t;
437            } catch (ClassCastException cce) {
438                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
439                throw new RuntimeException(cce);
440            } catch (HL7Exception he) {
441                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
442                throw new RuntimeException(he);
443            }
444            return ret;
445        }
446    
447    
448        /**
449         * Returns
450         * OBR-8: "Observation End Date/Time #" - creates it if necessary
451         */
452        public TS getObr8_ObservationEndDateTime() { 
453            TS ret = null;
454            try {
455                Type t = this.getField(8, 0);
456                ret = (TS)t;
457            } catch (ClassCastException cce) {
458                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
459                throw new RuntimeException(cce);
460            } catch (HL7Exception he) {
461                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
462                throw new RuntimeException(he);
463            }
464            return ret;
465        }
466    
467    
468    
469        /**
470         * Returns
471         * OBR-9: "Collection Volume *" - creates it if necessary
472         */
473        public CQ getCollectionVolume() { 
474            CQ ret = null;
475            try {
476                Type t = this.getField(9, 0);
477                ret = (CQ)t;
478            } catch (ClassCastException cce) {
479                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
480                throw new RuntimeException(cce);
481            } catch (HL7Exception he) {
482                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
483                throw new RuntimeException(he);
484            }
485            return ret;
486        }
487    
488    
489        /**
490         * Returns
491         * OBR-9: "Collection Volume *" - creates it if necessary
492         */
493        public CQ getObr9_CollectionVolume() { 
494            CQ ret = null;
495            try {
496                Type t = this.getField(9, 0);
497                ret = (CQ)t;
498            } catch (ClassCastException cce) {
499                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
500                throw new RuntimeException(cce);
501            } catch (HL7Exception he) {
502                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
503                throw new RuntimeException(he);
504            }
505            return ret;
506        }
507    
508    
509        /**
510         * Returns all repetitions of Collector Identifier * (OBR-10).
511         */
512        public XCN[] getCollectorIdentifier() {
513            XCN[] ret = null;
514            try {
515                Type[] t = this.getField(10);  
516                ret = new XCN[t.length];
517                for (int i = 0; i < ret.length; i++) {
518                    ret[i] = (XCN)t[i];
519                }
520            } catch (ClassCastException cce) {
521                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
522                throw new RuntimeException(cce);
523            } catch (HL7Exception he) {
524                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
525                throw new RuntimeException(he);
526            }
527            return ret;
528        }
529    
530    
531        /**
532         * Returns a count of the current number of repetitions of Collector Identifier * (OBR-10).
533         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
534         * it will return zero.
535         */
536        public int getCollectorIdentifierReps() {
537            XCN[] ret = null;
538            try {
539                Type[] t = this.getField(10);
540                return t.length;  
541            } catch (ClassCastException cce) {
542                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
543                throw new RuntimeException(cce);
544            } catch (HL7Exception he) {
545                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
546                throw new RuntimeException(he);
547            }
548        }
549    
550    
551        /**
552         * Returns a specific repetition of
553         * OBR-10: "Collector Identifier *" - creates it if necessary
554         *
555         * @param rep The repetition index (0-indexed)
556         */
557        public XCN getCollectorIdentifier(int rep) { 
558            XCN ret = null;
559            try {
560                Type t = this.getField(10, rep);
561                ret = (XCN)t;
562            } catch (ClassCastException cce) {
563                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
564                throw new RuntimeException(cce);
565            } catch (HL7Exception he) {
566                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
567                throw new RuntimeException(he);
568            }
569            return ret;
570        }
571    
572        /**
573         * Returns a specific repetition of
574         * OBR-10: "Collector Identifier *" - creates it if necessary
575         *
576         * @param rep The repetition index (0-indexed)
577         */
578        public XCN getObr10_CollectorIdentifier(int rep) { 
579            XCN ret = null;
580            try {
581                Type t = this.getField(10, rep);
582                ret = (XCN)t;
583            } catch (ClassCastException cce) {
584                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
585                throw new RuntimeException(cce);
586            } catch (HL7Exception he) {
587                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
588                throw new RuntimeException(he);
589            }
590            return ret;
591        }
592    
593    
594        /**
595         * Returns a count of the current number of repetitions of Collector Identifier * (OBR-10).
596         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
597         * it will return zero.
598         */
599        public int getObr10_CollectorIdentifierReps() {
600            XCN[] ret = null;
601            try {
602                Type[] t = this.getField(10);
603                return t.length;  
604            } catch (ClassCastException cce) {
605                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
606                throw new RuntimeException(cce);
607            } catch (HL7Exception he) {
608                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
609                throw new RuntimeException(he);
610            }
611        }
612    
613    
614    
615        /**
616         * Inserts a repetition of
617         * OBR-10: "Collector Identifier *" at a specific index
618         *
619         * @param rep The repetition index (0-indexed)
620         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
621         */
622        public XCN insertCollectorIdentifier(int rep) throws HL7Exception { 
623            return (XCN) super.insertRepetition(10, rep);
624        }
625    
626    
627    
628        /**
629         * Inserts a repetition of
630         * OBR-10: "Collector Identifier *" at a specific index
631         *
632         * @param rep The repetition index (0-indexed)
633         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
634         */
635        public XCN insertObr10_CollectorIdentifier(int rep) throws HL7Exception { 
636            return (XCN) super.insertRepetition(10, rep);
637        }
638    
639    
640        /**
641         * Removes a repetition of
642         * OBR-10: "Collector Identifier *" at a specific index
643         *
644         * @param rep The repetition index (0-indexed)
645         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
646         */
647        public XCN removeCollectorIdentifier(int rep) throws HL7Exception { 
648            return (XCN) super.removeRepetition(10, rep);
649        }
650    
651    
652        /**
653         * Removes a repetition of
654         * OBR-10: "Collector Identifier *" at a specific index
655         *
656         * @param rep The repetition index (0-indexed)
657         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
658         */
659        public XCN removeObr10_CollectorIdentifier(int rep) throws HL7Exception { 
660            return (XCN) super.removeRepetition(10, rep);
661        }
662    
663    
664    
665    
666        /**
667         * Returns
668         * OBR-11: "Specimen Action Code *" - creates it if necessary
669         */
670        public ID getSpecimenActionCode() { 
671            ID ret = null;
672            try {
673                Type t = this.getField(11, 0);
674                ret = (ID)t;
675            } catch (ClassCastException cce) {
676                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
677                throw new RuntimeException(cce);
678            } catch (HL7Exception he) {
679                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
680                throw new RuntimeException(he);
681            }
682            return ret;
683        }
684    
685    
686        /**
687         * Returns
688         * OBR-11: "Specimen Action Code *" - creates it if necessary
689         */
690        public ID getObr11_SpecimenActionCode() { 
691            ID ret = null;
692            try {
693                Type t = this.getField(11, 0);
694                ret = (ID)t;
695            } catch (ClassCastException cce) {
696                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
697                throw new RuntimeException(cce);
698            } catch (HL7Exception he) {
699                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
700                throw new RuntimeException(he);
701            }
702            return ret;
703        }
704    
705    
706    
707        /**
708         * Returns
709         * OBR-12: "Danger Code" - creates it if necessary
710         */
711        public CE getDangerCode() { 
712            CE ret = null;
713            try {
714                Type t = this.getField(12, 0);
715                ret = (CE)t;
716            } catch (ClassCastException cce) {
717                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
718                throw new RuntimeException(cce);
719            } catch (HL7Exception he) {
720                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
721                throw new RuntimeException(he);
722            }
723            return ret;
724        }
725    
726    
727        /**
728         * Returns
729         * OBR-12: "Danger Code" - creates it if necessary
730         */
731        public CE getObr12_DangerCode() { 
732            CE ret = null;
733            try {
734                Type t = this.getField(12, 0);
735                ret = (CE)t;
736            } catch (ClassCastException cce) {
737                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
738                throw new RuntimeException(cce);
739            } catch (HL7Exception he) {
740                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
741                throw new RuntimeException(he);
742            }
743            return ret;
744        }
745    
746    
747    
748        /**
749         * Returns
750         * OBR-13: "Relevant Clinical Info." - creates it if necessary
751         */
752        public ST getRelevantClinicalInfo() { 
753            ST ret = null;
754            try {
755                Type t = this.getField(13, 0);
756                ret = (ST)t;
757            } catch (ClassCastException cce) {
758                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
759                throw new RuntimeException(cce);
760            } catch (HL7Exception he) {
761                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
762                throw new RuntimeException(he);
763            }
764            return ret;
765        }
766    
767    
768        /**
769         * Returns
770         * OBR-13: "Relevant Clinical Info." - creates it if necessary
771         */
772        public ST getObr13_RelevantClinicalInfo() { 
773            ST ret = null;
774            try {
775                Type t = this.getField(13, 0);
776                ret = (ST)t;
777            } catch (ClassCastException cce) {
778                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
779                throw new RuntimeException(cce);
780            } catch (HL7Exception he) {
781                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
782                throw new RuntimeException(he);
783            }
784            return ret;
785        }
786    
787    
788    
789        /**
790         * Returns
791         * OBR-14: "Specimen Received Date/Time *" - creates it if necessary
792         */
793        public TS getSpecimenReceivedDateTime() { 
794            TS ret = null;
795            try {
796                Type t = this.getField(14, 0);
797                ret = (TS)t;
798            } catch (ClassCastException cce) {
799                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
800                throw new RuntimeException(cce);
801            } catch (HL7Exception he) {
802                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
803                throw new RuntimeException(he);
804            }
805            return ret;
806        }
807    
808    
809        /**
810         * Returns
811         * OBR-14: "Specimen Received Date/Time *" - creates it if necessary
812         */
813        public TS getObr14_SpecimenReceivedDateTime() { 
814            TS ret = null;
815            try {
816                Type t = this.getField(14, 0);
817                ret = (TS)t;
818            } catch (ClassCastException cce) {
819                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
820                throw new RuntimeException(cce);
821            } catch (HL7Exception he) {
822                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
823                throw new RuntimeException(he);
824            }
825            return ret;
826        }
827    
828    
829    
830        /**
831         * Returns
832         * OBR-15: "Specimen Source" - creates it if necessary
833         */
834        public SPS getSpecimenSource() { 
835            SPS ret = null;
836            try {
837                Type t = this.getField(15, 0);
838                ret = (SPS)t;
839            } catch (ClassCastException cce) {
840                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
841                throw new RuntimeException(cce);
842            } catch (HL7Exception he) {
843                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
844                throw new RuntimeException(he);
845            }
846            return ret;
847        }
848    
849    
850        /**
851         * Returns
852         * OBR-15: "Specimen Source" - creates it if necessary
853         */
854        public SPS getObr15_SpecimenSource() { 
855            SPS ret = null;
856            try {
857                Type t = this.getField(15, 0);
858                ret = (SPS)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        /**
871         * Returns all repetitions of Ordering Provider (OBR-16).
872         */
873        public XCN[] getOrderingProvider() {
874            XCN[] ret = null;
875            try {
876                Type[] t = this.getField(16);  
877                ret = new XCN[t.length];
878                for (int i = 0; i < ret.length; i++) {
879                    ret[i] = (XCN)t[i];
880                }
881            } catch (ClassCastException cce) {
882                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
883                throw new RuntimeException(cce);
884            } catch (HL7Exception he) {
885                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
886                throw new RuntimeException(he);
887            }
888            return ret;
889        }
890    
891    
892        /**
893         * Returns a count of the current number of repetitions of Ordering Provider (OBR-16).
894         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
895         * it will return zero.
896         */
897        public int getOrderingProviderReps() {
898            XCN[] ret = null;
899            try {
900                Type[] t = this.getField(16);
901                return t.length;  
902            } catch (ClassCastException cce) {
903                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
904                throw new RuntimeException(cce);
905            } catch (HL7Exception he) {
906                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
907                throw new RuntimeException(he);
908            }
909        }
910    
911    
912        /**
913         * Returns a specific repetition of
914         * OBR-16: "Ordering Provider" - creates it if necessary
915         *
916         * @param rep The repetition index (0-indexed)
917         */
918        public XCN getOrderingProvider(int rep) { 
919            XCN ret = null;
920            try {
921                Type t = this.getField(16, rep);
922                ret = (XCN)t;
923            } catch (ClassCastException cce) {
924                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
925                throw new RuntimeException(cce);
926            } catch (HL7Exception he) {
927                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
928                throw new RuntimeException(he);
929            }
930            return ret;
931        }
932    
933        /**
934         * Returns a specific repetition of
935         * OBR-16: "Ordering Provider" - creates it if necessary
936         *
937         * @param rep The repetition index (0-indexed)
938         */
939        public XCN getObr16_OrderingProvider(int rep) { 
940            XCN ret = null;
941            try {
942                Type t = this.getField(16, rep);
943                ret = (XCN)t;
944            } catch (ClassCastException cce) {
945                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
946                throw new RuntimeException(cce);
947            } catch (HL7Exception he) {
948                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
949                throw new RuntimeException(he);
950            }
951            return ret;
952        }
953    
954    
955        /**
956         * Returns a count of the current number of repetitions of Ordering Provider (OBR-16).
957         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
958         * it will return zero.
959         */
960        public int getObr16_OrderingProviderReps() {
961            XCN[] ret = null;
962            try {
963                Type[] t = this.getField(16);
964                return t.length;  
965            } catch (ClassCastException cce) {
966                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
967                throw new RuntimeException(cce);
968            } catch (HL7Exception he) {
969                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
970                throw new RuntimeException(he);
971            }
972        }
973    
974    
975    
976        /**
977         * Inserts a repetition of
978         * OBR-16: "Ordering Provider" at a specific index
979         *
980         * @param rep The repetition index (0-indexed)
981         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
982         */
983        public XCN insertOrderingProvider(int rep) throws HL7Exception { 
984            return (XCN) super.insertRepetition(16, rep);
985        }
986    
987    
988    
989        /**
990         * Inserts a repetition of
991         * OBR-16: "Ordering Provider" at a specific index
992         *
993         * @param rep The repetition index (0-indexed)
994         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
995         */
996        public XCN insertObr16_OrderingProvider(int rep) throws HL7Exception { 
997            return (XCN) super.insertRepetition(16, rep);
998        }
999    
1000    
1001        /**
1002         * Removes a repetition of
1003         * OBR-16: "Ordering Provider" at a specific index
1004         *
1005         * @param rep The repetition index (0-indexed)
1006         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1007         */
1008        public XCN removeOrderingProvider(int rep) throws HL7Exception { 
1009            return (XCN) super.removeRepetition(16, rep);
1010        }
1011    
1012    
1013        /**
1014         * Removes a repetition of
1015         * OBR-16: "Ordering Provider" at a specific index
1016         *
1017         * @param rep The repetition index (0-indexed)
1018         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1019         */
1020        public XCN removeObr16_OrderingProvider(int rep) throws HL7Exception { 
1021            return (XCN) super.removeRepetition(16, rep);
1022        }
1023    
1024    
1025    
1026        /**
1027         * Returns all repetitions of Order Callback Phone Number (OBR-17).
1028         */
1029        public XTN[] getOrderCallbackPhoneNumber() {
1030            XTN[] ret = null;
1031            try {
1032                Type[] t = this.getField(17);  
1033                ret = new XTN[t.length];
1034                for (int i = 0; i < ret.length; i++) {
1035                    ret[i] = (XTN)t[i];
1036                }
1037            } catch (ClassCastException cce) {
1038                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1039                throw new RuntimeException(cce);
1040            } catch (HL7Exception he) {
1041                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1042                throw new RuntimeException(he);
1043            }
1044            return ret;
1045        }
1046    
1047    
1048        /**
1049         * Returns a count of the current number of repetitions of Order Callback Phone Number (OBR-17).
1050         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1051         * it will return zero.
1052         */
1053        public int getOrderCallbackPhoneNumberReps() {
1054            XTN[] ret = null;
1055            try {
1056                Type[] t = this.getField(17);
1057                return t.length;  
1058            } catch (ClassCastException cce) {
1059                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1060                throw new RuntimeException(cce);
1061            } catch (HL7Exception he) {
1062                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1063                throw new RuntimeException(he);
1064            }
1065        }
1066    
1067    
1068        /**
1069         * Returns a specific repetition of
1070         * OBR-17: "Order Callback Phone Number" - creates it if necessary
1071         *
1072         * @param rep The repetition index (0-indexed)
1073         */
1074        public XTN getOrderCallbackPhoneNumber(int rep) { 
1075            XTN ret = null;
1076            try {
1077                Type t = this.getField(17, rep);
1078                ret = (XTN)t;
1079            } catch (ClassCastException cce) {
1080                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1081                throw new RuntimeException(cce);
1082            } catch (HL7Exception he) {
1083                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1084                throw new RuntimeException(he);
1085            }
1086            return ret;
1087        }
1088    
1089        /**
1090         * Returns a specific repetition of
1091         * OBR-17: "Order Callback Phone Number" - creates it if necessary
1092         *
1093         * @param rep The repetition index (0-indexed)
1094         */
1095        public XTN getObr17_OrderCallbackPhoneNumber(int rep) { 
1096            XTN ret = null;
1097            try {
1098                Type t = this.getField(17, rep);
1099                ret = (XTN)t;
1100            } catch (ClassCastException cce) {
1101                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1102                throw new RuntimeException(cce);
1103            } catch (HL7Exception he) {
1104                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1105                throw new RuntimeException(he);
1106            }
1107            return ret;
1108        }
1109    
1110    
1111        /**
1112         * Returns a count of the current number of repetitions of Order Callback Phone Number (OBR-17).
1113         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1114         * it will return zero.
1115         */
1116        public int getObr17_OrderCallbackPhoneNumberReps() {
1117            XTN[] ret = null;
1118            try {
1119                Type[] t = this.getField(17);
1120                return t.length;  
1121            } catch (ClassCastException cce) {
1122                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1123                throw new RuntimeException(cce);
1124            } catch (HL7Exception he) {
1125                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1126                throw new RuntimeException(he);
1127            }
1128        }
1129    
1130    
1131    
1132        /**
1133         * Inserts a repetition of
1134         * OBR-17: "Order Callback Phone Number" at a specific index
1135         *
1136         * @param rep The repetition index (0-indexed)
1137         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1138         */
1139        public XTN insertOrderCallbackPhoneNumber(int rep) throws HL7Exception { 
1140            return (XTN) super.insertRepetition(17, rep);
1141        }
1142    
1143    
1144    
1145        /**
1146         * Inserts a repetition of
1147         * OBR-17: "Order Callback Phone Number" at a specific index
1148         *
1149         * @param rep The repetition index (0-indexed)
1150         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1151         */
1152        public XTN insertObr17_OrderCallbackPhoneNumber(int rep) throws HL7Exception { 
1153            return (XTN) super.insertRepetition(17, rep);
1154        }
1155    
1156    
1157        /**
1158         * Removes a repetition of
1159         * OBR-17: "Order Callback Phone Number" at a specific index
1160         *
1161         * @param rep The repetition index (0-indexed)
1162         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1163         */
1164        public XTN removeOrderCallbackPhoneNumber(int rep) throws HL7Exception { 
1165            return (XTN) super.removeRepetition(17, rep);
1166        }
1167    
1168    
1169        /**
1170         * Removes a repetition of
1171         * OBR-17: "Order Callback Phone Number" at a specific index
1172         *
1173         * @param rep The repetition index (0-indexed)
1174         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1175         */
1176        public XTN removeObr17_OrderCallbackPhoneNumber(int rep) throws HL7Exception { 
1177            return (XTN) super.removeRepetition(17, rep);
1178        }
1179    
1180    
1181    
1182    
1183        /**
1184         * Returns
1185         * OBR-18: "Placer Field 1" - creates it if necessary
1186         */
1187        public ST getPlacerField1() { 
1188            ST ret = null;
1189            try {
1190                Type t = this.getField(18, 0);
1191                ret = (ST)t;
1192            } catch (ClassCastException cce) {
1193                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1194                throw new RuntimeException(cce);
1195            } catch (HL7Exception he) {
1196                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1197                throw new RuntimeException(he);
1198            }
1199            return ret;
1200        }
1201    
1202    
1203        /**
1204         * Returns
1205         * OBR-18: "Placer Field 1" - creates it if necessary
1206         */
1207        public ST getObr18_PlacerField1() { 
1208            ST ret = null;
1209            try {
1210                Type t = this.getField(18, 0);
1211                ret = (ST)t;
1212            } catch (ClassCastException cce) {
1213                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1214                throw new RuntimeException(cce);
1215            } catch (HL7Exception he) {
1216                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1217                throw new RuntimeException(he);
1218            }
1219            return ret;
1220        }
1221    
1222    
1223    
1224        /**
1225         * Returns
1226         * OBR-19: "Placer Field 2" - creates it if necessary
1227         */
1228        public ST getPlacerField2() { 
1229            ST ret = null;
1230            try {
1231                Type t = this.getField(19, 0);
1232                ret = (ST)t;
1233            } catch (ClassCastException cce) {
1234                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1235                throw new RuntimeException(cce);
1236            } catch (HL7Exception he) {
1237                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1238                throw new RuntimeException(he);
1239            }
1240            return ret;
1241        }
1242    
1243    
1244        /**
1245         * Returns
1246         * OBR-19: "Placer Field 2" - creates it if necessary
1247         */
1248        public ST getObr19_PlacerField2() { 
1249            ST ret = null;
1250            try {
1251                Type t = this.getField(19, 0);
1252                ret = (ST)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    
1265        /**
1266         * Returns
1267         * OBR-20: "Filler Field 1 +" - creates it if necessary
1268         */
1269        public ST getFillerField1() { 
1270            ST ret = null;
1271            try {
1272                Type t = this.getField(20, 0);
1273                ret = (ST)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
1287         * OBR-20: "Filler Field 1 +" - creates it if necessary
1288         */
1289        public ST getObr20_FillerField1() { 
1290            ST ret = null;
1291            try {
1292                Type t = this.getField(20, 0);
1293                ret = (ST)t;
1294            } catch (ClassCastException cce) {
1295                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1296                throw new RuntimeException(cce);
1297            } catch (HL7Exception he) {
1298                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1299                throw new RuntimeException(he);
1300            }
1301            return ret;
1302        }
1303    
1304    
1305    
1306        /**
1307         * Returns
1308         * OBR-21: "Filler Field 2 +" - creates it if necessary
1309         */
1310        public ST getFillerField2() { 
1311            ST ret = null;
1312            try {
1313                Type t = this.getField(21, 0);
1314                ret = (ST)t;
1315            } catch (ClassCastException cce) {
1316                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1317                throw new RuntimeException(cce);
1318            } catch (HL7Exception he) {
1319                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1320                throw new RuntimeException(he);
1321            }
1322            return ret;
1323        }
1324    
1325    
1326        /**
1327         * Returns
1328         * OBR-21: "Filler Field 2 +" - creates it if necessary
1329         */
1330        public ST getObr21_FillerField2() { 
1331            ST ret = null;
1332            try {
1333                Type t = this.getField(21, 0);
1334                ret = (ST)t;
1335            } catch (ClassCastException cce) {
1336                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1337                throw new RuntimeException(cce);
1338            } catch (HL7Exception he) {
1339                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1340                throw new RuntimeException(he);
1341            }
1342            return ret;
1343        }
1344    
1345    
1346    
1347        /**
1348         * Returns
1349         * OBR-22: "Results Rpt/Status Chng - Date/Time +" - creates it if necessary
1350         */
1351        public TS getResultsRptStatusChngDateTime() { 
1352            TS ret = null;
1353            try {
1354                Type t = this.getField(22, 0);
1355                ret = (TS)t;
1356            } catch (ClassCastException cce) {
1357                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1358                throw new RuntimeException(cce);
1359            } catch (HL7Exception he) {
1360                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1361                throw new RuntimeException(he);
1362            }
1363            return ret;
1364        }
1365    
1366    
1367        /**
1368         * Returns
1369         * OBR-22: "Results Rpt/Status Chng - Date/Time +" - creates it if necessary
1370         */
1371        public TS getObr22_ResultsRptStatusChngDateTime() { 
1372            TS ret = null;
1373            try {
1374                Type t = this.getField(22, 0);
1375                ret = (TS)t;
1376            } catch (ClassCastException cce) {
1377                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1378                throw new RuntimeException(cce);
1379            } catch (HL7Exception he) {
1380                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1381                throw new RuntimeException(he);
1382            }
1383            return ret;
1384        }
1385    
1386    
1387    
1388        /**
1389         * Returns
1390         * OBR-23: "Charge to Practice +" - creates it if necessary
1391         */
1392        public MOC getChargeToPractice() { 
1393            MOC ret = null;
1394            try {
1395                Type t = this.getField(23, 0);
1396                ret = (MOC)t;
1397            } catch (ClassCastException cce) {
1398                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1399                throw new RuntimeException(cce);
1400            } catch (HL7Exception he) {
1401                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1402                throw new RuntimeException(he);
1403            }
1404            return ret;
1405        }
1406    
1407    
1408        /**
1409         * Returns
1410         * OBR-23: "Charge to Practice +" - creates it if necessary
1411         */
1412        public MOC getObr23_ChargeToPractice() { 
1413            MOC ret = null;
1414            try {
1415                Type t = this.getField(23, 0);
1416                ret = (MOC)t;
1417            } catch (ClassCastException cce) {
1418                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1419                throw new RuntimeException(cce);
1420            } catch (HL7Exception he) {
1421                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1422                throw new RuntimeException(he);
1423            }
1424            return ret;
1425        }
1426    
1427    
1428    
1429        /**
1430         * Returns
1431         * OBR-24: "Diagnostic Serv Sect ID" - creates it if necessary
1432         */
1433        public ID getDiagnosticServSectID() { 
1434            ID ret = null;
1435            try {
1436                Type t = this.getField(24, 0);
1437                ret = (ID)t;
1438            } catch (ClassCastException cce) {
1439                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1440                throw new RuntimeException(cce);
1441            } catch (HL7Exception he) {
1442                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1443                throw new RuntimeException(he);
1444            }
1445            return ret;
1446        }
1447    
1448    
1449        /**
1450         * Returns
1451         * OBR-24: "Diagnostic Serv Sect ID" - creates it if necessary
1452         */
1453        public ID getObr24_DiagnosticServSectID() { 
1454            ID ret = null;
1455            try {
1456                Type t = this.getField(24, 0);
1457                ret = (ID)t;
1458            } catch (ClassCastException cce) {
1459                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1460                throw new RuntimeException(cce);
1461            } catch (HL7Exception he) {
1462                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1463                throw new RuntimeException(he);
1464            }
1465            return ret;
1466        }
1467    
1468    
1469    
1470        /**
1471         * Returns
1472         * OBR-25: "Result Status +" - creates it if necessary
1473         */
1474        public ID getResultStatus() { 
1475            ID ret = null;
1476            try {
1477                Type t = this.getField(25, 0);
1478                ret = (ID)t;
1479            } catch (ClassCastException cce) {
1480                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1481                throw new RuntimeException(cce);
1482            } catch (HL7Exception he) {
1483                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1484                throw new RuntimeException(he);
1485            }
1486            return ret;
1487        }
1488    
1489    
1490        /**
1491         * Returns
1492         * OBR-25: "Result Status +" - creates it if necessary
1493         */
1494        public ID getObr25_ResultStatus() { 
1495            ID ret = null;
1496            try {
1497                Type t = this.getField(25, 0);
1498                ret = (ID)t;
1499            } catch (ClassCastException cce) {
1500                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1501                throw new RuntimeException(cce);
1502            } catch (HL7Exception he) {
1503                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1504                throw new RuntimeException(he);
1505            }
1506            return ret;
1507        }
1508    
1509    
1510    
1511        /**
1512         * Returns
1513         * OBR-26: "Parent Result +" - creates it if necessary
1514         */
1515        public PRL getParentResult() { 
1516            PRL ret = null;
1517            try {
1518                Type t = this.getField(26, 0);
1519                ret = (PRL)t;
1520            } catch (ClassCastException cce) {
1521                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1522                throw new RuntimeException(cce);
1523            } catch (HL7Exception he) {
1524                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1525                throw new RuntimeException(he);
1526            }
1527            return ret;
1528        }
1529    
1530    
1531        /**
1532         * Returns
1533         * OBR-26: "Parent Result +" - creates it if necessary
1534         */
1535        public PRL getObr26_ParentResult() { 
1536            PRL ret = null;
1537            try {
1538                Type t = this.getField(26, 0);
1539                ret = (PRL)t;
1540            } catch (ClassCastException cce) {
1541                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1542                throw new RuntimeException(cce);
1543            } catch (HL7Exception he) {
1544                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1545                throw new RuntimeException(he);
1546            }
1547            return ret;
1548        }
1549    
1550    
1551        /**
1552         * Returns all repetitions of Quantity/Timing (OBR-27).
1553         */
1554        public TQ[] getQuantityTiming() {
1555            TQ[] ret = null;
1556            try {
1557                Type[] t = this.getField(27);  
1558                ret = new TQ[t.length];
1559                for (int i = 0; i < ret.length; i++) {
1560                    ret[i] = (TQ)t[i];
1561                }
1562            } catch (ClassCastException cce) {
1563                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1564                throw new RuntimeException(cce);
1565            } catch (HL7Exception he) {
1566                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1567                throw new RuntimeException(he);
1568            }
1569            return ret;
1570        }
1571    
1572    
1573        /**
1574         * Returns a count of the current number of repetitions of Quantity/Timing (OBR-27).
1575         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1576         * it will return zero.
1577         */
1578        public int getQuantityTimingReps() {
1579            TQ[] ret = null;
1580            try {
1581                Type[] t = this.getField(27);
1582                return t.length;  
1583            } catch (ClassCastException cce) {
1584                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1585                throw new RuntimeException(cce);
1586            } catch (HL7Exception he) {
1587                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1588                throw new RuntimeException(he);
1589            }
1590        }
1591    
1592    
1593        /**
1594         * Returns a specific repetition of
1595         * OBR-27: "Quantity/Timing" - creates it if necessary
1596         *
1597         * @param rep The repetition index (0-indexed)
1598         */
1599        public TQ getQuantityTiming(int rep) { 
1600            TQ ret = null;
1601            try {
1602                Type t = this.getField(27, rep);
1603                ret = (TQ)t;
1604            } catch (ClassCastException cce) {
1605                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1606                throw new RuntimeException(cce);
1607            } catch (HL7Exception he) {
1608                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1609                throw new RuntimeException(he);
1610            }
1611            return ret;
1612        }
1613    
1614        /**
1615         * Returns a specific repetition of
1616         * OBR-27: "Quantity/Timing" - creates it if necessary
1617         *
1618         * @param rep The repetition index (0-indexed)
1619         */
1620        public TQ getObr27_QuantityTiming(int rep) { 
1621            TQ ret = null;
1622            try {
1623                Type t = this.getField(27, rep);
1624                ret = (TQ)t;
1625            } catch (ClassCastException cce) {
1626                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1627                throw new RuntimeException(cce);
1628            } catch (HL7Exception he) {
1629                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1630                throw new RuntimeException(he);
1631            }
1632            return ret;
1633        }
1634    
1635    
1636        /**
1637         * Returns a count of the current number of repetitions of Quantity/Timing (OBR-27).
1638         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1639         * it will return zero.
1640         */
1641        public int getObr27_QuantityTimingReps() {
1642            TQ[] ret = null;
1643            try {
1644                Type[] t = this.getField(27);
1645                return t.length;  
1646            } catch (ClassCastException cce) {
1647                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1648                throw new RuntimeException(cce);
1649            } catch (HL7Exception he) {
1650                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1651                throw new RuntimeException(he);
1652            }
1653        }
1654    
1655    
1656    
1657        /**
1658         * Inserts a repetition of
1659         * OBR-27: "Quantity/Timing" at a specific index
1660         *
1661         * @param rep The repetition index (0-indexed)
1662         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1663         */
1664        public TQ insertQuantityTiming(int rep) throws HL7Exception { 
1665            return (TQ) super.insertRepetition(27, rep);
1666        }
1667    
1668    
1669    
1670        /**
1671         * Inserts a repetition of
1672         * OBR-27: "Quantity/Timing" at a specific index
1673         *
1674         * @param rep The repetition index (0-indexed)
1675         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1676         */
1677        public TQ insertObr27_QuantityTiming(int rep) throws HL7Exception { 
1678            return (TQ) super.insertRepetition(27, rep);
1679        }
1680    
1681    
1682        /**
1683         * Removes a repetition of
1684         * OBR-27: "Quantity/Timing" at a specific index
1685         *
1686         * @param rep The repetition index (0-indexed)
1687         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1688         */
1689        public TQ removeQuantityTiming(int rep) throws HL7Exception { 
1690            return (TQ) super.removeRepetition(27, rep);
1691        }
1692    
1693    
1694        /**
1695         * Removes a repetition of
1696         * OBR-27: "Quantity/Timing" at a specific index
1697         *
1698         * @param rep The repetition index (0-indexed)
1699         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1700         */
1701        public TQ removeObr27_QuantityTiming(int rep) throws HL7Exception { 
1702            return (TQ) super.removeRepetition(27, rep);
1703        }
1704    
1705    
1706    
1707        /**
1708         * Returns all repetitions of Result Copies To (OBR-28).
1709         */
1710        public XCN[] getResultCopiesTo() {
1711            XCN[] ret = null;
1712            try {
1713                Type[] t = this.getField(28);  
1714                ret = new XCN[t.length];
1715                for (int i = 0; i < ret.length; i++) {
1716                    ret[i] = (XCN)t[i];
1717                }
1718            } catch (ClassCastException cce) {
1719                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1720                throw new RuntimeException(cce);
1721            } catch (HL7Exception he) {
1722                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1723                throw new RuntimeException(he);
1724            }
1725            return ret;
1726        }
1727    
1728    
1729        /**
1730         * Returns a count of the current number of repetitions of Result Copies To (OBR-28).
1731         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1732         * it will return zero.
1733         */
1734        public int getResultCopiesToReps() {
1735            XCN[] ret = null;
1736            try {
1737                Type[] t = this.getField(28);
1738                return t.length;  
1739            } catch (ClassCastException cce) {
1740                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1741                throw new RuntimeException(cce);
1742            } catch (HL7Exception he) {
1743                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1744                throw new RuntimeException(he);
1745            }
1746        }
1747    
1748    
1749        /**
1750         * Returns a specific repetition of
1751         * OBR-28: "Result Copies To" - creates it if necessary
1752         *
1753         * @param rep The repetition index (0-indexed)
1754         */
1755        public XCN getResultCopiesTo(int rep) { 
1756            XCN ret = null;
1757            try {
1758                Type t = this.getField(28, rep);
1759                ret = (XCN)t;
1760            } catch (ClassCastException cce) {
1761                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1762                throw new RuntimeException(cce);
1763            } catch (HL7Exception he) {
1764                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1765                throw new RuntimeException(he);
1766            }
1767            return ret;
1768        }
1769    
1770        /**
1771         * Returns a specific repetition of
1772         * OBR-28: "Result Copies To" - creates it if necessary
1773         *
1774         * @param rep The repetition index (0-indexed)
1775         */
1776        public XCN getObr28_ResultCopiesTo(int rep) { 
1777            XCN ret = null;
1778            try {
1779                Type t = this.getField(28, rep);
1780                ret = (XCN)t;
1781            } catch (ClassCastException cce) {
1782                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1783                throw new RuntimeException(cce);
1784            } catch (HL7Exception he) {
1785                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1786                throw new RuntimeException(he);
1787            }
1788            return ret;
1789        }
1790    
1791    
1792        /**
1793         * Returns a count of the current number of repetitions of Result Copies To (OBR-28).
1794         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1795         * it will return zero.
1796         */
1797        public int getObr28_ResultCopiesToReps() {
1798            XCN[] ret = null;
1799            try {
1800                Type[] t = this.getField(28);
1801                return t.length;  
1802            } catch (ClassCastException cce) {
1803                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1804                throw new RuntimeException(cce);
1805            } catch (HL7Exception he) {
1806                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1807                throw new RuntimeException(he);
1808            }
1809        }
1810    
1811    
1812    
1813        /**
1814         * Inserts a repetition of
1815         * OBR-28: "Result Copies To" at a specific index
1816         *
1817         * @param rep The repetition index (0-indexed)
1818         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1819         */
1820        public XCN insertResultCopiesTo(int rep) throws HL7Exception { 
1821            return (XCN) super.insertRepetition(28, rep);
1822        }
1823    
1824    
1825    
1826        /**
1827         * Inserts a repetition of
1828         * OBR-28: "Result Copies To" at a specific index
1829         *
1830         * @param rep The repetition index (0-indexed)
1831         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1832         */
1833        public XCN insertObr28_ResultCopiesTo(int rep) throws HL7Exception { 
1834            return (XCN) super.insertRepetition(28, rep);
1835        }
1836    
1837    
1838        /**
1839         * Removes a repetition of
1840         * OBR-28: "Result Copies To" at a specific index
1841         *
1842         * @param rep The repetition index (0-indexed)
1843         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1844         */
1845        public XCN removeResultCopiesTo(int rep) throws HL7Exception { 
1846            return (XCN) super.removeRepetition(28, rep);
1847        }
1848    
1849    
1850        /**
1851         * Removes a repetition of
1852         * OBR-28: "Result Copies To" at a specific index
1853         *
1854         * @param rep The repetition index (0-indexed)
1855         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1856         */
1857        public XCN removeObr28_ResultCopiesTo(int rep) throws HL7Exception { 
1858            return (XCN) super.removeRepetition(28, rep);
1859        }
1860    
1861    
1862    
1863    
1864        /**
1865         * Returns
1866         * OBR-29: "Parent Number" - creates it if necessary
1867         */
1868        public EIP getParentNumber() { 
1869            EIP ret = null;
1870            try {
1871                Type t = this.getField(29, 0);
1872                ret = (EIP)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
1886         * OBR-29: "Parent Number" - creates it if necessary
1887         */
1888        public EIP getObr29_ParentNumber() { 
1889            EIP ret = null;
1890            try {
1891                Type t = this.getField(29, 0);
1892                ret = (EIP)t;
1893            } catch (ClassCastException cce) {
1894                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1895                throw new RuntimeException(cce);
1896            } catch (HL7Exception he) {
1897                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1898                throw new RuntimeException(he);
1899            }
1900            return ret;
1901        }
1902    
1903    
1904    
1905        /**
1906         * Returns
1907         * OBR-30: "Transportation Mode" - creates it if necessary
1908         */
1909        public ID getTransportationMode() { 
1910            ID ret = null;
1911            try {
1912                Type t = this.getField(30, 0);
1913                ret = (ID)t;
1914            } catch (ClassCastException cce) {
1915                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1916                throw new RuntimeException(cce);
1917            } catch (HL7Exception he) {
1918                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1919                throw new RuntimeException(he);
1920            }
1921            return ret;
1922        }
1923    
1924    
1925        /**
1926         * Returns
1927         * OBR-30: "Transportation Mode" - creates it if necessary
1928         */
1929        public ID getObr30_TransportationMode() { 
1930            ID ret = null;
1931            try {
1932                Type t = this.getField(30, 0);
1933                ret = (ID)t;
1934            } catch (ClassCastException cce) {
1935                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1936                throw new RuntimeException(cce);
1937            } catch (HL7Exception he) {
1938                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1939                throw new RuntimeException(he);
1940            }
1941            return ret;
1942        }
1943    
1944    
1945        /**
1946         * Returns all repetitions of Reason for Study (OBR-31).
1947         */
1948        public CE[] getReasonForStudy() {
1949            CE[] ret = null;
1950            try {
1951                Type[] t = this.getField(31);  
1952                ret = new CE[t.length];
1953                for (int i = 0; i < ret.length; i++) {
1954                    ret[i] = (CE)t[i];
1955                }
1956            } catch (ClassCastException cce) {
1957                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1958                throw new RuntimeException(cce);
1959            } catch (HL7Exception he) {
1960                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1961                throw new RuntimeException(he);
1962            }
1963            return ret;
1964        }
1965    
1966    
1967        /**
1968         * Returns a count of the current number of repetitions of Reason for Study (OBR-31).
1969         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1970         * it will return zero.
1971         */
1972        public int getReasonForStudyReps() {
1973            CE[] ret = null;
1974            try {
1975                Type[] t = this.getField(31);
1976                return t.length;  
1977            } catch (ClassCastException cce) {
1978                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
1979                throw new RuntimeException(cce);
1980            } catch (HL7Exception he) {
1981                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
1982                throw new RuntimeException(he);
1983            }
1984        }
1985    
1986    
1987        /**
1988         * Returns a specific repetition of
1989         * OBR-31: "Reason for Study" - creates it if necessary
1990         *
1991         * @param rep The repetition index (0-indexed)
1992         */
1993        public CE getReasonForStudy(int rep) { 
1994            CE ret = null;
1995            try {
1996                Type t = this.getField(31, rep);
1997                ret = (CE)t;
1998            } catch (ClassCastException cce) {
1999                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2000                throw new RuntimeException(cce);
2001            } catch (HL7Exception he) {
2002                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2003                throw new RuntimeException(he);
2004            }
2005            return ret;
2006        }
2007    
2008        /**
2009         * Returns a specific repetition of
2010         * OBR-31: "Reason for Study" - creates it if necessary
2011         *
2012         * @param rep The repetition index (0-indexed)
2013         */
2014        public CE getObr31_ReasonForStudy(int rep) { 
2015            CE ret = null;
2016            try {
2017                Type t = this.getField(31, rep);
2018                ret = (CE)t;
2019            } catch (ClassCastException cce) {
2020                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2021                throw new RuntimeException(cce);
2022            } catch (HL7Exception he) {
2023                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2024                throw new RuntimeException(he);
2025            }
2026            return ret;
2027        }
2028    
2029    
2030        /**
2031         * Returns a count of the current number of repetitions of Reason for Study (OBR-31).
2032         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2033         * it will return zero.
2034         */
2035        public int getObr31_ReasonForStudyReps() {
2036            CE[] ret = null;
2037            try {
2038                Type[] t = this.getField(31);
2039                return t.length;  
2040            } catch (ClassCastException cce) {
2041                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2042                throw new RuntimeException(cce);
2043            } catch (HL7Exception he) {
2044                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2045                throw new RuntimeException(he);
2046            }
2047        }
2048    
2049    
2050    
2051        /**
2052         * Inserts a repetition of
2053         * OBR-31: "Reason for Study" at a specific index
2054         *
2055         * @param rep The repetition index (0-indexed)
2056         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2057         */
2058        public CE insertReasonForStudy(int rep) throws HL7Exception { 
2059            return (CE) super.insertRepetition(31, rep);
2060        }
2061    
2062    
2063    
2064        /**
2065         * Inserts a repetition of
2066         * OBR-31: "Reason for Study" at a specific index
2067         *
2068         * @param rep The repetition index (0-indexed)
2069         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2070         */
2071        public CE insertObr31_ReasonForStudy(int rep) throws HL7Exception { 
2072            return (CE) super.insertRepetition(31, rep);
2073        }
2074    
2075    
2076        /**
2077         * Removes a repetition of
2078         * OBR-31: "Reason for Study" at a specific index
2079         *
2080         * @param rep The repetition index (0-indexed)
2081         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2082         */
2083        public CE removeReasonForStudy(int rep) throws HL7Exception { 
2084            return (CE) super.removeRepetition(31, rep);
2085        }
2086    
2087    
2088        /**
2089         * Removes a repetition of
2090         * OBR-31: "Reason for Study" at a specific index
2091         *
2092         * @param rep The repetition index (0-indexed)
2093         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2094         */
2095        public CE removeObr31_ReasonForStudy(int rep) throws HL7Exception { 
2096            return (CE) super.removeRepetition(31, rep);
2097        }
2098    
2099    
2100    
2101    
2102        /**
2103         * Returns
2104         * OBR-32: "Principal Result Interpreter +" - creates it if necessary
2105         */
2106        public NDL getPrincipalResultInterpreter() { 
2107            NDL ret = null;
2108            try {
2109                Type t = this.getField(32, 0);
2110                ret = (NDL)t;
2111            } catch (ClassCastException cce) {
2112                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2113                throw new RuntimeException(cce);
2114            } catch (HL7Exception he) {
2115                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2116                throw new RuntimeException(he);
2117            }
2118            return ret;
2119        }
2120    
2121    
2122        /**
2123         * Returns
2124         * OBR-32: "Principal Result Interpreter +" - creates it if necessary
2125         */
2126        public NDL getObr32_PrincipalResultInterpreter() { 
2127            NDL ret = null;
2128            try {
2129                Type t = this.getField(32, 0);
2130                ret = (NDL)t;
2131            } catch (ClassCastException cce) {
2132                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2133                throw new RuntimeException(cce);
2134            } catch (HL7Exception he) {
2135                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2136                throw new RuntimeException(he);
2137            }
2138            return ret;
2139        }
2140    
2141    
2142        /**
2143         * Returns all repetitions of Assistant Result Interpreter + (OBR-33).
2144         */
2145        public NDL[] getAssistantResultInterpreter() {
2146            NDL[] ret = null;
2147            try {
2148                Type[] t = this.getField(33);  
2149                ret = new NDL[t.length];
2150                for (int i = 0; i < ret.length; i++) {
2151                    ret[i] = (NDL)t[i];
2152                }
2153            } catch (ClassCastException cce) {
2154                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2155                throw new RuntimeException(cce);
2156            } catch (HL7Exception he) {
2157                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2158                throw new RuntimeException(he);
2159            }
2160            return ret;
2161        }
2162    
2163    
2164        /**
2165         * Returns a count of the current number of repetitions of Assistant Result Interpreter + (OBR-33).
2166         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2167         * it will return zero.
2168         */
2169        public int getAssistantResultInterpreterReps() {
2170            NDL[] ret = null;
2171            try {
2172                Type[] t = this.getField(33);
2173                return t.length;  
2174            } catch (ClassCastException cce) {
2175                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2176                throw new RuntimeException(cce);
2177            } catch (HL7Exception he) {
2178                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2179                throw new RuntimeException(he);
2180            }
2181        }
2182    
2183    
2184        /**
2185         * Returns a specific repetition of
2186         * OBR-33: "Assistant Result Interpreter +" - creates it if necessary
2187         *
2188         * @param rep The repetition index (0-indexed)
2189         */
2190        public NDL getAssistantResultInterpreter(int rep) { 
2191            NDL ret = null;
2192            try {
2193                Type t = this.getField(33, rep);
2194                ret = (NDL)t;
2195            } catch (ClassCastException cce) {
2196                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2197                throw new RuntimeException(cce);
2198            } catch (HL7Exception he) {
2199                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2200                throw new RuntimeException(he);
2201            }
2202            return ret;
2203        }
2204    
2205        /**
2206         * Returns a specific repetition of
2207         * OBR-33: "Assistant Result Interpreter +" - creates it if necessary
2208         *
2209         * @param rep The repetition index (0-indexed)
2210         */
2211        public NDL getObr33_AssistantResultInterpreter(int rep) { 
2212            NDL ret = null;
2213            try {
2214                Type t = this.getField(33, rep);
2215                ret = (NDL)t;
2216            } catch (ClassCastException cce) {
2217                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2218                throw new RuntimeException(cce);
2219            } catch (HL7Exception he) {
2220                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2221                throw new RuntimeException(he);
2222            }
2223            return ret;
2224        }
2225    
2226    
2227        /**
2228         * Returns a count of the current number of repetitions of Assistant Result Interpreter + (OBR-33).
2229         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2230         * it will return zero.
2231         */
2232        public int getObr33_AssistantResultInterpreterReps() {
2233            NDL[] ret = null;
2234            try {
2235                Type[] t = this.getField(33);
2236                return t.length;  
2237            } catch (ClassCastException cce) {
2238                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2239                throw new RuntimeException(cce);
2240            } catch (HL7Exception he) {
2241                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2242                throw new RuntimeException(he);
2243            }
2244        }
2245    
2246    
2247    
2248        /**
2249         * Inserts a repetition of
2250         * OBR-33: "Assistant Result Interpreter +" at a specific index
2251         *
2252         * @param rep The repetition index (0-indexed)
2253         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2254         */
2255        public NDL insertAssistantResultInterpreter(int rep) throws HL7Exception { 
2256            return (NDL) super.insertRepetition(33, rep);
2257        }
2258    
2259    
2260    
2261        /**
2262         * Inserts a repetition of
2263         * OBR-33: "Assistant Result Interpreter +" at a specific index
2264         *
2265         * @param rep The repetition index (0-indexed)
2266         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2267         */
2268        public NDL insertObr33_AssistantResultInterpreter(int rep) throws HL7Exception { 
2269            return (NDL) super.insertRepetition(33, rep);
2270        }
2271    
2272    
2273        /**
2274         * Removes a repetition of
2275         * OBR-33: "Assistant Result Interpreter +" at a specific index
2276         *
2277         * @param rep The repetition index (0-indexed)
2278         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2279         */
2280        public NDL removeAssistantResultInterpreter(int rep) throws HL7Exception { 
2281            return (NDL) super.removeRepetition(33, rep);
2282        }
2283    
2284    
2285        /**
2286         * Removes a repetition of
2287         * OBR-33: "Assistant Result Interpreter +" at a specific index
2288         *
2289         * @param rep The repetition index (0-indexed)
2290         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2291         */
2292        public NDL removeObr33_AssistantResultInterpreter(int rep) throws HL7Exception { 
2293            return (NDL) super.removeRepetition(33, rep);
2294        }
2295    
2296    
2297    
2298        /**
2299         * Returns all repetitions of Technician + (OBR-34).
2300         */
2301        public NDL[] getTechnician() {
2302            NDL[] ret = null;
2303            try {
2304                Type[] t = this.getField(34);  
2305                ret = new NDL[t.length];
2306                for (int i = 0; i < ret.length; i++) {
2307                    ret[i] = (NDL)t[i];
2308                }
2309            } catch (ClassCastException cce) {
2310                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2311                throw new RuntimeException(cce);
2312            } catch (HL7Exception he) {
2313                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2314                throw new RuntimeException(he);
2315            }
2316            return ret;
2317        }
2318    
2319    
2320        /**
2321         * Returns a count of the current number of repetitions of Technician + (OBR-34).
2322         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2323         * it will return zero.
2324         */
2325        public int getTechnicianReps() {
2326            NDL[] ret = null;
2327            try {
2328                Type[] t = this.getField(34);
2329                return t.length;  
2330            } catch (ClassCastException cce) {
2331                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2332                throw new RuntimeException(cce);
2333            } catch (HL7Exception he) {
2334                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2335                throw new RuntimeException(he);
2336            }
2337        }
2338    
2339    
2340        /**
2341         * Returns a specific repetition of
2342         * OBR-34: "Technician +" - creates it if necessary
2343         *
2344         * @param rep The repetition index (0-indexed)
2345         */
2346        public NDL getTechnician(int rep) { 
2347            NDL ret = null;
2348            try {
2349                Type t = this.getField(34, rep);
2350                ret = (NDL)t;
2351            } catch (ClassCastException cce) {
2352                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2353                throw new RuntimeException(cce);
2354            } catch (HL7Exception he) {
2355                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2356                throw new RuntimeException(he);
2357            }
2358            return ret;
2359        }
2360    
2361        /**
2362         * Returns a specific repetition of
2363         * OBR-34: "Technician +" - creates it if necessary
2364         *
2365         * @param rep The repetition index (0-indexed)
2366         */
2367        public NDL getObr34_Technician(int rep) { 
2368            NDL ret = null;
2369            try {
2370                Type t = this.getField(34, rep);
2371                ret = (NDL)t;
2372            } catch (ClassCastException cce) {
2373                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2374                throw new RuntimeException(cce);
2375            } catch (HL7Exception he) {
2376                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2377                throw new RuntimeException(he);
2378            }
2379            return ret;
2380        }
2381    
2382    
2383        /**
2384         * Returns a count of the current number of repetitions of Technician + (OBR-34).
2385         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2386         * it will return zero.
2387         */
2388        public int getObr34_TechnicianReps() {
2389            NDL[] ret = null;
2390            try {
2391                Type[] t = this.getField(34);
2392                return t.length;  
2393            } catch (ClassCastException cce) {
2394                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2395                throw new RuntimeException(cce);
2396            } catch (HL7Exception he) {
2397                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2398                throw new RuntimeException(he);
2399            }
2400        }
2401    
2402    
2403    
2404        /**
2405         * Inserts a repetition of
2406         * OBR-34: "Technician +" at a specific index
2407         *
2408         * @param rep The repetition index (0-indexed)
2409         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2410         */
2411        public NDL insertTechnician(int rep) throws HL7Exception { 
2412            return (NDL) super.insertRepetition(34, rep);
2413        }
2414    
2415    
2416    
2417        /**
2418         * Inserts a repetition of
2419         * OBR-34: "Technician +" at a specific index
2420         *
2421         * @param rep The repetition index (0-indexed)
2422         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2423         */
2424        public NDL insertObr34_Technician(int rep) throws HL7Exception { 
2425            return (NDL) super.insertRepetition(34, rep);
2426        }
2427    
2428    
2429        /**
2430         * Removes a repetition of
2431         * OBR-34: "Technician +" at a specific index
2432         *
2433         * @param rep The repetition index (0-indexed)
2434         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2435         */
2436        public NDL removeTechnician(int rep) throws HL7Exception { 
2437            return (NDL) super.removeRepetition(34, rep);
2438        }
2439    
2440    
2441        /**
2442         * Removes a repetition of
2443         * OBR-34: "Technician +" at a specific index
2444         *
2445         * @param rep The repetition index (0-indexed)
2446         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2447         */
2448        public NDL removeObr34_Technician(int rep) throws HL7Exception { 
2449            return (NDL) super.removeRepetition(34, rep);
2450        }
2451    
2452    
2453    
2454        /**
2455         * Returns all repetitions of Transcriptionist + (OBR-35).
2456         */
2457        public NDL[] getTranscriptionist() {
2458            NDL[] ret = null;
2459            try {
2460                Type[] t = this.getField(35);  
2461                ret = new NDL[t.length];
2462                for (int i = 0; i < ret.length; i++) {
2463                    ret[i] = (NDL)t[i];
2464                }
2465            } catch (ClassCastException cce) {
2466                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2467                throw new RuntimeException(cce);
2468            } catch (HL7Exception he) {
2469                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2470                throw new RuntimeException(he);
2471            }
2472            return ret;
2473        }
2474    
2475    
2476        /**
2477         * Returns a count of the current number of repetitions of Transcriptionist + (OBR-35).
2478         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2479         * it will return zero.
2480         */
2481        public int getTranscriptionistReps() {
2482            NDL[] ret = null;
2483            try {
2484                Type[] t = this.getField(35);
2485                return t.length;  
2486            } catch (ClassCastException cce) {
2487                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2488                throw new RuntimeException(cce);
2489            } catch (HL7Exception he) {
2490                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2491                throw new RuntimeException(he);
2492            }
2493        }
2494    
2495    
2496        /**
2497         * Returns a specific repetition of
2498         * OBR-35: "Transcriptionist +" - creates it if necessary
2499         *
2500         * @param rep The repetition index (0-indexed)
2501         */
2502        public NDL getTranscriptionist(int rep) { 
2503            NDL ret = null;
2504            try {
2505                Type t = this.getField(35, rep);
2506                ret = (NDL)t;
2507            } catch (ClassCastException cce) {
2508                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2509                throw new RuntimeException(cce);
2510            } catch (HL7Exception he) {
2511                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2512                throw new RuntimeException(he);
2513            }
2514            return ret;
2515        }
2516    
2517        /**
2518         * Returns a specific repetition of
2519         * OBR-35: "Transcriptionist +" - creates it if necessary
2520         *
2521         * @param rep The repetition index (0-indexed)
2522         */
2523        public NDL getObr35_Transcriptionist(int rep) { 
2524            NDL ret = null;
2525            try {
2526                Type t = this.getField(35, rep);
2527                ret = (NDL)t;
2528            } catch (ClassCastException cce) {
2529                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2530                throw new RuntimeException(cce);
2531            } catch (HL7Exception he) {
2532                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2533                throw new RuntimeException(he);
2534            }
2535            return ret;
2536        }
2537    
2538    
2539        /**
2540         * Returns a count of the current number of repetitions of Transcriptionist + (OBR-35).
2541         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2542         * it will return zero.
2543         */
2544        public int getObr35_TranscriptionistReps() {
2545            NDL[] ret = null;
2546            try {
2547                Type[] t = this.getField(35);
2548                return t.length;  
2549            } catch (ClassCastException cce) {
2550                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2551                throw new RuntimeException(cce);
2552            } catch (HL7Exception he) {
2553                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2554                throw new RuntimeException(he);
2555            }
2556        }
2557    
2558    
2559    
2560        /**
2561         * Inserts a repetition of
2562         * OBR-35: "Transcriptionist +" at a specific index
2563         *
2564         * @param rep The repetition index (0-indexed)
2565         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2566         */
2567        public NDL insertTranscriptionist(int rep) throws HL7Exception { 
2568            return (NDL) super.insertRepetition(35, rep);
2569        }
2570    
2571    
2572    
2573        /**
2574         * Inserts a repetition of
2575         * OBR-35: "Transcriptionist +" at a specific index
2576         *
2577         * @param rep The repetition index (0-indexed)
2578         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2579         */
2580        public NDL insertObr35_Transcriptionist(int rep) throws HL7Exception { 
2581            return (NDL) super.insertRepetition(35, rep);
2582        }
2583    
2584    
2585        /**
2586         * Removes a repetition of
2587         * OBR-35: "Transcriptionist +" at a specific index
2588         *
2589         * @param rep The repetition index (0-indexed)
2590         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2591         */
2592        public NDL removeTranscriptionist(int rep) throws HL7Exception { 
2593            return (NDL) super.removeRepetition(35, rep);
2594        }
2595    
2596    
2597        /**
2598         * Removes a repetition of
2599         * OBR-35: "Transcriptionist +" at a specific index
2600         *
2601         * @param rep The repetition index (0-indexed)
2602         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2603         */
2604        public NDL removeObr35_Transcriptionist(int rep) throws HL7Exception { 
2605            return (NDL) super.removeRepetition(35, rep);
2606        }
2607    
2608    
2609    
2610    
2611        /**
2612         * Returns
2613         * OBR-36: "Scheduled Date/Time +" - creates it if necessary
2614         */
2615        public TS getScheduledDateTime() { 
2616            TS ret = null;
2617            try {
2618                Type t = this.getField(36, 0);
2619                ret = (TS)t;
2620            } catch (ClassCastException cce) {
2621                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2622                throw new RuntimeException(cce);
2623            } catch (HL7Exception he) {
2624                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2625                throw new RuntimeException(he);
2626            }
2627            return ret;
2628        }
2629    
2630    
2631        /**
2632         * Returns
2633         * OBR-36: "Scheduled Date/Time +" - creates it if necessary
2634         */
2635        public TS getObr36_ScheduledDateTime() { 
2636            TS ret = null;
2637            try {
2638                Type t = this.getField(36, 0);
2639                ret = (TS)t;
2640            } catch (ClassCastException cce) {
2641                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2642                throw new RuntimeException(cce);
2643            } catch (HL7Exception he) {
2644                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2645                throw new RuntimeException(he);
2646            }
2647            return ret;
2648        }
2649    
2650    
2651    
2652        /**
2653         * Returns
2654         * OBR-37: "Number of Sample Containers *" - creates it if necessary
2655         */
2656        public NM getNumberOfSampleContainers() { 
2657            NM ret = null;
2658            try {
2659                Type t = this.getField(37, 0);
2660                ret = (NM)t;
2661            } catch (ClassCastException cce) {
2662                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2663                throw new RuntimeException(cce);
2664            } catch (HL7Exception he) {
2665                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2666                throw new RuntimeException(he);
2667            }
2668            return ret;
2669        }
2670    
2671    
2672        /**
2673         * Returns
2674         * OBR-37: "Number of Sample Containers *" - creates it if necessary
2675         */
2676        public NM getObr37_NumberOfSampleContainers() { 
2677            NM ret = null;
2678            try {
2679                Type t = this.getField(37, 0);
2680                ret = (NM)t;
2681            } catch (ClassCastException cce) {
2682                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2683                throw new RuntimeException(cce);
2684            } catch (HL7Exception he) {
2685                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2686                throw new RuntimeException(he);
2687            }
2688            return ret;
2689        }
2690    
2691    
2692        /**
2693         * Returns all repetitions of Transport Logistics of Collected Sample * (OBR-38).
2694         */
2695        public CE[] getTransportLogisticsOfCollectedSample() {
2696            CE[] ret = null;
2697            try {
2698                Type[] t = this.getField(38);  
2699                ret = new CE[t.length];
2700                for (int i = 0; i < ret.length; i++) {
2701                    ret[i] = (CE)t[i];
2702                }
2703            } catch (ClassCastException cce) {
2704                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2705                throw new RuntimeException(cce);
2706            } catch (HL7Exception he) {
2707                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2708                throw new RuntimeException(he);
2709            }
2710            return ret;
2711        }
2712    
2713    
2714        /**
2715         * Returns a count of the current number of repetitions of Transport Logistics of Collected Sample * (OBR-38).
2716         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2717         * it will return zero.
2718         */
2719        public int getTransportLogisticsOfCollectedSampleReps() {
2720            CE[] ret = null;
2721            try {
2722                Type[] t = this.getField(38);
2723                return t.length;  
2724            } catch (ClassCastException cce) {
2725                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2726                throw new RuntimeException(cce);
2727            } catch (HL7Exception he) {
2728                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2729                throw new RuntimeException(he);
2730            }
2731        }
2732    
2733    
2734        /**
2735         * Returns a specific repetition of
2736         * OBR-38: "Transport Logistics of Collected Sample *" - creates it if necessary
2737         *
2738         * @param rep The repetition index (0-indexed)
2739         */
2740        public CE getTransportLogisticsOfCollectedSample(int rep) { 
2741            CE ret = null;
2742            try {
2743                Type t = this.getField(38, rep);
2744                ret = (CE)t;
2745            } catch (ClassCastException cce) {
2746                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2747                throw new RuntimeException(cce);
2748            } catch (HL7Exception he) {
2749                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2750                throw new RuntimeException(he);
2751            }
2752            return ret;
2753        }
2754    
2755        /**
2756         * Returns a specific repetition of
2757         * OBR-38: "Transport Logistics of Collected Sample *" - creates it if necessary
2758         *
2759         * @param rep The repetition index (0-indexed)
2760         */
2761        public CE getObr38_TransportLogisticsOfCollectedSample(int rep) { 
2762            CE ret = null;
2763            try {
2764                Type t = this.getField(38, rep);
2765                ret = (CE)t;
2766            } catch (ClassCastException cce) {
2767                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2768                throw new RuntimeException(cce);
2769            } catch (HL7Exception he) {
2770                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2771                throw new RuntimeException(he);
2772            }
2773            return ret;
2774        }
2775    
2776    
2777        /**
2778         * Returns a count of the current number of repetitions of Transport Logistics of Collected Sample * (OBR-38).
2779         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2780         * it will return zero.
2781         */
2782        public int getObr38_TransportLogisticsOfCollectedSampleReps() {
2783            CE[] ret = null;
2784            try {
2785                Type[] t = this.getField(38);
2786                return t.length;  
2787            } catch (ClassCastException cce) {
2788                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2789                throw new RuntimeException(cce);
2790            } catch (HL7Exception he) {
2791                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2792                throw new RuntimeException(he);
2793            }
2794        }
2795    
2796    
2797    
2798        /**
2799         * Inserts a repetition of
2800         * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
2801         *
2802         * @param rep The repetition index (0-indexed)
2803         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2804         */
2805        public CE insertTransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
2806            return (CE) super.insertRepetition(38, rep);
2807        }
2808    
2809    
2810    
2811        /**
2812         * Inserts a repetition of
2813         * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
2814         *
2815         * @param rep The repetition index (0-indexed)
2816         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2817         */
2818        public CE insertObr38_TransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
2819            return (CE) super.insertRepetition(38, rep);
2820        }
2821    
2822    
2823        /**
2824         * Removes a repetition of
2825         * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
2826         *
2827         * @param rep The repetition index (0-indexed)
2828         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2829         */
2830        public CE removeTransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
2831            return (CE) super.removeRepetition(38, rep);
2832        }
2833    
2834    
2835        /**
2836         * Removes a repetition of
2837         * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
2838         *
2839         * @param rep The repetition index (0-indexed)
2840         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2841         */
2842        public CE removeObr38_TransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
2843            return (CE) super.removeRepetition(38, rep);
2844        }
2845    
2846    
2847    
2848        /**
2849         * Returns all repetitions of Collector's Comment * (OBR-39).
2850         */
2851        public CE[] getCollectorSComment() {
2852            CE[] ret = null;
2853            try {
2854                Type[] t = this.getField(39);  
2855                ret = new CE[t.length];
2856                for (int i = 0; i < ret.length; i++) {
2857                    ret[i] = (CE)t[i];
2858                }
2859            } catch (ClassCastException cce) {
2860                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2861                throw new RuntimeException(cce);
2862            } catch (HL7Exception he) {
2863                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2864                throw new RuntimeException(he);
2865            }
2866            return ret;
2867        }
2868    
2869    
2870        /**
2871         * Returns a count of the current number of repetitions of Collector's Comment * (OBR-39).
2872         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2873         * it will return zero.
2874         */
2875        public int getCollectorSCommentReps() {
2876            CE[] ret = null;
2877            try {
2878                Type[] t = this.getField(39);
2879                return t.length;  
2880            } catch (ClassCastException cce) {
2881                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2882                throw new RuntimeException(cce);
2883            } catch (HL7Exception he) {
2884                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2885                throw new RuntimeException(he);
2886            }
2887        }
2888    
2889    
2890        /**
2891         * Returns a specific repetition of
2892         * OBR-39: "Collector's Comment *" - creates it if necessary
2893         *
2894         * @param rep The repetition index (0-indexed)
2895         */
2896        public CE getCollectorSComment(int rep) { 
2897            CE ret = null;
2898            try {
2899                Type t = this.getField(39, rep);
2900                ret = (CE)t;
2901            } catch (ClassCastException cce) {
2902                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2903                throw new RuntimeException(cce);
2904            } catch (HL7Exception he) {
2905                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2906                throw new RuntimeException(he);
2907            }
2908            return ret;
2909        }
2910    
2911        /**
2912         * Returns a specific repetition of
2913         * OBR-39: "Collector's Comment *" - creates it if necessary
2914         *
2915         * @param rep The repetition index (0-indexed)
2916         */
2917        public CE getObr39_CollectorSComment(int rep) { 
2918            CE ret = null;
2919            try {
2920                Type t = this.getField(39, rep);
2921                ret = (CE)t;
2922            } catch (ClassCastException cce) {
2923                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2924                throw new RuntimeException(cce);
2925            } catch (HL7Exception he) {
2926                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2927                throw new RuntimeException(he);
2928            }
2929            return ret;
2930        }
2931    
2932    
2933        /**
2934         * Returns a count of the current number of repetitions of Collector's Comment * (OBR-39).
2935         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2936         * it will return zero.
2937         */
2938        public int getObr39_CollectorSCommentReps() {
2939            CE[] ret = null;
2940            try {
2941                Type[] t = this.getField(39);
2942                return t.length;  
2943            } catch (ClassCastException cce) {
2944                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
2945                throw new RuntimeException(cce);
2946            } catch (HL7Exception he) {
2947                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
2948                throw new RuntimeException(he);
2949            }
2950        }
2951    
2952    
2953    
2954        /**
2955         * Inserts a repetition of
2956         * OBR-39: "Collector's Comment *" at a specific index
2957         *
2958         * @param rep The repetition index (0-indexed)
2959         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2960         */
2961        public CE insertCollectorSComment(int rep) throws HL7Exception { 
2962            return (CE) super.insertRepetition(39, rep);
2963        }
2964    
2965    
2966    
2967        /**
2968         * Inserts a repetition of
2969         * OBR-39: "Collector's Comment *" at a specific index
2970         *
2971         * @param rep The repetition index (0-indexed)
2972         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2973         */
2974        public CE insertObr39_CollectorSComment(int rep) throws HL7Exception { 
2975            return (CE) super.insertRepetition(39, rep);
2976        }
2977    
2978    
2979        /**
2980         * Removes a repetition of
2981         * OBR-39: "Collector's Comment *" at a specific index
2982         *
2983         * @param rep The repetition index (0-indexed)
2984         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2985         */
2986        public CE removeCollectorSComment(int rep) throws HL7Exception { 
2987            return (CE) super.removeRepetition(39, rep);
2988        }
2989    
2990    
2991        /**
2992         * Removes a repetition of
2993         * OBR-39: "Collector's Comment *" at a specific index
2994         *
2995         * @param rep The repetition index (0-indexed)
2996         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2997         */
2998        public CE removeObr39_CollectorSComment(int rep) throws HL7Exception { 
2999            return (CE) super.removeRepetition(39, rep);
3000        }
3001    
3002    
3003    
3004    
3005        /**
3006         * Returns
3007         * OBR-40: "Transport Arrangement Responsibility" - creates it if necessary
3008         */
3009        public CE getTransportArrangementResponsibility() { 
3010            CE ret = null;
3011            try {
3012                Type t = this.getField(40, 0);
3013                ret = (CE)t;
3014            } catch (ClassCastException cce) {
3015                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3016                throw new RuntimeException(cce);
3017            } catch (HL7Exception he) {
3018                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3019                throw new RuntimeException(he);
3020            }
3021            return ret;
3022        }
3023    
3024    
3025        /**
3026         * Returns
3027         * OBR-40: "Transport Arrangement Responsibility" - creates it if necessary
3028         */
3029        public CE getObr40_TransportArrangementResponsibility() { 
3030            CE ret = null;
3031            try {
3032                Type t = this.getField(40, 0);
3033                ret = (CE)t;
3034            } catch (ClassCastException cce) {
3035                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3036                throw new RuntimeException(cce);
3037            } catch (HL7Exception he) {
3038                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3039                throw new RuntimeException(he);
3040            }
3041            return ret;
3042        }
3043    
3044    
3045    
3046        /**
3047         * Returns
3048         * OBR-41: "Transport Arranged" - creates it if necessary
3049         */
3050        public ID getTransportArranged() { 
3051            ID ret = null;
3052            try {
3053                Type t = this.getField(41, 0);
3054                ret = (ID)t;
3055            } catch (ClassCastException cce) {
3056                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3057                throw new RuntimeException(cce);
3058            } catch (HL7Exception he) {
3059                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3060                throw new RuntimeException(he);
3061            }
3062            return ret;
3063        }
3064    
3065    
3066        /**
3067         * Returns
3068         * OBR-41: "Transport Arranged" - creates it if necessary
3069         */
3070        public ID getObr41_TransportArranged() { 
3071            ID ret = null;
3072            try {
3073                Type t = this.getField(41, 0);
3074                ret = (ID)t;
3075            } catch (ClassCastException cce) {
3076                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3077                throw new RuntimeException(cce);
3078            } catch (HL7Exception he) {
3079                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3080                throw new RuntimeException(he);
3081            }
3082            return ret;
3083        }
3084    
3085    
3086    
3087        /**
3088         * Returns
3089         * OBR-42: "Escort Required" - creates it if necessary
3090         */
3091        public ID getEscortRequired() { 
3092            ID ret = null;
3093            try {
3094                Type t = this.getField(42, 0);
3095                ret = (ID)t;
3096            } catch (ClassCastException cce) {
3097                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3098                throw new RuntimeException(cce);
3099            } catch (HL7Exception he) {
3100                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3101                throw new RuntimeException(he);
3102            }
3103            return ret;
3104        }
3105    
3106    
3107        /**
3108         * Returns
3109         * OBR-42: "Escort Required" - creates it if necessary
3110         */
3111        public ID getObr42_EscortRequired() { 
3112            ID ret = null;
3113            try {
3114                Type t = this.getField(42, 0);
3115                ret = (ID)t;
3116            } catch (ClassCastException cce) {
3117                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3118                throw new RuntimeException(cce);
3119            } catch (HL7Exception he) {
3120                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3121                throw new RuntimeException(he);
3122            }
3123            return ret;
3124        }
3125    
3126    
3127        /**
3128         * Returns all repetitions of Planned Patient Transport Comment (OBR-43).
3129         */
3130        public CE[] getPlannedPatientTransportComment() {
3131            CE[] ret = null;
3132            try {
3133                Type[] t = this.getField(43);  
3134                ret = new CE[t.length];
3135                for (int i = 0; i < ret.length; i++) {
3136                    ret[i] = (CE)t[i];
3137                }
3138            } catch (ClassCastException cce) {
3139                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3140                throw new RuntimeException(cce);
3141            } catch (HL7Exception he) {
3142                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3143                throw new RuntimeException(he);
3144            }
3145            return ret;
3146        }
3147    
3148    
3149        /**
3150         * Returns a count of the current number of repetitions of Planned Patient Transport Comment (OBR-43).
3151         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3152         * it will return zero.
3153         */
3154        public int getPlannedPatientTransportCommentReps() {
3155            CE[] ret = null;
3156            try {
3157                Type[] t = this.getField(43);
3158                return t.length;  
3159            } catch (ClassCastException cce) {
3160                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3161                throw new RuntimeException(cce);
3162            } catch (HL7Exception he) {
3163                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3164                throw new RuntimeException(he);
3165            }
3166        }
3167    
3168    
3169        /**
3170         * Returns a specific repetition of
3171         * OBR-43: "Planned Patient Transport Comment" - creates it if necessary
3172         *
3173         * @param rep The repetition index (0-indexed)
3174         */
3175        public CE getPlannedPatientTransportComment(int rep) { 
3176            CE ret = null;
3177            try {
3178                Type t = this.getField(43, rep);
3179                ret = (CE)t;
3180            } catch (ClassCastException cce) {
3181                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3182                throw new RuntimeException(cce);
3183            } catch (HL7Exception he) {
3184                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3185                throw new RuntimeException(he);
3186            }
3187            return ret;
3188        }
3189    
3190        /**
3191         * Returns a specific repetition of
3192         * OBR-43: "Planned Patient Transport Comment" - creates it if necessary
3193         *
3194         * @param rep The repetition index (0-indexed)
3195         */
3196        public CE getObr43_PlannedPatientTransportComment(int rep) { 
3197            CE ret = null;
3198            try {
3199                Type t = this.getField(43, rep);
3200                ret = (CE)t;
3201            } catch (ClassCastException cce) {
3202                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3203                throw new RuntimeException(cce);
3204            } catch (HL7Exception he) {
3205                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3206                throw new RuntimeException(he);
3207            }
3208            return ret;
3209        }
3210    
3211    
3212        /**
3213         * Returns a count of the current number of repetitions of Planned Patient Transport Comment (OBR-43).
3214         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3215         * it will return zero.
3216         */
3217        public int getObr43_PlannedPatientTransportCommentReps() {
3218            CE[] ret = null;
3219            try {
3220                Type[] t = this.getField(43);
3221                return t.length;  
3222            } catch (ClassCastException cce) {
3223                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3224                throw new RuntimeException(cce);
3225            } catch (HL7Exception he) {
3226                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3227                throw new RuntimeException(he);
3228            }
3229        }
3230    
3231    
3232    
3233        /**
3234         * Inserts a repetition of
3235         * OBR-43: "Planned Patient Transport Comment" at a specific index
3236         *
3237         * @param rep The repetition index (0-indexed)
3238         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3239         */
3240        public CE insertPlannedPatientTransportComment(int rep) throws HL7Exception { 
3241            return (CE) super.insertRepetition(43, rep);
3242        }
3243    
3244    
3245    
3246        /**
3247         * Inserts a repetition of
3248         * OBR-43: "Planned Patient Transport Comment" at a specific index
3249         *
3250         * @param rep The repetition index (0-indexed)
3251         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3252         */
3253        public CE insertObr43_PlannedPatientTransportComment(int rep) throws HL7Exception { 
3254            return (CE) super.insertRepetition(43, rep);
3255        }
3256    
3257    
3258        /**
3259         * Removes a repetition of
3260         * OBR-43: "Planned Patient Transport Comment" at a specific index
3261         *
3262         * @param rep The repetition index (0-indexed)
3263         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3264         */
3265        public CE removePlannedPatientTransportComment(int rep) throws HL7Exception { 
3266            return (CE) super.removeRepetition(43, rep);
3267        }
3268    
3269    
3270        /**
3271         * Removes a repetition of
3272         * OBR-43: "Planned Patient Transport Comment" at a specific index
3273         *
3274         * @param rep The repetition index (0-indexed)
3275         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3276         */
3277        public CE removeObr43_PlannedPatientTransportComment(int rep) throws HL7Exception { 
3278            return (CE) super.removeRepetition(43, rep);
3279        }
3280    
3281    
3282    
3283    
3284        /**
3285         * Returns
3286         * OBR-44: "Procedure Code" - creates it if necessary
3287         */
3288        public CE getProcedureCode() { 
3289            CE ret = null;
3290            try {
3291                Type t = this.getField(44, 0);
3292                ret = (CE)t;
3293            } catch (ClassCastException cce) {
3294                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3295                throw new RuntimeException(cce);
3296            } catch (HL7Exception he) {
3297                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3298                throw new RuntimeException(he);
3299            }
3300            return ret;
3301        }
3302    
3303    
3304        /**
3305         * Returns
3306         * OBR-44: "Procedure Code" - creates it if necessary
3307         */
3308        public CE getObr44_ProcedureCode() { 
3309            CE ret = null;
3310            try {
3311                Type t = this.getField(44, 0);
3312                ret = (CE)t;
3313            } catch (ClassCastException cce) {
3314                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3315                throw new RuntimeException(cce);
3316            } catch (HL7Exception he) {
3317                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3318                throw new RuntimeException(he);
3319            }
3320            return ret;
3321        }
3322    
3323    
3324        /**
3325         * Returns all repetitions of Procedure Code Modifier (OBR-45).
3326         */
3327        public CE[] getProcedureCodeModifier() {
3328            CE[] ret = null;
3329            try {
3330                Type[] t = this.getField(45);  
3331                ret = new CE[t.length];
3332                for (int i = 0; i < ret.length; i++) {
3333                    ret[i] = (CE)t[i];
3334                }
3335            } catch (ClassCastException cce) {
3336                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3337                throw new RuntimeException(cce);
3338            } catch (HL7Exception he) {
3339                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3340                throw new RuntimeException(he);
3341            }
3342            return ret;
3343        }
3344    
3345    
3346        /**
3347         * Returns a count of the current number of repetitions of Procedure Code Modifier (OBR-45).
3348         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3349         * it will return zero.
3350         */
3351        public int getProcedureCodeModifierReps() {
3352            CE[] ret = null;
3353            try {
3354                Type[] t = this.getField(45);
3355                return t.length;  
3356            } catch (ClassCastException cce) {
3357                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3358                throw new RuntimeException(cce);
3359            } catch (HL7Exception he) {
3360                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3361                throw new RuntimeException(he);
3362            }
3363        }
3364    
3365    
3366        /**
3367         * Returns a specific repetition of
3368         * OBR-45: "Procedure Code Modifier" - creates it if necessary
3369         *
3370         * @param rep The repetition index (0-indexed)
3371         */
3372        public CE getProcedureCodeModifier(int rep) { 
3373            CE ret = null;
3374            try {
3375                Type t = this.getField(45, rep);
3376                ret = (CE)t;
3377            } catch (ClassCastException cce) {
3378                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3379                throw new RuntimeException(cce);
3380            } catch (HL7Exception he) {
3381                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3382                throw new RuntimeException(he);
3383            }
3384            return ret;
3385        }
3386    
3387        /**
3388         * Returns a specific repetition of
3389         * OBR-45: "Procedure Code Modifier" - creates it if necessary
3390         *
3391         * @param rep The repetition index (0-indexed)
3392         */
3393        public CE getObr45_ProcedureCodeModifier(int rep) { 
3394            CE ret = null;
3395            try {
3396                Type t = this.getField(45, rep);
3397                ret = (CE)t;
3398            } catch (ClassCastException cce) {
3399                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3400                throw new RuntimeException(cce);
3401            } catch (HL7Exception he) {
3402                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3403                throw new RuntimeException(he);
3404            }
3405            return ret;
3406        }
3407    
3408    
3409        /**
3410         * Returns a count of the current number of repetitions of Procedure Code Modifier (OBR-45).
3411         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3412         * it will return zero.
3413         */
3414        public int getObr45_ProcedureCodeModifierReps() {
3415            CE[] ret = null;
3416            try {
3417                Type[] t = this.getField(45);
3418                return t.length;  
3419            } catch (ClassCastException cce) {
3420                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3421                throw new RuntimeException(cce);
3422            } catch (HL7Exception he) {
3423                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3424                throw new RuntimeException(he);
3425            }
3426        }
3427    
3428    
3429    
3430        /**
3431         * Inserts a repetition of
3432         * OBR-45: "Procedure Code Modifier" at a specific index
3433         *
3434         * @param rep The repetition index (0-indexed)
3435         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3436         */
3437        public CE insertProcedureCodeModifier(int rep) throws HL7Exception { 
3438            return (CE) super.insertRepetition(45, rep);
3439        }
3440    
3441    
3442    
3443        /**
3444         * Inserts a repetition of
3445         * OBR-45: "Procedure Code Modifier" at a specific index
3446         *
3447         * @param rep The repetition index (0-indexed)
3448         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3449         */
3450        public CE insertObr45_ProcedureCodeModifier(int rep) throws HL7Exception { 
3451            return (CE) super.insertRepetition(45, rep);
3452        }
3453    
3454    
3455        /**
3456         * Removes a repetition of
3457         * OBR-45: "Procedure Code Modifier" at a specific index
3458         *
3459         * @param rep The repetition index (0-indexed)
3460         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3461         */
3462        public CE removeProcedureCodeModifier(int rep) throws HL7Exception { 
3463            return (CE) super.removeRepetition(45, rep);
3464        }
3465    
3466    
3467        /**
3468         * Removes a repetition of
3469         * OBR-45: "Procedure Code Modifier" at a specific index
3470         *
3471         * @param rep The repetition index (0-indexed)
3472         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3473         */
3474        public CE removeObr45_ProcedureCodeModifier(int rep) throws HL7Exception { 
3475            return (CE) super.removeRepetition(45, rep);
3476        }
3477    
3478    
3479    
3480        /**
3481         * Returns all repetitions of Placer Supplemental Service Information (OBR-46).
3482         */
3483        public CE[] getPlacerSupplementalServiceInformation() {
3484            CE[] ret = null;
3485            try {
3486                Type[] t = this.getField(46);  
3487                ret = new CE[t.length];
3488                for (int i = 0; i < ret.length; i++) {
3489                    ret[i] = (CE)t[i];
3490                }
3491            } catch (ClassCastException cce) {
3492                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3493                throw new RuntimeException(cce);
3494            } catch (HL7Exception he) {
3495                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3496                throw new RuntimeException(he);
3497            }
3498            return ret;
3499        }
3500    
3501    
3502        /**
3503         * Returns a count of the current number of repetitions of Placer Supplemental Service Information (OBR-46).
3504         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3505         * it will return zero.
3506         */
3507        public int getPlacerSupplementalServiceInformationReps() {
3508            CE[] ret = null;
3509            try {
3510                Type[] t = this.getField(46);
3511                return t.length;  
3512            } catch (ClassCastException cce) {
3513                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3514                throw new RuntimeException(cce);
3515            } catch (HL7Exception he) {
3516                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3517                throw new RuntimeException(he);
3518            }
3519        }
3520    
3521    
3522        /**
3523         * Returns a specific repetition of
3524         * OBR-46: "Placer Supplemental Service Information" - creates it if necessary
3525         *
3526         * @param rep The repetition index (0-indexed)
3527         */
3528        public CE getPlacerSupplementalServiceInformation(int rep) { 
3529            CE ret = null;
3530            try {
3531                Type t = this.getField(46, rep);
3532                ret = (CE)t;
3533            } catch (ClassCastException cce) {
3534                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3535                throw new RuntimeException(cce);
3536            } catch (HL7Exception he) {
3537                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3538                throw new RuntimeException(he);
3539            }
3540            return ret;
3541        }
3542    
3543        /**
3544         * Returns a specific repetition of
3545         * OBR-46: "Placer Supplemental Service Information" - creates it if necessary
3546         *
3547         * @param rep The repetition index (0-indexed)
3548         */
3549        public CE getObr46_PlacerSupplementalServiceInformation(int rep) { 
3550            CE ret = null;
3551            try {
3552                Type t = this.getField(46, rep);
3553                ret = (CE)t;
3554            } catch (ClassCastException cce) {
3555                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3556                throw new RuntimeException(cce);
3557            } catch (HL7Exception he) {
3558                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3559                throw new RuntimeException(he);
3560            }
3561            return ret;
3562        }
3563    
3564    
3565        /**
3566         * Returns a count of the current number of repetitions of Placer Supplemental Service Information (OBR-46).
3567         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3568         * it will return zero.
3569         */
3570        public int getObr46_PlacerSupplementalServiceInformationReps() {
3571            CE[] ret = null;
3572            try {
3573                Type[] t = this.getField(46);
3574                return t.length;  
3575            } catch (ClassCastException cce) {
3576                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3577                throw new RuntimeException(cce);
3578            } catch (HL7Exception he) {
3579                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3580                throw new RuntimeException(he);
3581            }
3582        }
3583    
3584    
3585    
3586        /**
3587         * Inserts a repetition of
3588         * OBR-46: "Placer Supplemental Service Information" at a specific index
3589         *
3590         * @param rep The repetition index (0-indexed)
3591         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3592         */
3593        public CE insertPlacerSupplementalServiceInformation(int rep) throws HL7Exception { 
3594            return (CE) super.insertRepetition(46, rep);
3595        }
3596    
3597    
3598    
3599        /**
3600         * Inserts a repetition of
3601         * OBR-46: "Placer Supplemental Service Information" at a specific index
3602         *
3603         * @param rep The repetition index (0-indexed)
3604         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3605         */
3606        public CE insertObr46_PlacerSupplementalServiceInformation(int rep) throws HL7Exception { 
3607            return (CE) super.insertRepetition(46, rep);
3608        }
3609    
3610    
3611        /**
3612         * Removes a repetition of
3613         * OBR-46: "Placer Supplemental Service Information" at a specific index
3614         *
3615         * @param rep The repetition index (0-indexed)
3616         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3617         */
3618        public CE removePlacerSupplementalServiceInformation(int rep) throws HL7Exception { 
3619            return (CE) super.removeRepetition(46, rep);
3620        }
3621    
3622    
3623        /**
3624         * Removes a repetition of
3625         * OBR-46: "Placer Supplemental Service Information" at a specific index
3626         *
3627         * @param rep The repetition index (0-indexed)
3628         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3629         */
3630        public CE removeObr46_PlacerSupplementalServiceInformation(int rep) throws HL7Exception { 
3631            return (CE) super.removeRepetition(46, rep);
3632        }
3633    
3634    
3635    
3636        /**
3637         * Returns all repetitions of Filler Supplemental Service Information (OBR-47).
3638         */
3639        public CE[] getFillerSupplementalServiceInformation() {
3640            CE[] ret = null;
3641            try {
3642                Type[] t = this.getField(47);  
3643                ret = new CE[t.length];
3644                for (int i = 0; i < ret.length; i++) {
3645                    ret[i] = (CE)t[i];
3646                }
3647            } catch (ClassCastException cce) {
3648                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3649                throw new RuntimeException(cce);
3650            } catch (HL7Exception he) {
3651                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3652                throw new RuntimeException(he);
3653            }
3654            return ret;
3655        }
3656    
3657    
3658        /**
3659         * Returns a count of the current number of repetitions of Filler Supplemental Service Information (OBR-47).
3660         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3661         * it will return zero.
3662         */
3663        public int getFillerSupplementalServiceInformationReps() {
3664            CE[] ret = null;
3665            try {
3666                Type[] t = this.getField(47);
3667                return t.length;  
3668            } catch (ClassCastException cce) {
3669                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3670                throw new RuntimeException(cce);
3671            } catch (HL7Exception he) {
3672                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3673                throw new RuntimeException(he);
3674            }
3675        }
3676    
3677    
3678        /**
3679         * Returns a specific repetition of
3680         * OBR-47: "Filler Supplemental Service Information" - creates it if necessary
3681         *
3682         * @param rep The repetition index (0-indexed)
3683         */
3684        public CE getFillerSupplementalServiceInformation(int rep) { 
3685            CE ret = null;
3686            try {
3687                Type t = this.getField(47, rep);
3688                ret = (CE)t;
3689            } catch (ClassCastException cce) {
3690                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3691                throw new RuntimeException(cce);
3692            } catch (HL7Exception he) {
3693                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3694                throw new RuntimeException(he);
3695            }
3696            return ret;
3697        }
3698    
3699        /**
3700         * Returns a specific repetition of
3701         * OBR-47: "Filler Supplemental Service Information" - creates it if necessary
3702         *
3703         * @param rep The repetition index (0-indexed)
3704         */
3705        public CE getObr47_FillerSupplementalServiceInformation(int rep) { 
3706            CE ret = null;
3707            try {
3708                Type t = this.getField(47, rep);
3709                ret = (CE)t;
3710            } catch (ClassCastException cce) {
3711                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3712                throw new RuntimeException(cce);
3713            } catch (HL7Exception he) {
3714                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3715                throw new RuntimeException(he);
3716            }
3717            return ret;
3718        }
3719    
3720    
3721        /**
3722         * Returns a count of the current number of repetitions of Filler Supplemental Service Information (OBR-47).
3723         * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
3724         * it will return zero.
3725         */
3726        public int getObr47_FillerSupplementalServiceInformationReps() {
3727            CE[] ret = null;
3728            try {
3729                Type[] t = this.getField(47);
3730                return t.length;  
3731            } catch (ClassCastException cce) {
3732                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", cce);
3733                throw new RuntimeException(cce);
3734            } catch (HL7Exception he) {
3735                HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value.  This is a bug.", he);
3736                throw new RuntimeException(he);
3737            }
3738        }
3739    
3740    
3741    
3742        /**
3743         * Inserts a repetition of
3744         * OBR-47: "Filler Supplemental Service Information" at a specific index
3745         *
3746         * @param rep The repetition index (0-indexed)
3747         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3748         */
3749        public CE insertFillerSupplementalServiceInformation(int rep) throws HL7Exception { 
3750            return (CE) super.insertRepetition(47, rep);
3751        }
3752    
3753    
3754    
3755        /**
3756         * Inserts a repetition of
3757         * OBR-47: "Filler Supplemental Service Information" at a specific index
3758         *
3759         * @param rep The repetition index (0-indexed)
3760         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3761         */
3762        public CE insertObr47_FillerSupplementalServiceInformation(int rep) throws HL7Exception { 
3763            return (CE) super.insertRepetition(47, rep);
3764        }
3765    
3766    
3767        /**
3768         * Removes a repetition of
3769         * OBR-47: "Filler Supplemental Service Information" at a specific index
3770         *
3771         * @param rep The repetition index (0-indexed)
3772         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3773         */
3774        public CE removeFillerSupplementalServiceInformation(int rep) throws HL7Exception { 
3775            return (CE) super.removeRepetition(47, rep);
3776        }
3777    
3778    
3779        /**
3780         * Removes a repetition of
3781         * OBR-47: "Filler Supplemental Service Information" at a specific index
3782         *
3783         * @param rep The repetition index (0-indexed)
3784         * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
3785         */
3786        public CE removeObr47_FillerSupplementalServiceInformation(int rep) throws HL7Exception { 
3787            return (CE) super.removeRepetition(47, rep);
3788        }
3789    
3790    
3791    
3792    
3793    
3794    
3795        /** {@inheritDoc} */   
3796        protected Type createNewTypeWithoutReflection(int field) {
3797           switch (field) {
3798              case 0: return new SI(getMessage());
3799              case 1: return new EI(getMessage());
3800              case 2: return new EI(getMessage());
3801              case 3: return new CE(getMessage());
3802              case 4: return new ID(getMessage(), new Integer( 0 ));
3803              case 5: return new TS(getMessage());
3804              case 6: return new TS(getMessage());
3805              case 7: return new TS(getMessage());
3806              case 8: return new CQ(getMessage());
3807              case 9: return new XCN(getMessage());
3808              case 10: return new ID(getMessage(), new Integer( 65 ));
3809              case 11: return new CE(getMessage());
3810              case 12: return new ST(getMessage());
3811              case 13: return new TS(getMessage());
3812              case 14: return new SPS(getMessage());
3813              case 15: return new XCN(getMessage());
3814              case 16: return new XTN(getMessage());
3815              case 17: return new ST(getMessage());
3816              case 18: return new ST(getMessage());
3817              case 19: return new ST(getMessage());
3818              case 20: return new ST(getMessage());
3819              case 21: return new TS(getMessage());
3820              case 22: return new MOC(getMessage());
3821              case 23: return new ID(getMessage(), new Integer( 74 ));
3822              case 24: return new ID(getMessage(), new Integer( 123 ));
3823              case 25: return new PRL(getMessage());
3824              case 26: return new TQ(getMessage());
3825              case 27: return new XCN(getMessage());
3826              case 28: return new EIP(getMessage());
3827              case 29: return new ID(getMessage(), new Integer( 124 ));
3828              case 30: return new CE(getMessage());
3829              case 31: return new NDL(getMessage());
3830              case 32: return new NDL(getMessage());
3831              case 33: return new NDL(getMessage());
3832              case 34: return new NDL(getMessage());
3833              case 35: return new TS(getMessage());
3834              case 36: return new NM(getMessage());
3835              case 37: return new CE(getMessage());
3836              case 38: return new CE(getMessage());
3837              case 39: return new CE(getMessage());
3838              case 40: return new ID(getMessage(), new Integer( 224 ));
3839              case 41: return new ID(getMessage(), new Integer( 225 ));
3840              case 42: return new CE(getMessage());
3841              case 43: return new CE(getMessage());
3842              case 44: return new CE(getMessage());
3843              case 45: return new CE(getMessage());
3844              case 46: return new CE(getMessage());
3845              default: return null;
3846           }
3847       }
3848    
3849    
3850    }
3851