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.v26.group;
35  
36  import ca.uhn.hl7v2.model.v26.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_E01_PRODUCT_SERVICE_GROUP 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: PSG (Product/Service Group) <b>  choice</b></li>
49                           * <li>2: LOC (Location Identification) <b>optional repeating choice</b></li>
50                           * <li>3: ROL (Role) <b>optional repeating choice</b></li>
51                           * <li>4: EHC_E01_PATIENT_INFO (a Group object) <b>optional repeating </b></li>
52                           * <li>5: EHC_E01_PRODUCT_SERVICE_LINE_ITEM (a Group object) <b> repeating </b></li>
53                           * <li>6: EHC_E01_PROCEDURE (a Group object) <b>optional repeating </b></li>
54                           * <li>7: EHC_E01_INVOICE_PROCESSING (a Group object) <b>optional repeating </b></li>
55   * </ul>
56   * <p>
57   * Note that this structure has "choice" elements. This means that one of the 
58   * structures above marked as "choice" must be present, but no more than one.
59   * </p> 
60   */
61  //@SuppressWarnings("unused")
62  public class EHC_E01_PRODUCT_SERVICE_GROUP extends AbstractGroup {
63  
64      /** 
65       * Creates a new EHC_E01_PRODUCT_SERVICE_GROUP group
66       */
67      public EHC_E01_PRODUCT_SERVICE_GROUP(Group parent, ModelClassFactory factory) {
68         super(parent, factory);
69         init(factory);
70      }
71  
72      private void init(ModelClassFactory factory) {
73         try {
74                                    this.add(PSG.class, true, false, true);
75                                    this.add(LOC.class, false, true, true);
76                                    this.add(ROL.class, false, true, true);
77                                    this.add(EHC_E01_PATIENT_INFO.class, false, true, false);
78                                    this.add(EHC_E01_PRODUCT_SERVICE_LINE_ITEM.class, true, true, false);
79                                    this.add(EHC_E01_PROCEDURE.class, false, true, false);
80                                    this.add(EHC_E01_INVOICE_PROCESSING.class, false, true, false);
81         } catch(HL7Exception e) {
82            log.error("Unexpected error creating EHC_E01_PRODUCT_SERVICE_GROUP - this is probably a bug in the source code generator.", e);
83         }
84      }
85  
86      /** 
87       * Returns "2.6"
88       */
89      public String getVersion() {
90         return "2.6";
91      }
92  
93  
94  
95      /**
96       * Returns
97       * PSG (Product/Service Group) - creates it if necessary
98       */
99      public PSG getPSG() { 
100        PSG retVal = getTyped("PSG", PSG.class);
101        return retVal;
102     }
103 
104 
105 
106 
107     /**
108      * Returns
109      * the first repetition of 
110      * LOC (Location Identification) - creates it if necessary
111      */
112     public LOC getLOC() { 
113        LOC retVal = getTyped("LOC", LOC.class);
114        return retVal;
115     }
116 
117 
118     /**
119      * Returns a specific repetition of
120      * LOC (Location Identification) - creates it if necessary
121      *
122      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
123      * @throws HL7Exception if the repetition requested is more than one 
124      *     greater than the number of existing repetitions.
125      */
126     public LOC getLOC(int rep) { 
127        LOC retVal = getTyped("LOC", rep, LOC.class);
128        return retVal;
129     }
130 
131     /** 
132      * Returns the number of existing repetitions of LOC 
133      */ 
134     public int getLOCReps() {  
135         return getReps("LOC");
136     } 
137 
138     /** 
139      * <p>
140      * Returns a non-modifiable List containing all current existing repetitions of LOC.
141      * <p>
142      * <p>
143      * Note that unlike {@link #getLOC()}, this method will not create any reps
144      * if none are already present, so an empty list may be returned.
145      * </p>
146      */ 
147     public java.util.List<LOC> getLOCAll() throws HL7Exception {
148     	return getAllAsList("LOC", LOC.class);
149     } 
150 
151     /**
152      * Inserts a specific repetition of LOC (Location Identification)
153      * @see AbstractGroup#insertRepetition(Structure, int) 
154      */
155     public void insertLOC(LOC structure, int rep) throws HL7Exception { 
156        super.insertRepetition("LOC", structure, rep);
157     }
158 
159 
160     /**
161      * Inserts a specific repetition of LOC (Location Identification)
162      * @see AbstractGroup#insertRepetition(Structure, int) 
163      */
164     public LOC insertLOC(int rep) throws HL7Exception { 
165        return (LOC)super.insertRepetition("LOC", rep);
166     }
167 
168 
169     /**
170      * Removes a specific repetition of LOC (Location Identification)
171      * @see AbstractGroup#removeRepetition(String, int) 
172      */
173     public LOC removeLOC(int rep) throws HL7Exception { 
174        return (LOC)super.removeRepetition("LOC", rep);
175     }
176 
177 
178 
179     /**
180      * Returns
181      * the first repetition of 
182      * ROL (Role) - creates it if necessary
183      */
184     public ROL getROL() { 
185        ROL retVal = getTyped("ROL", ROL.class);
186        return retVal;
187     }
188 
189 
190     /**
191      * Returns a specific repetition of
192      * ROL (Role) - creates it if necessary
193      *
194      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
195      * @throws HL7Exception if the repetition requested is more than one 
196      *     greater than the number of existing repetitions.
197      */
198     public ROL getROL(int rep) { 
199        ROL retVal = getTyped("ROL", rep, ROL.class);
200        return retVal;
201     }
202 
203     /** 
204      * Returns the number of existing repetitions of ROL 
205      */ 
206     public int getROLReps() {  
207         return getReps("ROL");
208     } 
209 
210     /** 
211      * <p>
212      * Returns a non-modifiable List containing all current existing repetitions of ROL.
213      * <p>
214      * <p>
215      * Note that unlike {@link #getROL()}, this method will not create any reps
216      * if none are already present, so an empty list may be returned.
217      * </p>
218      */ 
219     public java.util.List<ROL> getROLAll() throws HL7Exception {
220     	return getAllAsList("ROL", ROL.class);
221     } 
222 
223     /**
224      * Inserts a specific repetition of ROL (Role)
225      * @see AbstractGroup#insertRepetition(Structure, int) 
226      */
227     public void insertROL(ROL structure, int rep) throws HL7Exception { 
228        super.insertRepetition("ROL", structure, rep);
229     }
230 
231 
232     /**
233      * Inserts a specific repetition of ROL (Role)
234      * @see AbstractGroup#insertRepetition(Structure, int) 
235      */
236     public ROL insertROL(int rep) throws HL7Exception { 
237        return (ROL)super.insertRepetition("ROL", rep);
238     }
239 
240 
241     /**
242      * Removes a specific repetition of ROL (Role)
243      * @see AbstractGroup#removeRepetition(String, int) 
244      */
245     public ROL removeROL(int rep) throws HL7Exception { 
246        return (ROL)super.removeRepetition("ROL", rep);
247     }
248 
249 
250 
251     /**
252      * Returns
253      * the first repetition of 
254      * PATIENT_INFO (a Group object) - creates it if necessary
255      */
256     public EHC_E01_PATIENT_INFO getPATIENT_INFO() { 
257        EHC_E01_PATIENT_INFO retVal = getTyped("PATIENT_INFO", EHC_E01_PATIENT_INFO.class);
258        return retVal;
259     }
260 
261 
262     /**
263      * Returns a specific repetition of
264      * PATIENT_INFO (a Group object) - creates it if necessary
265      *
266      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
267      * @throws HL7Exception if the repetition requested is more than one 
268      *     greater than the number of existing repetitions.
269      */
270     public EHC_E01_PATIENT_INFO getPATIENT_INFO(int rep) { 
271        EHC_E01_PATIENT_INFO retVal = getTyped("PATIENT_INFO", rep, EHC_E01_PATIENT_INFO.class);
272        return retVal;
273     }
274 
275     /** 
276      * Returns the number of existing repetitions of PATIENT_INFO 
277      */ 
278     public int getPATIENT_INFOReps() {  
279         return getReps("PATIENT_INFO");
280     } 
281 
282     /** 
283      * <p>
284      * Returns a non-modifiable List containing all current existing repetitions of PATIENT_INFO.
285      * <p>
286      * <p>
287      * Note that unlike {@link #getPATIENT_INFO()}, this method will not create any reps
288      * if none are already present, so an empty list may be returned.
289      * </p>
290      */ 
291     public java.util.List<EHC_E01_PATIENT_INFO> getPATIENT_INFOAll() throws HL7Exception {
292     	return getAllAsList("PATIENT_INFO", EHC_E01_PATIENT_INFO.class);
293     } 
294 
295     /**
296      * Inserts a specific repetition of PATIENT_INFO (a Group object)
297      * @see AbstractGroup#insertRepetition(Structure, int) 
298      */
299     public void insertPATIENT_INFO(EHC_E01_PATIENT_INFO structure, int rep) throws HL7Exception { 
300        super.insertRepetition("PATIENT_INFO", structure, rep);
301     }
302 
303 
304     /**
305      * Inserts a specific repetition of PATIENT_INFO (a Group object)
306      * @see AbstractGroup#insertRepetition(Structure, int) 
307      */
308     public EHC_E01_PATIENT_INFO insertPATIENT_INFO(int rep) throws HL7Exception { 
309        return (EHC_E01_PATIENT_INFO)super.insertRepetition("PATIENT_INFO", rep);
310     }
311 
312 
313     /**
314      * Removes a specific repetition of PATIENT_INFO (a Group object)
315      * @see AbstractGroup#removeRepetition(String, int) 
316      */
317     public EHC_E01_PATIENT_INFO removePATIENT_INFO(int rep) throws HL7Exception { 
318        return (EHC_E01_PATIENT_INFO)super.removeRepetition("PATIENT_INFO", rep);
319     }
320 
321 
322 
323     /**
324      * Returns
325      * the first repetition of 
326      * PRODUCT_SERVICE_LINE_ITEM (a Group object) - creates it if necessary
327      */
328     public EHC_E01_PRODUCT_SERVICE_LINE_ITEM getPRODUCT_SERVICE_LINE_ITEM() { 
329        EHC_E01_PRODUCT_SERVICE_LINE_ITEM retVal = getTyped("PRODUCT_SERVICE_LINE_ITEM", EHC_E01_PRODUCT_SERVICE_LINE_ITEM.class);
330        return retVal;
331     }
332 
333 
334     /**
335      * Returns a specific repetition of
336      * PRODUCT_SERVICE_LINE_ITEM (a Group object) - creates it if necessary
337      *
338      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
339      * @throws HL7Exception if the repetition requested is more than one 
340      *     greater than the number of existing repetitions.
341      */
342     public EHC_E01_PRODUCT_SERVICE_LINE_ITEM getPRODUCT_SERVICE_LINE_ITEM(int rep) { 
343        EHC_E01_PRODUCT_SERVICE_LINE_ITEM retVal = getTyped("PRODUCT_SERVICE_LINE_ITEM", rep, EHC_E01_PRODUCT_SERVICE_LINE_ITEM.class);
344        return retVal;
345     }
346 
347     /** 
348      * Returns the number of existing repetitions of PRODUCT_SERVICE_LINE_ITEM 
349      */ 
350     public int getPRODUCT_SERVICE_LINE_ITEMReps() {  
351         return getReps("PRODUCT_SERVICE_LINE_ITEM");
352     } 
353 
354     /** 
355      * <p>
356      * Returns a non-modifiable List containing all current existing repetitions of PRODUCT_SERVICE_LINE_ITEM.
357      * <p>
358      * <p>
359      * Note that unlike {@link #getPRODUCT_SERVICE_LINE_ITEM()}, this method will not create any reps
360      * if none are already present, so an empty list may be returned.
361      * </p>
362      */ 
363     public java.util.List<EHC_E01_PRODUCT_SERVICE_LINE_ITEM> getPRODUCT_SERVICE_LINE_ITEMAll() throws HL7Exception {
364     	return getAllAsList("PRODUCT_SERVICE_LINE_ITEM", EHC_E01_PRODUCT_SERVICE_LINE_ITEM.class);
365     } 
366 
367     /**
368      * Inserts a specific repetition of PRODUCT_SERVICE_LINE_ITEM (a Group object)
369      * @see AbstractGroup#insertRepetition(Structure, int) 
370      */
371     public void insertPRODUCT_SERVICE_LINE_ITEM(EHC_E01_PRODUCT_SERVICE_LINE_ITEM structure, int rep) throws HL7Exception { 
372        super.insertRepetition("PRODUCT_SERVICE_LINE_ITEM", structure, rep);
373     }
374 
375 
376     /**
377      * Inserts a specific repetition of PRODUCT_SERVICE_LINE_ITEM (a Group object)
378      * @see AbstractGroup#insertRepetition(Structure, int) 
379      */
380     public EHC_E01_PRODUCT_SERVICE_LINE_ITEM insertPRODUCT_SERVICE_LINE_ITEM(int rep) throws HL7Exception { 
381        return (EHC_E01_PRODUCT_SERVICE_LINE_ITEM)super.insertRepetition("PRODUCT_SERVICE_LINE_ITEM", rep);
382     }
383 
384 
385     /**
386      * Removes a specific repetition of PRODUCT_SERVICE_LINE_ITEM (a Group object)
387      * @see AbstractGroup#removeRepetition(String, int) 
388      */
389     public EHC_E01_PRODUCT_SERVICE_LINE_ITEM removePRODUCT_SERVICE_LINE_ITEM(int rep) throws HL7Exception { 
390        return (EHC_E01_PRODUCT_SERVICE_LINE_ITEM)super.removeRepetition("PRODUCT_SERVICE_LINE_ITEM", rep);
391     }
392 
393 
394 
395     /**
396      * Returns
397      * the first repetition of 
398      * PROCEDURE (a Group object) - creates it if necessary
399      */
400     public EHC_E01_PROCEDURE getPROCEDURE() { 
401        EHC_E01_PROCEDURE retVal = getTyped("PROCEDURE", EHC_E01_PROCEDURE.class);
402        return retVal;
403     }
404 
405 
406     /**
407      * Returns a specific repetition of
408      * PROCEDURE (a Group object) - creates it if necessary
409      *
410      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
411      * @throws HL7Exception if the repetition requested is more than one 
412      *     greater than the number of existing repetitions.
413      */
414     public EHC_E01_PROCEDURE getPROCEDURE(int rep) { 
415        EHC_E01_PROCEDURE retVal = getTyped("PROCEDURE", rep, EHC_E01_PROCEDURE.class);
416        return retVal;
417     }
418 
419     /** 
420      * Returns the number of existing repetitions of PROCEDURE 
421      */ 
422     public int getPROCEDUREReps() {  
423         return getReps("PROCEDURE");
424     } 
425 
426     /** 
427      * <p>
428      * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE.
429      * <p>
430      * <p>
431      * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps
432      * if none are already present, so an empty list may be returned.
433      * </p>
434      */ 
435     public java.util.List<EHC_E01_PROCEDURE> getPROCEDUREAll() throws HL7Exception {
436     	return getAllAsList("PROCEDURE", EHC_E01_PROCEDURE.class);
437     } 
438 
439     /**
440      * Inserts a specific repetition of PROCEDURE (a Group object)
441      * @see AbstractGroup#insertRepetition(Structure, int) 
442      */
443     public void insertPROCEDURE(EHC_E01_PROCEDURE structure, int rep) throws HL7Exception { 
444        super.insertRepetition("PROCEDURE", structure, rep);
445     }
446 
447 
448     /**
449      * Inserts a specific repetition of PROCEDURE (a Group object)
450      * @see AbstractGroup#insertRepetition(Structure, int) 
451      */
452     public EHC_E01_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 
453        return (EHC_E01_PROCEDURE)super.insertRepetition("PROCEDURE", rep);
454     }
455 
456 
457     /**
458      * Removes a specific repetition of PROCEDURE (a Group object)
459      * @see AbstractGroup#removeRepetition(String, int) 
460      */
461     public EHC_E01_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 
462        return (EHC_E01_PROCEDURE)super.removeRepetition("PROCEDURE", rep);
463     }
464 
465 
466 
467     /**
468      * Returns
469      * the first repetition of 
470      * INVOICE_PROCESSING (a Group object) - creates it if necessary
471      */
472     public EHC_E01_INVOICE_PROCESSING getINVOICE_PROCESSING() { 
473        EHC_E01_INVOICE_PROCESSING retVal = getTyped("INVOICE_PROCESSING", EHC_E01_INVOICE_PROCESSING.class);
474        return retVal;
475     }
476 
477 
478     /**
479      * Returns a specific repetition of
480      * INVOICE_PROCESSING (a Group object) - creates it if necessary
481      *
482      * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
483      * @throws HL7Exception if the repetition requested is more than one 
484      *     greater than the number of existing repetitions.
485      */
486     public EHC_E01_INVOICE_PROCESSING getINVOICE_PROCESSING(int rep) { 
487        EHC_E01_INVOICE_PROCESSING retVal = getTyped("INVOICE_PROCESSING", rep, EHC_E01_INVOICE_PROCESSING.class);
488        return retVal;
489     }
490 
491     /** 
492      * Returns the number of existing repetitions of INVOICE_PROCESSING 
493      */ 
494     public int getINVOICE_PROCESSINGReps() {  
495         return getReps("INVOICE_PROCESSING");
496     } 
497 
498     /** 
499      * <p>
500      * Returns a non-modifiable List containing all current existing repetitions of INVOICE_PROCESSING.
501      * <p>
502      * <p>
503      * Note that unlike {@link #getINVOICE_PROCESSING()}, this method will not create any reps
504      * if none are already present, so an empty list may be returned.
505      * </p>
506      */ 
507     public java.util.List<EHC_E01_INVOICE_PROCESSING> getINVOICE_PROCESSINGAll() throws HL7Exception {
508     	return getAllAsList("INVOICE_PROCESSING", EHC_E01_INVOICE_PROCESSING.class);
509     } 
510 
511     /**
512      * Inserts a specific repetition of INVOICE_PROCESSING (a Group object)
513      * @see AbstractGroup#insertRepetition(Structure, int) 
514      */
515     public void insertINVOICE_PROCESSING(EHC_E01_INVOICE_PROCESSING structure, int rep) throws HL7Exception { 
516        super.insertRepetition("INVOICE_PROCESSING", structure, rep);
517     }
518 
519 
520     /**
521      * Inserts a specific repetition of INVOICE_PROCESSING (a Group object)
522      * @see AbstractGroup#insertRepetition(Structure, int) 
523      */
524     public EHC_E01_INVOICE_PROCESSING insertINVOICE_PROCESSING(int rep) throws HL7Exception { 
525        return (EHC_E01_INVOICE_PROCESSING)super.insertRepetition("INVOICE_PROCESSING", rep);
526     }
527 
528 
529     /**
530      * Removes a specific repetition of INVOICE_PROCESSING (a Group object)
531      * @see AbstractGroup#removeRepetition(String, int) 
532      */
533     public EHC_E01_INVOICE_PROCESSING removeINVOICE_PROCESSING(int rep) throws HL7Exception { 
534        return (EHC_E01_INVOICE_PROCESSING)super.removeRepetition("INVOICE_PROCESSING", rep);
535     }
536 
537 
538 
539 }
540