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