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 PRA message segment (PRA - practitioner detail segment). 050 * This segment has the following fields:</p> 051 * <ul> 052 * <li>PRA-1: Primary Key Value - PRA (CE) <b> </b> 053 * <li>PRA-2: Practitioner Group (CE) <b>optional repeating</b> 054 * <li>PRA-3: Practitioner Category (IS) <b>optional repeating</b> 055 * <li>PRA-4: Provider Billing (ID) <b>optional </b> 056 * <li>PRA-5: Specialty (SPD) <b>optional repeating</b> 057 * <li>PRA-6: Practitioner ID Numbers (PLN) <b>optional repeating</b> 058 * <li>PRA-7: Privileges (PIP) <b>optional repeating</b> 059 * <li>PRA-8: Date Entered Practice (DT) <b>optional </b> 060 * </ul> 061 */ 062@SuppressWarnings("unused") 063public class PRA extends AbstractSegment { 064 065 /** 066 * Creates a new PRA segment 067 */ 068 public PRA(Group parent, ModelClassFactory factory) { 069 super(parent, factory); 070 init(factory); 071 } 072 073 private void init(ModelClassFactory factory) { 074 try { 075 this.add(CE.class, true, 1, 60, new Object[]{ getMessage() }, "Primary Key Value - PRA"); 076 this.add(CE.class, false, 0, 60, new Object[]{ getMessage() }, "Practitioner Group"); 077 this.add(IS.class, false, 0, 3, new Object[]{ getMessage(), new Integer(186) }, "Practitioner Category"); 078 this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(187) }, "Provider Billing"); 079 this.add(SPD.class, false, 0, 100, new Object[]{ getMessage() }, "Specialty"); 080 this.add(PLN.class, false, 0, 100, new Object[]{ getMessage() }, "Practitioner ID Numbers"); 081 this.add(PIP.class, false, 0, 200, new Object[]{ getMessage() }, "Privileges"); 082 this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Date Entered Practice"); 083 } catch(HL7Exception e) { 084 log.error("Unexpected error creating PRA - this is probably a bug in the source code generator.", e); 085 } 086 } 087 088 089 090 /** 091 * Returns 092 * PRA-1: "Primary Key Value - PRA" - creates it if necessary 093 */ 094 public CE getPrimaryKeyValuePRA() { 095 CE retVal = this.getTypedField(1, 0); 096 return retVal; 097 } 098 099 /** 100 * Returns 101 * PRA-1: "Primary Key Value - PRA" - creates it if necessary 102 */ 103 public CE getPra1_PrimaryKeyValuePRA() { 104 CE retVal = this.getTypedField(1, 0); 105 return retVal; 106 } 107 108 109 /** 110 * Returns all repetitions of Practitioner Group (PRA-2). 111 */ 112 public CE[] getPractitionerGroup() { 113 CE[] retVal = this.getTypedField(2, new CE[0]); 114 return retVal; 115 } 116 117 118 /** 119 * Returns all repetitions of Practitioner Group (PRA-2). 120 */ 121 public CE[] getPra2_PractitionerGroup() { 122 CE[] retVal = this.getTypedField(2, new CE[0]); 123 return retVal; 124 } 125 126 127 /** 128 * Returns a count of the current number of repetitions of Practitioner Group (PRA-2). 129 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 130 * it will return zero. 131 */ 132 public int getPractitionerGroupReps() { 133 return this.getReps(2); 134 } 135 136 137 /** 138 * Returns a specific repetition of 139 * PRA-2: "Practitioner Group" - creates it if necessary 140 * 141 * @param rep The repetition index (0-indexed) 142 */ 143 public CE getPractitionerGroup(int rep) { 144 CE retVal = this.getTypedField(2, rep); 145 return retVal; 146 } 147 148 /** 149 * Returns a specific repetition of 150 * PRA-2: "Practitioner Group" - creates it if necessary 151 * 152 * @param rep The repetition index (0-indexed) 153 */ 154 public CE getPra2_PractitionerGroup(int rep) { 155 CE retVal = this.getTypedField(2, rep); 156 return retVal; 157 } 158 159 /** 160 * Returns a count of the current number of repetitions of Practitioner Group (PRA-2). 161 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 162 * it will return zero. 163 */ 164 public int getPra2_PractitionerGroupReps() { 165 return this.getReps(2); 166 } 167 168 169 /** 170 * Inserts a repetition of 171 * PRA-2: "Practitioner Group" 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 CE insertPractitionerGroup(int rep) throws HL7Exception { 177 return (CE) super.insertRepetition(2, rep); 178 } 179 180 181 /** 182 * Inserts a repetition of 183 * PRA-2: "Practitioner Group" 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 CE insertPra2_PractitionerGroup(int rep) throws HL7Exception { 189 return (CE) super.insertRepetition(2, rep); 190 } 191 192 193 /** 194 * Removes a repetition of 195 * PRA-2: "Practitioner Group" 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 CE removePractitionerGroup(int rep) throws HL7Exception { 201 return (CE) super.removeRepetition(2, rep); 202 } 203 204 205 /** 206 * Removes a repetition of 207 * PRA-2: "Practitioner Group" at a specific index 208 * 209 * @param rep The repetition index (0-indexed) 210 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 211 */ 212 public CE removePra2_PractitionerGroup(int rep) throws HL7Exception { 213 return (CE) super.removeRepetition(2, rep); 214 } 215 216 217 218 /** 219 * Returns all repetitions of Practitioner Category (PRA-3). 220 */ 221 public IS[] getPractitionerCategory() { 222 IS[] retVal = this.getTypedField(3, new IS[0]); 223 return retVal; 224 } 225 226 227 /** 228 * Returns all repetitions of Practitioner Category (PRA-3). 229 */ 230 public IS[] getPra3_PractitionerCategory() { 231 IS[] retVal = this.getTypedField(3, new IS[0]); 232 return retVal; 233 } 234 235 236 /** 237 * Returns a count of the current number of repetitions of Practitioner Category (PRA-3). 238 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 239 * it will return zero. 240 */ 241 public int getPractitionerCategoryReps() { 242 return this.getReps(3); 243 } 244 245 246 /** 247 * Returns a specific repetition of 248 * PRA-3: "Practitioner Category" - creates it if necessary 249 * 250 * @param rep The repetition index (0-indexed) 251 */ 252 public IS getPractitionerCategory(int rep) { 253 IS retVal = this.getTypedField(3, rep); 254 return retVal; 255 } 256 257 /** 258 * Returns a specific repetition of 259 * PRA-3: "Practitioner Category" - creates it if necessary 260 * 261 * @param rep The repetition index (0-indexed) 262 */ 263 public IS getPra3_PractitionerCategory(int rep) { 264 IS retVal = this.getTypedField(3, rep); 265 return retVal; 266 } 267 268 /** 269 * Returns a count of the current number of repetitions of Practitioner Category (PRA-3). 270 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 271 * it will return zero. 272 */ 273 public int getPra3_PractitionerCategoryReps() { 274 return this.getReps(3); 275 } 276 277 278 /** 279 * Inserts a repetition of 280 * PRA-3: "Practitioner Category" at a specific index 281 * 282 * @param rep The repetition index (0-indexed) 283 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 284 */ 285 public IS insertPractitionerCategory(int rep) throws HL7Exception { 286 return (IS) super.insertRepetition(3, rep); 287 } 288 289 290 /** 291 * Inserts a repetition of 292 * PRA-3: "Practitioner Category" at a specific index 293 * 294 * @param rep The repetition index (0-indexed) 295 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 296 */ 297 public IS insertPra3_PractitionerCategory(int rep) throws HL7Exception { 298 return (IS) super.insertRepetition(3, rep); 299 } 300 301 302 /** 303 * Removes a repetition of 304 * PRA-3: "Practitioner Category" at a specific index 305 * 306 * @param rep The repetition index (0-indexed) 307 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 308 */ 309 public IS removePractitionerCategory(int rep) throws HL7Exception { 310 return (IS) super.removeRepetition(3, rep); 311 } 312 313 314 /** 315 * Removes a repetition of 316 * PRA-3: "Practitioner Category" at a specific index 317 * 318 * @param rep The repetition index (0-indexed) 319 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 320 */ 321 public IS removePra3_PractitionerCategory(int rep) throws HL7Exception { 322 return (IS) super.removeRepetition(3, rep); 323 } 324 325 326 327 328 /** 329 * Returns 330 * PRA-4: "Provider Billing" - creates it if necessary 331 */ 332 public ID getProviderBilling() { 333 ID retVal = this.getTypedField(4, 0); 334 return retVal; 335 } 336 337 /** 338 * Returns 339 * PRA-4: "Provider Billing" - creates it if necessary 340 */ 341 public ID getPra4_ProviderBilling() { 342 ID retVal = this.getTypedField(4, 0); 343 return retVal; 344 } 345 346 347 /** 348 * Returns all repetitions of Specialty (PRA-5). 349 */ 350 public SPD[] getSpecialty() { 351 SPD[] retVal = this.getTypedField(5, new SPD[0]); 352 return retVal; 353 } 354 355 356 /** 357 * Returns all repetitions of Specialty (PRA-5). 358 */ 359 public SPD[] getPra5_Specialty() { 360 SPD[] retVal = this.getTypedField(5, new SPD[0]); 361 return retVal; 362 } 363 364 365 /** 366 * Returns a count of the current number of repetitions of Specialty (PRA-5). 367 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 368 * it will return zero. 369 */ 370 public int getSpecialtyReps() { 371 return this.getReps(5); 372 } 373 374 375 /** 376 * Returns a specific repetition of 377 * PRA-5: "Specialty" - creates it if necessary 378 * 379 * @param rep The repetition index (0-indexed) 380 */ 381 public SPD getSpecialty(int rep) { 382 SPD retVal = this.getTypedField(5, rep); 383 return retVal; 384 } 385 386 /** 387 * Returns a specific repetition of 388 * PRA-5: "Specialty" - creates it if necessary 389 * 390 * @param rep The repetition index (0-indexed) 391 */ 392 public SPD getPra5_Specialty(int rep) { 393 SPD retVal = this.getTypedField(5, rep); 394 return retVal; 395 } 396 397 /** 398 * Returns a count of the current number of repetitions of Specialty (PRA-5). 399 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 400 * it will return zero. 401 */ 402 public int getPra5_SpecialtyReps() { 403 return this.getReps(5); 404 } 405 406 407 /** 408 * Inserts a repetition of 409 * PRA-5: "Specialty" 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 SPD insertSpecialty(int rep) throws HL7Exception { 415 return (SPD) super.insertRepetition(5, rep); 416 } 417 418 419 /** 420 * Inserts a repetition of 421 * PRA-5: "Specialty" 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 SPD insertPra5_Specialty(int rep) throws HL7Exception { 427 return (SPD) super.insertRepetition(5, rep); 428 } 429 430 431 /** 432 * Removes a repetition of 433 * PRA-5: "Specialty" 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 SPD removeSpecialty(int rep) throws HL7Exception { 439 return (SPD) super.removeRepetition(5, rep); 440 } 441 442 443 /** 444 * Removes a repetition of 445 * PRA-5: "Specialty" at a specific index 446 * 447 * @param rep The repetition index (0-indexed) 448 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 449 */ 450 public SPD removePra5_Specialty(int rep) throws HL7Exception { 451 return (SPD) super.removeRepetition(5, rep); 452 } 453 454 455 456 /** 457 * Returns all repetitions of Practitioner ID Numbers (PRA-6). 458 */ 459 public PLN[] getPractitionerIDNumbers() { 460 PLN[] retVal = this.getTypedField(6, new PLN[0]); 461 return retVal; 462 } 463 464 465 /** 466 * Returns all repetitions of Practitioner ID Numbers (PRA-6). 467 */ 468 public PLN[] getPra6_PractitionerIDNumbers() { 469 PLN[] retVal = this.getTypedField(6, new PLN[0]); 470 return retVal; 471 } 472 473 474 /** 475 * Returns a count of the current number of repetitions of Practitioner ID Numbers (PRA-6). 476 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 477 * it will return zero. 478 */ 479 public int getPractitionerIDNumbersReps() { 480 return this.getReps(6); 481 } 482 483 484 /** 485 * Returns a specific repetition of 486 * PRA-6: "Practitioner ID Numbers" - creates it if necessary 487 * 488 * @param rep The repetition index (0-indexed) 489 */ 490 public PLN getPractitionerIDNumbers(int rep) { 491 PLN retVal = this.getTypedField(6, rep); 492 return retVal; 493 } 494 495 /** 496 * Returns a specific repetition of 497 * PRA-6: "Practitioner ID Numbers" - creates it if necessary 498 * 499 * @param rep The repetition index (0-indexed) 500 */ 501 public PLN getPra6_PractitionerIDNumbers(int rep) { 502 PLN retVal = this.getTypedField(6, rep); 503 return retVal; 504 } 505 506 /** 507 * Returns a count of the current number of repetitions of Practitioner ID Numbers (PRA-6). 508 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 509 * it will return zero. 510 */ 511 public int getPra6_PractitionerIDNumbersReps() { 512 return this.getReps(6); 513 } 514 515 516 /** 517 * Inserts a repetition of 518 * PRA-6: "Practitioner ID Numbers" at a specific index 519 * 520 * @param rep The repetition index (0-indexed) 521 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 522 */ 523 public PLN insertPractitionerIDNumbers(int rep) throws HL7Exception { 524 return (PLN) super.insertRepetition(6, rep); 525 } 526 527 528 /** 529 * Inserts a repetition of 530 * PRA-6: "Practitioner ID Numbers" at a specific index 531 * 532 * @param rep The repetition index (0-indexed) 533 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 534 */ 535 public PLN insertPra6_PractitionerIDNumbers(int rep) throws HL7Exception { 536 return (PLN) super.insertRepetition(6, rep); 537 } 538 539 540 /** 541 * Removes a repetition of 542 * PRA-6: "Practitioner ID Numbers" at a specific index 543 * 544 * @param rep The repetition index (0-indexed) 545 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 546 */ 547 public PLN removePractitionerIDNumbers(int rep) throws HL7Exception { 548 return (PLN) super.removeRepetition(6, rep); 549 } 550 551 552 /** 553 * Removes a repetition of 554 * PRA-6: "Practitioner ID Numbers" at a specific index 555 * 556 * @param rep The repetition index (0-indexed) 557 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 558 */ 559 public PLN removePra6_PractitionerIDNumbers(int rep) throws HL7Exception { 560 return (PLN) super.removeRepetition(6, rep); 561 } 562 563 564 565 /** 566 * Returns all repetitions of Privileges (PRA-7). 567 */ 568 public PIP[] getPrivileges() { 569 PIP[] retVal = this.getTypedField(7, new PIP[0]); 570 return retVal; 571 } 572 573 574 /** 575 * Returns all repetitions of Privileges (PRA-7). 576 */ 577 public PIP[] getPra7_Privileges() { 578 PIP[] retVal = this.getTypedField(7, new PIP[0]); 579 return retVal; 580 } 581 582 583 /** 584 * Returns a count of the current number of repetitions of Privileges (PRA-7). 585 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 586 * it will return zero. 587 */ 588 public int getPrivilegesReps() { 589 return this.getReps(7); 590 } 591 592 593 /** 594 * Returns a specific repetition of 595 * PRA-7: "Privileges" - creates it if necessary 596 * 597 * @param rep The repetition index (0-indexed) 598 */ 599 public PIP getPrivileges(int rep) { 600 PIP retVal = this.getTypedField(7, rep); 601 return retVal; 602 } 603 604 /** 605 * Returns a specific repetition of 606 * PRA-7: "Privileges" - creates it if necessary 607 * 608 * @param rep The repetition index (0-indexed) 609 */ 610 public PIP getPra7_Privileges(int rep) { 611 PIP retVal = this.getTypedField(7, rep); 612 return retVal; 613 } 614 615 /** 616 * Returns a count of the current number of repetitions of Privileges (PRA-7). 617 * This method does not create a repetition, so if no repetitions have currently been defined or accessed, 618 * it will return zero. 619 */ 620 public int getPra7_PrivilegesReps() { 621 return this.getReps(7); 622 } 623 624 625 /** 626 * Inserts a repetition of 627 * PRA-7: "Privileges" at a specific index 628 * 629 * @param rep The repetition index (0-indexed) 630 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 631 */ 632 public PIP insertPrivileges(int rep) throws HL7Exception { 633 return (PIP) super.insertRepetition(7, rep); 634 } 635 636 637 /** 638 * Inserts a repetition of 639 * PRA-7: "Privileges" at a specific index 640 * 641 * @param rep The repetition index (0-indexed) 642 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 643 */ 644 public PIP insertPra7_Privileges(int rep) throws HL7Exception { 645 return (PIP) super.insertRepetition(7, rep); 646 } 647 648 649 /** 650 * Removes a repetition of 651 * PRA-7: "Privileges" at a specific index 652 * 653 * @param rep The repetition index (0-indexed) 654 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 655 */ 656 public PIP removePrivileges(int rep) throws HL7Exception { 657 return (PIP) super.removeRepetition(7, rep); 658 } 659 660 661 /** 662 * Removes a repetition of 663 * PRA-7: "Privileges" at a specific index 664 * 665 * @param rep The repetition index (0-indexed) 666 * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions) 667 */ 668 public PIP removePra7_Privileges(int rep) throws HL7Exception { 669 return (PIP) super.removeRepetition(7, rep); 670 } 671 672 673 674 675 /** 676 * Returns 677 * PRA-8: "Date Entered Practice" - creates it if necessary 678 */ 679 public DT getDateEnteredPractice() { 680 DT retVal = this.getTypedField(8, 0); 681 return retVal; 682 } 683 684 /** 685 * Returns 686 * PRA-8: "Date Entered Practice" - creates it if necessary 687 */ 688 public DT getPra8_DateEnteredPractice() { 689 DT retVal = this.getTypedField(8, 0); 690 return retVal; 691 } 692 693 694 695 696 697 /** {@inheritDoc} */ 698 protected Type createNewTypeWithoutReflection(int field) { 699 switch (field) { 700 case 0: return new CE(getMessage()); 701 case 1: return new CE(getMessage()); 702 case 2: return new IS(getMessage(), new Integer( 186 )); 703 case 3: return new ID(getMessage(), new Integer( 187 )); 704 case 4: return new SPD(getMessage()); 705 case 5: return new PLN(getMessage()); 706 case 6: return new PIP(getMessage()); 707 case 7: return new DT(getMessage()); 708 default: return null; 709 } 710 } 711 712 713} 714