001/* 002 * This class is an auto-generated source file for a HAPI 003 * HL7 v2.x standard structure class. 004 * 005 * For more information, visit: http://hl7api.sourceforge.net/ 006 * 007 * The contents of this file are subject to the Mozilla Public License Version 1.1 008 * (the "License"); you may not use this file except in compliance with the License. 009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 010 * Software distributed under the License is distributed on an "AS IS" basis, 011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 012 * specific language governing rights and limitations under the License. 013 * 014 * The Original Code is "[file_name]". Description: 015 * "[one_line_description]" 016 * 017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 018 * 2012. All Rights Reserved. 019 * 020 * Contributor(s): ______________________________________. 021 * 022 * Alternatively, the contents of this file may be used under the terms of the 023 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are 024 * applicable instead of those above. If you wish to allow use of your version of this 025 * file only under the terms of the GPL and not to allow others to use your version 026 * of this file under the MPL, indicate your decision by deleting the provisions above 027 * and replace them with the notice and other provisions required by the GPL License. 028 * If you do not delete the provisions above, a recipient may use your version of 029 * this file under either the MPL or the GPL. 030 * 031 */ 032 033 034package ca.uhn.hl7v2.model.v27.message; 035 036import ca.uhn.hl7v2.model.v27.group.*; 037import ca.uhn.hl7v2.model.v27.segment.*; 038 039import ca.uhn.hl7v2.HL7Exception; 040import ca.uhn.hl7v2.parser.ModelClassFactory; 041import ca.uhn.hl7v2.parser.DefaultModelClassFactory; 042import ca.uhn.hl7v2.model.*; 043 044 045/** 046 * <p>Represents a RPI_I04 message structure (see chapter 11.3.4). This structure contains the 047 * following elements: </p> 048 * <ul> 049 * <li>1: MSH (Message Header) <b> </b> </li> 050 * <li>2: SFT (Software Segment) <b>optional repeating</b> </li> 051 * <li>3: UAC (User Authentication Credential Segment) <b>optional </b> </li> 052 * <li>4: MSA (Message Acknowledgment) <b> </b> </li> 053 * <li>5: RPI_I04_PROVIDER (a Group object) <b> repeating</b> </li> 054 * <li>6: PID (Patient Identification) <b> </b> </li> 055 * <li>7: NK1 (Next of Kin / Associated Parties) <b>optional repeating</b> </li> 056 * <li>8: RPI_I04_GUARANTOR_INSURANCE (a Group object) <b>optional </b> </li> 057 * <li>9: NTE (Notes and Comments) <b>optional repeating</b> </li> 058 * </ul> 059 */ 060//@SuppressWarnings("unused") 061public class RPI_I04 extends AbstractMessage { 062 063 /** 064 * Creates a new RPI_I04 message with DefaultModelClassFactory. 065 */ 066 public RPI_I04() { 067 this(new DefaultModelClassFactory()); 068 } 069 070 /** 071 * Creates a new RPI_I04 message with custom ModelClassFactory. 072 */ 073 public RPI_I04(ModelClassFactory factory) { 074 super(factory); 075 init(factory); 076 } 077 078 private void init(ModelClassFactory factory) { 079 try { 080 this.add(MSH.class, true, false); 081 this.add(SFT.class, false, true); 082 this.add(UAC.class, false, false); 083 this.add(MSA.class, true, false); 084 this.add(RPI_I04_PROVIDER.class, true, true); 085 this.add(PID.class, true, false); 086 this.add(NK1.class, false, true); 087 this.add(RPI_I04_GUARANTOR_INSURANCE.class, false, false); 088 this.add(NTE.class, false, true); 089 } catch(HL7Exception e) { 090 log.error("Unexpected error creating RPI_I04 - this is probably a bug in the source code generator.", e); 091 } 092 } 093 094 095 /** 096 * Returns "2.7" 097 */ 098 public String getVersion() { 099 return "2.7"; 100 } 101 102 103 104 105 /** 106 * <p> 107 * Returns 108 * MSH (Message Header) - creates it if necessary 109 * </p> 110 * 111 * 112 */ 113 public MSH getMSH() { 114 return getTyped("MSH", MSH.class); 115 } 116 117 118 119 120 121 /** 122 * <p> 123 * Returns 124 * the first repetition of 125 * SFT (Software Segment) - creates it if necessary 126 * </p> 127 * 128 * 129 */ 130 public SFT getSFT() { 131 return getTyped("SFT", SFT.class); 132 } 133 134 135 /** 136 * <p> 137 * Returns a specific repetition of 138 * SFT (Software Segment) - creates it if necessary 139 * </p> 140 * 141 * 142 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 143 * @throws HL7Exception if the repetition requested is more than one 144 * greater than the number of existing repetitions. 145 */ 146 public SFT getSFT(int rep) { 147 return getTyped("SFT", rep, SFT.class); 148 } 149 150 /** 151 * <p> 152 * Returns the number of existing repetitions of SFT 153 * </p> 154 * 155 */ 156 public int getSFTReps() { 157 return getReps("SFT"); 158 } 159 160 /** 161 * <p> 162 * Returns a non-modifiable List containing all current existing repetitions of SFT. 163 * <p> 164 * <p> 165 * Note that unlike {@link #getSFT()}, this method will not create any reps 166 * if none are already present, so an empty list may be returned. 167 * </p> 168 * 169 */ 170 public java.util.List<SFT> getSFTAll() throws HL7Exception { 171 return getAllAsList("SFT", SFT.class); 172 } 173 174 /** 175 * <p> 176 * Inserts a specific repetition of SFT (Software Segment) 177 * </p> 178 * 179 * 180 * @see AbstractGroup#insertRepetition(Structure, int) 181 */ 182 public void insertSFT(SFT structure, int rep) throws HL7Exception { 183 super.insertRepetition( "SFT", structure, rep); 184 } 185 186 187 /** 188 * <p> 189 * Inserts a specific repetition of SFT (Software Segment) 190 * </p> 191 * 192 * 193 * @see AbstractGroup#insertRepetition(Structure, int) 194 */ 195 public SFT insertSFT(int rep) throws HL7Exception { 196 return (SFT)super.insertRepetition("SFT", rep); 197 } 198 199 200 /** 201 * <p> 202 * Removes a specific repetition of SFT (Software Segment) 203 * </p> 204 * 205 * 206 * @see AbstractGroup#removeRepetition(String, int) 207 */ 208 public SFT removeSFT(int rep) throws HL7Exception { 209 return (SFT)super.removeRepetition("SFT", rep); 210 } 211 212 213 214 215 /** 216 * <p> 217 * Returns 218 * UAC (User Authentication Credential Segment) - creates it if necessary 219 * </p> 220 * 221 * 222 */ 223 public UAC getUAC() { 224 return getTyped("UAC", UAC.class); 225 } 226 227 228 229 230 231 /** 232 * <p> 233 * Returns 234 * MSA (Message Acknowledgment) - creates it if necessary 235 * </p> 236 * 237 * 238 */ 239 public MSA getMSA() { 240 return getTyped("MSA", MSA.class); 241 } 242 243 244 245 246 247 /** 248 * <p> 249 * Returns 250 * the first repetition of 251 * PROVIDER (a Group object) - creates it if necessary 252 * </p> 253 * 254 * 255 */ 256 public RPI_I04_PROVIDER getPROVIDER() { 257 return getTyped("PROVIDER", RPI_I04_PROVIDER.class); 258 } 259 260 261 /** 262 * <p> 263 * Returns a specific repetition of 264 * PROVIDER (a Group object) - creates it if necessary 265 * </p> 266 * 267 * 268 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 269 * @throws HL7Exception if the repetition requested is more than one 270 * greater than the number of existing repetitions. 271 */ 272 public RPI_I04_PROVIDER getPROVIDER(int rep) { 273 return getTyped("PROVIDER", rep, RPI_I04_PROVIDER.class); 274 } 275 276 /** 277 * <p> 278 * Returns the number of existing repetitions of PROVIDER 279 * </p> 280 * 281 */ 282 public int getPROVIDERReps() { 283 return getReps("PROVIDER"); 284 } 285 286 /** 287 * <p> 288 * Returns a non-modifiable List containing all current existing repetitions of PROVIDER. 289 * <p> 290 * <p> 291 * Note that unlike {@link #getPROVIDER()}, this method will not create any reps 292 * if none are already present, so an empty list may be returned. 293 * </p> 294 * 295 */ 296 public java.util.List<RPI_I04_PROVIDER> getPROVIDERAll() throws HL7Exception { 297 return getAllAsList("PROVIDER", RPI_I04_PROVIDER.class); 298 } 299 300 /** 301 * <p> 302 * Inserts a specific repetition of PROVIDER (a Group object) 303 * </p> 304 * 305 * 306 * @see AbstractGroup#insertRepetition(Structure, int) 307 */ 308 public void insertPROVIDER(RPI_I04_PROVIDER structure, int rep) throws HL7Exception { 309 super.insertRepetition( "PROVIDER", structure, rep); 310 } 311 312 313 /** 314 * <p> 315 * Inserts a specific repetition of PROVIDER (a Group object) 316 * </p> 317 * 318 * 319 * @see AbstractGroup#insertRepetition(Structure, int) 320 */ 321 public RPI_I04_PROVIDER insertPROVIDER(int rep) throws HL7Exception { 322 return (RPI_I04_PROVIDER)super.insertRepetition("PROVIDER", rep); 323 } 324 325 326 /** 327 * <p> 328 * Removes a specific repetition of PROVIDER (a Group object) 329 * </p> 330 * 331 * 332 * @see AbstractGroup#removeRepetition(String, int) 333 */ 334 public RPI_I04_PROVIDER removePROVIDER(int rep) throws HL7Exception { 335 return (RPI_I04_PROVIDER)super.removeRepetition("PROVIDER", rep); 336 } 337 338 339 340 341 /** 342 * <p> 343 * Returns 344 * PID (Patient Identification) - creates it if necessary 345 * </p> 346 * 347 * 348 */ 349 public PID getPID() { 350 return getTyped("PID", PID.class); 351 } 352 353 354 355 356 357 /** 358 * <p> 359 * Returns 360 * the first repetition of 361 * NK1 (Next of Kin / Associated Parties) - creates it if necessary 362 * </p> 363 * 364 * 365 */ 366 public NK1 getNK1() { 367 return getTyped("NK1", NK1.class); 368 } 369 370 371 /** 372 * <p> 373 * Returns a specific repetition of 374 * NK1 (Next of Kin / Associated Parties) - creates it if necessary 375 * </p> 376 * 377 * 378 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 379 * @throws HL7Exception if the repetition requested is more than one 380 * greater than the number of existing repetitions. 381 */ 382 public NK1 getNK1(int rep) { 383 return getTyped("NK1", rep, NK1.class); 384 } 385 386 /** 387 * <p> 388 * Returns the number of existing repetitions of NK1 389 * </p> 390 * 391 */ 392 public int getNK1Reps() { 393 return getReps("NK1"); 394 } 395 396 /** 397 * <p> 398 * Returns a non-modifiable List containing all current existing repetitions of NK1. 399 * <p> 400 * <p> 401 * Note that unlike {@link #getNK1()}, this method will not create any reps 402 * if none are already present, so an empty list may be returned. 403 * </p> 404 * 405 */ 406 public java.util.List<NK1> getNK1All() throws HL7Exception { 407 return getAllAsList("NK1", NK1.class); 408 } 409 410 /** 411 * <p> 412 * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties) 413 * </p> 414 * 415 * 416 * @see AbstractGroup#insertRepetition(Structure, int) 417 */ 418 public void insertNK1(NK1 structure, int rep) throws HL7Exception { 419 super.insertRepetition( "NK1", structure, rep); 420 } 421 422 423 /** 424 * <p> 425 * Inserts a specific repetition of NK1 (Next of Kin / Associated Parties) 426 * </p> 427 * 428 * 429 * @see AbstractGroup#insertRepetition(Structure, int) 430 */ 431 public NK1 insertNK1(int rep) throws HL7Exception { 432 return (NK1)super.insertRepetition("NK1", rep); 433 } 434 435 436 /** 437 * <p> 438 * Removes a specific repetition of NK1 (Next of Kin / Associated Parties) 439 * </p> 440 * 441 * 442 * @see AbstractGroup#removeRepetition(String, int) 443 */ 444 public NK1 removeNK1(int rep) throws HL7Exception { 445 return (NK1)super.removeRepetition("NK1", rep); 446 } 447 448 449 450 451 /** 452 * <p> 453 * Returns 454 * GUARANTOR_INSURANCE (a Group object) - creates it if necessary 455 * </p> 456 * 457 * 458 */ 459 public RPI_I04_GUARANTOR_INSURANCE getGUARANTOR_INSURANCE() { 460 return getTyped("GUARANTOR_INSURANCE", RPI_I04_GUARANTOR_INSURANCE.class); 461 } 462 463 464 465 466 467 /** 468 * <p> 469 * Returns 470 * the first repetition of 471 * NTE (Notes and Comments) - creates it if necessary 472 * </p> 473 * 474 * 475 */ 476 public NTE getNTE() { 477 return getTyped("NTE", NTE.class); 478 } 479 480 481 /** 482 * <p> 483 * Returns a specific repetition of 484 * NTE (Notes and Comments) - creates it if necessary 485 * </p> 486 * 487 * 488 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 489 * @throws HL7Exception if the repetition requested is more than one 490 * greater than the number of existing repetitions. 491 */ 492 public NTE getNTE(int rep) { 493 return getTyped("NTE", rep, NTE.class); 494 } 495 496 /** 497 * <p> 498 * Returns the number of existing repetitions of NTE 499 * </p> 500 * 501 */ 502 public int getNTEReps() { 503 return getReps("NTE"); 504 } 505 506 /** 507 * <p> 508 * Returns a non-modifiable List containing all current existing repetitions of NTE. 509 * <p> 510 * <p> 511 * Note that unlike {@link #getNTE()}, this method will not create any reps 512 * if none are already present, so an empty list may be returned. 513 * </p> 514 * 515 */ 516 public java.util.List<NTE> getNTEAll() throws HL7Exception { 517 return getAllAsList("NTE", NTE.class); 518 } 519 520 /** 521 * <p> 522 * Inserts a specific repetition of NTE (Notes and Comments) 523 * </p> 524 * 525 * 526 * @see AbstractGroup#insertRepetition(Structure, int) 527 */ 528 public void insertNTE(NTE structure, int rep) throws HL7Exception { 529 super.insertRepetition( "NTE", structure, rep); 530 } 531 532 533 /** 534 * <p> 535 * Inserts a specific repetition of NTE (Notes and Comments) 536 * </p> 537 * 538 * 539 * @see AbstractGroup#insertRepetition(Structure, int) 540 */ 541 public NTE insertNTE(int rep) throws HL7Exception { 542 return (NTE)super.insertRepetition("NTE", rep); 543 } 544 545 546 /** 547 * <p> 548 * Removes a specific repetition of NTE (Notes and Comments) 549 * </p> 550 * 551 * 552 * @see AbstractGroup#removeRepetition(String, int) 553 */ 554 public NTE removeNTE(int rep) throws HL7Exception { 555 return (NTE)super.removeRepetition("NTE", rep); 556 } 557 558 559 560} 561