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.v24.segment;
35  
36  // import ca.uhn.hl7v2.model.v24.group.*;
37  import ca.uhn.hl7v2.model.v24.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 AIG message segment (Appointment Information - General Resource). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>AIG-1: Set ID - AIG (SI) <b> </b>
53       * <li>AIG-2: Segment Action Code (ID) <b>optional </b>
54       * <li>AIG-3: Resource ID (CE) <b>optional </b>
55       * <li>AIG-4: Resource Type (CE) <b> </b>
56       * <li>AIG-5: Resource Group (CE) <b>optional repeating</b>
57       * <li>AIG-6: Resource Quantity (NM) <b>optional </b>
58       * <li>AIG-7: Resource Quantity Units (CE) <b>optional </b>
59       * <li>AIG-8: Start Date/Time (TS) <b>optional </b>
60       * <li>AIG-9: Start Date/Time Offset (NM) <b>optional </b>
61       * <li>AIG-10: Start Date/Time Offset Units (CE) <b>optional </b>
62       * <li>AIG-11: Duration (NM) <b>optional </b>
63       * <li>AIG-12: Duration Units (CE) <b>optional </b>
64       * <li>AIG-13: Allow Substitution Code (IS) <b>optional </b>
65       * <li>AIG-14: Filler Status Code (CE) <b>optional </b>
66   * </ul>
67   */
68  @SuppressWarnings("unused")
69  public class AIG extends AbstractSegment {
70  
71      /** 
72       * Creates a new AIG segment
73       */
74      public AIG(Group parent, ModelClassFactory factory) {
75         super(parent, factory);
76         init(factory);
77      }
78  
79      private void init(ModelClassFactory factory) {
80         try {
81                                    this.add(SI.class, true, 1, 4, new Object[]{ getMessage() }, "Set ID - AIG");
82                                                this.add(ID.class, false, 1, 3, new Object[]{ getMessage(), new Integer(206) }, "Segment Action Code");
83                                    this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Resource ID");
84                                    this.add(CE.class, true, 1, 250, new Object[]{ getMessage() }, "Resource Type");
85                                    this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Resource Group");
86                                    this.add(NM.class, false, 1, 5, new Object[]{ getMessage() }, "Resource Quantity");
87                                    this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Resource Quantity Units");
88                                    this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Start Date/Time");
89                                    this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Start Date/Time Offset");
90                                    this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Start Date/Time Offset Units");
91                                    this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Duration");
92                                    this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Duration Units");
93                                                this.add(IS.class, false, 1, 10, new Object[]{ getMessage(), new Integer(279) }, "Allow Substitution Code");
94                                    this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Filler Status Code");
95         } catch(HL7Exception e) {
96            log.error("Unexpected error creating AIG - this is probably a bug in the source code generator.", e);
97         }
98      }
99  
100 
101 
102     /**
103      * Returns
104      * AIG-1: "Set ID - AIG" - creates it if necessary
105      */
106     public SI getSetIDAIG() { 
107 		SI retVal = this.getTypedField(1, 0);
108 		return retVal;
109     }
110     
111     /**
112      * Returns
113      * AIG-1: "Set ID - AIG" - creates it if necessary
114      */
115     public SI getAig1_SetIDAIG() { 
116 		SI retVal = this.getTypedField(1, 0);
117 		return retVal;
118     }
119 
120 
121 
122     /**
123      * Returns
124      * AIG-2: "Segment Action Code" - creates it if necessary
125      */
126     public ID getSegmentActionCode() { 
127 		ID retVal = this.getTypedField(2, 0);
128 		return retVal;
129     }
130     
131     /**
132      * Returns
133      * AIG-2: "Segment Action Code" - creates it if necessary
134      */
135     public ID getAig2_SegmentActionCode() { 
136 		ID retVal = this.getTypedField(2, 0);
137 		return retVal;
138     }
139 
140 
141 
142     /**
143      * Returns
144      * AIG-3: "Resource ID" - creates it if necessary
145      */
146     public CE getResourceID() { 
147 		CE retVal = this.getTypedField(3, 0);
148 		return retVal;
149     }
150     
151     /**
152      * Returns
153      * AIG-3: "Resource ID" - creates it if necessary
154      */
155     public CE getAig3_ResourceID() { 
156 		CE retVal = this.getTypedField(3, 0);
157 		return retVal;
158     }
159 
160 
161 
162     /**
163      * Returns
164      * AIG-4: "Resource Type" - creates it if necessary
165      */
166     public CE getResourceType() { 
167 		CE retVal = this.getTypedField(4, 0);
168 		return retVal;
169     }
170     
171     /**
172      * Returns
173      * AIG-4: "Resource Type" - creates it if necessary
174      */
175     public CE getAig4_ResourceType() { 
176 		CE retVal = this.getTypedField(4, 0);
177 		return retVal;
178     }
179 
180 
181     /**
182      * Returns all repetitions of Resource Group (AIG-5).
183      */
184     public CE[] getResourceGroup() {
185     	CE[] retVal = this.getTypedField(5, new CE[0]);
186     	return retVal;
187     }
188 
189 
190     /**
191      * Returns all repetitions of Resource Group (AIG-5).
192      */
193     public CE[] getAig5_ResourceGroup() {
194     	CE[] retVal = this.getTypedField(5, new CE[0]);
195     	return retVal;
196     }
197 
198 
199     /**
200      * Returns a count of the current number of repetitions of Resource Group (AIG-5).
201      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
202      * it will return zero.
203      */
204     public int getResourceGroupReps() {
205     	return this.getReps(5);
206     }
207 
208 
209     /**
210      * Returns a specific repetition of
211      * AIG-5: "Resource Group" - creates it if necessary
212      *
213      * @param rep The repetition index (0-indexed)
214      */
215     public CE getResourceGroup(int rep) { 
216 		CE retVal = this.getTypedField(5, rep);
217 		return retVal;
218     }
219 
220     /**
221      * Returns a specific repetition of
222      * AIG-5: "Resource Group" - creates it if necessary
223      *
224      * @param rep The repetition index (0-indexed)
225      */
226     public CE getAig5_ResourceGroup(int rep) { 
227 		CE retVal = this.getTypedField(5, rep);
228 		return retVal;
229     }
230 
231     /**
232      * Returns a count of the current number of repetitions of Resource Group (AIG-5).
233      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
234      * it will return zero.
235      */
236     public int getAig5_ResourceGroupReps() {
237     	return this.getReps(5);
238     }
239 
240 
241     /**
242      * Inserts a repetition of
243      * AIG-5: "Resource Group" at a specific index
244      *
245      * @param rep The repetition index (0-indexed)
246      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
247      */
248     public CE insertResourceGroup(int rep) throws HL7Exception { 
249         return (CE) super.insertRepetition(5, rep);
250     }
251 
252 
253     /**
254      * Inserts a repetition of
255      * AIG-5: "Resource Group" at a specific index
256      *
257      * @param rep The repetition index (0-indexed)
258      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
259      */
260     public CE insertAig5_ResourceGroup(int rep) throws HL7Exception { 
261         return (CE) super.insertRepetition(5, rep);
262     }
263 
264 
265     /**
266      * Removes a repetition of
267      * AIG-5: "Resource Group" at a specific index
268      *
269      * @param rep The repetition index (0-indexed)
270      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
271      */
272     public CE removeResourceGroup(int rep) throws HL7Exception { 
273         return (CE) super.removeRepetition(5, rep);
274     }
275 
276 
277     /**
278      * Removes a repetition of
279      * AIG-5: "Resource Group" at a specific index
280      *
281      * @param rep The repetition index (0-indexed)
282      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
283      */
284     public CE removeAig5_ResourceGroup(int rep) throws HL7Exception { 
285         return (CE) super.removeRepetition(5, rep);
286     }
287 
288 
289 
290 
291     /**
292      * Returns
293      * AIG-6: "Resource Quantity" - creates it if necessary
294      */
295     public NM getResourceQuantity() { 
296 		NM retVal = this.getTypedField(6, 0);
297 		return retVal;
298     }
299     
300     /**
301      * Returns
302      * AIG-6: "Resource Quantity" - creates it if necessary
303      */
304     public NM getAig6_ResourceQuantity() { 
305 		NM retVal = this.getTypedField(6, 0);
306 		return retVal;
307     }
308 
309 
310 
311     /**
312      * Returns
313      * AIG-7: "Resource Quantity Units" - creates it if necessary
314      */
315     public CE getResourceQuantityUnits() { 
316 		CE retVal = this.getTypedField(7, 0);
317 		return retVal;
318     }
319     
320     /**
321      * Returns
322      * AIG-7: "Resource Quantity Units" - creates it if necessary
323      */
324     public CE getAig7_ResourceQuantityUnits() { 
325 		CE retVal = this.getTypedField(7, 0);
326 		return retVal;
327     }
328 
329 
330 
331     /**
332      * Returns
333      * AIG-8: "Start Date/Time" - creates it if necessary
334      */
335     public TS getStartDateTime() { 
336 		TS retVal = this.getTypedField(8, 0);
337 		return retVal;
338     }
339     
340     /**
341      * Returns
342      * AIG-8: "Start Date/Time" - creates it if necessary
343      */
344     public TS getAig8_StartDateTime() { 
345 		TS retVal = this.getTypedField(8, 0);
346 		return retVal;
347     }
348 
349 
350 
351     /**
352      * Returns
353      * AIG-9: "Start Date/Time Offset" - creates it if necessary
354      */
355     public NM getStartDateTimeOffset() { 
356 		NM retVal = this.getTypedField(9, 0);
357 		return retVal;
358     }
359     
360     /**
361      * Returns
362      * AIG-9: "Start Date/Time Offset" - creates it if necessary
363      */
364     public NM getAig9_StartDateTimeOffset() { 
365 		NM retVal = this.getTypedField(9, 0);
366 		return retVal;
367     }
368 
369 
370 
371     /**
372      * Returns
373      * AIG-10: "Start Date/Time Offset Units" - creates it if necessary
374      */
375     public CE getStartDateTimeOffsetUnits() { 
376 		CE retVal = this.getTypedField(10, 0);
377 		return retVal;
378     }
379     
380     /**
381      * Returns
382      * AIG-10: "Start Date/Time Offset Units" - creates it if necessary
383      */
384     public CE getAig10_StartDateTimeOffsetUnits() { 
385 		CE retVal = this.getTypedField(10, 0);
386 		return retVal;
387     }
388 
389 
390 
391     /**
392      * Returns
393      * AIG-11: "Duration" - creates it if necessary
394      */
395     public NM getDuration() { 
396 		NM retVal = this.getTypedField(11, 0);
397 		return retVal;
398     }
399     
400     /**
401      * Returns
402      * AIG-11: "Duration" - creates it if necessary
403      */
404     public NM getAig11_Duration() { 
405 		NM retVal = this.getTypedField(11, 0);
406 		return retVal;
407     }
408 
409 
410 
411     /**
412      * Returns
413      * AIG-12: "Duration Units" - creates it if necessary
414      */
415     public CE getDurationUnits() { 
416 		CE retVal = this.getTypedField(12, 0);
417 		return retVal;
418     }
419     
420     /**
421      * Returns
422      * AIG-12: "Duration Units" - creates it if necessary
423      */
424     public CE getAig12_DurationUnits() { 
425 		CE retVal = this.getTypedField(12, 0);
426 		return retVal;
427     }
428 
429 
430 
431     /**
432      * Returns
433      * AIG-13: "Allow Substitution Code" - creates it if necessary
434      */
435     public IS getAllowSubstitutionCode() { 
436 		IS retVal = this.getTypedField(13, 0);
437 		return retVal;
438     }
439     
440     /**
441      * Returns
442      * AIG-13: "Allow Substitution Code" - creates it if necessary
443      */
444     public IS getAig13_AllowSubstitutionCode() { 
445 		IS retVal = this.getTypedField(13, 0);
446 		return retVal;
447     }
448 
449 
450 
451     /**
452      * Returns
453      * AIG-14: "Filler Status Code" - creates it if necessary
454      */
455     public CE getFillerStatusCode() { 
456 		CE retVal = this.getTypedField(14, 0);
457 		return retVal;
458     }
459     
460     /**
461      * Returns
462      * AIG-14: "Filler Status Code" - creates it if necessary
463      */
464     public CE getAig14_FillerStatusCode() { 
465 		CE retVal = this.getTypedField(14, 0);
466 		return retVal;
467     }
468 
469 
470 
471 
472 
473     /** {@inheritDoc} */   
474     protected Type createNewTypeWithoutReflection(int field) {
475        switch (field) {
476           case 0: return new SI(getMessage());
477           case 1: return new ID(getMessage(), new Integer( 206 ));
478           case 2: return new CE(getMessage());
479           case 3: return new CE(getMessage());
480           case 4: return new CE(getMessage());
481           case 5: return new NM(getMessage());
482           case 6: return new CE(getMessage());
483           case 7: return new TS(getMessage());
484           case 8: return new NM(getMessage());
485           case 9: return new CE(getMessage());
486           case 10: return new NM(getMessage());
487           case 11: return new CE(getMessage());
488           case 12: return new IS(getMessage(), new Integer( 279 ));
489           case 13: return new CE(getMessage());
490           default: return null;
491        }
492    }
493 
494 
495 }
496