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.v251.segment;
035
036// import ca.uhn.hl7v2.model.v251.group.*;
037import ca.uhn.hl7v2.model.v251.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 ARQ message segment (Appointment Request). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>ARQ-1: Placer Appointment ID (EI) <b> </b>
052     * <li>ARQ-2: Filler Appointment ID (EI) <b>optional </b>
053     * <li>ARQ-3: Occurrence Number (NM) <b>optional </b>
054     * <li>ARQ-4: Placer Group Number (EI) <b>optional </b>
055     * <li>ARQ-5: Schedule ID (CE) <b>optional </b>
056     * <li>ARQ-6: Request Event Reason (CE) <b>optional </b>
057     * <li>ARQ-7: Appointment Reason (CE) <b>optional </b>
058     * <li>ARQ-8: Appointment Type (CE) <b>optional </b>
059     * <li>ARQ-9: Appointment Duration (NM) <b>optional </b>
060     * <li>ARQ-10: Appointment Duration Units (CE) <b>optional </b>
061     * <li>ARQ-11: Requested Start Date/Time Range (DR) <b>optional repeating</b>
062     * <li>ARQ-12: Priority-ARQ (ST) <b>optional </b>
063     * <li>ARQ-13: Repeating Interval (RI) <b>optional </b>
064     * <li>ARQ-14: Repeating Interval Duration (ST) <b>optional </b>
065     * <li>ARQ-15: Placer Contact Person (XCN) <b> repeating</b>
066     * <li>ARQ-16: Placer Contact Phone Number (XTN) <b>optional repeating</b>
067     * <li>ARQ-17: Placer Contact Address (XAD) <b>optional repeating</b>
068     * <li>ARQ-18: Placer Contact Location (PL) <b>optional </b>
069     * <li>ARQ-19: Entered By Person (XCN) <b> repeating</b>
070     * <li>ARQ-20: Entered By Phone Number (XTN) <b>optional repeating</b>
071     * <li>ARQ-21: Entered By Location (PL) <b>optional </b>
072     * <li>ARQ-22: Parent Placer Appointment ID (EI) <b>optional </b>
073     * <li>ARQ-23: Parent Filler Appointment ID (EI) <b>optional </b>
074     * <li>ARQ-24: Placer Order Number (EI) <b>optional repeating</b>
075     * <li>ARQ-25: Filler Order Number (EI) <b>optional repeating</b>
076 * </ul>
077 */
078@SuppressWarnings("unused")
079public class ARQ extends AbstractSegment {
080
081    /** 
082     * Creates a new ARQ segment
083     */
084    public ARQ(Group parent, ModelClassFactory factory) {
085       super(parent, factory);
086       init(factory);
087    }
088
089    private void init(ModelClassFactory factory) {
090       try {
091                                  this.add(EI.class, true, 1, 75, new Object[]{ getMessage() }, "Placer Appointment ID");
092                                  this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Filler Appointment ID");
093                                  this.add(NM.class, false, 1, 5, new Object[]{ getMessage() }, "Occurrence Number");
094                                  this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Group Number");
095                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Schedule ID");
096                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Request Event Reason");
097                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Appointment Reason");
098                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Appointment Type");
099                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Appointment Duration");
100                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Appointment Duration Units");
101                                  this.add(DR.class, false, 0, 53, new Object[]{ getMessage() }, "Requested Start Date/Time Range");
102                                  this.add(ST.class, false, 1, 5, new Object[]{ getMessage() }, "Priority-ARQ");
103                                  this.add(RI.class, false, 1, 100, new Object[]{ getMessage() }, "Repeating Interval");
104                                  this.add(ST.class, false, 1, 5, new Object[]{ getMessage() }, "Repeating Interval Duration");
105                                  this.add(XCN.class, true, 0, 250, new Object[]{ getMessage() }, "Placer Contact Person");
106                                  this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Placer Contact Phone Number");
107                                  this.add(XAD.class, false, 0, 250, new Object[]{ getMessage() }, "Placer Contact Address");
108                                  this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Placer Contact Location");
109                                  this.add(XCN.class, true, 0, 250, new Object[]{ getMessage() }, "Entered By Person");
110                                  this.add(XTN.class, false, 0, 250, new Object[]{ getMessage() }, "Entered By Phone Number");
111                                  this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Entered By Location");
112                                  this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Parent Placer Appointment ID");
113                                  this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Parent Filler Appointment ID");
114                                  this.add(EI.class, false, 0, 22, new Object[]{ getMessage() }, "Placer Order Number");
115                                  this.add(EI.class, false, 0, 22, new Object[]{ getMessage() }, "Filler Order Number");
116       } catch(HL7Exception e) {
117          log.error("Unexpected error creating ARQ - this is probably a bug in the source code generator.", e);
118       }
119    }
120
121
122
123    /**
124     * Returns
125     * ARQ-1: "Placer Appointment ID" - creates it if necessary
126     */
127    public EI getPlacerAppointmentID() { 
128                EI retVal = this.getTypedField(1, 0);
129                return retVal;
130    }
131    
132    /**
133     * Returns
134     * ARQ-1: "Placer Appointment ID" - creates it if necessary
135     */
136    public EI getArq1_PlacerAppointmentID() { 
137                EI retVal = this.getTypedField(1, 0);
138                return retVal;
139    }
140
141
142
143    /**
144     * Returns
145     * ARQ-2: "Filler Appointment ID" - creates it if necessary
146     */
147    public EI getFillerAppointmentID() { 
148                EI retVal = this.getTypedField(2, 0);
149                return retVal;
150    }
151    
152    /**
153     * Returns
154     * ARQ-2: "Filler Appointment ID" - creates it if necessary
155     */
156    public EI getArq2_FillerAppointmentID() { 
157                EI retVal = this.getTypedField(2, 0);
158                return retVal;
159    }
160
161
162
163    /**
164     * Returns
165     * ARQ-3: "Occurrence Number" - creates it if necessary
166     */
167    public NM getOccurrenceNumber() { 
168                NM retVal = this.getTypedField(3, 0);
169                return retVal;
170    }
171    
172    /**
173     * Returns
174     * ARQ-3: "Occurrence Number" - creates it if necessary
175     */
176    public NM getArq3_OccurrenceNumber() { 
177                NM retVal = this.getTypedField(3, 0);
178                return retVal;
179    }
180
181
182
183    /**
184     * Returns
185     * ARQ-4: "Placer Group Number" - creates it if necessary
186     */
187    public EI getPlacerGroupNumber() { 
188                EI retVal = this.getTypedField(4, 0);
189                return retVal;
190    }
191    
192    /**
193     * Returns
194     * ARQ-4: "Placer Group Number" - creates it if necessary
195     */
196    public EI getArq4_PlacerGroupNumber() { 
197                EI retVal = this.getTypedField(4, 0);
198                return retVal;
199    }
200
201
202
203    /**
204     * Returns
205     * ARQ-5: "Schedule ID" - creates it if necessary
206     */
207    public CE getScheduleID() { 
208                CE retVal = this.getTypedField(5, 0);
209                return retVal;
210    }
211    
212    /**
213     * Returns
214     * ARQ-5: "Schedule ID" - creates it if necessary
215     */
216    public CE getArq5_ScheduleID() { 
217                CE retVal = this.getTypedField(5, 0);
218                return retVal;
219    }
220
221
222
223    /**
224     * Returns
225     * ARQ-6: "Request Event Reason" - creates it if necessary
226     */
227    public CE getRequestEventReason() { 
228                CE retVal = this.getTypedField(6, 0);
229                return retVal;
230    }
231    
232    /**
233     * Returns
234     * ARQ-6: "Request Event Reason" - creates it if necessary
235     */
236    public CE getArq6_RequestEventReason() { 
237                CE retVal = this.getTypedField(6, 0);
238                return retVal;
239    }
240
241
242
243    /**
244     * Returns
245     * ARQ-7: "Appointment Reason" - creates it if necessary
246     */
247    public CE getAppointmentReason() { 
248                CE retVal = this.getTypedField(7, 0);
249                return retVal;
250    }
251    
252    /**
253     * Returns
254     * ARQ-7: "Appointment Reason" - creates it if necessary
255     */
256    public CE getArq7_AppointmentReason() { 
257                CE retVal = this.getTypedField(7, 0);
258                return retVal;
259    }
260
261
262
263    /**
264     * Returns
265     * ARQ-8: "Appointment Type" - creates it if necessary
266     */
267    public CE getAppointmentType() { 
268                CE retVal = this.getTypedField(8, 0);
269                return retVal;
270    }
271    
272    /**
273     * Returns
274     * ARQ-8: "Appointment Type" - creates it if necessary
275     */
276    public CE getArq8_AppointmentType() { 
277                CE retVal = this.getTypedField(8, 0);
278                return retVal;
279    }
280
281
282
283    /**
284     * Returns
285     * ARQ-9: "Appointment Duration" - creates it if necessary
286     */
287    public NM getAppointmentDuration() { 
288                NM retVal = this.getTypedField(9, 0);
289                return retVal;
290    }
291    
292    /**
293     * Returns
294     * ARQ-9: "Appointment Duration" - creates it if necessary
295     */
296    public NM getArq9_AppointmentDuration() { 
297                NM retVal = this.getTypedField(9, 0);
298                return retVal;
299    }
300
301
302
303    /**
304     * Returns
305     * ARQ-10: "Appointment Duration Units" - creates it if necessary
306     */
307    public CE getAppointmentDurationUnits() { 
308                CE retVal = this.getTypedField(10, 0);
309                return retVal;
310    }
311    
312    /**
313     * Returns
314     * ARQ-10: "Appointment Duration Units" - creates it if necessary
315     */
316    public CE getArq10_AppointmentDurationUnits() { 
317                CE retVal = this.getTypedField(10, 0);
318                return retVal;
319    }
320
321
322    /**
323     * Returns all repetitions of Requested Start Date/Time Range (ARQ-11).
324     */
325    public DR[] getRequestedStartDateTimeRange() {
326        DR[] retVal = this.getTypedField(11, new DR[0]);
327        return retVal;
328    }
329
330
331    /**
332     * Returns all repetitions of Requested Start Date/Time Range (ARQ-11).
333     */
334    public DR[] getArq11_RequestedStartDateTimeRange() {
335        DR[] retVal = this.getTypedField(11, new DR[0]);
336        return retVal;
337    }
338
339
340    /**
341     * Returns a count of the current number of repetitions of Requested Start Date/Time Range (ARQ-11).
342     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
343     * it will return zero.
344     */
345    public int getRequestedStartDateTimeRangeReps() {
346        return this.getReps(11);
347    }
348
349
350    /**
351     * Returns a specific repetition of
352     * ARQ-11: "Requested Start Date/Time Range" - creates it if necessary
353     *
354     * @param rep The repetition index (0-indexed)
355     */
356    public DR getRequestedStartDateTimeRange(int rep) { 
357                DR retVal = this.getTypedField(11, rep);
358                return retVal;
359    }
360
361    /**
362     * Returns a specific repetition of
363     * ARQ-11: "Requested Start Date/Time Range" - creates it if necessary
364     *
365     * @param rep The repetition index (0-indexed)
366     */
367    public DR getArq11_RequestedStartDateTimeRange(int rep) { 
368                DR retVal = this.getTypedField(11, rep);
369                return retVal;
370    }
371
372    /**
373     * Returns a count of the current number of repetitions of Requested Start Date/Time Range (ARQ-11).
374     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
375     * it will return zero.
376     */
377    public int getArq11_RequestedStartDateTimeRangeReps() {
378        return this.getReps(11);
379    }
380
381
382    /**
383     * Inserts a repetition of
384     * ARQ-11: "Requested Start Date/Time Range" at a specific index
385     *
386     * @param rep The repetition index (0-indexed)
387     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
388     */
389    public DR insertRequestedStartDateTimeRange(int rep) throws HL7Exception { 
390        return (DR) super.insertRepetition(11, rep);
391    }
392
393
394    /**
395     * Inserts a repetition of
396     * ARQ-11: "Requested Start Date/Time Range" at a specific index
397     *
398     * @param rep The repetition index (0-indexed)
399     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
400     */
401    public DR insertArq11_RequestedStartDateTimeRange(int rep) throws HL7Exception { 
402        return (DR) super.insertRepetition(11, rep);
403    }
404
405
406    /**
407     * Removes a repetition of
408     * ARQ-11: "Requested Start Date/Time Range" at a specific index
409     *
410     * @param rep The repetition index (0-indexed)
411     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
412     */
413    public DR removeRequestedStartDateTimeRange(int rep) throws HL7Exception { 
414        return (DR) super.removeRepetition(11, rep);
415    }
416
417
418    /**
419     * Removes a repetition of
420     * ARQ-11: "Requested Start Date/Time Range" at a specific index
421     *
422     * @param rep The repetition index (0-indexed)
423     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
424     */
425    public DR removeArq11_RequestedStartDateTimeRange(int rep) throws HL7Exception { 
426        return (DR) super.removeRepetition(11, rep);
427    }
428
429
430
431
432    /**
433     * Returns
434     * ARQ-12: "Priority-ARQ" - creates it if necessary
435     */
436    public ST getPriorityARQ() { 
437                ST retVal = this.getTypedField(12, 0);
438                return retVal;
439    }
440    
441    /**
442     * Returns
443     * ARQ-12: "Priority-ARQ" - creates it if necessary
444     */
445    public ST getArq12_PriorityARQ() { 
446                ST retVal = this.getTypedField(12, 0);
447                return retVal;
448    }
449
450
451
452    /**
453     * Returns
454     * ARQ-13: "Repeating Interval" - creates it if necessary
455     */
456    public RI getRepeatingInterval() { 
457                RI retVal = this.getTypedField(13, 0);
458                return retVal;
459    }
460    
461    /**
462     * Returns
463     * ARQ-13: "Repeating Interval" - creates it if necessary
464     */
465    public RI getArq13_RepeatingInterval() { 
466                RI retVal = this.getTypedField(13, 0);
467                return retVal;
468    }
469
470
471
472    /**
473     * Returns
474     * ARQ-14: "Repeating Interval Duration" - creates it if necessary
475     */
476    public ST getRepeatingIntervalDuration() { 
477                ST retVal = this.getTypedField(14, 0);
478                return retVal;
479    }
480    
481    /**
482     * Returns
483     * ARQ-14: "Repeating Interval Duration" - creates it if necessary
484     */
485    public ST getArq14_RepeatingIntervalDuration() { 
486                ST retVal = this.getTypedField(14, 0);
487                return retVal;
488    }
489
490
491    /**
492     * Returns all repetitions of Placer Contact Person (ARQ-15).
493     */
494    public XCN[] getPlacerContactPerson() {
495        XCN[] retVal = this.getTypedField(15, new XCN[0]);
496        return retVal;
497    }
498
499
500    /**
501     * Returns all repetitions of Placer Contact Person (ARQ-15).
502     */
503    public XCN[] getArq15_PlacerContactPerson() {
504        XCN[] retVal = this.getTypedField(15, new XCN[0]);
505        return retVal;
506    }
507
508
509    /**
510     * Returns a count of the current number of repetitions of Placer Contact Person (ARQ-15).
511     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
512     * it will return zero.
513     */
514    public int getPlacerContactPersonReps() {
515        return this.getReps(15);
516    }
517
518
519    /**
520     * Returns a specific repetition of
521     * ARQ-15: "Placer Contact Person" - creates it if necessary
522     *
523     * @param rep The repetition index (0-indexed)
524     */
525    public XCN getPlacerContactPerson(int rep) { 
526                XCN retVal = this.getTypedField(15, rep);
527                return retVal;
528    }
529
530    /**
531     * Returns a specific repetition of
532     * ARQ-15: "Placer Contact Person" - creates it if necessary
533     *
534     * @param rep The repetition index (0-indexed)
535     */
536    public XCN getArq15_PlacerContactPerson(int rep) { 
537                XCN retVal = this.getTypedField(15, rep);
538                return retVal;
539    }
540
541    /**
542     * Returns a count of the current number of repetitions of Placer Contact Person (ARQ-15).
543     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
544     * it will return zero.
545     */
546    public int getArq15_PlacerContactPersonReps() {
547        return this.getReps(15);
548    }
549
550
551    /**
552     * Inserts a repetition of
553     * ARQ-15: "Placer Contact Person" at a specific index
554     *
555     * @param rep The repetition index (0-indexed)
556     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
557     */
558    public XCN insertPlacerContactPerson(int rep) throws HL7Exception { 
559        return (XCN) super.insertRepetition(15, rep);
560    }
561
562
563    /**
564     * Inserts a repetition of
565     * ARQ-15: "Placer Contact Person" at a specific index
566     *
567     * @param rep The repetition index (0-indexed)
568     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
569     */
570    public XCN insertArq15_PlacerContactPerson(int rep) throws HL7Exception { 
571        return (XCN) super.insertRepetition(15, rep);
572    }
573
574
575    /**
576     * Removes a repetition of
577     * ARQ-15: "Placer Contact Person" at a specific index
578     *
579     * @param rep The repetition index (0-indexed)
580     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
581     */
582    public XCN removePlacerContactPerson(int rep) throws HL7Exception { 
583        return (XCN) super.removeRepetition(15, rep);
584    }
585
586
587    /**
588     * Removes a repetition of
589     * ARQ-15: "Placer Contact Person" at a specific index
590     *
591     * @param rep The repetition index (0-indexed)
592     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
593     */
594    public XCN removeArq15_PlacerContactPerson(int rep) throws HL7Exception { 
595        return (XCN) super.removeRepetition(15, rep);
596    }
597
598
599
600    /**
601     * Returns all repetitions of Placer Contact Phone Number (ARQ-16).
602     */
603    public XTN[] getPlacerContactPhoneNumber() {
604        XTN[] retVal = this.getTypedField(16, new XTN[0]);
605        return retVal;
606    }
607
608
609    /**
610     * Returns all repetitions of Placer Contact Phone Number (ARQ-16).
611     */
612    public XTN[] getArq16_PlacerContactPhoneNumber() {
613        XTN[] retVal = this.getTypedField(16, new XTN[0]);
614        return retVal;
615    }
616
617
618    /**
619     * Returns a count of the current number of repetitions of Placer Contact Phone Number (ARQ-16).
620     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
621     * it will return zero.
622     */
623    public int getPlacerContactPhoneNumberReps() {
624        return this.getReps(16);
625    }
626
627
628    /**
629     * Returns a specific repetition of
630     * ARQ-16: "Placer Contact Phone Number" - creates it if necessary
631     *
632     * @param rep The repetition index (0-indexed)
633     */
634    public XTN getPlacerContactPhoneNumber(int rep) { 
635                XTN retVal = this.getTypedField(16, rep);
636                return retVal;
637    }
638
639    /**
640     * Returns a specific repetition of
641     * ARQ-16: "Placer Contact Phone Number" - creates it if necessary
642     *
643     * @param rep The repetition index (0-indexed)
644     */
645    public XTN getArq16_PlacerContactPhoneNumber(int rep) { 
646                XTN retVal = this.getTypedField(16, rep);
647                return retVal;
648    }
649
650    /**
651     * Returns a count of the current number of repetitions of Placer Contact Phone Number (ARQ-16).
652     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
653     * it will return zero.
654     */
655    public int getArq16_PlacerContactPhoneNumberReps() {
656        return this.getReps(16);
657    }
658
659
660    /**
661     * Inserts a repetition of
662     * ARQ-16: "Placer Contact Phone Number" at a specific index
663     *
664     * @param rep The repetition index (0-indexed)
665     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
666     */
667    public XTN insertPlacerContactPhoneNumber(int rep) throws HL7Exception { 
668        return (XTN) super.insertRepetition(16, rep);
669    }
670
671
672    /**
673     * Inserts a repetition of
674     * ARQ-16: "Placer Contact Phone Number" at a specific index
675     *
676     * @param rep The repetition index (0-indexed)
677     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
678     */
679    public XTN insertArq16_PlacerContactPhoneNumber(int rep) throws HL7Exception { 
680        return (XTN) super.insertRepetition(16, rep);
681    }
682
683
684    /**
685     * Removes a repetition of
686     * ARQ-16: "Placer Contact Phone Number" at a specific index
687     *
688     * @param rep The repetition index (0-indexed)
689     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
690     */
691    public XTN removePlacerContactPhoneNumber(int rep) throws HL7Exception { 
692        return (XTN) super.removeRepetition(16, rep);
693    }
694
695
696    /**
697     * Removes a repetition of
698     * ARQ-16: "Placer Contact Phone Number" 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 XTN removeArq16_PlacerContactPhoneNumber(int rep) throws HL7Exception { 
704        return (XTN) super.removeRepetition(16, rep);
705    }
706
707
708
709    /**
710     * Returns all repetitions of Placer Contact Address (ARQ-17).
711     */
712    public XAD[] getPlacerContactAddress() {
713        XAD[] retVal = this.getTypedField(17, new XAD[0]);
714        return retVal;
715    }
716
717
718    /**
719     * Returns all repetitions of Placer Contact Address (ARQ-17).
720     */
721    public XAD[] getArq17_PlacerContactAddress() {
722        XAD[] retVal = this.getTypedField(17, new XAD[0]);
723        return retVal;
724    }
725
726
727    /**
728     * Returns a count of the current number of repetitions of Placer Contact Address (ARQ-17).
729     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
730     * it will return zero.
731     */
732    public int getPlacerContactAddressReps() {
733        return this.getReps(17);
734    }
735
736
737    /**
738     * Returns a specific repetition of
739     * ARQ-17: "Placer Contact Address" - creates it if necessary
740     *
741     * @param rep The repetition index (0-indexed)
742     */
743    public XAD getPlacerContactAddress(int rep) { 
744                XAD retVal = this.getTypedField(17, rep);
745                return retVal;
746    }
747
748    /**
749     * Returns a specific repetition of
750     * ARQ-17: "Placer Contact Address" - creates it if necessary
751     *
752     * @param rep The repetition index (0-indexed)
753     */
754    public XAD getArq17_PlacerContactAddress(int rep) { 
755                XAD retVal = this.getTypedField(17, rep);
756                return retVal;
757    }
758
759    /**
760     * Returns a count of the current number of repetitions of Placer Contact Address (ARQ-17).
761     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
762     * it will return zero.
763     */
764    public int getArq17_PlacerContactAddressReps() {
765        return this.getReps(17);
766    }
767
768
769    /**
770     * Inserts a repetition of
771     * ARQ-17: "Placer Contact Address" at a specific index
772     *
773     * @param rep The repetition index (0-indexed)
774     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
775     */
776    public XAD insertPlacerContactAddress(int rep) throws HL7Exception { 
777        return (XAD) super.insertRepetition(17, rep);
778    }
779
780
781    /**
782     * Inserts a repetition of
783     * ARQ-17: "Placer Contact Address" at a specific index
784     *
785     * @param rep The repetition index (0-indexed)
786     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
787     */
788    public XAD insertArq17_PlacerContactAddress(int rep) throws HL7Exception { 
789        return (XAD) super.insertRepetition(17, rep);
790    }
791
792
793    /**
794     * Removes a repetition of
795     * ARQ-17: "Placer Contact Address" at a specific index
796     *
797     * @param rep The repetition index (0-indexed)
798     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
799     */
800    public XAD removePlacerContactAddress(int rep) throws HL7Exception { 
801        return (XAD) super.removeRepetition(17, rep);
802    }
803
804
805    /**
806     * Removes a repetition of
807     * ARQ-17: "Placer Contact Address" 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 XAD removeArq17_PlacerContactAddress(int rep) throws HL7Exception { 
813        return (XAD) super.removeRepetition(17, rep);
814    }
815
816
817
818
819    /**
820     * Returns
821     * ARQ-18: "Placer Contact Location" - creates it if necessary
822     */
823    public PL getPlacerContactLocation() { 
824                PL retVal = this.getTypedField(18, 0);
825                return retVal;
826    }
827    
828    /**
829     * Returns
830     * ARQ-18: "Placer Contact Location" - creates it if necessary
831     */
832    public PL getArq18_PlacerContactLocation() { 
833                PL retVal = this.getTypedField(18, 0);
834                return retVal;
835    }
836
837
838    /**
839     * Returns all repetitions of Entered By Person (ARQ-19).
840     */
841    public XCN[] getEnteredByPerson() {
842        XCN[] retVal = this.getTypedField(19, new XCN[0]);
843        return retVal;
844    }
845
846
847    /**
848     * Returns all repetitions of Entered By Person (ARQ-19).
849     */
850    public XCN[] getArq19_EnteredByPerson() {
851        XCN[] retVal = this.getTypedField(19, new XCN[0]);
852        return retVal;
853    }
854
855
856    /**
857     * Returns a count of the current number of repetitions of Entered By Person (ARQ-19).
858     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
859     * it will return zero.
860     */
861    public int getEnteredByPersonReps() {
862        return this.getReps(19);
863    }
864
865
866    /**
867     * Returns a specific repetition of
868     * ARQ-19: "Entered By Person" - creates it if necessary
869     *
870     * @param rep The repetition index (0-indexed)
871     */
872    public XCN getEnteredByPerson(int rep) { 
873                XCN retVal = this.getTypedField(19, rep);
874                return retVal;
875    }
876
877    /**
878     * Returns a specific repetition of
879     * ARQ-19: "Entered By Person" - creates it if necessary
880     *
881     * @param rep The repetition index (0-indexed)
882     */
883    public XCN getArq19_EnteredByPerson(int rep) { 
884                XCN retVal = this.getTypedField(19, rep);
885                return retVal;
886    }
887
888    /**
889     * Returns a count of the current number of repetitions of Entered By Person (ARQ-19).
890     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
891     * it will return zero.
892     */
893    public int getArq19_EnteredByPersonReps() {
894        return this.getReps(19);
895    }
896
897
898    /**
899     * Inserts a repetition of
900     * ARQ-19: "Entered By Person" at a specific index
901     *
902     * @param rep The repetition index (0-indexed)
903     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
904     */
905    public XCN insertEnteredByPerson(int rep) throws HL7Exception { 
906        return (XCN) super.insertRepetition(19, rep);
907    }
908
909
910    /**
911     * Inserts a repetition of
912     * ARQ-19: "Entered By Person" at a specific index
913     *
914     * @param rep The repetition index (0-indexed)
915     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
916     */
917    public XCN insertArq19_EnteredByPerson(int rep) throws HL7Exception { 
918        return (XCN) super.insertRepetition(19, rep);
919    }
920
921
922    /**
923     * Removes a repetition of
924     * ARQ-19: "Entered By Person" at a specific index
925     *
926     * @param rep The repetition index (0-indexed)
927     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
928     */
929    public XCN removeEnteredByPerson(int rep) throws HL7Exception { 
930        return (XCN) super.removeRepetition(19, rep);
931    }
932
933
934    /**
935     * Removes a repetition of
936     * ARQ-19: "Entered By Person" at a specific index
937     *
938     * @param rep The repetition index (0-indexed)
939     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
940     */
941    public XCN removeArq19_EnteredByPerson(int rep) throws HL7Exception { 
942        return (XCN) super.removeRepetition(19, rep);
943    }
944
945
946
947    /**
948     * Returns all repetitions of Entered By Phone Number (ARQ-20).
949     */
950    public XTN[] getEnteredByPhoneNumber() {
951        XTN[] retVal = this.getTypedField(20, new XTN[0]);
952        return retVal;
953    }
954
955
956    /**
957     * Returns all repetitions of Entered By Phone Number (ARQ-20).
958     */
959    public XTN[] getArq20_EnteredByPhoneNumber() {
960        XTN[] retVal = this.getTypedField(20, new XTN[0]);
961        return retVal;
962    }
963
964
965    /**
966     * Returns a count of the current number of repetitions of Entered By Phone Number (ARQ-20).
967     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
968     * it will return zero.
969     */
970    public int getEnteredByPhoneNumberReps() {
971        return this.getReps(20);
972    }
973
974
975    /**
976     * Returns a specific repetition of
977     * ARQ-20: "Entered By Phone Number" - creates it if necessary
978     *
979     * @param rep The repetition index (0-indexed)
980     */
981    public XTN getEnteredByPhoneNumber(int rep) { 
982                XTN retVal = this.getTypedField(20, rep);
983                return retVal;
984    }
985
986    /**
987     * Returns a specific repetition of
988     * ARQ-20: "Entered By Phone Number" - creates it if necessary
989     *
990     * @param rep The repetition index (0-indexed)
991     */
992    public XTN getArq20_EnteredByPhoneNumber(int rep) { 
993                XTN retVal = this.getTypedField(20, rep);
994                return retVal;
995    }
996
997    /**
998     * Returns a count of the current number of repetitions of Entered By Phone Number (ARQ-20).
999     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1000     * it will return zero.
1001     */
1002    public int getArq20_EnteredByPhoneNumberReps() {
1003        return this.getReps(20);
1004    }
1005
1006
1007    /**
1008     * Inserts a repetition of
1009     * ARQ-20: "Entered By Phone Number" at a specific index
1010     *
1011     * @param rep The repetition index (0-indexed)
1012     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1013     */
1014    public XTN insertEnteredByPhoneNumber(int rep) throws HL7Exception { 
1015        return (XTN) super.insertRepetition(20, rep);
1016    }
1017
1018
1019    /**
1020     * Inserts a repetition of
1021     * ARQ-20: "Entered By Phone Number" at a specific index
1022     *
1023     * @param rep The repetition index (0-indexed)
1024     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1025     */
1026    public XTN insertArq20_EnteredByPhoneNumber(int rep) throws HL7Exception { 
1027        return (XTN) super.insertRepetition(20, rep);
1028    }
1029
1030
1031    /**
1032     * Removes a repetition of
1033     * ARQ-20: "Entered By Phone Number" at a specific index
1034     *
1035     * @param rep The repetition index (0-indexed)
1036     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1037     */
1038    public XTN removeEnteredByPhoneNumber(int rep) throws HL7Exception { 
1039        return (XTN) super.removeRepetition(20, rep);
1040    }
1041
1042
1043    /**
1044     * Removes a repetition of
1045     * ARQ-20: "Entered By Phone Number" at a specific index
1046     *
1047     * @param rep The repetition index (0-indexed)
1048     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1049     */
1050    public XTN removeArq20_EnteredByPhoneNumber(int rep) throws HL7Exception { 
1051        return (XTN) super.removeRepetition(20, rep);
1052    }
1053
1054
1055
1056
1057    /**
1058     * Returns
1059     * ARQ-21: "Entered By Location" - creates it if necessary
1060     */
1061    public PL getEnteredByLocation() { 
1062                PL retVal = this.getTypedField(21, 0);
1063                return retVal;
1064    }
1065    
1066    /**
1067     * Returns
1068     * ARQ-21: "Entered By Location" - creates it if necessary
1069     */
1070    public PL getArq21_EnteredByLocation() { 
1071                PL retVal = this.getTypedField(21, 0);
1072                return retVal;
1073    }
1074
1075
1076
1077    /**
1078     * Returns
1079     * ARQ-22: "Parent Placer Appointment ID" - creates it if necessary
1080     */
1081    public EI getParentPlacerAppointmentID() { 
1082                EI retVal = this.getTypedField(22, 0);
1083                return retVal;
1084    }
1085    
1086    /**
1087     * Returns
1088     * ARQ-22: "Parent Placer Appointment ID" - creates it if necessary
1089     */
1090    public EI getArq22_ParentPlacerAppointmentID() { 
1091                EI retVal = this.getTypedField(22, 0);
1092                return retVal;
1093    }
1094
1095
1096
1097    /**
1098     * Returns
1099     * ARQ-23: "Parent Filler Appointment ID" - creates it if necessary
1100     */
1101    public EI getParentFillerAppointmentID() { 
1102                EI retVal = this.getTypedField(23, 0);
1103                return retVal;
1104    }
1105    
1106    /**
1107     * Returns
1108     * ARQ-23: "Parent Filler Appointment ID" - creates it if necessary
1109     */
1110    public EI getArq23_ParentFillerAppointmentID() { 
1111                EI retVal = this.getTypedField(23, 0);
1112                return retVal;
1113    }
1114
1115
1116    /**
1117     * Returns all repetitions of Placer Order Number (ARQ-24).
1118     */
1119    public EI[] getPlacerOrderNumber() {
1120        EI[] retVal = this.getTypedField(24, new EI[0]);
1121        return retVal;
1122    }
1123
1124
1125    /**
1126     * Returns all repetitions of Placer Order Number (ARQ-24).
1127     */
1128    public EI[] getArq24_PlacerOrderNumber() {
1129        EI[] retVal = this.getTypedField(24, new EI[0]);
1130        return retVal;
1131    }
1132
1133
1134    /**
1135     * Returns a count of the current number of repetitions of Placer Order Number (ARQ-24).
1136     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1137     * it will return zero.
1138     */
1139    public int getPlacerOrderNumberReps() {
1140        return this.getReps(24);
1141    }
1142
1143
1144    /**
1145     * Returns a specific repetition of
1146     * ARQ-24: "Placer Order Number" - creates it if necessary
1147     *
1148     * @param rep The repetition index (0-indexed)
1149     */
1150    public EI getPlacerOrderNumber(int rep) { 
1151                EI retVal = this.getTypedField(24, rep);
1152                return retVal;
1153    }
1154
1155    /**
1156     * Returns a specific repetition of
1157     * ARQ-24: "Placer Order Number" - creates it if necessary
1158     *
1159     * @param rep The repetition index (0-indexed)
1160     */
1161    public EI getArq24_PlacerOrderNumber(int rep) { 
1162                EI retVal = this.getTypedField(24, rep);
1163                return retVal;
1164    }
1165
1166    /**
1167     * Returns a count of the current number of repetitions of Placer Order Number (ARQ-24).
1168     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1169     * it will return zero.
1170     */
1171    public int getArq24_PlacerOrderNumberReps() {
1172        return this.getReps(24);
1173    }
1174
1175
1176    /**
1177     * Inserts a repetition of
1178     * ARQ-24: "Placer Order Number" at a specific index
1179     *
1180     * @param rep The repetition index (0-indexed)
1181     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1182     */
1183    public EI insertPlacerOrderNumber(int rep) throws HL7Exception { 
1184        return (EI) super.insertRepetition(24, rep);
1185    }
1186
1187
1188    /**
1189     * Inserts a repetition of
1190     * ARQ-24: "Placer Order Number" at a specific index
1191     *
1192     * @param rep The repetition index (0-indexed)
1193     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1194     */
1195    public EI insertArq24_PlacerOrderNumber(int rep) throws HL7Exception { 
1196        return (EI) super.insertRepetition(24, rep);
1197    }
1198
1199
1200    /**
1201     * Removes a repetition of
1202     * ARQ-24: "Placer Order Number" at a specific index
1203     *
1204     * @param rep The repetition index (0-indexed)
1205     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1206     */
1207    public EI removePlacerOrderNumber(int rep) throws HL7Exception { 
1208        return (EI) super.removeRepetition(24, rep);
1209    }
1210
1211
1212    /**
1213     * Removes a repetition of
1214     * ARQ-24: "Placer Order Number" at a specific index
1215     *
1216     * @param rep The repetition index (0-indexed)
1217     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1218     */
1219    public EI removeArq24_PlacerOrderNumber(int rep) throws HL7Exception { 
1220        return (EI) super.removeRepetition(24, rep);
1221    }
1222
1223
1224
1225    /**
1226     * Returns all repetitions of Filler Order Number (ARQ-25).
1227     */
1228    public EI[] getFillerOrderNumber() {
1229        EI[] retVal = this.getTypedField(25, new EI[0]);
1230        return retVal;
1231    }
1232
1233
1234    /**
1235     * Returns all repetitions of Filler Order Number (ARQ-25).
1236     */
1237    public EI[] getArq25_FillerOrderNumber() {
1238        EI[] retVal = this.getTypedField(25, new EI[0]);
1239        return retVal;
1240    }
1241
1242
1243    /**
1244     * Returns a count of the current number of repetitions of Filler Order Number (ARQ-25).
1245     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1246     * it will return zero.
1247     */
1248    public int getFillerOrderNumberReps() {
1249        return this.getReps(25);
1250    }
1251
1252
1253    /**
1254     * Returns a specific repetition of
1255     * ARQ-25: "Filler Order Number" - creates it if necessary
1256     *
1257     * @param rep The repetition index (0-indexed)
1258     */
1259    public EI getFillerOrderNumber(int rep) { 
1260                EI retVal = this.getTypedField(25, rep);
1261                return retVal;
1262    }
1263
1264    /**
1265     * Returns a specific repetition of
1266     * ARQ-25: "Filler Order Number" - creates it if necessary
1267     *
1268     * @param rep The repetition index (0-indexed)
1269     */
1270    public EI getArq25_FillerOrderNumber(int rep) { 
1271                EI retVal = this.getTypedField(25, rep);
1272                return retVal;
1273    }
1274
1275    /**
1276     * Returns a count of the current number of repetitions of Filler Order Number (ARQ-25).
1277     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1278     * it will return zero.
1279     */
1280    public int getArq25_FillerOrderNumberReps() {
1281        return this.getReps(25);
1282    }
1283
1284
1285    /**
1286     * Inserts a repetition of
1287     * ARQ-25: "Filler Order Number" at a specific index
1288     *
1289     * @param rep The repetition index (0-indexed)
1290     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1291     */
1292    public EI insertFillerOrderNumber(int rep) throws HL7Exception { 
1293        return (EI) super.insertRepetition(25, rep);
1294    }
1295
1296
1297    /**
1298     * Inserts a repetition of
1299     * ARQ-25: "Filler Order Number" at a specific index
1300     *
1301     * @param rep The repetition index (0-indexed)
1302     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1303     */
1304    public EI insertArq25_FillerOrderNumber(int rep) throws HL7Exception { 
1305        return (EI) super.insertRepetition(25, rep);
1306    }
1307
1308
1309    /**
1310     * Removes a repetition of
1311     * ARQ-25: "Filler Order Number" at a specific index
1312     *
1313     * @param rep The repetition index (0-indexed)
1314     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1315     */
1316    public EI removeFillerOrderNumber(int rep) throws HL7Exception { 
1317        return (EI) super.removeRepetition(25, rep);
1318    }
1319
1320
1321    /**
1322     * Removes a repetition of
1323     * ARQ-25: "Filler Order Number" at a specific index
1324     *
1325     * @param rep The repetition index (0-indexed)
1326     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1327     */
1328    public EI removeArq25_FillerOrderNumber(int rep) throws HL7Exception { 
1329        return (EI) super.removeRepetition(25, rep);
1330    }
1331
1332
1333
1334
1335
1336
1337    /** {@inheritDoc} */   
1338    protected Type createNewTypeWithoutReflection(int field) {
1339       switch (field) {
1340          case 0: return new EI(getMessage());
1341          case 1: return new EI(getMessage());
1342          case 2: return new NM(getMessage());
1343          case 3: return new EI(getMessage());
1344          case 4: return new CE(getMessage());
1345          case 5: return new CE(getMessage());
1346          case 6: return new CE(getMessage());
1347          case 7: return new CE(getMessage());
1348          case 8: return new NM(getMessage());
1349          case 9: return new CE(getMessage());
1350          case 10: return new DR(getMessage());
1351          case 11: return new ST(getMessage());
1352          case 12: return new RI(getMessage());
1353          case 13: return new ST(getMessage());
1354          case 14: return new XCN(getMessage());
1355          case 15: return new XTN(getMessage());
1356          case 16: return new XAD(getMessage());
1357          case 17: return new PL(getMessage());
1358          case 18: return new XCN(getMessage());
1359          case 19: return new XTN(getMessage());
1360          case 20: return new PL(getMessage());
1361          case 21: return new EI(getMessage());
1362          case 22: return new EI(getMessage());
1363          case 23: return new EI(getMessage());
1364          case 24: return new EI(getMessage());
1365          default: return null;
1366       }
1367   }
1368
1369
1370}
1371