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.v23.message; 035 036import ca.uhn.hl7v2.model.v23.group.*; 037import ca.uhn.hl7v2.model.v23.segment.*; 038 039import java.util.List; 040 041import ca.uhn.hl7v2.HL7Exception; 042import ca.uhn.hl7v2.parser.ModelClassFactory; 043import ca.uhn.hl7v2.parser.DefaultModelClassFactory; 044import ca.uhn.hl7v2.model.AbstractMessage; 045 046/** 047 * <p>Represents a ADT_A28 message structure (see chapter ?). This structure contains the 048 * following elements: </p> 049 * <ul> 050 * <li>1: MSH (Message header segment) <b> </b></li> 051 * <li>2: EVN (Event type) <b> </b></li> 052 * <li>3: PID (Patient Identification) <b> </b></li> 053 * <li>4: PD1 (Patient Demographic) <b>optional </b></li> 054 * <li>5: NK1 (Next of kin) <b>optional repeating</b></li> 055 * <li>6: PV1 (Patient visit) <b> </b></li> 056 * <li>7: PV2 (Patient visit - additional information) <b>optional </b></li> 057 * <li>8: DB1 (Disability Segment) <b>optional repeating</b></li> 058 * <li>9: OBX (Observation segment) <b>optional repeating</b></li> 059 * <li>10: AL1 (Patient allergy information) <b>optional repeating</b></li> 060 * <li>11: DG1 (Diagnosis) <b>optional repeating</b></li> 061 * <li>12: DRG (Diagnosis Related Group) <b>optional </b></li> 062 * <li>13: ADT_A28_PROCEDURE (a Group object) <b>optional repeating</b></li> 063 * <li>14: GT1 (Guarantor) <b>optional repeating</b></li> 064 * <li>15: ADT_A28_INSURANCE (a Group object) <b>optional repeating</b></li> 065 * <li>16: ACC (Accident) <b>optional </b></li> 066 * <li>17: UB1 (UB82 data) <b>optional </b></li> 067 * <li>18: UB2 (UB92 data) <b>optional </b></li> 068 * </ul> 069 */ 070@SuppressWarnings("unused") 071public class ADT_A28 extends AbstractMessage { 072 073 /** 074 * Creates a new ADT_A28 message with DefaultModelClassFactory. 075 */ 076 public ADT_A28() { 077 this(new DefaultModelClassFactory()); 078 } 079 080 /** 081 * Creates a new ADT_A28 message with custom ModelClassFactory. 082 */ 083 public ADT_A28(ModelClassFactory factory) { 084 super(factory); 085 init(factory); 086 } 087 088 private void init(ModelClassFactory factory) { 089 try { 090 this.add(MSH.class, true, false); 091 this.add(EVN.class, true, false); 092 this.add(PID.class, true, false); 093 this.add(PD1.class, false, false); 094 this.add(NK1.class, false, true); 095 this.add(PV1.class, true, false); 096 this.add(PV2.class, false, false); 097 this.add(DB1.class, false, true); 098 this.add(OBX.class, false, true); 099 this.add(AL1.class, false, true); 100 this.add(DG1.class, false, true); 101 this.add(DRG.class, false, false); 102 this.add(ADT_A28_PROCEDURE.class, false, true); 103 this.add(GT1.class, false, true); 104 this.add(ADT_A28_INSURANCE.class, false, true); 105 this.add(ACC.class, false, false); 106 this.add(UB1.class, false, false); 107 this.add(UB2.class, false, false); 108 } catch(HL7Exception e) { 109 log.error("Unexpected error creating ADT_A28 - this is probably a bug in the source code generator.", e); 110 } 111 } 112 113 /** 114 * Returns "2.3" 115 */ 116 public String getVersion() { 117 return "2.3"; 118 } 119 120 121 122 /** 123 * Returns 124 * MSH (Message header segment) - creates it if necessary 125 */ 126 public MSH getMSH() { 127 return getTyped("MSH", MSH.class); 128 } 129 130 131 132 133 /** 134 * Returns 135 * EVN (Event type) - creates it if necessary 136 */ 137 public EVN getEVN() { 138 return getTyped("EVN", EVN.class); 139 } 140 141 142 143 144 /** 145 * Returns 146 * PID (Patient Identification) - creates it if necessary 147 */ 148 public PID getPID() { 149 return getTyped("PID", PID.class); 150 } 151 152 153 154 155 /** 156 * Returns 157 * PD1 (Patient Demographic) - creates it if necessary 158 */ 159 public PD1 getPD1() { 160 return getTyped("PD1", PD1.class); 161 } 162 163 164 165 166 /** 167 * Returns 168 * the first repetition of 169 * NK1 (Next of kin) - creates it if necessary 170 */ 171 public NK1 getNK1() { 172 return getTyped("NK1", NK1.class); 173 } 174 175 176 /** 177 * Returns a specific repetition of 178 * NK1 (Next of kin) - creates it if necessary 179 * 180 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 181 * @throws HL7Exception if the repetition requested is more than one 182 * greater than the number of existing repetitions. 183 */ 184 public NK1 getNK1(int rep) { 185 return getTyped("NK1", rep, NK1.class); 186 } 187 188 /** 189 * Returns the number of existing repetitions of NK1 190 */ 191 public int getNK1Reps() { 192 return getReps("NK1"); 193 } 194 195 /** 196 * <p> 197 * Returns a non-modifiable List containing all current existing repetitions of NK1. 198 * <p> 199 * <p> 200 * Note that unlike {@link #getNK1()}, this method will not create any reps 201 * if none are already present, so an empty list may be returned. 202 * </p> 203 */ 204 public List<NK1> getNK1All() throws HL7Exception { 205 return getAllAsList("NK1", NK1.class); 206 } 207 208 /** 209 * Inserts a specific repetition of NK1 (Next of kin) 210 * @see AbstractGroup#insertRepetition(Structure, int) 211 */ 212 public void insertNK1(NK1 structure, int rep) throws HL7Exception { 213 super.insertRepetition( "NK1", structure, rep); 214 } 215 216 217 /** 218 * Inserts a specific repetition of NK1 (Next of kin) 219 * @see AbstractGroup#insertRepetition(Structure, int) 220 */ 221 public NK1 insertNK1(int rep) throws HL7Exception { 222 return (NK1)super.insertRepetition("NK1", rep); 223 } 224 225 226 /** 227 * Removes a specific repetition of NK1 (Next of kin) 228 * @see AbstractGroup#removeRepetition(String, int) 229 */ 230 public NK1 removeNK1(int rep) throws HL7Exception { 231 return (NK1)super.removeRepetition("NK1", rep); 232 } 233 234 235 236 /** 237 * Returns 238 * PV1 (Patient visit) - creates it if necessary 239 */ 240 public PV1 getPV1() { 241 return getTyped("PV1", PV1.class); 242 } 243 244 245 246 247 /** 248 * Returns 249 * PV2 (Patient visit - additional information) - creates it if necessary 250 */ 251 public PV2 getPV2() { 252 return getTyped("PV2", PV2.class); 253 } 254 255 256 257 258 /** 259 * Returns 260 * the first repetition of 261 * DB1 (Disability Segment) - creates it if necessary 262 */ 263 public DB1 getDB1() { 264 return getTyped("DB1", DB1.class); 265 } 266 267 268 /** 269 * Returns a specific repetition of 270 * DB1 (Disability Segment) - creates it if necessary 271 * 272 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 273 * @throws HL7Exception if the repetition requested is more than one 274 * greater than the number of existing repetitions. 275 */ 276 public DB1 getDB1(int rep) { 277 return getTyped("DB1", rep, DB1.class); 278 } 279 280 /** 281 * Returns the number of existing repetitions of DB1 282 */ 283 public int getDB1Reps() { 284 return getReps("DB1"); 285 } 286 287 /** 288 * <p> 289 * Returns a non-modifiable List containing all current existing repetitions of DB1. 290 * <p> 291 * <p> 292 * Note that unlike {@link #getDB1()}, this method will not create any reps 293 * if none are already present, so an empty list may be returned. 294 * </p> 295 */ 296 public List<DB1> getDB1All() throws HL7Exception { 297 return getAllAsList("DB1", DB1.class); 298 } 299 300 /** 301 * Inserts a specific repetition of DB1 (Disability Segment) 302 * @see AbstractGroup#insertRepetition(Structure, int) 303 */ 304 public void insertDB1(DB1 structure, int rep) throws HL7Exception { 305 super.insertRepetition( "DB1", structure, rep); 306 } 307 308 309 /** 310 * Inserts a specific repetition of DB1 (Disability Segment) 311 * @see AbstractGroup#insertRepetition(Structure, int) 312 */ 313 public DB1 insertDB1(int rep) throws HL7Exception { 314 return (DB1)super.insertRepetition("DB1", rep); 315 } 316 317 318 /** 319 * Removes a specific repetition of DB1 (Disability Segment) 320 * @see AbstractGroup#removeRepetition(String, int) 321 */ 322 public DB1 removeDB1(int rep) throws HL7Exception { 323 return (DB1)super.removeRepetition("DB1", rep); 324 } 325 326 327 328 /** 329 * Returns 330 * the first repetition of 331 * OBX (Observation segment) - creates it if necessary 332 */ 333 public OBX getOBX() { 334 return getTyped("OBX", OBX.class); 335 } 336 337 338 /** 339 * Returns a specific repetition of 340 * OBX (Observation segment) - creates it if necessary 341 * 342 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 343 * @throws HL7Exception if the repetition requested is more than one 344 * greater than the number of existing repetitions. 345 */ 346 public OBX getOBX(int rep) { 347 return getTyped("OBX", rep, OBX.class); 348 } 349 350 /** 351 * Returns the number of existing repetitions of OBX 352 */ 353 public int getOBXReps() { 354 return getReps("OBX"); 355 } 356 357 /** 358 * <p> 359 * Returns a non-modifiable List containing all current existing repetitions of OBX. 360 * <p> 361 * <p> 362 * Note that unlike {@link #getOBX()}, this method will not create any reps 363 * if none are already present, so an empty list may be returned. 364 * </p> 365 */ 366 public List<OBX> getOBXAll() throws HL7Exception { 367 return getAllAsList("OBX", OBX.class); 368 } 369 370 /** 371 * Inserts a specific repetition of OBX (Observation segment) 372 * @see AbstractGroup#insertRepetition(Structure, int) 373 */ 374 public void insertOBX(OBX structure, int rep) throws HL7Exception { 375 super.insertRepetition( "OBX", structure, rep); 376 } 377 378 379 /** 380 * Inserts a specific repetition of OBX (Observation segment) 381 * @see AbstractGroup#insertRepetition(Structure, int) 382 */ 383 public OBX insertOBX(int rep) throws HL7Exception { 384 return (OBX)super.insertRepetition("OBX", rep); 385 } 386 387 388 /** 389 * Removes a specific repetition of OBX (Observation segment) 390 * @see AbstractGroup#removeRepetition(String, int) 391 */ 392 public OBX removeOBX(int rep) throws HL7Exception { 393 return (OBX)super.removeRepetition("OBX", rep); 394 } 395 396 397 398 /** 399 * Returns 400 * the first repetition of 401 * AL1 (Patient allergy information) - creates it if necessary 402 */ 403 public AL1 getAL1() { 404 return getTyped("AL1", AL1.class); 405 } 406 407 408 /** 409 * Returns a specific repetition of 410 * AL1 (Patient allergy information) - creates it if necessary 411 * 412 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 413 * @throws HL7Exception if the repetition requested is more than one 414 * greater than the number of existing repetitions. 415 */ 416 public AL1 getAL1(int rep) { 417 return getTyped("AL1", rep, AL1.class); 418 } 419 420 /** 421 * Returns the number of existing repetitions of AL1 422 */ 423 public int getAL1Reps() { 424 return getReps("AL1"); 425 } 426 427 /** 428 * <p> 429 * Returns a non-modifiable List containing all current existing repetitions of AL1. 430 * <p> 431 * <p> 432 * Note that unlike {@link #getAL1()}, this method will not create any reps 433 * if none are already present, so an empty list may be returned. 434 * </p> 435 */ 436 public List<AL1> getAL1All() throws HL7Exception { 437 return getAllAsList("AL1", AL1.class); 438 } 439 440 /** 441 * Inserts a specific repetition of AL1 (Patient allergy information) 442 * @see AbstractGroup#insertRepetition(Structure, int) 443 */ 444 public void insertAL1(AL1 structure, int rep) throws HL7Exception { 445 super.insertRepetition( "AL1", structure, rep); 446 } 447 448 449 /** 450 * Inserts a specific repetition of AL1 (Patient allergy information) 451 * @see AbstractGroup#insertRepetition(Structure, int) 452 */ 453 public AL1 insertAL1(int rep) throws HL7Exception { 454 return (AL1)super.insertRepetition("AL1", rep); 455 } 456 457 458 /** 459 * Removes a specific repetition of AL1 (Patient allergy information) 460 * @see AbstractGroup#removeRepetition(String, int) 461 */ 462 public AL1 removeAL1(int rep) throws HL7Exception { 463 return (AL1)super.removeRepetition("AL1", rep); 464 } 465 466 467 468 /** 469 * Returns 470 * the first repetition of 471 * DG1 (Diagnosis) - creates it if necessary 472 */ 473 public DG1 getDG1() { 474 return getTyped("DG1", DG1.class); 475 } 476 477 478 /** 479 * Returns a specific repetition of 480 * DG1 (Diagnosis) - 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 DG1 getDG1(int rep) { 487 return getTyped("DG1", rep, DG1.class); 488 } 489 490 /** 491 * Returns the number of existing repetitions of DG1 492 */ 493 public int getDG1Reps() { 494 return getReps("DG1"); 495 } 496 497 /** 498 * <p> 499 * Returns a non-modifiable List containing all current existing repetitions of DG1. 500 * <p> 501 * <p> 502 * Note that unlike {@link #getDG1()}, this method will not create any reps 503 * if none are already present, so an empty list may be returned. 504 * </p> 505 */ 506 public List<DG1> getDG1All() throws HL7Exception { 507 return getAllAsList("DG1", DG1.class); 508 } 509 510 /** 511 * Inserts a specific repetition of DG1 (Diagnosis) 512 * @see AbstractGroup#insertRepetition(Structure, int) 513 */ 514 public void insertDG1(DG1 structure, int rep) throws HL7Exception { 515 super.insertRepetition( "DG1", structure, rep); 516 } 517 518 519 /** 520 * Inserts a specific repetition of DG1 (Diagnosis) 521 * @see AbstractGroup#insertRepetition(Structure, int) 522 */ 523 public DG1 insertDG1(int rep) throws HL7Exception { 524 return (DG1)super.insertRepetition("DG1", rep); 525 } 526 527 528 /** 529 * Removes a specific repetition of DG1 (Diagnosis) 530 * @see AbstractGroup#removeRepetition(String, int) 531 */ 532 public DG1 removeDG1(int rep) throws HL7Exception { 533 return (DG1)super.removeRepetition("DG1", rep); 534 } 535 536 537 538 /** 539 * Returns 540 * DRG (Diagnosis Related Group) - creates it if necessary 541 */ 542 public DRG getDRG() { 543 return getTyped("DRG", DRG.class); 544 } 545 546 547 548 549 /** 550 * Returns 551 * the first repetition of 552 * PROCEDURE (a Group object) - creates it if necessary 553 */ 554 public ADT_A28_PROCEDURE getPROCEDURE() { 555 return getTyped("PROCEDURE", ADT_A28_PROCEDURE.class); 556 } 557 558 559 /** 560 * Returns a specific repetition of 561 * PROCEDURE (a Group object) - creates it if necessary 562 * 563 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 564 * @throws HL7Exception if the repetition requested is more than one 565 * greater than the number of existing repetitions. 566 */ 567 public ADT_A28_PROCEDURE getPROCEDURE(int rep) { 568 return getTyped("PROCEDURE", rep, ADT_A28_PROCEDURE.class); 569 } 570 571 /** 572 * Returns the number of existing repetitions of PROCEDURE 573 */ 574 public int getPROCEDUREReps() { 575 return getReps("PROCEDURE"); 576 } 577 578 /** 579 * <p> 580 * Returns a non-modifiable List containing all current existing repetitions of PROCEDURE. 581 * <p> 582 * <p> 583 * Note that unlike {@link #getPROCEDURE()}, this method will not create any reps 584 * if none are already present, so an empty list may be returned. 585 * </p> 586 */ 587 public List<ADT_A28_PROCEDURE> getPROCEDUREAll() throws HL7Exception { 588 return getAllAsList("PROCEDURE", ADT_A28_PROCEDURE.class); 589 } 590 591 /** 592 * Inserts a specific repetition of PROCEDURE (a Group object) 593 * @see AbstractGroup#insertRepetition(Structure, int) 594 */ 595 public void insertPROCEDURE(ADT_A28_PROCEDURE structure, int rep) throws HL7Exception { 596 super.insertRepetition( "PROCEDURE", structure, rep); 597 } 598 599 600 /** 601 * Inserts a specific repetition of PROCEDURE (a Group object) 602 * @see AbstractGroup#insertRepetition(Structure, int) 603 */ 604 public ADT_A28_PROCEDURE insertPROCEDURE(int rep) throws HL7Exception { 605 return (ADT_A28_PROCEDURE)super.insertRepetition("PROCEDURE", rep); 606 } 607 608 609 /** 610 * Removes a specific repetition of PROCEDURE (a Group object) 611 * @see AbstractGroup#removeRepetition(String, int) 612 */ 613 public ADT_A28_PROCEDURE removePROCEDURE(int rep) throws HL7Exception { 614 return (ADT_A28_PROCEDURE)super.removeRepetition("PROCEDURE", rep); 615 } 616 617 618 619 /** 620 * Returns 621 * the first repetition of 622 * GT1 (Guarantor) - creates it if necessary 623 */ 624 public GT1 getGT1() { 625 return getTyped("GT1", GT1.class); 626 } 627 628 629 /** 630 * Returns a specific repetition of 631 * GT1 (Guarantor) - creates it if necessary 632 * 633 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 634 * @throws HL7Exception if the repetition requested is more than one 635 * greater than the number of existing repetitions. 636 */ 637 public GT1 getGT1(int rep) { 638 return getTyped("GT1", rep, GT1.class); 639 } 640 641 /** 642 * Returns the number of existing repetitions of GT1 643 */ 644 public int getGT1Reps() { 645 return getReps("GT1"); 646 } 647 648 /** 649 * <p> 650 * Returns a non-modifiable List containing all current existing repetitions of GT1. 651 * <p> 652 * <p> 653 * Note that unlike {@link #getGT1()}, this method will not create any reps 654 * if none are already present, so an empty list may be returned. 655 * </p> 656 */ 657 public List<GT1> getGT1All() throws HL7Exception { 658 return getAllAsList("GT1", GT1.class); 659 } 660 661 /** 662 * Inserts a specific repetition of GT1 (Guarantor) 663 * @see AbstractGroup#insertRepetition(Structure, int) 664 */ 665 public void insertGT1(GT1 structure, int rep) throws HL7Exception { 666 super.insertRepetition( "GT1", structure, rep); 667 } 668 669 670 /** 671 * Inserts a specific repetition of GT1 (Guarantor) 672 * @see AbstractGroup#insertRepetition(Structure, int) 673 */ 674 public GT1 insertGT1(int rep) throws HL7Exception { 675 return (GT1)super.insertRepetition("GT1", rep); 676 } 677 678 679 /** 680 * Removes a specific repetition of GT1 (Guarantor) 681 * @see AbstractGroup#removeRepetition(String, int) 682 */ 683 public GT1 removeGT1(int rep) throws HL7Exception { 684 return (GT1)super.removeRepetition("GT1", rep); 685 } 686 687 688 689 /** 690 * Returns 691 * the first repetition of 692 * INSURANCE (a Group object) - creates it if necessary 693 */ 694 public ADT_A28_INSURANCE getINSURANCE() { 695 return getTyped("INSURANCE", ADT_A28_INSURANCE.class); 696 } 697 698 699 /** 700 * Returns a specific repetition of 701 * INSURANCE (a Group object) - creates it if necessary 702 * 703 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0) 704 * @throws HL7Exception if the repetition requested is more than one 705 * greater than the number of existing repetitions. 706 */ 707 public ADT_A28_INSURANCE getINSURANCE(int rep) { 708 return getTyped("INSURANCE", rep, ADT_A28_INSURANCE.class); 709 } 710 711 /** 712 * Returns the number of existing repetitions of INSURANCE 713 */ 714 public int getINSURANCEReps() { 715 return getReps("INSURANCE"); 716 } 717 718 /** 719 * <p> 720 * Returns a non-modifiable List containing all current existing repetitions of INSURANCE. 721 * <p> 722 * <p> 723 * Note that unlike {@link #getINSURANCE()}, this method will not create any reps 724 * if none are already present, so an empty list may be returned. 725 * </p> 726 */ 727 public List<ADT_A28_INSURANCE> getINSURANCEAll() throws HL7Exception { 728 return getAllAsList("INSURANCE", ADT_A28_INSURANCE.class); 729 } 730 731 /** 732 * Inserts a specific repetition of INSURANCE (a Group object) 733 * @see AbstractGroup#insertRepetition(Structure, int) 734 */ 735 public void insertINSURANCE(ADT_A28_INSURANCE structure, int rep) throws HL7Exception { 736 super.insertRepetition( "INSURANCE", structure, rep); 737 } 738 739 740 /** 741 * Inserts a specific repetition of INSURANCE (a Group object) 742 * @see AbstractGroup#insertRepetition(Structure, int) 743 */ 744 public ADT_A28_INSURANCE insertINSURANCE(int rep) throws HL7Exception { 745 return (ADT_A28_INSURANCE)super.insertRepetition("INSURANCE", rep); 746 } 747 748 749 /** 750 * Removes a specific repetition of INSURANCE (a Group object) 751 * @see AbstractGroup#removeRepetition(String, int) 752 */ 753 public ADT_A28_INSURANCE removeINSURANCE(int rep) throws HL7Exception { 754 return (ADT_A28_INSURANCE)super.removeRepetition("INSURANCE", rep); 755 } 756 757 758 759 /** 760 * Returns 761 * ACC (Accident) - creates it if necessary 762 */ 763 public ACC getACC() { 764 return getTyped("ACC", ACC.class); 765 } 766 767 768 769 770 /** 771 * Returns 772 * UB1 (UB82 data) - creates it if necessary 773 */ 774 public UB1 getUB1() { 775 return getTyped("UB1", UB1.class); 776 } 777 778 779 780 781 /** 782 * Returns 783 * UB2 (UB92 data) - creates it if necessary 784 */ 785 public UB2 getUB2() { 786 return getTyped("UB2", UB2.class); 787 } 788 789 790 791 792} 793