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 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v231.segment;
035
036// import ca.uhn.hl7v2.model.v231.group.*;
037import ca.uhn.hl7v2.model.v231.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047/**
048 *<p>Represents an HL7 OBR message segment (OBR - observation request segment). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>OBR-1: Set ID - OBR (SI) <b>optional </b>
052     * <li>OBR-2: Placer Order Number (EI) <b>optional </b>
053     * <li>OBR-3: Filler Order Number (EI) <b>optional </b>
054     * <li>OBR-4: Universal Service ID (CE) <b> </b>
055     * <li>OBR-5: Priority-OBR (ID) <b>optional </b>
056     * <li>OBR-6: Requested Date/time (TS) <b>optional </b>
057     * <li>OBR-7: Observation Date/Time # (TS) <b>optional </b>
058     * <li>OBR-8: Observation End Date/Time # (TS) <b>optional </b>
059     * <li>OBR-9: Collection Volume * (CQ) <b>optional </b>
060     * <li>OBR-10: Collector Identifier * (XCN) <b>optional repeating</b>
061     * <li>OBR-11: Specimen Action Code * (ID) <b>optional </b>
062     * <li>OBR-12: Danger Code (CE) <b>optional </b>
063     * <li>OBR-13: Relevant Clinical Info. (ST) <b>optional </b>
064     * <li>OBR-14: Specimen Received Date/Time * (TS) <b>optional </b>
065     * <li>OBR-15: Specimen Source (SPS) <b>optional </b>
066     * <li>OBR-16: Ordering Provider (XCN) <b>optional repeating</b>
067     * <li>OBR-17: Order Callback Phone Number (XTN) <b>optional repeating</b>
068     * <li>OBR-18: Placer Field 1 (ST) <b>optional </b>
069     * <li>OBR-19: Placer Field 2 (ST) <b>optional </b>
070     * <li>OBR-20: Filler Field 1 + (ST) <b>optional </b>
071     * <li>OBR-21: Filler Field 2 + (ST) <b>optional </b>
072     * <li>OBR-22: Results Rpt/Status Chng - Date/Time + (TS) <b>optional </b>
073     * <li>OBR-23: Charge to Practice + (MOC) <b>optional </b>
074     * <li>OBR-24: Diagnostic Serv Sect ID (ID) <b>optional </b>
075     * <li>OBR-25: Result Status + (ID) <b>optional </b>
076     * <li>OBR-26: Parent Result + (PRL) <b>optional </b>
077     * <li>OBR-27: Quantity/Timing (TQ) <b>optional repeating</b>
078     * <li>OBR-28: Result Copies To (XCN) <b>optional repeating</b>
079     * <li>OBR-29: Parent Number (EIP) <b>optional </b>
080     * <li>OBR-30: Transportation Mode (ID) <b>optional </b>
081     * <li>OBR-31: Reason for Study (CE) <b>optional repeating</b>
082     * <li>OBR-32: Principal Result Interpreter + (NDL) <b>optional </b>
083     * <li>OBR-33: Assistant Result Interpreter + (NDL) <b>optional repeating</b>
084     * <li>OBR-34: Technician + (NDL) <b>optional repeating</b>
085     * <li>OBR-35: Transcriptionist + (NDL) <b>optional repeating</b>
086     * <li>OBR-36: Scheduled Date/Time + (TS) <b>optional </b>
087     * <li>OBR-37: Number of Sample Containers * (NM) <b>optional </b>
088     * <li>OBR-38: Transport Logistics of Collected Sample * (CE) <b>optional repeating</b>
089     * <li>OBR-39: Collector’s Comment * (CE) <b>optional repeating</b>
090     * <li>OBR-40: Transport Arrangement Responsibility (CE) <b>optional </b>
091     * <li>OBR-41: Transport Arranged (ID) <b>optional </b>
092     * <li>OBR-42: Escort Required (ID) <b>optional </b>
093     * <li>OBR-43: Planned Patient Transport Comment (CE) <b>optional repeating</b>
094     * <li>OBR-44: Procedure Code (CE) <b>optional </b>
095     * <li>OBR-45: Procedure Code Modifier (CE) <b>optional repeating</b>
096 * </ul>
097 */
098@SuppressWarnings("unused")
099public class OBR extends AbstractSegment {
100
101    /** 
102     * Creates a new OBR segment
103     */
104    public OBR(Group parent, ModelClassFactory factory) {
105       super(parent, factory);
106       init(factory);
107    }
108
109    private void init(ModelClassFactory factory) {
110       try {
111                                  this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - OBR");
112                                  this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Order Number");
113                                  this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Filler Order Number");
114                                  this.add(CE.class, true, 1, 200, new Object[]{ getMessage() }, "Universal Service ID");
115                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(0) }, "Priority-OBR");
116                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Requested Date/time");
117                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Observation Date/Time #");
118                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Observation End Date/Time #");
119                                  this.add(CQ.class, false, 1, 20, new Object[]{ getMessage() }, "Collection Volume *");
120                                  this.add(XCN.class, false, 0, 60, new Object[]{ getMessage() }, "Collector Identifier *");
121                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(65) }, "Specimen Action Code *");
122                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Danger Code");
123                                  this.add(ST.class, false, 1, 300, new Object[]{ getMessage() }, "Relevant Clinical Info.");
124                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Specimen Received Date/Time *");
125                                  this.add(SPS.class, false, 1, 300, new Object[]{ getMessage() }, "Specimen Source");
126                                  this.add(XCN.class, false, 0, 120, new Object[]{ getMessage() }, "Ordering Provider");
127                                  this.add(XTN.class, false, 2, 40, new Object[]{ getMessage() }, "Order Callback Phone Number");
128                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "Placer Field 1");
129                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "Placer Field 2");
130                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "Filler Field 1 +");
131                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "Filler Field 2 +");
132                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Results Rpt/Status Chng - Date/Time +");
133                                  this.add(MOC.class, false, 1, 40, new Object[]{ getMessage() }, "Charge to Practice +");
134                                              this.add(ID.class, false, 1, 10, new Object[]{ getMessage(), new Integer(74) }, "Diagnostic Serv Sect ID");
135                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(123) }, "Result Status +");
136                                  this.add(PRL.class, false, 1, 200, new Object[]{ getMessage() }, "Parent Result +");
137                                  this.add(TQ.class, false, 0, 200, new Object[]{ getMessage() }, "Quantity/Timing");
138                                  this.add(XCN.class, false, 5, 150, new Object[]{ getMessage() }, "Result Copies To");
139                                  this.add(EIP.class, false, 1, 200, new Object[]{ getMessage() }, "Parent Number");
140                                              this.add(ID.class, false, 1, 20, new Object[]{ getMessage(), new Integer(124) }, "Transportation Mode");
141                                  this.add(CE.class, false, 0, 300, new Object[]{ getMessage() }, "Reason for Study");
142                                  this.add(NDL.class, false, 1, 200, new Object[]{ getMessage() }, "Principal Result Interpreter +");
143                                  this.add(NDL.class, false, 0, 200, new Object[]{ getMessage() }, "Assistant Result Interpreter +");
144                                  this.add(NDL.class, false, 0, 200, new Object[]{ getMessage() }, "Technician +");
145                                  this.add(NDL.class, false, 0, 200, new Object[]{ getMessage() }, "Transcriptionist +");
146                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Scheduled Date/Time +");
147                                  this.add(NM.class, false, 1, 4, new Object[]{ getMessage() }, "Number of Sample Containers *");
148                                  this.add(CE.class, false, 0, 60, new Object[]{ getMessage() }, "Transport Logistics of Collected Sample *");
149                                  this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Collector’s Comment *");
150                                  this.add(CE.class, false, 1, 60, new Object[]{ getMessage() }, "Transport Arrangement Responsibility");
151                                              this.add(ID.class, false, 1, 30, new Object[]{ getMessage(), new Integer(224) }, "Transport Arranged");
152                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(225) }, "Escort Required");
153                                  this.add(CE.class, false, 0, 200, new Object[]{ getMessage() }, "Planned Patient Transport Comment");
154                                  this.add(CE.class, false, 1, 80, new Object[]{ getMessage() }, "Procedure Code");
155                                  this.add(CE.class, false, 0, 80, new Object[]{ getMessage() }, "Procedure Code Modifier");
156       } catch(HL7Exception e) {
157          log.error("Unexpected error creating OBR - this is probably a bug in the source code generator.", e);
158       }
159    }
160
161
162
163    /**
164     * Returns
165     * OBR-1: "Set ID - OBR" - creates it if necessary
166     */
167    public SI getSetIDOBR() { 
168                SI retVal = this.getTypedField(1, 0);
169                return retVal;
170    }
171    
172    /**
173     * Returns
174     * OBR-1: "Set ID - OBR" - creates it if necessary
175     */
176    public SI getObr1_SetIDOBR() { 
177                SI retVal = this.getTypedField(1, 0);
178                return retVal;
179    }
180
181
182
183    /**
184     * Returns
185     * OBR-2: "Placer Order Number" - creates it if necessary
186     */
187    public EI getPlacerOrderNumber() { 
188                EI retVal = this.getTypedField(2, 0);
189                return retVal;
190    }
191    
192    /**
193     * Returns
194     * OBR-2: "Placer Order Number" - creates it if necessary
195     */
196    public EI getObr2_PlacerOrderNumber() { 
197                EI retVal = this.getTypedField(2, 0);
198                return retVal;
199    }
200
201
202
203    /**
204     * Returns
205     * OBR-3: "Filler Order Number" - creates it if necessary
206     */
207    public EI getFillerOrderNumber() { 
208                EI retVal = this.getTypedField(3, 0);
209                return retVal;
210    }
211    
212    /**
213     * Returns
214     * OBR-3: "Filler Order Number" - creates it if necessary
215     */
216    public EI getObr3_FillerOrderNumber() { 
217                EI retVal = this.getTypedField(3, 0);
218                return retVal;
219    }
220
221
222
223    /**
224     * Returns
225     * OBR-4: "Universal Service ID" - creates it if necessary
226     */
227    public CE getUniversalServiceID() { 
228                CE retVal = this.getTypedField(4, 0);
229                return retVal;
230    }
231    
232    /**
233     * Returns
234     * OBR-4: "Universal Service ID" - creates it if necessary
235     */
236    public CE getObr4_UniversalServiceID() { 
237                CE retVal = this.getTypedField(4, 0);
238                return retVal;
239    }
240
241
242
243    /**
244     * Returns
245     * OBR-5: "Priority-OBR" - creates it if necessary
246     */
247    public ID getPriorityOBR() { 
248                ID retVal = this.getTypedField(5, 0);
249                return retVal;
250    }
251    
252    /**
253     * Returns
254     * OBR-5: "Priority-OBR" - creates it if necessary
255     */
256    public ID getObr5_PriorityOBR() { 
257                ID retVal = this.getTypedField(5, 0);
258                return retVal;
259    }
260
261
262
263    /**
264     * Returns
265     * OBR-6: "Requested Date/time" - creates it if necessary
266     */
267    public TS getRequestedDateTime() { 
268                TS retVal = this.getTypedField(6, 0);
269                return retVal;
270    }
271    
272    /**
273     * Returns
274     * OBR-6: "Requested Date/time" - creates it if necessary
275     */
276    public TS getObr6_RequestedDateTime() { 
277                TS retVal = this.getTypedField(6, 0);
278                return retVal;
279    }
280
281
282
283    /**
284     * Returns
285     * OBR-7: "Observation Date/Time #" - creates it if necessary
286     */
287    public TS getObservationDateTime() { 
288                TS retVal = this.getTypedField(7, 0);
289                return retVal;
290    }
291    
292    /**
293     * Returns
294     * OBR-7: "Observation Date/Time #" - creates it if necessary
295     */
296    public TS getObr7_ObservationDateTime() { 
297                TS retVal = this.getTypedField(7, 0);
298                return retVal;
299    }
300
301
302
303    /**
304     * Returns
305     * OBR-8: "Observation End Date/Time #" - creates it if necessary
306     */
307    public TS getObservationEndDateTime() { 
308                TS retVal = this.getTypedField(8, 0);
309                return retVal;
310    }
311    
312    /**
313     * Returns
314     * OBR-8: "Observation End Date/Time #" - creates it if necessary
315     */
316    public TS getObr8_ObservationEndDateTime() { 
317                TS retVal = this.getTypedField(8, 0);
318                return retVal;
319    }
320
321
322
323    /**
324     * Returns
325     * OBR-9: "Collection Volume *" - creates it if necessary
326     */
327    public CQ getCollectionVolume() { 
328                CQ retVal = this.getTypedField(9, 0);
329                return retVal;
330    }
331    
332    /**
333     * Returns
334     * OBR-9: "Collection Volume *" - creates it if necessary
335     */
336    public CQ getObr9_CollectionVolume() { 
337                CQ retVal = this.getTypedField(9, 0);
338                return retVal;
339    }
340
341
342    /**
343     * Returns all repetitions of Collector Identifier * (OBR-10).
344     */
345    public XCN[] getCollectorIdentifier() {
346        XCN[] retVal = this.getTypedField(10, new XCN[0]);
347        return retVal;
348    }
349
350
351    /**
352     * Returns all repetitions of Collector Identifier * (OBR-10).
353     */
354    public XCN[] getObr10_CollectorIdentifier() {
355        XCN[] retVal = this.getTypedField(10, new XCN[0]);
356        return retVal;
357    }
358
359
360    /**
361     * Returns a count of the current number of repetitions of Collector Identifier * (OBR-10).
362     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
363     * it will return zero.
364     */
365    public int getCollectorIdentifierReps() {
366        return this.getReps(10);
367    }
368
369
370    /**
371     * Returns a specific repetition of
372     * OBR-10: "Collector Identifier *" - creates it if necessary
373     *
374     * @param rep The repetition index (0-indexed)
375     */
376    public XCN getCollectorIdentifier(int rep) { 
377                XCN retVal = this.getTypedField(10, rep);
378                return retVal;
379    }
380
381    /**
382     * Returns a specific repetition of
383     * OBR-10: "Collector Identifier *" - creates it if necessary
384     *
385     * @param rep The repetition index (0-indexed)
386     */
387    public XCN getObr10_CollectorIdentifier(int rep) { 
388                XCN retVal = this.getTypedField(10, rep);
389                return retVal;
390    }
391
392    /**
393     * Returns a count of the current number of repetitions of Collector Identifier * (OBR-10).
394     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
395     * it will return zero.
396     */
397    public int getObr10_CollectorIdentifierReps() {
398        return this.getReps(10);
399    }
400
401
402    /**
403     * Inserts a repetition of
404     * OBR-10: "Collector Identifier *" at a specific index
405     *
406     * @param rep The repetition index (0-indexed)
407     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
408     */
409    public XCN insertCollectorIdentifier(int rep) throws HL7Exception { 
410        return (XCN) super.insertRepetition(10, rep);
411    }
412
413
414    /**
415     * Inserts a repetition of
416     * OBR-10: "Collector Identifier *" at a specific index
417     *
418     * @param rep The repetition index (0-indexed)
419     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
420     */
421    public XCN insertObr10_CollectorIdentifier(int rep) throws HL7Exception { 
422        return (XCN) super.insertRepetition(10, rep);
423    }
424
425
426    /**
427     * Removes a repetition of
428     * OBR-10: "Collector Identifier *" at a specific index
429     *
430     * @param rep The repetition index (0-indexed)
431     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
432     */
433    public XCN removeCollectorIdentifier(int rep) throws HL7Exception { 
434        return (XCN) super.removeRepetition(10, rep);
435    }
436
437
438    /**
439     * Removes a repetition of
440     * OBR-10: "Collector Identifier *" at a specific index
441     *
442     * @param rep The repetition index (0-indexed)
443     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
444     */
445    public XCN removeObr10_CollectorIdentifier(int rep) throws HL7Exception { 
446        return (XCN) super.removeRepetition(10, rep);
447    }
448
449
450
451
452    /**
453     * Returns
454     * OBR-11: "Specimen Action Code *" - creates it if necessary
455     */
456    public ID getSpecimenActionCode() { 
457                ID retVal = this.getTypedField(11, 0);
458                return retVal;
459    }
460    
461    /**
462     * Returns
463     * OBR-11: "Specimen Action Code *" - creates it if necessary
464     */
465    public ID getObr11_SpecimenActionCode() { 
466                ID retVal = this.getTypedField(11, 0);
467                return retVal;
468    }
469
470
471
472    /**
473     * Returns
474     * OBR-12: "Danger Code" - creates it if necessary
475     */
476    public CE getDangerCode() { 
477                CE retVal = this.getTypedField(12, 0);
478                return retVal;
479    }
480    
481    /**
482     * Returns
483     * OBR-12: "Danger Code" - creates it if necessary
484     */
485    public CE getObr12_DangerCode() { 
486                CE retVal = this.getTypedField(12, 0);
487                return retVal;
488    }
489
490
491
492    /**
493     * Returns
494     * OBR-13: "Relevant Clinical Info." - creates it if necessary
495     */
496    public ST getRelevantClinicalInfo() { 
497                ST retVal = this.getTypedField(13, 0);
498                return retVal;
499    }
500    
501    /**
502     * Returns
503     * OBR-13: "Relevant Clinical Info." - creates it if necessary
504     */
505    public ST getObr13_RelevantClinicalInfo() { 
506                ST retVal = this.getTypedField(13, 0);
507                return retVal;
508    }
509
510
511
512    /**
513     * Returns
514     * OBR-14: "Specimen Received Date/Time *" - creates it if necessary
515     */
516    public TS getSpecimenReceivedDateTime() { 
517                TS retVal = this.getTypedField(14, 0);
518                return retVal;
519    }
520    
521    /**
522     * Returns
523     * OBR-14: "Specimen Received Date/Time *" - creates it if necessary
524     */
525    public TS getObr14_SpecimenReceivedDateTime() { 
526                TS retVal = this.getTypedField(14, 0);
527                return retVal;
528    }
529
530
531
532    /**
533     * Returns
534     * OBR-15: "Specimen Source" - creates it if necessary
535     */
536    public SPS getSpecimenSource() { 
537                SPS retVal = this.getTypedField(15, 0);
538                return retVal;
539    }
540    
541    /**
542     * Returns
543     * OBR-15: "Specimen Source" - creates it if necessary
544     */
545    public SPS getObr15_SpecimenSource() { 
546                SPS retVal = this.getTypedField(15, 0);
547                return retVal;
548    }
549
550
551    /**
552     * Returns all repetitions of Ordering Provider (OBR-16).
553     */
554    public XCN[] getOrderingProvider() {
555        XCN[] retVal = this.getTypedField(16, new XCN[0]);
556        return retVal;
557    }
558
559
560    /**
561     * Returns all repetitions of Ordering Provider (OBR-16).
562     */
563    public XCN[] getObr16_OrderingProvider() {
564        XCN[] retVal = this.getTypedField(16, new XCN[0]);
565        return retVal;
566    }
567
568
569    /**
570     * Returns a count of the current number of repetitions of Ordering Provider (OBR-16).
571     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
572     * it will return zero.
573     */
574    public int getOrderingProviderReps() {
575        return this.getReps(16);
576    }
577
578
579    /**
580     * Returns a specific repetition of
581     * OBR-16: "Ordering Provider" - creates it if necessary
582     *
583     * @param rep The repetition index (0-indexed)
584     */
585    public XCN getOrderingProvider(int rep) { 
586                XCN retVal = this.getTypedField(16, rep);
587                return retVal;
588    }
589
590    /**
591     * Returns a specific repetition of
592     * OBR-16: "Ordering Provider" - creates it if necessary
593     *
594     * @param rep The repetition index (0-indexed)
595     */
596    public XCN getObr16_OrderingProvider(int rep) { 
597                XCN retVal = this.getTypedField(16, rep);
598                return retVal;
599    }
600
601    /**
602     * Returns a count of the current number of repetitions of Ordering Provider (OBR-16).
603     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
604     * it will return zero.
605     */
606    public int getObr16_OrderingProviderReps() {
607        return this.getReps(16);
608    }
609
610
611    /**
612     * Inserts a repetition of
613     * OBR-16: "Ordering Provider" at a specific index
614     *
615     * @param rep The repetition index (0-indexed)
616     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
617     */
618    public XCN insertOrderingProvider(int rep) throws HL7Exception { 
619        return (XCN) super.insertRepetition(16, rep);
620    }
621
622
623    /**
624     * Inserts a repetition of
625     * OBR-16: "Ordering Provider" at a specific index
626     *
627     * @param rep The repetition index (0-indexed)
628     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
629     */
630    public XCN insertObr16_OrderingProvider(int rep) throws HL7Exception { 
631        return (XCN) super.insertRepetition(16, rep);
632    }
633
634
635    /**
636     * Removes a repetition of
637     * OBR-16: "Ordering Provider" at a specific index
638     *
639     * @param rep The repetition index (0-indexed)
640     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
641     */
642    public XCN removeOrderingProvider(int rep) throws HL7Exception { 
643        return (XCN) super.removeRepetition(16, rep);
644    }
645
646
647    /**
648     * Removes a repetition of
649     * OBR-16: "Ordering Provider" at a specific index
650     *
651     * @param rep The repetition index (0-indexed)
652     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
653     */
654    public XCN removeObr16_OrderingProvider(int rep) throws HL7Exception { 
655        return (XCN) super.removeRepetition(16, rep);
656    }
657
658
659
660    /**
661     * Returns all repetitions of Order Callback Phone Number (OBR-17).
662     */
663    public XTN[] getOrderCallbackPhoneNumber() {
664        XTN[] retVal = this.getTypedField(17, new XTN[0]);
665        return retVal;
666    }
667
668
669    /**
670     * Returns all repetitions of Order Callback Phone Number (OBR-17).
671     */
672    public XTN[] getObr17_OrderCallbackPhoneNumber() {
673        XTN[] retVal = this.getTypedField(17, new XTN[0]);
674        return retVal;
675    }
676
677
678    /**
679     * Returns a count of the current number of repetitions of Order Callback Phone Number (OBR-17).
680     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
681     * it will return zero.
682     */
683    public int getOrderCallbackPhoneNumberReps() {
684        return this.getReps(17);
685    }
686
687
688    /**
689     * Returns a specific repetition of
690     * OBR-17: "Order Callback Phone Number" - creates it if necessary
691     *
692     * @param rep The repetition index (0-indexed)
693     */
694    public XTN getOrderCallbackPhoneNumber(int rep) { 
695                XTN retVal = this.getTypedField(17, rep);
696                return retVal;
697    }
698
699    /**
700     * Returns a specific repetition of
701     * OBR-17: "Order Callback Phone Number" - creates it if necessary
702     *
703     * @param rep The repetition index (0-indexed)
704     */
705    public XTN getObr17_OrderCallbackPhoneNumber(int rep) { 
706                XTN retVal = this.getTypedField(17, rep);
707                return retVal;
708    }
709
710    /**
711     * Returns a count of the current number of repetitions of Order Callback Phone Number (OBR-17).
712     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
713     * it will return zero.
714     */
715    public int getObr17_OrderCallbackPhoneNumberReps() {
716        return this.getReps(17);
717    }
718
719
720    /**
721     * Inserts a repetition of
722     * OBR-17: "Order Callback Phone Number" at a specific index
723     *
724     * @param rep The repetition index (0-indexed)
725     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
726     */
727    public XTN insertOrderCallbackPhoneNumber(int rep) throws HL7Exception { 
728        return (XTN) super.insertRepetition(17, rep);
729    }
730
731
732    /**
733     * Inserts a repetition of
734     * OBR-17: "Order Callback Phone Number" at a specific index
735     *
736     * @param rep The repetition index (0-indexed)
737     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
738     */
739    public XTN insertObr17_OrderCallbackPhoneNumber(int rep) throws HL7Exception { 
740        return (XTN) super.insertRepetition(17, rep);
741    }
742
743
744    /**
745     * Removes a repetition of
746     * OBR-17: "Order Callback Phone Number" at a specific index
747     *
748     * @param rep The repetition index (0-indexed)
749     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
750     */
751    public XTN removeOrderCallbackPhoneNumber(int rep) throws HL7Exception { 
752        return (XTN) super.removeRepetition(17, rep);
753    }
754
755
756    /**
757     * Removes a repetition of
758     * OBR-17: "Order Callback Phone Number" at a specific index
759     *
760     * @param rep The repetition index (0-indexed)
761     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
762     */
763    public XTN removeObr17_OrderCallbackPhoneNumber(int rep) throws HL7Exception { 
764        return (XTN) super.removeRepetition(17, rep);
765    }
766
767
768
769
770    /**
771     * Returns
772     * OBR-18: "Placer Field 1" - creates it if necessary
773     */
774    public ST getPlacerField1() { 
775                ST retVal = this.getTypedField(18, 0);
776                return retVal;
777    }
778    
779    /**
780     * Returns
781     * OBR-18: "Placer Field 1" - creates it if necessary
782     */
783    public ST getObr18_PlacerField1() { 
784                ST retVal = this.getTypedField(18, 0);
785                return retVal;
786    }
787
788
789
790    /**
791     * Returns
792     * OBR-19: "Placer Field 2" - creates it if necessary
793     */
794    public ST getPlacerField2() { 
795                ST retVal = this.getTypedField(19, 0);
796                return retVal;
797    }
798    
799    /**
800     * Returns
801     * OBR-19: "Placer Field 2" - creates it if necessary
802     */
803    public ST getObr19_PlacerField2() { 
804                ST retVal = this.getTypedField(19, 0);
805                return retVal;
806    }
807
808
809
810    /**
811     * Returns
812     * OBR-20: "Filler Field 1 +" - creates it if necessary
813     */
814    public ST getFillerField1() { 
815                ST retVal = this.getTypedField(20, 0);
816                return retVal;
817    }
818    
819    /**
820     * Returns
821     * OBR-20: "Filler Field 1 +" - creates it if necessary
822     */
823    public ST getObr20_FillerField1() { 
824                ST retVal = this.getTypedField(20, 0);
825                return retVal;
826    }
827
828
829
830    /**
831     * Returns
832     * OBR-21: "Filler Field 2 +" - creates it if necessary
833     */
834    public ST getFillerField2() { 
835                ST retVal = this.getTypedField(21, 0);
836                return retVal;
837    }
838    
839    /**
840     * Returns
841     * OBR-21: "Filler Field 2 +" - creates it if necessary
842     */
843    public ST getObr21_FillerField2() { 
844                ST retVal = this.getTypedField(21, 0);
845                return retVal;
846    }
847
848
849
850    /**
851     * Returns
852     * OBR-22: "Results Rpt/Status Chng - Date/Time +" - creates it if necessary
853     */
854    public TS getResultsRptStatusChngDateTime() { 
855                TS retVal = this.getTypedField(22, 0);
856                return retVal;
857    }
858    
859    /**
860     * Returns
861     * OBR-22: "Results Rpt/Status Chng - Date/Time +" - creates it if necessary
862     */
863    public TS getObr22_ResultsRptStatusChngDateTime() { 
864                TS retVal = this.getTypedField(22, 0);
865                return retVal;
866    }
867
868
869
870    /**
871     * Returns
872     * OBR-23: "Charge to Practice +" - creates it if necessary
873     */
874    public MOC getChargeToPractice() { 
875                MOC retVal = this.getTypedField(23, 0);
876                return retVal;
877    }
878    
879    /**
880     * Returns
881     * OBR-23: "Charge to Practice +" - creates it if necessary
882     */
883    public MOC getObr23_ChargeToPractice() { 
884                MOC retVal = this.getTypedField(23, 0);
885                return retVal;
886    }
887
888
889
890    /**
891     * Returns
892     * OBR-24: "Diagnostic Serv Sect ID" - creates it if necessary
893     */
894    public ID getDiagnosticServSectID() { 
895                ID retVal = this.getTypedField(24, 0);
896                return retVal;
897    }
898    
899    /**
900     * Returns
901     * OBR-24: "Diagnostic Serv Sect ID" - creates it if necessary
902     */
903    public ID getObr24_DiagnosticServSectID() { 
904                ID retVal = this.getTypedField(24, 0);
905                return retVal;
906    }
907
908
909
910    /**
911     * Returns
912     * OBR-25: "Result Status +" - creates it if necessary
913     */
914    public ID getResultStatus() { 
915                ID retVal = this.getTypedField(25, 0);
916                return retVal;
917    }
918    
919    /**
920     * Returns
921     * OBR-25: "Result Status +" - creates it if necessary
922     */
923    public ID getObr25_ResultStatus() { 
924                ID retVal = this.getTypedField(25, 0);
925                return retVal;
926    }
927
928
929
930    /**
931     * Returns
932     * OBR-26: "Parent Result +" - creates it if necessary
933     */
934    public PRL getParentResult() { 
935                PRL retVal = this.getTypedField(26, 0);
936                return retVal;
937    }
938    
939    /**
940     * Returns
941     * OBR-26: "Parent Result +" - creates it if necessary
942     */
943    public PRL getObr26_ParentResult() { 
944                PRL retVal = this.getTypedField(26, 0);
945                return retVal;
946    }
947
948
949    /**
950     * Returns all repetitions of Quantity/Timing (OBR-27).
951     */
952    public TQ[] getQuantityTiming() {
953        TQ[] retVal = this.getTypedField(27, new TQ[0]);
954        return retVal;
955    }
956
957
958    /**
959     * Returns all repetitions of Quantity/Timing (OBR-27).
960     */
961    public TQ[] getObr27_QuantityTiming() {
962        TQ[] retVal = this.getTypedField(27, new TQ[0]);
963        return retVal;
964    }
965
966
967    /**
968     * Returns a count of the current number of repetitions of Quantity/Timing (OBR-27).
969     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
970     * it will return zero.
971     */
972    public int getQuantityTimingReps() {
973        return this.getReps(27);
974    }
975
976
977    /**
978     * Returns a specific repetition of
979     * OBR-27: "Quantity/Timing" - creates it if necessary
980     *
981     * @param rep The repetition index (0-indexed)
982     */
983    public TQ getQuantityTiming(int rep) { 
984                TQ retVal = this.getTypedField(27, rep);
985                return retVal;
986    }
987
988    /**
989     * Returns a specific repetition of
990     * OBR-27: "Quantity/Timing" - creates it if necessary
991     *
992     * @param rep The repetition index (0-indexed)
993     */
994    public TQ getObr27_QuantityTiming(int rep) { 
995                TQ retVal = this.getTypedField(27, rep);
996                return retVal;
997    }
998
999    /**
1000     * Returns a count of the current number of repetitions of Quantity/Timing (OBR-27).
1001     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1002     * it will return zero.
1003     */
1004    public int getObr27_QuantityTimingReps() {
1005        return this.getReps(27);
1006    }
1007
1008
1009    /**
1010     * Inserts a repetition of
1011     * OBR-27: "Quantity/Timing" at a specific index
1012     *
1013     * @param rep The repetition index (0-indexed)
1014     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1015     */
1016    public TQ insertQuantityTiming(int rep) throws HL7Exception { 
1017        return (TQ) super.insertRepetition(27, rep);
1018    }
1019
1020
1021    /**
1022     * Inserts a repetition of
1023     * OBR-27: "Quantity/Timing" at a specific index
1024     *
1025     * @param rep The repetition index (0-indexed)
1026     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1027     */
1028    public TQ insertObr27_QuantityTiming(int rep) throws HL7Exception { 
1029        return (TQ) super.insertRepetition(27, rep);
1030    }
1031
1032
1033    /**
1034     * Removes a repetition of
1035     * OBR-27: "Quantity/Timing" at a specific index
1036     *
1037     * @param rep The repetition index (0-indexed)
1038     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1039     */
1040    public TQ removeQuantityTiming(int rep) throws HL7Exception { 
1041        return (TQ) super.removeRepetition(27, rep);
1042    }
1043
1044
1045    /**
1046     * Removes a repetition of
1047     * OBR-27: "Quantity/Timing" at a specific index
1048     *
1049     * @param rep The repetition index (0-indexed)
1050     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1051     */
1052    public TQ removeObr27_QuantityTiming(int rep) throws HL7Exception { 
1053        return (TQ) super.removeRepetition(27, rep);
1054    }
1055
1056
1057
1058    /**
1059     * Returns all repetitions of Result Copies To (OBR-28).
1060     */
1061    public XCN[] getResultCopiesTo() {
1062        XCN[] retVal = this.getTypedField(28, new XCN[0]);
1063        return retVal;
1064    }
1065
1066
1067    /**
1068     * Returns all repetitions of Result Copies To (OBR-28).
1069     */
1070    public XCN[] getObr28_ResultCopiesTo() {
1071        XCN[] retVal = this.getTypedField(28, new XCN[0]);
1072        return retVal;
1073    }
1074
1075
1076    /**
1077     * Returns a count of the current number of repetitions of Result Copies To (OBR-28).
1078     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1079     * it will return zero.
1080     */
1081    public int getResultCopiesToReps() {
1082        return this.getReps(28);
1083    }
1084
1085
1086    /**
1087     * Returns a specific repetition of
1088     * OBR-28: "Result Copies To" - creates it if necessary
1089     *
1090     * @param rep The repetition index (0-indexed)
1091     */
1092    public XCN getResultCopiesTo(int rep) { 
1093                XCN retVal = this.getTypedField(28, rep);
1094                return retVal;
1095    }
1096
1097    /**
1098     * Returns a specific repetition of
1099     * OBR-28: "Result Copies To" - creates it if necessary
1100     *
1101     * @param rep The repetition index (0-indexed)
1102     */
1103    public XCN getObr28_ResultCopiesTo(int rep) { 
1104                XCN retVal = this.getTypedField(28, rep);
1105                return retVal;
1106    }
1107
1108    /**
1109     * Returns a count of the current number of repetitions of Result Copies To (OBR-28).
1110     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1111     * it will return zero.
1112     */
1113    public int getObr28_ResultCopiesToReps() {
1114        return this.getReps(28);
1115    }
1116
1117
1118    /**
1119     * Inserts a repetition of
1120     * OBR-28: "Result Copies To" at a specific index
1121     *
1122     * @param rep The repetition index (0-indexed)
1123     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1124     */
1125    public XCN insertResultCopiesTo(int rep) throws HL7Exception { 
1126        return (XCN) super.insertRepetition(28, rep);
1127    }
1128
1129
1130    /**
1131     * Inserts a repetition of
1132     * OBR-28: "Result Copies To" at a specific index
1133     *
1134     * @param rep The repetition index (0-indexed)
1135     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1136     */
1137    public XCN insertObr28_ResultCopiesTo(int rep) throws HL7Exception { 
1138        return (XCN) super.insertRepetition(28, rep);
1139    }
1140
1141
1142    /**
1143     * Removes a repetition of
1144     * OBR-28: "Result Copies To" at a specific index
1145     *
1146     * @param rep The repetition index (0-indexed)
1147     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1148     */
1149    public XCN removeResultCopiesTo(int rep) throws HL7Exception { 
1150        return (XCN) super.removeRepetition(28, rep);
1151    }
1152
1153
1154    /**
1155     * Removes a repetition of
1156     * OBR-28: "Result Copies To" at a specific index
1157     *
1158     * @param rep The repetition index (0-indexed)
1159     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1160     */
1161    public XCN removeObr28_ResultCopiesTo(int rep) throws HL7Exception { 
1162        return (XCN) super.removeRepetition(28, rep);
1163    }
1164
1165
1166
1167
1168    /**
1169     * Returns
1170     * OBR-29: "Parent Number" - creates it if necessary
1171     */
1172    public EIP getParentNumber() { 
1173                EIP retVal = this.getTypedField(29, 0);
1174                return retVal;
1175    }
1176    
1177    /**
1178     * Returns
1179     * OBR-29: "Parent Number" - creates it if necessary
1180     */
1181    public EIP getObr29_ParentNumber() { 
1182                EIP retVal = this.getTypedField(29, 0);
1183                return retVal;
1184    }
1185
1186
1187
1188    /**
1189     * Returns
1190     * OBR-30: "Transportation Mode" - creates it if necessary
1191     */
1192    public ID getTransportationMode() { 
1193                ID retVal = this.getTypedField(30, 0);
1194                return retVal;
1195    }
1196    
1197    /**
1198     * Returns
1199     * OBR-30: "Transportation Mode" - creates it if necessary
1200     */
1201    public ID getObr30_TransportationMode() { 
1202                ID retVal = this.getTypedField(30, 0);
1203                return retVal;
1204    }
1205
1206
1207    /**
1208     * Returns all repetitions of Reason for Study (OBR-31).
1209     */
1210    public CE[] getReasonForStudy() {
1211        CE[] retVal = this.getTypedField(31, new CE[0]);
1212        return retVal;
1213    }
1214
1215
1216    /**
1217     * Returns all repetitions of Reason for Study (OBR-31).
1218     */
1219    public CE[] getObr31_ReasonForStudy() {
1220        CE[] retVal = this.getTypedField(31, new CE[0]);
1221        return retVal;
1222    }
1223
1224
1225    /**
1226     * Returns a count of the current number of repetitions of Reason for Study (OBR-31).
1227     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1228     * it will return zero.
1229     */
1230    public int getReasonForStudyReps() {
1231        return this.getReps(31);
1232    }
1233
1234
1235    /**
1236     * Returns a specific repetition of
1237     * OBR-31: "Reason for Study" - creates it if necessary
1238     *
1239     * @param rep The repetition index (0-indexed)
1240     */
1241    public CE getReasonForStudy(int rep) { 
1242                CE retVal = this.getTypedField(31, rep);
1243                return retVal;
1244    }
1245
1246    /**
1247     * Returns a specific repetition of
1248     * OBR-31: "Reason for Study" - creates it if necessary
1249     *
1250     * @param rep The repetition index (0-indexed)
1251     */
1252    public CE getObr31_ReasonForStudy(int rep) { 
1253                CE retVal = this.getTypedField(31, rep);
1254                return retVal;
1255    }
1256
1257    /**
1258     * Returns a count of the current number of repetitions of Reason for Study (OBR-31).
1259     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1260     * it will return zero.
1261     */
1262    public int getObr31_ReasonForStudyReps() {
1263        return this.getReps(31);
1264    }
1265
1266
1267    /**
1268     * Inserts a repetition of
1269     * OBR-31: "Reason for Study" at a specific index
1270     *
1271     * @param rep The repetition index (0-indexed)
1272     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1273     */
1274    public CE insertReasonForStudy(int rep) throws HL7Exception { 
1275        return (CE) super.insertRepetition(31, rep);
1276    }
1277
1278
1279    /**
1280     * Inserts a repetition of
1281     * OBR-31: "Reason for Study" at a specific index
1282     *
1283     * @param rep The repetition index (0-indexed)
1284     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1285     */
1286    public CE insertObr31_ReasonForStudy(int rep) throws HL7Exception { 
1287        return (CE) super.insertRepetition(31, rep);
1288    }
1289
1290
1291    /**
1292     * Removes a repetition of
1293     * OBR-31: "Reason for Study" at a specific index
1294     *
1295     * @param rep The repetition index (0-indexed)
1296     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1297     */
1298    public CE removeReasonForStudy(int rep) throws HL7Exception { 
1299        return (CE) super.removeRepetition(31, rep);
1300    }
1301
1302
1303    /**
1304     * Removes a repetition of
1305     * OBR-31: "Reason for Study" at a specific index
1306     *
1307     * @param rep The repetition index (0-indexed)
1308     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1309     */
1310    public CE removeObr31_ReasonForStudy(int rep) throws HL7Exception { 
1311        return (CE) super.removeRepetition(31, rep);
1312    }
1313
1314
1315
1316
1317    /**
1318     * Returns
1319     * OBR-32: "Principal Result Interpreter +" - creates it if necessary
1320     */
1321    public NDL getPrincipalResultInterpreter() { 
1322                NDL retVal = this.getTypedField(32, 0);
1323                return retVal;
1324    }
1325    
1326    /**
1327     * Returns
1328     * OBR-32: "Principal Result Interpreter +" - creates it if necessary
1329     */
1330    public NDL getObr32_PrincipalResultInterpreter() { 
1331                NDL retVal = this.getTypedField(32, 0);
1332                return retVal;
1333    }
1334
1335
1336    /**
1337     * Returns all repetitions of Assistant Result Interpreter + (OBR-33).
1338     */
1339    public NDL[] getAssistantResultInterpreter() {
1340        NDL[] retVal = this.getTypedField(33, new NDL[0]);
1341        return retVal;
1342    }
1343
1344
1345    /**
1346     * Returns all repetitions of Assistant Result Interpreter + (OBR-33).
1347     */
1348    public NDL[] getObr33_AssistantResultInterpreter() {
1349        NDL[] retVal = this.getTypedField(33, new NDL[0]);
1350        return retVal;
1351    }
1352
1353
1354    /**
1355     * Returns a count of the current number of repetitions of Assistant Result Interpreter + (OBR-33).
1356     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1357     * it will return zero.
1358     */
1359    public int getAssistantResultInterpreterReps() {
1360        return this.getReps(33);
1361    }
1362
1363
1364    /**
1365     * Returns a specific repetition of
1366     * OBR-33: "Assistant Result Interpreter +" - creates it if necessary
1367     *
1368     * @param rep The repetition index (0-indexed)
1369     */
1370    public NDL getAssistantResultInterpreter(int rep) { 
1371                NDL retVal = this.getTypedField(33, rep);
1372                return retVal;
1373    }
1374
1375    /**
1376     * Returns a specific repetition of
1377     * OBR-33: "Assistant Result Interpreter +" - creates it if necessary
1378     *
1379     * @param rep The repetition index (0-indexed)
1380     */
1381    public NDL getObr33_AssistantResultInterpreter(int rep) { 
1382                NDL retVal = this.getTypedField(33, rep);
1383                return retVal;
1384    }
1385
1386    /**
1387     * Returns a count of the current number of repetitions of Assistant Result Interpreter + (OBR-33).
1388     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1389     * it will return zero.
1390     */
1391    public int getObr33_AssistantResultInterpreterReps() {
1392        return this.getReps(33);
1393    }
1394
1395
1396    /**
1397     * Inserts a repetition of
1398     * OBR-33: "Assistant Result Interpreter +" at a specific index
1399     *
1400     * @param rep The repetition index (0-indexed)
1401     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1402     */
1403    public NDL insertAssistantResultInterpreter(int rep) throws HL7Exception { 
1404        return (NDL) super.insertRepetition(33, rep);
1405    }
1406
1407
1408    /**
1409     * Inserts a repetition of
1410     * OBR-33: "Assistant Result Interpreter +" at a specific index
1411     *
1412     * @param rep The repetition index (0-indexed)
1413     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1414     */
1415    public NDL insertObr33_AssistantResultInterpreter(int rep) throws HL7Exception { 
1416        return (NDL) super.insertRepetition(33, rep);
1417    }
1418
1419
1420    /**
1421     * Removes a repetition of
1422     * OBR-33: "Assistant Result Interpreter +" at a specific index
1423     *
1424     * @param rep The repetition index (0-indexed)
1425     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1426     */
1427    public NDL removeAssistantResultInterpreter(int rep) throws HL7Exception { 
1428        return (NDL) super.removeRepetition(33, rep);
1429    }
1430
1431
1432    /**
1433     * Removes a repetition of
1434     * OBR-33: "Assistant Result Interpreter +" at a specific index
1435     *
1436     * @param rep The repetition index (0-indexed)
1437     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1438     */
1439    public NDL removeObr33_AssistantResultInterpreter(int rep) throws HL7Exception { 
1440        return (NDL) super.removeRepetition(33, rep);
1441    }
1442
1443
1444
1445    /**
1446     * Returns all repetitions of Technician + (OBR-34).
1447     */
1448    public NDL[] getTechnician() {
1449        NDL[] retVal = this.getTypedField(34, new NDL[0]);
1450        return retVal;
1451    }
1452
1453
1454    /**
1455     * Returns all repetitions of Technician + (OBR-34).
1456     */
1457    public NDL[] getObr34_Technician() {
1458        NDL[] retVal = this.getTypedField(34, new NDL[0]);
1459        return retVal;
1460    }
1461
1462
1463    /**
1464     * Returns a count of the current number of repetitions of Technician + (OBR-34).
1465     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1466     * it will return zero.
1467     */
1468    public int getTechnicianReps() {
1469        return this.getReps(34);
1470    }
1471
1472
1473    /**
1474     * Returns a specific repetition of
1475     * OBR-34: "Technician +" - creates it if necessary
1476     *
1477     * @param rep The repetition index (0-indexed)
1478     */
1479    public NDL getTechnician(int rep) { 
1480                NDL retVal = this.getTypedField(34, rep);
1481                return retVal;
1482    }
1483
1484    /**
1485     * Returns a specific repetition of
1486     * OBR-34: "Technician +" - creates it if necessary
1487     *
1488     * @param rep The repetition index (0-indexed)
1489     */
1490    public NDL getObr34_Technician(int rep) { 
1491                NDL retVal = this.getTypedField(34, rep);
1492                return retVal;
1493    }
1494
1495    /**
1496     * Returns a count of the current number of repetitions of Technician + (OBR-34).
1497     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1498     * it will return zero.
1499     */
1500    public int getObr34_TechnicianReps() {
1501        return this.getReps(34);
1502    }
1503
1504
1505    /**
1506     * Inserts a repetition of
1507     * OBR-34: "Technician +" at a specific index
1508     *
1509     * @param rep The repetition index (0-indexed)
1510     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1511     */
1512    public NDL insertTechnician(int rep) throws HL7Exception { 
1513        return (NDL) super.insertRepetition(34, rep);
1514    }
1515
1516
1517    /**
1518     * Inserts a repetition of
1519     * OBR-34: "Technician +" at a specific index
1520     *
1521     * @param rep The repetition index (0-indexed)
1522     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1523     */
1524    public NDL insertObr34_Technician(int rep) throws HL7Exception { 
1525        return (NDL) super.insertRepetition(34, rep);
1526    }
1527
1528
1529    /**
1530     * Removes a repetition of
1531     * OBR-34: "Technician +" at a specific index
1532     *
1533     * @param rep The repetition index (0-indexed)
1534     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1535     */
1536    public NDL removeTechnician(int rep) throws HL7Exception { 
1537        return (NDL) super.removeRepetition(34, rep);
1538    }
1539
1540
1541    /**
1542     * Removes a repetition of
1543     * OBR-34: "Technician +" at a specific index
1544     *
1545     * @param rep The repetition index (0-indexed)
1546     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1547     */
1548    public NDL removeObr34_Technician(int rep) throws HL7Exception { 
1549        return (NDL) super.removeRepetition(34, rep);
1550    }
1551
1552
1553
1554    /**
1555     * Returns all repetitions of Transcriptionist + (OBR-35).
1556     */
1557    public NDL[] getTranscriptionist() {
1558        NDL[] retVal = this.getTypedField(35, new NDL[0]);
1559        return retVal;
1560    }
1561
1562
1563    /**
1564     * Returns all repetitions of Transcriptionist + (OBR-35).
1565     */
1566    public NDL[] getObr35_Transcriptionist() {
1567        NDL[] retVal = this.getTypedField(35, new NDL[0]);
1568        return retVal;
1569    }
1570
1571
1572    /**
1573     * Returns a count of the current number of repetitions of Transcriptionist + (OBR-35).
1574     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1575     * it will return zero.
1576     */
1577    public int getTranscriptionistReps() {
1578        return this.getReps(35);
1579    }
1580
1581
1582    /**
1583     * Returns a specific repetition of
1584     * OBR-35: "Transcriptionist +" - creates it if necessary
1585     *
1586     * @param rep The repetition index (0-indexed)
1587     */
1588    public NDL getTranscriptionist(int rep) { 
1589                NDL retVal = this.getTypedField(35, rep);
1590                return retVal;
1591    }
1592
1593    /**
1594     * Returns a specific repetition of
1595     * OBR-35: "Transcriptionist +" - creates it if necessary
1596     *
1597     * @param rep The repetition index (0-indexed)
1598     */
1599    public NDL getObr35_Transcriptionist(int rep) { 
1600                NDL retVal = this.getTypedField(35, rep);
1601                return retVal;
1602    }
1603
1604    /**
1605     * Returns a count of the current number of repetitions of Transcriptionist + (OBR-35).
1606     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1607     * it will return zero.
1608     */
1609    public int getObr35_TranscriptionistReps() {
1610        return this.getReps(35);
1611    }
1612
1613
1614    /**
1615     * Inserts a repetition of
1616     * OBR-35: "Transcriptionist +" at a specific index
1617     *
1618     * @param rep The repetition index (0-indexed)
1619     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1620     */
1621    public NDL insertTranscriptionist(int rep) throws HL7Exception { 
1622        return (NDL) super.insertRepetition(35, rep);
1623    }
1624
1625
1626    /**
1627     * Inserts a repetition of
1628     * OBR-35: "Transcriptionist +" at a specific index
1629     *
1630     * @param rep The repetition index (0-indexed)
1631     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1632     */
1633    public NDL insertObr35_Transcriptionist(int rep) throws HL7Exception { 
1634        return (NDL) super.insertRepetition(35, rep);
1635    }
1636
1637
1638    /**
1639     * Removes a repetition of
1640     * OBR-35: "Transcriptionist +" at a specific index
1641     *
1642     * @param rep The repetition index (0-indexed)
1643     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1644     */
1645    public NDL removeTranscriptionist(int rep) throws HL7Exception { 
1646        return (NDL) super.removeRepetition(35, rep);
1647    }
1648
1649
1650    /**
1651     * Removes a repetition of
1652     * OBR-35: "Transcriptionist +" at a specific index
1653     *
1654     * @param rep The repetition index (0-indexed)
1655     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1656     */
1657    public NDL removeObr35_Transcriptionist(int rep) throws HL7Exception { 
1658        return (NDL) super.removeRepetition(35, rep);
1659    }
1660
1661
1662
1663
1664    /**
1665     * Returns
1666     * OBR-36: "Scheduled Date/Time +" - creates it if necessary
1667     */
1668    public TS getScheduledDateTime() { 
1669                TS retVal = this.getTypedField(36, 0);
1670                return retVal;
1671    }
1672    
1673    /**
1674     * Returns
1675     * OBR-36: "Scheduled Date/Time +" - creates it if necessary
1676     */
1677    public TS getObr36_ScheduledDateTime() { 
1678                TS retVal = this.getTypedField(36, 0);
1679                return retVal;
1680    }
1681
1682
1683
1684    /**
1685     * Returns
1686     * OBR-37: "Number of Sample Containers *" - creates it if necessary
1687     */
1688    public NM getNumberOfSampleContainers() { 
1689                NM retVal = this.getTypedField(37, 0);
1690                return retVal;
1691    }
1692    
1693    /**
1694     * Returns
1695     * OBR-37: "Number of Sample Containers *" - creates it if necessary
1696     */
1697    public NM getObr37_NumberOfSampleContainers() { 
1698                NM retVal = this.getTypedField(37, 0);
1699                return retVal;
1700    }
1701
1702
1703    /**
1704     * Returns all repetitions of Transport Logistics of Collected Sample * (OBR-38).
1705     */
1706    public CE[] getTransportLogisticsOfCollectedSample() {
1707        CE[] retVal = this.getTypedField(38, new CE[0]);
1708        return retVal;
1709    }
1710
1711
1712    /**
1713     * Returns all repetitions of Transport Logistics of Collected Sample * (OBR-38).
1714     */
1715    public CE[] getObr38_TransportLogisticsOfCollectedSample() {
1716        CE[] retVal = this.getTypedField(38, new CE[0]);
1717        return retVal;
1718    }
1719
1720
1721    /**
1722     * Returns a count of the current number of repetitions of Transport Logistics of Collected Sample * (OBR-38).
1723     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1724     * it will return zero.
1725     */
1726    public int getTransportLogisticsOfCollectedSampleReps() {
1727        return this.getReps(38);
1728    }
1729
1730
1731    /**
1732     * Returns a specific repetition of
1733     * OBR-38: "Transport Logistics of Collected Sample *" - creates it if necessary
1734     *
1735     * @param rep The repetition index (0-indexed)
1736     */
1737    public CE getTransportLogisticsOfCollectedSample(int rep) { 
1738                CE retVal = this.getTypedField(38, rep);
1739                return retVal;
1740    }
1741
1742    /**
1743     * Returns a specific repetition of
1744     * OBR-38: "Transport Logistics of Collected Sample *" - creates it if necessary
1745     *
1746     * @param rep The repetition index (0-indexed)
1747     */
1748    public CE getObr38_TransportLogisticsOfCollectedSample(int rep) { 
1749                CE retVal = this.getTypedField(38, rep);
1750                return retVal;
1751    }
1752
1753    /**
1754     * Returns a count of the current number of repetitions of Transport Logistics of Collected Sample * (OBR-38).
1755     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1756     * it will return zero.
1757     */
1758    public int getObr38_TransportLogisticsOfCollectedSampleReps() {
1759        return this.getReps(38);
1760    }
1761
1762
1763    /**
1764     * Inserts a repetition of
1765     * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
1766     *
1767     * @param rep The repetition index (0-indexed)
1768     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1769     */
1770    public CE insertTransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
1771        return (CE) super.insertRepetition(38, rep);
1772    }
1773
1774
1775    /**
1776     * Inserts a repetition of
1777     * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
1778     *
1779     * @param rep The repetition index (0-indexed)
1780     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1781     */
1782    public CE insertObr38_TransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
1783        return (CE) super.insertRepetition(38, rep);
1784    }
1785
1786
1787    /**
1788     * Removes a repetition of
1789     * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
1790     *
1791     * @param rep The repetition index (0-indexed)
1792     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1793     */
1794    public CE removeTransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
1795        return (CE) super.removeRepetition(38, rep);
1796    }
1797
1798
1799    /**
1800     * Removes a repetition of
1801     * OBR-38: "Transport Logistics of Collected Sample *" at a specific index
1802     *
1803     * @param rep The repetition index (0-indexed)
1804     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1805     */
1806    public CE removeObr38_TransportLogisticsOfCollectedSample(int rep) throws HL7Exception { 
1807        return (CE) super.removeRepetition(38, rep);
1808    }
1809
1810
1811
1812    /**
1813     * Returns all repetitions of Collector’s Comment * (OBR-39).
1814     */
1815    public CE[] getCollectorSComment() {
1816        CE[] retVal = this.getTypedField(39, new CE[0]);
1817        return retVal;
1818    }
1819
1820
1821    /**
1822     * Returns all repetitions of Collector’s Comment * (OBR-39).
1823     */
1824    public CE[] getObr39_CollectorSComment() {
1825        CE[] retVal = this.getTypedField(39, new CE[0]);
1826        return retVal;
1827    }
1828
1829
1830    /**
1831     * Returns a count of the current number of repetitions of Collector’s Comment * (OBR-39).
1832     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1833     * it will return zero.
1834     */
1835    public int getCollectorSCommentReps() {
1836        return this.getReps(39);
1837    }
1838
1839
1840    /**
1841     * Returns a specific repetition of
1842     * OBR-39: "Collector’s Comment *" - creates it if necessary
1843     *
1844     * @param rep The repetition index (0-indexed)
1845     */
1846    public CE getCollectorSComment(int rep) { 
1847                CE retVal = this.getTypedField(39, rep);
1848                return retVal;
1849    }
1850
1851    /**
1852     * Returns a specific repetition of
1853     * OBR-39: "Collector’s Comment *" - creates it if necessary
1854     *
1855     * @param rep The repetition index (0-indexed)
1856     */
1857    public CE getObr39_CollectorSComment(int rep) { 
1858                CE retVal = this.getTypedField(39, rep);
1859                return retVal;
1860    }
1861
1862    /**
1863     * Returns a count of the current number of repetitions of Collector’s Comment * (OBR-39).
1864     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1865     * it will return zero.
1866     */
1867    public int getObr39_CollectorSCommentReps() {
1868        return this.getReps(39);
1869    }
1870
1871
1872    /**
1873     * Inserts a repetition of
1874     * OBR-39: "Collector’s Comment *" at a specific index
1875     *
1876     * @param rep The repetition index (0-indexed)
1877     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1878     */
1879    public CE insertCollectorSComment(int rep) throws HL7Exception { 
1880        return (CE) super.insertRepetition(39, rep);
1881    }
1882
1883
1884    /**
1885     * Inserts a repetition of
1886     * OBR-39: "Collector’s Comment *" at a specific index
1887     *
1888     * @param rep The repetition index (0-indexed)
1889     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1890     */
1891    public CE insertObr39_CollectorSComment(int rep) throws HL7Exception { 
1892        return (CE) super.insertRepetition(39, rep);
1893    }
1894
1895
1896    /**
1897     * Removes a repetition of
1898     * OBR-39: "Collector’s Comment *" at a specific index
1899     *
1900     * @param rep The repetition index (0-indexed)
1901     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1902     */
1903    public CE removeCollectorSComment(int rep) throws HL7Exception { 
1904        return (CE) super.removeRepetition(39, rep);
1905    }
1906
1907
1908    /**
1909     * Removes a repetition of
1910     * OBR-39: "Collector’s Comment *" at a specific index
1911     *
1912     * @param rep The repetition index (0-indexed)
1913     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1914     */
1915    public CE removeObr39_CollectorSComment(int rep) throws HL7Exception { 
1916        return (CE) super.removeRepetition(39, rep);
1917    }
1918
1919
1920
1921
1922    /**
1923     * Returns
1924     * OBR-40: "Transport Arrangement Responsibility" - creates it if necessary
1925     */
1926    public CE getTransportArrangementResponsibility() { 
1927                CE retVal = this.getTypedField(40, 0);
1928                return retVal;
1929    }
1930    
1931    /**
1932     * Returns
1933     * OBR-40: "Transport Arrangement Responsibility" - creates it if necessary
1934     */
1935    public CE getObr40_TransportArrangementResponsibility() { 
1936                CE retVal = this.getTypedField(40, 0);
1937                return retVal;
1938    }
1939
1940
1941
1942    /**
1943     * Returns
1944     * OBR-41: "Transport Arranged" - creates it if necessary
1945     */
1946    public ID getTransportArranged() { 
1947                ID retVal = this.getTypedField(41, 0);
1948                return retVal;
1949    }
1950    
1951    /**
1952     * Returns
1953     * OBR-41: "Transport Arranged" - creates it if necessary
1954     */
1955    public ID getObr41_TransportArranged() { 
1956                ID retVal = this.getTypedField(41, 0);
1957                return retVal;
1958    }
1959
1960
1961
1962    /**
1963     * Returns
1964     * OBR-42: "Escort Required" - creates it if necessary
1965     */
1966    public ID getEscortRequired() { 
1967                ID retVal = this.getTypedField(42, 0);
1968                return retVal;
1969    }
1970    
1971    /**
1972     * Returns
1973     * OBR-42: "Escort Required" - creates it if necessary
1974     */
1975    public ID getObr42_EscortRequired() { 
1976                ID retVal = this.getTypedField(42, 0);
1977                return retVal;
1978    }
1979
1980
1981    /**
1982     * Returns all repetitions of Planned Patient Transport Comment (OBR-43).
1983     */
1984    public CE[] getPlannedPatientTransportComment() {
1985        CE[] retVal = this.getTypedField(43, new CE[0]);
1986        return retVal;
1987    }
1988
1989
1990    /**
1991     * Returns all repetitions of Planned Patient Transport Comment (OBR-43).
1992     */
1993    public CE[] getObr43_PlannedPatientTransportComment() {
1994        CE[] retVal = this.getTypedField(43, new CE[0]);
1995        return retVal;
1996    }
1997
1998
1999    /**
2000     * Returns a count of the current number of repetitions of Planned Patient Transport Comment (OBR-43).
2001     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2002     * it will return zero.
2003     */
2004    public int getPlannedPatientTransportCommentReps() {
2005        return this.getReps(43);
2006    }
2007
2008
2009    /**
2010     * Returns a specific repetition of
2011     * OBR-43: "Planned Patient Transport Comment" - creates it if necessary
2012     *
2013     * @param rep The repetition index (0-indexed)
2014     */
2015    public CE getPlannedPatientTransportComment(int rep) { 
2016                CE retVal = this.getTypedField(43, rep);
2017                return retVal;
2018    }
2019
2020    /**
2021     * Returns a specific repetition of
2022     * OBR-43: "Planned Patient Transport Comment" - creates it if necessary
2023     *
2024     * @param rep The repetition index (0-indexed)
2025     */
2026    public CE getObr43_PlannedPatientTransportComment(int rep) { 
2027                CE retVal = this.getTypedField(43, rep);
2028                return retVal;
2029    }
2030
2031    /**
2032     * Returns a count of the current number of repetitions of Planned Patient Transport Comment (OBR-43).
2033     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2034     * it will return zero.
2035     */
2036    public int getObr43_PlannedPatientTransportCommentReps() {
2037        return this.getReps(43);
2038    }
2039
2040
2041    /**
2042     * Inserts a repetition of
2043     * OBR-43: "Planned Patient Transport Comment" at a specific index
2044     *
2045     * @param rep The repetition index (0-indexed)
2046     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2047     */
2048    public CE insertPlannedPatientTransportComment(int rep) throws HL7Exception { 
2049        return (CE) super.insertRepetition(43, rep);
2050    }
2051
2052
2053    /**
2054     * Inserts a repetition of
2055     * OBR-43: "Planned Patient Transport Comment" at a specific index
2056     *
2057     * @param rep The repetition index (0-indexed)
2058     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2059     */
2060    public CE insertObr43_PlannedPatientTransportComment(int rep) throws HL7Exception { 
2061        return (CE) super.insertRepetition(43, rep);
2062    }
2063
2064
2065    /**
2066     * Removes a repetition of
2067     * OBR-43: "Planned Patient Transport Comment" at a specific index
2068     *
2069     * @param rep The repetition index (0-indexed)
2070     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2071     */
2072    public CE removePlannedPatientTransportComment(int rep) throws HL7Exception { 
2073        return (CE) super.removeRepetition(43, rep);
2074    }
2075
2076
2077    /**
2078     * Removes a repetition of
2079     * OBR-43: "Planned Patient Transport Comment" at a specific index
2080     *
2081     * @param rep The repetition index (0-indexed)
2082     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2083     */
2084    public CE removeObr43_PlannedPatientTransportComment(int rep) throws HL7Exception { 
2085        return (CE) super.removeRepetition(43, rep);
2086    }
2087
2088
2089
2090
2091    /**
2092     * Returns
2093     * OBR-44: "Procedure Code" - creates it if necessary
2094     */
2095    public CE getProcedureCode() { 
2096                CE retVal = this.getTypedField(44, 0);
2097                return retVal;
2098    }
2099    
2100    /**
2101     * Returns
2102     * OBR-44: "Procedure Code" - creates it if necessary
2103     */
2104    public CE getObr44_ProcedureCode() { 
2105                CE retVal = this.getTypedField(44, 0);
2106                return retVal;
2107    }
2108
2109
2110    /**
2111     * Returns all repetitions of Procedure Code Modifier (OBR-45).
2112     */
2113    public CE[] getProcedureCodeModifier() {
2114        CE[] retVal = this.getTypedField(45, new CE[0]);
2115        return retVal;
2116    }
2117
2118
2119    /**
2120     * Returns all repetitions of Procedure Code Modifier (OBR-45).
2121     */
2122    public CE[] getObr45_ProcedureCodeModifier() {
2123        CE[] retVal = this.getTypedField(45, new CE[0]);
2124        return retVal;
2125    }
2126
2127
2128    /**
2129     * Returns a count of the current number of repetitions of Procedure Code Modifier (OBR-45).
2130     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2131     * it will return zero.
2132     */
2133    public int getProcedureCodeModifierReps() {
2134        return this.getReps(45);
2135    }
2136
2137
2138    /**
2139     * Returns a specific repetition of
2140     * OBR-45: "Procedure Code Modifier" - creates it if necessary
2141     *
2142     * @param rep The repetition index (0-indexed)
2143     */
2144    public CE getProcedureCodeModifier(int rep) { 
2145                CE retVal = this.getTypedField(45, rep);
2146                return retVal;
2147    }
2148
2149    /**
2150     * Returns a specific repetition of
2151     * OBR-45: "Procedure Code Modifier" - creates it if necessary
2152     *
2153     * @param rep The repetition index (0-indexed)
2154     */
2155    public CE getObr45_ProcedureCodeModifier(int rep) { 
2156                CE retVal = this.getTypedField(45, rep);
2157                return retVal;
2158    }
2159
2160    /**
2161     * Returns a count of the current number of repetitions of Procedure Code Modifier (OBR-45).
2162     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
2163     * it will return zero.
2164     */
2165    public int getObr45_ProcedureCodeModifierReps() {
2166        return this.getReps(45);
2167    }
2168
2169
2170    /**
2171     * Inserts a repetition of
2172     * OBR-45: "Procedure Code Modifier" at a specific index
2173     *
2174     * @param rep The repetition index (0-indexed)
2175     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2176     */
2177    public CE insertProcedureCodeModifier(int rep) throws HL7Exception { 
2178        return (CE) super.insertRepetition(45, rep);
2179    }
2180
2181
2182    /**
2183     * Inserts a repetition of
2184     * OBR-45: "Procedure Code Modifier" at a specific index
2185     *
2186     * @param rep The repetition index (0-indexed)
2187     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2188     */
2189    public CE insertObr45_ProcedureCodeModifier(int rep) throws HL7Exception { 
2190        return (CE) super.insertRepetition(45, rep);
2191    }
2192
2193
2194    /**
2195     * Removes a repetition of
2196     * OBR-45: "Procedure Code Modifier" at a specific index
2197     *
2198     * @param rep The repetition index (0-indexed)
2199     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2200     */
2201    public CE removeProcedureCodeModifier(int rep) throws HL7Exception { 
2202        return (CE) super.removeRepetition(45, rep);
2203    }
2204
2205
2206    /**
2207     * Removes a repetition of
2208     * OBR-45: "Procedure Code Modifier" at a specific index
2209     *
2210     * @param rep The repetition index (0-indexed)
2211     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
2212     */
2213    public CE removeObr45_ProcedureCodeModifier(int rep) throws HL7Exception { 
2214        return (CE) super.removeRepetition(45, rep);
2215    }
2216
2217
2218
2219
2220
2221
2222    /** {@inheritDoc} */   
2223    protected Type createNewTypeWithoutReflection(int field) {
2224       switch (field) {
2225          case 0: return new SI(getMessage());
2226          case 1: return new EI(getMessage());
2227          case 2: return new EI(getMessage());
2228          case 3: return new CE(getMessage());
2229          case 4: return new ID(getMessage(), new Integer( 0 ));
2230          case 5: return new TS(getMessage());
2231          case 6: return new TS(getMessage());
2232          case 7: return new TS(getMessage());
2233          case 8: return new CQ(getMessage());
2234          case 9: return new XCN(getMessage());
2235          case 10: return new ID(getMessage(), new Integer( 65 ));
2236          case 11: return new CE(getMessage());
2237          case 12: return new ST(getMessage());
2238          case 13: return new TS(getMessage());
2239          case 14: return new SPS(getMessage());
2240          case 15: return new XCN(getMessage());
2241          case 16: return new XTN(getMessage());
2242          case 17: return new ST(getMessage());
2243          case 18: return new ST(getMessage());
2244          case 19: return new ST(getMessage());
2245          case 20: return new ST(getMessage());
2246          case 21: return new TS(getMessage());
2247          case 22: return new MOC(getMessage());
2248          case 23: return new ID(getMessage(), new Integer( 74 ));
2249          case 24: return new ID(getMessage(), new Integer( 123 ));
2250          case 25: return new PRL(getMessage());
2251          case 26: return new TQ(getMessage());
2252          case 27: return new XCN(getMessage());
2253          case 28: return new EIP(getMessage());
2254          case 29: return new ID(getMessage(), new Integer( 124 ));
2255          case 30: return new CE(getMessage());
2256          case 31: return new NDL(getMessage());
2257          case 32: return new NDL(getMessage());
2258          case 33: return new NDL(getMessage());
2259          case 34: return new NDL(getMessage());
2260          case 35: return new TS(getMessage());
2261          case 36: return new NM(getMessage());
2262          case 37: return new CE(getMessage());
2263          case 38: return new CE(getMessage());
2264          case 39: return new CE(getMessage());
2265          case 40: return new ID(getMessage(), new Integer( 224 ));
2266          case 41: return new ID(getMessage(), new Integer( 225 ));
2267          case 42: return new CE(getMessage());
2268          case 43: return new CE(getMessage());
2269          case 44: return new CE(getMessage());
2270          default: return null;
2271       }
2272   }
2273
2274
2275}
2276