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