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.v231.segment; 035 036// import ca.uhn.hl7v2.model.v231.group.*; 037import ca.uhn.hl7v2.model.v231.datatype.*; 038import ca.uhn.hl7v2.HL7Exception; 039import ca.uhn.hl7v2.parser.ModelClassFactory; 040import ca.uhn.hl7v2.parser.DefaultModelClassFactory; 041import ca.uhn.hl7v2.model.AbstractMessage; 042import ca.uhn.hl7v2.model.Group; 043import ca.uhn.hl7v2.model.Type; 044import ca.uhn.hl7v2.model.AbstractSegment; 045import ca.uhn.hl7v2.model.Varies; 046 047 048/** 049 *<p>Represents an HL7 PD1 message segment (PD1 - patient additional demographic segment). 050 * This segment has the following fields:</p> 051 * <ul> 052 * <li>PD1-1: Living Dependency (IS) <b>optional repeating</b> 053 * <li>PD1-2: Living Arrangement (IS) <b>optional </b> 054 * <li>PD1-3: Patient Primary Facility (XON) <b>optional repeating</b> 055 * <li>PD1-4: Patient Primary Care Provider Name & ID No. (XCN) <b>optional repeating</b> 056 * <li>PD1-5: Student Indicator (IS) <b>optional </b> 057 * <li>PD1-6: Handicap (IS) <b>optional </b> 058 * <li>PD1-7: Living Will (IS) <b>optional </b> 059 * <li>PD1-8: Organ Donor (IS) <b>optional </b> 060 * <li>PD1-9: Separate Bill (ID) <b>optional </b> 061 * <li>PD1-10: Duplicate Patient (CX) <b>optional repeating</b> 062 * <li>PD1-11: Publicity Code (CE) <b>optional </b> 063 * <li>PD1-12: Protection Indicator (ID) <b>optional </b> 064 * </ul> 065 */ 066@SuppressWarnings("unused") 067public class PD1 extends AbstractSegment { 068 069 /** 070 * Creates a new PD1 segment 071 */ 072 public PD1(Group parent, ModelClassFactory factory) { 073 super(parent, factory); 074 init(factory); 075 } 076 077 private void init(ModelClassFactory factory) { 078 try { 079 this.add(IS.class, false, 0, 2, new Object[]{ getMessage(), new Integer(223) }, "Living Dependency"); 080 this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(220) }, "Living Arrangement"); 081 this.add(XON.class, false, 0, 90, new Object[]{ getMessage() }, "Patient Primary Facility"); 082 this.add(XCN.class, false, 0, 90, new Object[]{ getMessage() }, "Patient Primary Care Provider Name & ID No."); 083 this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(231) }, "Student Indicator"); 084 this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(295) }, "Handicap"); 085 this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(315) }, "Living Will"); 086 this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(316) }, "Organ Donor"); 087 this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Separate Bill"); 088 this.add(CX.class, false, 0, 20, new Object[]{ getMessage() }, "Duplicate Patient"); 089 this.add(CE.class, false, 1, 80, new Object[]{ getMessage() }, "Publicity Code"); 090 this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Protection Indicator"); 091 } catch(HL7Exception e) { 092 log.error("Unexpected error creating PD1 - this is probably a bug in the source code generator.", e); 093 } 094 } 095 096 097 /** 098 * Returns all repetitions of Living Dependency (PD1-1). 099 */ 100 public IS[] getLivingDependency() { 101 IS[] retVal = this.getTypedField(1, new IS[0]); 102 return retVal; 103 } 104 105 106 /** 107 * Returns all repetitions of Living Dependency (PD1-1). 108 */ 109 public IS[] getPd11_LivingDependency() { 110 IS[] retVal = this.getTypedField(1, new IS[0]); 111 return retVal; 112 } 113 114 115 /** 116 * Returns a count of the current number of repetitions of Living Dependency (PD1-1). 117 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 118 * it will return zero. 119 */ 120 public int getLivingDependencyReps() { 121 return this.getReps(1); 122 } 123 124 125 /** 126 * Returns a specific repetition of 127 * PD1-1: "Living Dependency" - creates it if necessary 128 * 129 * @param rep The repetition index (0-indexed) 130 */ 131 public IS getLivingDependency(int rep) { 132 IS retVal = this.getTypedField(1, rep); 133 return retVal; 134 } 135 136 /** 137 * Returns a specific repetition of 138 * PD1-1: "Living Dependency" - creates it if necessary 139 * 140 * @param rep The repetition index (0-indexed) 141 */ 142 public IS getPd11_LivingDependency(int rep) { 143 IS retVal = this.getTypedField(1, rep); 144 return retVal; 145 } 146 147 /** 148 * Returns a count of the current number of repetitions of Living Dependency (PD1-1). 149 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 150 * it will return zero. 151 */ 152 public int getPd11_LivingDependencyReps() { 153 return this.getReps(1); 154 } 155 156 157 /** 158 * Inserts a repetition of 159 * PD1-1: "Living Dependency" at a specific index 160 * 161 * @param rep The repetition index (0-indexed) 162 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 163 */ 164 public IS insertLivingDependency(int rep) throws HL7Exception { 165 return (IS) super.insertRepetition(1, rep); 166 } 167 168 169 /** 170 * Inserts a repetition of 171 * PD1-1: "Living Dependency" at a specific index 172 * 173 * @param rep The repetition index (0-indexed) 174 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 175 */ 176 public IS insertPd11_LivingDependency(int rep) throws HL7Exception { 177 return (IS) super.insertRepetition(1, rep); 178 } 179 180 181 /** 182 * Removes a repetition of 183 * PD1-1: "Living Dependency" at a specific index 184 * 185 * @param rep The repetition index (0-indexed) 186 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 187 */ 188 public IS removeLivingDependency(int rep) throws HL7Exception { 189 return (IS) super.removeRepetition(1, rep); 190 } 191 192 193 /** 194 * Removes a repetition of 195 * PD1-1: "Living Dependency" at a specific index 196 * 197 * @param rep The repetition index (0-indexed) 198 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 199 */ 200 public IS removePd11_LivingDependency(int rep) throws HL7Exception { 201 return (IS) super.removeRepetition(1, rep); 202 } 203 204 205 206 207 /** 208 * Returns 209 * PD1-2: "Living Arrangement" - creates it if necessary 210 */ 211 public IS getLivingArrangement() { 212 IS retVal = this.getTypedField(2, 0); 213 return retVal; 214 } 215 216 /** 217 * Returns 218 * PD1-2: "Living Arrangement" - creates it if necessary 219 */ 220 public IS getPd12_LivingArrangement() { 221 IS retVal = this.getTypedField(2, 0); 222 return retVal; 223 } 224 225 226 /** 227 * Returns all repetitions of Patient Primary Facility (PD1-3). 228 */ 229 public XON[] getPatientPrimaryFacility() { 230 XON[] retVal = this.getTypedField(3, new XON[0]); 231 return retVal; 232 } 233 234 235 /** 236 * Returns all repetitions of Patient Primary Facility (PD1-3). 237 */ 238 public XON[] getPd13_PatientPrimaryFacility() { 239 XON[] retVal = this.getTypedField(3, new XON[0]); 240 return retVal; 241 } 242 243 244 /** 245 * Returns a count of the current number of repetitions of Patient Primary Facility (PD1-3). 246 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 247 * it will return zero. 248 */ 249 public int getPatientPrimaryFacilityReps() { 250 return this.getReps(3); 251 } 252 253 254 /** 255 * Returns a specific repetition of 256 * PD1-3: "Patient Primary Facility" - creates it if necessary 257 * 258 * @param rep The repetition index (0-indexed) 259 */ 260 public XON getPatientPrimaryFacility(int rep) { 261 XON retVal = this.getTypedField(3, rep); 262 return retVal; 263 } 264 265 /** 266 * Returns a specific repetition of 267 * PD1-3: "Patient Primary Facility" - creates it if necessary 268 * 269 * @param rep The repetition index (0-indexed) 270 */ 271 public XON getPd13_PatientPrimaryFacility(int rep) { 272 XON retVal = this.getTypedField(3, rep); 273 return retVal; 274 } 275 276 /** 277 * Returns a count of the current number of repetitions of Patient Primary Facility (PD1-3). 278 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 279 * it will return zero. 280 */ 281 public int getPd13_PatientPrimaryFacilityReps() { 282 return this.getReps(3); 283 } 284 285 286 /** 287 * Inserts a repetition of 288 * PD1-3: "Patient Primary Facility" at a specific index 289 * 290 * @param rep The repetition index (0-indexed) 291 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 292 */ 293 public XON insertPatientPrimaryFacility(int rep) throws HL7Exception { 294 return (XON) super.insertRepetition(3, rep); 295 } 296 297 298 /** 299 * Inserts a repetition of 300 * PD1-3: "Patient Primary Facility" at a specific index 301 * 302 * @param rep The repetition index (0-indexed) 303 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 304 */ 305 public XON insertPd13_PatientPrimaryFacility(int rep) throws HL7Exception { 306 return (XON) super.insertRepetition(3, rep); 307 } 308 309 310 /** 311 * Removes a repetition of 312 * PD1-3: "Patient Primary Facility" at a specific index 313 * 314 * @param rep The repetition index (0-indexed) 315 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 316 */ 317 public XON removePatientPrimaryFacility(int rep) throws HL7Exception { 318 return (XON) super.removeRepetition(3, rep); 319 } 320 321 322 /** 323 * Removes a repetition of 324 * PD1-3: "Patient Primary Facility" at a specific index 325 * 326 * @param rep The repetition index (0-indexed) 327 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 328 */ 329 public XON removePd13_PatientPrimaryFacility(int rep) throws HL7Exception { 330 return (XON) super.removeRepetition(3, rep); 331 } 332 333 334 335 /** 336 * Returns all repetitions of Patient Primary Care Provider Name & ID No. (PD1-4). 337 */ 338 public XCN[] getPatientPrimaryCareProviderNameIDNo() { 339 XCN[] retVal = this.getTypedField(4, new XCN[0]); 340 return retVal; 341 } 342 343 344 /** 345 * Returns all repetitions of Patient Primary Care Provider Name & ID No. (PD1-4). 346 */ 347 public XCN[] getPd14_PatientPrimaryCareProviderNameIDNo() { 348 XCN[] retVal = this.getTypedField(4, new XCN[0]); 349 return retVal; 350 } 351 352 353 /** 354 * Returns a count of the current number of repetitions of Patient Primary Care Provider Name & ID No. (PD1-4). 355 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 356 * it will return zero. 357 */ 358 public int getPatientPrimaryCareProviderNameIDNoReps() { 359 return this.getReps(4); 360 } 361 362 363 /** 364 * Returns a specific repetition of 365 * PD1-4: "Patient Primary Care Provider Name & ID No." - creates it if necessary 366 * 367 * @param rep The repetition index (0-indexed) 368 */ 369 public XCN getPatientPrimaryCareProviderNameIDNo(int rep) { 370 XCN retVal = this.getTypedField(4, rep); 371 return retVal; 372 } 373 374 /** 375 * Returns a specific repetition of 376 * PD1-4: "Patient Primary Care Provider Name & ID No." - creates it if necessary 377 * 378 * @param rep The repetition index (0-indexed) 379 */ 380 public XCN getPd14_PatientPrimaryCareProviderNameIDNo(int rep) { 381 XCN retVal = this.getTypedField(4, rep); 382 return retVal; 383 } 384 385 /** 386 * Returns a count of the current number of repetitions of Patient Primary Care Provider Name & ID No. (PD1-4). 387 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 388 * it will return zero. 389 */ 390 public int getPd14_PatientPrimaryCareProviderNameIDNoReps() { 391 return this.getReps(4); 392 } 393 394 395 /** 396 * Inserts a repetition of 397 * PD1-4: "Patient Primary Care Provider Name & ID No." at a specific index 398 * 399 * @param rep The repetition index (0-indexed) 400 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 401 */ 402 public XCN insertPatientPrimaryCareProviderNameIDNo(int rep) throws HL7Exception { 403 return (XCN) super.insertRepetition(4, rep); 404 } 405 406 407 /** 408 * Inserts a repetition of 409 * PD1-4: "Patient Primary Care Provider Name & ID No." at a specific index 410 * 411 * @param rep The repetition index (0-indexed) 412 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 413 */ 414 public XCN insertPd14_PatientPrimaryCareProviderNameIDNo(int rep) throws HL7Exception { 415 return (XCN) super.insertRepetition(4, rep); 416 } 417 418 419 /** 420 * Removes a repetition of 421 * PD1-4: "Patient Primary Care Provider Name & ID No." at a specific index 422 * 423 * @param rep The repetition index (0-indexed) 424 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 425 */ 426 public XCN removePatientPrimaryCareProviderNameIDNo(int rep) throws HL7Exception { 427 return (XCN) super.removeRepetition(4, rep); 428 } 429 430 431 /** 432 * Removes a repetition of 433 * PD1-4: "Patient Primary Care Provider Name & ID No." at a specific index 434 * 435 * @param rep The repetition index (0-indexed) 436 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 437 */ 438 public XCN removePd14_PatientPrimaryCareProviderNameIDNo(int rep) throws HL7Exception { 439 return (XCN) super.removeRepetition(4, rep); 440 } 441 442 443 444 445 /** 446 * Returns 447 * PD1-5: "Student Indicator" - creates it if necessary 448 */ 449 public IS getStudentIndicator() { 450 IS retVal = this.getTypedField(5, 0); 451 return retVal; 452 } 453 454 /** 455 * Returns 456 * PD1-5: "Student Indicator" - creates it if necessary 457 */ 458 public IS getPd15_StudentIndicator() { 459 IS retVal = this.getTypedField(5, 0); 460 return retVal; 461 } 462 463 464 465 /** 466 * Returns 467 * PD1-6: "Handicap" - creates it if necessary 468 */ 469 public IS getHandicap() { 470 IS retVal = this.getTypedField(6, 0); 471 return retVal; 472 } 473 474 /** 475 * Returns 476 * PD1-6: "Handicap" - creates it if necessary 477 */ 478 public IS getPd16_Handicap() { 479 IS retVal = this.getTypedField(6, 0); 480 return retVal; 481 } 482 483 484 485 /** 486 * Returns 487 * PD1-7: "Living Will" - creates it if necessary 488 */ 489 public IS getLivingWill() { 490 IS retVal = this.getTypedField(7, 0); 491 return retVal; 492 } 493 494 /** 495 * Returns 496 * PD1-7: "Living Will" - creates it if necessary 497 */ 498 public IS getPd17_LivingWill() { 499 IS retVal = this.getTypedField(7, 0); 500 return retVal; 501 } 502 503 504 505 /** 506 * Returns 507 * PD1-8: "Organ Donor" - creates it if necessary 508 */ 509 public IS getOrganDonor() { 510 IS retVal = this.getTypedField(8, 0); 511 return retVal; 512 } 513 514 /** 515 * Returns 516 * PD1-8: "Organ Donor" - creates it if necessary 517 */ 518 public IS getPd18_OrganDonor() { 519 IS retVal = this.getTypedField(8, 0); 520 return retVal; 521 } 522 523 524 525 /** 526 * Returns 527 * PD1-9: "Separate Bill" - creates it if necessary 528 */ 529 public ID getSeparateBill() { 530 ID retVal = this.getTypedField(9, 0); 531 return retVal; 532 } 533 534 /** 535 * Returns 536 * PD1-9: "Separate Bill" - creates it if necessary 537 */ 538 public ID getPd19_SeparateBill() { 539 ID retVal = this.getTypedField(9, 0); 540 return retVal; 541 } 542 543 544 /** 545 * Returns all repetitions of Duplicate Patient (PD1-10). 546 */ 547 public CX[] getDuplicatePatient() { 548 CX[] retVal = this.getTypedField(10, new CX[0]); 549 return retVal; 550 } 551 552 553 /** 554 * Returns all repetitions of Duplicate Patient (PD1-10). 555 */ 556 public CX[] getPd110_DuplicatePatient() { 557 CX[] retVal = this.getTypedField(10, new CX[0]); 558 return retVal; 559 } 560 561 562 /** 563 * Returns a count of the current number of repetitions of Duplicate Patient (PD1-10). 564 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 565 * it will return zero. 566 */ 567 public int getDuplicatePatientReps() { 568 return this.getReps(10); 569 } 570 571 572 /** 573 * Returns a specific repetition of 574 * PD1-10: "Duplicate Patient" - creates it if necessary 575 * 576 * @param rep The repetition index (0-indexed) 577 */ 578 public CX getDuplicatePatient(int rep) { 579 CX retVal = this.getTypedField(10, rep); 580 return retVal; 581 } 582 583 /** 584 * Returns a specific repetition of 585 * PD1-10: "Duplicate Patient" - creates it if necessary 586 * 587 * @param rep The repetition index (0-indexed) 588 */ 589 public CX getPd110_DuplicatePatient(int rep) { 590 CX retVal = this.getTypedField(10, rep); 591 return retVal; 592 } 593 594 /** 595 * Returns a count of the current number of repetitions of Duplicate Patient (PD1-10). 596 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 597 * it will return zero. 598 */ 599 public int getPd110_DuplicatePatientReps() { 600 return this.getReps(10); 601 } 602 603 604 /** 605 * Inserts a repetition of 606 * PD1-10: "Duplicate Patient" at a specific index 607 * 608 * @param rep The repetition index (0-indexed) 609 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 610 */ 611 public CX insertDuplicatePatient(int rep) throws HL7Exception { 612 return (CX) super.insertRepetition(10, rep); 613 } 614 615 616 /** 617 * Inserts a repetition of 618 * PD1-10: "Duplicate Patient" at a specific index 619 * 620 * @param rep The repetition index (0-indexed) 621 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 622 */ 623 public CX insertPd110_DuplicatePatient(int rep) throws HL7Exception { 624 return (CX) super.insertRepetition(10, rep); 625 } 626 627 628 /** 629 * Removes a repetition of 630 * PD1-10: "Duplicate Patient" at a specific index 631 * 632 * @param rep The repetition index (0-indexed) 633 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 634 */ 635 public CX removeDuplicatePatient(int rep) throws HL7Exception { 636 return (CX) super.removeRepetition(10, rep); 637 } 638 639 640 /** 641 * Removes a repetition of 642 * PD1-10: "Duplicate Patient" at a specific index 643 * 644 * @param rep The repetition index (0-indexed) 645 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 646 */ 647 public CX removePd110_DuplicatePatient(int rep) throws HL7Exception { 648 return (CX) super.removeRepetition(10, rep); 649 } 650 651 652 653 654 /** 655 * Returns 656 * PD1-11: "Publicity Code" - creates it if necessary 657 */ 658 public CE getPublicityCode() { 659 CE retVal = this.getTypedField(11, 0); 660 return retVal; 661 } 662 663 /** 664 * Returns 665 * PD1-11: "Publicity Code" - creates it if necessary 666 */ 667 public CE getPd111_PublicityCode() { 668 CE retVal = this.getTypedField(11, 0); 669 return retVal; 670 } 671 672 673 674 /** 675 * Returns 676 * PD1-12: "Protection Indicator" - creates it if necessary 677 */ 678 public ID getProtectionIndicator() { 679 ID retVal = this.getTypedField(12, 0); 680 return retVal; 681 } 682 683 /** 684 * Returns 685 * PD1-12: "Protection Indicator" - creates it if necessary 686 */ 687 public ID getPd112_ProtectionIndicator() { 688 ID retVal = this.getTypedField(12, 0); 689 return retVal; 690 } 691 692 693 694 695 696 /** {@inheritDoc} */ 697 protected Type createNewTypeWithoutReflection(int field) { 698 switch (field) { 699 case 0: return new IS(getMessage(), new Integer( 223 )); 700 case 1: return new IS(getMessage(), new Integer( 220 )); 701 case 2: return new XON(getMessage()); 702 case 3: return new XCN(getMessage()); 703 case 4: return new IS(getMessage(), new Integer( 231 )); 704 case 5: return new IS(getMessage(), new Integer( 295 )); 705 case 6: return new IS(getMessage(), new Integer( 315 )); 706 case 7: return new IS(getMessage(), new Integer( 316 )); 707 case 8: return new ID(getMessage(), new Integer( 136 )); 708 case 9: return new CX(getMessage()); 709 case 10: return new CE(getMessage()); 710 case 11: return new ID(getMessage(), new Integer( 136 )); 711 default: return null; 712 } 713 } 714 715 716} 717