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