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.v23.message;
35
36 import ca.uhn.hl7v2.model.v23.group.*;
37 import ca.uhn.hl7v2.model.v23.segment.*;
38
39 import ca.uhn.hl7v2.HL7Exception;
40 import ca.uhn.hl7v2.parser.ModelClassFactory;
41 import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
42 import ca.uhn.hl7v2.model.*;
43
44
45 /**
46 * <p>Represents a RPI_I01 message structure (see chapter ?). This structure contains the
47 * following elements: </p>
48 * <ul>
49 * <li>1: MSH (Message header segment) <b> </b> </li>
50 * <li>2: MSA (Message acknowledgement segment) <b> </b> </li>
51 * <li>3: RPI_I01_PROVIDER (a Group object) <b> repeating</b> </li>
52 * <li>4: PID (Patient Identification) <b> </b> </li>
53 * <li>5: NK1 (Next of kin) <b>optional repeating</b> </li>
54 * <li>6: RPI_I01_GUARANTOR_INSURANCE (a Group object) <b>optional </b> </li>
55 * <li>7: NTE (Notes and comments segment) <b>optional repeating</b> </li>
56 * </ul>
57 */
58 //@SuppressWarnings("unused")
59 public class RPI_I01 extends AbstractMessage {
60
61 /**
62 * Creates a new RPI_I01 message with DefaultModelClassFactory.
63 */
64 public RPI_I01() {
65 this(new DefaultModelClassFactory());
66 }
67
68 /**
69 * Creates a new RPI_I01 message with custom ModelClassFactory.
70 */
71 public RPI_I01(ModelClassFactory factory) {
72 super(factory);
73 init(factory);
74 }
75
76 private void init(ModelClassFactory factory) {
77 try {
78 this.add(MSH.class, true, false);
79 this.add(MSA.class, true, false);
80 this.add(RPI_I01_PROVIDER.class, true, true);
81 this.add(PID.class, true, false);
82 this.add(NK1.class, false, true);
83 this.add(RPI_I01_GUARANTOR_INSURANCE.class, false, false);
84 this.add(NTE.class, false, true);
85 } catch(HL7Exception e) {
86 log.error("Unexpected error creating RPI_I01 - this is probably a bug in the source code generator.", e);
87 }
88 }
89
90
91 /**
92 * Returns "2.3"
93 */
94 public String getVersion() {
95 return "2.3";
96 }
97
98
99
100
101 /**
102 * <p>
103 * Returns
104 * MSH (Message header segment) - creates it if necessary
105 * </p>
106 *
107 *
108 */
109 public MSH getMSH() {
110 return getTyped("MSH", MSH.class);
111 }
112
113
114
115
116
117 /**
118 * <p>
119 * Returns
120 * MSA (Message acknowledgement segment) - creates it if necessary
121 * </p>
122 *
123 *
124 */
125 public MSA getMSA() {
126 return getTyped("MSA", MSA.class);
127 }
128
129
130
131
132
133 /**
134 * <p>
135 * Returns
136 * the first repetition of
137 * PROVIDER (a Group object) - creates it if necessary
138 * </p>
139 *
140 *
141 */
142 public RPI_I01_PROVIDER getPROVIDER() {
143 return getTyped("PROVIDER", RPI_I01_PROVIDER.class);
144 }
145
146
147 /**
148 * <p>
149 * Returns a specific repetition of
150 * PROVIDER (a Group object) - creates it if necessary
151 * </p>
152 *
153 *
154 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
155 * @throws HL7Exception if the repetition requested is more than one
156 * greater than the number of existing repetitions.
157 */
158 public RPI_I01_PROVIDER getPROVIDER(int rep) {
159 return getTyped("PROVIDER", rep, RPI_I01_PROVIDER.class);
160 }
161
162 /**
163 * <p>
164 * Returns the number of existing repetitions of PROVIDER
165 * </p>
166 *
167 */
168 public int getPROVIDERReps() {
169 return getReps("PROVIDER");
170 }
171
172 /**
173 * <p>
174 * Returns a non-modifiable List containing all current existing repetitions of PROVIDER.
175 * <p>
176 * <p>
177 * Note that unlike {@link #getPROVIDER()}, this method will not create any reps
178 * if none are already present, so an empty list may be returned.
179 * </p>
180 *
181 */
182 public java.util.List<RPI_I01_PROVIDER> getPROVIDERAll() throws HL7Exception {
183 return getAllAsList("PROVIDER", RPI_I01_PROVIDER.class);
184 }
185
186 /**
187 * <p>
188 * Inserts a specific repetition of PROVIDER (a Group object)
189 * </p>
190 *
191 *
192 * @see AbstractGroup#insertRepetition(Structure, int)
193 */
194 public void insertPROVIDER(RPI_I01_PROVIDER structure, int rep) throws HL7Exception {
195 super.insertRepetition( "PROVIDER", structure, rep);
196 }
197
198
199 /**
200 * <p>
201 * Inserts a specific repetition of PROVIDER (a Group object)
202 * </p>
203 *
204 *
205 * @see AbstractGroup#insertRepetition(Structure, int)
206 */
207 public RPI_I01_PROVIDER insertPROVIDER(int rep) throws HL7Exception {
208 return (RPI_I01_PROVIDER)super.insertRepetition("PROVIDER", rep);
209 }
210
211
212 /**
213 * <p>
214 * Removes a specific repetition of PROVIDER (a Group object)
215 * </p>
216 *
217 *
218 * @see AbstractGroup#removeRepetition(String, int)
219 */
220 public RPI_I01_PROVIDER removePROVIDER(int rep) throws HL7Exception {
221 return (RPI_I01_PROVIDER)super.removeRepetition("PROVIDER", rep);
222 }
223
224
225
226
227 /**
228 * <p>
229 * Returns
230 * PID (Patient Identification) - creates it if necessary
231 * </p>
232 *
233 *
234 */
235 public PID getPID() {
236 return getTyped("PID", PID.class);
237 }
238
239
240
241
242
243 /**
244 * <p>
245 * Returns
246 * the first repetition of
247 * NK1 (Next of kin) - creates it if necessary
248 * </p>
249 *
250 *
251 */
252 public NK1 getNK1() {
253 return getTyped("NK1", NK1.class);
254 }
255
256
257 /**
258 * <p>
259 * Returns a specific repetition of
260 * NK1 (Next of kin) - creates it if necessary
261 * </p>
262 *
263 *
264 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
265 * @throws HL7Exception if the repetition requested is more than one
266 * greater than the number of existing repetitions.
267 */
268 public NK1 getNK1(int rep) {
269 return getTyped("NK1", rep, NK1.class);
270 }
271
272 /**
273 * <p>
274 * Returns the number of existing repetitions of NK1
275 * </p>
276 *
277 */
278 public int getNK1Reps() {
279 return getReps("NK1");
280 }
281
282 /**
283 * <p>
284 * Returns a non-modifiable List containing all current existing repetitions of NK1.
285 * <p>
286 * <p>
287 * Note that unlike {@link #getNK1()}, this method will not create any reps
288 * if none are already present, so an empty list may be returned.
289 * </p>
290 *
291 */
292 public java.util.List<NK1> getNK1All() throws HL7Exception {
293 return getAllAsList("NK1", NK1.class);
294 }
295
296 /**
297 * <p>
298 * Inserts a specific repetition of NK1 (Next of kin)
299 * </p>
300 *
301 *
302 * @see AbstractGroup#insertRepetition(Structure, int)
303 */
304 public void insertNK1(NK1 structure, int rep) throws HL7Exception {
305 super.insertRepetition( "NK1", structure, rep);
306 }
307
308
309 /**
310 * <p>
311 * Inserts a specific repetition of NK1 (Next of kin)
312 * </p>
313 *
314 *
315 * @see AbstractGroup#insertRepetition(Structure, int)
316 */
317 public NK1 insertNK1(int rep) throws HL7Exception {
318 return (NK1)super.insertRepetition("NK1", rep);
319 }
320
321
322 /**
323 * <p>
324 * Removes a specific repetition of NK1 (Next of kin)
325 * </p>
326 *
327 *
328 * @see AbstractGroup#removeRepetition(String, int)
329 */
330 public NK1 removeNK1(int rep) throws HL7Exception {
331 return (NK1)super.removeRepetition("NK1", rep);
332 }
333
334
335
336
337 /**
338 * <p>
339 * Returns
340 * GUARANTOR_INSURANCE (a Group object) - creates it if necessary
341 * </p>
342 *
343 *
344 */
345 public RPI_I01_GUARANTOR_INSURANCE getGUARANTOR_INSURANCE() {
346 return getTyped("GUARANTOR_INSURANCE", RPI_I01_GUARANTOR_INSURANCE.class);
347 }
348
349
350
351
352
353 /**
354 * <p>
355 * Returns
356 * the first repetition of
357 * NTE (Notes and comments segment) - creates it if necessary
358 * </p>
359 *
360 *
361 */
362 public NTE getNTE() {
363 return getTyped("NTE", NTE.class);
364 }
365
366
367 /**
368 * <p>
369 * Returns a specific repetition of
370 * NTE (Notes and comments segment) - creates it if necessary
371 * </p>
372 *
373 *
374 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
375 * @throws HL7Exception if the repetition requested is more than one
376 * greater than the number of existing repetitions.
377 */
378 public NTE getNTE(int rep) {
379 return getTyped("NTE", rep, NTE.class);
380 }
381
382 /**
383 * <p>
384 * Returns the number of existing repetitions of NTE
385 * </p>
386 *
387 */
388 public int getNTEReps() {
389 return getReps("NTE");
390 }
391
392 /**
393 * <p>
394 * Returns a non-modifiable List containing all current existing repetitions of NTE.
395 * <p>
396 * <p>
397 * Note that unlike {@link #getNTE()}, this method will not create any reps
398 * if none are already present, so an empty list may be returned.
399 * </p>
400 *
401 */
402 public java.util.List<NTE> getNTEAll() throws HL7Exception {
403 return getAllAsList("NTE", NTE.class);
404 }
405
406 /**
407 * <p>
408 * Inserts a specific repetition of NTE (Notes and comments segment)
409 * </p>
410 *
411 *
412 * @see AbstractGroup#insertRepetition(Structure, int)
413 */
414 public void insertNTE(NTE structure, int rep) throws HL7Exception {
415 super.insertRepetition( "NTE", structure, rep);
416 }
417
418
419 /**
420 * <p>
421 * Inserts a specific repetition of NTE (Notes and comments segment)
422 * </p>
423 *
424 *
425 * @see AbstractGroup#insertRepetition(Structure, int)
426 */
427 public NTE insertNTE(int rep) throws HL7Exception {
428 return (NTE)super.insertRepetition("NTE", rep);
429 }
430
431
432 /**
433 * <p>
434 * Removes a specific repetition of NTE (Notes and comments segment)
435 * </p>
436 *
437 *
438 * @see AbstractGroup#removeRepetition(String, int)
439 */
440 public NTE removeNTE(int rep) throws HL7Exception {
441 return (NTE)super.removeRepetition("NTE", rep);
442 }
443
444
445
446 }
447