View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v231.segment;
35  
36  // import ca.uhn.hl7v2.model.v231.group.*;
37  import ca.uhn.hl7v2.model.v231.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 ARQ message segment (ARQ - appointment request segment). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>ARQ-1: Placer Appointment ID (EI) <b> </b>
53       * <li>ARQ-2: Filler Appointment ID (EI) <b>optional </b>
54       * <li>ARQ-3: Occurrence Number (NM) <b>optional </b>
55       * <li>ARQ-4: Placer Group Number (EI) <b>optional </b>
56       * <li>ARQ-5: Schedule ID (CE) <b>optional </b>
57       * <li>ARQ-6: Request Event Reason (CE) <b>optional </b>
58       * <li>ARQ-7: Appointment Reason (CE) <b>optional </b>
59       * <li>ARQ-8: Appointment Type (CE) <b>optional </b>
60       * <li>ARQ-9: Appointment Duration (NM) <b>optional </b>
61       * <li>ARQ-10: Appointment Duration Units (CE) <b>optional </b>
62       * <li>ARQ-11: Requested Start Date/Time Range (DR) <b>optional repeating</b>
63       * <li>ARQ-12: Priority-ARQ (ST) <b>optional </b>
64       * <li>ARQ-13: Repeating Interval (RI) <b>optional </b>
65       * <li>ARQ-14: Repeating Interval Duration (ST) <b>optional </b>
66       * <li>ARQ-15: Placer Contact Person (XCN) <b> repeating</b>
67       * <li>ARQ-16: Placer Contact Phone Number (XTN) <b>optional repeating</b>
68       * <li>ARQ-17: Placer Contact Address (XAD) <b>optional repeating</b>
69       * <li>ARQ-18: Placer Contact Location (PL) <b>optional </b>
70       * <li>ARQ-19: Entered by Person (XCN) <b> repeating</b>
71       * <li>ARQ-20: Entered by Phone Number (XTN) <b>optional repeating</b>
72       * <li>ARQ-21: Entered by Location (PL) <b>optional </b>
73       * <li>ARQ-22: Parent Placer Appointment ID (EI) <b>optional </b>
74       * <li>ARQ-23: Parent Filler Appointment ID (EI) <b>optional </b>
75   * </ul>
76   */
77  @SuppressWarnings("unused")
78  public class ARQ extends AbstractSegment {
79  
80      /** 
81       * Creates a new ARQ segment
82       */
83      public ARQ(Group parent, ModelClassFactory factory) {
84         super(parent, factory);
85         init(factory);
86      }
87  
88      private void init(ModelClassFactory factory) {
89         try {
90                                    this.add(EI.class, true, 1, 75, new Object[]{ getMessage() }, "Placer Appointment ID");
91                                    this.add(EI.class, false, 1, 75, new Object[]{ getMessage() }, "Filler Appointment ID");
92                                    this.add(NM.class, false, 1, 5, new Object[]{ getMessage() }, "Occurrence Number");
93                                    this.add(EI.class, false, 1, 22, new Object[]{ getMessage() }, "Placer Group Number");
94                                    this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Schedule ID");
95                                    this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Request Event Reason");
96                                    this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Appointment Reason");
97                                    this.add(CE.class, false, 1, 200, new Object[]{ getMessage() }, "Appointment Type");
98                                    this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Appointment Duration");
99                                    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