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.v28.group;
35  
36  import ca.uhn.hl7v2.model.v28.segment.*;
37  
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.model.*;
41  
42  /**
43   * <p>Represents a EHC_E20_PAT_INFO group structure (a Group object).
44   * A Group is an ordered collection of message segments that can repeat together or be optionally in/excluded together.
45   * This Group contains the following elements:  
46   * </p>
47   * <ul>
48                           * <li>1: PID (Patient Identification) <b>  choice</b></li>
49                           * <li>2: ACC (Accident) <b>optional repeating choice</b></li>
50                           * <li>3: EHC_E20_INSURANCE (a Group object) <b> repeating </b></li>
51                           * <li>4: EHC_E20_DIAGNOSIS (a Group object) <b>optional repeating </b></li>
52                           * <li>5: OBX (Observation/Result) <b>optional repeating choice</b></li>
53   * </ul>
54   * <p>
55   * Note that this structure has "choice" elements. This means that one of the 
56   * structures above marked as "choice" must be present, but no more than one.
57   * </p> 
58   */
59  //@SuppressWarnings("unused")
60  public class EHC_E20_PAT_INFO extends AbstractGroup {
61  
62      /** 
63       * Creates a new EHC_E20_PAT_INFO group
64       */
65      public EHC_E20_PAT_INFO(Group parent, ModelClassFactory factory) {
66         super(parent, factory);
67         init(factory);
68      }
69  
70      private void init(ModelClassFactory factory) {
71         try {
72                                    this.add(PID.class, true, false, true);
73                                    this.add(ACC.class, false, true, true);
74                                    this.add(EHC_E20_INSURANCE.class, true, true, false);
75                                    this.add(EHC_E20_DIAGNOSIS.class, false, true, false);
76                                    this.add(OBX.class, false, true, true);
77         } catch(HL7Exception e) {
78            log.error("Unexpected error creating EHC_E20_PAT_INFO - this is probably a bug in the source code generator.", e);
79         }
80      }
81  
82      /** 
83       * Returns "2.8"
84       */
85      public String getVersion() {
86         return "2.8";
87      }
88  
89  
90  
91      /**
92       * Returns
93       * PID (Patient Identification) - creates it if necessary
94       */
95      public PID getPID() { 
96         PID retVal = getTyped("PID", PID.class);
97         return retVal;
98      }
99  
100 
101 
102 
103     /**
104      * Returns
105      * the first repetition of 
106      * ACC (Accident) - creates it if necessary
107      */
108     public ACC getACC() { 
109        ACC retVal = getTyped("ACC", ACC.class);
110        return retVal;
111     }
112 
113 
114     /**
115      * Returns a specific repetition of
116      * ACC (Accident) - creates it if necessary
117      *
118      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
119      * @throws HL7Exception if the repetition requested is more than one 
120      *     greater than the number of existing repetitions.
121      */
122     public ACC getACC(int rep) { 
123        ACC retVal = getTyped("ACC", rep, ACC.class);
124        return retVal;
125     }
126 
127     /** 
128      * Returns the number of existing repetitions of ACC 
129      */ 
130     public int getACCReps() {  
131         return getReps("ACC");
132     } 
133 
134     /** 
135      * <p>
136      * Returns a non-modifiable List containing all current existing repetitions of ACC.
137      * <p>
138      * <p>
139      * Note that unlike {@link #getACC()}, this method will not create any reps
140      * if none are already present, so an empty list may be returned.
141      * </p>
142      */ 
143     public java.util.List<ACC> getACCAll() throws HL7Exception {
144     	return getAllAsList("ACC", ACC.class);
145     } 
146 
147     /**
148      * Inserts a specific repetition of ACC (Accident)
149      * @see AbstractGroup#insertRepetition(Structure, int) 
150      */
151     public void insertACC(ACC structure, int rep) throws HL7Exception { 
152        super.insertRepetition("ACC", structure, rep);
153     }
154 
155 
156     /**
157      * Inserts a specific repetition of ACC (Accident)
158      * @see AbstractGroup#insertRepetition(Structure, int) 
159      */
160     public ACC insertACC(int rep) throws HL7Exception { 
161        return (ACC)super.insertRepetition("ACC", rep);
162     }
163 
164 
165     /**
166      * Removes a specific repetition of ACC (Accident)
167      * @see AbstractGroup#removeRepetition(String, int) 
168      */
169     public ACC removeACC(int rep) throws HL7Exception { 
170        return (ACC)super.removeRepetition("ACC", rep);
171     }
172 
173 
174 
175     /**
176      * Returns
177      * the first repetition of 
178      * INSURANCE (a Group object) - creates it if necessary
179      */
180     public EHC_E20_INSURANCE getINSURANCE() { 
181        EHC_E20_INSURANCE retVal = getTyped("INSURANCE", EHC_E20_INSURANCE.class);
182        return retVal;
183     }
184 
185 
186     /**
187      * Returns a specific repetition of
188      * INSURANCE (a Group object) - creates it if necessary
189      *
190      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
191      * @throws HL7Exception if the repetition requested is more than one 
192      *     greater than the number of existing repetitions.
193      */
194     public EHC_E20_INSURANCE getINSURANCE(int rep) { 
195        EHC_E20_INSURANCE retVal = getTyped("INSURANCE", rep, EHC_E20_INSURANCE.class);
196        return retVal;
197     }
198 
199     /** 
200      * Returns the number of existing repetitions of INSURANCE 
201      */ 
202     public int getINSURANCEReps() {  
203         return getReps("INSURANCE");
204     } 
205 
206     /** 
207      * <p>
208      * Returns a non-modifiable List containing all current existing repetitions of INSURANCE.
209      * <p>
210      * <p>
211      * Note that unlike {@link #getINSURANCE()}, this method will not create any reps
212      * if none are already present, so an empty list may be returned.
213      * </p>
214      */ 
215     public java.util.List<EHC_E20_INSURANCE> getINSURANCEAll() throws HL7Exception {
216     	return getAllAsList("INSURANCE", EHC_E20_INSURANCE.class);
217     } 
218 
219     /**
220      * Inserts a specific repetition of INSURANCE (a Group object)
221      * @see AbstractGroup#insertRepetition(Structure, int) 
222      */
223     public void insertINSURANCE(EHC_E20_INSURANCE structure, int rep) throws HL7Exception { 
224        super.insertRepetition("INSURANCE", structure, rep);
225     }
226 
227 
228     /**
229      * Inserts a specific repetition of INSURANCE (a Group object)
230      * @see AbstractGroup#insertRepetition(Structure, int) 
231      */
232     public EHC_E20_INSURANCE insertINSURANCE(int rep) throws HL7Exception { 
233        return (EHC_E20_INSURANCE)super.insertRepetition("INSURANCE", rep);
234     }
235 
236 
237     /**
238      * Removes a specific repetition of INSURANCE (a Group object)
239      * @see AbstractGroup#removeRepetition(String, int) 
240      */
241     public EHC_E20_INSURANCE removeINSURANCE(int rep) throws HL7Exception { 
242        return (EHC_E20_INSURANCE)super.removeRepetition("INSURANCE", rep);
243     }
244 
245 
246 
247     /**
248      * Returns
249      * the first repetition of 
250      * DIAGNOSIS (a Group object) - creates it if necessary
251      */
252     public EHC_E20_DIAGNOSIS getDIAGNOSIS() { 
253        EHC_E20_DIAGNOSIS retVal = getTyped("DIAGNOSIS", EHC_E20_DIAGNOSIS.class);
254        return retVal;
255     }
256 
257 
258     /**
259      * Returns a specific repetition of
260      * DIAGNOSIS (a Group object) - creates it if necessary
261      *
262      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
263      * @throws HL7Exception if the repetition requested is more than one 
264      *     greater than the number of existing repetitions.
265      */
266     public EHC_E20_DIAGNOSIS getDIAGNOSIS(int rep) { 
267        EHC_E20_DIAGNOSIS retVal = getTyped("DIAGNOSIS", rep, EHC_E20_DIAGNOSIS.class);
268        return retVal;
269     }
270 
271     /** 
272      * Returns the number of existing repetitions of DIAGNOSIS 
273      */ 
274     public int getDIAGNOSISReps() {  
275         return getReps("DIAGNOSIS");
276     } 
277 
278     /** 
279      * <p>
280      * Returns a non-modifiable List containing all current existing repetitions of DIAGNOSIS.
281      * <p>
282      * <p>
283      * Note that unlike {@link #getDIAGNOSIS()}, this method will not create any reps
284      * if none are already present, so an empty list may be returned.
285      * </p>
286      */ 
287     public java.util.List<EHC_E20_DIAGNOSIS> getDIAGNOSISAll() throws HL7Exception {
288     	return getAllAsList("DIAGNOSIS", EHC_E20_DIAGNOSIS.class);
289     } 
290 
291     /**
292      * Inserts a specific repetition of DIAGNOSIS (a Group object)
293      * @see AbstractGroup#insertRepetition(Structure, int) 
294      */
295     public void insertDIAGNOSIS(EHC_E20_DIAGNOSIS structure, int rep) throws HL7Exception { 
296        super.insertRepetition("DIAGNOSIS", structure, rep);
297     }
298 
299 
300     /**
301      * Inserts a specific repetition of DIAGNOSIS (a Group object)
302      * @see AbstractGroup#insertRepetition(Structure, int) 
303      */
304     public EHC_E20_DIAGNOSIS insertDIAGNOSIS(int rep) throws HL7Exception { 
305        return (EHC_E20_DIAGNOSIS)super.insertRepetition("DIAGNOSIS", rep);
306     }
307 
308 
309     /**
310      * Removes a specific repetition of DIAGNOSIS (a Group object)
311      * @see AbstractGroup#removeRepetition(String, int) 
312      */
313     public EHC_E20_DIAGNOSIS removeDIAGNOSIS(int rep) throws HL7Exception { 
314        return (EHC_E20_DIAGNOSIS)super.removeRepetition("DIAGNOSIS", rep);
315     }
316 
317 
318 
319     /**
320      * Returns
321      * the first repetition of 
322      * OBX (Observation/Result) - creates it if necessary
323      */
324     public OBX getOBX() { 
325        OBX retVal = getTyped("OBX", OBX.class);
326        return retVal;
327     }
328 
329 
330     /**
331      * Returns a specific repetition of
332      * OBX (Observation/Result) - creates it if necessary
333      *
334      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
335      * @throws HL7Exception if the repetition requested is more than one 
336      *     greater than the number of existing repetitions.
337      */
338     public OBX getOBX(int rep) { 
339        OBX retVal = getTyped("OBX", rep, OBX.class);
340        return retVal;
341     }
342 
343     /** 
344      * Returns the number of existing repetitions of OBX 
345      */ 
346     public int getOBXReps() {  
347         return getReps("OBX");
348     } 
349 
350     /** 
351      * <p>
352      * Returns a non-modifiable List containing all current existing repetitions of OBX.
353      * <p>
354      * <p>
355      * Note that unlike {@link #getOBX()}, this method will not create any reps
356      * if none are already present, so an empty list may be returned.
357      * </p>
358      */ 
359     public java.util.List<OBX> getOBXAll() throws HL7Exception {
360     	return getAllAsList("OBX", OBX.class);
361     } 
362 
363     /**
364      * Inserts a specific repetition of OBX (Observation/Result)
365      * @see AbstractGroup#insertRepetition(Structure, int) 
366      */
367     public void insertOBX(OBX structure, int rep) throws HL7Exception { 
368        super.insertRepetition("OBX", structure, rep);
369     }
370 
371 
372     /**
373      * Inserts a specific repetition of OBX (Observation/Result)
374      * @see AbstractGroup#insertRepetition(Structure, int) 
375      */
376     public OBX insertOBX(int rep) throws HL7Exception { 
377        return (OBX)super.insertRepetition("OBX", rep);
378     }
379 
380 
381     /**
382      * Removes a specific repetition of OBX (Observation/Result)
383      * @see AbstractGroup#removeRepetition(String, int) 
384      */
385     public OBX removeOBX(int rep) throws HL7Exception { 
386        return (OBX)super.removeRepetition("OBX", rep);
387     }
388 
389 
390 
391 }
392