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 * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. 052 */ 053@ResourceDef(name="CoverageEligibilityRequest", profile="http://hl7.org/fhir/StructureDefinition/CoverageEligibilityRequest") 054public class CoverageEligibilityRequest extends DomainResource { 055 056 public enum EligibilityRequestPurpose { 057 /** 058 * The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested. 059 */ 060 AUTHREQUIREMENTS, 061 /** 062 * The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested. 063 */ 064 BENEFITS, 065 /** 066 * The insurer is requested to report on any coverages which they are aware of in addition to any specifed. 067 */ 068 DISCOVERY, 069 /** 070 * A check that the specified coverages are in-force is requested. 071 */ 072 VALIDATION, 073 /** 074 * added to help the parsers with the generic types 075 */ 076 NULL; 077 public static EligibilityRequestPurpose fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("auth-requirements".equals(codeString)) 081 return AUTHREQUIREMENTS; 082 if ("benefits".equals(codeString)) 083 return BENEFITS; 084 if ("discovery".equals(codeString)) 085 return DISCOVERY; 086 if ("validation".equals(codeString)) 087 return VALIDATION; 088 if (Configuration.isAcceptInvalidEnums()) 089 return null; 090 else 091 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 092 } 093 public String toCode() { 094 switch (this) { 095 case AUTHREQUIREMENTS: return "auth-requirements"; 096 case BENEFITS: return "benefits"; 097 case DISCOVERY: return "discovery"; 098 case VALIDATION: return "validation"; 099 default: return "?"; 100 } 101 } 102 public String getSystem() { 103 switch (this) { 104 case AUTHREQUIREMENTS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 105 case BENEFITS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 106 case DISCOVERY: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 107 case VALIDATION: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 108 default: return "?"; 109 } 110 } 111 public String getDefinition() { 112 switch (this) { 113 case AUTHREQUIREMENTS: return "The prior authorization requirements for the listed, or discovered if specified, converages for the categories of service and/or specifed biling codes are requested."; 114 case BENEFITS: return "The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested."; 115 case DISCOVERY: return "The insurer is requested to report on any coverages which they are aware of in addition to any specifed."; 116 case VALIDATION: return "A check that the specified coverages are in-force is requested."; 117 default: return "?"; 118 } 119 } 120 public String getDisplay() { 121 switch (this) { 122 case AUTHREQUIREMENTS: return "Coverage auth-requirements"; 123 case BENEFITS: return "Coverage benefits"; 124 case DISCOVERY: return "Coverage Discovery"; 125 case VALIDATION: return "Coverage Validation"; 126 default: return "?"; 127 } 128 } 129 } 130 131 public static class EligibilityRequestPurposeEnumFactory implements EnumFactory<EligibilityRequestPurpose> { 132 public EligibilityRequestPurpose fromCode(String codeString) throws IllegalArgumentException { 133 if (codeString == null || "".equals(codeString)) 134 if (codeString == null || "".equals(codeString)) 135 return null; 136 if ("auth-requirements".equals(codeString)) 137 return EligibilityRequestPurpose.AUTHREQUIREMENTS; 138 if ("benefits".equals(codeString)) 139 return EligibilityRequestPurpose.BENEFITS; 140 if ("discovery".equals(codeString)) 141 return EligibilityRequestPurpose.DISCOVERY; 142 if ("validation".equals(codeString)) 143 return EligibilityRequestPurpose.VALIDATION; 144 throw new IllegalArgumentException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 145 } 146 public Enumeration<EligibilityRequestPurpose> fromType(Base code) throws FHIRException { 147 if (code == null) 148 return null; 149 if (code.isEmpty()) 150 return new Enumeration<EligibilityRequestPurpose>(this); 151 String codeString = ((PrimitiveType) code).asStringValue(); 152 if (codeString == null || "".equals(codeString)) 153 return null; 154 if ("auth-requirements".equals(codeString)) 155 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.AUTHREQUIREMENTS); 156 if ("benefits".equals(codeString)) 157 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.BENEFITS); 158 if ("discovery".equals(codeString)) 159 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.DISCOVERY); 160 if ("validation".equals(codeString)) 161 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.VALIDATION); 162 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 163 } 164 public String toCode(EligibilityRequestPurpose code) { 165 if (code == EligibilityRequestPurpose.AUTHREQUIREMENTS) 166 return "auth-requirements"; 167 if (code == EligibilityRequestPurpose.BENEFITS) 168 return "benefits"; 169 if (code == EligibilityRequestPurpose.DISCOVERY) 170 return "discovery"; 171 if (code == EligibilityRequestPurpose.VALIDATION) 172 return "validation"; 173 return "?"; 174 } 175 public String toSystem(EligibilityRequestPurpose code) { 176 return code.getSystem(); 177 } 178 } 179 180 @Block() 181 public static class SupportingInformationComponent extends BackboneElement implements IBaseBackboneElement { 182 /** 183 * A number to uniquely identify supporting information entries. 184 */ 185 @Child(name = "sequence", type = {PositiveIntType.class}, order=1, min=1, max=1, modifier=false, summary=false) 186 @Description(shortDefinition="Information instance identifier", formalDefinition="A number to uniquely identify supporting information entries." ) 187 protected PositiveIntType sequence; 188 189 /** 190 * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. 191 */ 192 @Child(name = "information", type = {Reference.class}, order=2, min=1, max=1, modifier=false, summary=false) 193 @Description(shortDefinition="Data to be provided", formalDefinition="Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data." ) 194 protected Reference information; 195 196 /** 197 * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 198 */ 199 @Child(name = "appliesToAll", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 200 @Description(shortDefinition="Applies to all items", formalDefinition="The supporting materials are applicable for all detail items, product/servce categories and specific billing codes." ) 201 protected BooleanType appliesToAll; 202 203 private static final long serialVersionUID = -1430960090L; 204 205 /** 206 * Constructor 207 */ 208 public SupportingInformationComponent() { 209 super(); 210 } 211 212 /** 213 * Constructor 214 */ 215 public SupportingInformationComponent(int sequence, Reference information) { 216 super(); 217 this.setSequence(sequence); 218 this.setInformation(information); 219 } 220 221 /** 222 * @return {@link #sequence} (A number to uniquely identify supporting information entries.). This is the underlying object with id, value and extensions. The accessor "getSequence" gives direct access to the value 223 */ 224 public PositiveIntType getSequenceElement() { 225 if (this.sequence == null) 226 if (Configuration.errorOnAutoCreate()) 227 throw new Error("Attempt to auto-create SupportingInformationComponent.sequence"); 228 else if (Configuration.doAutoCreate()) 229 this.sequence = new PositiveIntType(); // bb 230 return this.sequence; 231 } 232 233 public boolean hasSequenceElement() { 234 return this.sequence != null && !this.sequence.isEmpty(); 235 } 236 237 public boolean hasSequence() { 238 return this.sequence != null && !this.sequence.isEmpty(); 239 } 240 241 /** 242 * @param value {@link #sequence} (A number to uniquely identify supporting information entries.). This is the underlying object with id, value and extensions. The accessor "getSequence" gives direct access to the value 243 */ 244 public SupportingInformationComponent setSequenceElement(PositiveIntType value) { 245 this.sequence = value; 246 return this; 247 } 248 249 /** 250 * @return A number to uniquely identify supporting information entries. 251 */ 252 public int getSequence() { 253 return this.sequence == null || this.sequence.isEmpty() ? 0 : this.sequence.getValue(); 254 } 255 256 /** 257 * @param value A number to uniquely identify supporting information entries. 258 */ 259 public SupportingInformationComponent setSequence(int value) { 260 if (this.sequence == null) 261 this.sequence = new PositiveIntType(); 262 this.sequence.setValue(value); 263 return this; 264 } 265 266 /** 267 * @return {@link #information} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) 268 */ 269 public Reference getInformation() { 270 if (this.information == null) 271 if (Configuration.errorOnAutoCreate()) 272 throw new Error("Attempt to auto-create SupportingInformationComponent.information"); 273 else if (Configuration.doAutoCreate()) 274 this.information = new Reference(); // cc 275 return this.information; 276 } 277 278 public boolean hasInformation() { 279 return this.information != null && !this.information.isEmpty(); 280 } 281 282 /** 283 * @param value {@link #information} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) 284 */ 285 public SupportingInformationComponent setInformation(Reference value) { 286 this.information = value; 287 return this; 288 } 289 290 /** 291 * @return {@link #appliesToAll} (The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.). This is the underlying object with id, value and extensions. The accessor "getAppliesToAll" gives direct access to the value 292 */ 293 public BooleanType getAppliesToAllElement() { 294 if (this.appliesToAll == null) 295 if (Configuration.errorOnAutoCreate()) 296 throw new Error("Attempt to auto-create SupportingInformationComponent.appliesToAll"); 297 else if (Configuration.doAutoCreate()) 298 this.appliesToAll = new BooleanType(); // bb 299 return this.appliesToAll; 300 } 301 302 public boolean hasAppliesToAllElement() { 303 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 304 } 305 306 public boolean hasAppliesToAll() { 307 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 308 } 309 310 /** 311 * @param value {@link #appliesToAll} (The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.). This is the underlying object with id, value and extensions. The accessor "getAppliesToAll" gives direct access to the value 312 */ 313 public SupportingInformationComponent setAppliesToAllElement(BooleanType value) { 314 this.appliesToAll = value; 315 return this; 316 } 317 318 /** 319 * @return The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 320 */ 321 public boolean getAppliesToAll() { 322 return this.appliesToAll == null || this.appliesToAll.isEmpty() ? false : this.appliesToAll.getValue(); 323 } 324 325 /** 326 * @param value The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 327 */ 328 public SupportingInformationComponent setAppliesToAll(boolean value) { 329 if (this.appliesToAll == null) 330 this.appliesToAll = new BooleanType(); 331 this.appliesToAll.setValue(value); 332 return this; 333 } 334 335 protected void listChildren(List<Property> children) { 336 super.listChildren(children); 337 children.add(new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence)); 338 children.add(new Property("information", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, information)); 339 children.add(new Property("appliesToAll", "boolean", "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.", 0, 1, appliesToAll)); 340 } 341 342 @Override 343 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 344 switch (_hash) { 345 case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence); 346 case 1968600364: /*information*/ return new Property("information", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, information); 347 case -1096846342: /*appliesToAll*/ return new Property("appliesToAll", "boolean", "The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.", 0, 1, appliesToAll); 348 default: return super.getNamedProperty(_hash, _name, _checkValid); 349 } 350 351 } 352 353 @Override 354 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 355 switch (hash) { 356 case 1349547969: /*sequence*/ return this.sequence == null ? new Base[0] : new Base[] {this.sequence}; // PositiveIntType 357 case 1968600364: /*information*/ return this.information == null ? new Base[0] : new Base[] {this.information}; // Reference 358 case -1096846342: /*appliesToAll*/ return this.appliesToAll == null ? new Base[0] : new Base[] {this.appliesToAll}; // BooleanType 359 default: return super.getProperty(hash, name, checkValid); 360 } 361 362 } 363 364 @Override 365 public Base setProperty(int hash, String name, Base value) throws FHIRException { 366 switch (hash) { 367 case 1349547969: // sequence 368 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 369 return value; 370 case 1968600364: // information 371 this.information = TypeConvertor.castToReference(value); // Reference 372 return value; 373 case -1096846342: // appliesToAll 374 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 375 return value; 376 default: return super.setProperty(hash, name, value); 377 } 378 379 } 380 381 @Override 382 public Base setProperty(String name, Base value) throws FHIRException { 383 if (name.equals("sequence")) { 384 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 385 } else if (name.equals("information")) { 386 this.information = TypeConvertor.castToReference(value); // Reference 387 } else if (name.equals("appliesToAll")) { 388 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 389 } else 390 return super.setProperty(name, value); 391 return value; 392 } 393 394 @Override 395 public Base makeProperty(int hash, String name) throws FHIRException { 396 switch (hash) { 397 case 1349547969: return getSequenceElement(); 398 case 1968600364: return getInformation(); 399 case -1096846342: return getAppliesToAllElement(); 400 default: return super.makeProperty(hash, name); 401 } 402 403 } 404 405 @Override 406 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 407 switch (hash) { 408 case 1349547969: /*sequence*/ return new String[] {"positiveInt"}; 409 case 1968600364: /*information*/ return new String[] {"Reference"}; 410 case -1096846342: /*appliesToAll*/ return new String[] {"boolean"}; 411 default: return super.getTypesForProperty(hash, name); 412 } 413 414 } 415 416 @Override 417 public Base addChild(String name) throws FHIRException { 418 if (name.equals("sequence")) { 419 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.supportingInfo.sequence"); 420 } 421 else if (name.equals("information")) { 422 this.information = new Reference(); 423 return this.information; 424 } 425 else if (name.equals("appliesToAll")) { 426 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.supportingInfo.appliesToAll"); 427 } 428 else 429 return super.addChild(name); 430 } 431 432 public SupportingInformationComponent copy() { 433 SupportingInformationComponent dst = new SupportingInformationComponent(); 434 copyValues(dst); 435 return dst; 436 } 437 438 public void copyValues(SupportingInformationComponent dst) { 439 super.copyValues(dst); 440 dst.sequence = sequence == null ? null : sequence.copy(); 441 dst.information = information == null ? null : information.copy(); 442 dst.appliesToAll = appliesToAll == null ? null : appliesToAll.copy(); 443 } 444 445 @Override 446 public boolean equalsDeep(Base other_) { 447 if (!super.equalsDeep(other_)) 448 return false; 449 if (!(other_ instanceof SupportingInformationComponent)) 450 return false; 451 SupportingInformationComponent o = (SupportingInformationComponent) other_; 452 return compareDeep(sequence, o.sequence, true) && compareDeep(information, o.information, true) 453 && compareDeep(appliesToAll, o.appliesToAll, true); 454 } 455 456 @Override 457 public boolean equalsShallow(Base other_) { 458 if (!super.equalsShallow(other_)) 459 return false; 460 if (!(other_ instanceof SupportingInformationComponent)) 461 return false; 462 SupportingInformationComponent o = (SupportingInformationComponent) other_; 463 return compareValues(sequence, o.sequence, true) && compareValues(appliesToAll, o.appliesToAll, true) 464 ; 465 } 466 467 public boolean isEmpty() { 468 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, information, appliesToAll 469 ); 470 } 471 472 public String fhirType() { 473 return "CoverageEligibilityRequest.supportingInfo"; 474 475 } 476 477 } 478 479 @Block() 480 public static class InsuranceComponent extends BackboneElement implements IBaseBackboneElement { 481 /** 482 * A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 483 */ 484 @Child(name = "focal", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 485 @Description(shortDefinition="Applicable coverage", formalDefinition="A flag to indicate that this Coverage is to be used for evaluation of this request when set to true." ) 486 protected BooleanType focal; 487 488 /** 489 * Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system. 490 */ 491 @Child(name = "coverage", type = {Coverage.class}, order=2, min=1, max=1, modifier=false, summary=false) 492 @Description(shortDefinition="Insurance information", formalDefinition="Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system." ) 493 protected Reference coverage; 494 495 /** 496 * A business agreement number established between the provider and the insurer for special business processing purposes. 497 */ 498 @Child(name = "businessArrangement", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 499 @Description(shortDefinition="Additional provider contract number", formalDefinition="A business agreement number established between the provider and the insurer for special business processing purposes." ) 500 protected StringType businessArrangement; 501 502 private static final long serialVersionUID = -1656150261L; 503 504 /** 505 * Constructor 506 */ 507 public InsuranceComponent() { 508 super(); 509 } 510 511 /** 512 * Constructor 513 */ 514 public InsuranceComponent(Reference coverage) { 515 super(); 516 this.setCoverage(coverage); 517 } 518 519 /** 520 * @return {@link #focal} (A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.). This is the underlying object with id, value and extensions. The accessor "getFocal" gives direct access to the value 521 */ 522 public BooleanType getFocalElement() { 523 if (this.focal == null) 524 if (Configuration.errorOnAutoCreate()) 525 throw new Error("Attempt to auto-create InsuranceComponent.focal"); 526 else if (Configuration.doAutoCreate()) 527 this.focal = new BooleanType(); // bb 528 return this.focal; 529 } 530 531 public boolean hasFocalElement() { 532 return this.focal != null && !this.focal.isEmpty(); 533 } 534 535 public boolean hasFocal() { 536 return this.focal != null && !this.focal.isEmpty(); 537 } 538 539 /** 540 * @param value {@link #focal} (A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.). This is the underlying object with id, value and extensions. The accessor "getFocal" gives direct access to the value 541 */ 542 public InsuranceComponent setFocalElement(BooleanType value) { 543 this.focal = value; 544 return this; 545 } 546 547 /** 548 * @return A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 549 */ 550 public boolean getFocal() { 551 return this.focal == null || this.focal.isEmpty() ? false : this.focal.getValue(); 552 } 553 554 /** 555 * @param value A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 556 */ 557 public InsuranceComponent setFocal(boolean value) { 558 if (this.focal == null) 559 this.focal = new BooleanType(); 560 this.focal.setValue(value); 561 return this; 562 } 563 564 /** 565 * @return {@link #coverage} (Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.) 566 */ 567 public Reference getCoverage() { 568 if (this.coverage == null) 569 if (Configuration.errorOnAutoCreate()) 570 throw new Error("Attempt to auto-create InsuranceComponent.coverage"); 571 else if (Configuration.doAutoCreate()) 572 this.coverage = new Reference(); // cc 573 return this.coverage; 574 } 575 576 public boolean hasCoverage() { 577 return this.coverage != null && !this.coverage.isEmpty(); 578 } 579 580 /** 581 * @param value {@link #coverage} (Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.) 582 */ 583 public InsuranceComponent setCoverage(Reference value) { 584 this.coverage = value; 585 return this; 586 } 587 588 /** 589 * @return {@link #businessArrangement} (A business agreement number established between the provider and the insurer for special business processing purposes.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value 590 */ 591 public StringType getBusinessArrangementElement() { 592 if (this.businessArrangement == null) 593 if (Configuration.errorOnAutoCreate()) 594 throw new Error("Attempt to auto-create InsuranceComponent.businessArrangement"); 595 else if (Configuration.doAutoCreate()) 596 this.businessArrangement = new StringType(); // bb 597 return this.businessArrangement; 598 } 599 600 public boolean hasBusinessArrangementElement() { 601 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 602 } 603 604 public boolean hasBusinessArrangement() { 605 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 606 } 607 608 /** 609 * @param value {@link #businessArrangement} (A business agreement number established between the provider and the insurer for special business processing purposes.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value 610 */ 611 public InsuranceComponent setBusinessArrangementElement(StringType value) { 612 this.businessArrangement = value; 613 return this; 614 } 615 616 /** 617 * @return A business agreement number established between the provider and the insurer for special business processing purposes. 618 */ 619 public String getBusinessArrangement() { 620 return this.businessArrangement == null ? null : this.businessArrangement.getValue(); 621 } 622 623 /** 624 * @param value A business agreement number established between the provider and the insurer for special business processing purposes. 625 */ 626 public InsuranceComponent setBusinessArrangement(String value) { 627 if (Utilities.noString(value)) 628 this.businessArrangement = null; 629 else { 630 if (this.businessArrangement == null) 631 this.businessArrangement = new StringType(); 632 this.businessArrangement.setValue(value); 633 } 634 return this; 635 } 636 637 protected void listChildren(List<Property> children) { 638 super.listChildren(children); 639 children.add(new Property("focal", "boolean", "A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.", 0, 1, focal)); 640 children.add(new Property("coverage", "Reference(Coverage)", "Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.", 0, 1, coverage)); 641 children.add(new Property("businessArrangement", "string", "A business agreement number established between the provider and the insurer for special business processing purposes.", 0, 1, businessArrangement)); 642 } 643 644 @Override 645 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 646 switch (_hash) { 647 case 97604197: /*focal*/ return new Property("focal", "boolean", "A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.", 0, 1, focal); 648 case -351767064: /*coverage*/ return new Property("coverage", "Reference(Coverage)", "Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.", 0, 1, coverage); 649 case 259920682: /*businessArrangement*/ return new Property("businessArrangement", "string", "A business agreement number established between the provider and the insurer for special business processing purposes.", 0, 1, businessArrangement); 650 default: return super.getNamedProperty(_hash, _name, _checkValid); 651 } 652 653 } 654 655 @Override 656 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 657 switch (hash) { 658 case 97604197: /*focal*/ return this.focal == null ? new Base[0] : new Base[] {this.focal}; // BooleanType 659 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Reference 660 case 259920682: /*businessArrangement*/ return this.businessArrangement == null ? new Base[0] : new Base[] {this.businessArrangement}; // StringType 661 default: return super.getProperty(hash, name, checkValid); 662 } 663 664 } 665 666 @Override 667 public Base setProperty(int hash, String name, Base value) throws FHIRException { 668 switch (hash) { 669 case 97604197: // focal 670 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 671 return value; 672 case -351767064: // coverage 673 this.coverage = TypeConvertor.castToReference(value); // Reference 674 return value; 675 case 259920682: // businessArrangement 676 this.businessArrangement = TypeConvertor.castToString(value); // StringType 677 return value; 678 default: return super.setProperty(hash, name, value); 679 } 680 681 } 682 683 @Override 684 public Base setProperty(String name, Base value) throws FHIRException { 685 if (name.equals("focal")) { 686 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 687 } else if (name.equals("coverage")) { 688 this.coverage = TypeConvertor.castToReference(value); // Reference 689 } else if (name.equals("businessArrangement")) { 690 this.businessArrangement = TypeConvertor.castToString(value); // StringType 691 } else 692 return super.setProperty(name, value); 693 return value; 694 } 695 696 @Override 697 public Base makeProperty(int hash, String name) throws FHIRException { 698 switch (hash) { 699 case 97604197: return getFocalElement(); 700 case -351767064: return getCoverage(); 701 case 259920682: return getBusinessArrangementElement(); 702 default: return super.makeProperty(hash, name); 703 } 704 705 } 706 707 @Override 708 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 709 switch (hash) { 710 case 97604197: /*focal*/ return new String[] {"boolean"}; 711 case -351767064: /*coverage*/ return new String[] {"Reference"}; 712 case 259920682: /*businessArrangement*/ return new String[] {"string"}; 713 default: return super.getTypesForProperty(hash, name); 714 } 715 716 } 717 718 @Override 719 public Base addChild(String name) throws FHIRException { 720 if (name.equals("focal")) { 721 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.insurance.focal"); 722 } 723 else if (name.equals("coverage")) { 724 this.coverage = new Reference(); 725 return this.coverage; 726 } 727 else if (name.equals("businessArrangement")) { 728 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.insurance.businessArrangement"); 729 } 730 else 731 return super.addChild(name); 732 } 733 734 public InsuranceComponent copy() { 735 InsuranceComponent dst = new InsuranceComponent(); 736 copyValues(dst); 737 return dst; 738 } 739 740 public void copyValues(InsuranceComponent dst) { 741 super.copyValues(dst); 742 dst.focal = focal == null ? null : focal.copy(); 743 dst.coverage = coverage == null ? null : coverage.copy(); 744 dst.businessArrangement = businessArrangement == null ? null : businessArrangement.copy(); 745 } 746 747 @Override 748 public boolean equalsDeep(Base other_) { 749 if (!super.equalsDeep(other_)) 750 return false; 751 if (!(other_ instanceof InsuranceComponent)) 752 return false; 753 InsuranceComponent o = (InsuranceComponent) other_; 754 return compareDeep(focal, o.focal, true) && compareDeep(coverage, o.coverage, true) && compareDeep(businessArrangement, o.businessArrangement, true) 755 ; 756 } 757 758 @Override 759 public boolean equalsShallow(Base other_) { 760 if (!super.equalsShallow(other_)) 761 return false; 762 if (!(other_ instanceof InsuranceComponent)) 763 return false; 764 InsuranceComponent o = (InsuranceComponent) other_; 765 return compareValues(focal, o.focal, true) && compareValues(businessArrangement, o.businessArrangement, true) 766 ; 767 } 768 769 public boolean isEmpty() { 770 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(focal, coverage, businessArrangement 771 ); 772 } 773 774 public String fhirType() { 775 return "CoverageEligibilityRequest.insurance"; 776 777 } 778 779 } 780 781 @Block() 782 public static class DetailsComponent extends BackboneElement implements IBaseBackboneElement { 783 /** 784 * Exceptions, special conditions and supporting information applicable for this service or product line. 785 */ 786 @Child(name = "supportingInfoSequence", type = {PositiveIntType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 787 @Description(shortDefinition="Applicable exception or supporting information", formalDefinition="Exceptions, special conditions and supporting information applicable for this service or product line." ) 788 protected List<PositiveIntType> supportingInfoSequence; 789 790 /** 791 * Code to identify the general type of benefits under which products and services are provided. 792 */ 793 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 794 @Description(shortDefinition="Benefit classification", formalDefinition="Code to identify the general type of benefits under which products and services are provided." ) 795 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-benefitcategory") 796 protected CodeableConcept category; 797 798 /** 799 * This contains the product, service, drug or other billing code for the item. 800 */ 801 @Child(name = "productOrService", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 802 @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="This contains the product, service, drug or other billing code for the item." ) 803 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") 804 protected CodeableConcept productOrService; 805 806 /** 807 * Item typification or modifiers codes to convey additional context for the product or service. 808 */ 809 @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 810 @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) 811 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") 812 protected List<CodeableConcept> modifier; 813 814 /** 815 * The practitioner who is responsible for the product or service to be rendered to the patient. 816 */ 817 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class}, order=5, min=0, max=1, modifier=false, summary=false) 818 @Description(shortDefinition="Perfoming practitioner", formalDefinition="The practitioner who is responsible for the product or service to be rendered to the patient." ) 819 protected Reference provider; 820 821 /** 822 * The number of repetitions of a service or product. 823 */ 824 @Child(name = "quantity", type = {Quantity.class}, order=6, min=0, max=1, modifier=false, summary=false) 825 @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) 826 protected Quantity quantity; 827 828 /** 829 * The amount charged to the patient by the provider for a single unit. 830 */ 831 @Child(name = "unitPrice", type = {Money.class}, order=7, min=0, max=1, modifier=false, summary=false) 832 @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="The amount charged to the patient by the provider for a single unit." ) 833 protected Money unitPrice; 834 835 /** 836 * Facility where the services will be provided. 837 */ 838 @Child(name = "facility", type = {Location.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) 839 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services will be provided." ) 840 protected Reference facility; 841 842 /** 843 * Patient diagnosis for which care is sought. 844 */ 845 @Child(name = "diagnosis", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 846 @Description(shortDefinition="Applicable diagnosis", formalDefinition="Patient diagnosis for which care is sought." ) 847 protected List<DiagnosisComponent> diagnosis; 848 849 /** 850 * The plan/proposal/order describing the proposed service in detail. 851 */ 852 @Child(name = "detail", type = {Reference.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 853 @Description(shortDefinition="Product or service details", formalDefinition="The plan/proposal/order describing the proposed service in detail." ) 854 protected List<Reference> detail; 855 856 private static final long serialVersionUID = 1615052611L; 857 858 /** 859 * Constructor 860 */ 861 public DetailsComponent() { 862 super(); 863 } 864 865 /** 866 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 867 */ 868 public List<PositiveIntType> getSupportingInfoSequence() { 869 if (this.supportingInfoSequence == null) 870 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 871 return this.supportingInfoSequence; 872 } 873 874 /** 875 * @return Returns a reference to <code>this</code> for easy method chaining 876 */ 877 public DetailsComponent setSupportingInfoSequence(List<PositiveIntType> theSupportingInfoSequence) { 878 this.supportingInfoSequence = theSupportingInfoSequence; 879 return this; 880 } 881 882 public boolean hasSupportingInfoSequence() { 883 if (this.supportingInfoSequence == null) 884 return false; 885 for (PositiveIntType item : this.supportingInfoSequence) 886 if (!item.isEmpty()) 887 return true; 888 return false; 889 } 890 891 /** 892 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 893 */ 894 public PositiveIntType addSupportingInfoSequenceElement() {//2 895 PositiveIntType t = new PositiveIntType(); 896 if (this.supportingInfoSequence == null) 897 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 898 this.supportingInfoSequence.add(t); 899 return t; 900 } 901 902 /** 903 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 904 */ 905 public DetailsComponent addSupportingInfoSequence(int value) { //1 906 PositiveIntType t = new PositiveIntType(); 907 t.setValue(value); 908 if (this.supportingInfoSequence == null) 909 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 910 this.supportingInfoSequence.add(t); 911 return this; 912 } 913 914 /** 915 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 916 */ 917 public boolean hasSupportingInfoSequence(int value) { 918 if (this.supportingInfoSequence == null) 919 return false; 920 for (PositiveIntType v : this.supportingInfoSequence) 921 if (v.getValue().equals(value)) // positiveInt 922 return true; 923 return false; 924 } 925 926 /** 927 * @return {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 928 */ 929 public CodeableConcept getCategory() { 930 if (this.category == null) 931 if (Configuration.errorOnAutoCreate()) 932 throw new Error("Attempt to auto-create DetailsComponent.category"); 933 else if (Configuration.doAutoCreate()) 934 this.category = new CodeableConcept(); // cc 935 return this.category; 936 } 937 938 public boolean hasCategory() { 939 return this.category != null && !this.category.isEmpty(); 940 } 941 942 /** 943 * @param value {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 944 */ 945 public DetailsComponent setCategory(CodeableConcept value) { 946 this.category = value; 947 return this; 948 } 949 950 /** 951 * @return {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 952 */ 953 public CodeableConcept getProductOrService() { 954 if (this.productOrService == null) 955 if (Configuration.errorOnAutoCreate()) 956 throw new Error("Attempt to auto-create DetailsComponent.productOrService"); 957 else if (Configuration.doAutoCreate()) 958 this.productOrService = new CodeableConcept(); // cc 959 return this.productOrService; 960 } 961 962 public boolean hasProductOrService() { 963 return this.productOrService != null && !this.productOrService.isEmpty(); 964 } 965 966 /** 967 * @param value {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 968 */ 969 public DetailsComponent setProductOrService(CodeableConcept value) { 970 this.productOrService = value; 971 return this; 972 } 973 974 /** 975 * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) 976 */ 977 public List<CodeableConcept> getModifier() { 978 if (this.modifier == null) 979 this.modifier = new ArrayList<CodeableConcept>(); 980 return this.modifier; 981 } 982 983 /** 984 * @return Returns a reference to <code>this</code> for easy method chaining 985 */ 986 public DetailsComponent setModifier(List<CodeableConcept> theModifier) { 987 this.modifier = theModifier; 988 return this; 989 } 990 991 public boolean hasModifier() { 992 if (this.modifier == null) 993 return false; 994 for (CodeableConcept item : this.modifier) 995 if (!item.isEmpty()) 996 return true; 997 return false; 998 } 999 1000 public CodeableConcept addModifier() { //3 1001 CodeableConcept t = new CodeableConcept(); 1002 if (this.modifier == null) 1003 this.modifier = new ArrayList<CodeableConcept>(); 1004 this.modifier.add(t); 1005 return t; 1006 } 1007 1008 public DetailsComponent addModifier(CodeableConcept t) { //3 1009 if (t == null) 1010 return this; 1011 if (this.modifier == null) 1012 this.modifier = new ArrayList<CodeableConcept>(); 1013 this.modifier.add(t); 1014 return this; 1015 } 1016 1017 /** 1018 * @return The first repetition of repeating field {@link #modifier}, creating it if it does not already exist {3} 1019 */ 1020 public CodeableConcept getModifierFirstRep() { 1021 if (getModifier().isEmpty()) { 1022 addModifier(); 1023 } 1024 return getModifier().get(0); 1025 } 1026 1027 /** 1028 * @return {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1029 */ 1030 public Reference getProvider() { 1031 if (this.provider == null) 1032 if (Configuration.errorOnAutoCreate()) 1033 throw new Error("Attempt to auto-create DetailsComponent.provider"); 1034 else if (Configuration.doAutoCreate()) 1035 this.provider = new Reference(); // cc 1036 return this.provider; 1037 } 1038 1039 public boolean hasProvider() { 1040 return this.provider != null && !this.provider.isEmpty(); 1041 } 1042 1043 /** 1044 * @param value {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1045 */ 1046 public DetailsComponent setProvider(Reference value) { 1047 this.provider = value; 1048 return this; 1049 } 1050 1051 /** 1052 * @return {@link #quantity} (The number of repetitions of a service or product.) 1053 */ 1054 public Quantity getQuantity() { 1055 if (this.quantity == null) 1056 if (Configuration.errorOnAutoCreate()) 1057 throw new Error("Attempt to auto-create DetailsComponent.quantity"); 1058 else if (Configuration.doAutoCreate()) 1059 this.quantity = new Quantity(); // cc 1060 return this.quantity; 1061 } 1062 1063 public boolean hasQuantity() { 1064 return this.quantity != null && !this.quantity.isEmpty(); 1065 } 1066 1067 /** 1068 * @param value {@link #quantity} (The number of repetitions of a service or product.) 1069 */ 1070 public DetailsComponent setQuantity(Quantity value) { 1071 this.quantity = value; 1072 return this; 1073 } 1074 1075 /** 1076 * @return {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1077 */ 1078 public Money getUnitPrice() { 1079 if (this.unitPrice == null) 1080 if (Configuration.errorOnAutoCreate()) 1081 throw new Error("Attempt to auto-create DetailsComponent.unitPrice"); 1082 else if (Configuration.doAutoCreate()) 1083 this.unitPrice = new Money(); // cc 1084 return this.unitPrice; 1085 } 1086 1087 public boolean hasUnitPrice() { 1088 return this.unitPrice != null && !this.unitPrice.isEmpty(); 1089 } 1090 1091 /** 1092 * @param value {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1093 */ 1094 public DetailsComponent setUnitPrice(Money value) { 1095 this.unitPrice = value; 1096 return this; 1097 } 1098 1099 /** 1100 * @return {@link #facility} (Facility where the services will be provided.) 1101 */ 1102 public Reference getFacility() { 1103 if (this.facility == null) 1104 if (Configuration.errorOnAutoCreate()) 1105 throw new Error("Attempt to auto-create DetailsComponent.facility"); 1106 else if (Configuration.doAutoCreate()) 1107 this.facility = new Reference(); // cc 1108 return this.facility; 1109 } 1110 1111 public boolean hasFacility() { 1112 return this.facility != null && !this.facility.isEmpty(); 1113 } 1114 1115 /** 1116 * @param value {@link #facility} (Facility where the services will be provided.) 1117 */ 1118 public DetailsComponent setFacility(Reference value) { 1119 this.facility = value; 1120 return this; 1121 } 1122 1123 /** 1124 * @return {@link #diagnosis} (Patient diagnosis for which care is sought.) 1125 */ 1126 public List<DiagnosisComponent> getDiagnosis() { 1127 if (this.diagnosis == null) 1128 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1129 return this.diagnosis; 1130 } 1131 1132 /** 1133 * @return Returns a reference to <code>this</code> for easy method chaining 1134 */ 1135 public DetailsComponent setDiagnosis(List<DiagnosisComponent> theDiagnosis) { 1136 this.diagnosis = theDiagnosis; 1137 return this; 1138 } 1139 1140 public boolean hasDiagnosis() { 1141 if (this.diagnosis == null) 1142 return false; 1143 for (DiagnosisComponent item : this.diagnosis) 1144 if (!item.isEmpty()) 1145 return true; 1146 return false; 1147 } 1148 1149 public DiagnosisComponent addDiagnosis() { //3 1150 DiagnosisComponent t = new DiagnosisComponent(); 1151 if (this.diagnosis == null) 1152 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1153 this.diagnosis.add(t); 1154 return t; 1155 } 1156 1157 public DetailsComponent addDiagnosis(DiagnosisComponent t) { //3 1158 if (t == null) 1159 return this; 1160 if (this.diagnosis == null) 1161 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1162 this.diagnosis.add(t); 1163 return this; 1164 } 1165 1166 /** 1167 * @return The first repetition of repeating field {@link #diagnosis}, creating it if it does not already exist {3} 1168 */ 1169 public DiagnosisComponent getDiagnosisFirstRep() { 1170 if (getDiagnosis().isEmpty()) { 1171 addDiagnosis(); 1172 } 1173 return getDiagnosis().get(0); 1174 } 1175 1176 /** 1177 * @return {@link #detail} (The plan/proposal/order describing the proposed service in detail.) 1178 */ 1179 public List<Reference> getDetail() { 1180 if (this.detail == null) 1181 this.detail = new ArrayList<Reference>(); 1182 return this.detail; 1183 } 1184 1185 /** 1186 * @return Returns a reference to <code>this</code> for easy method chaining 1187 */ 1188 public DetailsComponent setDetail(List<Reference> theDetail) { 1189 this.detail = theDetail; 1190 return this; 1191 } 1192 1193 public boolean hasDetail() { 1194 if (this.detail == null) 1195 return false; 1196 for (Reference item : this.detail) 1197 if (!item.isEmpty()) 1198 return true; 1199 return false; 1200 } 1201 1202 public Reference addDetail() { //3 1203 Reference t = new Reference(); 1204 if (this.detail == null) 1205 this.detail = new ArrayList<Reference>(); 1206 this.detail.add(t); 1207 return t; 1208 } 1209 1210 public DetailsComponent addDetail(Reference t) { //3 1211 if (t == null) 1212 return this; 1213 if (this.detail == null) 1214 this.detail = new ArrayList<Reference>(); 1215 this.detail.add(t); 1216 return this; 1217 } 1218 1219 /** 1220 * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist {3} 1221 */ 1222 public Reference getDetailFirstRep() { 1223 if (getDetail().isEmpty()) { 1224 addDetail(); 1225 } 1226 return getDetail().get(0); 1227 } 1228 1229 protected void listChildren(List<Property> children) { 1230 super.listChildren(children); 1231 children.add(new Property("supportingInfoSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product line.", 0, java.lang.Integer.MAX_VALUE, supportingInfoSequence)); 1232 children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); 1233 children.add(new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); 1234 children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); 1235 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is responsible for the product or service to be rendered to the patient.", 0, 1, provider)); 1236 children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); 1237 children.add(new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice)); 1238 children.add(new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility)); 1239 children.add(new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); 1240 children.add(new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail)); 1241 } 1242 1243 @Override 1244 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1245 switch (_hash) { 1246 case -595860510: /*supportingInfoSequence*/ return new Property("supportingInfoSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product line.", 0, java.lang.Integer.MAX_VALUE, supportingInfoSequence); 1247 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); 1248 case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); 1249 case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); 1250 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole)", "The practitioner who is responsible for the product or service to be rendered to the patient.", 0, 1, provider); 1251 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); 1252 case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice); 1253 case 501116579: /*facility*/ return new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility); 1254 case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis); 1255 case -1335224239: /*detail*/ return new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail); 1256 default: return super.getNamedProperty(_hash, _name, _checkValid); 1257 } 1258 1259 } 1260 1261 @Override 1262 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1263 switch (hash) { 1264 case -595860510: /*supportingInfoSequence*/ return this.supportingInfoSequence == null ? new Base[0] : this.supportingInfoSequence.toArray(new Base[this.supportingInfoSequence.size()]); // PositiveIntType 1265 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 1266 case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept 1267 case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept 1268 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 1269 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 1270 case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money 1271 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 1272 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent 1273 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // Reference 1274 default: return super.getProperty(hash, name, checkValid); 1275 } 1276 1277 } 1278 1279 @Override 1280 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1281 switch (hash) { 1282 case -595860510: // supportingInfoSequence 1283 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType 1284 return value; 1285 case 50511102: // category 1286 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1287 return value; 1288 case 1957227299: // productOrService 1289 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1290 return value; 1291 case -615513385: // modifier 1292 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1293 return value; 1294 case -987494927: // provider 1295 this.provider = TypeConvertor.castToReference(value); // Reference 1296 return value; 1297 case -1285004149: // quantity 1298 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1299 return value; 1300 case -486196699: // unitPrice 1301 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1302 return value; 1303 case 501116579: // facility 1304 this.facility = TypeConvertor.castToReference(value); // Reference 1305 return value; 1306 case 1196993265: // diagnosis 1307 this.getDiagnosis().add((DiagnosisComponent) value); // DiagnosisComponent 1308 return value; 1309 case -1335224239: // detail 1310 this.getDetail().add(TypeConvertor.castToReference(value)); // Reference 1311 return value; 1312 default: return super.setProperty(hash, name, value); 1313 } 1314 1315 } 1316 1317 @Override 1318 public Base setProperty(String name, Base value) throws FHIRException { 1319 if (name.equals("supportingInfoSequence")) { 1320 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); 1321 } else if (name.equals("category")) { 1322 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1323 } else if (name.equals("productOrService")) { 1324 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1325 } else if (name.equals("modifier")) { 1326 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); 1327 } else if (name.equals("provider")) { 1328 this.provider = TypeConvertor.castToReference(value); // Reference 1329 } else if (name.equals("quantity")) { 1330 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1331 } else if (name.equals("unitPrice")) { 1332 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1333 } else if (name.equals("facility")) { 1334 this.facility = TypeConvertor.castToReference(value); // Reference 1335 } else if (name.equals("diagnosis")) { 1336 this.getDiagnosis().add((DiagnosisComponent) value); 1337 } else if (name.equals("detail")) { 1338 this.getDetail().add(TypeConvertor.castToReference(value)); 1339 } else 1340 return super.setProperty(name, value); 1341 return value; 1342 } 1343 1344 @Override 1345 public Base makeProperty(int hash, String name) throws FHIRException { 1346 switch (hash) { 1347 case -595860510: return addSupportingInfoSequenceElement(); 1348 case 50511102: return getCategory(); 1349 case 1957227299: return getProductOrService(); 1350 case -615513385: return addModifier(); 1351 case -987494927: return getProvider(); 1352 case -1285004149: return getQuantity(); 1353 case -486196699: return getUnitPrice(); 1354 case 501116579: return getFacility(); 1355 case 1196993265: return addDiagnosis(); 1356 case -1335224239: return addDetail(); 1357 default: return super.makeProperty(hash, name); 1358 } 1359 1360 } 1361 1362 @Override 1363 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1364 switch (hash) { 1365 case -595860510: /*supportingInfoSequence*/ return new String[] {"positiveInt"}; 1366 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1367 case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; 1368 case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; 1369 case -987494927: /*provider*/ return new String[] {"Reference"}; 1370 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 1371 case -486196699: /*unitPrice*/ return new String[] {"Money"}; 1372 case 501116579: /*facility*/ return new String[] {"Reference"}; 1373 case 1196993265: /*diagnosis*/ return new String[] {}; 1374 case -1335224239: /*detail*/ return new String[] {"Reference"}; 1375 default: return super.getTypesForProperty(hash, name); 1376 } 1377 1378 } 1379 1380 @Override 1381 public Base addChild(String name) throws FHIRException { 1382 if (name.equals("supportingInfoSequence")) { 1383 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.item.supportingInfoSequence"); 1384 } 1385 else if (name.equals("category")) { 1386 this.category = new CodeableConcept(); 1387 return this.category; 1388 } 1389 else if (name.equals("productOrService")) { 1390 this.productOrService = new CodeableConcept(); 1391 return this.productOrService; 1392 } 1393 else if (name.equals("modifier")) { 1394 return addModifier(); 1395 } 1396 else if (name.equals("provider")) { 1397 this.provider = new Reference(); 1398 return this.provider; 1399 } 1400 else if (name.equals("quantity")) { 1401 this.quantity = new Quantity(); 1402 return this.quantity; 1403 } 1404 else if (name.equals("unitPrice")) { 1405 this.unitPrice = new Money(); 1406 return this.unitPrice; 1407 } 1408 else if (name.equals("facility")) { 1409 this.facility = new Reference(); 1410 return this.facility; 1411 } 1412 else if (name.equals("diagnosis")) { 1413 return addDiagnosis(); 1414 } 1415 else if (name.equals("detail")) { 1416 return addDetail(); 1417 } 1418 else 1419 return super.addChild(name); 1420 } 1421 1422 public DetailsComponent copy() { 1423 DetailsComponent dst = new DetailsComponent(); 1424 copyValues(dst); 1425 return dst; 1426 } 1427 1428 public void copyValues(DetailsComponent dst) { 1429 super.copyValues(dst); 1430 if (supportingInfoSequence != null) { 1431 dst.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1432 for (PositiveIntType i : supportingInfoSequence) 1433 dst.supportingInfoSequence.add(i.copy()); 1434 }; 1435 dst.category = category == null ? null : category.copy(); 1436 dst.productOrService = productOrService == null ? null : productOrService.copy(); 1437 if (modifier != null) { 1438 dst.modifier = new ArrayList<CodeableConcept>(); 1439 for (CodeableConcept i : modifier) 1440 dst.modifier.add(i.copy()); 1441 }; 1442 dst.provider = provider == null ? null : provider.copy(); 1443 dst.quantity = quantity == null ? null : quantity.copy(); 1444 dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); 1445 dst.facility = facility == null ? null : facility.copy(); 1446 if (diagnosis != null) { 1447 dst.diagnosis = new ArrayList<DiagnosisComponent>(); 1448 for (DiagnosisComponent i : diagnosis) 1449 dst.diagnosis.add(i.copy()); 1450 }; 1451 if (detail != null) { 1452 dst.detail = new ArrayList<Reference>(); 1453 for (Reference i : detail) 1454 dst.detail.add(i.copy()); 1455 }; 1456 } 1457 1458 @Override 1459 public boolean equalsDeep(Base other_) { 1460 if (!super.equalsDeep(other_)) 1461 return false; 1462 if (!(other_ instanceof DetailsComponent)) 1463 return false; 1464 DetailsComponent o = (DetailsComponent) other_; 1465 return compareDeep(supportingInfoSequence, o.supportingInfoSequence, true) && compareDeep(category, o.category, true) 1466 && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) 1467 && compareDeep(provider, o.provider, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) 1468 && compareDeep(facility, o.facility, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(detail, o.detail, true) 1469 ; 1470 } 1471 1472 @Override 1473 public boolean equalsShallow(Base other_) { 1474 if (!super.equalsShallow(other_)) 1475 return false; 1476 if (!(other_ instanceof DetailsComponent)) 1477 return false; 1478 DetailsComponent o = (DetailsComponent) other_; 1479 return compareValues(supportingInfoSequence, o.supportingInfoSequence, true); 1480 } 1481 1482 public boolean isEmpty() { 1483 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(supportingInfoSequence, category 1484 , productOrService, modifier, provider, quantity, unitPrice, facility, diagnosis 1485 , detail); 1486 } 1487 1488 public String fhirType() { 1489 return "CoverageEligibilityRequest.item"; 1490 1491 } 1492 1493 } 1494 1495 @Block() 1496 public static class DiagnosisComponent extends BackboneElement implements IBaseBackboneElement { 1497 /** 1498 * The nature of illness or problem in a coded form or as a reference to an external defined Condition. 1499 */ 1500 @Child(name = "diagnosis", type = {CodeableConcept.class, Condition.class}, order=1, min=0, max=1, modifier=false, summary=false) 1501 @Description(shortDefinition="Nature of illness or problem", formalDefinition="The nature of illness or problem in a coded form or as a reference to an external defined Condition." ) 1502 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/icd-10") 1503 protected DataType diagnosis; 1504 1505 private static final long serialVersionUID = 947131409L; 1506 1507 /** 1508 * Constructor 1509 */ 1510 public DiagnosisComponent() { 1511 super(); 1512 } 1513 1514 /** 1515 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1516 */ 1517 public DataType getDiagnosis() { 1518 return this.diagnosis; 1519 } 1520 1521 /** 1522 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1523 */ 1524 public CodeableConcept getDiagnosisCodeableConcept() throws FHIRException { 1525 if (this.diagnosis == null) 1526 this.diagnosis = new CodeableConcept(); 1527 if (!(this.diagnosis instanceof CodeableConcept)) 1528 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1529 return (CodeableConcept) this.diagnosis; 1530 } 1531 1532 public boolean hasDiagnosisCodeableConcept() { 1533 return this != null && this.diagnosis instanceof CodeableConcept; 1534 } 1535 1536 /** 1537 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1538 */ 1539 public Reference getDiagnosisReference() throws FHIRException { 1540 if (this.diagnosis == null) 1541 this.diagnosis = new Reference(); 1542 if (!(this.diagnosis instanceof Reference)) 1543 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1544 return (Reference) this.diagnosis; 1545 } 1546 1547 public boolean hasDiagnosisReference() { 1548 return this != null && this.diagnosis instanceof Reference; 1549 } 1550 1551 public boolean hasDiagnosis() { 1552 return this.diagnosis != null && !this.diagnosis.isEmpty(); 1553 } 1554 1555 /** 1556 * @param value {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1557 */ 1558 public DiagnosisComponent setDiagnosis(DataType value) { 1559 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1560 throw new Error("Not the right type for CoverageEligibilityRequest.item.diagnosis.diagnosis[x]: "+value.fhirType()); 1561 this.diagnosis = value; 1562 return this; 1563 } 1564 1565 protected void listChildren(List<Property> children) { 1566 super.listChildren(children); 1567 children.add(new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis)); 1568 } 1569 1570 @Override 1571 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1572 switch (_hash) { 1573 case -1487009809: /*diagnosis[x]*/ return new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1574 case 1196993265: /*diagnosis*/ return new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1575 case 277781616: /*diagnosisCodeableConcept*/ return new Property("diagnosis[x]", "CodeableConcept", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1576 case 2050454362: /*diagnosisReference*/ return new Property("diagnosis[x]", "Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); 1577 default: return super.getNamedProperty(_hash, _name, _checkValid); 1578 } 1579 1580 } 1581 1582 @Override 1583 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1584 switch (hash) { 1585 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : new Base[] {this.diagnosis}; // DataType 1586 default: return super.getProperty(hash, name, checkValid); 1587 } 1588 1589 } 1590 1591 @Override 1592 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1593 switch (hash) { 1594 case 1196993265: // diagnosis 1595 this.diagnosis = TypeConvertor.castToType(value); // DataType 1596 return value; 1597 default: return super.setProperty(hash, name, value); 1598 } 1599 1600 } 1601 1602 @Override 1603 public Base setProperty(String name, Base value) throws FHIRException { 1604 if (name.equals("diagnosis[x]")) { 1605 this.diagnosis = TypeConvertor.castToType(value); // DataType 1606 } else 1607 return super.setProperty(name, value); 1608 return value; 1609 } 1610 1611 @Override 1612 public Base makeProperty(int hash, String name) throws FHIRException { 1613 switch (hash) { 1614 case -1487009809: return getDiagnosis(); 1615 case 1196993265: return getDiagnosis(); 1616 default: return super.makeProperty(hash, name); 1617 } 1618 1619 } 1620 1621 @Override 1622 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1623 switch (hash) { 1624 case 1196993265: /*diagnosis*/ return new String[] {"CodeableConcept", "Reference"}; 1625 default: return super.getTypesForProperty(hash, name); 1626 } 1627 1628 } 1629 1630 @Override 1631 public Base addChild(String name) throws FHIRException { 1632 if (name.equals("diagnosisCodeableConcept")) { 1633 this.diagnosis = new CodeableConcept(); 1634 return this.diagnosis; 1635 } 1636 else if (name.equals("diagnosisReference")) { 1637 this.diagnosis = new Reference(); 1638 return this.diagnosis; 1639 } 1640 else 1641 return super.addChild(name); 1642 } 1643 1644 public DiagnosisComponent copy() { 1645 DiagnosisComponent dst = new DiagnosisComponent(); 1646 copyValues(dst); 1647 return dst; 1648 } 1649 1650 public void copyValues(DiagnosisComponent dst) { 1651 super.copyValues(dst); 1652 dst.diagnosis = diagnosis == null ? null : diagnosis.copy(); 1653 } 1654 1655 @Override 1656 public boolean equalsDeep(Base other_) { 1657 if (!super.equalsDeep(other_)) 1658 return false; 1659 if (!(other_ instanceof DiagnosisComponent)) 1660 return false; 1661 DiagnosisComponent o = (DiagnosisComponent) other_; 1662 return compareDeep(diagnosis, o.diagnosis, true); 1663 } 1664 1665 @Override 1666 public boolean equalsShallow(Base other_) { 1667 if (!super.equalsShallow(other_)) 1668 return false; 1669 if (!(other_ instanceof DiagnosisComponent)) 1670 return false; 1671 DiagnosisComponent o = (DiagnosisComponent) other_; 1672 return true; 1673 } 1674 1675 public boolean isEmpty() { 1676 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(diagnosis); 1677 } 1678 1679 public String fhirType() { 1680 return "CoverageEligibilityRequest.item.diagnosis"; 1681 1682 } 1683 1684 } 1685 1686 /** 1687 * A unique identifier assigned to this coverage eligiblity request. 1688 */ 1689 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1690 @Description(shortDefinition="Business Identifier for coverage eligiblity request", formalDefinition="A unique identifier assigned to this coverage eligiblity request." ) 1691 protected List<Identifier> identifier; 1692 1693 /** 1694 * The status of the resource instance. 1695 */ 1696 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 1697 @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) 1698 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") 1699 protected Enumeration<FinancialResourceStatusCodes> status; 1700 1701 /** 1702 * When the requestor expects the processor to complete processing. 1703 */ 1704 @Child(name = "priority", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 1705 @Description(shortDefinition="Desired processing priority", formalDefinition="When the requestor expects the processor to complete processing." ) 1706 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/process-priority") 1707 protected CodeableConcept priority; 1708 1709 /** 1710 * Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified. 1711 */ 1712 @Child(name = "purpose", type = {CodeType.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1713 @Description(shortDefinition="auth-requirements | benefits | discovery | validation", formalDefinition="Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified." ) 1714 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose") 1715 protected List<Enumeration<EligibilityRequestPurpose>> purpose; 1716 1717 /** 1718 * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. 1719 */ 1720 @Child(name = "patient", type = {Patient.class}, order=4, min=1, max=1, modifier=false, summary=true) 1721 @Description(shortDefinition="Intended recipient of products and services", formalDefinition="The party who is the beneficiary of the supplied coverage and for whom eligibility is sought." ) 1722 protected Reference patient; 1723 1724 /** 1725 * The date or dates when the enclosed suite of services were performed or completed. 1726 */ 1727 @Child(name = "serviced", type = {DateType.class, Period.class}, order=5, min=0, max=1, modifier=false, summary=false) 1728 @Description(shortDefinition="Estimated date or dates of service", formalDefinition="The date or dates when the enclosed suite of services were performed or completed." ) 1729 protected DataType serviced; 1730 1731 /** 1732 * The date when this resource was created. 1733 */ 1734 @Child(name = "created", type = {DateTimeType.class}, order=6, min=1, max=1, modifier=false, summary=true) 1735 @Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." ) 1736 protected DateTimeType created; 1737 1738 /** 1739 * Person who created the request. 1740 */ 1741 @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class}, order=7, min=0, max=1, modifier=false, summary=false) 1742 @Description(shortDefinition="Author", formalDefinition="Person who created the request." ) 1743 protected Reference enterer; 1744 1745 /** 1746 * The provider which is responsible for the request. 1747 */ 1748 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) 1749 @Description(shortDefinition="Party responsible for the request", formalDefinition="The provider which is responsible for the request." ) 1750 protected Reference provider; 1751 1752 /** 1753 * The Insurer who issued the coverage in question and is the recipient of the request. 1754 */ 1755 @Child(name = "insurer", type = {Organization.class}, order=9, min=1, max=1, modifier=false, summary=true) 1756 @Description(shortDefinition="Coverage issuer", formalDefinition="The Insurer who issued the coverage in question and is the recipient of the request." ) 1757 protected Reference insurer; 1758 1759 /** 1760 * Facility where the services are intended to be provided. 1761 */ 1762 @Child(name = "facility", type = {Location.class}, order=10, min=0, max=1, modifier=false, summary=false) 1763 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services are intended to be provided." ) 1764 protected Reference facility; 1765 1766 /** 1767 * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. 1768 */ 1769 @Child(name = "supportingInfo", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1770 @Description(shortDefinition="Supporting information", formalDefinition="Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues." ) 1771 protected List<SupportingInformationComponent> supportingInfo; 1772 1773 /** 1774 * Financial instruments for reimbursement for the health care products and services. 1775 */ 1776 @Child(name = "insurance", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1777 @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services." ) 1778 protected List<InsuranceComponent> insurance; 1779 1780 /** 1781 * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. 1782 */ 1783 @Child(name = "item", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1784 @Description(shortDefinition="Item to be evaluated for eligibiity", formalDefinition="Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor." ) 1785 protected List<DetailsComponent> item; 1786 1787 private static final long serialVersionUID = -1573933127L; 1788 1789 /** 1790 * Constructor 1791 */ 1792 public CoverageEligibilityRequest() { 1793 super(); 1794 } 1795 1796 /** 1797 * Constructor 1798 */ 1799 public CoverageEligibilityRequest(FinancialResourceStatusCodes status, EligibilityRequestPurpose purpose, Reference patient, Date created, Reference insurer) { 1800 super(); 1801 this.setStatus(status); 1802 this.addPurpose(purpose); 1803 this.setPatient(patient); 1804 this.setCreated(created); 1805 this.setInsurer(insurer); 1806 } 1807 1808 /** 1809 * @return {@link #identifier} (A unique identifier assigned to this coverage eligiblity request.) 1810 */ 1811 public List<Identifier> getIdentifier() { 1812 if (this.identifier == null) 1813 this.identifier = new ArrayList<Identifier>(); 1814 return this.identifier; 1815 } 1816 1817 /** 1818 * @return Returns a reference to <code>this</code> for easy method chaining 1819 */ 1820 public CoverageEligibilityRequest setIdentifier(List<Identifier> theIdentifier) { 1821 this.identifier = theIdentifier; 1822 return this; 1823 } 1824 1825 public boolean hasIdentifier() { 1826 if (this.identifier == null) 1827 return false; 1828 for (Identifier item : this.identifier) 1829 if (!item.isEmpty()) 1830 return true; 1831 return false; 1832 } 1833 1834 public Identifier addIdentifier() { //3 1835 Identifier t = new Identifier(); 1836 if (this.identifier == null) 1837 this.identifier = new ArrayList<Identifier>(); 1838 this.identifier.add(t); 1839 return t; 1840 } 1841 1842 public CoverageEligibilityRequest addIdentifier(Identifier t) { //3 1843 if (t == null) 1844 return this; 1845 if (this.identifier == null) 1846 this.identifier = new ArrayList<Identifier>(); 1847 this.identifier.add(t); 1848 return this; 1849 } 1850 1851 /** 1852 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1853 */ 1854 public Identifier getIdentifierFirstRep() { 1855 if (getIdentifier().isEmpty()) { 1856 addIdentifier(); 1857 } 1858 return getIdentifier().get(0); 1859 } 1860 1861 /** 1862 * @return {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1863 */ 1864 public Enumeration<FinancialResourceStatusCodes> getStatusElement() { 1865 if (this.status == null) 1866 if (Configuration.errorOnAutoCreate()) 1867 throw new Error("Attempt to auto-create CoverageEligibilityRequest.status"); 1868 else if (Configuration.doAutoCreate()) 1869 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); // bb 1870 return this.status; 1871 } 1872 1873 public boolean hasStatusElement() { 1874 return this.status != null && !this.status.isEmpty(); 1875 } 1876 1877 public boolean hasStatus() { 1878 return this.status != null && !this.status.isEmpty(); 1879 } 1880 1881 /** 1882 * @param value {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1883 */ 1884 public CoverageEligibilityRequest setStatusElement(Enumeration<FinancialResourceStatusCodes> value) { 1885 this.status = value; 1886 return this; 1887 } 1888 1889 /** 1890 * @return The status of the resource instance. 1891 */ 1892 public FinancialResourceStatusCodes getStatus() { 1893 return this.status == null ? null : this.status.getValue(); 1894 } 1895 1896 /** 1897 * @param value The status of the resource instance. 1898 */ 1899 public CoverageEligibilityRequest setStatus(FinancialResourceStatusCodes value) { 1900 if (this.status == null) 1901 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); 1902 this.status.setValue(value); 1903 return this; 1904 } 1905 1906 /** 1907 * @return {@link #priority} (When the requestor expects the processor to complete processing.) 1908 */ 1909 public CodeableConcept getPriority() { 1910 if (this.priority == null) 1911 if (Configuration.errorOnAutoCreate()) 1912 throw new Error("Attempt to auto-create CoverageEligibilityRequest.priority"); 1913 else if (Configuration.doAutoCreate()) 1914 this.priority = new CodeableConcept(); // cc 1915 return this.priority; 1916 } 1917 1918 public boolean hasPriority() { 1919 return this.priority != null && !this.priority.isEmpty(); 1920 } 1921 1922 /** 1923 * @param value {@link #priority} (When the requestor expects the processor to complete processing.) 1924 */ 1925 public CoverageEligibilityRequest setPriority(CodeableConcept value) { 1926 this.priority = value; 1927 return this; 1928 } 1929 1930 /** 1931 * @return {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 1932 */ 1933 public List<Enumeration<EligibilityRequestPurpose>> getPurpose() { 1934 if (this.purpose == null) 1935 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 1936 return this.purpose; 1937 } 1938 1939 /** 1940 * @return Returns a reference to <code>this</code> for easy method chaining 1941 */ 1942 public CoverageEligibilityRequest setPurpose(List<Enumeration<EligibilityRequestPurpose>> thePurpose) { 1943 this.purpose = thePurpose; 1944 return this; 1945 } 1946 1947 public boolean hasPurpose() { 1948 if (this.purpose == null) 1949 return false; 1950 for (Enumeration<EligibilityRequestPurpose> item : this.purpose) 1951 if (!item.isEmpty()) 1952 return true; 1953 return false; 1954 } 1955 1956 /** 1957 * @return {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 1958 */ 1959 public Enumeration<EligibilityRequestPurpose> addPurposeElement() {//2 1960 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 1961 if (this.purpose == null) 1962 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 1963 this.purpose.add(t); 1964 return t; 1965 } 1966 1967 /** 1968 * @param value {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 1969 */ 1970 public CoverageEligibilityRequest addPurpose(EligibilityRequestPurpose value) { //1 1971 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 1972 t.setValue(value); 1973 if (this.purpose == null) 1974 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 1975 this.purpose.add(t); 1976 return this; 1977 } 1978 1979 /** 1980 * @param value {@link #purpose} (Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.) 1981 */ 1982 public boolean hasPurpose(EligibilityRequestPurpose value) { 1983 if (this.purpose == null) 1984 return false; 1985 for (Enumeration<EligibilityRequestPurpose> v : this.purpose) 1986 if (v.getValue().equals(value)) // code 1987 return true; 1988 return false; 1989 } 1990 1991 /** 1992 * @return {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 1993 */ 1994 public Reference getPatient() { 1995 if (this.patient == null) 1996 if (Configuration.errorOnAutoCreate()) 1997 throw new Error("Attempt to auto-create CoverageEligibilityRequest.patient"); 1998 else if (Configuration.doAutoCreate()) 1999 this.patient = new Reference(); // cc 2000 return this.patient; 2001 } 2002 2003 public boolean hasPatient() { 2004 return this.patient != null && !this.patient.isEmpty(); 2005 } 2006 2007 /** 2008 * @param value {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2009 */ 2010 public CoverageEligibilityRequest setPatient(Reference value) { 2011 this.patient = value; 2012 return this; 2013 } 2014 2015 /** 2016 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2017 */ 2018 public DataType getServiced() { 2019 return this.serviced; 2020 } 2021 2022 /** 2023 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2024 */ 2025 public DateType getServicedDateType() throws FHIRException { 2026 if (this.serviced == null) 2027 this.serviced = new DateType(); 2028 if (!(this.serviced instanceof DateType)) 2029 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2030 return (DateType) this.serviced; 2031 } 2032 2033 public boolean hasServicedDateType() { 2034 return this != null && this.serviced instanceof DateType; 2035 } 2036 2037 /** 2038 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2039 */ 2040 public Period getServicedPeriod() throws FHIRException { 2041 if (this.serviced == null) 2042 this.serviced = new Period(); 2043 if (!(this.serviced instanceof Period)) 2044 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2045 return (Period) this.serviced; 2046 } 2047 2048 public boolean hasServicedPeriod() { 2049 return this != null && this.serviced instanceof Period; 2050 } 2051 2052 public boolean hasServiced() { 2053 return this.serviced != null && !this.serviced.isEmpty(); 2054 } 2055 2056 /** 2057 * @param value {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2058 */ 2059 public CoverageEligibilityRequest setServiced(DataType value) { 2060 if (value != null && !(value instanceof DateType || value instanceof Period)) 2061 throw new Error("Not the right type for CoverageEligibilityRequest.serviced[x]: "+value.fhirType()); 2062 this.serviced = value; 2063 return this; 2064 } 2065 2066 /** 2067 * @return {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2068 */ 2069 public DateTimeType getCreatedElement() { 2070 if (this.created == null) 2071 if (Configuration.errorOnAutoCreate()) 2072 throw new Error("Attempt to auto-create CoverageEligibilityRequest.created"); 2073 else if (Configuration.doAutoCreate()) 2074 this.created = new DateTimeType(); // bb 2075 return this.created; 2076 } 2077 2078 public boolean hasCreatedElement() { 2079 return this.created != null && !this.created.isEmpty(); 2080 } 2081 2082 public boolean hasCreated() { 2083 return this.created != null && !this.created.isEmpty(); 2084 } 2085 2086 /** 2087 * @param value {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 2088 */ 2089 public CoverageEligibilityRequest setCreatedElement(DateTimeType value) { 2090 this.created = value; 2091 return this; 2092 } 2093 2094 /** 2095 * @return The date when this resource was created. 2096 */ 2097 public Date getCreated() { 2098 return this.created == null ? null : this.created.getValue(); 2099 } 2100 2101 /** 2102 * @param value The date when this resource was created. 2103 */ 2104 public CoverageEligibilityRequest setCreated(Date value) { 2105 if (this.created == null) 2106 this.created = new DateTimeType(); 2107 this.created.setValue(value); 2108 return this; 2109 } 2110 2111 /** 2112 * @return {@link #enterer} (Person who created the request.) 2113 */ 2114 public Reference getEnterer() { 2115 if (this.enterer == null) 2116 if (Configuration.errorOnAutoCreate()) 2117 throw new Error("Attempt to auto-create CoverageEligibilityRequest.enterer"); 2118 else if (Configuration.doAutoCreate()) 2119 this.enterer = new Reference(); // cc 2120 return this.enterer; 2121 } 2122 2123 public boolean hasEnterer() { 2124 return this.enterer != null && !this.enterer.isEmpty(); 2125 } 2126 2127 /** 2128 * @param value {@link #enterer} (Person who created the request.) 2129 */ 2130 public CoverageEligibilityRequest setEnterer(Reference value) { 2131 this.enterer = value; 2132 return this; 2133 } 2134 2135 /** 2136 * @return {@link #provider} (The provider which is responsible for the request.) 2137 */ 2138 public Reference getProvider() { 2139 if (this.provider == null) 2140 if (Configuration.errorOnAutoCreate()) 2141 throw new Error("Attempt to auto-create CoverageEligibilityRequest.provider"); 2142 else if (Configuration.doAutoCreate()) 2143 this.provider = new Reference(); // cc 2144 return this.provider; 2145 } 2146 2147 public boolean hasProvider() { 2148 return this.provider != null && !this.provider.isEmpty(); 2149 } 2150 2151 /** 2152 * @param value {@link #provider} (The provider which is responsible for the request.) 2153 */ 2154 public CoverageEligibilityRequest setProvider(Reference value) { 2155 this.provider = value; 2156 return this; 2157 } 2158 2159 /** 2160 * @return {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2161 */ 2162 public Reference getInsurer() { 2163 if (this.insurer == null) 2164 if (Configuration.errorOnAutoCreate()) 2165 throw new Error("Attempt to auto-create CoverageEligibilityRequest.insurer"); 2166 else if (Configuration.doAutoCreate()) 2167 this.insurer = new Reference(); // cc 2168 return this.insurer; 2169 } 2170 2171 public boolean hasInsurer() { 2172 return this.insurer != null && !this.insurer.isEmpty(); 2173 } 2174 2175 /** 2176 * @param value {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2177 */ 2178 public CoverageEligibilityRequest setInsurer(Reference value) { 2179 this.insurer = value; 2180 return this; 2181 } 2182 2183 /** 2184 * @return {@link #facility} (Facility where the services are intended to be provided.) 2185 */ 2186 public Reference getFacility() { 2187 if (this.facility == null) 2188 if (Configuration.errorOnAutoCreate()) 2189 throw new Error("Attempt to auto-create CoverageEligibilityRequest.facility"); 2190 else if (Configuration.doAutoCreate()) 2191 this.facility = new Reference(); // cc 2192 return this.facility; 2193 } 2194 2195 public boolean hasFacility() { 2196 return this.facility != null && !this.facility.isEmpty(); 2197 } 2198 2199 /** 2200 * @param value {@link #facility} (Facility where the services are intended to be provided.) 2201 */ 2202 public CoverageEligibilityRequest setFacility(Reference value) { 2203 this.facility = value; 2204 return this; 2205 } 2206 2207 /** 2208 * @return {@link #supportingInfo} (Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.) 2209 */ 2210 public List<SupportingInformationComponent> getSupportingInfo() { 2211 if (this.supportingInfo == null) 2212 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2213 return this.supportingInfo; 2214 } 2215 2216 /** 2217 * @return Returns a reference to <code>this</code> for easy method chaining 2218 */ 2219 public CoverageEligibilityRequest setSupportingInfo(List<SupportingInformationComponent> theSupportingInfo) { 2220 this.supportingInfo = theSupportingInfo; 2221 return this; 2222 } 2223 2224 public boolean hasSupportingInfo() { 2225 if (this.supportingInfo == null) 2226 return false; 2227 for (SupportingInformationComponent item : this.supportingInfo) 2228 if (!item.isEmpty()) 2229 return true; 2230 return false; 2231 } 2232 2233 public SupportingInformationComponent addSupportingInfo() { //3 2234 SupportingInformationComponent t = new SupportingInformationComponent(); 2235 if (this.supportingInfo == null) 2236 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2237 this.supportingInfo.add(t); 2238 return t; 2239 } 2240 2241 public CoverageEligibilityRequest addSupportingInfo(SupportingInformationComponent t) { //3 2242 if (t == null) 2243 return this; 2244 if (this.supportingInfo == null) 2245 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2246 this.supportingInfo.add(t); 2247 return this; 2248 } 2249 2250 /** 2251 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 2252 */ 2253 public SupportingInformationComponent getSupportingInfoFirstRep() { 2254 if (getSupportingInfo().isEmpty()) { 2255 addSupportingInfo(); 2256 } 2257 return getSupportingInfo().get(0); 2258 } 2259 2260 /** 2261 * @return {@link #insurance} (Financial instruments for reimbursement for the health care products and services.) 2262 */ 2263 public List<InsuranceComponent> getInsurance() { 2264 if (this.insurance == null) 2265 this.insurance = new ArrayList<InsuranceComponent>(); 2266 return this.insurance; 2267 } 2268 2269 /** 2270 * @return Returns a reference to <code>this</code> for easy method chaining 2271 */ 2272 public CoverageEligibilityRequest setInsurance(List<InsuranceComponent> theInsurance) { 2273 this.insurance = theInsurance; 2274 return this; 2275 } 2276 2277 public boolean hasInsurance() { 2278 if (this.insurance == null) 2279 return false; 2280 for (InsuranceComponent item : this.insurance) 2281 if (!item.isEmpty()) 2282 return true; 2283 return false; 2284 } 2285 2286 public InsuranceComponent addInsurance() { //3 2287 InsuranceComponent t = new InsuranceComponent(); 2288 if (this.insurance == null) 2289 this.insurance = new ArrayList<InsuranceComponent>(); 2290 this.insurance.add(t); 2291 return t; 2292 } 2293 2294 public CoverageEligibilityRequest addInsurance(InsuranceComponent t) { //3 2295 if (t == null) 2296 return this; 2297 if (this.insurance == null) 2298 this.insurance = new ArrayList<InsuranceComponent>(); 2299 this.insurance.add(t); 2300 return this; 2301 } 2302 2303 /** 2304 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 2305 */ 2306 public InsuranceComponent getInsuranceFirstRep() { 2307 if (getInsurance().isEmpty()) { 2308 addInsurance(); 2309 } 2310 return getInsurance().get(0); 2311 } 2312 2313 /** 2314 * @return {@link #item} (Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.) 2315 */ 2316 public List<DetailsComponent> getItem() { 2317 if (this.item == null) 2318 this.item = new ArrayList<DetailsComponent>(); 2319 return this.item; 2320 } 2321 2322 /** 2323 * @return Returns a reference to <code>this</code> for easy method chaining 2324 */ 2325 public CoverageEligibilityRequest setItem(List<DetailsComponent> theItem) { 2326 this.item = theItem; 2327 return this; 2328 } 2329 2330 public boolean hasItem() { 2331 if (this.item == null) 2332 return false; 2333 for (DetailsComponent item : this.item) 2334 if (!item.isEmpty()) 2335 return true; 2336 return false; 2337 } 2338 2339 public DetailsComponent addItem() { //3 2340 DetailsComponent t = new DetailsComponent(); 2341 if (this.item == null) 2342 this.item = new ArrayList<DetailsComponent>(); 2343 this.item.add(t); 2344 return t; 2345 } 2346 2347 public CoverageEligibilityRequest addItem(DetailsComponent t) { //3 2348 if (t == null) 2349 return this; 2350 if (this.item == null) 2351 this.item = new ArrayList<DetailsComponent>(); 2352 this.item.add(t); 2353 return this; 2354 } 2355 2356 /** 2357 * @return The first repetition of repeating field {@link #item}, creating it if it does not already exist {3} 2358 */ 2359 public DetailsComponent getItemFirstRep() { 2360 if (getItem().isEmpty()) { 2361 addItem(); 2362 } 2363 return getItem().get(0); 2364 } 2365 2366 protected void listChildren(List<Property> children) { 2367 super.listChildren(children); 2368 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2369 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 2370 children.add(new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority)); 2371 children.add(new Property("purpose", "code", "Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.", 0, java.lang.Integer.MAX_VALUE, purpose)); 2372 children.add(new Property("patient", "Reference(Patient)", "The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.", 0, 1, patient)); 2373 children.add(new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced)); 2374 children.add(new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created)); 2375 children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer)); 2376 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider)); 2377 children.add(new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the recipient of the request.", 0, 1, insurer)); 2378 children.add(new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility)); 2379 children.add(new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 2380 children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance)); 2381 children.add(new Property("item", "", "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.", 0, java.lang.Integer.MAX_VALUE, item)); 2382 } 2383 2384 @Override 2385 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2386 switch (_hash) { 2387 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier); 2388 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 2389 case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority); 2390 case -220463842: /*purpose*/ return new Property("purpose", "code", "Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.", 0, java.lang.Integer.MAX_VALUE, purpose); 2391 case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.", 0, 1, patient); 2392 case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2393 case 1379209295: /*serviced*/ return new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2394 case 363246749: /*servicedDate*/ return new Property("serviced[x]", "date", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2395 case 1534966512: /*servicedPeriod*/ return new Property("serviced[x]", "Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, 1, serviced); 2396 case 1028554472: /*created*/ return new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created); 2397 case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer); 2398 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider); 2399 case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The Insurer who issued the coverage in question and is the recipient of the request.", 0, 1, insurer); 2400 case 501116579: /*facility*/ return new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility); 2401 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 2402 case 73049818: /*insurance*/ return new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance); 2403 case 3242771: /*item*/ return new Property("item", "", "Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.", 0, java.lang.Integer.MAX_VALUE, item); 2404 default: return super.getNamedProperty(_hash, _name, _checkValid); 2405 } 2406 2407 } 2408 2409 @Override 2410 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2411 switch (hash) { 2412 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2413 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FinancialResourceStatusCodes> 2414 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept 2415 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // Enumeration<EligibilityRequestPurpose> 2416 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2417 case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType 2418 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 2419 case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference 2420 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 2421 case 1957615864: /*insurer*/ return this.insurer == null ? new Base[0] : new Base[] {this.insurer}; // Reference 2422 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 2423 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // SupportingInformationComponent 2424 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent 2425 case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // DetailsComponent 2426 default: return super.getProperty(hash, name, checkValid); 2427 } 2428 2429 } 2430 2431 @Override 2432 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2433 switch (hash) { 2434 case -1618432855: // identifier 2435 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2436 return value; 2437 case -892481550: // status 2438 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2439 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2440 return value; 2441 case -1165461084: // priority 2442 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2443 return value; 2444 case -220463842: // purpose 2445 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2446 this.getPurpose().add((Enumeration) value); // Enumeration<EligibilityRequestPurpose> 2447 return value; 2448 case -791418107: // patient 2449 this.patient = TypeConvertor.castToReference(value); // Reference 2450 return value; 2451 case 1379209295: // serviced 2452 this.serviced = TypeConvertor.castToType(value); // DataType 2453 return value; 2454 case 1028554472: // created 2455 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2456 return value; 2457 case -1591951995: // enterer 2458 this.enterer = TypeConvertor.castToReference(value); // Reference 2459 return value; 2460 case -987494927: // provider 2461 this.provider = TypeConvertor.castToReference(value); // Reference 2462 return value; 2463 case 1957615864: // insurer 2464 this.insurer = TypeConvertor.castToReference(value); // Reference 2465 return value; 2466 case 501116579: // facility 2467 this.facility = TypeConvertor.castToReference(value); // Reference 2468 return value; 2469 case 1922406657: // supportingInfo 2470 this.getSupportingInfo().add((SupportingInformationComponent) value); // SupportingInformationComponent 2471 return value; 2472 case 73049818: // insurance 2473 this.getInsurance().add((InsuranceComponent) value); // InsuranceComponent 2474 return value; 2475 case 3242771: // item 2476 this.getItem().add((DetailsComponent) value); // DetailsComponent 2477 return value; 2478 default: return super.setProperty(hash, name, value); 2479 } 2480 2481 } 2482 2483 @Override 2484 public Base setProperty(String name, Base value) throws FHIRException { 2485 if (name.equals("identifier")) { 2486 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2487 } else if (name.equals("status")) { 2488 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2489 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2490 } else if (name.equals("priority")) { 2491 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2492 } else if (name.equals("purpose")) { 2493 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2494 this.getPurpose().add((Enumeration) value); 2495 } else if (name.equals("patient")) { 2496 this.patient = TypeConvertor.castToReference(value); // Reference 2497 } else if (name.equals("serviced[x]")) { 2498 this.serviced = TypeConvertor.castToType(value); // DataType 2499 } else if (name.equals("created")) { 2500 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2501 } else if (name.equals("enterer")) { 2502 this.enterer = TypeConvertor.castToReference(value); // Reference 2503 } else if (name.equals("provider")) { 2504 this.provider = TypeConvertor.castToReference(value); // Reference 2505 } else if (name.equals("insurer")) { 2506 this.insurer = TypeConvertor.castToReference(value); // Reference 2507 } else if (name.equals("facility")) { 2508 this.facility = TypeConvertor.castToReference(value); // Reference 2509 } else if (name.equals("supportingInfo")) { 2510 this.getSupportingInfo().add((SupportingInformationComponent) value); 2511 } else if (name.equals("insurance")) { 2512 this.getInsurance().add((InsuranceComponent) value); 2513 } else if (name.equals("item")) { 2514 this.getItem().add((DetailsComponent) value); 2515 } else 2516 return super.setProperty(name, value); 2517 return value; 2518 } 2519 2520 @Override 2521 public Base makeProperty(int hash, String name) throws FHIRException { 2522 switch (hash) { 2523 case -1618432855: return addIdentifier(); 2524 case -892481550: return getStatusElement(); 2525 case -1165461084: return getPriority(); 2526 case -220463842: return addPurposeElement(); 2527 case -791418107: return getPatient(); 2528 case -1927922223: return getServiced(); 2529 case 1379209295: return getServiced(); 2530 case 1028554472: return getCreatedElement(); 2531 case -1591951995: return getEnterer(); 2532 case -987494927: return getProvider(); 2533 case 1957615864: return getInsurer(); 2534 case 501116579: return getFacility(); 2535 case 1922406657: return addSupportingInfo(); 2536 case 73049818: return addInsurance(); 2537 case 3242771: return addItem(); 2538 default: return super.makeProperty(hash, name); 2539 } 2540 2541 } 2542 2543 @Override 2544 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2545 switch (hash) { 2546 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2547 case -892481550: /*status*/ return new String[] {"code"}; 2548 case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; 2549 case -220463842: /*purpose*/ return new String[] {"code"}; 2550 case -791418107: /*patient*/ return new String[] {"Reference"}; 2551 case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; 2552 case 1028554472: /*created*/ return new String[] {"dateTime"}; 2553 case -1591951995: /*enterer*/ return new String[] {"Reference"}; 2554 case -987494927: /*provider*/ return new String[] {"Reference"}; 2555 case 1957615864: /*insurer*/ return new String[] {"Reference"}; 2556 case 501116579: /*facility*/ return new String[] {"Reference"}; 2557 case 1922406657: /*supportingInfo*/ return new String[] {}; 2558 case 73049818: /*insurance*/ return new String[] {}; 2559 case 3242771: /*item*/ return new String[] {}; 2560 default: return super.getTypesForProperty(hash, name); 2561 } 2562 2563 } 2564 2565 @Override 2566 public Base addChild(String name) throws FHIRException { 2567 if (name.equals("identifier")) { 2568 return addIdentifier(); 2569 } 2570 else if (name.equals("status")) { 2571 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.status"); 2572 } 2573 else if (name.equals("priority")) { 2574 this.priority = new CodeableConcept(); 2575 return this.priority; 2576 } 2577 else if (name.equals("purpose")) { 2578 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.purpose"); 2579 } 2580 else if (name.equals("patient")) { 2581 this.patient = new Reference(); 2582 return this.patient; 2583 } 2584 else if (name.equals("servicedDate")) { 2585 this.serviced = new DateType(); 2586 return this.serviced; 2587 } 2588 else if (name.equals("servicedPeriod")) { 2589 this.serviced = new Period(); 2590 return this.serviced; 2591 } 2592 else if (name.equals("created")) { 2593 throw new FHIRException("Cannot call addChild on a primitive type CoverageEligibilityRequest.created"); 2594 } 2595 else if (name.equals("enterer")) { 2596 this.enterer = new Reference(); 2597 return this.enterer; 2598 } 2599 else if (name.equals("provider")) { 2600 this.provider = new Reference(); 2601 return this.provider; 2602 } 2603 else if (name.equals("insurer")) { 2604 this.insurer = new Reference(); 2605 return this.insurer; 2606 } 2607 else if (name.equals("facility")) { 2608 this.facility = new Reference(); 2609 return this.facility; 2610 } 2611 else if (name.equals("supportingInfo")) { 2612 return addSupportingInfo(); 2613 } 2614 else if (name.equals("insurance")) { 2615 return addInsurance(); 2616 } 2617 else if (name.equals("item")) { 2618 return addItem(); 2619 } 2620 else 2621 return super.addChild(name); 2622 } 2623 2624 public String fhirType() { 2625 return "CoverageEligibilityRequest"; 2626 2627 } 2628 2629 public CoverageEligibilityRequest copy() { 2630 CoverageEligibilityRequest dst = new CoverageEligibilityRequest(); 2631 copyValues(dst); 2632 return dst; 2633 } 2634 2635 public void copyValues(CoverageEligibilityRequest dst) { 2636 super.copyValues(dst); 2637 if (identifier != null) { 2638 dst.identifier = new ArrayList<Identifier>(); 2639 for (Identifier i : identifier) 2640 dst.identifier.add(i.copy()); 2641 }; 2642 dst.status = status == null ? null : status.copy(); 2643 dst.priority = priority == null ? null : priority.copy(); 2644 if (purpose != null) { 2645 dst.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2646 for (Enumeration<EligibilityRequestPurpose> i : purpose) 2647 dst.purpose.add(i.copy()); 2648 }; 2649 dst.patient = patient == null ? null : patient.copy(); 2650 dst.serviced = serviced == null ? null : serviced.copy(); 2651 dst.created = created == null ? null : created.copy(); 2652 dst.enterer = enterer == null ? null : enterer.copy(); 2653 dst.provider = provider == null ? null : provider.copy(); 2654 dst.insurer = insurer == null ? null : insurer.copy(); 2655 dst.facility = facility == null ? null : facility.copy(); 2656 if (supportingInfo != null) { 2657 dst.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2658 for (SupportingInformationComponent i : supportingInfo) 2659 dst.supportingInfo.add(i.copy()); 2660 }; 2661 if (insurance != null) { 2662 dst.insurance = new ArrayList<InsuranceComponent>(); 2663 for (InsuranceComponent i : insurance) 2664 dst.insurance.add(i.copy()); 2665 }; 2666 if (item != null) { 2667 dst.item = new ArrayList<DetailsComponent>(); 2668 for (DetailsComponent i : item) 2669 dst.item.add(i.copy()); 2670 }; 2671 } 2672 2673 protected CoverageEligibilityRequest typedCopy() { 2674 return copy(); 2675 } 2676 2677 @Override 2678 public boolean equalsDeep(Base other_) { 2679 if (!super.equalsDeep(other_)) 2680 return false; 2681 if (!(other_ instanceof CoverageEligibilityRequest)) 2682 return false; 2683 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 2684 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(priority, o.priority, true) 2685 && compareDeep(purpose, o.purpose, true) && compareDeep(patient, o.patient, true) && compareDeep(serviced, o.serviced, true) 2686 && compareDeep(created, o.created, true) && compareDeep(enterer, o.enterer, true) && compareDeep(provider, o.provider, true) 2687 && compareDeep(insurer, o.insurer, true) && compareDeep(facility, o.facility, true) && compareDeep(supportingInfo, o.supportingInfo, true) 2688 && compareDeep(insurance, o.insurance, true) && compareDeep(item, o.item, true); 2689 } 2690 2691 @Override 2692 public boolean equalsShallow(Base other_) { 2693 if (!super.equalsShallow(other_)) 2694 return false; 2695 if (!(other_ instanceof CoverageEligibilityRequest)) 2696 return false; 2697 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 2698 return compareValues(status, o.status, true) && compareValues(purpose, o.purpose, true) && compareValues(created, o.created, true) 2699 ; 2700 } 2701 2702 public boolean isEmpty() { 2703 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, priority 2704 , purpose, patient, serviced, created, enterer, provider, insurer, facility 2705 , supportingInfo, insurance, item); 2706 } 2707 2708 @Override 2709 public ResourceType getResourceType() { 2710 return ResourceType.CoverageEligibilityRequest; 2711 } 2712 2713 /** 2714 * Search parameter: <b>created</b> 2715 * <p> 2716 * Description: <b>The creation date for the EOB</b><br> 2717 * Type: <b>date</b><br> 2718 * Path: <b>CoverageEligibilityRequest.created</b><br> 2719 * </p> 2720 */ 2721 @SearchParamDefinition(name="created", path="CoverageEligibilityRequest.created", description="The creation date for the EOB", type="date" ) 2722 public static final String SP_CREATED = "created"; 2723 /** 2724 * <b>Fluent Client</b> search parameter constant for <b>created</b> 2725 * <p> 2726 * Description: <b>The creation date for the EOB</b><br> 2727 * Type: <b>date</b><br> 2728 * Path: <b>CoverageEligibilityRequest.created</b><br> 2729 * </p> 2730 */ 2731 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 2732 2733 /** 2734 * Search parameter: <b>enterer</b> 2735 * <p> 2736 * Description: <b>The party who is responsible for the request</b><br> 2737 * Type: <b>reference</b><br> 2738 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 2739 * </p> 2740 */ 2741 @SearchParamDefinition(name="enterer", path="CoverageEligibilityRequest.enterer", description="The party who is responsible for the request", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) 2742 public static final String SP_ENTERER = "enterer"; 2743 /** 2744 * <b>Fluent Client</b> search parameter constant for <b>enterer</b> 2745 * <p> 2746 * Description: <b>The party who is responsible for the request</b><br> 2747 * Type: <b>reference</b><br> 2748 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 2749 * </p> 2750 */ 2751 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENTERER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENTERER); 2752 2753/** 2754 * Constant for fluent queries to be used to add include statements. Specifies 2755 * the path value of "<b>CoverageEligibilityRequest:enterer</b>". 2756 */ 2757 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENTERER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:enterer").toLocked(); 2758 2759 /** 2760 * Search parameter: <b>facility</b> 2761 * <p> 2762 * Description: <b>Facility responsible for the goods and services</b><br> 2763 * Type: <b>reference</b><br> 2764 * Path: <b>CoverageEligibilityRequest.facility</b><br> 2765 * </p> 2766 */ 2767 @SearchParamDefinition(name="facility", path="CoverageEligibilityRequest.facility", description="Facility responsible for the goods and services", type="reference", target={Location.class } ) 2768 public static final String SP_FACILITY = "facility"; 2769 /** 2770 * <b>Fluent Client</b> search parameter constant for <b>facility</b> 2771 * <p> 2772 * Description: <b>Facility responsible for the goods and services</b><br> 2773 * Type: <b>reference</b><br> 2774 * Path: <b>CoverageEligibilityRequest.facility</b><br> 2775 * </p> 2776 */ 2777 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FACILITY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FACILITY); 2778 2779/** 2780 * Constant for fluent queries to be used to add include statements. Specifies 2781 * the path value of "<b>CoverageEligibilityRequest:facility</b>". 2782 */ 2783 public static final ca.uhn.fhir.model.api.Include INCLUDE_FACILITY = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:facility").toLocked(); 2784 2785 /** 2786 * Search parameter: <b>identifier</b> 2787 * <p> 2788 * Description: <b>The business identifier of the Eligibility</b><br> 2789 * Type: <b>token</b><br> 2790 * Path: <b>CoverageEligibilityRequest.identifier</b><br> 2791 * </p> 2792 */ 2793 @SearchParamDefinition(name="identifier", path="CoverageEligibilityRequest.identifier", description="The business identifier of the Eligibility", type="token" ) 2794 public static final String SP_IDENTIFIER = "identifier"; 2795 /** 2796 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2797 * <p> 2798 * Description: <b>The business identifier of the Eligibility</b><br> 2799 * Type: <b>token</b><br> 2800 * Path: <b>CoverageEligibilityRequest.identifier</b><br> 2801 * </p> 2802 */ 2803 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2804 2805 /** 2806 * Search parameter: <b>patient</b> 2807 * <p> 2808 * Description: <b>The reference to the patient</b><br> 2809 * Type: <b>reference</b><br> 2810 * Path: <b>CoverageEligibilityRequest.patient</b><br> 2811 * </p> 2812 */ 2813 @SearchParamDefinition(name="patient", path="CoverageEligibilityRequest.patient", description="The reference to the patient", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) 2814 public static final String SP_PATIENT = "patient"; 2815 /** 2816 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2817 * <p> 2818 * Description: <b>The reference to the patient</b><br> 2819 * Type: <b>reference</b><br> 2820 * Path: <b>CoverageEligibilityRequest.patient</b><br> 2821 * </p> 2822 */ 2823 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2824 2825/** 2826 * Constant for fluent queries to be used to add include statements. Specifies 2827 * the path value of "<b>CoverageEligibilityRequest:patient</b>". 2828 */ 2829 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:patient").toLocked(); 2830 2831 /** 2832 * Search parameter: <b>provider</b> 2833 * <p> 2834 * Description: <b>The reference to the provider</b><br> 2835 * Type: <b>reference</b><br> 2836 * Path: <b>CoverageEligibilityRequest.provider</b><br> 2837 * </p> 2838 */ 2839 @SearchParamDefinition(name="provider", path="CoverageEligibilityRequest.provider", description="The reference to the provider", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2840 public static final String SP_PROVIDER = "provider"; 2841 /** 2842 * <b>Fluent Client</b> search parameter constant for <b>provider</b> 2843 * <p> 2844 * Description: <b>The reference to the provider</b><br> 2845 * Type: <b>reference</b><br> 2846 * Path: <b>CoverageEligibilityRequest.provider</b><br> 2847 * </p> 2848 */ 2849 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROVIDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROVIDER); 2850 2851/** 2852 * Constant for fluent queries to be used to add include statements. Specifies 2853 * the path value of "<b>CoverageEligibilityRequest:provider</b>". 2854 */ 2855 public static final ca.uhn.fhir.model.api.Include INCLUDE_PROVIDER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:provider").toLocked(); 2856 2857 /** 2858 * Search parameter: <b>status</b> 2859 * <p> 2860 * Description: <b>The status of the EligibilityRequest</b><br> 2861 * Type: <b>token</b><br> 2862 * Path: <b>CoverageEligibilityRequest.status</b><br> 2863 * </p> 2864 */ 2865 @SearchParamDefinition(name="status", path="CoverageEligibilityRequest.status", description="The status of the EligibilityRequest", type="token" ) 2866 public static final String SP_STATUS = "status"; 2867 /** 2868 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2869 * <p> 2870 * Description: <b>The status of the EligibilityRequest</b><br> 2871 * Type: <b>token</b><br> 2872 * Path: <b>CoverageEligibilityRequest.status</b><br> 2873 * </p> 2874 */ 2875 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2876 2877 2878} 2879