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