001package org.hl7.fhir.r4.model; 002 003/*- 004 * #%L 005 * org.hl7.fhir.r4 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023/* 024 Copyright (c) 2011+, HL7, Inc. 025 All rights reserved. 026 027 Redistribution and use in source and binary forms, with or without modification, 028 are permitted provided that the following conditions are met: 029 030 * Redistributions of source code must retain the above copyright notice, this 031 list of conditions and the following disclaimer. 032 * Redistributions in binary form must reproduce the above copyright notice, 033 this list of conditions and the following disclaimer in the documentation 034 and/or other materials provided with the distribution. 035 * Neither the name of HL7 nor the names of its contributors may be used to 036 endorse or promote products derived from this software without specific 037 prior written permission. 038 039 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 040 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 041 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 042 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 043 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 044 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 045 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 046 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 047 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 048 POSSIBILITY OF SUCH DAMAGE. 049 050*/ 051 052// Generated on Thu, Dec 13, 2018 14:07+1100 for FHIR v4.0.0 053import java.util.ArrayList; 054import java.util.List; 055 056import org.hl7.fhir.exceptions.FHIRException; 057import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 058import org.hl7.fhir.utilities.Utilities; 059 060import ca.uhn.fhir.model.api.annotation.Block; 061import ca.uhn.fhir.model.api.annotation.Child; 062import ca.uhn.fhir.model.api.annotation.Description; 063import ca.uhn.fhir.model.api.annotation.ResourceDef; 064import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 065/** 066 * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. 067 */ 068@ResourceDef(name="Account", profile="http://hl7.org/fhir/StructureDefinition/Account") 069public class Account extends DomainResource { 070 071 public enum AccountStatus { 072 /** 073 * This account is active and may be used. 074 */ 075 ACTIVE, 076 /** 077 * This account is inactive and should not be used to track financial information. 078 */ 079 INACTIVE, 080 /** 081 * This instance should not have been part of this patient's medical record. 082 */ 083 ENTEREDINERROR, 084 /** 085 * This account is on hold. 086 */ 087 ONHOLD, 088 /** 089 * The account status is unknown. 090 */ 091 UNKNOWN, 092 /** 093 * added to help the parsers with the generic types 094 */ 095 NULL; 096 public static AccountStatus fromCode(String codeString) throws FHIRException { 097 if (codeString == null || "".equals(codeString)) 098 return null; 099 if ("active".equals(codeString)) 100 return ACTIVE; 101 if ("inactive".equals(codeString)) 102 return INACTIVE; 103 if ("entered-in-error".equals(codeString)) 104 return ENTEREDINERROR; 105 if ("on-hold".equals(codeString)) 106 return ONHOLD; 107 if ("unknown".equals(codeString)) 108 return UNKNOWN; 109 if (Configuration.isAcceptInvalidEnums()) 110 return null; 111 else 112 throw new FHIRException("Unknown AccountStatus code '"+codeString+"'"); 113 } 114 public String toCode() { 115 switch (this) { 116 case ACTIVE: return "active"; 117 case INACTIVE: return "inactive"; 118 case ENTEREDINERROR: return "entered-in-error"; 119 case ONHOLD: return "on-hold"; 120 case UNKNOWN: return "unknown"; 121 default: return "?"; 122 } 123 } 124 public String getSystem() { 125 switch (this) { 126 case ACTIVE: return "http://hl7.org/fhir/account-status"; 127 case INACTIVE: return "http://hl7.org/fhir/account-status"; 128 case ENTEREDINERROR: return "http://hl7.org/fhir/account-status"; 129 case ONHOLD: return "http://hl7.org/fhir/account-status"; 130 case UNKNOWN: return "http://hl7.org/fhir/account-status"; 131 default: return "?"; 132 } 133 } 134 public String getDefinition() { 135 switch (this) { 136 case ACTIVE: return "This account is active and may be used."; 137 case INACTIVE: return "This account is inactive and should not be used to track financial information."; 138 case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record."; 139 case ONHOLD: return "This account is on hold."; 140 case UNKNOWN: return "The account status is unknown."; 141 default: return "?"; 142 } 143 } 144 public String getDisplay() { 145 switch (this) { 146 case ACTIVE: return "Active"; 147 case INACTIVE: return "Inactive"; 148 case ENTEREDINERROR: return "Entered in error"; 149 case ONHOLD: return "On Hold"; 150 case UNKNOWN: return "Unknown"; 151 default: return "?"; 152 } 153 } 154 } 155 156 public static class AccountStatusEnumFactory implements EnumFactory<AccountStatus> { 157 public AccountStatus fromCode(String codeString) throws IllegalArgumentException { 158 if (codeString == null || "".equals(codeString)) 159 if (codeString == null || "".equals(codeString)) 160 return null; 161 if ("active".equals(codeString)) 162 return AccountStatus.ACTIVE; 163 if ("inactive".equals(codeString)) 164 return AccountStatus.INACTIVE; 165 if ("entered-in-error".equals(codeString)) 166 return AccountStatus.ENTEREDINERROR; 167 if ("on-hold".equals(codeString)) 168 return AccountStatus.ONHOLD; 169 if ("unknown".equals(codeString)) 170 return AccountStatus.UNKNOWN; 171 throw new IllegalArgumentException("Unknown AccountStatus code '"+codeString+"'"); 172 } 173 public Enumeration<AccountStatus> fromType(Base code) throws FHIRException { 174 if (code == null) 175 return null; 176 if (code.isEmpty()) 177 return new Enumeration<AccountStatus>(this); 178 String codeString = ((PrimitiveType) code).asStringValue(); 179 if (codeString == null || "".equals(codeString)) 180 return null; 181 if ("active".equals(codeString)) 182 return new Enumeration<AccountStatus>(this, AccountStatus.ACTIVE); 183 if ("inactive".equals(codeString)) 184 return new Enumeration<AccountStatus>(this, AccountStatus.INACTIVE); 185 if ("entered-in-error".equals(codeString)) 186 return new Enumeration<AccountStatus>(this, AccountStatus.ENTEREDINERROR); 187 if ("on-hold".equals(codeString)) 188 return new Enumeration<AccountStatus>(this, AccountStatus.ONHOLD); 189 if ("unknown".equals(codeString)) 190 return new Enumeration<AccountStatus>(this, AccountStatus.UNKNOWN); 191 throw new FHIRException("Unknown AccountStatus code '"+codeString+"'"); 192 } 193 public String toCode(AccountStatus code) { 194 if (code == AccountStatus.ACTIVE) 195 return "active"; 196 if (code == AccountStatus.INACTIVE) 197 return "inactive"; 198 if (code == AccountStatus.ENTEREDINERROR) 199 return "entered-in-error"; 200 if (code == AccountStatus.ONHOLD) 201 return "on-hold"; 202 if (code == AccountStatus.UNKNOWN) 203 return "unknown"; 204 return "?"; 205 } 206 public String toSystem(AccountStatus code) { 207 return code.getSystem(); 208 } 209 } 210 211 @Block() 212 public static class CoverageComponent extends BackboneElement implements IBaseBackboneElement { 213 /** 214 * The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). 215 216A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing. 217 */ 218 @Child(name = "coverage", type = {Coverage.class}, order=1, min=1, max=1, modifier=false, summary=true) 219 @Description(shortDefinition="The party(s), such as insurances, that may contribute to the payment of this account", formalDefinition="The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).\n\nA coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing." ) 220 protected Reference coverage; 221 222 /** 223 * The actual object that is the target of the reference (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). 224 225A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.) 226 */ 227 protected Coverage coverageTarget; 228 229 /** 230 * The priority of the coverage in the context of this account. 231 */ 232 @Child(name = "priority", type = {PositiveIntType.class}, order=2, min=0, max=1, modifier=false, summary=true) 233 @Description(shortDefinition="The priority of the coverage in the context of this account", formalDefinition="The priority of the coverage in the context of this account." ) 234 protected PositiveIntType priority; 235 236 private static final long serialVersionUID = -1046265008L; 237 238 /** 239 * Constructor 240 */ 241 public CoverageComponent() { 242 super(); 243 } 244 245 /** 246 * Constructor 247 */ 248 public CoverageComponent(Reference coverage) { 249 super(); 250 this.coverage = coverage; 251 } 252 253 /** 254 * @return {@link #coverage} (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). 255 256A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.) 257 */ 258 public Reference getCoverage() { 259 if (this.coverage == null) 260 if (Configuration.errorOnAutoCreate()) 261 throw new Error("Attempt to auto-create CoverageComponent.coverage"); 262 else if (Configuration.doAutoCreate()) 263 this.coverage = new Reference(); // cc 264 return this.coverage; 265 } 266 267 public boolean hasCoverage() { 268 return this.coverage != null && !this.coverage.isEmpty(); 269 } 270 271 /** 272 * @param value {@link #coverage} (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). 273 274A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.) 275 */ 276 public CoverageComponent setCoverage(Reference value) { 277 this.coverage = value; 278 return this; 279 } 280 281 /** 282 * @return {@link #coverage} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). 283 284A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.) 285 */ 286 public Coverage getCoverageTarget() { 287 if (this.coverageTarget == null) 288 if (Configuration.errorOnAutoCreate()) 289 throw new Error("Attempt to auto-create CoverageComponent.coverage"); 290 else if (Configuration.doAutoCreate()) 291 this.coverageTarget = new Coverage(); // aa 292 return this.coverageTarget; 293 } 294 295 /** 296 * @param value {@link #coverage} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay). 297 298A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.) 299 */ 300 public CoverageComponent setCoverageTarget(Coverage value) { 301 this.coverageTarget = value; 302 return this; 303 } 304 305 /** 306 * @return {@link #priority} (The priority of the coverage in the context of this account.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 307 */ 308 public PositiveIntType getPriorityElement() { 309 if (this.priority == null) 310 if (Configuration.errorOnAutoCreate()) 311 throw new Error("Attempt to auto-create CoverageComponent.priority"); 312 else if (Configuration.doAutoCreate()) 313 this.priority = new PositiveIntType(); // bb 314 return this.priority; 315 } 316 317 public boolean hasPriorityElement() { 318 return this.priority != null && !this.priority.isEmpty(); 319 } 320 321 public boolean hasPriority() { 322 return this.priority != null && !this.priority.isEmpty(); 323 } 324 325 /** 326 * @param value {@link #priority} (The priority of the coverage in the context of this account.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 327 */ 328 public CoverageComponent setPriorityElement(PositiveIntType value) { 329 this.priority = value; 330 return this; 331 } 332 333 /** 334 * @return The priority of the coverage in the context of this account. 335 */ 336 public int getPriority() { 337 return this.priority == null || this.priority.isEmpty() ? 0 : this.priority.getValue(); 338 } 339 340 /** 341 * @param value The priority of the coverage in the context of this account. 342 */ 343 public CoverageComponent setPriority(int value) { 344 if (this.priority == null) 345 this.priority = new PositiveIntType(); 346 this.priority.setValue(value); 347 return this; 348 } 349 350 protected void listChildren(List<Property> children) { 351 super.listChildren(children); 352 children.add(new Property("coverage", "Reference(Coverage)", "The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).\n\nA coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.", 0, 1, coverage)); 353 children.add(new Property("priority", "positiveInt", "The priority of the coverage in the context of this account.", 0, 1, priority)); 354 } 355 356 @Override 357 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 358 switch (_hash) { 359 case -351767064: /*coverage*/ return new Property("coverage", "Reference(Coverage)", "The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).\n\nA coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.", 0, 1, coverage); 360 case -1165461084: /*priority*/ return new Property("priority", "positiveInt", "The priority of the coverage in the context of this account.", 0, 1, priority); 361 default: return super.getNamedProperty(_hash, _name, _checkValid); 362 } 363 364 } 365 366 @Override 367 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 368 switch (hash) { 369 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Reference 370 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // PositiveIntType 371 default: return super.getProperty(hash, name, checkValid); 372 } 373 374 } 375 376 @Override 377 public Base setProperty(int hash, String name, Base value) throws FHIRException { 378 switch (hash) { 379 case -351767064: // coverage 380 this.coverage = castToReference(value); // Reference 381 return value; 382 case -1165461084: // priority 383 this.priority = castToPositiveInt(value); // PositiveIntType 384 return value; 385 default: return super.setProperty(hash, name, value); 386 } 387 388 } 389 390 @Override 391 public Base setProperty(String name, Base value) throws FHIRException { 392 if (name.equals("coverage")) { 393 this.coverage = castToReference(value); // Reference 394 } else if (name.equals("priority")) { 395 this.priority = castToPositiveInt(value); // PositiveIntType 396 } else 397 return super.setProperty(name, value); 398 return value; 399 } 400 401 @Override 402 public Base makeProperty(int hash, String name) throws FHIRException { 403 switch (hash) { 404 case -351767064: return getCoverage(); 405 case -1165461084: return getPriorityElement(); 406 default: return super.makeProperty(hash, name); 407 } 408 409 } 410 411 @Override 412 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 413 switch (hash) { 414 case -351767064: /*coverage*/ return new String[] {"Reference"}; 415 case -1165461084: /*priority*/ return new String[] {"positiveInt"}; 416 default: return super.getTypesForProperty(hash, name); 417 } 418 419 } 420 421 @Override 422 public Base addChild(String name) throws FHIRException { 423 if (name.equals("coverage")) { 424 this.coverage = new Reference(); 425 return this.coverage; 426 } 427 else if (name.equals("priority")) { 428 throw new FHIRException("Cannot call addChild on a primitive type Account.priority"); 429 } 430 else 431 return super.addChild(name); 432 } 433 434 public CoverageComponent copy() { 435 CoverageComponent dst = new CoverageComponent(); 436 copyValues(dst); 437 dst.coverage = coverage == null ? null : coverage.copy(); 438 dst.priority = priority == null ? null : priority.copy(); 439 return dst; 440 } 441 442 @Override 443 public boolean equalsDeep(Base other_) { 444 if (!super.equalsDeep(other_)) 445 return false; 446 if (!(other_ instanceof CoverageComponent)) 447 return false; 448 CoverageComponent o = (CoverageComponent) other_; 449 return compareDeep(coverage, o.coverage, true) && compareDeep(priority, o.priority, true); 450 } 451 452 @Override 453 public boolean equalsShallow(Base other_) { 454 if (!super.equalsShallow(other_)) 455 return false; 456 if (!(other_ instanceof CoverageComponent)) 457 return false; 458 CoverageComponent o = (CoverageComponent) other_; 459 return compareValues(priority, o.priority, true); 460 } 461 462 public boolean isEmpty() { 463 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(coverage, priority); 464 } 465 466 public String fhirType() { 467 return "Account.coverage"; 468 469 } 470 471 } 472 473 @Block() 474 public static class GuarantorComponent extends BackboneElement implements IBaseBackboneElement { 475 /** 476 * The entity who is responsible. 477 */ 478 @Child(name = "party", type = {Patient.class, RelatedPerson.class, Organization.class}, order=1, min=1, max=1, modifier=false, summary=false) 479 @Description(shortDefinition="Responsible entity", formalDefinition="The entity who is responsible." ) 480 protected Reference party; 481 482 /** 483 * The actual object that is the target of the reference (The entity who is responsible.) 484 */ 485 protected Resource partyTarget; 486 487 /** 488 * A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. 489 */ 490 @Child(name = "onHold", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 491 @Description(shortDefinition="Credit or other hold applied", formalDefinition="A guarantor may be placed on credit hold or otherwise have their role temporarily suspended." ) 492 protected BooleanType onHold; 493 494 /** 495 * The timeframe during which the guarantor accepts responsibility for the account. 496 */ 497 @Child(name = "period", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=false) 498 @Description(shortDefinition="Guarantee account during", formalDefinition="The timeframe during which the guarantor accepts responsibility for the account." ) 499 protected Period period; 500 501 private static final long serialVersionUID = -1012345396L; 502 503 /** 504 * Constructor 505 */ 506 public GuarantorComponent() { 507 super(); 508 } 509 510 /** 511 * Constructor 512 */ 513 public GuarantorComponent(Reference party) { 514 super(); 515 this.party = party; 516 } 517 518 /** 519 * @return {@link #party} (The entity who is responsible.) 520 */ 521 public Reference getParty() { 522 if (this.party == null) 523 if (Configuration.errorOnAutoCreate()) 524 throw new Error("Attempt to auto-create GuarantorComponent.party"); 525 else if (Configuration.doAutoCreate()) 526 this.party = new Reference(); // cc 527 return this.party; 528 } 529 530 public boolean hasParty() { 531 return this.party != null && !this.party.isEmpty(); 532 } 533 534 /** 535 * @param value {@link #party} (The entity who is responsible.) 536 */ 537 public GuarantorComponent setParty(Reference value) { 538 this.party = value; 539 return this; 540 } 541 542 /** 543 * @return {@link #party} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The entity who is responsible.) 544 */ 545 public Resource getPartyTarget() { 546 return this.partyTarget; 547 } 548 549 /** 550 * @param value {@link #party} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The entity who is responsible.) 551 */ 552 public GuarantorComponent setPartyTarget(Resource value) { 553 this.partyTarget = value; 554 return this; 555 } 556 557 /** 558 * @return {@link #onHold} (A guarantor may be placed on credit hold or otherwise have their role temporarily suspended.). This is the underlying object with id, value and extensions. The accessor "getOnHold" gives direct access to the value 559 */ 560 public BooleanType getOnHoldElement() { 561 if (this.onHold == null) 562 if (Configuration.errorOnAutoCreate()) 563 throw new Error("Attempt to auto-create GuarantorComponent.onHold"); 564 else if (Configuration.doAutoCreate()) 565 this.onHold = new BooleanType(); // bb 566 return this.onHold; 567 } 568 569 public boolean hasOnHoldElement() { 570 return this.onHold != null && !this.onHold.isEmpty(); 571 } 572 573 public boolean hasOnHold() { 574 return this.onHold != null && !this.onHold.isEmpty(); 575 } 576 577 /** 578 * @param value {@link #onHold} (A guarantor may be placed on credit hold or otherwise have their role temporarily suspended.). This is the underlying object with id, value and extensions. The accessor "getOnHold" gives direct access to the value 579 */ 580 public GuarantorComponent setOnHoldElement(BooleanType value) { 581 this.onHold = value; 582 return this; 583 } 584 585 /** 586 * @return A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. 587 */ 588 public boolean getOnHold() { 589 return this.onHold == null || this.onHold.isEmpty() ? false : this.onHold.getValue(); 590 } 591 592 /** 593 * @param value A guarantor may be placed on credit hold or otherwise have their role temporarily suspended. 594 */ 595 public GuarantorComponent setOnHold(boolean value) { 596 if (this.onHold == null) 597 this.onHold = new BooleanType(); 598 this.onHold.setValue(value); 599 return this; 600 } 601 602 /** 603 * @return {@link #period} (The timeframe during which the guarantor accepts responsibility for the account.) 604 */ 605 public Period getPeriod() { 606 if (this.period == null) 607 if (Configuration.errorOnAutoCreate()) 608 throw new Error("Attempt to auto-create GuarantorComponent.period"); 609 else if (Configuration.doAutoCreate()) 610 this.period = new Period(); // cc 611 return this.period; 612 } 613 614 public boolean hasPeriod() { 615 return this.period != null && !this.period.isEmpty(); 616 } 617 618 /** 619 * @param value {@link #period} (The timeframe during which the guarantor accepts responsibility for the account.) 620 */ 621 public GuarantorComponent setPeriod(Period value) { 622 this.period = value; 623 return this; 624 } 625 626 protected void listChildren(List<Property> children) { 627 super.listChildren(children); 628 children.add(new Property("party", "Reference(Patient|RelatedPerson|Organization)", "The entity who is responsible.", 0, 1, party)); 629 children.add(new Property("onHold", "boolean", "A guarantor may be placed on credit hold or otherwise have their role temporarily suspended.", 0, 1, onHold)); 630 children.add(new Property("period", "Period", "The timeframe during which the guarantor accepts responsibility for the account.", 0, 1, period)); 631 } 632 633 @Override 634 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 635 switch (_hash) { 636 case 106437350: /*party*/ return new Property("party", "Reference(Patient|RelatedPerson|Organization)", "The entity who is responsible.", 0, 1, party); 637 case -1013289154: /*onHold*/ return new Property("onHold", "boolean", "A guarantor may be placed on credit hold or otherwise have their role temporarily suspended.", 0, 1, onHold); 638 case -991726143: /*period*/ return new Property("period", "Period", "The timeframe during which the guarantor accepts responsibility for the account.", 0, 1, period); 639 default: return super.getNamedProperty(_hash, _name, _checkValid); 640 } 641 642 } 643 644 @Override 645 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 646 switch (hash) { 647 case 106437350: /*party*/ return this.party == null ? new Base[0] : new Base[] {this.party}; // Reference 648 case -1013289154: /*onHold*/ return this.onHold == null ? new Base[0] : new Base[] {this.onHold}; // BooleanType 649 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 650 default: return super.getProperty(hash, name, checkValid); 651 } 652 653 } 654 655 @Override 656 public Base setProperty(int hash, String name, Base value) throws FHIRException { 657 switch (hash) { 658 case 106437350: // party 659 this.party = castToReference(value); // Reference 660 return value; 661 case -1013289154: // onHold 662 this.onHold = castToBoolean(value); // BooleanType 663 return value; 664 case -991726143: // period 665 this.period = castToPeriod(value); // Period 666 return value; 667 default: return super.setProperty(hash, name, value); 668 } 669 670 } 671 672 @Override 673 public Base setProperty(String name, Base value) throws FHIRException { 674 if (name.equals("party")) { 675 this.party = castToReference(value); // Reference 676 } else if (name.equals("onHold")) { 677 this.onHold = castToBoolean(value); // BooleanType 678 } else if (name.equals("period")) { 679 this.period = castToPeriod(value); // Period 680 } else 681 return super.setProperty(name, value); 682 return value; 683 } 684 685 @Override 686 public Base makeProperty(int hash, String name) throws FHIRException { 687 switch (hash) { 688 case 106437350: return getParty(); 689 case -1013289154: return getOnHoldElement(); 690 case -991726143: return getPeriod(); 691 default: return super.makeProperty(hash, name); 692 } 693 694 } 695 696 @Override 697 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 698 switch (hash) { 699 case 106437350: /*party*/ return new String[] {"Reference"}; 700 case -1013289154: /*onHold*/ return new String[] {"boolean"}; 701 case -991726143: /*period*/ return new String[] {"Period"}; 702 default: return super.getTypesForProperty(hash, name); 703 } 704 705 } 706 707 @Override 708 public Base addChild(String name) throws FHIRException { 709 if (name.equals("party")) { 710 this.party = new Reference(); 711 return this.party; 712 } 713 else if (name.equals("onHold")) { 714 throw new FHIRException("Cannot call addChild on a primitive type Account.onHold"); 715 } 716 else if (name.equals("period")) { 717 this.period = new Period(); 718 return this.period; 719 } 720 else 721 return super.addChild(name); 722 } 723 724 public GuarantorComponent copy() { 725 GuarantorComponent dst = new GuarantorComponent(); 726 copyValues(dst); 727 dst.party = party == null ? null : party.copy(); 728 dst.onHold = onHold == null ? null : onHold.copy(); 729 dst.period = period == null ? null : period.copy(); 730 return dst; 731 } 732 733 @Override 734 public boolean equalsDeep(Base other_) { 735 if (!super.equalsDeep(other_)) 736 return false; 737 if (!(other_ instanceof GuarantorComponent)) 738 return false; 739 GuarantorComponent o = (GuarantorComponent) other_; 740 return compareDeep(party, o.party, true) && compareDeep(onHold, o.onHold, true) && compareDeep(period, o.period, true) 741 ; 742 } 743 744 @Override 745 public boolean equalsShallow(Base other_) { 746 if (!super.equalsShallow(other_)) 747 return false; 748 if (!(other_ instanceof GuarantorComponent)) 749 return false; 750 GuarantorComponent o = (GuarantorComponent) other_; 751 return compareValues(onHold, o.onHold, true); 752 } 753 754 public boolean isEmpty() { 755 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(party, onHold, period); 756 } 757 758 public String fhirType() { 759 return "Account.guarantor"; 760 761 } 762 763 } 764 765 /** 766 * Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number). 767 */ 768 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 769 @Description(shortDefinition="Account number", formalDefinition="Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number)." ) 770 protected List<Identifier> identifier; 771 772 /** 773 * Indicates whether the account is presently used/usable or not. 774 */ 775 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 776 @Description(shortDefinition="active | inactive | entered-in-error | on-hold | unknown", formalDefinition="Indicates whether the account is presently used/usable or not." ) 777 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/account-status") 778 protected Enumeration<AccountStatus> status; 779 780 /** 781 * Categorizes the account for reporting and searching purposes. 782 */ 783 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 784 @Description(shortDefinition="E.g. patient, expense, depreciation", formalDefinition="Categorizes the account for reporting and searching purposes." ) 785 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/account-type") 786 protected CodeableConcept type; 787 788 /** 789 * Name used for the account when displaying it to humans in reports, etc. 790 */ 791 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 792 @Description(shortDefinition="Human-readable label", formalDefinition="Name used for the account when displaying it to humans in reports, etc." ) 793 protected StringType name; 794 795 /** 796 * Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account. 797 */ 798 @Child(name = "subject", type = {Patient.class, Device.class, Practitioner.class, PractitionerRole.class, Location.class, HealthcareService.class, Organization.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 799 @Description(shortDefinition="The entity that caused the expenses", formalDefinition="Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account." ) 800 protected List<Reference> subject; 801 /** 802 * The actual objects that are the target of the reference (Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account.) 803 */ 804 protected List<Resource> subjectTarget; 805 806 807 /** 808 * The date range of services associated with this account. 809 */ 810 @Child(name = "servicePeriod", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=true) 811 @Description(shortDefinition="Transaction window", formalDefinition="The date range of services associated with this account." ) 812 protected Period servicePeriod; 813 814 /** 815 * The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account. 816 */ 817 @Child(name = "coverage", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 818 @Description(shortDefinition="The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account", formalDefinition="The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account." ) 819 protected List<CoverageComponent> coverage; 820 821 /** 822 * Indicates the service area, hospital, department, etc. with responsibility for managing the Account. 823 */ 824 @Child(name = "owner", type = {Organization.class}, order=7, min=0, max=1, modifier=false, summary=true) 825 @Description(shortDefinition="Entity managing the Account", formalDefinition="Indicates the service area, hospital, department, etc. with responsibility for managing the Account." ) 826 protected Reference owner; 827 828 /** 829 * The actual object that is the target of the reference (Indicates the service area, hospital, department, etc. with responsibility for managing the Account.) 830 */ 831 protected Organization ownerTarget; 832 833 /** 834 * Provides additional information about what the account tracks and how it is used. 835 */ 836 @Child(name = "description", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 837 @Description(shortDefinition="Explanation of purpose/use", formalDefinition="Provides additional information about what the account tracks and how it is used." ) 838 protected StringType description; 839 840 /** 841 * The parties responsible for balancing the account if other payment options fall short. 842 */ 843 @Child(name = "guarantor", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 844 @Description(shortDefinition="The parties ultimately responsible for balancing the Account", formalDefinition="The parties responsible for balancing the account if other payment options fall short." ) 845 protected List<GuarantorComponent> guarantor; 846 847 /** 848 * Reference to a parent Account. 849 */ 850 @Child(name = "partOf", type = {Account.class}, order=10, min=0, max=1, modifier=false, summary=false) 851 @Description(shortDefinition="Reference to a parent Account", formalDefinition="Reference to a parent Account." ) 852 protected Reference partOf; 853 854 /** 855 * The actual object that is the target of the reference (Reference to a parent Account.) 856 */ 857 protected Account partOfTarget; 858 859 private static final long serialVersionUID = 1211238069L; 860 861 /** 862 * Constructor 863 */ 864 public Account() { 865 super(); 866 } 867 868 /** 869 * Constructor 870 */ 871 public Account(Enumeration<AccountStatus> status) { 872 super(); 873 this.status = status; 874 } 875 876 /** 877 * @return {@link #identifier} (Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number).) 878 */ 879 public List<Identifier> getIdentifier() { 880 if (this.identifier == null) 881 this.identifier = new ArrayList<Identifier>(); 882 return this.identifier; 883 } 884 885 /** 886 * @return Returns a reference to <code>this</code> for easy method chaining 887 */ 888 public Account setIdentifier(List<Identifier> theIdentifier) { 889 this.identifier = theIdentifier; 890 return this; 891 } 892 893 public boolean hasIdentifier() { 894 if (this.identifier == null) 895 return false; 896 for (Identifier item : this.identifier) 897 if (!item.isEmpty()) 898 return true; 899 return false; 900 } 901 902 public Identifier addIdentifier() { //3 903 Identifier t = new Identifier(); 904 if (this.identifier == null) 905 this.identifier = new ArrayList<Identifier>(); 906 this.identifier.add(t); 907 return t; 908 } 909 910 public Account addIdentifier(Identifier t) { //3 911 if (t == null) 912 return this; 913 if (this.identifier == null) 914 this.identifier = new ArrayList<Identifier>(); 915 this.identifier.add(t); 916 return this; 917 } 918 919 /** 920 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 921 */ 922 public Identifier getIdentifierFirstRep() { 923 if (getIdentifier().isEmpty()) { 924 addIdentifier(); 925 } 926 return getIdentifier().get(0); 927 } 928 929 /** 930 * @return {@link #status} (Indicates whether the account is presently used/usable or not.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 931 */ 932 public Enumeration<AccountStatus> getStatusElement() { 933 if (this.status == null) 934 if (Configuration.errorOnAutoCreate()) 935 throw new Error("Attempt to auto-create Account.status"); 936 else if (Configuration.doAutoCreate()) 937 this.status = new Enumeration<AccountStatus>(new AccountStatusEnumFactory()); // bb 938 return this.status; 939 } 940 941 public boolean hasStatusElement() { 942 return this.status != null && !this.status.isEmpty(); 943 } 944 945 public boolean hasStatus() { 946 return this.status != null && !this.status.isEmpty(); 947 } 948 949 /** 950 * @param value {@link #status} (Indicates whether the account is presently used/usable or not.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 951 */ 952 public Account setStatusElement(Enumeration<AccountStatus> value) { 953 this.status = value; 954 return this; 955 } 956 957 /** 958 * @return Indicates whether the account is presently used/usable or not. 959 */ 960 public AccountStatus getStatus() { 961 return this.status == null ? null : this.status.getValue(); 962 } 963 964 /** 965 * @param value Indicates whether the account is presently used/usable or not. 966 */ 967 public Account setStatus(AccountStatus value) { 968 if (this.status == null) 969 this.status = new Enumeration<AccountStatus>(new AccountStatusEnumFactory()); 970 this.status.setValue(value); 971 return this; 972 } 973 974 /** 975 * @return {@link #type} (Categorizes the account for reporting and searching purposes.) 976 */ 977 public CodeableConcept getType() { 978 if (this.type == null) 979 if (Configuration.errorOnAutoCreate()) 980 throw new Error("Attempt to auto-create Account.type"); 981 else if (Configuration.doAutoCreate()) 982 this.type = new CodeableConcept(); // cc 983 return this.type; 984 } 985 986 public boolean hasType() { 987 return this.type != null && !this.type.isEmpty(); 988 } 989 990 /** 991 * @param value {@link #type} (Categorizes the account for reporting and searching purposes.) 992 */ 993 public Account setType(CodeableConcept value) { 994 this.type = value; 995 return this; 996 } 997 998 /** 999 * @return {@link #name} (Name used for the account when displaying it to humans in reports, etc.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1000 */ 1001 public StringType getNameElement() { 1002 if (this.name == null) 1003 if (Configuration.errorOnAutoCreate()) 1004 throw new Error("Attempt to auto-create Account.name"); 1005 else if (Configuration.doAutoCreate()) 1006 this.name = new StringType(); // bb 1007 return this.name; 1008 } 1009 1010 public boolean hasNameElement() { 1011 return this.name != null && !this.name.isEmpty(); 1012 } 1013 1014 public boolean hasName() { 1015 return this.name != null && !this.name.isEmpty(); 1016 } 1017 1018 /** 1019 * @param value {@link #name} (Name used for the account when displaying it to humans in reports, etc.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1020 */ 1021 public Account setNameElement(StringType value) { 1022 this.name = value; 1023 return this; 1024 } 1025 1026 /** 1027 * @return Name used for the account when displaying it to humans in reports, etc. 1028 */ 1029 public String getName() { 1030 return this.name == null ? null : this.name.getValue(); 1031 } 1032 1033 /** 1034 * @param value Name used for the account when displaying it to humans in reports, etc. 1035 */ 1036 public Account setName(String value) { 1037 if (Utilities.noString(value)) 1038 this.name = null; 1039 else { 1040 if (this.name == null) 1041 this.name = new StringType(); 1042 this.name.setValue(value); 1043 } 1044 return this; 1045 } 1046 1047 /** 1048 * @return {@link #subject} (Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account.) 1049 */ 1050 public List<Reference> getSubject() { 1051 if (this.subject == null) 1052 this.subject = new ArrayList<Reference>(); 1053 return this.subject; 1054 } 1055 1056 /** 1057 * @return Returns a reference to <code>this</code> for easy method chaining 1058 */ 1059 public Account setSubject(List<Reference> theSubject) { 1060 this.subject = theSubject; 1061 return this; 1062 } 1063 1064 public boolean hasSubject() { 1065 if (this.subject == null) 1066 return false; 1067 for (Reference item : this.subject) 1068 if (!item.isEmpty()) 1069 return true; 1070 return false; 1071 } 1072 1073 public Reference addSubject() { //3 1074 Reference t = new Reference(); 1075 if (this.subject == null) 1076 this.subject = new ArrayList<Reference>(); 1077 this.subject.add(t); 1078 return t; 1079 } 1080 1081 public Account addSubject(Reference t) { //3 1082 if (t == null) 1083 return this; 1084 if (this.subject == null) 1085 this.subject = new ArrayList<Reference>(); 1086 this.subject.add(t); 1087 return this; 1088 } 1089 1090 /** 1091 * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist 1092 */ 1093 public Reference getSubjectFirstRep() { 1094 if (getSubject().isEmpty()) { 1095 addSubject(); 1096 } 1097 return getSubject().get(0); 1098 } 1099 1100 /** 1101 * @deprecated Use Reference#setResource(IBaseResource) instead 1102 */ 1103 @Deprecated 1104 public List<Resource> getSubjectTarget() { 1105 if (this.subjectTarget == null) 1106 this.subjectTarget = new ArrayList<Resource>(); 1107 return this.subjectTarget; 1108 } 1109 1110 /** 1111 * @return {@link #servicePeriod} (The date range of services associated with this account.) 1112 */ 1113 public Period getServicePeriod() { 1114 if (this.servicePeriod == null) 1115 if (Configuration.errorOnAutoCreate()) 1116 throw new Error("Attempt to auto-create Account.servicePeriod"); 1117 else if (Configuration.doAutoCreate()) 1118 this.servicePeriod = new Period(); // cc 1119 return this.servicePeriod; 1120 } 1121 1122 public boolean hasServicePeriod() { 1123 return this.servicePeriod != null && !this.servicePeriod.isEmpty(); 1124 } 1125 1126 /** 1127 * @param value {@link #servicePeriod} (The date range of services associated with this account.) 1128 */ 1129 public Account setServicePeriod(Period value) { 1130 this.servicePeriod = value; 1131 return this; 1132 } 1133 1134 /** 1135 * @return {@link #coverage} (The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account.) 1136 */ 1137 public List<CoverageComponent> getCoverage() { 1138 if (this.coverage == null) 1139 this.coverage = new ArrayList<CoverageComponent>(); 1140 return this.coverage; 1141 } 1142 1143 /** 1144 * @return Returns a reference to <code>this</code> for easy method chaining 1145 */ 1146 public Account setCoverage(List<CoverageComponent> theCoverage) { 1147 this.coverage = theCoverage; 1148 return this; 1149 } 1150 1151 public boolean hasCoverage() { 1152 if (this.coverage == null) 1153 return false; 1154 for (CoverageComponent item : this.coverage) 1155 if (!item.isEmpty()) 1156 return true; 1157 return false; 1158 } 1159 1160 public CoverageComponent addCoverage() { //3 1161 CoverageComponent t = new CoverageComponent(); 1162 if (this.coverage == null) 1163 this.coverage = new ArrayList<CoverageComponent>(); 1164 this.coverage.add(t); 1165 return t; 1166 } 1167 1168 public Account addCoverage(CoverageComponent t) { //3 1169 if (t == null) 1170 return this; 1171 if (this.coverage == null) 1172 this.coverage = new ArrayList<CoverageComponent>(); 1173 this.coverage.add(t); 1174 return this; 1175 } 1176 1177 /** 1178 * @return The first repetition of repeating field {@link #coverage}, creating it if it does not already exist 1179 */ 1180 public CoverageComponent getCoverageFirstRep() { 1181 if (getCoverage().isEmpty()) { 1182 addCoverage(); 1183 } 1184 return getCoverage().get(0); 1185 } 1186 1187 /** 1188 * @return {@link #owner} (Indicates the service area, hospital, department, etc. with responsibility for managing the Account.) 1189 */ 1190 public Reference getOwner() { 1191 if (this.owner == null) 1192 if (Configuration.errorOnAutoCreate()) 1193 throw new Error("Attempt to auto-create Account.owner"); 1194 else if (Configuration.doAutoCreate()) 1195 this.owner = new Reference(); // cc 1196 return this.owner; 1197 } 1198 1199 public boolean hasOwner() { 1200 return this.owner != null && !this.owner.isEmpty(); 1201 } 1202 1203 /** 1204 * @param value {@link #owner} (Indicates the service area, hospital, department, etc. with responsibility for managing the Account.) 1205 */ 1206 public Account setOwner(Reference value) { 1207 this.owner = value; 1208 return this; 1209 } 1210 1211 /** 1212 * @return {@link #owner} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Indicates the service area, hospital, department, etc. with responsibility for managing the Account.) 1213 */ 1214 public Organization getOwnerTarget() { 1215 if (this.ownerTarget == null) 1216 if (Configuration.errorOnAutoCreate()) 1217 throw new Error("Attempt to auto-create Account.owner"); 1218 else if (Configuration.doAutoCreate()) 1219 this.ownerTarget = new Organization(); // aa 1220 return this.ownerTarget; 1221 } 1222 1223 /** 1224 * @param value {@link #owner} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Indicates the service area, hospital, department, etc. with responsibility for managing the Account.) 1225 */ 1226 public Account setOwnerTarget(Organization value) { 1227 this.ownerTarget = value; 1228 return this; 1229 } 1230 1231 /** 1232 * @return {@link #description} (Provides additional information about what the account tracks and how it is used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1233 */ 1234 public StringType getDescriptionElement() { 1235 if (this.description == null) 1236 if (Configuration.errorOnAutoCreate()) 1237 throw new Error("Attempt to auto-create Account.description"); 1238 else if (Configuration.doAutoCreate()) 1239 this.description = new StringType(); // bb 1240 return this.description; 1241 } 1242 1243 public boolean hasDescriptionElement() { 1244 return this.description != null && !this.description.isEmpty(); 1245 } 1246 1247 public boolean hasDescription() { 1248 return this.description != null && !this.description.isEmpty(); 1249 } 1250 1251 /** 1252 * @param value {@link #description} (Provides additional information about what the account tracks and how it is used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1253 */ 1254 public Account setDescriptionElement(StringType value) { 1255 this.description = value; 1256 return this; 1257 } 1258 1259 /** 1260 * @return Provides additional information about what the account tracks and how it is used. 1261 */ 1262 public String getDescription() { 1263 return this.description == null ? null : this.description.getValue(); 1264 } 1265 1266 /** 1267 * @param value Provides additional information about what the account tracks and how it is used. 1268 */ 1269 public Account setDescription(String value) { 1270 if (Utilities.noString(value)) 1271 this.description = null; 1272 else { 1273 if (this.description == null) 1274 this.description = new StringType(); 1275 this.description.setValue(value); 1276 } 1277 return this; 1278 } 1279 1280 /** 1281 * @return {@link #guarantor} (The parties responsible for balancing the account if other payment options fall short.) 1282 */ 1283 public List<GuarantorComponent> getGuarantor() { 1284 if (this.guarantor == null) 1285 this.guarantor = new ArrayList<GuarantorComponent>(); 1286 return this.guarantor; 1287 } 1288 1289 /** 1290 * @return Returns a reference to <code>this</code> for easy method chaining 1291 */ 1292 public Account setGuarantor(List<GuarantorComponent> theGuarantor) { 1293 this.guarantor = theGuarantor; 1294 return this; 1295 } 1296 1297 public boolean hasGuarantor() { 1298 if (this.guarantor == null) 1299 return false; 1300 for (GuarantorComponent item : this.guarantor) 1301 if (!item.isEmpty()) 1302 return true; 1303 return false; 1304 } 1305 1306 public GuarantorComponent addGuarantor() { //3 1307 GuarantorComponent t = new GuarantorComponent(); 1308 if (this.guarantor == null) 1309 this.guarantor = new ArrayList<GuarantorComponent>(); 1310 this.guarantor.add(t); 1311 return t; 1312 } 1313 1314 public Account addGuarantor(GuarantorComponent t) { //3 1315 if (t == null) 1316 return this; 1317 if (this.guarantor == null) 1318 this.guarantor = new ArrayList<GuarantorComponent>(); 1319 this.guarantor.add(t); 1320 return this; 1321 } 1322 1323 /** 1324 * @return The first repetition of repeating field {@link #guarantor}, creating it if it does not already exist 1325 */ 1326 public GuarantorComponent getGuarantorFirstRep() { 1327 if (getGuarantor().isEmpty()) { 1328 addGuarantor(); 1329 } 1330 return getGuarantor().get(0); 1331 } 1332 1333 /** 1334 * @return {@link #partOf} (Reference to a parent Account.) 1335 */ 1336 public Reference getPartOf() { 1337 if (this.partOf == null) 1338 if (Configuration.errorOnAutoCreate()) 1339 throw new Error("Attempt to auto-create Account.partOf"); 1340 else if (Configuration.doAutoCreate()) 1341 this.partOf = new Reference(); // cc 1342 return this.partOf; 1343 } 1344 1345 public boolean hasPartOf() { 1346 return this.partOf != null && !this.partOf.isEmpty(); 1347 } 1348 1349 /** 1350 * @param value {@link #partOf} (Reference to a parent Account.) 1351 */ 1352 public Account setPartOf(Reference value) { 1353 this.partOf = value; 1354 return this; 1355 } 1356 1357 /** 1358 * @return {@link #partOf} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Reference to a parent Account.) 1359 */ 1360 public Account getPartOfTarget() { 1361 if (this.partOfTarget == null) 1362 if (Configuration.errorOnAutoCreate()) 1363 throw new Error("Attempt to auto-create Account.partOf"); 1364 else if (Configuration.doAutoCreate()) 1365 this.partOfTarget = new Account(); // aa 1366 return this.partOfTarget; 1367 } 1368 1369 /** 1370 * @param value {@link #partOf} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Reference to a parent Account.) 1371 */ 1372 public Account setPartOfTarget(Account value) { 1373 this.partOfTarget = value; 1374 return this; 1375 } 1376 1377 protected void listChildren(List<Property> children) { 1378 super.listChildren(children); 1379 children.add(new Property("identifier", "Identifier", "Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number).", 0, java.lang.Integer.MAX_VALUE, identifier)); 1380 children.add(new Property("status", "code", "Indicates whether the account is presently used/usable or not.", 0, 1, status)); 1381 children.add(new Property("type", "CodeableConcept", "Categorizes the account for reporting and searching purposes.", 0, 1, type)); 1382 children.add(new Property("name", "string", "Name used for the account when displaying it to humans in reports, etc.", 0, 1, name)); 1383 children.add(new Property("subject", "Reference(Patient|Device|Practitioner|PractitionerRole|Location|HealthcareService|Organization)", "Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account.", 0, java.lang.Integer.MAX_VALUE, subject)); 1384 children.add(new Property("servicePeriod", "Period", "The date range of services associated with this account.", 0, 1, servicePeriod)); 1385 children.add(new Property("coverage", "", "The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account.", 0, java.lang.Integer.MAX_VALUE, coverage)); 1386 children.add(new Property("owner", "Reference(Organization)", "Indicates the service area, hospital, department, etc. with responsibility for managing the Account.", 0, 1, owner)); 1387 children.add(new Property("description", "string", "Provides additional information about what the account tracks and how it is used.", 0, 1, description)); 1388 children.add(new Property("guarantor", "", "The parties responsible for balancing the account if other payment options fall short.", 0, java.lang.Integer.MAX_VALUE, guarantor)); 1389 children.add(new Property("partOf", "Reference(Account)", "Reference to a parent Account.", 0, 1, partOf)); 1390 } 1391 1392 @Override 1393 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1394 switch (_hash) { 1395 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier used to reference the account. Might or might not be intended for human use (e.g. credit card number).", 0, java.lang.Integer.MAX_VALUE, identifier); 1396 case -892481550: /*status*/ return new Property("status", "code", "Indicates whether the account is presently used/usable or not.", 0, 1, status); 1397 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Categorizes the account for reporting and searching purposes.", 0, 1, type); 1398 case 3373707: /*name*/ return new Property("name", "string", "Name used for the account when displaying it to humans in reports, etc.", 0, 1, name); 1399 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Device|Practitioner|PractitionerRole|Location|HealthcareService|Organization)", "Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account.", 0, java.lang.Integer.MAX_VALUE, subject); 1400 case 2129104086: /*servicePeriod*/ return new Property("servicePeriod", "Period", "The date range of services associated with this account.", 0, 1, servicePeriod); 1401 case -351767064: /*coverage*/ return new Property("coverage", "", "The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account.", 0, java.lang.Integer.MAX_VALUE, coverage); 1402 case 106164915: /*owner*/ return new Property("owner", "Reference(Organization)", "Indicates the service area, hospital, department, etc. with responsibility for managing the Account.", 0, 1, owner); 1403 case -1724546052: /*description*/ return new Property("description", "string", "Provides additional information about what the account tracks and how it is used.", 0, 1, description); 1404 case -188629045: /*guarantor*/ return new Property("guarantor", "", "The parties responsible for balancing the account if other payment options fall short.", 0, java.lang.Integer.MAX_VALUE, guarantor); 1405 case -995410646: /*partOf*/ return new Property("partOf", "Reference(Account)", "Reference to a parent Account.", 0, 1, partOf); 1406 default: return super.getNamedProperty(_hash, _name, _checkValid); 1407 } 1408 1409 } 1410 1411 @Override 1412 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1413 switch (hash) { 1414 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1415 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<AccountStatus> 1416 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1417 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1418 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // Reference 1419 case 2129104086: /*servicePeriod*/ return this.servicePeriod == null ? new Base[0] : new Base[] {this.servicePeriod}; // Period 1420 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : this.coverage.toArray(new Base[this.coverage.size()]); // CoverageComponent 1421 case 106164915: /*owner*/ return this.owner == null ? new Base[0] : new Base[] {this.owner}; // Reference 1422 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1423 case -188629045: /*guarantor*/ return this.guarantor == null ? new Base[0] : this.guarantor.toArray(new Base[this.guarantor.size()]); // GuarantorComponent 1424 case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference 1425 default: return super.getProperty(hash, name, checkValid); 1426 } 1427 1428 } 1429 1430 @Override 1431 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1432 switch (hash) { 1433 case -1618432855: // identifier 1434 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1435 return value; 1436 case -892481550: // status 1437 value = new AccountStatusEnumFactory().fromType(castToCode(value)); 1438 this.status = (Enumeration) value; // Enumeration<AccountStatus> 1439 return value; 1440 case 3575610: // type 1441 this.type = castToCodeableConcept(value); // CodeableConcept 1442 return value; 1443 case 3373707: // name 1444 this.name = castToString(value); // StringType 1445 return value; 1446 case -1867885268: // subject 1447 this.getSubject().add(castToReference(value)); // Reference 1448 return value; 1449 case 2129104086: // servicePeriod 1450 this.servicePeriod = castToPeriod(value); // Period 1451 return value; 1452 case -351767064: // coverage 1453 this.getCoverage().add((CoverageComponent) value); // CoverageComponent 1454 return value; 1455 case 106164915: // owner 1456 this.owner = castToReference(value); // Reference 1457 return value; 1458 case -1724546052: // description 1459 this.description = castToString(value); // StringType 1460 return value; 1461 case -188629045: // guarantor 1462 this.getGuarantor().add((GuarantorComponent) value); // GuarantorComponent 1463 return value; 1464 case -995410646: // partOf 1465 this.partOf = castToReference(value); // Reference 1466 return value; 1467 default: return super.setProperty(hash, name, value); 1468 } 1469 1470 } 1471 1472 @Override 1473 public Base setProperty(String name, Base value) throws FHIRException { 1474 if (name.equals("identifier")) { 1475 this.getIdentifier().add(castToIdentifier(value)); 1476 } else if (name.equals("status")) { 1477 value = new AccountStatusEnumFactory().fromType(castToCode(value)); 1478 this.status = (Enumeration) value; // Enumeration<AccountStatus> 1479 } else if (name.equals("type")) { 1480 this.type = castToCodeableConcept(value); // CodeableConcept 1481 } else if (name.equals("name")) { 1482 this.name = castToString(value); // StringType 1483 } else if (name.equals("subject")) { 1484 this.getSubject().add(castToReference(value)); 1485 } else if (name.equals("servicePeriod")) { 1486 this.servicePeriod = castToPeriod(value); // Period 1487 } else if (name.equals("coverage")) { 1488 this.getCoverage().add((CoverageComponent) value); 1489 } else if (name.equals("owner")) { 1490 this.owner = castToReference(value); // Reference 1491 } else if (name.equals("description")) { 1492 this.description = castToString(value); // StringType 1493 } else if (name.equals("guarantor")) { 1494 this.getGuarantor().add((GuarantorComponent) value); 1495 } else if (name.equals("partOf")) { 1496 this.partOf = castToReference(value); // Reference 1497 } else 1498 return super.setProperty(name, value); 1499 return value; 1500 } 1501 1502 @Override 1503 public Base makeProperty(int hash, String name) throws FHIRException { 1504 switch (hash) { 1505 case -1618432855: return addIdentifier(); 1506 case -892481550: return getStatusElement(); 1507 case 3575610: return getType(); 1508 case 3373707: return getNameElement(); 1509 case -1867885268: return addSubject(); 1510 case 2129104086: return getServicePeriod(); 1511 case -351767064: return addCoverage(); 1512 case 106164915: return getOwner(); 1513 case -1724546052: return getDescriptionElement(); 1514 case -188629045: return addGuarantor(); 1515 case -995410646: return getPartOf(); 1516 default: return super.makeProperty(hash, name); 1517 } 1518 1519 } 1520 1521 @Override 1522 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1523 switch (hash) { 1524 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1525 case -892481550: /*status*/ return new String[] {"code"}; 1526 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1527 case 3373707: /*name*/ return new String[] {"string"}; 1528 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1529 case 2129104086: /*servicePeriod*/ return new String[] {"Period"}; 1530 case -351767064: /*coverage*/ return new String[] {}; 1531 case 106164915: /*owner*/ return new String[] {"Reference"}; 1532 case -1724546052: /*description*/ return new String[] {"string"}; 1533 case -188629045: /*guarantor*/ return new String[] {}; 1534 case -995410646: /*partOf*/ return new String[] {"Reference"}; 1535 default: return super.getTypesForProperty(hash, name); 1536 } 1537 1538 } 1539 1540 @Override 1541 public Base addChild(String name) throws FHIRException { 1542 if (name.equals("identifier")) { 1543 return addIdentifier(); 1544 } 1545 else if (name.equals("status")) { 1546 throw new FHIRException("Cannot call addChild on a primitive type Account.status"); 1547 } 1548 else if (name.equals("type")) { 1549 this.type = new CodeableConcept(); 1550 return this.type; 1551 } 1552 else if (name.equals("name")) { 1553 throw new FHIRException("Cannot call addChild on a primitive type Account.name"); 1554 } 1555 else if (name.equals("subject")) { 1556 return addSubject(); 1557 } 1558 else if (name.equals("servicePeriod")) { 1559 this.servicePeriod = new Period(); 1560 return this.servicePeriod; 1561 } 1562 else if (name.equals("coverage")) { 1563 return addCoverage(); 1564 } 1565 else if (name.equals("owner")) { 1566 this.owner = new Reference(); 1567 return this.owner; 1568 } 1569 else if (name.equals("description")) { 1570 throw new FHIRException("Cannot call addChild on a primitive type Account.description"); 1571 } 1572 else if (name.equals("guarantor")) { 1573 return addGuarantor(); 1574 } 1575 else if (name.equals("partOf")) { 1576 this.partOf = new Reference(); 1577 return this.partOf; 1578 } 1579 else 1580 return super.addChild(name); 1581 } 1582 1583 public String fhirType() { 1584 return "Account"; 1585 1586 } 1587 1588 public Account copy() { 1589 Account dst = new Account(); 1590 copyValues(dst); 1591 if (identifier != null) { 1592 dst.identifier = new ArrayList<Identifier>(); 1593 for (Identifier i : identifier) 1594 dst.identifier.add(i.copy()); 1595 }; 1596 dst.status = status == null ? null : status.copy(); 1597 dst.type = type == null ? null : type.copy(); 1598 dst.name = name == null ? null : name.copy(); 1599 if (subject != null) { 1600 dst.subject = new ArrayList<Reference>(); 1601 for (Reference i : subject) 1602 dst.subject.add(i.copy()); 1603 }; 1604 dst.servicePeriod = servicePeriod == null ? null : servicePeriod.copy(); 1605 if (coverage != null) { 1606 dst.coverage = new ArrayList<CoverageComponent>(); 1607 for (CoverageComponent i : coverage) 1608 dst.coverage.add(i.copy()); 1609 }; 1610 dst.owner = owner == null ? null : owner.copy(); 1611 dst.description = description == null ? null : description.copy(); 1612 if (guarantor != null) { 1613 dst.guarantor = new ArrayList<GuarantorComponent>(); 1614 for (GuarantorComponent i : guarantor) 1615 dst.guarantor.add(i.copy()); 1616 }; 1617 dst.partOf = partOf == null ? null : partOf.copy(); 1618 return dst; 1619 } 1620 1621 protected Account typedCopy() { 1622 return copy(); 1623 } 1624 1625 @Override 1626 public boolean equalsDeep(Base other_) { 1627 if (!super.equalsDeep(other_)) 1628 return false; 1629 if (!(other_ instanceof Account)) 1630 return false; 1631 Account o = (Account) other_; 1632 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) 1633 && compareDeep(name, o.name, true) && compareDeep(subject, o.subject, true) && compareDeep(servicePeriod, o.servicePeriod, true) 1634 && compareDeep(coverage, o.coverage, true) && compareDeep(owner, o.owner, true) && compareDeep(description, o.description, true) 1635 && compareDeep(guarantor, o.guarantor, true) && compareDeep(partOf, o.partOf, true); 1636 } 1637 1638 @Override 1639 public boolean equalsShallow(Base other_) { 1640 if (!super.equalsShallow(other_)) 1641 return false; 1642 if (!(other_ instanceof Account)) 1643 return false; 1644 Account o = (Account) other_; 1645 return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true) 1646 ; 1647 } 1648 1649 public boolean isEmpty() { 1650 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type 1651 , name, subject, servicePeriod, coverage, owner, description, guarantor, partOf 1652 ); 1653 } 1654 1655 @Override 1656 public ResourceType getResourceType() { 1657 return ResourceType.Account; 1658 } 1659 1660 /** 1661 * Search parameter: <b>owner</b> 1662 * <p> 1663 * Description: <b>Entity managing the Account</b><br> 1664 * Type: <b>reference</b><br> 1665 * Path: <b>Account.owner</b><br> 1666 * </p> 1667 */ 1668 @SearchParamDefinition(name="owner", path="Account.owner", description="Entity managing the Account", type="reference", target={Organization.class } ) 1669 public static final String SP_OWNER = "owner"; 1670 /** 1671 * <b>Fluent Client</b> search parameter constant for <b>owner</b> 1672 * <p> 1673 * Description: <b>Entity managing the Account</b><br> 1674 * Type: <b>reference</b><br> 1675 * Path: <b>Account.owner</b><br> 1676 * </p> 1677 */ 1678 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OWNER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OWNER); 1679 1680/** 1681 * Constant for fluent queries to be used to add include statements. Specifies 1682 * the path value of "<b>Account:owner</b>". 1683 */ 1684 public static final ca.uhn.fhir.model.api.Include INCLUDE_OWNER = new ca.uhn.fhir.model.api.Include("Account:owner").toLocked(); 1685 1686 /** 1687 * Search parameter: <b>identifier</b> 1688 * <p> 1689 * Description: <b>Account number</b><br> 1690 * Type: <b>token</b><br> 1691 * Path: <b>Account.identifier</b><br> 1692 * </p> 1693 */ 1694 @SearchParamDefinition(name="identifier", path="Account.identifier", description="Account number", type="token" ) 1695 public static final String SP_IDENTIFIER = "identifier"; 1696 /** 1697 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1698 * <p> 1699 * Description: <b>Account number</b><br> 1700 * Type: <b>token</b><br> 1701 * Path: <b>Account.identifier</b><br> 1702 * </p> 1703 */ 1704 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1705 1706 /** 1707 * Search parameter: <b>period</b> 1708 * <p> 1709 * Description: <b>Transaction window</b><br> 1710 * Type: <b>date</b><br> 1711 * Path: <b>Account.servicePeriod</b><br> 1712 * </p> 1713 */ 1714 @SearchParamDefinition(name="period", path="Account.servicePeriod", description="Transaction window", type="date" ) 1715 public static final String SP_PERIOD = "period"; 1716 /** 1717 * <b>Fluent Client</b> search parameter constant for <b>period</b> 1718 * <p> 1719 * Description: <b>Transaction window</b><br> 1720 * Type: <b>date</b><br> 1721 * Path: <b>Account.servicePeriod</b><br> 1722 * </p> 1723 */ 1724 public static final ca.uhn.fhir.rest.gclient.DateClientParam PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PERIOD); 1725 1726 /** 1727 * Search parameter: <b>subject</b> 1728 * <p> 1729 * Description: <b>The entity that caused the expenses</b><br> 1730 * Type: <b>reference</b><br> 1731 * Path: <b>Account.subject</b><br> 1732 * </p> 1733 */ 1734 @SearchParamDefinition(name="subject", path="Account.subject", description="The entity that caused the expenses", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Device.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class } ) 1735 public static final String SP_SUBJECT = "subject"; 1736 /** 1737 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1738 * <p> 1739 * Description: <b>The entity that caused the expenses</b><br> 1740 * Type: <b>reference</b><br> 1741 * Path: <b>Account.subject</b><br> 1742 * </p> 1743 */ 1744 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1745 1746/** 1747 * Constant for fluent queries to be used to add include statements. Specifies 1748 * the path value of "<b>Account:subject</b>". 1749 */ 1750 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Account:subject").toLocked(); 1751 1752 /** 1753 * Search parameter: <b>patient</b> 1754 * <p> 1755 * Description: <b>The entity that caused the expenses</b><br> 1756 * Type: <b>reference</b><br> 1757 * Path: <b>Account.subject</b><br> 1758 * </p> 1759 */ 1760 @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient)", description="The entity that caused the expenses", type="reference", target={Patient.class } ) 1761 public static final String SP_PATIENT = "patient"; 1762 /** 1763 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1764 * <p> 1765 * Description: <b>The entity that caused the expenses</b><br> 1766 * Type: <b>reference</b><br> 1767 * Path: <b>Account.subject</b><br> 1768 * </p> 1769 */ 1770 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1771 1772/** 1773 * Constant for fluent queries to be used to add include statements. Specifies 1774 * the path value of "<b>Account:patient</b>". 1775 */ 1776 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Account:patient").toLocked(); 1777 1778 /** 1779 * Search parameter: <b>name</b> 1780 * <p> 1781 * Description: <b>Human-readable label</b><br> 1782 * Type: <b>string</b><br> 1783 * Path: <b>Account.name</b><br> 1784 * </p> 1785 */ 1786 @SearchParamDefinition(name="name", path="Account.name", description="Human-readable label", type="string" ) 1787 public static final String SP_NAME = "name"; 1788 /** 1789 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1790 * <p> 1791 * Description: <b>Human-readable label</b><br> 1792 * Type: <b>string</b><br> 1793 * Path: <b>Account.name</b><br> 1794 * </p> 1795 */ 1796 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1797 1798 /** 1799 * Search parameter: <b>type</b> 1800 * <p> 1801 * Description: <b>E.g. patient, expense, depreciation</b><br> 1802 * Type: <b>token</b><br> 1803 * Path: <b>Account.type</b><br> 1804 * </p> 1805 */ 1806 @SearchParamDefinition(name="type", path="Account.type", description="E.g. patient, expense, depreciation", type="token" ) 1807 public static final String SP_TYPE = "type"; 1808 /** 1809 * <b>Fluent Client</b> search parameter constant for <b>type</b> 1810 * <p> 1811 * Description: <b>E.g. patient, expense, depreciation</b><br> 1812 * Type: <b>token</b><br> 1813 * Path: <b>Account.type</b><br> 1814 * </p> 1815 */ 1816 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 1817 1818 /** 1819 * Search parameter: <b>status</b> 1820 * <p> 1821 * Description: <b>active | inactive | entered-in-error | on-hold | unknown</b><br> 1822 * Type: <b>token</b><br> 1823 * Path: <b>Account.status</b><br> 1824 * </p> 1825 */ 1826 @SearchParamDefinition(name="status", path="Account.status", description="active | inactive | entered-in-error | on-hold | unknown", type="token" ) 1827 public static final String SP_STATUS = "status"; 1828 /** 1829 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1830 * <p> 1831 * Description: <b>active | inactive | entered-in-error | on-hold | unknown</b><br> 1832 * Type: <b>token</b><br> 1833 * Path: <b>Account.status</b><br> 1834 * </p> 1835 */ 1836 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1837 1838 1839} 1840