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.v22.segment;
035
036// import ca.uhn.hl7v2.model.v22.group.*;
037import ca.uhn.hl7v2.model.v22.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 QRF message segment (QUERY FILTER). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>QRF-1: Where Subject Filter (ST) <b> repeating</b>
053     * <li>QRF-2: When data start date / time (TS) <b>optional </b>
054     * <li>QRF-3: When data end date / time (TS) <b>optional </b>
055     * <li>QRF-4: What User Qualifier (ST) <b>optional repeating</b>
056     * <li>QRF-5: Other QRY Subject Filter (ST) <b>optional repeating</b>
057     * <li>QRF-6: Which date / time qualifier (ID) <b>optional repeating</b>
058     * <li>QRF-7: Which date / time status qualifier (ID) <b>optional repeating</b>
059     * <li>QRF-8: Date / time selection qualifier (ID) <b>optional repeating</b>
060 * </ul>
061 */
062@SuppressWarnings("unused")
063public class QRF extends AbstractSegment {
064
065    /** 
066     * Creates a new QRF segment
067     */
068    public QRF(Group parent, ModelClassFactory factory) {
069       super(parent, factory);
070       init(factory);
071    }
072
073    private void init(ModelClassFactory factory) {
074       try {
075                                  this.add(ST.class, true, 0, 20, new Object[]{ getMessage() }, "Where Subject Filter");
076                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "When data start date / time");
077                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "When data end date / time");
078                                  this.add(ST.class, false, 0, 20, new Object[]{ getMessage() }, "What User Qualifier");
079                                  this.add(ST.class, false, 0, 20, new Object[]{ getMessage() }, "Other QRY Subject Filter");
080                                              this.add(ID.class, false, 0, 12, new Object[]{ getMessage(), new Integer(156) }, "Which date / time qualifier");
081                                              this.add(ID.class, false, 0, 12, new Object[]{ getMessage(), new Integer(157) }, "Which date / time status qualifier");
082                                              this.add(ID.class, false, 0, 12, new Object[]{ getMessage(), new Integer(158) }, "Date / time selection qualifier");
083       } catch(HL7Exception e) {
084          log.error("Unexpected error creating QRF - this is probably a bug in the source code generator.", e);
085       }
086    }
087
088
089    /**
090     * Returns all repetitions of Where Subject Filter (QRF-1).
091     */
092    public ST[] getWhereSubjectFilter() {
093        ST[] retVal = this.getTypedField(1, new ST[0]);
094        return retVal;
095    }
096
097
098    /**
099     * Returns all repetitions of Where Subject Filter (QRF-1).
100     */
101    public ST[] getQrf1_WhereSubjectFilter() {
102        ST[] retVal = this.getTypedField(1, new ST[0]);
103        return retVal;
104    }
105
106
107    /**
108     * Returns a count of the current number of repetitions of Where Subject Filter (QRF-1).
109     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
110     * it will return zero.
111     */
112    public int getWhereSubjectFilterReps() {
113        return this.getReps(1);
114    }
115
116
117    /**
118     * Returns a specific repetition of
119     * QRF-1: "Where Subject Filter" - creates it if necessary
120     *
121     * @param rep The repetition index (0-indexed)
122     */
123    public ST getWhereSubjectFilter(int rep) { 
124                ST retVal = this.getTypedField(1, rep);
125                return retVal;
126    }
127
128    /**
129     * Returns a specific repetition of
130     * QRF-1: "Where Subject Filter" - creates it if necessary
131     *
132     * @param rep The repetition index (0-indexed)
133     */
134    public ST getQrf1_WhereSubjectFilter(int rep) { 
135                ST retVal = this.getTypedField(1, rep);
136                return retVal;
137    }
138
139    /**
140     * Returns a count of the current number of repetitions of Where Subject Filter (QRF-1).
141     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
142     * it will return zero.
143     */
144    public int getQrf1_WhereSubjectFilterReps() {
145        return this.getReps(1);
146    }
147
148
149    /**
150     * Inserts a repetition of
151     * QRF-1: "Where Subject Filter" at a specific index
152     *
153     * @param rep The repetition index (0-indexed)
154     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
155     */
156    public ST insertWhereSubjectFilter(int rep) throws HL7Exception { 
157        return (ST) super.insertRepetition(1, rep);
158    }
159
160
161    /**
162     * Inserts a repetition of
163     * QRF-1: "Where Subject Filter" at a specific index
164     *
165     * @param rep The repetition index (0-indexed)
166     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
167     */
168    public ST insertQrf1_WhereSubjectFilter(int rep) throws HL7Exception { 
169        return (ST) super.insertRepetition(1, rep);
170    }
171
172
173    /**
174     * Removes a repetition of
175     * QRF-1: "Where Subject Filter" at a specific index
176     *
177     * @param rep The repetition index (0-indexed)
178     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
179     */
180    public ST removeWhereSubjectFilter(int rep) throws HL7Exception { 
181        return (ST) super.removeRepetition(1, rep);
182    }
183
184
185    /**
186     * Removes a repetition of
187     * QRF-1: "Where Subject Filter" at a specific index
188     *
189     * @param rep The repetition index (0-indexed)
190     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
191     */
192    public ST removeQrf1_WhereSubjectFilter(int rep) throws HL7Exception { 
193        return (ST) super.removeRepetition(1, rep);
194    }
195
196
197
198
199    /**
200     * Returns
201     * QRF-2: "When data start date / time" - creates it if necessary
202     */
203    public TS getWhenDataStartDateTime() { 
204                TS retVal = this.getTypedField(2, 0);
205                return retVal;
206    }
207    
208    /**
209     * Returns
210     * QRF-2: "When data start date / time" - creates it if necessary
211     */
212    public TS getQrf2_WhenDataStartDateTime() { 
213                TS retVal = this.getTypedField(2, 0);
214                return retVal;
215    }
216
217
218
219    /**
220     * Returns
221     * QRF-3: "When data end date / time" - creates it if necessary
222     */
223    public TS getWhenDataEndDateTime() { 
224                TS retVal = this.getTypedField(3, 0);
225                return retVal;
226    }
227    
228    /**
229     * Returns
230     * QRF-3: "When data end date / time" - creates it if necessary
231     */
232    public TS getQrf3_WhenDataEndDateTime() { 
233                TS retVal = this.getTypedField(3, 0);
234                return retVal;
235    }
236
237
238    /**
239     * Returns all repetitions of What User Qualifier (QRF-4).
240     */
241    public ST[] getWhatUserQualifier() {
242        ST[] retVal = this.getTypedField(4, new ST[0]);
243        return retVal;
244    }
245
246
247    /**
248     * Returns all repetitions of What User Qualifier (QRF-4).
249     */
250    public ST[] getQrf4_WhatUserQualifier() {
251        ST[] retVal = this.getTypedField(4, new ST[0]);
252        return retVal;
253    }
254
255
256    /**
257     * Returns a count of the current number of repetitions of What User Qualifier (QRF-4).
258     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
259     * it will return zero.
260     */
261    public int getWhatUserQualifierReps() {
262        return this.getReps(4);
263    }
264
265
266    /**
267     * Returns a specific repetition of
268     * QRF-4: "What User Qualifier" - creates it if necessary
269     *
270     * @param rep The repetition index (0-indexed)
271     */
272    public ST getWhatUserQualifier(int rep) { 
273                ST retVal = this.getTypedField(4, rep);
274                return retVal;
275    }
276
277    /**
278     * Returns a specific repetition of
279     * QRF-4: "What User Qualifier" - creates it if necessary
280     *
281     * @param rep The repetition index (0-indexed)
282     */
283    public ST getQrf4_WhatUserQualifier(int rep) { 
284                ST retVal = this.getTypedField(4, rep);
285                return retVal;
286    }
287
288    /**
289     * Returns a count of the current number of repetitions of What User Qualifier (QRF-4).
290     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
291     * it will return zero.
292     */
293    public int getQrf4_WhatUserQualifierReps() {
294        return this.getReps(4);
295    }
296
297
298    /**
299     * Inserts a repetition of
300     * QRF-4: "What User Qualifier" at a specific index
301     *
302     * @param rep The repetition index (0-indexed)
303     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
304     */
305    public ST insertWhatUserQualifier(int rep) throws HL7Exception { 
306        return (ST) super.insertRepetition(4, rep);
307    }
308
309
310    /**
311     * Inserts a repetition of
312     * QRF-4: "What User Qualifier" at a specific index
313     *
314     * @param rep The repetition index (0-indexed)
315     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
316     */
317    public ST insertQrf4_WhatUserQualifier(int rep) throws HL7Exception { 
318        return (ST) super.insertRepetition(4, rep);
319    }
320
321
322    /**
323     * Removes a repetition of
324     * QRF-4: "What User Qualifier" at a specific index
325     *
326     * @param rep The repetition index (0-indexed)
327     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
328     */
329    public ST removeWhatUserQualifier(int rep) throws HL7Exception { 
330        return (ST) super.removeRepetition(4, rep);
331    }
332
333
334    /**
335     * Removes a repetition of
336     * QRF-4: "What User Qualifier" at a specific index
337     *
338     * @param rep The repetition index (0-indexed)
339     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
340     */
341    public ST removeQrf4_WhatUserQualifier(int rep) throws HL7Exception { 
342        return (ST) super.removeRepetition(4, rep);
343    }
344
345
346
347    /**
348     * Returns all repetitions of Other QRY Subject Filter (QRF-5).
349     */
350    public ST[] getOtherQRYSubjectFilter() {
351        ST[] retVal = this.getTypedField(5, new ST[0]);
352        return retVal;
353    }
354
355
356    /**
357     * Returns all repetitions of Other QRY Subject Filter (QRF-5).
358     */
359    public ST[] getQrf5_OtherQRYSubjectFilter() {
360        ST[] retVal = this.getTypedField(5, new ST[0]);
361        return retVal;
362    }
363
364
365    /**
366     * Returns a count of the current number of repetitions of Other QRY Subject Filter (QRF-5).
367     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
368     * it will return zero.
369     */
370    public int getOtherQRYSubjectFilterReps() {
371        return this.getReps(5);
372    }
373
374
375    /**
376     * Returns a specific repetition of
377     * QRF-5: "Other QRY Subject Filter" - creates it if necessary
378     *
379     * @param rep The repetition index (0-indexed)
380     */
381    public ST getOtherQRYSubjectFilter(int rep) { 
382                ST retVal = this.getTypedField(5, rep);
383                return retVal;
384    }
385
386    /**
387     * Returns a specific repetition of
388     * QRF-5: "Other QRY Subject Filter" - creates it if necessary
389     *
390     * @param rep The repetition index (0-indexed)
391     */
392    public ST getQrf5_OtherQRYSubjectFilter(int rep) { 
393                ST retVal = this.getTypedField(5, rep);
394                return retVal;
395    }
396
397    /**
398     * Returns a count of the current number of repetitions of Other QRY Subject Filter (QRF-5).
399     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
400     * it will return zero.
401     */
402    public int getQrf5_OtherQRYSubjectFilterReps() {
403        return this.getReps(5);
404    }
405
406
407    /**
408     * Inserts a repetition of
409     * QRF-5: "Other QRY Subject Filter" 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 ST insertOtherQRYSubjectFilter(int rep) throws HL7Exception { 
415        return (ST) super.insertRepetition(5, rep);
416    }
417
418
419    /**
420     * Inserts a repetition of
421     * QRF-5: "Other QRY Subject Filter" 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 ST insertQrf5_OtherQRYSubjectFilter(int rep) throws HL7Exception { 
427        return (ST) super.insertRepetition(5, rep);
428    }
429
430
431    /**
432     * Removes a repetition of
433     * QRF-5: "Other QRY Subject Filter" at a specific index
434     *
435     * @param rep The repetition index (0-indexed)
436     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
437     */
438    public ST removeOtherQRYSubjectFilter(int rep) throws HL7Exception { 
439        return (ST) super.removeRepetition(5, rep);
440    }
441
442
443    /**
444     * Removes a repetition of
445     * QRF-5: "Other QRY Subject Filter" at a specific index
446     *
447     * @param rep The repetition index (0-indexed)
448     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
449     */
450    public ST removeQrf5_OtherQRYSubjectFilter(int rep) throws HL7Exception { 
451        return (ST) super.removeRepetition(5, rep);
452    }
453
454
455
456    /**
457     * Returns all repetitions of Which date / time qualifier (QRF-6).
458     */
459    public ID[] getWhichDateTimeQualifier() {
460        ID[] retVal = this.getTypedField(6, new ID[0]);
461        return retVal;
462    }
463
464
465    /**
466     * Returns all repetitions of Which date / time qualifier (QRF-6).
467     */
468    public ID[] getQrf6_WhichDateTimeQualifier() {
469        ID[] retVal = this.getTypedField(6, new ID[0]);
470        return retVal;
471    }
472
473
474    /**
475     * Returns a count of the current number of repetitions of Which date / time qualifier (QRF-6).
476     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
477     * it will return zero.
478     */
479    public int getWhichDateTimeQualifierReps() {
480        return this.getReps(6);
481    }
482
483
484    /**
485     * Returns a specific repetition of
486     * QRF-6: "Which date / time qualifier" - creates it if necessary
487     *
488     * @param rep The repetition index (0-indexed)
489     */
490    public ID getWhichDateTimeQualifier(int rep) { 
491                ID retVal = this.getTypedField(6, rep);
492                return retVal;
493    }
494
495    /**
496     * Returns a specific repetition of
497     * QRF-6: "Which date / time qualifier" - creates it if necessary
498     *
499     * @param rep The repetition index (0-indexed)
500     */
501    public ID getQrf6_WhichDateTimeQualifier(int rep) { 
502                ID retVal = this.getTypedField(6, rep);
503                return retVal;
504    }
505
506    /**
507     * Returns a count of the current number of repetitions of Which date / time qualifier (QRF-6).
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 getQrf6_WhichDateTimeQualifierReps() {
512        return this.getReps(6);
513    }
514
515
516    /**
517     * Inserts a repetition of
518     * QRF-6: "Which date / time qualifier" at a specific index
519     *
520     * @param rep The repetition index (0-indexed)
521     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
522     */
523    public ID insertWhichDateTimeQualifier(int rep) throws HL7Exception { 
524        return (ID) super.insertRepetition(6, rep);
525    }
526
527
528    /**
529     * Inserts a repetition of
530     * QRF-6: "Which date / time qualifier" at a specific index
531     *
532     * @param rep The repetition index (0-indexed)
533     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
534     */
535    public ID insertQrf6_WhichDateTimeQualifier(int rep) throws HL7Exception { 
536        return (ID) super.insertRepetition(6, rep);
537    }
538
539
540    /**
541     * Removes a repetition of
542     * QRF-6: "Which date / time qualifier" at a specific index
543     *
544     * @param rep The repetition index (0-indexed)
545     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
546     */
547    public ID removeWhichDateTimeQualifier(int rep) throws HL7Exception { 
548        return (ID) super.removeRepetition(6, rep);
549    }
550
551
552    /**
553     * Removes a repetition of
554     * QRF-6: "Which date / time qualifier" 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 ID removeQrf6_WhichDateTimeQualifier(int rep) throws HL7Exception { 
560        return (ID) super.removeRepetition(6, rep);
561    }
562
563
564
565    /**
566     * Returns all repetitions of Which date / time status qualifier (QRF-7).
567     */
568    public ID[] getWhichDateTimeStatusQualifier() {
569        ID[] retVal = this.getTypedField(7, new ID[0]);
570        return retVal;
571    }
572
573
574    /**
575     * Returns all repetitions of Which date / time status qualifier (QRF-7).
576     */
577    public ID[] getQrf7_WhichDateTimeStatusQualifier() {
578        ID[] retVal = this.getTypedField(7, new ID[0]);
579        return retVal;
580    }
581
582
583    /**
584     * Returns a count of the current number of repetitions of Which date / time status qualifier (QRF-7).
585     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
586     * it will return zero.
587     */
588    public int getWhichDateTimeStatusQualifierReps() {
589        return this.getReps(7);
590    }
591
592
593    /**
594     * Returns a specific repetition of
595     * QRF-7: "Which date / time status qualifier" - creates it if necessary
596     *
597     * @param rep The repetition index (0-indexed)
598     */
599    public ID getWhichDateTimeStatusQualifier(int rep) { 
600                ID retVal = this.getTypedField(7, rep);
601                return retVal;
602    }
603
604    /**
605     * Returns a specific repetition of
606     * QRF-7: "Which date / time status qualifier" - creates it if necessary
607     *
608     * @param rep The repetition index (0-indexed)
609     */
610    public ID getQrf7_WhichDateTimeStatusQualifier(int rep) { 
611                ID retVal = this.getTypedField(7, rep);
612                return retVal;
613    }
614
615    /**
616     * Returns a count of the current number of repetitions of Which date / time status qualifier (QRF-7).
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 getQrf7_WhichDateTimeStatusQualifierReps() {
621        return this.getReps(7);
622    }
623
624
625    /**
626     * Inserts a repetition of
627     * QRF-7: "Which date / time status qualifier" at a specific index
628     *
629     * @param rep The repetition index (0-indexed)
630     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
631     */
632    public ID insertWhichDateTimeStatusQualifier(int rep) throws HL7Exception { 
633        return (ID) super.insertRepetition(7, rep);
634    }
635
636
637    /**
638     * Inserts a repetition of
639     * QRF-7: "Which date / time status qualifier" at a specific index
640     *
641     * @param rep The repetition index (0-indexed)
642     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
643     */
644    public ID insertQrf7_WhichDateTimeStatusQualifier(int rep) throws HL7Exception { 
645        return (ID) super.insertRepetition(7, rep);
646    }
647
648
649    /**
650     * Removes a repetition of
651     * QRF-7: "Which date / time status qualifier" at a specific index
652     *
653     * @param rep The repetition index (0-indexed)
654     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
655     */
656    public ID removeWhichDateTimeStatusQualifier(int rep) throws HL7Exception { 
657        return (ID) super.removeRepetition(7, rep);
658    }
659
660
661    /**
662     * Removes a repetition of
663     * QRF-7: "Which date / time status qualifier" 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 ID removeQrf7_WhichDateTimeStatusQualifier(int rep) throws HL7Exception { 
669        return (ID) super.removeRepetition(7, rep);
670    }
671
672
673
674    /**
675     * Returns all repetitions of Date / time selection qualifier (QRF-8).
676     */
677    public ID[] getDateTimeSelectionQualifier() {
678        ID[] retVal = this.getTypedField(8, new ID[0]);
679        return retVal;
680    }
681
682
683    /**
684     * Returns all repetitions of Date / time selection qualifier (QRF-8).
685     */
686    public ID[] getQrf8_DateTimeSelectionQualifier() {
687        ID[] retVal = this.getTypedField(8, new ID[0]);
688        return retVal;
689    }
690
691
692    /**
693     * Returns a count of the current number of repetitions of Date / time selection qualifier (QRF-8).
694     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
695     * it will return zero.
696     */
697    public int getDateTimeSelectionQualifierReps() {
698        return this.getReps(8);
699    }
700
701
702    /**
703     * Returns a specific repetition of
704     * QRF-8: "Date / time selection qualifier" - creates it if necessary
705     *
706     * @param rep The repetition index (0-indexed)
707     */
708    public ID getDateTimeSelectionQualifier(int rep) { 
709                ID retVal = this.getTypedField(8, rep);
710                return retVal;
711    }
712
713    /**
714     * Returns a specific repetition of
715     * QRF-8: "Date / time selection qualifier" - creates it if necessary
716     *
717     * @param rep The repetition index (0-indexed)
718     */
719    public ID getQrf8_DateTimeSelectionQualifier(int rep) { 
720                ID retVal = this.getTypedField(8, rep);
721                return retVal;
722    }
723
724    /**
725     * Returns a count of the current number of repetitions of Date / time selection qualifier (QRF-8).
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 getQrf8_DateTimeSelectionQualifierReps() {
730        return this.getReps(8);
731    }
732
733
734    /**
735     * Inserts a repetition of
736     * QRF-8: "Date / time selection qualifier" at a specific index
737     *
738     * @param rep The repetition index (0-indexed)
739     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
740     */
741    public ID insertDateTimeSelectionQualifier(int rep) throws HL7Exception { 
742        return (ID) super.insertRepetition(8, rep);
743    }
744
745
746    /**
747     * Inserts a repetition of
748     * QRF-8: "Date / time selection qualifier" at a specific index
749     *
750     * @param rep The repetition index (0-indexed)
751     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
752     */
753    public ID insertQrf8_DateTimeSelectionQualifier(int rep) throws HL7Exception { 
754        return (ID) super.insertRepetition(8, rep);
755    }
756
757
758    /**
759     * Removes a repetition of
760     * QRF-8: "Date / time selection qualifier" at a specific index
761     *
762     * @param rep The repetition index (0-indexed)
763     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
764     */
765    public ID removeDateTimeSelectionQualifier(int rep) throws HL7Exception { 
766        return (ID) super.removeRepetition(8, rep);
767    }
768
769
770    /**
771     * Removes a repetition of
772     * QRF-8: "Date / time selection qualifier" 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 ID removeQrf8_DateTimeSelectionQualifier(int rep) throws HL7Exception { 
778        return (ID) super.removeRepetition(8, rep);
779    }
780
781
782
783
784
785
786    /** {@inheritDoc} */   
787    protected Type createNewTypeWithoutReflection(int field) {
788       switch (field) {
789          case 0: return new ST(getMessage());
790          case 1: return new TS(getMessage());
791          case 2: return new TS(getMessage());
792          case 3: return new ST(getMessage());
793          case 4: return new ST(getMessage());
794          case 5: return new ID(getMessage(), new Integer( 156 ));
795          case 6: return new ID(getMessage(), new Integer( 157 ));
796          case 7: return new ID(getMessage(), new Integer( 158 ));
797          default: return null;
798       }
799   }
800
801
802}
803