001/*
002 * This class is an auto-generated source file for a HAPI
003 * HL7 v2.x standard structure class.
004 *
005 * For more information, visit: http://hl7api.sourceforge.net/
006 * 
007 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v231.segment;
035
036// import ca.uhn.hl7v2.model.v231.group.*;
037import ca.uhn.hl7v2.model.v231.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047/**
048 *<p>Represents an HL7 ARQ message segment (ARQ - appointment request segment). 
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 * </ul>
075 */
076@SuppressWarnings("unused")
077public class ARQ extends AbstractSegment {
078
079    /** 
080     * Creates a new ARQ segment
081     */
082    public ARQ(Group parent, ModelClassFactory factory) {
083       super(parent, factory);
084       init(factory);
085    }
086
087    private void init(ModelClassFactory factory) {
088       try {
089                                  this.add(EI.class, true, 1, 75, new Object[]{ getMessage() }, "Placer Appointment ID");
090                                  this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Filler Appointment ID");
091                                  this.add(NM.class, false, 1, 5, new Object[]{ getMessage() }, "Occurrence Number");
092                                  this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Group Number");
093                                  this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Schedule ID");
094                                  this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Request Event Reason");
095                                  this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Appointment Reason");
096                                  this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Appointment Type");
097                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Appointment Duration");
098                                  this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Appointment Duration Units");
099                                  this.add(DR.class, false, 0, 53, new Object[]{ getMessage() }, "Requested Start Date/Time Range");
100                                  this.add(ST.class, false, 1, 5, new Object[]{ getMessage() }, "Priority-ARQ");
101                                  this.add(RI.class, false, 1, 100, new Object[]{ getMessage() }, "Repeating Interval");
102                                  this.add(ST.class, false, 1, 5, new Object[]{ getMessage() }, "Repeating Interval Duration");
103                                  this.add(XCN.class, true, 0, 48, new Object[]{ getMessage() }, "Placer Contact Person");
104                                  this.add(XTN.class, false, 0, 40, new Object[]{ getMessage() }, "Placer Contact Phone Number");
105                                  this.add(XAD.class, false, 0, 106, new Object[]{ getMessage() }, "Placer Contact Address");
106                                  this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Placer Contact Location");
107                                  this.add(XCN.class, true, 0, 48, new Object[]{ getMessage() }, "Entered by Person");
108                                  this.add(XTN.class, false, 0, 40, new Object[]{ getMessage() }, "Entered by Phone Number");
109                                  this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Entered by Location");
110                                  this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Parent Placer Appointment ID");
111                                  this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Parent Filler Appointment ID");
112       } catch(HL7Exception e) {
113          log.error("Unexpected error creating ARQ - this is probably a bug in the source code generator.", e);
114       }
115    }
116
117
118
119    /**
120     * Returns
121     * ARQ-1: "Placer Appointment ID" - creates it if necessary
122     */
123    public EI getPlacerAppointmentID() { 
124                EI retVal = this.getTypedField(1, 0);
125                return retVal;
126    }
127    
128    /**
129     * Returns
130     * ARQ-1: "Placer Appointment ID" - creates it if necessary
131     */
132    public EI getArq1_PlacerAppointmentID() { 
133                EI retVal = this.getTypedField(1, 0);
134                return retVal;
135    }
136
137
138
139    /**
140     * Returns
141     * ARQ-2: "Filler Appointment ID" - creates it if necessary
142     */
143    public EI getFillerAppointmentID() { 
144                EI retVal = this.getTypedField(2, 0);
145                return retVal;
146    }
147    
148    /**
149     * Returns
150     * ARQ-2: "Filler Appointment ID" - creates it if necessary
151     */
152    public EI getArq2_FillerAppointmentID() { 
153                EI retVal = this.getTypedField(2, 0);
154                return retVal;
155    }
156
157
158
159    /**
160     * Returns
161     * ARQ-3: "Occurrence Number" - creates it if necessary
162     */
163    public NM getOccurrenceNumber() { 
164                NM retVal = this.getTypedField(3, 0);
165                return retVal;
166    }
167    
168    /**
169     * Returns
170     * ARQ-3: "Occurrence Number" - creates it if necessary
171     */
172    public NM getArq3_OccurrenceNumber() { 
173                NM retVal = this.getTypedField(3, 0);
174                return retVal;
175    }
176
177
178
179    /**
180     * Returns
181     * ARQ-4: "Placer Group Number" - creates it if necessary
182     */
183    public EI getPlacerGroupNumber() { 
184                EI retVal = this.getTypedField(4, 0);
185                return retVal;
186    }
187    
188    /**
189     * Returns
190     * ARQ-4: "Placer Group Number" - creates it if necessary
191     */
192    public EI getArq4_PlacerGroupNumber() { 
193                EI retVal = this.getTypedField(4, 0);
194                return retVal;
195    }
196
197
198
199    /**
200     * Returns
201     * ARQ-5: "Schedule ID" - creates it if necessary
202     */
203    public CE getScheduleID() { 
204                CE retVal = this.getTypedField(5, 0);
205                return retVal;
206    }
207    
208    /**
209     * Returns
210     * ARQ-5: "Schedule ID" - creates it if necessary
211     */
212    public CE getArq5_ScheduleID() { 
213                CE retVal = this.getTypedField(5, 0);
214                return retVal;
215    }
216
217
218
219    /**
220     * Returns
221     * ARQ-6: "Request Event Reason" - creates it if necessary
222     */
223    public CE getRequestEventReason() { 
224                CE retVal = this.getTypedField(6, 0);
225                return retVal;
226    }
227    
228    /**
229     * Returns
230     * ARQ-6: "Request Event Reason" - creates it if necessary
231     */
232    public CE getArq6_RequestEventReason() { 
233                CE retVal = this.getTypedField(6, 0);
234                return retVal;
235    }
236
237
238
239    /**
240     * Returns
241     * ARQ-7: "Appointment Reason" - creates it if necessary
242     */
243    public CE getAppointmentReason() { 
244                CE retVal = this.getTypedField(7, 0);
245                return retVal;
246    }
247    
248    /**
249     * Returns
250     * ARQ-7: "Appointment Reason" - creates it if necessary
251     */
252    public CE getArq7_AppointmentReason() { 
253                CE retVal = this.getTypedField(7, 0);
254                return retVal;
255    }
256
257
258
259    /**
260     * Returns
261     * ARQ-8: "Appointment Type" - creates it if necessary
262     */
263    public CE getAppointmentType() { 
264                CE retVal = this.getTypedField(8, 0);
265                return retVal;
266    }
267    
268    /**
269     * Returns
270     * ARQ-8: "Appointment Type" - creates it if necessary
271     */
272    public CE getArq8_AppointmentType() { 
273                CE retVal = this.getTypedField(8, 0);
274                return retVal;
275    }
276
277
278
279    /**
280     * Returns
281     * ARQ-9: "Appointment Duration" - creates it if necessary
282     */
283    public NM getAppointmentDuration() { 
284                NM retVal = this.getTypedField(9, 0);
285                return retVal;
286    }
287    
288    /**
289     * Returns
290     * ARQ-9: "Appointment Duration" - creates it if necessary
291     */
292    public NM getArq9_AppointmentDuration() { 
293                NM retVal = this.getTypedField(9, 0);
294                return retVal;
295    }
296
297
298
299    /**
300     * Returns
301     * ARQ-10: "Appointment Duration Units" - creates it if necessary
302     */
303    public CE getAppointmentDurationUnits() { 
304                CE retVal = this.getTypedField(10, 0);
305                return retVal;
306    }
307    
308    /**
309     * Returns
310     * ARQ-10: "Appointment Duration Units" - creates it if necessary
311     */
312    public CE getArq10_AppointmentDurationUnits() { 
313                CE retVal = this.getTypedField(10, 0);
314                return retVal;
315    }
316
317
318    /**
319     * Returns all repetitions of Requested Start Date/Time Range (ARQ-11).
320     */
321    public DR[] getRequestedStartDateTimeRange() {
322        DR[] retVal = this.getTypedField(11, new DR[0]);
323        return retVal;
324    }
325
326
327    /**
328     * Returns all repetitions of Requested Start Date/Time Range (ARQ-11).
329     */
330    public DR[] getArq11_RequestedStartDateTimeRange() {
331        DR[] retVal = this.getTypedField(11, new DR[0]);
332        return retVal;
333    }
334
335
336    /**
337     * Returns a count of the current number of repetitions of Requested Start Date/Time Range (ARQ-11).
338     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
339     * it will return zero.
340     */
341    public int getRequestedStartDateTimeRangeReps() {
342        return this.getReps(11);
343    }
344
345
346    /**
347     * Returns a specific repetition of
348     * ARQ-11: "Requested Start Date/Time Range" - creates it if necessary
349     *
350     * @param rep The repetition index (0-indexed)
351     */
352    public DR getRequestedStartDateTimeRange(int rep) { 
353                DR retVal = this.getTypedField(11, rep);
354                return retVal;
355    }
356
357    /**
358     * Returns a specific repetition of
359     * ARQ-11: "Requested Start Date/Time Range" - creates it if necessary
360     *
361     * @param rep The repetition index (0-indexed)
362     */
363    public DR getArq11_RequestedStartDateTimeRange(int rep) { 
364                DR retVal = this.getTypedField(11, rep);
365                return retVal;
366    }
367
368    /**
369     * Returns a count of the current number of repetitions of Requested Start Date/Time Range (ARQ-11).
370     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
371     * it will return zero.
372     */
373    public int getArq11_RequestedStartDateTimeRangeReps() {
374        return this.getReps(11);
375    }
376
377
378    /**
379     * Inserts a repetition of
380     * ARQ-11: "Requested Start Date/Time Range" at a specific index
381     *
382     * @param rep The repetition index (0-indexed)
383     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
384     */
385    public DR insertRequestedStartDateTimeRange(int rep) throws HL7Exception { 
386        return (DR) super.insertRepetition(11, rep);
387    }
388
389
390    /**
391     * Inserts a repetition of
392     * ARQ-11: "Requested Start Date/Time Range" at a specific index
393     *
394     * @param rep The repetition index (0-indexed)
395     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
396     */
397    public DR insertArq11_RequestedStartDateTimeRange(int rep) throws HL7Exception { 
398        return (DR) super.insertRepetition(11, rep);
399    }
400
401
402    /**
403     * Removes a repetition of
404     * ARQ-11: "Requested Start Date/Time Range" at a specific index
405     *
406     * @param rep The repetition index (0-indexed)
407     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
408     */
409    public DR removeRequestedStartDateTimeRange(int rep) throws HL7Exception { 
410        return (DR) super.removeRepetition(11, rep);
411    }
412
413
414    /**
415     * Removes a repetition of
416     * ARQ-11: "Requested Start Date/Time Range" at a specific index
417     *
418     * @param rep The repetition index (0-indexed)
419     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
420     */
421    public DR removeArq11_RequestedStartDateTimeRange(int rep) throws HL7Exception { 
422        return (DR) super.removeRepetition(11, rep);
423    }
424
425
426
427
428    /**
429     * Returns
430     * ARQ-12: "Priority-ARQ" - creates it if necessary
431     */
432    public ST getPriorityARQ() { 
433                ST retVal = this.getTypedField(12, 0);
434                return retVal;
435    }
436    
437    /**
438     * Returns
439     * ARQ-12: "Priority-ARQ" - creates it if necessary
440     */
441    public ST getArq12_PriorityARQ() { 
442                ST retVal = this.getTypedField(12, 0);
443                return retVal;
444    }
445
446
447
448    /**
449     * Returns
450     * ARQ-13: "Repeating Interval" - creates it if necessary
451     */
452    public RI getRepeatingInterval() { 
453                RI retVal = this.getTypedField(13, 0);
454                return retVal;
455    }
456    
457    /**
458     * Returns
459     * ARQ-13: "Repeating Interval" - creates it if necessary
460     */
461    public RI getArq13_RepeatingInterval() { 
462                RI retVal = this.getTypedField(13, 0);
463                return retVal;
464    }
465
466
467
468    /**
469     * Returns
470     * ARQ-14: "Repeating Interval Duration" - creates it if necessary
471     */
472    public ST getRepeatingIntervalDuration() { 
473                ST retVal = this.getTypedField(14, 0);
474                return retVal;
475    }
476    
477    /**
478     * Returns
479     * ARQ-14: "Repeating Interval Duration" - creates it if necessary
480     */
481    public ST getArq14_RepeatingIntervalDuration() { 
482                ST retVal = this.getTypedField(14, 0);
483                return retVal;
484    }
485
486
487    /**
488     * Returns all repetitions of Placer Contact Person (ARQ-15).
489     */
490    public XCN[] getPlacerContactPerson() {
491        XCN[] retVal = this.getTypedField(15, new XCN[0]);
492        return retVal;
493    }
494
495
496    /**
497     * Returns all repetitions of Placer Contact Person (ARQ-15).
498     */
499    public XCN[] getArq15_PlacerContactPerson() {
500        XCN[] retVal = this.getTypedField(15, new XCN[0]);
501        return retVal;
502    }
503
504
505    /**
506     * Returns a count of the current number of repetitions of Placer Contact Person (ARQ-15).
507     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
508     * it will return zero.
509     */
510    public int getPlacerContactPersonReps() {
511        return this.getReps(15);
512    }
513
514
515    /**
516     * Returns a specific repetition of
517     * ARQ-15: "Placer Contact Person" - creates it if necessary
518     *
519     * @param rep The repetition index (0-indexed)
520     */
521    public XCN getPlacerContactPerson(int rep) { 
522                XCN retVal = this.getTypedField(15, rep);
523                return retVal;
524    }
525
526    /**
527     * Returns a specific repetition of
528     * ARQ-15: "Placer Contact Person" - creates it if necessary
529     *
530     * @param rep The repetition index (0-indexed)
531     */
532    public XCN getArq15_PlacerContactPerson(int rep) { 
533                XCN retVal = this.getTypedField(15, rep);
534                return retVal;
535    }
536
537    /**
538     * Returns a count of the current number of repetitions of Placer Contact Person (ARQ-15).
539     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
540     * it will return zero.
541     */
542    public int getArq15_PlacerContactPersonReps() {
543        return this.getReps(15);
544    }
545
546
547    /**
548     * Inserts a repetition of
549     * ARQ-15: "Placer Contact Person" at a specific index
550     *
551     * @param rep The repetition index (0-indexed)
552     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
553     */
554    public XCN insertPlacerContactPerson(int rep) throws HL7Exception { 
555        return (XCN) super.insertRepetition(15, rep);
556    }
557
558
559    /**
560     * Inserts a repetition of
561     * ARQ-15: "Placer Contact Person" at a specific index
562     *
563     * @param rep The repetition index (0-indexed)
564     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
565     */
566    public XCN insertArq15_PlacerContactPerson(int rep) throws HL7Exception { 
567        return (XCN) super.insertRepetition(15, rep);
568    }
569
570
571    /**
572     * Removes a repetition of
573     * ARQ-15: "Placer Contact Person" at a specific index
574     *
575     * @param rep The repetition index (0-indexed)
576     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
577     */
578    public XCN removePlacerContactPerson(int rep) throws HL7Exception { 
579        return (XCN) super.removeRepetition(15, rep);
580    }
581
582
583    /**
584     * Removes a repetition of
585     * ARQ-15: "Placer Contact Person" at a specific index
586     *
587     * @param rep The repetition index (0-indexed)
588     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
589     */
590    public XCN removeArq15_PlacerContactPerson(int rep) throws HL7Exception { 
591        return (XCN) super.removeRepetition(15, rep);
592    }
593
594
595
596    /**
597     * Returns all repetitions of Placer Contact Phone Number (ARQ-16).
598     */
599    public XTN[] getPlacerContactPhoneNumber() {
600        XTN[] retVal = this.getTypedField(16, new XTN[0]);
601        return retVal;
602    }
603
604
605    /**
606     * Returns all repetitions of Placer Contact Phone Number (ARQ-16).
607     */
608    public XTN[] getArq16_PlacerContactPhoneNumber() {
609        XTN[] retVal = this.getTypedField(16, new XTN[0]);
610        return retVal;
611    }
612
613
614    /**
615     * Returns a count of the current number of repetitions of Placer Contact Phone Number (ARQ-16).
616     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
617     * it will return zero.
618     */
619    public int getPlacerContactPhoneNumberReps() {
620        return this.getReps(16);
621    }
622
623
624    /**
625     * Returns a specific repetition of
626     * ARQ-16: "Placer Contact Phone Number" - creates it if necessary
627     *
628     * @param rep The repetition index (0-indexed)
629     */
630    public XTN getPlacerContactPhoneNumber(int rep) { 
631                XTN retVal = this.getTypedField(16, rep);
632                return retVal;
633    }
634
635    /**
636     * Returns a specific repetition of
637     * ARQ-16: "Placer Contact Phone Number" - creates it if necessary
638     *
639     * @param rep The repetition index (0-indexed)
640     */
641    public XTN getArq16_PlacerContactPhoneNumber(int rep) { 
642                XTN retVal = this.getTypedField(16, rep);
643                return retVal;
644    }
645
646    /**
647     * Returns a count of the current number of repetitions of Placer Contact Phone Number (ARQ-16).
648     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
649     * it will return zero.
650     */
651    public int getArq16_PlacerContactPhoneNumberReps() {
652        return this.getReps(16);
653    }
654
655
656    /**
657     * Inserts a repetition of
658     * ARQ-16: "Placer Contact Phone Number" at a specific index
659     *
660     * @param rep The repetition index (0-indexed)
661     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
662     */
663    public XTN insertPlacerContactPhoneNumber(int rep) throws HL7Exception { 
664        return (XTN) super.insertRepetition(16, rep);
665    }
666
667
668    /**
669     * Inserts a repetition of
670     * ARQ-16: "Placer Contact Phone Number" at a specific index
671     *
672     * @param rep The repetition index (0-indexed)
673     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
674     */
675    public XTN insertArq16_PlacerContactPhoneNumber(int rep) throws HL7Exception { 
676        return (XTN) super.insertRepetition(16, rep);
677    }
678
679
680    /**
681     * Removes a repetition of
682     * ARQ-16: "Placer Contact Phone Number" at a specific index
683     *
684     * @param rep The repetition index (0-indexed)
685     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
686     */
687    public XTN removePlacerContactPhoneNumber(int rep) throws HL7Exception { 
688        return (XTN) super.removeRepetition(16, rep);
689    }
690
691
692    /**
693     * Removes a repetition of
694     * ARQ-16: "Placer Contact Phone Number" at a specific index
695     *
696     * @param rep The repetition index (0-indexed)
697     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
698     */
699    public XTN removeArq16_PlacerContactPhoneNumber(int rep) throws HL7Exception { 
700        return (XTN) super.removeRepetition(16, rep);
701    }
702
703
704
705    /**
706     * Returns all repetitions of Placer Contact Address (ARQ-17).
707     */
708    public XAD[] getPlacerContactAddress() {
709        XAD[] retVal = this.getTypedField(17, new XAD[0]);
710        return retVal;
711    }
712
713
714    /**
715     * Returns all repetitions of Placer Contact Address (ARQ-17).
716     */
717    public XAD[] getArq17_PlacerContactAddress() {
718        XAD[] retVal = this.getTypedField(17, new XAD[0]);
719        return retVal;
720    }
721
722
723    /**
724     * Returns a count of the current number of repetitions of Placer Contact Address (ARQ-17).
725     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
726     * it will return zero.
727     */
728    public int getPlacerContactAddressReps() {
729        return this.getReps(17);
730    }
731
732
733    /**
734     * Returns a specific repetition of
735     * ARQ-17: "Placer Contact Address" - creates it if necessary
736     *
737     * @param rep The repetition index (0-indexed)
738     */
739    public XAD getPlacerContactAddress(int rep) { 
740                XAD retVal = this.getTypedField(17, rep);
741                return retVal;
742    }
743
744    /**
745     * Returns a specific repetition of
746     * ARQ-17: "Placer Contact Address" - creates it if necessary
747     *
748     * @param rep The repetition index (0-indexed)
749     */
750    public XAD getArq17_PlacerContactAddress(int rep) { 
751                XAD retVal = this.getTypedField(17, rep);
752                return retVal;
753    }
754
755    /**
756     * Returns a count of the current number of repetitions of Placer Contact Address (ARQ-17).
757     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
758     * it will return zero.
759     */
760    public int getArq17_PlacerContactAddressReps() {
761        return this.getReps(17);
762    }
763
764
765    /**
766     * Inserts a repetition of
767     * ARQ-17: "Placer Contact Address" at a specific index
768     *
769     * @param rep The repetition index (0-indexed)
770     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
771     */
772    public XAD insertPlacerContactAddress(int rep) throws HL7Exception { 
773        return (XAD) super.insertRepetition(17, rep);
774    }
775
776
777    /**
778     * Inserts a repetition of
779     * ARQ-17: "Placer Contact Address" at a specific index
780     *
781     * @param rep The repetition index (0-indexed)
782     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
783     */
784    public XAD insertArq17_PlacerContactAddress(int rep) throws HL7Exception { 
785        return (XAD) super.insertRepetition(17, rep);
786    }
787
788
789    /**
790     * Removes a repetition of
791     * ARQ-17: "Placer Contact Address" at a specific index
792     *
793     * @param rep The repetition index (0-indexed)
794     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
795     */
796    public XAD removePlacerContactAddress(int rep) throws HL7Exception { 
797        return (XAD) super.removeRepetition(17, rep);
798    }
799
800
801    /**
802     * Removes a repetition of
803     * ARQ-17: "Placer Contact Address" at a specific index
804     *
805     * @param rep The repetition index (0-indexed)
806     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
807     */
808    public XAD removeArq17_PlacerContactAddress(int rep) throws HL7Exception { 
809        return (XAD) super.removeRepetition(17, rep);
810    }
811
812
813
814
815    /**
816     * Returns
817     * ARQ-18: "Placer Contact Location" - creates it if necessary
818     */
819    public PL getPlacerContactLocation() { 
820                PL retVal = this.getTypedField(18, 0);
821                return retVal;
822    }
823    
824    /**
825     * Returns
826     * ARQ-18: "Placer Contact Location" - creates it if necessary
827     */
828    public PL getArq18_PlacerContactLocation() { 
829                PL retVal = this.getTypedField(18, 0);
830                return retVal;
831    }
832
833
834    /**
835     * Returns all repetitions of Entered by Person (ARQ-19).
836     */
837    public XCN[] getEnteredByPerson() {
838        XCN[] retVal = this.getTypedField(19, new XCN[0]);
839        return retVal;
840    }
841
842
843    /**
844     * Returns all repetitions of Entered by Person (ARQ-19).
845     */
846    public XCN[] getArq19_EnteredByPerson() {
847        XCN[] retVal = this.getTypedField(19, new XCN[0]);
848        return retVal;
849    }
850
851
852    /**
853     * Returns a count of the current number of repetitions of Entered by Person (ARQ-19).
854     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
855     * it will return zero.
856     */
857    public int getEnteredByPersonReps() {
858        return this.getReps(19);
859    }
860
861
862    /**
863     * Returns a specific repetition of
864     * ARQ-19: "Entered by Person" - creates it if necessary
865     *
866     * @param rep The repetition index (0-indexed)
867     */
868    public XCN getEnteredByPerson(int rep) { 
869                XCN retVal = this.getTypedField(19, rep);
870                return retVal;
871    }
872
873    /**
874     * Returns a specific repetition of
875     * ARQ-19: "Entered by Person" - creates it if necessary
876     *
877     * @param rep The repetition index (0-indexed)
878     */
879    public XCN getArq19_EnteredByPerson(int rep) { 
880                XCN retVal = this.getTypedField(19, rep);
881                return retVal;
882    }
883
884    /**
885     * Returns a count of the current number of repetitions of Entered by Person (ARQ-19).
886     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
887     * it will return zero.
888     */
889    public int getArq19_EnteredByPersonReps() {
890        return this.getReps(19);
891    }
892
893
894    /**
895     * Inserts a repetition of
896     * ARQ-19: "Entered by Person" at a specific index
897     *
898     * @param rep The repetition index (0-indexed)
899     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
900     */
901    public XCN insertEnteredByPerson(int rep) throws HL7Exception { 
902        return (XCN) super.insertRepetition(19, rep);
903    }
904
905
906    /**
907     * Inserts a repetition of
908     * ARQ-19: "Entered by Person" at a specific index
909     *
910     * @param rep The repetition index (0-indexed)
911     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
912     */
913    public XCN insertArq19_EnteredByPerson(int rep) throws HL7Exception { 
914        return (XCN) super.insertRepetition(19, rep);
915    }
916
917
918    /**
919     * Removes a repetition of
920     * ARQ-19: "Entered by Person" at a specific index
921     *
922     * @param rep The repetition index (0-indexed)
923     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
924     */
925    public XCN removeEnteredByPerson(int rep) throws HL7Exception { 
926        return (XCN) super.removeRepetition(19, rep);
927    }
928
929
930    /**
931     * Removes a repetition of
932     * ARQ-19: "Entered by Person" at a specific index
933     *
934     * @param rep The repetition index (0-indexed)
935     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
936     */
937    public XCN removeArq19_EnteredByPerson(int rep) throws HL7Exception { 
938        return (XCN) super.removeRepetition(19, rep);
939    }
940
941
942
943    /**
944     * Returns all repetitions of Entered by Phone Number (ARQ-20).
945     */
946    public XTN[] getEnteredByPhoneNumber() {
947        XTN[] retVal = this.getTypedField(20, new XTN[0]);
948        return retVal;
949    }
950
951
952    /**
953     * Returns all repetitions of Entered by Phone Number (ARQ-20).
954     */
955    public XTN[] getArq20_EnteredByPhoneNumber() {
956        XTN[] retVal = this.getTypedField(20, new XTN[0]);
957        return retVal;
958    }
959
960
961    /**
962     * Returns a count of the current number of repetitions of Entered by Phone Number (ARQ-20).
963     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
964     * it will return zero.
965     */
966    public int getEnteredByPhoneNumberReps() {
967        return this.getReps(20);
968    }
969
970
971    /**
972     * Returns a specific repetition of
973     * ARQ-20: "Entered by Phone Number" - creates it if necessary
974     *
975     * @param rep The repetition index (0-indexed)
976     */
977    public XTN getEnteredByPhoneNumber(int rep) { 
978                XTN retVal = this.getTypedField(20, rep);
979                return retVal;
980    }
981
982    /**
983     * Returns a specific repetition of
984     * ARQ-20: "Entered by Phone Number" - creates it if necessary
985     *
986     * @param rep The repetition index (0-indexed)
987     */
988    public XTN getArq20_EnteredByPhoneNumber(int rep) { 
989                XTN retVal = this.getTypedField(20, rep);
990                return retVal;
991    }
992
993    /**
994     * Returns a count of the current number of repetitions of Entered by Phone Number (ARQ-20).
995     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
996     * it will return zero.
997     */
998    public int getArq20_EnteredByPhoneNumberReps() {
999        return this.getReps(20);
1000    }
1001
1002
1003    /**
1004     * Inserts a repetition of
1005     * ARQ-20: "Entered by Phone Number" at a specific index
1006     *
1007     * @param rep The repetition index (0-indexed)
1008     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1009     */
1010    public XTN insertEnteredByPhoneNumber(int rep) throws HL7Exception { 
1011        return (XTN) super.insertRepetition(20, rep);
1012    }
1013
1014
1015    /**
1016     * Inserts a repetition of
1017     * ARQ-20: "Entered by Phone Number" at a specific index
1018     *
1019     * @param rep The repetition index (0-indexed)
1020     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1021     */
1022    public XTN insertArq20_EnteredByPhoneNumber(int rep) throws HL7Exception { 
1023        return (XTN) super.insertRepetition(20, rep);
1024    }
1025
1026
1027    /**
1028     * Removes a repetition of
1029     * ARQ-20: "Entered by Phone Number" at a specific index
1030     *
1031     * @param rep The repetition index (0-indexed)
1032     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1033     */
1034    public XTN removeEnteredByPhoneNumber(int rep) throws HL7Exception { 
1035        return (XTN) super.removeRepetition(20, rep);
1036    }
1037
1038
1039    /**
1040     * Removes a repetition of
1041     * ARQ-20: "Entered by Phone Number" at a specific index
1042     *
1043     * @param rep The repetition index (0-indexed)
1044     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1045     */
1046    public XTN removeArq20_EnteredByPhoneNumber(int rep) throws HL7Exception { 
1047        return (XTN) super.removeRepetition(20, rep);
1048    }
1049
1050
1051
1052
1053    /**
1054     * Returns
1055     * ARQ-21: "Entered by Location" - creates it if necessary
1056     */
1057    public PL getEnteredByLocation() { 
1058                PL retVal = this.getTypedField(21, 0);
1059                return retVal;
1060    }
1061    
1062    /**
1063     * Returns
1064     * ARQ-21: "Entered by Location" - creates it if necessary
1065     */
1066    public PL getArq21_EnteredByLocation() { 
1067                PL retVal = this.getTypedField(21, 0);
1068                return retVal;
1069    }
1070
1071
1072
1073    /**
1074     * Returns
1075     * ARQ-22: "Parent Placer Appointment ID" - creates it if necessary
1076     */
1077    public EI getParentPlacerAppointmentID() { 
1078                EI retVal = this.getTypedField(22, 0);
1079                return retVal;
1080    }
1081    
1082    /**
1083     * Returns
1084     * ARQ-22: "Parent Placer Appointment ID" - creates it if necessary
1085     */
1086    public EI getArq22_ParentPlacerAppointmentID() { 
1087                EI retVal = this.getTypedField(22, 0);
1088                return retVal;
1089    }
1090
1091
1092
1093    /**
1094     * Returns
1095     * ARQ-23: "Parent Filler Appointment ID" - creates it if necessary
1096     */
1097    public EI getParentFillerAppointmentID() { 
1098                EI retVal = this.getTypedField(23, 0);
1099                return retVal;
1100    }
1101    
1102    /**
1103     * Returns
1104     * ARQ-23: "Parent Filler Appointment ID" - creates it if necessary
1105     */
1106    public EI getArq23_ParentFillerAppointmentID() { 
1107                EI retVal = this.getTypedField(23, 0);
1108                return retVal;
1109    }
1110
1111
1112
1113
1114
1115    /** {@inheritDoc} */   
1116    protected Type createNewTypeWithoutReflection(int field) {
1117       switch (field) {
1118          case 0: return new EI(getMessage());
1119          case 1: return new EI(getMessage());
1120          case 2: return new NM(getMessage());
1121          case 3: return new EI(getMessage());
1122          case 4: return new CE(getMessage());
1123          case 5: return new CE(getMessage());
1124          case 6: return new CE(getMessage());
1125          case 7: return new CE(getMessage());
1126          case 8: return new NM(getMessage());
1127          case 9: return new CE(getMessage());
1128          case 10: return new DR(getMessage());
1129          case 11: return new ST(getMessage());
1130          case 12: return new RI(getMessage());
1131          case 13: return new ST(getMessage());
1132          case 14: return new XCN(getMessage());
1133          case 15: return new XTN(getMessage());
1134          case 16: return new XAD(getMessage());
1135          case 17: return new PL(getMessage());
1136          case 18: return new XCN(getMessage());
1137          case 19: return new XTN(getMessage());
1138          case 20: return new PL(getMessage());
1139          case 21: return new EI(getMessage());
1140          case 22: return new EI(getMessage());
1141          default: return null;
1142       }
1143   }
1144
1145
1146}
1147