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