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 QRD message segment (QRD - original-style query definition segment). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>QRD-1: Query Date/Time (TS) <b> </b>
53       * <li>QRD-2: Query Format Code (ID) <b> </b>
54       * <li>QRD-3: Query Priority (ID) <b> </b>
55       * <li>QRD-4: Query ID (ST) <b> </b>
56       * <li>QRD-5: Deferred Response Type (ID) <b>optional </b>
57       * <li>QRD-6: Deferred Response Date/Time (TS) <b>optional </b>
58       * <li>QRD-7: Quantity Limited Request (CQ) <b> </b>
59       * <li>QRD-8: Who Subject Filter (XCN) <b> repeating</b>
60       * <li>QRD-9: What Subject Filter (CE) <b> repeating</b>
61       * <li>QRD-10: What Department Data Code (CE) <b> repeating</b>
62       * <li>QRD-11: What Data Code Value Qual. (VR) <b>optional repeating</b>
63       * <li>QRD-12: Query Results Level (ID) <b>optional </b>
64   * </ul>
65   */
66  @SuppressWarnings("unused")
67  public class QRD extends AbstractSegment {
68  
69      /** 
70       * Creates a new QRD segment
71       */
72      public QRD(Group parent, ModelClassFactory factory) {
73         super(parent, factory);
74         init(factory);
75      }
76  
77      private void init(ModelClassFactory factory) {
78         try {
79                                    this.add(TS.class, true, 1, 26, new Object[]{ getMessage() }, "Query Date/Time");
80                                                this.add(ID.class, true, 1, 1, new Object[]{ getMessage(), new Integer(106) }, "Query Format Code");
81                                                this.add(ID.class, true, 1, 1, new Object[]{ getMessage(), new Integer(91) }, "Query Priority");
82                                    this.add(ST.class, true, 1, 10, new Object[]{ getMessage() }, "Query ID");
83                                                this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(107) }, "Deferred Response Type");
84                                    this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Deferred Response Date/Time");
85                                    this.add(CQ.class, true, 1, 10, new Object[]{ getMessage() }, "Quantity Limited Request");
86                                    this.add(XCN.class, true, 0, 60, new Object[]{ getMessage() }, "Who Subject Filter");
87                                    this.add(CE.class, true, 0, 60, new Object[]{ getMessage() }, "What Subject Filter");
88                                    this.add(CE.class, true, 0, 60, new Object[]{ getMessage() }, "What Department Data Code");
89                                    this.add(VR.class, false, 0, 20, new Object[]{ getMessage() }, "What Data Code Value Qual.");
90                                                this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(108) }, "Query Results Level");
91         } catch(HL7Exception e) {
92            log.error("Unexpected error creating QRD - this is probably a bug in the source code generator.", e);
93         }
94      }
95  
96  
97  
98      /**
99       * Returns
100      * QRD-1: "Query Date/Time" - creates it if necessary
101      */
102     public TS getQueryDateTime() { 
103 		TS retVal = this.getTypedField(1, 0);
104 		return retVal;
105     }
106     
107     /**
108      * Returns
109      * QRD-1: "Query Date/Time" - creates it if necessary
110      */
111     public TS getQrd1_QueryDateTime() { 
112 		TS retVal = this.getTypedField(1, 0);
113 		return retVal;
114     }
115 
116 
117 
118     /**
119      * Returns
120      * QRD-2: "Query Format Code" - creates it if necessary
121      */
122     public ID getQueryFormatCode() { 
123 		ID retVal = this.getTypedField(2, 0);
124 		return retVal;
125     }
126     
127     /**
128      * Returns
129      * QRD-2: "Query Format Code" - creates it if necessary
130      */
131     public ID getQrd2_QueryFormatCode() { 
132 		ID retVal = this.getTypedField(2, 0);
133 		return retVal;
134     }
135 
136 
137 
138     /**
139      * Returns
140      * QRD-3: "Query Priority" - creates it if necessary
141      */
142     public ID getQueryPriority() { 
143 		ID retVal = this.getTypedField(3, 0);
144 		return retVal;
145     }
146     
147     /**
148      * Returns
149      * QRD-3: "Query Priority" - creates it if necessary
150      */
151     public ID getQrd3_QueryPriority() { 
152 		ID retVal = this.getTypedField(3, 0);
153 		return retVal;
154     }
155 
156 
157 
158     /**
159      * Returns
160      * QRD-4: "Query ID" - creates it if necessary
161      */
162     public ST getQueryID() { 
163 		ST retVal = this.getTypedField(4, 0);
164 		return retVal;
165     }
166     
167     /**
168      * Returns
169      * QRD-4: "Query ID" - creates it if necessary
170      */
171     public ST getQrd4_QueryID() { 
172 		ST retVal = this.getTypedField(4, 0);
173 		return retVal;
174     }
175 
176 
177 
178     /**
179      * Returns
180      * QRD-5: "Deferred Response Type" - creates it if necessary
181      */
182     public ID getDeferredResponseType() { 
183 		ID retVal = this.getTypedField(5, 0);
184 		return retVal;
185     }
186     
187     /**
188      * Returns
189      * QRD-5: "Deferred Response Type" - creates it if necessary
190      */
191     public ID getQrd5_DeferredResponseType() { 
192 		ID retVal = this.getTypedField(5, 0);
193 		return retVal;
194     }
195 
196 
197 
198     /**
199      * Returns
200      * QRD-6: "Deferred Response Date/Time" - creates it if necessary
201      */
202     public TS getDeferredResponseDateTime() { 
203 		TS retVal = this.getTypedField(6, 0);
204 		return retVal;
205     }
206     
207     /**
208      * Returns
209      * QRD-6: "Deferred Response Date/Time" - creates it if necessary
210      */
211     public TS getQrd6_DeferredResponseDateTime() { 
212 		TS retVal = this.getTypedField(6, 0);
213 		return retVal;
214     }
215 
216 
217 
218     /**
219      * Returns
220      * QRD-7: "Quantity Limited Request" - creates it if necessary
221      */
222     public CQ getQuantityLimitedRequest() { 
223 		CQ retVal = this.getTypedField(7, 0);
224 		return retVal;
225     }
226     
227     /**
228      * Returns
229      * QRD-7: "Quantity Limited Request" - creates it if necessary
230      */
231     public CQ getQrd7_QuantityLimitedRequest() { 
232 		CQ retVal = this.getTypedField(7, 0);
233 		return retVal;
234     }
235 
236 
237     /**
238      * Returns all repetitions of Who Subject Filter (QRD-8).
239      */
240     public XCN[] getWhoSubjectFilter() {
241     	XCN[] retVal = this.getTypedField(8, new XCN[0]);
242     	return retVal;
243     }
244 
245 
246     /**
247      * Returns all repetitions of Who Subject Filter (QRD-8).
248      */
249     public XCN[] getQrd8_WhoSubjectFilter() {
250     	XCN[] retVal = this.getTypedField(8, new XCN[0]);
251     	return retVal;
252     }
253 
254 
255     /**
256      * Returns a count of the current number of repetitions of Who Subject Filter (QRD-8).
257      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
258      * it will return zero.
259      */
260     public int getWhoSubjectFilterReps() {
261     	return this.getReps(8);
262     }
263 
264 
265     /**
266      * Returns a specific repetition of
267      * QRD-8: "Who Subject Filter" - creates it if necessary
268      *
269      * @param rep The repetition index (0-indexed)
270      */
271     public XCN getWhoSubjectFilter(int rep) { 
272 		XCN retVal = this.getTypedField(8, rep);
273 		return retVal;
274     }
275 
276     /**
277      * Returns a specific repetition of
278      * QRD-8: "Who Subject Filter" - creates it if necessary
279      *
280      * @param rep The repetition index (0-indexed)
281      */
282     public XCN getQrd8_WhoSubjectFilter(int rep) { 
283 		XCN retVal = this.getTypedField(8, rep);
284 		return retVal;
285     }
286 
287     /**
288      * Returns a count of the current number of repetitions of Who Subject Filter (QRD-8).
289      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
290      * it will return zero.
291      */
292     public int getQrd8_WhoSubjectFilterReps() {
293     	return this.getReps(8);
294     }
295 
296 
297     /**
298      * Inserts a repetition of
299      * QRD-8: "Who Subject Filter" at a specific index
300      *
301      * @param rep The repetition index (0-indexed)
302      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
303      */
304     public XCN insertWhoSubjectFilter(int rep) throws HL7Exception { 
305         return (XCN) super.insertRepetition(8, rep);
306     }
307 
308 
309     /**
310      * Inserts a repetition of
311      * QRD-8: "Who Subject Filter" at a specific index
312      *
313      * @param rep The repetition index (0-indexed)
314      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
315      */
316     public XCN insertQrd8_WhoSubjectFilter(int rep) throws HL7Exception { 
317         return (XCN) super.insertRepetition(8, rep);
318     }
319 
320 
321     /**
322      * Removes a repetition of
323      * QRD-8: "Who Subject Filter" at a specific index
324      *
325      * @param rep The repetition index (0-indexed)
326      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
327      */
328     public XCN removeWhoSubjectFilter(int rep) throws HL7Exception { 
329         return (XCN) super.removeRepetition(8, rep);
330     }
331 
332 
333     /**
334      * Removes a repetition of
335      * QRD-8: "Who Subject Filter" at a specific index
336      *
337      * @param rep The repetition index (0-indexed)
338      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
339      */
340     public XCN removeQrd8_WhoSubjectFilter(int rep) throws HL7Exception { 
341         return (XCN) super.removeRepetition(8, rep);
342     }
343 
344 
345 
346     /**
347      * Returns all repetitions of What Subject Filter (QRD-9).
348      */
349     public CE[] getWhatSubjectFilter() {
350     	CE[] retVal = this.getTypedField(9, new CE[0]);
351     	return retVal;
352     }
353 
354 
355     /**
356      * Returns all repetitions of What Subject Filter (QRD-9).
357      */
358     public CE[] getQrd9_WhatSubjectFilter() {
359     	CE[] retVal = this.getTypedField(9, new CE[0]);
360     	return retVal;
361     }
362 
363 
364     /**
365      * Returns a count of the current number of repetitions of What Subject Filter (QRD-9).
366      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
367      * it will return zero.
368      */
369     public int getWhatSubjectFilterReps() {
370     	return this.getReps(9);
371     }
372 
373 
374     /**
375      * Returns a specific repetition of
376      * QRD-9: "What Subject Filter" - creates it if necessary
377      *
378      * @param rep The repetition index (0-indexed)
379      */
380     public CE getWhatSubjectFilter(int rep) { 
381 		CE retVal = this.getTypedField(9, rep);
382 		return retVal;
383     }
384 
385     /**
386      * Returns a specific repetition of
387      * QRD-9: "What Subject Filter" - creates it if necessary
388      *
389      * @param rep The repetition index (0-indexed)
390      */
391     public CE getQrd9_WhatSubjectFilter(int rep) { 
392 		CE retVal = this.getTypedField(9, rep);
393 		return retVal;
394     }
395 
396     /**
397      * Returns a count of the current number of repetitions of What Subject Filter (QRD-9).
398      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
399      * it will return zero.
400      */
401     public int getQrd9_WhatSubjectFilterReps() {
402     	return this.getReps(9);
403     }
404 
405 
406     /**
407      * Inserts a repetition of
408      * QRD-9: "What Subject Filter" at a specific index
409      *
410      * @param rep The repetition index (0-indexed)
411      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
412      */
413     public CE insertWhatSubjectFilter(int rep) throws HL7Exception { 
414         return (CE) super.insertRepetition(9, rep);
415     }
416 
417 
418     /**
419      * Inserts a repetition of
420      * QRD-9: "What Subject Filter" at a specific index
421      *
422      * @param rep The repetition index (0-indexed)
423      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
424      */
425     public CE insertQrd9_WhatSubjectFilter(int rep) throws HL7Exception { 
426         return (CE) super.insertRepetition(9, rep);
427     }
428 
429 
430     /**
431      * Removes a repetition of
432      * QRD-9: "What Subject Filter" at a specific index
433      *
434      * @param rep The repetition index (0-indexed)
435      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
436      */
437     public CE removeWhatSubjectFilter(int rep) throws HL7Exception { 
438         return (CE) super.removeRepetition(9, rep);
439     }
440 
441 
442     /**
443      * Removes a repetition of
444      * QRD-9: "What Subject Filter" at a specific index
445      *
446      * @param rep The repetition index (0-indexed)
447      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
448      */
449     public CE removeQrd9_WhatSubjectFilter(int rep) throws HL7Exception { 
450         return (CE) super.removeRepetition(9, rep);
451     }
452 
453 
454 
455     /**
456      * Returns all repetitions of What Department Data Code (QRD-10).
457      */
458     public CE[] getWhatDepartmentDataCode() {
459     	CE[] retVal = this.getTypedField(10, new CE[0]);
460     	return retVal;
461     }
462 
463 
464     /**
465      * Returns all repetitions of What Department Data Code (QRD-10).
466      */
467     public CE[] getQrd10_WhatDepartmentDataCode() {
468     	CE[] retVal = this.getTypedField(10, new CE[0]);
469     	return retVal;
470     }
471 
472 
473     /**
474      * Returns a count of the current number of repetitions of What Department Data Code (QRD-10).
475      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
476      * it will return zero.
477      */
478     public int getWhatDepartmentDataCodeReps() {
479     	return this.getReps(10);
480     }
481 
482 
483     /**
484      * Returns a specific repetition of
485      * QRD-10: "What Department Data Code" - creates it if necessary
486      *
487      * @param rep The repetition index (0-indexed)
488      */
489     public CE getWhatDepartmentDataCode(int rep) { 
490 		CE retVal = this.getTypedField(10, rep);
491 		return retVal;
492     }
493 
494     /**
495      * Returns a specific repetition of
496      * QRD-10: "What Department Data Code" - creates it if necessary
497      *
498      * @param rep The repetition index (0-indexed)
499      */
500     public CE getQrd10_WhatDepartmentDataCode(int rep) { 
501 		CE retVal = this.getTypedField(10, rep);
502 		return retVal;
503     }
504 
505     /**
506      * Returns a count of the current number of repetitions of What Department Data Code (QRD-10).
507      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
508      * it will return zero.
509      */
510     public int getQrd10_WhatDepartmentDataCodeReps() {
511     	return this.getReps(10);
512     }
513 
514 
515     /**
516      * Inserts a repetition of
517      * QRD-10: "What Department Data Code" at a specific index
518      *
519      * @param rep The repetition index (0-indexed)
520      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
521      */
522     public CE insertWhatDepartmentDataCode(int rep) throws HL7Exception { 
523         return (CE) super.insertRepetition(10, rep);
524     }
525 
526 
527     /**
528      * Inserts a repetition of
529      * QRD-10: "What Department Data Code" at a specific index
530      *
531      * @param rep The repetition index (0-indexed)
532      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
533      */
534     public CE insertQrd10_WhatDepartmentDataCode(int rep) throws HL7Exception { 
535         return (CE) super.insertRepetition(10, rep);
536     }
537 
538 
539     /**
540      * Removes a repetition of
541      * QRD-10: "What Department Data Code" at a specific index
542      *
543      * @param rep The repetition index (0-indexed)
544      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
545      */
546     public CE removeWhatDepartmentDataCode(int rep) throws HL7Exception { 
547         return (CE) super.removeRepetition(10, rep);
548     }
549 
550 
551     /**
552      * Removes a repetition of
553      * QRD-10: "What Department Data Code" at a specific index
554      *
555      * @param rep The repetition index (0-indexed)
556      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
557      */
558     public CE removeQrd10_WhatDepartmentDataCode(int rep) throws HL7Exception { 
559         return (CE) super.removeRepetition(10, rep);
560     }
561 
562 
563 
564     /**
565      * Returns all repetitions of What Data Code Value Qual. (QRD-11).
566      */
567     public VR[] getWhatDataCodeValueQual() {
568     	VR[] retVal = this.getTypedField(11, new VR[0]);
569     	return retVal;
570     }
571 
572 
573     /**
574      * Returns all repetitions of What Data Code Value Qual. (QRD-11).
575      */
576     public VR[] getQrd11_WhatDataCodeValueQual() {
577     	VR[] retVal = this.getTypedField(11, new VR[0]);
578     	return retVal;
579     }
580 
581 
582     /**
583      * Returns a count of the current number of repetitions of What Data Code Value Qual. (QRD-11).
584      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
585      * it will return zero.
586      */
587     public int getWhatDataCodeValueQualReps() {
588     	return this.getReps(11);
589     }
590 
591 
592     /**
593      * Returns a specific repetition of
594      * QRD-11: "What Data Code Value Qual." - creates it if necessary
595      *
596      * @param rep The repetition index (0-indexed)
597      */
598     public VR getWhatDataCodeValueQual(int rep) { 
599 		VR retVal = this.getTypedField(11, rep);
600 		return retVal;
601     }
602 
603     /**
604      * Returns a specific repetition of
605      * QRD-11: "What Data Code Value Qual." - creates it if necessary
606      *
607      * @param rep The repetition index (0-indexed)
608      */
609     public VR getQrd11_WhatDataCodeValueQual(int rep) { 
610 		VR retVal = this.getTypedField(11, rep);
611 		return retVal;
612     }
613 
614     /**
615      * Returns a count of the current number of repetitions of What Data Code Value Qual. (QRD-11).
616      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
617      * it will return zero.
618      */
619     public int getQrd11_WhatDataCodeValueQualReps() {
620     	return this.getReps(11);
621     }
622 
623 
624     /**
625      * Inserts a repetition of
626      * QRD-11: "What Data Code Value Qual." at a specific index
627      *
628      * @param rep The repetition index (0-indexed)
629      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
630      */
631     public VR insertWhatDataCodeValueQual(int rep) throws HL7Exception { 
632         return (VR) super.insertRepetition(11, rep);
633     }
634 
635 
636     /**
637      * Inserts a repetition of
638      * QRD-11: "What Data Code Value Qual." at a specific index
639      *
640      * @param rep The repetition index (0-indexed)
641      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
642      */
643     public VR insertQrd11_WhatDataCodeValueQual(int rep) throws HL7Exception { 
644         return (VR) super.insertRepetition(11, rep);
645     }
646 
647 
648     /**
649      * Removes a repetition of
650      * QRD-11: "What Data Code Value Qual." at a specific index
651      *
652      * @param rep The repetition index (0-indexed)
653      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
654      */
655     public VR removeWhatDataCodeValueQual(int rep) throws HL7Exception { 
656         return (VR) super.removeRepetition(11, rep);
657     }
658 
659 
660     /**
661      * Removes a repetition of
662      * QRD-11: "What Data Code Value Qual." at a specific index
663      *
664      * @param rep The repetition index (0-indexed)
665      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
666      */
667     public VR removeQrd11_WhatDataCodeValueQual(int rep) throws HL7Exception { 
668         return (VR) super.removeRepetition(11, rep);
669     }
670 
671 
672 
673 
674     /**
675      * Returns
676      * QRD-12: "Query Results Level" - creates it if necessary
677      */
678     public ID getQueryResultsLevel() { 
679 		ID retVal = this.getTypedField(12, 0);
680 		return retVal;
681     }
682     
683     /**
684      * Returns
685      * QRD-12: "Query Results Level" - creates it if necessary
686      */
687     public ID getQrd12_QueryResultsLevel() { 
688 		ID retVal = this.getTypedField(12, 0);
689 		return retVal;
690     }
691 
692 
693 
694 
695 
696     /** {@inheritDoc} */   
697     protected Type createNewTypeWithoutReflection(int field) {
698        switch (field) {
699           case 0: return new TS(getMessage());
700           case 1: return new ID(getMessage(), new Integer( 106 ));
701           case 2: return new ID(getMessage(), new Integer( 91 ));
702           case 3: return new ST(getMessage());
703           case 4: return new ID(getMessage(), new Integer( 107 ));
704           case 5: return new TS(getMessage());
705           case 6: return new CQ(getMessage());
706           case 7: return new XCN(getMessage());
707           case 8: return new CE(getMessage());
708           case 9: return new CE(getMessage());
709           case 10: return new VR(getMessage());
710           case 11: return new ID(getMessage(), new Integer( 108 ));
711           default: return null;
712        }
713    }
714 
715 
716 }
717