001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * Details of a Health Insurance product/plan provided by an organization. 052 */ 053@ResourceDef(name="InsurancePlan", profile="http://hl7.org/fhir/StructureDefinition/InsurancePlan") 054public class InsurancePlan extends DomainResource { 055 056 @Block() 057 public static class InsurancePlanContactComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * Indicates a purpose for which the contact can be reached. 060 */ 061 @Child(name = "purpose", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 062 @Description(shortDefinition="The type of contact", formalDefinition="Indicates a purpose for which the contact can be reached." ) 063 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contactentity-type") 064 protected CodeableConcept purpose; 065 066 /** 067 * A name associated with the contact. 068 */ 069 @Child(name = "name", type = {HumanName.class}, order=2, min=0, max=1, modifier=false, summary=false) 070 @Description(shortDefinition="A name associated with the contact", formalDefinition="A name associated with the contact." ) 071 protected HumanName name; 072 073 /** 074 * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. 075 */ 076 @Child(name = "telecom", type = {ContactPoint.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 077 @Description(shortDefinition="Contact details (telephone, email, etc.) for a contact", formalDefinition="A contact detail (e.g. a telephone number or an email address) by which the party may be contacted." ) 078 protected List<ContactPoint> telecom; 079 080 /** 081 * Visiting or postal addresses for the contact. 082 */ 083 @Child(name = "address", type = {Address.class}, order=4, min=0, max=1, modifier=false, summary=false) 084 @Description(shortDefinition="Visiting or postal addresses for the contact", formalDefinition="Visiting or postal addresses for the contact." ) 085 protected Address address; 086 087 private static final long serialVersionUID = 1831121305L; 088 089 /** 090 * Constructor 091 */ 092 public InsurancePlanContactComponent() { 093 super(); 094 } 095 096 /** 097 * @return {@link #purpose} (Indicates a purpose for which the contact can be reached.) 098 */ 099 public CodeableConcept getPurpose() { 100 if (this.purpose == null) 101 if (Configuration.errorOnAutoCreate()) 102 throw new Error("Attempt to auto-create InsurancePlanContactComponent.purpose"); 103 else if (Configuration.doAutoCreate()) 104 this.purpose = new CodeableConcept(); // cc 105 return this.purpose; 106 } 107 108 public boolean hasPurpose() { 109 return this.purpose != null && !this.purpose.isEmpty(); 110 } 111 112 /** 113 * @param value {@link #purpose} (Indicates a purpose for which the contact can be reached.) 114 */ 115 public InsurancePlanContactComponent setPurpose(CodeableConcept value) { 116 this.purpose = value; 117 return this; 118 } 119 120 /** 121 * @return {@link #name} (A name associated with the contact.) 122 */ 123 public HumanName getName() { 124 if (this.name == null) 125 if (Configuration.errorOnAutoCreate()) 126 throw new Error("Attempt to auto-create InsurancePlanContactComponent.name"); 127 else if (Configuration.doAutoCreate()) 128 this.name = new HumanName(); // cc 129 return this.name; 130 } 131 132 public boolean hasName() { 133 return this.name != null && !this.name.isEmpty(); 134 } 135 136 /** 137 * @param value {@link #name} (A name associated with the contact.) 138 */ 139 public InsurancePlanContactComponent setName(HumanName value) { 140 this.name = value; 141 return this; 142 } 143 144 /** 145 * @return {@link #telecom} (A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.) 146 */ 147 public List<ContactPoint> getTelecom() { 148 if (this.telecom == null) 149 this.telecom = new ArrayList<ContactPoint>(); 150 return this.telecom; 151 } 152 153 /** 154 * @return Returns a reference to <code>this</code> for easy method chaining 155 */ 156 public InsurancePlanContactComponent setTelecom(List<ContactPoint> theTelecom) { 157 this.telecom = theTelecom; 158 return this; 159 } 160 161 public boolean hasTelecom() { 162 if (this.telecom == null) 163 return false; 164 for (ContactPoint item : this.telecom) 165 if (!item.isEmpty()) 166 return true; 167 return false; 168 } 169 170 public ContactPoint addTelecom() { //3 171 ContactPoint t = new ContactPoint(); 172 if (this.telecom == null) 173 this.telecom = new ArrayList<ContactPoint>(); 174 this.telecom.add(t); 175 return t; 176 } 177 178 public InsurancePlanContactComponent addTelecom(ContactPoint t) { //3 179 if (t == null) 180 return this; 181 if (this.telecom == null) 182 this.telecom = new ArrayList<ContactPoint>(); 183 this.telecom.add(t); 184 return this; 185 } 186 187 /** 188 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} 189 */ 190 public ContactPoint getTelecomFirstRep() { 191 if (getTelecom().isEmpty()) { 192 addTelecom(); 193 } 194 return getTelecom().get(0); 195 } 196 197 /** 198 * @return {@link #address} (Visiting or postal addresses for the contact.) 199 */ 200 public Address getAddress() { 201 if (this.address == null) 202 if (Configuration.errorOnAutoCreate()) 203 throw new Error("Attempt to auto-create InsurancePlanContactComponent.address"); 204 else if (Configuration.doAutoCreate()) 205 this.address = new Address(); // cc 206 return this.address; 207 } 208 209 public boolean hasAddress() { 210 return this.address != null && !this.address.isEmpty(); 211 } 212 213 /** 214 * @param value {@link #address} (Visiting or postal addresses for the contact.) 215 */ 216 public InsurancePlanContactComponent setAddress(Address value) { 217 this.address = value; 218 return this; 219 } 220 221 protected void listChildren(List<Property> children) { 222 super.listChildren(children); 223 children.add(new Property("purpose", "CodeableConcept", "Indicates a purpose for which the contact can be reached.", 0, 1, purpose)); 224 children.add(new Property("name", "HumanName", "A name associated with the contact.", 0, 1, name)); 225 children.add(new Property("telecom", "ContactPoint", "A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.", 0, java.lang.Integer.MAX_VALUE, telecom)); 226 children.add(new Property("address", "Address", "Visiting or postal addresses for the contact.", 0, 1, address)); 227 } 228 229 @Override 230 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 231 switch (_hash) { 232 case -220463842: /*purpose*/ return new Property("purpose", "CodeableConcept", "Indicates a purpose for which the contact can be reached.", 0, 1, purpose); 233 case 3373707: /*name*/ return new Property("name", "HumanName", "A name associated with the contact.", 0, 1, name); 234 case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.", 0, java.lang.Integer.MAX_VALUE, telecom); 235 case -1147692044: /*address*/ return new Property("address", "Address", "Visiting or postal addresses for the contact.", 0, 1, address); 236 default: return super.getNamedProperty(_hash, _name, _checkValid); 237 } 238 239 } 240 241 @Override 242 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 243 switch (hash) { 244 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // CodeableConcept 245 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // HumanName 246 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 247 case -1147692044: /*address*/ return this.address == null ? new Base[0] : new Base[] {this.address}; // Address 248 default: return super.getProperty(hash, name, checkValid); 249 } 250 251 } 252 253 @Override 254 public Base setProperty(int hash, String name, Base value) throws FHIRException { 255 switch (hash) { 256 case -220463842: // purpose 257 this.purpose = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 258 return value; 259 case 3373707: // name 260 this.name = TypeConvertor.castToHumanName(value); // HumanName 261 return value; 262 case -1429363305: // telecom 263 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint 264 return value; 265 case -1147692044: // address 266 this.address = TypeConvertor.castToAddress(value); // Address 267 return value; 268 default: return super.setProperty(hash, name, value); 269 } 270 271 } 272 273 @Override 274 public Base setProperty(String name, Base value) throws FHIRException { 275 if (name.equals("purpose")) { 276 this.purpose = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 277 } else if (name.equals("name")) { 278 this.name = TypeConvertor.castToHumanName(value); // HumanName 279 } else if (name.equals("telecom")) { 280 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); 281 } else if (name.equals("address")) { 282 this.address = TypeConvertor.castToAddress(value); // Address 283 } else 284 return super.setProperty(name, value); 285 return value; 286 } 287 288 @Override 289 public Base makeProperty(int hash, String name) throws FHIRException { 290 switch (hash) { 291 case -220463842: return getPurpose(); 292 case 3373707: return getName(); 293 case -1429363305: return addTelecom(); 294 case -1147692044: return getAddress(); 295 default: return super.makeProperty(hash, name); 296 } 297 298 } 299 300 @Override 301 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 302 switch (hash) { 303 case -220463842: /*purpose*/ return new String[] {"CodeableConcept"}; 304 case 3373707: /*name*/ return new String[] {"HumanName"}; 305 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 306 case -1147692044: /*address*/ return new String[] {"Address"}; 307 default: return super.getTypesForProperty(hash, name); 308 } 309 310 } 311 312 @Override 313 public Base addChild(String name) throws FHIRException { 314 if (name.equals("purpose")) { 315 this.purpose = new CodeableConcept(); 316 return this.purpose; 317 } 318 else if (name.equals("name")) { 319 this.name = new HumanName(); 320 return this.name; 321 } 322 else if (name.equals("telecom")) { 323 return addTelecom(); 324 } 325 else if (name.equals("address")) { 326 this.address = new Address(); 327 return this.address; 328 } 329 else 330 return super.addChild(name); 331 } 332 333 public InsurancePlanContactComponent copy() { 334 InsurancePlanContactComponent dst = new InsurancePlanContactComponent(); 335 copyValues(dst); 336 return dst; 337 } 338 339 public void copyValues(InsurancePlanContactComponent dst) { 340 super.copyValues(dst); 341 dst.purpose = purpose == null ? null : purpose.copy(); 342 dst.name = name == null ? null : name.copy(); 343 if (telecom != null) { 344 dst.telecom = new ArrayList<ContactPoint>(); 345 for (ContactPoint i : telecom) 346 dst.telecom.add(i.copy()); 347 }; 348 dst.address = address == null ? null : address.copy(); 349 } 350 351 @Override 352 public boolean equalsDeep(Base other_) { 353 if (!super.equalsDeep(other_)) 354 return false; 355 if (!(other_ instanceof InsurancePlanContactComponent)) 356 return false; 357 InsurancePlanContactComponent o = (InsurancePlanContactComponent) other_; 358 return compareDeep(purpose, o.purpose, true) && compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true) 359 && compareDeep(address, o.address, true); 360 } 361 362 @Override 363 public boolean equalsShallow(Base other_) { 364 if (!super.equalsShallow(other_)) 365 return false; 366 if (!(other_ instanceof InsurancePlanContactComponent)) 367 return false; 368 InsurancePlanContactComponent o = (InsurancePlanContactComponent) other_; 369 return true; 370 } 371 372 public boolean isEmpty() { 373 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(purpose, name, telecom, address 374 ); 375 } 376 377 public String fhirType() { 378 return "InsurancePlan.contact"; 379 380 } 381 382 } 383 384 @Block() 385 public static class InsurancePlanCoverageComponent extends BackboneElement implements IBaseBackboneElement { 386 /** 387 * Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health). 388 */ 389 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 390 @Description(shortDefinition="Type of coverage", formalDefinition="Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health)." ) 391 protected CodeableConcept type; 392 393 /** 394 * Reference to the network that providing the type of coverage. 395 */ 396 @Child(name = "network", type = {Organization.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 397 @Description(shortDefinition="What networks provide coverage", formalDefinition="Reference to the network that providing the type of coverage." ) 398 protected List<Reference> network; 399 400 /** 401 * Specific benefits under this type of coverage. 402 */ 403 @Child(name = "benefit", type = {}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 404 @Description(shortDefinition="List of benefits", formalDefinition="Specific benefits under this type of coverage." ) 405 protected List<CoverageBenefitComponent> benefit; 406 407 private static final long serialVersionUID = 79927205L; 408 409 /** 410 * Constructor 411 */ 412 public InsurancePlanCoverageComponent() { 413 super(); 414 } 415 416 /** 417 * Constructor 418 */ 419 public InsurancePlanCoverageComponent(CodeableConcept type, CoverageBenefitComponent benefit) { 420 super(); 421 this.setType(type); 422 this.addBenefit(benefit); 423 } 424 425 /** 426 * @return {@link #type} (Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).) 427 */ 428 public CodeableConcept getType() { 429 if (this.type == null) 430 if (Configuration.errorOnAutoCreate()) 431 throw new Error("Attempt to auto-create InsurancePlanCoverageComponent.type"); 432 else if (Configuration.doAutoCreate()) 433 this.type = new CodeableConcept(); // cc 434 return this.type; 435 } 436 437 public boolean hasType() { 438 return this.type != null && !this.type.isEmpty(); 439 } 440 441 /** 442 * @param value {@link #type} (Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).) 443 */ 444 public InsurancePlanCoverageComponent setType(CodeableConcept value) { 445 this.type = value; 446 return this; 447 } 448 449 /** 450 * @return {@link #network} (Reference to the network that providing the type of coverage.) 451 */ 452 public List<Reference> getNetwork() { 453 if (this.network == null) 454 this.network = new ArrayList<Reference>(); 455 return this.network; 456 } 457 458 /** 459 * @return Returns a reference to <code>this</code> for easy method chaining 460 */ 461 public InsurancePlanCoverageComponent setNetwork(List<Reference> theNetwork) { 462 this.network = theNetwork; 463 return this; 464 } 465 466 public boolean hasNetwork() { 467 if (this.network == null) 468 return false; 469 for (Reference item : this.network) 470 if (!item.isEmpty()) 471 return true; 472 return false; 473 } 474 475 public Reference addNetwork() { //3 476 Reference t = new Reference(); 477 if (this.network == null) 478 this.network = new ArrayList<Reference>(); 479 this.network.add(t); 480 return t; 481 } 482 483 public InsurancePlanCoverageComponent addNetwork(Reference t) { //3 484 if (t == null) 485 return this; 486 if (this.network == null) 487 this.network = new ArrayList<Reference>(); 488 this.network.add(t); 489 return this; 490 } 491 492 /** 493 * @return The first repetition of repeating field {@link #network}, creating it if it does not already exist {3} 494 */ 495 public Reference getNetworkFirstRep() { 496 if (getNetwork().isEmpty()) { 497 addNetwork(); 498 } 499 return getNetwork().get(0); 500 } 501 502 /** 503 * @return {@link #benefit} (Specific benefits under this type of coverage.) 504 */ 505 public List<CoverageBenefitComponent> getBenefit() { 506 if (this.benefit == null) 507 this.benefit = new ArrayList<CoverageBenefitComponent>(); 508 return this.benefit; 509 } 510 511 /** 512 * @return Returns a reference to <code>this</code> for easy method chaining 513 */ 514 public InsurancePlanCoverageComponent setBenefit(List<CoverageBenefitComponent> theBenefit) { 515 this.benefit = theBenefit; 516 return this; 517 } 518 519 public boolean hasBenefit() { 520 if (this.benefit == null) 521 return false; 522 for (CoverageBenefitComponent item : this.benefit) 523 if (!item.isEmpty()) 524 return true; 525 return false; 526 } 527 528 public CoverageBenefitComponent addBenefit() { //3 529 CoverageBenefitComponent t = new CoverageBenefitComponent(); 530 if (this.benefit == null) 531 this.benefit = new ArrayList<CoverageBenefitComponent>(); 532 this.benefit.add(t); 533 return t; 534 } 535 536 public InsurancePlanCoverageComponent addBenefit(CoverageBenefitComponent t) { //3 537 if (t == null) 538 return this; 539 if (this.benefit == null) 540 this.benefit = new ArrayList<CoverageBenefitComponent>(); 541 this.benefit.add(t); 542 return this; 543 } 544 545 /** 546 * @return The first repetition of repeating field {@link #benefit}, creating it if it does not already exist {3} 547 */ 548 public CoverageBenefitComponent getBenefitFirstRep() { 549 if (getBenefit().isEmpty()) { 550 addBenefit(); 551 } 552 return getBenefit().get(0); 553 } 554 555 protected void listChildren(List<Property> children) { 556 super.listChildren(children); 557 children.add(new Property("type", "CodeableConcept", "Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).", 0, 1, type)); 558 children.add(new Property("network", "Reference(Organization)", "Reference to the network that providing the type of coverage.", 0, java.lang.Integer.MAX_VALUE, network)); 559 children.add(new Property("benefit", "", "Specific benefits under this type of coverage.", 0, java.lang.Integer.MAX_VALUE, benefit)); 560 } 561 562 @Override 563 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 564 switch (_hash) { 565 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of coverage (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).", 0, 1, type); 566 case 1843485230: /*network*/ return new Property("network", "Reference(Organization)", "Reference to the network that providing the type of coverage.", 0, java.lang.Integer.MAX_VALUE, network); 567 case -222710633: /*benefit*/ return new Property("benefit", "", "Specific benefits under this type of coverage.", 0, java.lang.Integer.MAX_VALUE, benefit); 568 default: return super.getNamedProperty(_hash, _name, _checkValid); 569 } 570 571 } 572 573 @Override 574 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 575 switch (hash) { 576 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 577 case 1843485230: /*network*/ return this.network == null ? new Base[0] : this.network.toArray(new Base[this.network.size()]); // Reference 578 case -222710633: /*benefit*/ return this.benefit == null ? new Base[0] : this.benefit.toArray(new Base[this.benefit.size()]); // CoverageBenefitComponent 579 default: return super.getProperty(hash, name, checkValid); 580 } 581 582 } 583 584 @Override 585 public Base setProperty(int hash, String name, Base value) throws FHIRException { 586 switch (hash) { 587 case 3575610: // type 588 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 589 return value; 590 case 1843485230: // network 591 this.getNetwork().add(TypeConvertor.castToReference(value)); // Reference 592 return value; 593 case -222710633: // benefit 594 this.getBenefit().add((CoverageBenefitComponent) value); // CoverageBenefitComponent 595 return value; 596 default: return super.setProperty(hash, name, value); 597 } 598 599 } 600 601 @Override 602 public Base setProperty(String name, Base value) throws FHIRException { 603 if (name.equals("type")) { 604 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 605 } else if (name.equals("network")) { 606 this.getNetwork().add(TypeConvertor.castToReference(value)); 607 } else if (name.equals("benefit")) { 608 this.getBenefit().add((CoverageBenefitComponent) value); 609 } else 610 return super.setProperty(name, value); 611 return value; 612 } 613 614 @Override 615 public Base makeProperty(int hash, String name) throws FHIRException { 616 switch (hash) { 617 case 3575610: return getType(); 618 case 1843485230: return addNetwork(); 619 case -222710633: return addBenefit(); 620 default: return super.makeProperty(hash, name); 621 } 622 623 } 624 625 @Override 626 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 627 switch (hash) { 628 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 629 case 1843485230: /*network*/ return new String[] {"Reference"}; 630 case -222710633: /*benefit*/ return new String[] {}; 631 default: return super.getTypesForProperty(hash, name); 632 } 633 634 } 635 636 @Override 637 public Base addChild(String name) throws FHIRException { 638 if (name.equals("type")) { 639 this.type = new CodeableConcept(); 640 return this.type; 641 } 642 else if (name.equals("network")) { 643 return addNetwork(); 644 } 645 else if (name.equals("benefit")) { 646 return addBenefit(); 647 } 648 else 649 return super.addChild(name); 650 } 651 652 public InsurancePlanCoverageComponent copy() { 653 InsurancePlanCoverageComponent dst = new InsurancePlanCoverageComponent(); 654 copyValues(dst); 655 return dst; 656 } 657 658 public void copyValues(InsurancePlanCoverageComponent dst) { 659 super.copyValues(dst); 660 dst.type = type == null ? null : type.copy(); 661 if (network != null) { 662 dst.network = new ArrayList<Reference>(); 663 for (Reference i : network) 664 dst.network.add(i.copy()); 665 }; 666 if (benefit != null) { 667 dst.benefit = new ArrayList<CoverageBenefitComponent>(); 668 for (CoverageBenefitComponent i : benefit) 669 dst.benefit.add(i.copy()); 670 }; 671 } 672 673 @Override 674 public boolean equalsDeep(Base other_) { 675 if (!super.equalsDeep(other_)) 676 return false; 677 if (!(other_ instanceof InsurancePlanCoverageComponent)) 678 return false; 679 InsurancePlanCoverageComponent o = (InsurancePlanCoverageComponent) other_; 680 return compareDeep(type, o.type, true) && compareDeep(network, o.network, true) && compareDeep(benefit, o.benefit, true) 681 ; 682 } 683 684 @Override 685 public boolean equalsShallow(Base other_) { 686 if (!super.equalsShallow(other_)) 687 return false; 688 if (!(other_ instanceof InsurancePlanCoverageComponent)) 689 return false; 690 InsurancePlanCoverageComponent o = (InsurancePlanCoverageComponent) other_; 691 return true; 692 } 693 694 public boolean isEmpty() { 695 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, network, benefit); 696 } 697 698 public String fhirType() { 699 return "InsurancePlan.coverage"; 700 701 } 702 703 } 704 705 @Block() 706 public static class CoverageBenefitComponent extends BackboneElement implements IBaseBackboneElement { 707 /** 708 * Type of benefit (primary care; speciality care; inpatient; outpatient). 709 */ 710 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 711 @Description(shortDefinition="Type of benefit", formalDefinition="Type of benefit (primary care; speciality care; inpatient; outpatient)." ) 712 protected CodeableConcept type; 713 714 /** 715 * The referral requirements to have access/coverage for this benefit. 716 */ 717 @Child(name = "requirement", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 718 @Description(shortDefinition="Referral requirements", formalDefinition="The referral requirements to have access/coverage for this benefit." ) 719 protected StringType requirement; 720 721 /** 722 * The specific limits on the benefit. 723 */ 724 @Child(name = "limit", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 725 @Description(shortDefinition="Benefit limits", formalDefinition="The specific limits on the benefit." ) 726 protected List<CoverageBenefitLimitComponent> limit; 727 728 private static final long serialVersionUID = -113658449L; 729 730 /** 731 * Constructor 732 */ 733 public CoverageBenefitComponent() { 734 super(); 735 } 736 737 /** 738 * Constructor 739 */ 740 public CoverageBenefitComponent(CodeableConcept type) { 741 super(); 742 this.setType(type); 743 } 744 745 /** 746 * @return {@link #type} (Type of benefit (primary care; speciality care; inpatient; outpatient).) 747 */ 748 public CodeableConcept getType() { 749 if (this.type == null) 750 if (Configuration.errorOnAutoCreate()) 751 throw new Error("Attempt to auto-create CoverageBenefitComponent.type"); 752 else if (Configuration.doAutoCreate()) 753 this.type = new CodeableConcept(); // cc 754 return this.type; 755 } 756 757 public boolean hasType() { 758 return this.type != null && !this.type.isEmpty(); 759 } 760 761 /** 762 * @param value {@link #type} (Type of benefit (primary care; speciality care; inpatient; outpatient).) 763 */ 764 public CoverageBenefitComponent setType(CodeableConcept value) { 765 this.type = value; 766 return this; 767 } 768 769 /** 770 * @return {@link #requirement} (The referral requirements to have access/coverage for this benefit.). This is the underlying object with id, value and extensions. The accessor "getRequirement" gives direct access to the value 771 */ 772 public StringType getRequirementElement() { 773 if (this.requirement == null) 774 if (Configuration.errorOnAutoCreate()) 775 throw new Error("Attempt to auto-create CoverageBenefitComponent.requirement"); 776 else if (Configuration.doAutoCreate()) 777 this.requirement = new StringType(); // bb 778 return this.requirement; 779 } 780 781 public boolean hasRequirementElement() { 782 return this.requirement != null && !this.requirement.isEmpty(); 783 } 784 785 public boolean hasRequirement() { 786 return this.requirement != null && !this.requirement.isEmpty(); 787 } 788 789 /** 790 * @param value {@link #requirement} (The referral requirements to have access/coverage for this benefit.). This is the underlying object with id, value and extensions. The accessor "getRequirement" gives direct access to the value 791 */ 792 public CoverageBenefitComponent setRequirementElement(StringType value) { 793 this.requirement = value; 794 return this; 795 } 796 797 /** 798 * @return The referral requirements to have access/coverage for this benefit. 799 */ 800 public String getRequirement() { 801 return this.requirement == null ? null : this.requirement.getValue(); 802 } 803 804 /** 805 * @param value The referral requirements to have access/coverage for this benefit. 806 */ 807 public CoverageBenefitComponent setRequirement(String value) { 808 if (Utilities.noString(value)) 809 this.requirement = null; 810 else { 811 if (this.requirement == null) 812 this.requirement = new StringType(); 813 this.requirement.setValue(value); 814 } 815 return this; 816 } 817 818 /** 819 * @return {@link #limit} (The specific limits on the benefit.) 820 */ 821 public List<CoverageBenefitLimitComponent> getLimit() { 822 if (this.limit == null) 823 this.limit = new ArrayList<CoverageBenefitLimitComponent>(); 824 return this.limit; 825 } 826 827 /** 828 * @return Returns a reference to <code>this</code> for easy method chaining 829 */ 830 public CoverageBenefitComponent setLimit(List<CoverageBenefitLimitComponent> theLimit) { 831 this.limit = theLimit; 832 return this; 833 } 834 835 public boolean hasLimit() { 836 if (this.limit == null) 837 return false; 838 for (CoverageBenefitLimitComponent item : this.limit) 839 if (!item.isEmpty()) 840 return true; 841 return false; 842 } 843 844 public CoverageBenefitLimitComponent addLimit() { //3 845 CoverageBenefitLimitComponent t = new CoverageBenefitLimitComponent(); 846 if (this.limit == null) 847 this.limit = new ArrayList<CoverageBenefitLimitComponent>(); 848 this.limit.add(t); 849 return t; 850 } 851 852 public CoverageBenefitComponent addLimit(CoverageBenefitLimitComponent t) { //3 853 if (t == null) 854 return this; 855 if (this.limit == null) 856 this.limit = new ArrayList<CoverageBenefitLimitComponent>(); 857 this.limit.add(t); 858 return this; 859 } 860 861 /** 862 * @return The first repetition of repeating field {@link #limit}, creating it if it does not already exist {3} 863 */ 864 public CoverageBenefitLimitComponent getLimitFirstRep() { 865 if (getLimit().isEmpty()) { 866 addLimit(); 867 } 868 return getLimit().get(0); 869 } 870 871 protected void listChildren(List<Property> children) { 872 super.listChildren(children); 873 children.add(new Property("type", "CodeableConcept", "Type of benefit (primary care; speciality care; inpatient; outpatient).", 0, 1, type)); 874 children.add(new Property("requirement", "string", "The referral requirements to have access/coverage for this benefit.", 0, 1, requirement)); 875 children.add(new Property("limit", "", "The specific limits on the benefit.", 0, java.lang.Integer.MAX_VALUE, limit)); 876 } 877 878 @Override 879 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 880 switch (_hash) { 881 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of benefit (primary care; speciality care; inpatient; outpatient).", 0, 1, type); 882 case 363387971: /*requirement*/ return new Property("requirement", "string", "The referral requirements to have access/coverage for this benefit.", 0, 1, requirement); 883 case 102976443: /*limit*/ return new Property("limit", "", "The specific limits on the benefit.", 0, java.lang.Integer.MAX_VALUE, limit); 884 default: return super.getNamedProperty(_hash, _name, _checkValid); 885 } 886 887 } 888 889 @Override 890 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 891 switch (hash) { 892 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 893 case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // StringType 894 case 102976443: /*limit*/ return this.limit == null ? new Base[0] : this.limit.toArray(new Base[this.limit.size()]); // CoverageBenefitLimitComponent 895 default: return super.getProperty(hash, name, checkValid); 896 } 897 898 } 899 900 @Override 901 public Base setProperty(int hash, String name, Base value) throws FHIRException { 902 switch (hash) { 903 case 3575610: // type 904 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 905 return value; 906 case 363387971: // requirement 907 this.requirement = TypeConvertor.castToString(value); // StringType 908 return value; 909 case 102976443: // limit 910 this.getLimit().add((CoverageBenefitLimitComponent) value); // CoverageBenefitLimitComponent 911 return value; 912 default: return super.setProperty(hash, name, value); 913 } 914 915 } 916 917 @Override 918 public Base setProperty(String name, Base value) throws FHIRException { 919 if (name.equals("type")) { 920 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 921 } else if (name.equals("requirement")) { 922 this.requirement = TypeConvertor.castToString(value); // StringType 923 } else if (name.equals("limit")) { 924 this.getLimit().add((CoverageBenefitLimitComponent) value); 925 } else 926 return super.setProperty(name, value); 927 return value; 928 } 929 930 @Override 931 public Base makeProperty(int hash, String name) throws FHIRException { 932 switch (hash) { 933 case 3575610: return getType(); 934 case 363387971: return getRequirementElement(); 935 case 102976443: return addLimit(); 936 default: return super.makeProperty(hash, name); 937 } 938 939 } 940 941 @Override 942 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 943 switch (hash) { 944 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 945 case 363387971: /*requirement*/ return new String[] {"string"}; 946 case 102976443: /*limit*/ return new String[] {}; 947 default: return super.getTypesForProperty(hash, name); 948 } 949 950 } 951 952 @Override 953 public Base addChild(String name) throws FHIRException { 954 if (name.equals("type")) { 955 this.type = new CodeableConcept(); 956 return this.type; 957 } 958 else if (name.equals("requirement")) { 959 throw new FHIRException("Cannot call addChild on a primitive type InsurancePlan.coverage.benefit.requirement"); 960 } 961 else if (name.equals("limit")) { 962 return addLimit(); 963 } 964 else 965 return super.addChild(name); 966 } 967 968 public CoverageBenefitComponent copy() { 969 CoverageBenefitComponent dst = new CoverageBenefitComponent(); 970 copyValues(dst); 971 return dst; 972 } 973 974 public void copyValues(CoverageBenefitComponent dst) { 975 super.copyValues(dst); 976 dst.type = type == null ? null : type.copy(); 977 dst.requirement = requirement == null ? null : requirement.copy(); 978 if (limit != null) { 979 dst.limit = new ArrayList<CoverageBenefitLimitComponent>(); 980 for (CoverageBenefitLimitComponent i : limit) 981 dst.limit.add(i.copy()); 982 }; 983 } 984 985 @Override 986 public boolean equalsDeep(Base other_) { 987 if (!super.equalsDeep(other_)) 988 return false; 989 if (!(other_ instanceof CoverageBenefitComponent)) 990 return false; 991 CoverageBenefitComponent o = (CoverageBenefitComponent) other_; 992 return compareDeep(type, o.type, true) && compareDeep(requirement, o.requirement, true) && compareDeep(limit, o.limit, true) 993 ; 994 } 995 996 @Override 997 public boolean equalsShallow(Base other_) { 998 if (!super.equalsShallow(other_)) 999 return false; 1000 if (!(other_ instanceof CoverageBenefitComponent)) 1001 return false; 1002 CoverageBenefitComponent o = (CoverageBenefitComponent) other_; 1003 return compareValues(requirement, o.requirement, true); 1004 } 1005 1006 public boolean isEmpty() { 1007 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, requirement, limit 1008 ); 1009 } 1010 1011 public String fhirType() { 1012 return "InsurancePlan.coverage.benefit"; 1013 1014 } 1015 1016 } 1017 1018 @Block() 1019 public static class CoverageBenefitLimitComponent extends BackboneElement implements IBaseBackboneElement { 1020 /** 1021 * The maximum amount of a service item a plan will pay for a covered benefit. For examples. wellness visits, or eyeglasses. 1022 */ 1023 @Child(name = "value", type = {Quantity.class}, order=1, min=0, max=1, modifier=false, summary=false) 1024 @Description(shortDefinition="Maximum value allowed", formalDefinition="The maximum amount of a service item a plan will pay for a covered benefit. For examples. wellness visits, or eyeglasses." ) 1025 protected Quantity value; 1026 1027 /** 1028 * The specific limit on the benefit. 1029 */ 1030 @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 1031 @Description(shortDefinition="Benefit limit details", formalDefinition="The specific limit on the benefit." ) 1032 protected CodeableConcept code; 1033 1034 private static final long serialVersionUID = -304318128L; 1035 1036 /** 1037 * Constructor 1038 */ 1039 public CoverageBenefitLimitComponent() { 1040 super(); 1041 } 1042 1043 /** 1044 * @return {@link #value} (The maximum amount of a service item a plan will pay for a covered benefit. For examples. wellness visits, or eyeglasses.) 1045 */ 1046 public Quantity getValue() { 1047 if (this.value == null) 1048 if (Configuration.errorOnAutoCreate()) 1049 throw new Error("Attempt to auto-create CoverageBenefitLimitComponent.value"); 1050 else if (Configuration.doAutoCreate()) 1051 this.value = new Quantity(); // cc 1052 return this.value; 1053 } 1054 1055 public boolean hasValue() { 1056 return this.value != null && !this.value.isEmpty(); 1057 } 1058 1059 /** 1060 * @param value {@link #value} (The maximum amount of a service item a plan will pay for a covered benefit. For examples. wellness visits, or eyeglasses.) 1061 */ 1062 public CoverageBenefitLimitComponent setValue(Quantity value) { 1063 this.value = value; 1064 return this; 1065 } 1066 1067 /** 1068 * @return {@link #code} (The specific limit on the benefit.) 1069 */ 1070 public CodeableConcept getCode() { 1071 if (this.code == null) 1072 if (Configuration.errorOnAutoCreate()) 1073 throw new Error("Attempt to auto-create CoverageBenefitLimitComponent.code"); 1074 else if (Configuration.doAutoCreate()) 1075 this.code = new CodeableConcept(); // cc 1076 return this.code; 1077 } 1078 1079 public boolean hasCode() { 1080 return this.code != null && !this.code.isEmpty(); 1081 } 1082 1083 /** 1084 * @param value {@link #code} (The specific limit on the benefit.) 1085 */ 1086 public CoverageBenefitLimitComponent setCode(CodeableConcept value) { 1087 this.code = value; 1088 return this; 1089 } 1090 1091 protected void listChildren(List<Property> children) { 1092 super.listChildren(children); 1093 children.add(new Property("value", "Quantity", "The maximum amount of a service item a plan will pay for a covered benefit. For examples. wellness visits, or eyeglasses.", 0, 1, value)); 1094 children.add(new Property("code", "CodeableConcept", "The specific limit on the benefit.", 0, 1, code)); 1095 } 1096 1097 @Override 1098 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1099 switch (_hash) { 1100 case 111972721: /*value*/ return new Property("value", "Quantity", "The maximum amount of a service item a plan will pay for a covered benefit. For examples. wellness visits, or eyeglasses.", 0, 1, value); 1101 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The specific limit on the benefit.", 0, 1, code); 1102 default: return super.getNamedProperty(_hash, _name, _checkValid); 1103 } 1104 1105 } 1106 1107 @Override 1108 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1109 switch (hash) { 1110 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // Quantity 1111 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1112 default: return super.getProperty(hash, name, checkValid); 1113 } 1114 1115 } 1116 1117 @Override 1118 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1119 switch (hash) { 1120 case 111972721: // value 1121 this.value = TypeConvertor.castToQuantity(value); // Quantity 1122 return value; 1123 case 3059181: // code 1124 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1125 return value; 1126 default: return super.setProperty(hash, name, value); 1127 } 1128 1129 } 1130 1131 @Override 1132 public Base setProperty(String name, Base value) throws FHIRException { 1133 if (name.equals("value")) { 1134 this.value = TypeConvertor.castToQuantity(value); // Quantity 1135 } else if (name.equals("code")) { 1136 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1137 } else 1138 return super.setProperty(name, value); 1139 return value; 1140 } 1141 1142 @Override 1143 public Base makeProperty(int hash, String name) throws FHIRException { 1144 switch (hash) { 1145 case 111972721: return getValue(); 1146 case 3059181: return getCode(); 1147 default: return super.makeProperty(hash, name); 1148 } 1149 1150 } 1151 1152 @Override 1153 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1154 switch (hash) { 1155 case 111972721: /*value*/ return new String[] {"Quantity"}; 1156 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1157 default: return super.getTypesForProperty(hash, name); 1158 } 1159 1160 } 1161 1162 @Override 1163 public Base addChild(String name) throws FHIRException { 1164 if (name.equals("value")) { 1165 this.value = new Quantity(); 1166 return this.value; 1167 } 1168 else if (name.equals("code")) { 1169 this.code = new CodeableConcept(); 1170 return this.code; 1171 } 1172 else 1173 return super.addChild(name); 1174 } 1175 1176 public CoverageBenefitLimitComponent copy() { 1177 CoverageBenefitLimitComponent dst = new CoverageBenefitLimitComponent(); 1178 copyValues(dst); 1179 return dst; 1180 } 1181 1182 public void copyValues(CoverageBenefitLimitComponent dst) { 1183 super.copyValues(dst); 1184 dst.value = value == null ? null : value.copy(); 1185 dst.code = code == null ? null : code.copy(); 1186 } 1187 1188 @Override 1189 public boolean equalsDeep(Base other_) { 1190 if (!super.equalsDeep(other_)) 1191 return false; 1192 if (!(other_ instanceof CoverageBenefitLimitComponent)) 1193 return false; 1194 CoverageBenefitLimitComponent o = (CoverageBenefitLimitComponent) other_; 1195 return compareDeep(value, o.value, true) && compareDeep(code, o.code, true); 1196 } 1197 1198 @Override 1199 public boolean equalsShallow(Base other_) { 1200 if (!super.equalsShallow(other_)) 1201 return false; 1202 if (!(other_ instanceof CoverageBenefitLimitComponent)) 1203 return false; 1204 CoverageBenefitLimitComponent o = (CoverageBenefitLimitComponent) other_; 1205 return true; 1206 } 1207 1208 public boolean isEmpty() { 1209 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(value, code); 1210 } 1211 1212 public String fhirType() { 1213 return "InsurancePlan.coverage.benefit.limit"; 1214 1215 } 1216 1217 } 1218 1219 @Block() 1220 public static class InsurancePlanPlanComponent extends BackboneElement implements IBaseBackboneElement { 1221 /** 1222 * Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server. 1223 */ 1224 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1225 @Description(shortDefinition="Business Identifier for Product", formalDefinition="Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server." ) 1226 protected List<Identifier> identifier; 1227 1228 /** 1229 * Type of plan. For example, "Platinum" or "High Deductable". 1230 */ 1231 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 1232 @Description(shortDefinition="Type of plan", formalDefinition="Type of plan. For example, \"Platinum\" or \"High Deductable\"." ) 1233 protected CodeableConcept type; 1234 1235 /** 1236 * The geographic region in which a health insurance plan's benefits apply. 1237 */ 1238 @Child(name = "coverageArea", type = {Location.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1239 @Description(shortDefinition="Where product applies", formalDefinition="The geographic region in which a health insurance plan's benefits apply." ) 1240 protected List<Reference> coverageArea; 1241 1242 /** 1243 * Reference to the network that providing the type of coverage. 1244 */ 1245 @Child(name = "network", type = {Organization.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1246 @Description(shortDefinition="What networks provide coverage", formalDefinition="Reference to the network that providing the type of coverage." ) 1247 protected List<Reference> network; 1248 1249 /** 1250 * Overall costs associated with the plan. 1251 */ 1252 @Child(name = "generalCost", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1253 @Description(shortDefinition="Overall costs", formalDefinition="Overall costs associated with the plan." ) 1254 protected List<InsurancePlanPlanGeneralCostComponent> generalCost; 1255 1256 /** 1257 * Costs associated with the coverage provided by the product. 1258 */ 1259 @Child(name = "specificCost", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1260 @Description(shortDefinition="Specific costs", formalDefinition="Costs associated with the coverage provided by the product." ) 1261 protected List<InsurancePlanPlanSpecificCostComponent> specificCost; 1262 1263 private static final long serialVersionUID = -782831938L; 1264 1265 /** 1266 * Constructor 1267 */ 1268 public InsurancePlanPlanComponent() { 1269 super(); 1270 } 1271 1272 /** 1273 * @return {@link #identifier} (Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server.) 1274 */ 1275 public List<Identifier> getIdentifier() { 1276 if (this.identifier == null) 1277 this.identifier = new ArrayList<Identifier>(); 1278 return this.identifier; 1279 } 1280 1281 /** 1282 * @return Returns a reference to <code>this</code> for easy method chaining 1283 */ 1284 public InsurancePlanPlanComponent setIdentifier(List<Identifier> theIdentifier) { 1285 this.identifier = theIdentifier; 1286 return this; 1287 } 1288 1289 public boolean hasIdentifier() { 1290 if (this.identifier == null) 1291 return false; 1292 for (Identifier item : this.identifier) 1293 if (!item.isEmpty()) 1294 return true; 1295 return false; 1296 } 1297 1298 public Identifier addIdentifier() { //3 1299 Identifier t = new Identifier(); 1300 if (this.identifier == null) 1301 this.identifier = new ArrayList<Identifier>(); 1302 this.identifier.add(t); 1303 return t; 1304 } 1305 1306 public InsurancePlanPlanComponent addIdentifier(Identifier t) { //3 1307 if (t == null) 1308 return this; 1309 if (this.identifier == null) 1310 this.identifier = new ArrayList<Identifier>(); 1311 this.identifier.add(t); 1312 return this; 1313 } 1314 1315 /** 1316 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1317 */ 1318 public Identifier getIdentifierFirstRep() { 1319 if (getIdentifier().isEmpty()) { 1320 addIdentifier(); 1321 } 1322 return getIdentifier().get(0); 1323 } 1324 1325 /** 1326 * @return {@link #type} (Type of plan. For example, "Platinum" or "High Deductable".) 1327 */ 1328 public CodeableConcept getType() { 1329 if (this.type == null) 1330 if (Configuration.errorOnAutoCreate()) 1331 throw new Error("Attempt to auto-create InsurancePlanPlanComponent.type"); 1332 else if (Configuration.doAutoCreate()) 1333 this.type = new CodeableConcept(); // cc 1334 return this.type; 1335 } 1336 1337 public boolean hasType() { 1338 return this.type != null && !this.type.isEmpty(); 1339 } 1340 1341 /** 1342 * @param value {@link #type} (Type of plan. For example, "Platinum" or "High Deductable".) 1343 */ 1344 public InsurancePlanPlanComponent setType(CodeableConcept value) { 1345 this.type = value; 1346 return this; 1347 } 1348 1349 /** 1350 * @return {@link #coverageArea} (The geographic region in which a health insurance plan's benefits apply.) 1351 */ 1352 public List<Reference> getCoverageArea() { 1353 if (this.coverageArea == null) 1354 this.coverageArea = new ArrayList<Reference>(); 1355 return this.coverageArea; 1356 } 1357 1358 /** 1359 * @return Returns a reference to <code>this</code> for easy method chaining 1360 */ 1361 public InsurancePlanPlanComponent setCoverageArea(List<Reference> theCoverageArea) { 1362 this.coverageArea = theCoverageArea; 1363 return this; 1364 } 1365 1366 public boolean hasCoverageArea() { 1367 if (this.coverageArea == null) 1368 return false; 1369 for (Reference item : this.coverageArea) 1370 if (!item.isEmpty()) 1371 return true; 1372 return false; 1373 } 1374 1375 public Reference addCoverageArea() { //3 1376 Reference t = new Reference(); 1377 if (this.coverageArea == null) 1378 this.coverageArea = new ArrayList<Reference>(); 1379 this.coverageArea.add(t); 1380 return t; 1381 } 1382 1383 public InsurancePlanPlanComponent addCoverageArea(Reference t) { //3 1384 if (t == null) 1385 return this; 1386 if (this.coverageArea == null) 1387 this.coverageArea = new ArrayList<Reference>(); 1388 this.coverageArea.add(t); 1389 return this; 1390 } 1391 1392 /** 1393 * @return The first repetition of repeating field {@link #coverageArea}, creating it if it does not already exist {3} 1394 */ 1395 public Reference getCoverageAreaFirstRep() { 1396 if (getCoverageArea().isEmpty()) { 1397 addCoverageArea(); 1398 } 1399 return getCoverageArea().get(0); 1400 } 1401 1402 /** 1403 * @return {@link #network} (Reference to the network that providing the type of coverage.) 1404 */ 1405 public List<Reference> getNetwork() { 1406 if (this.network == null) 1407 this.network = new ArrayList<Reference>(); 1408 return this.network; 1409 } 1410 1411 /** 1412 * @return Returns a reference to <code>this</code> for easy method chaining 1413 */ 1414 public InsurancePlanPlanComponent setNetwork(List<Reference> theNetwork) { 1415 this.network = theNetwork; 1416 return this; 1417 } 1418 1419 public boolean hasNetwork() { 1420 if (this.network == null) 1421 return false; 1422 for (Reference item : this.network) 1423 if (!item.isEmpty()) 1424 return true; 1425 return false; 1426 } 1427 1428 public Reference addNetwork() { //3 1429 Reference t = new Reference(); 1430 if (this.network == null) 1431 this.network = new ArrayList<Reference>(); 1432 this.network.add(t); 1433 return t; 1434 } 1435 1436 public InsurancePlanPlanComponent addNetwork(Reference t) { //3 1437 if (t == null) 1438 return this; 1439 if (this.network == null) 1440 this.network = new ArrayList<Reference>(); 1441 this.network.add(t); 1442 return this; 1443 } 1444 1445 /** 1446 * @return The first repetition of repeating field {@link #network}, creating it if it does not already exist {3} 1447 */ 1448 public Reference getNetworkFirstRep() { 1449 if (getNetwork().isEmpty()) { 1450 addNetwork(); 1451 } 1452 return getNetwork().get(0); 1453 } 1454 1455 /** 1456 * @return {@link #generalCost} (Overall costs associated with the plan.) 1457 */ 1458 public List<InsurancePlanPlanGeneralCostComponent> getGeneralCost() { 1459 if (this.generalCost == null) 1460 this.generalCost = new ArrayList<InsurancePlanPlanGeneralCostComponent>(); 1461 return this.generalCost; 1462 } 1463 1464 /** 1465 * @return Returns a reference to <code>this</code> for easy method chaining 1466 */ 1467 public InsurancePlanPlanComponent setGeneralCost(List<InsurancePlanPlanGeneralCostComponent> theGeneralCost) { 1468 this.generalCost = theGeneralCost; 1469 return this; 1470 } 1471 1472 public boolean hasGeneralCost() { 1473 if (this.generalCost == null) 1474 return false; 1475 for (InsurancePlanPlanGeneralCostComponent item : this.generalCost) 1476 if (!item.isEmpty()) 1477 return true; 1478 return false; 1479 } 1480 1481 public InsurancePlanPlanGeneralCostComponent addGeneralCost() { //3 1482 InsurancePlanPlanGeneralCostComponent t = new InsurancePlanPlanGeneralCostComponent(); 1483 if (this.generalCost == null) 1484 this.generalCost = new ArrayList<InsurancePlanPlanGeneralCostComponent>(); 1485 this.generalCost.add(t); 1486 return t; 1487 } 1488 1489 public InsurancePlanPlanComponent addGeneralCost(InsurancePlanPlanGeneralCostComponent t) { //3 1490 if (t == null) 1491 return this; 1492 if (this.generalCost == null) 1493 this.generalCost = new ArrayList<InsurancePlanPlanGeneralCostComponent>(); 1494 this.generalCost.add(t); 1495 return this; 1496 } 1497 1498 /** 1499 * @return The first repetition of repeating field {@link #generalCost}, creating it if it does not already exist {3} 1500 */ 1501 public InsurancePlanPlanGeneralCostComponent getGeneralCostFirstRep() { 1502 if (getGeneralCost().isEmpty()) { 1503 addGeneralCost(); 1504 } 1505 return getGeneralCost().get(0); 1506 } 1507 1508 /** 1509 * @return {@link #specificCost} (Costs associated with the coverage provided by the product.) 1510 */ 1511 public List<InsurancePlanPlanSpecificCostComponent> getSpecificCost() { 1512 if (this.specificCost == null) 1513 this.specificCost = new ArrayList<InsurancePlanPlanSpecificCostComponent>(); 1514 return this.specificCost; 1515 } 1516 1517 /** 1518 * @return Returns a reference to <code>this</code> for easy method chaining 1519 */ 1520 public InsurancePlanPlanComponent setSpecificCost(List<InsurancePlanPlanSpecificCostComponent> theSpecificCost) { 1521 this.specificCost = theSpecificCost; 1522 return this; 1523 } 1524 1525 public boolean hasSpecificCost() { 1526 if (this.specificCost == null) 1527 return false; 1528 for (InsurancePlanPlanSpecificCostComponent item : this.specificCost) 1529 if (!item.isEmpty()) 1530 return true; 1531 return false; 1532 } 1533 1534 public InsurancePlanPlanSpecificCostComponent addSpecificCost() { //3 1535 InsurancePlanPlanSpecificCostComponent t = new InsurancePlanPlanSpecificCostComponent(); 1536 if (this.specificCost == null) 1537 this.specificCost = new ArrayList<InsurancePlanPlanSpecificCostComponent>(); 1538 this.specificCost.add(t); 1539 return t; 1540 } 1541 1542 public InsurancePlanPlanComponent addSpecificCost(InsurancePlanPlanSpecificCostComponent t) { //3 1543 if (t == null) 1544 return this; 1545 if (this.specificCost == null) 1546 this.specificCost = new ArrayList<InsurancePlanPlanSpecificCostComponent>(); 1547 this.specificCost.add(t); 1548 return this; 1549 } 1550 1551 /** 1552 * @return The first repetition of repeating field {@link #specificCost}, creating it if it does not already exist {3} 1553 */ 1554 public InsurancePlanPlanSpecificCostComponent getSpecificCostFirstRep() { 1555 if (getSpecificCost().isEmpty()) { 1556 addSpecificCost(); 1557 } 1558 return getSpecificCost().get(0); 1559 } 1560 1561 protected void listChildren(List<Property> children) { 1562 super.listChildren(children); 1563 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1564 children.add(new Property("type", "CodeableConcept", "Type of plan. For example, \"Platinum\" or \"High Deductable\".", 0, 1, type)); 1565 children.add(new Property("coverageArea", "Reference(Location)", "The geographic region in which a health insurance plan's benefits apply.", 0, java.lang.Integer.MAX_VALUE, coverageArea)); 1566 children.add(new Property("network", "Reference(Organization)", "Reference to the network that providing the type of coverage.", 0, java.lang.Integer.MAX_VALUE, network)); 1567 children.add(new Property("generalCost", "", "Overall costs associated with the plan.", 0, java.lang.Integer.MAX_VALUE, generalCost)); 1568 children.add(new Property("specificCost", "", "Costs associated with the coverage provided by the product.", 0, java.lang.Integer.MAX_VALUE, specificCost)); 1569 } 1570 1571 @Override 1572 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1573 switch (_hash) { 1574 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 1575 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of plan. For example, \"Platinum\" or \"High Deductable\".", 0, 1, type); 1576 case -1532328299: /*coverageArea*/ return new Property("coverageArea", "Reference(Location)", "The geographic region in which a health insurance plan's benefits apply.", 0, java.lang.Integer.MAX_VALUE, coverageArea); 1577 case 1843485230: /*network*/ return new Property("network", "Reference(Organization)", "Reference to the network that providing the type of coverage.", 0, java.lang.Integer.MAX_VALUE, network); 1578 case 878344405: /*generalCost*/ return new Property("generalCost", "", "Overall costs associated with the plan.", 0, java.lang.Integer.MAX_VALUE, generalCost); 1579 case -1205656545: /*specificCost*/ return new Property("specificCost", "", "Costs associated with the coverage provided by the product.", 0, java.lang.Integer.MAX_VALUE, specificCost); 1580 default: return super.getNamedProperty(_hash, _name, _checkValid); 1581 } 1582 1583 } 1584 1585 @Override 1586 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1587 switch (hash) { 1588 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1589 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1590 case -1532328299: /*coverageArea*/ return this.coverageArea == null ? new Base[0] : this.coverageArea.toArray(new Base[this.coverageArea.size()]); // Reference 1591 case 1843485230: /*network*/ return this.network == null ? new Base[0] : this.network.toArray(new Base[this.network.size()]); // Reference 1592 case 878344405: /*generalCost*/ return this.generalCost == null ? new Base[0] : this.generalCost.toArray(new Base[this.generalCost.size()]); // InsurancePlanPlanGeneralCostComponent 1593 case -1205656545: /*specificCost*/ return this.specificCost == null ? new Base[0] : this.specificCost.toArray(new Base[this.specificCost.size()]); // InsurancePlanPlanSpecificCostComponent 1594 default: return super.getProperty(hash, name, checkValid); 1595 } 1596 1597 } 1598 1599 @Override 1600 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1601 switch (hash) { 1602 case -1618432855: // identifier 1603 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1604 return value; 1605 case 3575610: // type 1606 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1607 return value; 1608 case -1532328299: // coverageArea 1609 this.getCoverageArea().add(TypeConvertor.castToReference(value)); // Reference 1610 return value; 1611 case 1843485230: // network 1612 this.getNetwork().add(TypeConvertor.castToReference(value)); // Reference 1613 return value; 1614 case 878344405: // generalCost 1615 this.getGeneralCost().add((InsurancePlanPlanGeneralCostComponent) value); // InsurancePlanPlanGeneralCostComponent 1616 return value; 1617 case -1205656545: // specificCost 1618 this.getSpecificCost().add((InsurancePlanPlanSpecificCostComponent) value); // InsurancePlanPlanSpecificCostComponent 1619 return value; 1620 default: return super.setProperty(hash, name, value); 1621 } 1622 1623 } 1624 1625 @Override 1626 public Base setProperty(String name, Base value) throws FHIRException { 1627 if (name.equals("identifier")) { 1628 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1629 } else if (name.equals("type")) { 1630 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1631 } else if (name.equals("coverageArea")) { 1632 this.getCoverageArea().add(TypeConvertor.castToReference(value)); 1633 } else if (name.equals("network")) { 1634 this.getNetwork().add(TypeConvertor.castToReference(value)); 1635 } else if (name.equals("generalCost")) { 1636 this.getGeneralCost().add((InsurancePlanPlanGeneralCostComponent) value); 1637 } else if (name.equals("specificCost")) { 1638 this.getSpecificCost().add((InsurancePlanPlanSpecificCostComponent) value); 1639 } else 1640 return super.setProperty(name, value); 1641 return value; 1642 } 1643 1644 @Override 1645 public Base makeProperty(int hash, String name) throws FHIRException { 1646 switch (hash) { 1647 case -1618432855: return addIdentifier(); 1648 case 3575610: return getType(); 1649 case -1532328299: return addCoverageArea(); 1650 case 1843485230: return addNetwork(); 1651 case 878344405: return addGeneralCost(); 1652 case -1205656545: return addSpecificCost(); 1653 default: return super.makeProperty(hash, name); 1654 } 1655 1656 } 1657 1658 @Override 1659 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1660 switch (hash) { 1661 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1662 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1663 case -1532328299: /*coverageArea*/ return new String[] {"Reference"}; 1664 case 1843485230: /*network*/ return new String[] {"Reference"}; 1665 case 878344405: /*generalCost*/ return new String[] {}; 1666 case -1205656545: /*specificCost*/ return new String[] {}; 1667 default: return super.getTypesForProperty(hash, name); 1668 } 1669 1670 } 1671 1672 @Override 1673 public Base addChild(String name) throws FHIRException { 1674 if (name.equals("identifier")) { 1675 return addIdentifier(); 1676 } 1677 else if (name.equals("type")) { 1678 this.type = new CodeableConcept(); 1679 return this.type; 1680 } 1681 else if (name.equals("coverageArea")) { 1682 return addCoverageArea(); 1683 } 1684 else if (name.equals("network")) { 1685 return addNetwork(); 1686 } 1687 else if (name.equals("generalCost")) { 1688 return addGeneralCost(); 1689 } 1690 else if (name.equals("specificCost")) { 1691 return addSpecificCost(); 1692 } 1693 else 1694 return super.addChild(name); 1695 } 1696 1697 public InsurancePlanPlanComponent copy() { 1698 InsurancePlanPlanComponent dst = new InsurancePlanPlanComponent(); 1699 copyValues(dst); 1700 return dst; 1701 } 1702 1703 public void copyValues(InsurancePlanPlanComponent dst) { 1704 super.copyValues(dst); 1705 if (identifier != null) { 1706 dst.identifier = new ArrayList<Identifier>(); 1707 for (Identifier i : identifier) 1708 dst.identifier.add(i.copy()); 1709 }; 1710 dst.type = type == null ? null : type.copy(); 1711 if (coverageArea != null) { 1712 dst.coverageArea = new ArrayList<Reference>(); 1713 for (Reference i : coverageArea) 1714 dst.coverageArea.add(i.copy()); 1715 }; 1716 if (network != null) { 1717 dst.network = new ArrayList<Reference>(); 1718 for (Reference i : network) 1719 dst.network.add(i.copy()); 1720 }; 1721 if (generalCost != null) { 1722 dst.generalCost = new ArrayList<InsurancePlanPlanGeneralCostComponent>(); 1723 for (InsurancePlanPlanGeneralCostComponent i : generalCost) 1724 dst.generalCost.add(i.copy()); 1725 }; 1726 if (specificCost != null) { 1727 dst.specificCost = new ArrayList<InsurancePlanPlanSpecificCostComponent>(); 1728 for (InsurancePlanPlanSpecificCostComponent i : specificCost) 1729 dst.specificCost.add(i.copy()); 1730 }; 1731 } 1732 1733 @Override 1734 public boolean equalsDeep(Base other_) { 1735 if (!super.equalsDeep(other_)) 1736 return false; 1737 if (!(other_ instanceof InsurancePlanPlanComponent)) 1738 return false; 1739 InsurancePlanPlanComponent o = (InsurancePlanPlanComponent) other_; 1740 return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(coverageArea, o.coverageArea, true) 1741 && compareDeep(network, o.network, true) && compareDeep(generalCost, o.generalCost, true) && compareDeep(specificCost, o.specificCost, true) 1742 ; 1743 } 1744 1745 @Override 1746 public boolean equalsShallow(Base other_) { 1747 if (!super.equalsShallow(other_)) 1748 return false; 1749 if (!(other_ instanceof InsurancePlanPlanComponent)) 1750 return false; 1751 InsurancePlanPlanComponent o = (InsurancePlanPlanComponent) other_; 1752 return true; 1753 } 1754 1755 public boolean isEmpty() { 1756 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, coverageArea 1757 , network, generalCost, specificCost); 1758 } 1759 1760 public String fhirType() { 1761 return "InsurancePlan.plan"; 1762 1763 } 1764 1765 } 1766 1767 @Block() 1768 public static class InsurancePlanPlanGeneralCostComponent extends BackboneElement implements IBaseBackboneElement { 1769 /** 1770 * Type of cost. 1771 */ 1772 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 1773 @Description(shortDefinition="Type of cost", formalDefinition="Type of cost." ) 1774 protected CodeableConcept type; 1775 1776 /** 1777 * Number of participants enrolled in the plan. 1778 */ 1779 @Child(name = "groupSize", type = {PositiveIntType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1780 @Description(shortDefinition="Number of enrollees", formalDefinition="Number of participants enrolled in the plan." ) 1781 protected PositiveIntType groupSize; 1782 1783 /** 1784 * Value of the cost. 1785 */ 1786 @Child(name = "cost", type = {Money.class}, order=3, min=0, max=1, modifier=false, summary=false) 1787 @Description(shortDefinition="Cost value", formalDefinition="Value of the cost." ) 1788 protected Money cost; 1789 1790 /** 1791 * Additional information about the general costs associated with this plan. 1792 */ 1793 @Child(name = "comment", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1794 @Description(shortDefinition="Additional cost information", formalDefinition="Additional information about the general costs associated with this plan." ) 1795 protected StringType comment; 1796 1797 private static final long serialVersionUID = 1563949866L; 1798 1799 /** 1800 * Constructor 1801 */ 1802 public InsurancePlanPlanGeneralCostComponent() { 1803 super(); 1804 } 1805 1806 /** 1807 * @return {@link #type} (Type of cost.) 1808 */ 1809 public CodeableConcept getType() { 1810 if (this.type == null) 1811 if (Configuration.errorOnAutoCreate()) 1812 throw new Error("Attempt to auto-create InsurancePlanPlanGeneralCostComponent.type"); 1813 else if (Configuration.doAutoCreate()) 1814 this.type = new CodeableConcept(); // cc 1815 return this.type; 1816 } 1817 1818 public boolean hasType() { 1819 return this.type != null && !this.type.isEmpty(); 1820 } 1821 1822 /** 1823 * @param value {@link #type} (Type of cost.) 1824 */ 1825 public InsurancePlanPlanGeneralCostComponent setType(CodeableConcept value) { 1826 this.type = value; 1827 return this; 1828 } 1829 1830 /** 1831 * @return {@link #groupSize} (Number of participants enrolled in the plan.). This is the underlying object with id, value and extensions. The accessor "getGroupSize" gives direct access to the value 1832 */ 1833 public PositiveIntType getGroupSizeElement() { 1834 if (this.groupSize == null) 1835 if (Configuration.errorOnAutoCreate()) 1836 throw new Error("Attempt to auto-create InsurancePlanPlanGeneralCostComponent.groupSize"); 1837 else if (Configuration.doAutoCreate()) 1838 this.groupSize = new PositiveIntType(); // bb 1839 return this.groupSize; 1840 } 1841 1842 public boolean hasGroupSizeElement() { 1843 return this.groupSize != null && !this.groupSize.isEmpty(); 1844 } 1845 1846 public boolean hasGroupSize() { 1847 return this.groupSize != null && !this.groupSize.isEmpty(); 1848 } 1849 1850 /** 1851 * @param value {@link #groupSize} (Number of participants enrolled in the plan.). This is the underlying object with id, value and extensions. The accessor "getGroupSize" gives direct access to the value 1852 */ 1853 public InsurancePlanPlanGeneralCostComponent setGroupSizeElement(PositiveIntType value) { 1854 this.groupSize = value; 1855 return this; 1856 } 1857 1858 /** 1859 * @return Number of participants enrolled in the plan. 1860 */ 1861 public int getGroupSize() { 1862 return this.groupSize == null || this.groupSize.isEmpty() ? 0 : this.groupSize.getValue(); 1863 } 1864 1865 /** 1866 * @param value Number of participants enrolled in the plan. 1867 */ 1868 public InsurancePlanPlanGeneralCostComponent setGroupSize(int value) { 1869 if (this.groupSize == null) 1870 this.groupSize = new PositiveIntType(); 1871 this.groupSize.setValue(value); 1872 return this; 1873 } 1874 1875 /** 1876 * @return {@link #cost} (Value of the cost.) 1877 */ 1878 public Money getCost() { 1879 if (this.cost == null) 1880 if (Configuration.errorOnAutoCreate()) 1881 throw new Error("Attempt to auto-create InsurancePlanPlanGeneralCostComponent.cost"); 1882 else if (Configuration.doAutoCreate()) 1883 this.cost = new Money(); // cc 1884 return this.cost; 1885 } 1886 1887 public boolean hasCost() { 1888 return this.cost != null && !this.cost.isEmpty(); 1889 } 1890 1891 /** 1892 * @param value {@link #cost} (Value of the cost.) 1893 */ 1894 public InsurancePlanPlanGeneralCostComponent setCost(Money value) { 1895 this.cost = value; 1896 return this; 1897 } 1898 1899 /** 1900 * @return {@link #comment} (Additional information about the general costs associated with this plan.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 1901 */ 1902 public StringType getCommentElement() { 1903 if (this.comment == null) 1904 if (Configuration.errorOnAutoCreate()) 1905 throw new Error("Attempt to auto-create InsurancePlanPlanGeneralCostComponent.comment"); 1906 else if (Configuration.doAutoCreate()) 1907 this.comment = new StringType(); // bb 1908 return this.comment; 1909 } 1910 1911 public boolean hasCommentElement() { 1912 return this.comment != null && !this.comment.isEmpty(); 1913 } 1914 1915 public boolean hasComment() { 1916 return this.comment != null && !this.comment.isEmpty(); 1917 } 1918 1919 /** 1920 * @param value {@link #comment} (Additional information about the general costs associated with this plan.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 1921 */ 1922 public InsurancePlanPlanGeneralCostComponent setCommentElement(StringType value) { 1923 this.comment = value; 1924 return this; 1925 } 1926 1927 /** 1928 * @return Additional information about the general costs associated with this plan. 1929 */ 1930 public String getComment() { 1931 return this.comment == null ? null : this.comment.getValue(); 1932 } 1933 1934 /** 1935 * @param value Additional information about the general costs associated with this plan. 1936 */ 1937 public InsurancePlanPlanGeneralCostComponent setComment(String value) { 1938 if (Utilities.noString(value)) 1939 this.comment = null; 1940 else { 1941 if (this.comment == null) 1942 this.comment = new StringType(); 1943 this.comment.setValue(value); 1944 } 1945 return this; 1946 } 1947 1948 protected void listChildren(List<Property> children) { 1949 super.listChildren(children); 1950 children.add(new Property("type", "CodeableConcept", "Type of cost.", 0, 1, type)); 1951 children.add(new Property("groupSize", "positiveInt", "Number of participants enrolled in the plan.", 0, 1, groupSize)); 1952 children.add(new Property("cost", "Money", "Value of the cost.", 0, 1, cost)); 1953 children.add(new Property("comment", "string", "Additional information about the general costs associated with this plan.", 0, 1, comment)); 1954 } 1955 1956 @Override 1957 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1958 switch (_hash) { 1959 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of cost.", 0, 1, type); 1960 case -1483017440: /*groupSize*/ return new Property("groupSize", "positiveInt", "Number of participants enrolled in the plan.", 0, 1, groupSize); 1961 case 3059661: /*cost*/ return new Property("cost", "Money", "Value of the cost.", 0, 1, cost); 1962 case 950398559: /*comment*/ return new Property("comment", "string", "Additional information about the general costs associated with this plan.", 0, 1, comment); 1963 default: return super.getNamedProperty(_hash, _name, _checkValid); 1964 } 1965 1966 } 1967 1968 @Override 1969 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1970 switch (hash) { 1971 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1972 case -1483017440: /*groupSize*/ return this.groupSize == null ? new Base[0] : new Base[] {this.groupSize}; // PositiveIntType 1973 case 3059661: /*cost*/ return this.cost == null ? new Base[0] : new Base[] {this.cost}; // Money 1974 case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType 1975 default: return super.getProperty(hash, name, checkValid); 1976 } 1977 1978 } 1979 1980 @Override 1981 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1982 switch (hash) { 1983 case 3575610: // type 1984 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1985 return value; 1986 case -1483017440: // groupSize 1987 this.groupSize = TypeConvertor.castToPositiveInt(value); // PositiveIntType 1988 return value; 1989 case 3059661: // cost 1990 this.cost = TypeConvertor.castToMoney(value); // Money 1991 return value; 1992 case 950398559: // comment 1993 this.comment = TypeConvertor.castToString(value); // StringType 1994 return value; 1995 default: return super.setProperty(hash, name, value); 1996 } 1997 1998 } 1999 2000 @Override 2001 public Base setProperty(String name, Base value) throws FHIRException { 2002 if (name.equals("type")) { 2003 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2004 } else if (name.equals("groupSize")) { 2005 this.groupSize = TypeConvertor.castToPositiveInt(value); // PositiveIntType 2006 } else if (name.equals("cost")) { 2007 this.cost = TypeConvertor.castToMoney(value); // Money 2008 } else if (name.equals("comment")) { 2009 this.comment = TypeConvertor.castToString(value); // StringType 2010 } else 2011 return super.setProperty(name, value); 2012 return value; 2013 } 2014 2015 @Override 2016 public Base makeProperty(int hash, String name) throws FHIRException { 2017 switch (hash) { 2018 case 3575610: return getType(); 2019 case -1483017440: return getGroupSizeElement(); 2020 case 3059661: return getCost(); 2021 case 950398559: return getCommentElement(); 2022 default: return super.makeProperty(hash, name); 2023 } 2024 2025 } 2026 2027 @Override 2028 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2029 switch (hash) { 2030 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 2031 case -1483017440: /*groupSize*/ return new String[] {"positiveInt"}; 2032 case 3059661: /*cost*/ return new String[] {"Money"}; 2033 case 950398559: /*comment*/ return new String[] {"string"}; 2034 default: return super.getTypesForProperty(hash, name); 2035 } 2036 2037 } 2038 2039 @Override 2040 public Base addChild(String name) throws FHIRException { 2041 if (name.equals("type")) { 2042 this.type = new CodeableConcept(); 2043 return this.type; 2044 } 2045 else if (name.equals("groupSize")) { 2046 throw new FHIRException("Cannot call addChild on a primitive type InsurancePlan.plan.generalCost.groupSize"); 2047 } 2048 else if (name.equals("cost")) { 2049 this.cost = new Money(); 2050 return this.cost; 2051 } 2052 else if (name.equals("comment")) { 2053 throw new FHIRException("Cannot call addChild on a primitive type InsurancePlan.plan.generalCost.comment"); 2054 } 2055 else 2056 return super.addChild(name); 2057 } 2058 2059 public InsurancePlanPlanGeneralCostComponent copy() { 2060 InsurancePlanPlanGeneralCostComponent dst = new InsurancePlanPlanGeneralCostComponent(); 2061 copyValues(dst); 2062 return dst; 2063 } 2064 2065 public void copyValues(InsurancePlanPlanGeneralCostComponent dst) { 2066 super.copyValues(dst); 2067 dst.type = type == null ? null : type.copy(); 2068 dst.groupSize = groupSize == null ? null : groupSize.copy(); 2069 dst.cost = cost == null ? null : cost.copy(); 2070 dst.comment = comment == null ? null : comment.copy(); 2071 } 2072 2073 @Override 2074 public boolean equalsDeep(Base other_) { 2075 if (!super.equalsDeep(other_)) 2076 return false; 2077 if (!(other_ instanceof InsurancePlanPlanGeneralCostComponent)) 2078 return false; 2079 InsurancePlanPlanGeneralCostComponent o = (InsurancePlanPlanGeneralCostComponent) other_; 2080 return compareDeep(type, o.type, true) && compareDeep(groupSize, o.groupSize, true) && compareDeep(cost, o.cost, true) 2081 && compareDeep(comment, o.comment, true); 2082 } 2083 2084 @Override 2085 public boolean equalsShallow(Base other_) { 2086 if (!super.equalsShallow(other_)) 2087 return false; 2088 if (!(other_ instanceof InsurancePlanPlanGeneralCostComponent)) 2089 return false; 2090 InsurancePlanPlanGeneralCostComponent o = (InsurancePlanPlanGeneralCostComponent) other_; 2091 return compareValues(groupSize, o.groupSize, true) && compareValues(comment, o.comment, true); 2092 } 2093 2094 public boolean isEmpty() { 2095 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, groupSize, cost, comment 2096 ); 2097 } 2098 2099 public String fhirType() { 2100 return "InsurancePlan.plan.generalCost"; 2101 2102 } 2103 2104 } 2105 2106 @Block() 2107 public static class InsurancePlanPlanSpecificCostComponent extends BackboneElement implements IBaseBackboneElement { 2108 /** 2109 * General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health). 2110 */ 2111 @Child(name = "category", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 2112 @Description(shortDefinition="General category of benefit", formalDefinition="General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health)." ) 2113 protected CodeableConcept category; 2114 2115 /** 2116 * List of the specific benefits under this category of benefit. 2117 */ 2118 @Child(name = "benefit", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2119 @Description(shortDefinition="Benefits list", formalDefinition="List of the specific benefits under this category of benefit." ) 2120 protected List<PlanBenefitComponent> benefit; 2121 2122 private static final long serialVersionUID = 922585525L; 2123 2124 /** 2125 * Constructor 2126 */ 2127 public InsurancePlanPlanSpecificCostComponent() { 2128 super(); 2129 } 2130 2131 /** 2132 * Constructor 2133 */ 2134 public InsurancePlanPlanSpecificCostComponent(CodeableConcept category) { 2135 super(); 2136 this.setCategory(category); 2137 } 2138 2139 /** 2140 * @return {@link #category} (General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).) 2141 */ 2142 public CodeableConcept getCategory() { 2143 if (this.category == null) 2144 if (Configuration.errorOnAutoCreate()) 2145 throw new Error("Attempt to auto-create InsurancePlanPlanSpecificCostComponent.category"); 2146 else if (Configuration.doAutoCreate()) 2147 this.category = new CodeableConcept(); // cc 2148 return this.category; 2149 } 2150 2151 public boolean hasCategory() { 2152 return this.category != null && !this.category.isEmpty(); 2153 } 2154 2155 /** 2156 * @param value {@link #category} (General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).) 2157 */ 2158 public InsurancePlanPlanSpecificCostComponent setCategory(CodeableConcept value) { 2159 this.category = value; 2160 return this; 2161 } 2162 2163 /** 2164 * @return {@link #benefit} (List of the specific benefits under this category of benefit.) 2165 */ 2166 public List<PlanBenefitComponent> getBenefit() { 2167 if (this.benefit == null) 2168 this.benefit = new ArrayList<PlanBenefitComponent>(); 2169 return this.benefit; 2170 } 2171 2172 /** 2173 * @return Returns a reference to <code>this</code> for easy method chaining 2174 */ 2175 public InsurancePlanPlanSpecificCostComponent setBenefit(List<PlanBenefitComponent> theBenefit) { 2176 this.benefit = theBenefit; 2177 return this; 2178 } 2179 2180 public boolean hasBenefit() { 2181 if (this.benefit == null) 2182 return false; 2183 for (PlanBenefitComponent item : this.benefit) 2184 if (!item.isEmpty()) 2185 return true; 2186 return false; 2187 } 2188 2189 public PlanBenefitComponent addBenefit() { //3 2190 PlanBenefitComponent t = new PlanBenefitComponent(); 2191 if (this.benefit == null) 2192 this.benefit = new ArrayList<PlanBenefitComponent>(); 2193 this.benefit.add(t); 2194 return t; 2195 } 2196 2197 public InsurancePlanPlanSpecificCostComponent addBenefit(PlanBenefitComponent t) { //3 2198 if (t == null) 2199 return this; 2200 if (this.benefit == null) 2201 this.benefit = new ArrayList<PlanBenefitComponent>(); 2202 this.benefit.add(t); 2203 return this; 2204 } 2205 2206 /** 2207 * @return The first repetition of repeating field {@link #benefit}, creating it if it does not already exist {3} 2208 */ 2209 public PlanBenefitComponent getBenefitFirstRep() { 2210 if (getBenefit().isEmpty()) { 2211 addBenefit(); 2212 } 2213 return getBenefit().get(0); 2214 } 2215 2216 protected void listChildren(List<Property> children) { 2217 super.listChildren(children); 2218 children.add(new Property("category", "CodeableConcept", "General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).", 0, 1, category)); 2219 children.add(new Property("benefit", "", "List of the specific benefits under this category of benefit.", 0, java.lang.Integer.MAX_VALUE, benefit)); 2220 } 2221 2222 @Override 2223 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2224 switch (_hash) { 2225 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).", 0, 1, category); 2226 case -222710633: /*benefit*/ return new Property("benefit", "", "List of the specific benefits under this category of benefit.", 0, java.lang.Integer.MAX_VALUE, benefit); 2227 default: return super.getNamedProperty(_hash, _name, _checkValid); 2228 } 2229 2230 } 2231 2232 @Override 2233 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2234 switch (hash) { 2235 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 2236 case -222710633: /*benefit*/ return this.benefit == null ? new Base[0] : this.benefit.toArray(new Base[this.benefit.size()]); // PlanBenefitComponent 2237 default: return super.getProperty(hash, name, checkValid); 2238 } 2239 2240 } 2241 2242 @Override 2243 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2244 switch (hash) { 2245 case 50511102: // category 2246 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2247 return value; 2248 case -222710633: // benefit 2249 this.getBenefit().add((PlanBenefitComponent) value); // PlanBenefitComponent 2250 return value; 2251 default: return super.setProperty(hash, name, value); 2252 } 2253 2254 } 2255 2256 @Override 2257 public Base setProperty(String name, Base value) throws FHIRException { 2258 if (name.equals("category")) { 2259 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2260 } else if (name.equals("benefit")) { 2261 this.getBenefit().add((PlanBenefitComponent) value); 2262 } else 2263 return super.setProperty(name, value); 2264 return value; 2265 } 2266 2267 @Override 2268 public Base makeProperty(int hash, String name) throws FHIRException { 2269 switch (hash) { 2270 case 50511102: return getCategory(); 2271 case -222710633: return addBenefit(); 2272 default: return super.makeProperty(hash, name); 2273 } 2274 2275 } 2276 2277 @Override 2278 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2279 switch (hash) { 2280 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 2281 case -222710633: /*benefit*/ return new String[] {}; 2282 default: return super.getTypesForProperty(hash, name); 2283 } 2284 2285 } 2286 2287 @Override 2288 public Base addChild(String name) throws FHIRException { 2289 if (name.equals("category")) { 2290 this.category = new CodeableConcept(); 2291 return this.category; 2292 } 2293 else if (name.equals("benefit")) { 2294 return addBenefit(); 2295 } 2296 else 2297 return super.addChild(name); 2298 } 2299 2300 public InsurancePlanPlanSpecificCostComponent copy() { 2301 InsurancePlanPlanSpecificCostComponent dst = new InsurancePlanPlanSpecificCostComponent(); 2302 copyValues(dst); 2303 return dst; 2304 } 2305 2306 public void copyValues(InsurancePlanPlanSpecificCostComponent dst) { 2307 super.copyValues(dst); 2308 dst.category = category == null ? null : category.copy(); 2309 if (benefit != null) { 2310 dst.benefit = new ArrayList<PlanBenefitComponent>(); 2311 for (PlanBenefitComponent i : benefit) 2312 dst.benefit.add(i.copy()); 2313 }; 2314 } 2315 2316 @Override 2317 public boolean equalsDeep(Base other_) { 2318 if (!super.equalsDeep(other_)) 2319 return false; 2320 if (!(other_ instanceof InsurancePlanPlanSpecificCostComponent)) 2321 return false; 2322 InsurancePlanPlanSpecificCostComponent o = (InsurancePlanPlanSpecificCostComponent) other_; 2323 return compareDeep(category, o.category, true) && compareDeep(benefit, o.benefit, true); 2324 } 2325 2326 @Override 2327 public boolean equalsShallow(Base other_) { 2328 if (!super.equalsShallow(other_)) 2329 return false; 2330 if (!(other_ instanceof InsurancePlanPlanSpecificCostComponent)) 2331 return false; 2332 InsurancePlanPlanSpecificCostComponent o = (InsurancePlanPlanSpecificCostComponent) other_; 2333 return true; 2334 } 2335 2336 public boolean isEmpty() { 2337 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(category, benefit); 2338 } 2339 2340 public String fhirType() { 2341 return "InsurancePlan.plan.specificCost"; 2342 2343 } 2344 2345 } 2346 2347 @Block() 2348 public static class PlanBenefitComponent extends BackboneElement implements IBaseBackboneElement { 2349 /** 2350 * Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care). 2351 */ 2352 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 2353 @Description(shortDefinition="Type of specific benefit", formalDefinition="Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care)." ) 2354 protected CodeableConcept type; 2355 2356 /** 2357 * List of the costs associated with a specific benefit. 2358 */ 2359 @Child(name = "cost", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2360 @Description(shortDefinition="List of the costs", formalDefinition="List of the costs associated with a specific benefit." ) 2361 protected List<PlanBenefitCostComponent> cost; 2362 2363 private static final long serialVersionUID = 792296200L; 2364 2365 /** 2366 * Constructor 2367 */ 2368 public PlanBenefitComponent() { 2369 super(); 2370 } 2371 2372 /** 2373 * Constructor 2374 */ 2375 public PlanBenefitComponent(CodeableConcept type) { 2376 super(); 2377 this.setType(type); 2378 } 2379 2380 /** 2381 * @return {@link #type} (Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).) 2382 */ 2383 public CodeableConcept getType() { 2384 if (this.type == null) 2385 if (Configuration.errorOnAutoCreate()) 2386 throw new Error("Attempt to auto-create PlanBenefitComponent.type"); 2387 else if (Configuration.doAutoCreate()) 2388 this.type = new CodeableConcept(); // cc 2389 return this.type; 2390 } 2391 2392 public boolean hasType() { 2393 return this.type != null && !this.type.isEmpty(); 2394 } 2395 2396 /** 2397 * @param value {@link #type} (Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).) 2398 */ 2399 public PlanBenefitComponent setType(CodeableConcept value) { 2400 this.type = value; 2401 return this; 2402 } 2403 2404 /** 2405 * @return {@link #cost} (List of the costs associated with a specific benefit.) 2406 */ 2407 public List<PlanBenefitCostComponent> getCost() { 2408 if (this.cost == null) 2409 this.cost = new ArrayList<PlanBenefitCostComponent>(); 2410 return this.cost; 2411 } 2412 2413 /** 2414 * @return Returns a reference to <code>this</code> for easy method chaining 2415 */ 2416 public PlanBenefitComponent setCost(List<PlanBenefitCostComponent> theCost) { 2417 this.cost = theCost; 2418 return this; 2419 } 2420 2421 public boolean hasCost() { 2422 if (this.cost == null) 2423 return false; 2424 for (PlanBenefitCostComponent item : this.cost) 2425 if (!item.isEmpty()) 2426 return true; 2427 return false; 2428 } 2429 2430 public PlanBenefitCostComponent addCost() { //3 2431 PlanBenefitCostComponent t = new PlanBenefitCostComponent(); 2432 if (this.cost == null) 2433 this.cost = new ArrayList<PlanBenefitCostComponent>(); 2434 this.cost.add(t); 2435 return t; 2436 } 2437 2438 public PlanBenefitComponent addCost(PlanBenefitCostComponent t) { //3 2439 if (t == null) 2440 return this; 2441 if (this.cost == null) 2442 this.cost = new ArrayList<PlanBenefitCostComponent>(); 2443 this.cost.add(t); 2444 return this; 2445 } 2446 2447 /** 2448 * @return The first repetition of repeating field {@link #cost}, creating it if it does not already exist {3} 2449 */ 2450 public PlanBenefitCostComponent getCostFirstRep() { 2451 if (getCost().isEmpty()) { 2452 addCost(); 2453 } 2454 return getCost().get(0); 2455 } 2456 2457 protected void listChildren(List<Property> children) { 2458 super.listChildren(children); 2459 children.add(new Property("type", "CodeableConcept", "Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).", 0, 1, type)); 2460 children.add(new Property("cost", "", "List of the costs associated with a specific benefit.", 0, java.lang.Integer.MAX_VALUE, cost)); 2461 } 2462 2463 @Override 2464 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2465 switch (_hash) { 2466 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).", 0, 1, type); 2467 case 3059661: /*cost*/ return new Property("cost", "", "List of the costs associated with a specific benefit.", 0, java.lang.Integer.MAX_VALUE, cost); 2468 default: return super.getNamedProperty(_hash, _name, _checkValid); 2469 } 2470 2471 } 2472 2473 @Override 2474 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2475 switch (hash) { 2476 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 2477 case 3059661: /*cost*/ return this.cost == null ? new Base[0] : this.cost.toArray(new Base[this.cost.size()]); // PlanBenefitCostComponent 2478 default: return super.getProperty(hash, name, checkValid); 2479 } 2480 2481 } 2482 2483 @Override 2484 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2485 switch (hash) { 2486 case 3575610: // type 2487 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2488 return value; 2489 case 3059661: // cost 2490 this.getCost().add((PlanBenefitCostComponent) value); // PlanBenefitCostComponent 2491 return value; 2492 default: return super.setProperty(hash, name, value); 2493 } 2494 2495 } 2496 2497 @Override 2498 public Base setProperty(String name, Base value) throws FHIRException { 2499 if (name.equals("type")) { 2500 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2501 } else if (name.equals("cost")) { 2502 this.getCost().add((PlanBenefitCostComponent) value); 2503 } else 2504 return super.setProperty(name, value); 2505 return value; 2506 } 2507 2508 @Override 2509 public Base makeProperty(int hash, String name) throws FHIRException { 2510 switch (hash) { 2511 case 3575610: return getType(); 2512 case 3059661: return addCost(); 2513 default: return super.makeProperty(hash, name); 2514 } 2515 2516 } 2517 2518 @Override 2519 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2520 switch (hash) { 2521 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 2522 case 3059661: /*cost*/ return new String[] {}; 2523 default: return super.getTypesForProperty(hash, name); 2524 } 2525 2526 } 2527 2528 @Override 2529 public Base addChild(String name) throws FHIRException { 2530 if (name.equals("type")) { 2531 this.type = new CodeableConcept(); 2532 return this.type; 2533 } 2534 else if (name.equals("cost")) { 2535 return addCost(); 2536 } 2537 else 2538 return super.addChild(name); 2539 } 2540 2541 public PlanBenefitComponent copy() { 2542 PlanBenefitComponent dst = new PlanBenefitComponent(); 2543 copyValues(dst); 2544 return dst; 2545 } 2546 2547 public void copyValues(PlanBenefitComponent dst) { 2548 super.copyValues(dst); 2549 dst.type = type == null ? null : type.copy(); 2550 if (cost != null) { 2551 dst.cost = new ArrayList<PlanBenefitCostComponent>(); 2552 for (PlanBenefitCostComponent i : cost) 2553 dst.cost.add(i.copy()); 2554 }; 2555 } 2556 2557 @Override 2558 public boolean equalsDeep(Base other_) { 2559 if (!super.equalsDeep(other_)) 2560 return false; 2561 if (!(other_ instanceof PlanBenefitComponent)) 2562 return false; 2563 PlanBenefitComponent o = (PlanBenefitComponent) other_; 2564 return compareDeep(type, o.type, true) && compareDeep(cost, o.cost, true); 2565 } 2566 2567 @Override 2568 public boolean equalsShallow(Base other_) { 2569 if (!super.equalsShallow(other_)) 2570 return false; 2571 if (!(other_ instanceof PlanBenefitComponent)) 2572 return false; 2573 PlanBenefitComponent o = (PlanBenefitComponent) other_; 2574 return true; 2575 } 2576 2577 public boolean isEmpty() { 2578 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, cost); 2579 } 2580 2581 public String fhirType() { 2582 return "InsurancePlan.plan.specificCost.benefit"; 2583 2584 } 2585 2586 } 2587 2588 @Block() 2589 public static class PlanBenefitCostComponent extends BackboneElement implements IBaseBackboneElement { 2590 /** 2591 * Type of cost (copay; individual cap; family cap; coinsurance; deductible). 2592 */ 2593 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 2594 @Description(shortDefinition="Type of cost", formalDefinition="Type of cost (copay; individual cap; family cap; coinsurance; deductible)." ) 2595 protected CodeableConcept type; 2596 2597 /** 2598 * Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other). 2599 */ 2600 @Child(name = "applicability", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 2601 @Description(shortDefinition="in-network | out-of-network | other", formalDefinition="Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other)." ) 2602 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/insuranceplan-applicability") 2603 protected CodeableConcept applicability; 2604 2605 /** 2606 * Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA). 2607 */ 2608 @Child(name = "qualifiers", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2609 @Description(shortDefinition="Additional information about the cost", formalDefinition="Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA)." ) 2610 protected List<CodeableConcept> qualifiers; 2611 2612 /** 2613 * The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance). 2614 */ 2615 @Child(name = "value", type = {Quantity.class}, order=4, min=0, max=1, modifier=false, summary=false) 2616 @Description(shortDefinition="The actual cost value", formalDefinition="The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance)." ) 2617 protected Quantity value; 2618 2619 private static final long serialVersionUID = -340688733L; 2620 2621 /** 2622 * Constructor 2623 */ 2624 public PlanBenefitCostComponent() { 2625 super(); 2626 } 2627 2628 /** 2629 * Constructor 2630 */ 2631 public PlanBenefitCostComponent(CodeableConcept type) { 2632 super(); 2633 this.setType(type); 2634 } 2635 2636 /** 2637 * @return {@link #type} (Type of cost (copay; individual cap; family cap; coinsurance; deductible).) 2638 */ 2639 public CodeableConcept getType() { 2640 if (this.type == null) 2641 if (Configuration.errorOnAutoCreate()) 2642 throw new Error("Attempt to auto-create PlanBenefitCostComponent.type"); 2643 else if (Configuration.doAutoCreate()) 2644 this.type = new CodeableConcept(); // cc 2645 return this.type; 2646 } 2647 2648 public boolean hasType() { 2649 return this.type != null && !this.type.isEmpty(); 2650 } 2651 2652 /** 2653 * @param value {@link #type} (Type of cost (copay; individual cap; family cap; coinsurance; deductible).) 2654 */ 2655 public PlanBenefitCostComponent setType(CodeableConcept value) { 2656 this.type = value; 2657 return this; 2658 } 2659 2660 /** 2661 * @return {@link #applicability} (Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).) 2662 */ 2663 public CodeableConcept getApplicability() { 2664 if (this.applicability == null) 2665 if (Configuration.errorOnAutoCreate()) 2666 throw new Error("Attempt to auto-create PlanBenefitCostComponent.applicability"); 2667 else if (Configuration.doAutoCreate()) 2668 this.applicability = new CodeableConcept(); // cc 2669 return this.applicability; 2670 } 2671 2672 public boolean hasApplicability() { 2673 return this.applicability != null && !this.applicability.isEmpty(); 2674 } 2675 2676 /** 2677 * @param value {@link #applicability} (Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).) 2678 */ 2679 public PlanBenefitCostComponent setApplicability(CodeableConcept value) { 2680 this.applicability = value; 2681 return this; 2682 } 2683 2684 /** 2685 * @return {@link #qualifiers} (Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA).) 2686 */ 2687 public List<CodeableConcept> getQualifiers() { 2688 if (this.qualifiers == null) 2689 this.qualifiers = new ArrayList<CodeableConcept>(); 2690 return this.qualifiers; 2691 } 2692 2693 /** 2694 * @return Returns a reference to <code>this</code> for easy method chaining 2695 */ 2696 public PlanBenefitCostComponent setQualifiers(List<CodeableConcept> theQualifiers) { 2697 this.qualifiers = theQualifiers; 2698 return this; 2699 } 2700 2701 public boolean hasQualifiers() { 2702 if (this.qualifiers == null) 2703 return false; 2704 for (CodeableConcept item : this.qualifiers) 2705 if (!item.isEmpty()) 2706 return true; 2707 return false; 2708 } 2709 2710 public CodeableConcept addQualifiers() { //3 2711 CodeableConcept t = new CodeableConcept(); 2712 if (this.qualifiers == null) 2713 this.qualifiers = new ArrayList<CodeableConcept>(); 2714 this.qualifiers.add(t); 2715 return t; 2716 } 2717 2718 public PlanBenefitCostComponent addQualifiers(CodeableConcept t) { //3 2719 if (t == null) 2720 return this; 2721 if (this.qualifiers == null) 2722 this.qualifiers = new ArrayList<CodeableConcept>(); 2723 this.qualifiers.add(t); 2724 return this; 2725 } 2726 2727 /** 2728 * @return The first repetition of repeating field {@link #qualifiers}, creating it if it does not already exist {3} 2729 */ 2730 public CodeableConcept getQualifiersFirstRep() { 2731 if (getQualifiers().isEmpty()) { 2732 addQualifiers(); 2733 } 2734 return getQualifiers().get(0); 2735 } 2736 2737 /** 2738 * @return {@link #value} (The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance).) 2739 */ 2740 public Quantity getValue() { 2741 if (this.value == null) 2742 if (Configuration.errorOnAutoCreate()) 2743 throw new Error("Attempt to auto-create PlanBenefitCostComponent.value"); 2744 else if (Configuration.doAutoCreate()) 2745 this.value = new Quantity(); // cc 2746 return this.value; 2747 } 2748 2749 public boolean hasValue() { 2750 return this.value != null && !this.value.isEmpty(); 2751 } 2752 2753 /** 2754 * @param value {@link #value} (The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance).) 2755 */ 2756 public PlanBenefitCostComponent setValue(Quantity value) { 2757 this.value = value; 2758 return this; 2759 } 2760 2761 protected void listChildren(List<Property> children) { 2762 super.listChildren(children); 2763 children.add(new Property("type", "CodeableConcept", "Type of cost (copay; individual cap; family cap; coinsurance; deductible).", 0, 1, type)); 2764 children.add(new Property("applicability", "CodeableConcept", "Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).", 0, 1, applicability)); 2765 children.add(new Property("qualifiers", "CodeableConcept", "Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA).", 0, java.lang.Integer.MAX_VALUE, qualifiers)); 2766 children.add(new Property("value", "Quantity", "The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance).", 0, 1, value)); 2767 } 2768 2769 @Override 2770 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2771 switch (_hash) { 2772 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of cost (copay; individual cap; family cap; coinsurance; deductible).", 0, 1, type); 2773 case -1526770491: /*applicability*/ return new Property("applicability", "CodeableConcept", "Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).", 0, 1, applicability); 2774 case -31447799: /*qualifiers*/ return new Property("qualifiers", "CodeableConcept", "Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA).", 0, java.lang.Integer.MAX_VALUE, qualifiers); 2775 case 111972721: /*value*/ return new Property("value", "Quantity", "The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance).", 0, 1, value); 2776 default: return super.getNamedProperty(_hash, _name, _checkValid); 2777 } 2778 2779 } 2780 2781 @Override 2782 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2783 switch (hash) { 2784 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 2785 case -1526770491: /*applicability*/ return this.applicability == null ? new Base[0] : new Base[] {this.applicability}; // CodeableConcept 2786 case -31447799: /*qualifiers*/ return this.qualifiers == null ? new Base[0] : this.qualifiers.toArray(new Base[this.qualifiers.size()]); // CodeableConcept 2787 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // Quantity 2788 default: return super.getProperty(hash, name, checkValid); 2789 } 2790 2791 } 2792 2793 @Override 2794 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2795 switch (hash) { 2796 case 3575610: // type 2797 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2798 return value; 2799 case -1526770491: // applicability 2800 this.applicability = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2801 return value; 2802 case -31447799: // qualifiers 2803 this.getQualifiers().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2804 return value; 2805 case 111972721: // value 2806 this.value = TypeConvertor.castToQuantity(value); // Quantity 2807 return value; 2808 default: return super.setProperty(hash, name, value); 2809 } 2810 2811 } 2812 2813 @Override 2814 public Base setProperty(String name, Base value) throws FHIRException { 2815 if (name.equals("type")) { 2816 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2817 } else if (name.equals("applicability")) { 2818 this.applicability = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2819 } else if (name.equals("qualifiers")) { 2820 this.getQualifiers().add(TypeConvertor.castToCodeableConcept(value)); 2821 } else if (name.equals("value")) { 2822 this.value = TypeConvertor.castToQuantity(value); // Quantity 2823 } else 2824 return super.setProperty(name, value); 2825 return value; 2826 } 2827 2828 @Override 2829 public Base makeProperty(int hash, String name) throws FHIRException { 2830 switch (hash) { 2831 case 3575610: return getType(); 2832 case -1526770491: return getApplicability(); 2833 case -31447799: return addQualifiers(); 2834 case 111972721: return getValue(); 2835 default: return super.makeProperty(hash, name); 2836 } 2837 2838 } 2839 2840 @Override 2841 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2842 switch (hash) { 2843 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 2844 case -1526770491: /*applicability*/ return new String[] {"CodeableConcept"}; 2845 case -31447799: /*qualifiers*/ return new String[] {"CodeableConcept"}; 2846 case 111972721: /*value*/ return new String[] {"Quantity"}; 2847 default: return super.getTypesForProperty(hash, name); 2848 } 2849 2850 } 2851 2852 @Override 2853 public Base addChild(String name) throws FHIRException { 2854 if (name.equals("type")) { 2855 this.type = new CodeableConcept(); 2856 return this.type; 2857 } 2858 else if (name.equals("applicability")) { 2859 this.applicability = new CodeableConcept(); 2860 return this.applicability; 2861 } 2862 else if (name.equals("qualifiers")) { 2863 return addQualifiers(); 2864 } 2865 else if (name.equals("value")) { 2866 this.value = new Quantity(); 2867 return this.value; 2868 } 2869 else 2870 return super.addChild(name); 2871 } 2872 2873 public PlanBenefitCostComponent copy() { 2874 PlanBenefitCostComponent dst = new PlanBenefitCostComponent(); 2875 copyValues(dst); 2876 return dst; 2877 } 2878 2879 public void copyValues(PlanBenefitCostComponent dst) { 2880 super.copyValues(dst); 2881 dst.type = type == null ? null : type.copy(); 2882 dst.applicability = applicability == null ? null : applicability.copy(); 2883 if (qualifiers != null) { 2884 dst.qualifiers = new ArrayList<CodeableConcept>(); 2885 for (CodeableConcept i : qualifiers) 2886 dst.qualifiers.add(i.copy()); 2887 }; 2888 dst.value = value == null ? null : value.copy(); 2889 } 2890 2891 @Override 2892 public boolean equalsDeep(Base other_) { 2893 if (!super.equalsDeep(other_)) 2894 return false; 2895 if (!(other_ instanceof PlanBenefitCostComponent)) 2896 return false; 2897 PlanBenefitCostComponent o = (PlanBenefitCostComponent) other_; 2898 return compareDeep(type, o.type, true) && compareDeep(applicability, o.applicability, true) && compareDeep(qualifiers, o.qualifiers, true) 2899 && compareDeep(value, o.value, true); 2900 } 2901 2902 @Override 2903 public boolean equalsShallow(Base other_) { 2904 if (!super.equalsShallow(other_)) 2905 return false; 2906 if (!(other_ instanceof PlanBenefitCostComponent)) 2907 return false; 2908 PlanBenefitCostComponent o = (PlanBenefitCostComponent) other_; 2909 return true; 2910 } 2911 2912 public boolean isEmpty() { 2913 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, applicability, qualifiers 2914 , value); 2915 } 2916 2917 public String fhirType() { 2918 return "InsurancePlan.plan.specificCost.benefit.cost"; 2919 2920 } 2921 2922 } 2923 2924 /** 2925 * Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server. 2926 */ 2927 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2928 @Description(shortDefinition="Business Identifier for Product", formalDefinition="Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server." ) 2929 protected List<Identifier> identifier; 2930 2931 /** 2932 * The current state of the health insurance product. 2933 */ 2934 @Child(name = "status", type = {CodeType.class}, order=1, min=0, max=1, modifier=true, summary=true) 2935 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The current state of the health insurance product." ) 2936 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 2937 protected Enumeration<PublicationStatus> status; 2938 2939 /** 2940 * The kind of health insurance product. 2941 */ 2942 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2943 @Description(shortDefinition="Kind of product", formalDefinition="The kind of health insurance product." ) 2944 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/insuranceplan-type") 2945 protected List<CodeableConcept> type; 2946 2947 /** 2948 * Official name of the health insurance product as designated by the owner. 2949 */ 2950 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 2951 @Description(shortDefinition="Official name", formalDefinition="Official name of the health insurance product as designated by the owner." ) 2952 protected StringType name; 2953 2954 /** 2955 * A list of alternate names that the product is known as, or was known as in the past. 2956 */ 2957 @Child(name = "alias", type = {StringType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2958 @Description(shortDefinition="Alternate names", formalDefinition="A list of alternate names that the product is known as, or was known as in the past." ) 2959 protected List<StringType> alias; 2960 2961 /** 2962 * The period of time that the health insurance product is available. 2963 */ 2964 @Child(name = "period", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=false) 2965 @Description(shortDefinition="When the product is available", formalDefinition="The period of time that the health insurance product is available." ) 2966 protected Period period; 2967 2968 /** 2969 * The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'. 2970 */ 2971 @Child(name = "ownedBy", type = {Organization.class}, order=6, min=0, max=1, modifier=false, summary=true) 2972 @Description(shortDefinition="Plan issuer", formalDefinition="The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'." ) 2973 protected Reference ownedBy; 2974 2975 /** 2976 * An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner. 2977 */ 2978 @Child(name = "administeredBy", type = {Organization.class}, order=7, min=0, max=1, modifier=false, summary=true) 2979 @Description(shortDefinition="Product administrator", formalDefinition="An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner." ) 2980 protected Reference administeredBy; 2981 2982 /** 2983 * The geographic region in which a health insurance product's benefits apply. 2984 */ 2985 @Child(name = "coverageArea", type = {Location.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2986 @Description(shortDefinition="Where product applies", formalDefinition="The geographic region in which a health insurance product's benefits apply." ) 2987 protected List<Reference> coverageArea; 2988 2989 /** 2990 * The contact for the health insurance product for a certain purpose. 2991 */ 2992 @Child(name = "contact", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2993 @Description(shortDefinition="Contact for the product", formalDefinition="The contact for the health insurance product for a certain purpose." ) 2994 protected List<InsurancePlanContactComponent> contact; 2995 2996 /** 2997 * The technical endpoints providing access to services operated for the health insurance product. 2998 */ 2999 @Child(name = "endpoint", type = {Endpoint.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3000 @Description(shortDefinition="Technical endpoint", formalDefinition="The technical endpoints providing access to services operated for the health insurance product." ) 3001 protected List<Reference> endpoint; 3002 3003 /** 3004 * Reference to the network included in the health insurance product. 3005 */ 3006 @Child(name = "network", type = {Organization.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3007 @Description(shortDefinition="What networks are Included", formalDefinition="Reference to the network included in the health insurance product." ) 3008 protected List<Reference> network; 3009 3010 /** 3011 * Details about the coverage offered by the insurance product. 3012 */ 3013 @Child(name = "coverage", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3014 @Description(shortDefinition="Coverage details", formalDefinition="Details about the coverage offered by the insurance product." ) 3015 protected List<InsurancePlanCoverageComponent> coverage; 3016 3017 /** 3018 * Details about an insurance plan. 3019 */ 3020 @Child(name = "plan", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3021 @Description(shortDefinition="Plan details", formalDefinition="Details about an insurance plan." ) 3022 protected List<InsurancePlanPlanComponent> plan; 3023 3024 private static final long serialVersionUID = -947586130L; 3025 3026 /** 3027 * Constructor 3028 */ 3029 public InsurancePlan() { 3030 super(); 3031 } 3032 3033 /** 3034 * @return {@link #identifier} (Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server.) 3035 */ 3036 public List<Identifier> getIdentifier() { 3037 if (this.identifier == null) 3038 this.identifier = new ArrayList<Identifier>(); 3039 return this.identifier; 3040 } 3041 3042 /** 3043 * @return Returns a reference to <code>this</code> for easy method chaining 3044 */ 3045 public InsurancePlan setIdentifier(List<Identifier> theIdentifier) { 3046 this.identifier = theIdentifier; 3047 return this; 3048 } 3049 3050 public boolean hasIdentifier() { 3051 if (this.identifier == null) 3052 return false; 3053 for (Identifier item : this.identifier) 3054 if (!item.isEmpty()) 3055 return true; 3056 return false; 3057 } 3058 3059 public Identifier addIdentifier() { //3 3060 Identifier t = new Identifier(); 3061 if (this.identifier == null) 3062 this.identifier = new ArrayList<Identifier>(); 3063 this.identifier.add(t); 3064 return t; 3065 } 3066 3067 public InsurancePlan addIdentifier(Identifier t) { //3 3068 if (t == null) 3069 return this; 3070 if (this.identifier == null) 3071 this.identifier = new ArrayList<Identifier>(); 3072 this.identifier.add(t); 3073 return this; 3074 } 3075 3076 /** 3077 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 3078 */ 3079 public Identifier getIdentifierFirstRep() { 3080 if (getIdentifier().isEmpty()) { 3081 addIdentifier(); 3082 } 3083 return getIdentifier().get(0); 3084 } 3085 3086 /** 3087 * @return {@link #status} (The current state of the health insurance product.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3088 */ 3089 public Enumeration<PublicationStatus> getStatusElement() { 3090 if (this.status == null) 3091 if (Configuration.errorOnAutoCreate()) 3092 throw new Error("Attempt to auto-create InsurancePlan.status"); 3093 else if (Configuration.doAutoCreate()) 3094 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 3095 return this.status; 3096 } 3097 3098 public boolean hasStatusElement() { 3099 return this.status != null && !this.status.isEmpty(); 3100 } 3101 3102 public boolean hasStatus() { 3103 return this.status != null && !this.status.isEmpty(); 3104 } 3105 3106 /** 3107 * @param value {@link #status} (The current state of the health insurance product.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3108 */ 3109 public InsurancePlan setStatusElement(Enumeration<PublicationStatus> value) { 3110 this.status = value; 3111 return this; 3112 } 3113 3114 /** 3115 * @return The current state of the health insurance product. 3116 */ 3117 public PublicationStatus getStatus() { 3118 return this.status == null ? null : this.status.getValue(); 3119 } 3120 3121 /** 3122 * @param value The current state of the health insurance product. 3123 */ 3124 public InsurancePlan setStatus(PublicationStatus value) { 3125 if (value == null) 3126 this.status = null; 3127 else { 3128 if (this.status == null) 3129 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 3130 this.status.setValue(value); 3131 } 3132 return this; 3133 } 3134 3135 /** 3136 * @return {@link #type} (The kind of health insurance product.) 3137 */ 3138 public List<CodeableConcept> getType() { 3139 if (this.type == null) 3140 this.type = new ArrayList<CodeableConcept>(); 3141 return this.type; 3142 } 3143 3144 /** 3145 * @return Returns a reference to <code>this</code> for easy method chaining 3146 */ 3147 public InsurancePlan setType(List<CodeableConcept> theType) { 3148 this.type = theType; 3149 return this; 3150 } 3151 3152 public boolean hasType() { 3153 if (this.type == null) 3154 return false; 3155 for (CodeableConcept item : this.type) 3156 if (!item.isEmpty()) 3157 return true; 3158 return false; 3159 } 3160 3161 public CodeableConcept addType() { //3 3162 CodeableConcept t = new CodeableConcept(); 3163 if (this.type == null) 3164 this.type = new ArrayList<CodeableConcept>(); 3165 this.type.add(t); 3166 return t; 3167 } 3168 3169 public InsurancePlan addType(CodeableConcept t) { //3 3170 if (t == null) 3171 return this; 3172 if (this.type == null) 3173 this.type = new ArrayList<CodeableConcept>(); 3174 this.type.add(t); 3175 return this; 3176 } 3177 3178 /** 3179 * @return The first repetition of repeating field {@link #type}, creating it if it does not already exist {3} 3180 */ 3181 public CodeableConcept getTypeFirstRep() { 3182 if (getType().isEmpty()) { 3183 addType(); 3184 } 3185 return getType().get(0); 3186 } 3187 3188 /** 3189 * @return {@link #name} (Official name of the health insurance product as designated by the owner.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 3190 */ 3191 public StringType getNameElement() { 3192 if (this.name == null) 3193 if (Configuration.errorOnAutoCreate()) 3194 throw new Error("Attempt to auto-create InsurancePlan.name"); 3195 else if (Configuration.doAutoCreate()) 3196 this.name = new StringType(); // bb 3197 return this.name; 3198 } 3199 3200 public boolean hasNameElement() { 3201 return this.name != null && !this.name.isEmpty(); 3202 } 3203 3204 public boolean hasName() { 3205 return this.name != null && !this.name.isEmpty(); 3206 } 3207 3208 /** 3209 * @param value {@link #name} (Official name of the health insurance product as designated by the owner.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 3210 */ 3211 public InsurancePlan setNameElement(StringType value) { 3212 this.name = value; 3213 return this; 3214 } 3215 3216 /** 3217 * @return Official name of the health insurance product as designated by the owner. 3218 */ 3219 public String getName() { 3220 return this.name == null ? null : this.name.getValue(); 3221 } 3222 3223 /** 3224 * @param value Official name of the health insurance product as designated by the owner. 3225 */ 3226 public InsurancePlan setName(String value) { 3227 if (Utilities.noString(value)) 3228 this.name = null; 3229 else { 3230 if (this.name == null) 3231 this.name = new StringType(); 3232 this.name.setValue(value); 3233 } 3234 return this; 3235 } 3236 3237 /** 3238 * @return {@link #alias} (A list of alternate names that the product is known as, or was known as in the past.) 3239 */ 3240 public List<StringType> getAlias() { 3241 if (this.alias == null) 3242 this.alias = new ArrayList<StringType>(); 3243 return this.alias; 3244 } 3245 3246 /** 3247 * @return Returns a reference to <code>this</code> for easy method chaining 3248 */ 3249 public InsurancePlan setAlias(List<StringType> theAlias) { 3250 this.alias = theAlias; 3251 return this; 3252 } 3253 3254 public boolean hasAlias() { 3255 if (this.alias == null) 3256 return false; 3257 for (StringType item : this.alias) 3258 if (!item.isEmpty()) 3259 return true; 3260 return false; 3261 } 3262 3263 /** 3264 * @return {@link #alias} (A list of alternate names that the product is known as, or was known as in the past.) 3265 */ 3266 public StringType addAliasElement() {//2 3267 StringType t = new StringType(); 3268 if (this.alias == null) 3269 this.alias = new ArrayList<StringType>(); 3270 this.alias.add(t); 3271 return t; 3272 } 3273 3274 /** 3275 * @param value {@link #alias} (A list of alternate names that the product is known as, or was known as in the past.) 3276 */ 3277 public InsurancePlan addAlias(String value) { //1 3278 StringType t = new StringType(); 3279 t.setValue(value); 3280 if (this.alias == null) 3281 this.alias = new ArrayList<StringType>(); 3282 this.alias.add(t); 3283 return this; 3284 } 3285 3286 /** 3287 * @param value {@link #alias} (A list of alternate names that the product is known as, or was known as in the past.) 3288 */ 3289 public boolean hasAlias(String value) { 3290 if (this.alias == null) 3291 return false; 3292 for (StringType v : this.alias) 3293 if (v.getValue().equals(value)) // string 3294 return true; 3295 return false; 3296 } 3297 3298 /** 3299 * @return {@link #period} (The period of time that the health insurance product is available.) 3300 */ 3301 public Period getPeriod() { 3302 if (this.period == null) 3303 if (Configuration.errorOnAutoCreate()) 3304 throw new Error("Attempt to auto-create InsurancePlan.period"); 3305 else if (Configuration.doAutoCreate()) 3306 this.period = new Period(); // cc 3307 return this.period; 3308 } 3309 3310 public boolean hasPeriod() { 3311 return this.period != null && !this.period.isEmpty(); 3312 } 3313 3314 /** 3315 * @param value {@link #period} (The period of time that the health insurance product is available.) 3316 */ 3317 public InsurancePlan setPeriod(Period value) { 3318 this.period = value; 3319 return this; 3320 } 3321 3322 /** 3323 * @return {@link #ownedBy} (The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'.) 3324 */ 3325 public Reference getOwnedBy() { 3326 if (this.ownedBy == null) 3327 if (Configuration.errorOnAutoCreate()) 3328 throw new Error("Attempt to auto-create InsurancePlan.ownedBy"); 3329 else if (Configuration.doAutoCreate()) 3330 this.ownedBy = new Reference(); // cc 3331 return this.ownedBy; 3332 } 3333 3334 public boolean hasOwnedBy() { 3335 return this.ownedBy != null && !this.ownedBy.isEmpty(); 3336 } 3337 3338 /** 3339 * @param value {@link #ownedBy} (The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'.) 3340 */ 3341 public InsurancePlan setOwnedBy(Reference value) { 3342 this.ownedBy = value; 3343 return this; 3344 } 3345 3346 /** 3347 * @return {@link #administeredBy} (An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner.) 3348 */ 3349 public Reference getAdministeredBy() { 3350 if (this.administeredBy == null) 3351 if (Configuration.errorOnAutoCreate()) 3352 throw new Error("Attempt to auto-create InsurancePlan.administeredBy"); 3353 else if (Configuration.doAutoCreate()) 3354 this.administeredBy = new Reference(); // cc 3355 return this.administeredBy; 3356 } 3357 3358 public boolean hasAdministeredBy() { 3359 return this.administeredBy != null && !this.administeredBy.isEmpty(); 3360 } 3361 3362 /** 3363 * @param value {@link #administeredBy} (An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner.) 3364 */ 3365 public InsurancePlan setAdministeredBy(Reference value) { 3366 this.administeredBy = value; 3367 return this; 3368 } 3369 3370 /** 3371 * @return {@link #coverageArea} (The geographic region in which a health insurance product's benefits apply.) 3372 */ 3373 public List<Reference> getCoverageArea() { 3374 if (this.coverageArea == null) 3375 this.coverageArea = new ArrayList<Reference>(); 3376 return this.coverageArea; 3377 } 3378 3379 /** 3380 * @return Returns a reference to <code>this</code> for easy method chaining 3381 */ 3382 public InsurancePlan setCoverageArea(List<Reference> theCoverageArea) { 3383 this.coverageArea = theCoverageArea; 3384 return this; 3385 } 3386 3387 public boolean hasCoverageArea() { 3388 if (this.coverageArea == null) 3389 return false; 3390 for (Reference item : this.coverageArea) 3391 if (!item.isEmpty()) 3392 return true; 3393 return false; 3394 } 3395 3396 public Reference addCoverageArea() { //3 3397 Reference t = new Reference(); 3398 if (this.coverageArea == null) 3399 this.coverageArea = new ArrayList<Reference>(); 3400 this.coverageArea.add(t); 3401 return t; 3402 } 3403 3404 public InsurancePlan addCoverageArea(Reference t) { //3 3405 if (t == null) 3406 return this; 3407 if (this.coverageArea == null) 3408 this.coverageArea = new ArrayList<Reference>(); 3409 this.coverageArea.add(t); 3410 return this; 3411 } 3412 3413 /** 3414 * @return The first repetition of repeating field {@link #coverageArea}, creating it if it does not already exist {3} 3415 */ 3416 public Reference getCoverageAreaFirstRep() { 3417 if (getCoverageArea().isEmpty()) { 3418 addCoverageArea(); 3419 } 3420 return getCoverageArea().get(0); 3421 } 3422 3423 /** 3424 * @return {@link #contact} (The contact for the health insurance product for a certain purpose.) 3425 */ 3426 public List<InsurancePlanContactComponent> getContact() { 3427 if (this.contact == null) 3428 this.contact = new ArrayList<InsurancePlanContactComponent>(); 3429 return this.contact; 3430 } 3431 3432 /** 3433 * @return Returns a reference to <code>this</code> for easy method chaining 3434 */ 3435 public InsurancePlan setContact(List<InsurancePlanContactComponent> theContact) { 3436 this.contact = theContact; 3437 return this; 3438 } 3439 3440 public boolean hasContact() { 3441 if (this.contact == null) 3442 return false; 3443 for (InsurancePlanContactComponent item : this.contact) 3444 if (!item.isEmpty()) 3445 return true; 3446 return false; 3447 } 3448 3449 public InsurancePlanContactComponent addContact() { //3 3450 InsurancePlanContactComponent t = new InsurancePlanContactComponent(); 3451 if (this.contact == null) 3452 this.contact = new ArrayList<InsurancePlanContactComponent>(); 3453 this.contact.add(t); 3454 return t; 3455 } 3456 3457 public InsurancePlan addContact(InsurancePlanContactComponent t) { //3 3458 if (t == null) 3459 return this; 3460 if (this.contact == null) 3461 this.contact = new ArrayList<InsurancePlanContactComponent>(); 3462 this.contact.add(t); 3463 return this; 3464 } 3465 3466 /** 3467 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 3468 */ 3469 public InsurancePlanContactComponent getContactFirstRep() { 3470 if (getContact().isEmpty()) { 3471 addContact(); 3472 } 3473 return getContact().get(0); 3474 } 3475 3476 /** 3477 * @return {@link #endpoint} (The technical endpoints providing access to services operated for the health insurance product.) 3478 */ 3479 public List<Reference> getEndpoint() { 3480 if (this.endpoint == null) 3481 this.endpoint = new ArrayList<Reference>(); 3482 return this.endpoint; 3483 } 3484 3485 /** 3486 * @return Returns a reference to <code>this</code> for easy method chaining 3487 */ 3488 public InsurancePlan setEndpoint(List<Reference> theEndpoint) { 3489 this.endpoint = theEndpoint; 3490 return this; 3491 } 3492 3493 public boolean hasEndpoint() { 3494 if (this.endpoint == null) 3495 return false; 3496 for (Reference item : this.endpoint) 3497 if (!item.isEmpty()) 3498 return true; 3499 return false; 3500 } 3501 3502 public Reference addEndpoint() { //3 3503 Reference t = new Reference(); 3504 if (this.endpoint == null) 3505 this.endpoint = new ArrayList<Reference>(); 3506 this.endpoint.add(t); 3507 return t; 3508 } 3509 3510 public InsurancePlan addEndpoint(Reference t) { //3 3511 if (t == null) 3512 return this; 3513 if (this.endpoint == null) 3514 this.endpoint = new ArrayList<Reference>(); 3515 this.endpoint.add(t); 3516 return this; 3517 } 3518 3519 /** 3520 * @return The first repetition of repeating field {@link #endpoint}, creating it if it does not already exist {3} 3521 */ 3522 public Reference getEndpointFirstRep() { 3523 if (getEndpoint().isEmpty()) { 3524 addEndpoint(); 3525 } 3526 return getEndpoint().get(0); 3527 } 3528 3529 /** 3530 * @return {@link #network} (Reference to the network included in the health insurance product.) 3531 */ 3532 public List<Reference> getNetwork() { 3533 if (this.network == null) 3534 this.network = new ArrayList<Reference>(); 3535 return this.network; 3536 } 3537 3538 /** 3539 * @return Returns a reference to <code>this</code> for easy method chaining 3540 */ 3541 public InsurancePlan setNetwork(List<Reference> theNetwork) { 3542 this.network = theNetwork; 3543 return this; 3544 } 3545 3546 public boolean hasNetwork() { 3547 if (this.network == null) 3548 return false; 3549 for (Reference item : this.network) 3550 if (!item.isEmpty()) 3551 return true; 3552 return false; 3553 } 3554 3555 public Reference addNetwork() { //3 3556 Reference t = new Reference(); 3557 if (this.network == null) 3558 this.network = new ArrayList<Reference>(); 3559 this.network.add(t); 3560 return t; 3561 } 3562 3563 public InsurancePlan addNetwork(Reference t) { //3 3564 if (t == null) 3565 return this; 3566 if (this.network == null) 3567 this.network = new ArrayList<Reference>(); 3568 this.network.add(t); 3569 return this; 3570 } 3571 3572 /** 3573 * @return The first repetition of repeating field {@link #network}, creating it if it does not already exist {3} 3574 */ 3575 public Reference getNetworkFirstRep() { 3576 if (getNetwork().isEmpty()) { 3577 addNetwork(); 3578 } 3579 return getNetwork().get(0); 3580 } 3581 3582 /** 3583 * @return {@link #coverage} (Details about the coverage offered by the insurance product.) 3584 */ 3585 public List<InsurancePlanCoverageComponent> getCoverage() { 3586 if (this.coverage == null) 3587 this.coverage = new ArrayList<InsurancePlanCoverageComponent>(); 3588 return this.coverage; 3589 } 3590 3591 /** 3592 * @return Returns a reference to <code>this</code> for easy method chaining 3593 */ 3594 public InsurancePlan setCoverage(List<InsurancePlanCoverageComponent> theCoverage) { 3595 this.coverage = theCoverage; 3596 return this; 3597 } 3598 3599 public boolean hasCoverage() { 3600 if (this.coverage == null) 3601 return false; 3602 for (InsurancePlanCoverageComponent item : this.coverage) 3603 if (!item.isEmpty()) 3604 return true; 3605 return false; 3606 } 3607 3608 public InsurancePlanCoverageComponent addCoverage() { //3 3609 InsurancePlanCoverageComponent t = new InsurancePlanCoverageComponent(); 3610 if (this.coverage == null) 3611 this.coverage = new ArrayList<InsurancePlanCoverageComponent>(); 3612 this.coverage.add(t); 3613 return t; 3614 } 3615 3616 public InsurancePlan addCoverage(InsurancePlanCoverageComponent t) { //3 3617 if (t == null) 3618 return this; 3619 if (this.coverage == null) 3620 this.coverage = new ArrayList<InsurancePlanCoverageComponent>(); 3621 this.coverage.add(t); 3622 return this; 3623 } 3624 3625 /** 3626 * @return The first repetition of repeating field {@link #coverage}, creating it if it does not already exist {3} 3627 */ 3628 public InsurancePlanCoverageComponent getCoverageFirstRep() { 3629 if (getCoverage().isEmpty()) { 3630 addCoverage(); 3631 } 3632 return getCoverage().get(0); 3633 } 3634 3635 /** 3636 * @return {@link #plan} (Details about an insurance plan.) 3637 */ 3638 public List<InsurancePlanPlanComponent> getPlan() { 3639 if (this.plan == null) 3640 this.plan = new ArrayList<InsurancePlanPlanComponent>(); 3641 return this.plan; 3642 } 3643 3644 /** 3645 * @return Returns a reference to <code>this</code> for easy method chaining 3646 */ 3647 public InsurancePlan setPlan(List<InsurancePlanPlanComponent> thePlan) { 3648 this.plan = thePlan; 3649 return this; 3650 } 3651 3652 public boolean hasPlan() { 3653 if (this.plan == null) 3654 return false; 3655 for (InsurancePlanPlanComponent item : this.plan) 3656 if (!item.isEmpty()) 3657 return true; 3658 return false; 3659 } 3660 3661 public InsurancePlanPlanComponent addPlan() { //3 3662 InsurancePlanPlanComponent t = new InsurancePlanPlanComponent(); 3663 if (this.plan == null) 3664 this.plan = new ArrayList<InsurancePlanPlanComponent>(); 3665 this.plan.add(t); 3666 return t; 3667 } 3668 3669 public InsurancePlan addPlan(InsurancePlanPlanComponent t) { //3 3670 if (t == null) 3671 return this; 3672 if (this.plan == null) 3673 this.plan = new ArrayList<InsurancePlanPlanComponent>(); 3674 this.plan.add(t); 3675 return this; 3676 } 3677 3678 /** 3679 * @return The first repetition of repeating field {@link #plan}, creating it if it does not already exist {3} 3680 */ 3681 public InsurancePlanPlanComponent getPlanFirstRep() { 3682 if (getPlan().isEmpty()) { 3683 addPlan(); 3684 } 3685 return getPlan().get(0); 3686 } 3687 3688 protected void listChildren(List<Property> children) { 3689 super.listChildren(children); 3690 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3691 children.add(new Property("status", "code", "The current state of the health insurance product.", 0, 1, status)); 3692 children.add(new Property("type", "CodeableConcept", "The kind of health insurance product.", 0, java.lang.Integer.MAX_VALUE, type)); 3693 children.add(new Property("name", "string", "Official name of the health insurance product as designated by the owner.", 0, 1, name)); 3694 children.add(new Property("alias", "string", "A list of alternate names that the product is known as, or was known as in the past.", 0, java.lang.Integer.MAX_VALUE, alias)); 3695 children.add(new Property("period", "Period", "The period of time that the health insurance product is available.", 0, 1, period)); 3696 children.add(new Property("ownedBy", "Reference(Organization)", "The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'.", 0, 1, ownedBy)); 3697 children.add(new Property("administeredBy", "Reference(Organization)", "An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner.", 0, 1, administeredBy)); 3698 children.add(new Property("coverageArea", "Reference(Location)", "The geographic region in which a health insurance product's benefits apply.", 0, java.lang.Integer.MAX_VALUE, coverageArea)); 3699 children.add(new Property("contact", "", "The contact for the health insurance product for a certain purpose.", 0, java.lang.Integer.MAX_VALUE, contact)); 3700 children.add(new Property("endpoint", "Reference(Endpoint)", "The technical endpoints providing access to services operated for the health insurance product.", 0, java.lang.Integer.MAX_VALUE, endpoint)); 3701 children.add(new Property("network", "Reference(Organization)", "Reference to the network included in the health insurance product.", 0, java.lang.Integer.MAX_VALUE, network)); 3702 children.add(new Property("coverage", "", "Details about the coverage offered by the insurance product.", 0, java.lang.Integer.MAX_VALUE, coverage)); 3703 children.add(new Property("plan", "", "Details about an insurance plan.", 0, java.lang.Integer.MAX_VALUE, plan)); 3704 } 3705 3706 @Override 3707 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3708 switch (_hash) { 3709 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 3710 case -892481550: /*status*/ return new Property("status", "code", "The current state of the health insurance product.", 0, 1, status); 3711 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The kind of health insurance product.", 0, java.lang.Integer.MAX_VALUE, type); 3712 case 3373707: /*name*/ return new Property("name", "string", "Official name of the health insurance product as designated by the owner.", 0, 1, name); 3713 case 92902992: /*alias*/ return new Property("alias", "string", "A list of alternate names that the product is known as, or was known as in the past.", 0, java.lang.Integer.MAX_VALUE, alias); 3714 case -991726143: /*period*/ return new Property("period", "Period", "The period of time that the health insurance product is available.", 0, 1, period); 3715 case -1054743076: /*ownedBy*/ return new Property("ownedBy", "Reference(Organization)", "The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'.", 0, 1, ownedBy); 3716 case 898770462: /*administeredBy*/ return new Property("administeredBy", "Reference(Organization)", "An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner.", 0, 1, administeredBy); 3717 case -1532328299: /*coverageArea*/ return new Property("coverageArea", "Reference(Location)", "The geographic region in which a health insurance product's benefits apply.", 0, java.lang.Integer.MAX_VALUE, coverageArea); 3718 case 951526432: /*contact*/ return new Property("contact", "", "The contact for the health insurance product for a certain purpose.", 0, java.lang.Integer.MAX_VALUE, contact); 3719 case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "The technical endpoints providing access to services operated for the health insurance product.", 0, java.lang.Integer.MAX_VALUE, endpoint); 3720 case 1843485230: /*network*/ return new Property("network", "Reference(Organization)", "Reference to the network included in the health insurance product.", 0, java.lang.Integer.MAX_VALUE, network); 3721 case -351767064: /*coverage*/ return new Property("coverage", "", "Details about the coverage offered by the insurance product.", 0, java.lang.Integer.MAX_VALUE, coverage); 3722 case 3443497: /*plan*/ return new Property("plan", "", "Details about an insurance plan.", 0, java.lang.Integer.MAX_VALUE, plan); 3723 default: return super.getNamedProperty(_hash, _name, _checkValid); 3724 } 3725 3726 } 3727 3728 @Override 3729 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3730 switch (hash) { 3731 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3732 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3733 case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept 3734 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3735 case 92902992: /*alias*/ return this.alias == null ? new Base[0] : this.alias.toArray(new Base[this.alias.size()]); // StringType 3736 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 3737 case -1054743076: /*ownedBy*/ return this.ownedBy == null ? new Base[0] : new Base[] {this.ownedBy}; // Reference 3738 case 898770462: /*administeredBy*/ return this.administeredBy == null ? new Base[0] : new Base[] {this.administeredBy}; // Reference 3739 case -1532328299: /*coverageArea*/ return this.coverageArea == null ? new Base[0] : this.coverageArea.toArray(new Base[this.coverageArea.size()]); // Reference 3740 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // InsurancePlanContactComponent 3741 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference 3742 case 1843485230: /*network*/ return this.network == null ? new Base[0] : this.network.toArray(new Base[this.network.size()]); // Reference 3743 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : this.coverage.toArray(new Base[this.coverage.size()]); // InsurancePlanCoverageComponent 3744 case 3443497: /*plan*/ return this.plan == null ? new Base[0] : this.plan.toArray(new Base[this.plan.size()]); // InsurancePlanPlanComponent 3745 default: return super.getProperty(hash, name, checkValid); 3746 } 3747 3748 } 3749 3750 @Override 3751 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3752 switch (hash) { 3753 case -1618432855: // identifier 3754 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3755 return value; 3756 case -892481550: // status 3757 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3758 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3759 return value; 3760 case 3575610: // type 3761 this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3762 return value; 3763 case 3373707: // name 3764 this.name = TypeConvertor.castToString(value); // StringType 3765 return value; 3766 case 92902992: // alias 3767 this.getAlias().add(TypeConvertor.castToString(value)); // StringType 3768 return value; 3769 case -991726143: // period 3770 this.period = TypeConvertor.castToPeriod(value); // Period 3771 return value; 3772 case -1054743076: // ownedBy 3773 this.ownedBy = TypeConvertor.castToReference(value); // Reference 3774 return value; 3775 case 898770462: // administeredBy 3776 this.administeredBy = TypeConvertor.castToReference(value); // Reference 3777 return value; 3778 case -1532328299: // coverageArea 3779 this.getCoverageArea().add(TypeConvertor.castToReference(value)); // Reference 3780 return value; 3781 case 951526432: // contact 3782 this.getContact().add((InsurancePlanContactComponent) value); // InsurancePlanContactComponent 3783 return value; 3784 case 1741102485: // endpoint 3785 this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference 3786 return value; 3787 case 1843485230: // network 3788 this.getNetwork().add(TypeConvertor.castToReference(value)); // Reference 3789 return value; 3790 case -351767064: // coverage 3791 this.getCoverage().add((InsurancePlanCoverageComponent) value); // InsurancePlanCoverageComponent 3792 return value; 3793 case 3443497: // plan 3794 this.getPlan().add((InsurancePlanPlanComponent) value); // InsurancePlanPlanComponent 3795 return value; 3796 default: return super.setProperty(hash, name, value); 3797 } 3798 3799 } 3800 3801 @Override 3802 public Base setProperty(String name, Base value) throws FHIRException { 3803 if (name.equals("identifier")) { 3804 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3805 } else if (name.equals("status")) { 3806 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3807 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3808 } else if (name.equals("type")) { 3809 this.getType().add(TypeConvertor.castToCodeableConcept(value)); 3810 } else if (name.equals("name")) { 3811 this.name = TypeConvertor.castToString(value); // StringType 3812 } else if (name.equals("alias")) { 3813 this.getAlias().add(TypeConvertor.castToString(value)); 3814 } else if (name.equals("period")) { 3815 this.period = TypeConvertor.castToPeriod(value); // Period 3816 } else if (name.equals("ownedBy")) { 3817 this.ownedBy = TypeConvertor.castToReference(value); // Reference 3818 } else if (name.equals("administeredBy")) { 3819 this.administeredBy = TypeConvertor.castToReference(value); // Reference 3820 } else if (name.equals("coverageArea")) { 3821 this.getCoverageArea().add(TypeConvertor.castToReference(value)); 3822 } else if (name.equals("contact")) { 3823 this.getContact().add((InsurancePlanContactComponent) value); 3824 } else if (name.equals("endpoint")) { 3825 this.getEndpoint().add(TypeConvertor.castToReference(value)); 3826 } else if (name.equals("network")) { 3827 this.getNetwork().add(TypeConvertor.castToReference(value)); 3828 } else if (name.equals("coverage")) { 3829 this.getCoverage().add((InsurancePlanCoverageComponent) value); 3830 } else if (name.equals("plan")) { 3831 this.getPlan().add((InsurancePlanPlanComponent) value); 3832 } else 3833 return super.setProperty(name, value); 3834 return value; 3835 } 3836 3837 @Override 3838 public Base makeProperty(int hash, String name) throws FHIRException { 3839 switch (hash) { 3840 case -1618432855: return addIdentifier(); 3841 case -892481550: return getStatusElement(); 3842 case 3575610: return addType(); 3843 case 3373707: return getNameElement(); 3844 case 92902992: return addAliasElement(); 3845 case -991726143: return getPeriod(); 3846 case -1054743076: return getOwnedBy(); 3847 case 898770462: return getAdministeredBy(); 3848 case -1532328299: return addCoverageArea(); 3849 case 951526432: return addContact(); 3850 case 1741102485: return addEndpoint(); 3851 case 1843485230: return addNetwork(); 3852 case -351767064: return addCoverage(); 3853 case 3443497: return addPlan(); 3854 default: return super.makeProperty(hash, name); 3855 } 3856 3857 } 3858 3859 @Override 3860 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3861 switch (hash) { 3862 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3863 case -892481550: /*status*/ return new String[] {"code"}; 3864 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 3865 case 3373707: /*name*/ return new String[] {"string"}; 3866 case 92902992: /*alias*/ return new String[] {"string"}; 3867 case -991726143: /*period*/ return new String[] {"Period"}; 3868 case -1054743076: /*ownedBy*/ return new String[] {"Reference"}; 3869 case 898770462: /*administeredBy*/ return new String[] {"Reference"}; 3870 case -1532328299: /*coverageArea*/ return new String[] {"Reference"}; 3871 case 951526432: /*contact*/ return new String[] {}; 3872 case 1741102485: /*endpoint*/ return new String[] {"Reference"}; 3873 case 1843485230: /*network*/ return new String[] {"Reference"}; 3874 case -351767064: /*coverage*/ return new String[] {}; 3875 case 3443497: /*plan*/ return new String[] {}; 3876 default: return super.getTypesForProperty(hash, name); 3877 } 3878 3879 } 3880 3881 @Override 3882 public Base addChild(String name) throws FHIRException { 3883 if (name.equals("identifier")) { 3884 return addIdentifier(); 3885 } 3886 else if (name.equals("status")) { 3887 throw new FHIRException("Cannot call addChild on a primitive type InsurancePlan.status"); 3888 } 3889 else if (name.equals("type")) { 3890 return addType(); 3891 } 3892 else if (name.equals("name")) { 3893 throw new FHIRException("Cannot call addChild on a primitive type InsurancePlan.name"); 3894 } 3895 else if (name.equals("alias")) { 3896 throw new FHIRException("Cannot call addChild on a primitive type InsurancePlan.alias"); 3897 } 3898 else if (name.equals("period")) { 3899 this.period = new Period(); 3900 return this.period; 3901 } 3902 else if (name.equals("ownedBy")) { 3903 this.ownedBy = new Reference(); 3904 return this.ownedBy; 3905 } 3906 else if (name.equals("administeredBy")) { 3907 this.administeredBy = new Reference(); 3908 return this.administeredBy; 3909 } 3910 else if (name.equals("coverageArea")) { 3911 return addCoverageArea(); 3912 } 3913 else if (name.equals("contact")) { 3914 return addContact(); 3915 } 3916 else if (name.equals("endpoint")) { 3917 return addEndpoint(); 3918 } 3919 else if (name.equals("network")) { 3920 return addNetwork(); 3921 } 3922 else if (name.equals("coverage")) { 3923 return addCoverage(); 3924 } 3925 else if (name.equals("plan")) { 3926 return addPlan(); 3927 } 3928 else 3929 return super.addChild(name); 3930 } 3931 3932 public String fhirType() { 3933 return "InsurancePlan"; 3934 3935 } 3936 3937 public InsurancePlan copy() { 3938 InsurancePlan dst = new InsurancePlan(); 3939 copyValues(dst); 3940 return dst; 3941 } 3942 3943 public void copyValues(InsurancePlan dst) { 3944 super.copyValues(dst); 3945 if (identifier != null) { 3946 dst.identifier = new ArrayList<Identifier>(); 3947 for (Identifier i : identifier) 3948 dst.identifier.add(i.copy()); 3949 }; 3950 dst.status = status == null ? null : status.copy(); 3951 if (type != null) { 3952 dst.type = new ArrayList<CodeableConcept>(); 3953 for (CodeableConcept i : type) 3954 dst.type.add(i.copy()); 3955 }; 3956 dst.name = name == null ? null : name.copy(); 3957 if (alias != null) { 3958 dst.alias = new ArrayList<StringType>(); 3959 for (StringType i : alias) 3960 dst.alias.add(i.copy()); 3961 }; 3962 dst.period = period == null ? null : period.copy(); 3963 dst.ownedBy = ownedBy == null ? null : ownedBy.copy(); 3964 dst.administeredBy = administeredBy == null ? null : administeredBy.copy(); 3965 if (coverageArea != null) { 3966 dst.coverageArea = new ArrayList<Reference>(); 3967 for (Reference i : coverageArea) 3968 dst.coverageArea.add(i.copy()); 3969 }; 3970 if (contact != null) { 3971 dst.contact = new ArrayList<InsurancePlanContactComponent>(); 3972 for (InsurancePlanContactComponent i : contact) 3973 dst.contact.add(i.copy()); 3974 }; 3975 if (endpoint != null) { 3976 dst.endpoint = new ArrayList<Reference>(); 3977 for (Reference i : endpoint) 3978 dst.endpoint.add(i.copy()); 3979 }; 3980 if (network != null) { 3981 dst.network = new ArrayList<Reference>(); 3982 for (Reference i : network) 3983 dst.network.add(i.copy()); 3984 }; 3985 if (coverage != null) { 3986 dst.coverage = new ArrayList<InsurancePlanCoverageComponent>(); 3987 for (InsurancePlanCoverageComponent i : coverage) 3988 dst.coverage.add(i.copy()); 3989 }; 3990 if (plan != null) { 3991 dst.plan = new ArrayList<InsurancePlanPlanComponent>(); 3992 for (InsurancePlanPlanComponent i : plan) 3993 dst.plan.add(i.copy()); 3994 }; 3995 } 3996 3997 protected InsurancePlan typedCopy() { 3998 return copy(); 3999 } 4000 4001 @Override 4002 public boolean equalsDeep(Base other_) { 4003 if (!super.equalsDeep(other_)) 4004 return false; 4005 if (!(other_ instanceof InsurancePlan)) 4006 return false; 4007 InsurancePlan o = (InsurancePlan) other_; 4008 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) 4009 && compareDeep(name, o.name, true) && compareDeep(alias, o.alias, true) && compareDeep(period, o.period, true) 4010 && compareDeep(ownedBy, o.ownedBy, true) && compareDeep(administeredBy, o.administeredBy, true) 4011 && compareDeep(coverageArea, o.coverageArea, true) && compareDeep(contact, o.contact, true) && compareDeep(endpoint, o.endpoint, true) 4012 && compareDeep(network, o.network, true) && compareDeep(coverage, o.coverage, true) && compareDeep(plan, o.plan, true) 4013 ; 4014 } 4015 4016 @Override 4017 public boolean equalsShallow(Base other_) { 4018 if (!super.equalsShallow(other_)) 4019 return false; 4020 if (!(other_ instanceof InsurancePlan)) 4021 return false; 4022 InsurancePlan o = (InsurancePlan) other_; 4023 return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(alias, o.alias, true) 4024 ; 4025 } 4026 4027 public boolean isEmpty() { 4028 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type 4029 , name, alias, period, ownedBy, administeredBy, coverageArea, contact, endpoint 4030 , network, coverage, plan); 4031 } 4032 4033 @Override 4034 public ResourceType getResourceType() { 4035 return ResourceType.InsurancePlan; 4036 } 4037 4038 /** 4039 * Search parameter: <b>address-city</b> 4040 * <p> 4041 * Description: <b>A city specified in an address</b><br> 4042 * Type: <b>string</b><br> 4043 * Path: <b>InsurancePlan.contact.address.city</b><br> 4044 * </p> 4045 */ 4046 @SearchParamDefinition(name="address-city", path="InsurancePlan.contact.address.city", description="A city specified in an address", type="string" ) 4047 public static final String SP_ADDRESS_CITY = "address-city"; 4048 /** 4049 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 4050 * <p> 4051 * Description: <b>A city specified in an address</b><br> 4052 * Type: <b>string</b><br> 4053 * Path: <b>InsurancePlan.contact.address.city</b><br> 4054 * </p> 4055 */ 4056 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_CITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_CITY); 4057 4058 /** 4059 * Search parameter: <b>address-country</b> 4060 * <p> 4061 * Description: <b>A country specified in an address</b><br> 4062 * Type: <b>string</b><br> 4063 * Path: <b>InsurancePlan.contact.address.country</b><br> 4064 * </p> 4065 */ 4066 @SearchParamDefinition(name="address-country", path="InsurancePlan.contact.address.country", description="A country specified in an address", type="string" ) 4067 public static final String SP_ADDRESS_COUNTRY = "address-country"; 4068 /** 4069 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 4070 * <p> 4071 * Description: <b>A country specified in an address</b><br> 4072 * Type: <b>string</b><br> 4073 * Path: <b>InsurancePlan.contact.address.country</b><br> 4074 * </p> 4075 */ 4076 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_COUNTRY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_COUNTRY); 4077 4078 /** 4079 * Search parameter: <b>address-postalcode</b> 4080 * <p> 4081 * Description: <b>A postal code specified in an address</b><br> 4082 * Type: <b>string</b><br> 4083 * Path: <b>InsurancePlan.contact.address.postalCode</b><br> 4084 * </p> 4085 */ 4086 @SearchParamDefinition(name="address-postalcode", path="InsurancePlan.contact.address.postalCode", description="A postal code specified in an address", type="string" ) 4087 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 4088 /** 4089 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 4090 * <p> 4091 * Description: <b>A postal code specified in an address</b><br> 4092 * Type: <b>string</b><br> 4093 * Path: <b>InsurancePlan.contact.address.postalCode</b><br> 4094 * </p> 4095 */ 4096 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_POSTALCODE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_POSTALCODE); 4097 4098 /** 4099 * Search parameter: <b>address-state</b> 4100 * <p> 4101 * Description: <b>A state specified in an address</b><br> 4102 * Type: <b>string</b><br> 4103 * Path: <b>InsurancePlan.contact.address.state</b><br> 4104 * </p> 4105 */ 4106 @SearchParamDefinition(name="address-state", path="InsurancePlan.contact.address.state", description="A state specified in an address", type="string" ) 4107 public static final String SP_ADDRESS_STATE = "address-state"; 4108 /** 4109 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 4110 * <p> 4111 * Description: <b>A state specified in an address</b><br> 4112 * Type: <b>string</b><br> 4113 * Path: <b>InsurancePlan.contact.address.state</b><br> 4114 * </p> 4115 */ 4116 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_STATE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_STATE); 4117 4118 /** 4119 * Search parameter: <b>address-use</b> 4120 * <p> 4121 * Description: <b>A use code specified in an address</b><br> 4122 * Type: <b>token</b><br> 4123 * Path: <b>InsurancePlan.contact.address.use</b><br> 4124 * </p> 4125 */ 4126 @SearchParamDefinition(name="address-use", path="InsurancePlan.contact.address.use", description="A use code specified in an address", type="token" ) 4127 public static final String SP_ADDRESS_USE = "address-use"; 4128 /** 4129 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 4130 * <p> 4131 * Description: <b>A use code specified in an address</b><br> 4132 * Type: <b>token</b><br> 4133 * Path: <b>InsurancePlan.contact.address.use</b><br> 4134 * </p> 4135 */ 4136 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDRESS_USE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDRESS_USE); 4137 4138 /** 4139 * Search parameter: <b>address</b> 4140 * <p> 4141 * Description: <b>A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text</b><br> 4142 * Type: <b>string</b><br> 4143 * Path: <b>InsurancePlan.contact.address</b><br> 4144 * </p> 4145 */ 4146 @SearchParamDefinition(name="address", path="InsurancePlan.contact.address", description="A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", type="string" ) 4147 public static final String SP_ADDRESS = "address"; 4148 /** 4149 * <b>Fluent Client</b> search parameter constant for <b>address</b> 4150 * <p> 4151 * Description: <b>A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text</b><br> 4152 * Type: <b>string</b><br> 4153 * Path: <b>InsurancePlan.contact.address</b><br> 4154 * </p> 4155 */ 4156 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); 4157 4158 /** 4159 * Search parameter: <b>administered-by</b> 4160 * <p> 4161 * Description: <b>Product administrator</b><br> 4162 * Type: <b>reference</b><br> 4163 * Path: <b>InsurancePlan.administeredBy</b><br> 4164 * </p> 4165 */ 4166 @SearchParamDefinition(name="administered-by", path="InsurancePlan.administeredBy", description="Product administrator", type="reference", target={Organization.class } ) 4167 public static final String SP_ADMINISTERED_BY = "administered-by"; 4168 /** 4169 * <b>Fluent Client</b> search parameter constant for <b>administered-by</b> 4170 * <p> 4171 * Description: <b>Product administrator</b><br> 4172 * Type: <b>reference</b><br> 4173 * Path: <b>InsurancePlan.administeredBy</b><br> 4174 * </p> 4175 */ 4176 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ADMINISTERED_BY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ADMINISTERED_BY); 4177 4178/** 4179 * Constant for fluent queries to be used to add include statements. Specifies 4180 * the path value of "<b>InsurancePlan:administered-by</b>". 4181 */ 4182 public static final ca.uhn.fhir.model.api.Include INCLUDE_ADMINISTERED_BY = new ca.uhn.fhir.model.api.Include("InsurancePlan:administered-by").toLocked(); 4183 4184 /** 4185 * Search parameter: <b>endpoint</b> 4186 * <p> 4187 * Description: <b>Technical endpoint</b><br> 4188 * Type: <b>reference</b><br> 4189 * Path: <b>InsurancePlan.endpoint</b><br> 4190 * </p> 4191 */ 4192 @SearchParamDefinition(name="endpoint", path="InsurancePlan.endpoint", description="Technical endpoint", type="reference", target={Endpoint.class } ) 4193 public static final String SP_ENDPOINT = "endpoint"; 4194 /** 4195 * <b>Fluent Client</b> search parameter constant for <b>endpoint</b> 4196 * <p> 4197 * Description: <b>Technical endpoint</b><br> 4198 * Type: <b>reference</b><br> 4199 * Path: <b>InsurancePlan.endpoint</b><br> 4200 * </p> 4201 */ 4202 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENDPOINT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENDPOINT); 4203 4204/** 4205 * Constant for fluent queries to be used to add include statements. Specifies 4206 * the path value of "<b>InsurancePlan:endpoint</b>". 4207 */ 4208 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENDPOINT = new ca.uhn.fhir.model.api.Include("InsurancePlan:endpoint").toLocked(); 4209 4210 /** 4211 * Search parameter: <b>identifier</b> 4212 * <p> 4213 * Description: <b>Any identifier for the organization (not the accreditation issuer's identifier)</b><br> 4214 * Type: <b>token</b><br> 4215 * Path: <b>InsurancePlan.identifier</b><br> 4216 * </p> 4217 */ 4218 @SearchParamDefinition(name="identifier", path="InsurancePlan.identifier", description="Any identifier for the organization (not the accreditation issuer's identifier)", type="token" ) 4219 public static final String SP_IDENTIFIER = "identifier"; 4220 /** 4221 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4222 * <p> 4223 * Description: <b>Any identifier for the organization (not the accreditation issuer's identifier)</b><br> 4224 * Type: <b>token</b><br> 4225 * Path: <b>InsurancePlan.identifier</b><br> 4226 * </p> 4227 */ 4228 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4229 4230 /** 4231 * Search parameter: <b>name</b> 4232 * <p> 4233 * Description: <b>A portion of the organization's name or alias</b><br> 4234 * Type: <b>string</b><br> 4235 * Path: <b>InsurancePlan.name | InsurancePlan.alias</b><br> 4236 * </p> 4237 */ 4238 @SearchParamDefinition(name="name", path="InsurancePlan.name | InsurancePlan.alias", description="A portion of the organization's name or alias", type="string" ) 4239 public static final String SP_NAME = "name"; 4240 /** 4241 * <b>Fluent Client</b> search parameter constant for <b>name</b> 4242 * <p> 4243 * Description: <b>A portion of the organization's name or alias</b><br> 4244 * Type: <b>string</b><br> 4245 * Path: <b>InsurancePlan.name | InsurancePlan.alias</b><br> 4246 * </p> 4247 */ 4248 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 4249 4250 /** 4251 * Search parameter: <b>owned-by</b> 4252 * <p> 4253 * Description: <b>An organization of which this organization forms a part</b><br> 4254 * Type: <b>reference</b><br> 4255 * Path: <b>InsurancePlan.ownedBy</b><br> 4256 * </p> 4257 */ 4258 @SearchParamDefinition(name="owned-by", path="InsurancePlan.ownedBy", description="An organization of which this organization forms a part", type="reference", target={Organization.class } ) 4259 public static final String SP_OWNED_BY = "owned-by"; 4260 /** 4261 * <b>Fluent Client</b> search parameter constant for <b>owned-by</b> 4262 * <p> 4263 * Description: <b>An organization of which this organization forms a part</b><br> 4264 * Type: <b>reference</b><br> 4265 * Path: <b>InsurancePlan.ownedBy</b><br> 4266 * </p> 4267 */ 4268 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OWNED_BY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OWNED_BY); 4269 4270/** 4271 * Constant for fluent queries to be used to add include statements. Specifies 4272 * the path value of "<b>InsurancePlan:owned-by</b>". 4273 */ 4274 public static final ca.uhn.fhir.model.api.Include INCLUDE_OWNED_BY = new ca.uhn.fhir.model.api.Include("InsurancePlan:owned-by").toLocked(); 4275 4276 /** 4277 * Search parameter: <b>phonetic</b> 4278 * <p> 4279 * Description: <b>A portion of the organization's name using some kind of phonetic matching algorithm</b><br> 4280 * Type: <b>string</b><br> 4281 * Path: <b>InsurancePlan.name</b><br> 4282 * </p> 4283 */ 4284 @SearchParamDefinition(name="phonetic", path="InsurancePlan.name", description="A portion of the organization's name using some kind of phonetic matching algorithm", type="string" ) 4285 public static final String SP_PHONETIC = "phonetic"; 4286 /** 4287 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 4288 * <p> 4289 * Description: <b>A portion of the organization's name using some kind of phonetic matching algorithm</b><br> 4290 * Type: <b>string</b><br> 4291 * Path: <b>InsurancePlan.name</b><br> 4292 * </p> 4293 */ 4294 public static final ca.uhn.fhir.rest.gclient.StringClientParam PHONETIC = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PHONETIC); 4295 4296 /** 4297 * Search parameter: <b>status</b> 4298 * <p> 4299 * Description: <b>Is the Organization record active</b><br> 4300 * Type: <b>token</b><br> 4301 * Path: <b>InsurancePlan.status</b><br> 4302 * </p> 4303 */ 4304 @SearchParamDefinition(name="status", path="InsurancePlan.status", description="Is the Organization record active", type="token" ) 4305 public static final String SP_STATUS = "status"; 4306 /** 4307 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4308 * <p> 4309 * Description: <b>Is the Organization record active</b><br> 4310 * Type: <b>token</b><br> 4311 * Path: <b>InsurancePlan.status</b><br> 4312 * </p> 4313 */ 4314 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4315 4316 /** 4317 * Search parameter: <b>type</b> 4318 * <p> 4319 * Description: <b>A code for the type of organization</b><br> 4320 * Type: <b>token</b><br> 4321 * Path: <b>InsurancePlan.type</b><br> 4322 * </p> 4323 */ 4324 @SearchParamDefinition(name="type", path="InsurancePlan.type", description="A code for the type of organization", type="token" ) 4325 public static final String SP_TYPE = "type"; 4326 /** 4327 * <b>Fluent Client</b> search parameter constant for <b>type</b> 4328 * <p> 4329 * Description: <b>A code for the type of organization</b><br> 4330 * Type: <b>token</b><br> 4331 * Path: <b>InsurancePlan.type</b><br> 4332 * </p> 4333 */ 4334 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 4335 4336 4337} 4338