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.v27.group;
35
36 import ca.uhn.hl7v2.model.v27.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_PSL_ITEM_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: PSL (Product/Service Line Item) <b> choice</b></li>
49 * <li>2: NTE (Notes and Comments) <b>optional repeating choice</b></li>
50 * <li>3: ADJ (Adjustment) <b>optional repeating choice</b></li>
51 * <li>4: LOC (Location Identification) <b>optional repeating choice</b></li>
52 * <li>5: ROL (Role) <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_PSL_ITEM_INFO extends AbstractGroup {
61
62 /**
63 * Creates a new EHC_E20_PSL_ITEM_INFO group
64 */
65 public EHC_E20_PSL_ITEM_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(PSL.class, true, false, true);
73 this.add(NTE.class, false, true, true);
74 this.add(ADJ.class, false, true, true);
75 this.add(LOC.class, false, true, true);
76 this.add(ROL.class, false, true, true);
77 } catch(HL7Exception e) {
78 log.error("Unexpected error creating EHC_E20_PSL_ITEM_INFO - this is probably a bug in the source code generator.", e);
79 }
80 }
81
82 /**
83 * Returns "2.7"
84 */
85 public String getVersion() {
86 return "2.7";
87 }
88
89
90
91 /**
92 * Returns
93 * PSL (Product/Service Line Item) - creates it if necessary
94 */
95 public PSL getPSL() {
96 PSL retVal = getTyped("PSL", PSL.class);
97 return retVal;
98 }
99
100
101
102
103 /**
104 * Returns
105 * the first repetition of
106 * NTE (Notes and Comments) - creates it if necessary
107 */
108 public NTE getNTE() {
109 NTE retVal = getTyped("NTE", NTE.class);
110 return retVal;
111 }
112
113
114 /**
115 * Returns a specific repetition of
116 * NTE (Notes and Comments) - 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 NTE getNTE(int rep) {
123 NTE retVal = getTyped("NTE", rep, NTE.class);
124 return retVal;
125 }
126
127 /**
128 * Returns the number of existing repetitions of NTE
129 */
130 public int getNTEReps() {
131 return getReps("NTE");
132 }
133
134 /**
135 * <p>
136 * Returns a non-modifiable List containing all current existing repetitions of NTE.
137 * <p>
138 * <p>
139 * Note that unlike {@link #getNTE()}, 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<NTE> getNTEAll() throws HL7Exception {
144 return getAllAsList("NTE", NTE.class);
145 }
146
147 /**
148 * Inserts a specific repetition of NTE (Notes and Comments)
149 * @see AbstractGroup#insertRepetition(Structure, int)
150 */
151 public void insertNTE(NTE structure, int rep) throws HL7Exception {
152 super.insertRepetition("NTE", structure, rep);
153 }
154
155
156 /**
157 * Inserts a specific repetition of NTE (Notes and Comments)
158 * @see AbstractGroup#insertRepetition(Structure, int)
159 */
160 public NTE insertNTE(int rep) throws HL7Exception {
161 return (NTE)super.insertRepetition("NTE", rep);
162 }
163
164
165 /**
166 * Removes a specific repetition of NTE (Notes and Comments)
167 * @see AbstractGroup#removeRepetition(String, int)
168 */
169 public NTE removeNTE(int rep) throws HL7Exception {
170 return (NTE)super.removeRepetition("NTE", rep);
171 }
172
173
174
175 /**
176 * Returns
177 * the first repetition of
178 * ADJ (Adjustment) - creates it if necessary
179 */
180 public ADJ getADJ() {
181 ADJ retVal = getTyped("ADJ", ADJ.class);
182 return retVal;
183 }
184
185
186 /**
187 * Returns a specific repetition of
188 * ADJ (Adjustment) - 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 ADJ getADJ(int rep) {
195 ADJ retVal = getTyped("ADJ", rep, ADJ.class);
196 return retVal;
197 }
198
199 /**
200 * Returns the number of existing repetitions of ADJ
201 */
202 public int getADJReps() {
203 return getReps("ADJ");
204 }
205
206 /**
207 * <p>
208 * Returns a non-modifiable List containing all current existing repetitions of ADJ.
209 * <p>
210 * <p>
211 * Note that unlike {@link #getADJ()}, 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<ADJ> getADJAll() throws HL7Exception {
216 return getAllAsList("ADJ", ADJ.class);
217 }
218
219 /**
220 * Inserts a specific repetition of ADJ (Adjustment)
221 * @see AbstractGroup#insertRepetition(Structure, int)
222 */
223 public void insertADJ(ADJ structure, int rep) throws HL7Exception {
224 super.insertRepetition("ADJ", structure, rep);
225 }
226
227
228 /**
229 * Inserts a specific repetition of ADJ (Adjustment)
230 * @see AbstractGroup#insertRepetition(Structure, int)
231 */
232 public ADJ insertADJ(int rep) throws HL7Exception {
233 return (ADJ)super.insertRepetition("ADJ", rep);
234 }
235
236
237 /**
238 * Removes a specific repetition of ADJ (Adjustment)
239 * @see AbstractGroup#removeRepetition(String, int)
240 */
241 public ADJ removeADJ(int rep) throws HL7Exception {
242 return (ADJ)super.removeRepetition("ADJ", rep);
243 }
244
245
246
247 /**
248 * Returns
249 * the first repetition of
250 * LOC (Location Identification) - creates it if necessary
251 */
252 public LOC getLOC() {
253 LOC retVal = getTyped("LOC", LOC.class);
254 return retVal;
255 }
256
257
258 /**
259 * Returns a specific repetition of
260 * LOC (Location Identification) - 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 LOC getLOC(int rep) {
267 LOC retVal = getTyped("LOC", rep, LOC.class);
268 return retVal;
269 }
270
271 /**
272 * Returns the number of existing repetitions of LOC
273 */
274 public int getLOCReps() {
275 return getReps("LOC");
276 }
277
278 /**
279 * <p>
280 * Returns a non-modifiable List containing all current existing repetitions of LOC.
281 * <p>
282 * <p>
283 * Note that unlike {@link #getLOC()}, 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<LOC> getLOCAll() throws HL7Exception {
288 return getAllAsList("LOC", LOC.class);
289 }
290
291 /**
292 * Inserts a specific repetition of LOC (Location Identification)
293 * @see AbstractGroup#insertRepetition(Structure, int)
294 */
295 public void insertLOC(LOC structure, int rep) throws HL7Exception {
296 super.insertRepetition("LOC", structure, rep);
297 }
298
299
300 /**
301 * Inserts a specific repetition of LOC (Location Identification)
302 * @see AbstractGroup#insertRepetition(Structure, int)
303 */
304 public LOC insertLOC(int rep) throws HL7Exception {
305 return (LOC)super.insertRepetition("LOC", rep);
306 }
307
308
309 /**
310 * Removes a specific repetition of LOC (Location Identification)
311 * @see AbstractGroup#removeRepetition(String, int)
312 */
313 public LOC removeLOC(int rep) throws HL7Exception {
314 return (LOC)super.removeRepetition("LOC", rep);
315 }
316
317
318
319 /**
320 * Returns
321 * the first repetition of
322 * ROL (Role) - creates it if necessary
323 */
324 public ROL getROL() {
325 ROL retVal = getTyped("ROL", ROL.class);
326 return retVal;
327 }
328
329
330 /**
331 * Returns a specific repetition of
332 * ROL (Role) - 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 ROL getROL(int rep) {
339 ROL retVal = getTyped("ROL", rep, ROL.class);
340 return retVal;
341 }
342
343 /**
344 * Returns the number of existing repetitions of ROL
345 */
346 public int getROLReps() {
347 return getReps("ROL");
348 }
349
350 /**
351 * <p>
352 * Returns a non-modifiable List containing all current existing repetitions of ROL.
353 * <p>
354 * <p>
355 * Note that unlike {@link #getROL()}, 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<ROL> getROLAll() throws HL7Exception {
360 return getAllAsList("ROL", ROL.class);
361 }
362
363 /**
364 * Inserts a specific repetition of ROL (Role)
365 * @see AbstractGroup#insertRepetition(Structure, int)
366 */
367 public void insertROL(ROL structure, int rep) throws HL7Exception {
368 super.insertRepetition("ROL", structure, rep);
369 }
370
371
372 /**
373 * Inserts a specific repetition of ROL (Role)
374 * @see AbstractGroup#insertRepetition(Structure, int)
375 */
376 public ROL insertROL(int rep) throws HL7Exception {
377 return (ROL)super.insertRepetition("ROL", rep);
378 }
379
380
381 /**
382 * Removes a specific repetition of ROL (Role)
383 * @see AbstractGroup#removeRepetition(String, int)
384 */
385 public ROL removeROL(int rep) throws HL7Exception {
386 return (ROL)super.removeRepetition("ROL", rep);
387 }
388
389
390
391 }
392