![](/hapi-fhir/images/logos/raccoon-forwards.png)
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 Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 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 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getSystem() { 104 switch (this) { 105 case AUTHREQUIREMENTS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 106 case BENEFITS: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 107 case DISCOVERY: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 108 case VALIDATION: return "http://hl7.org/fhir/eligibilityrequest-purpose"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 public String getDefinition() { 114 switch (this) { 115 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."; 116 case BENEFITS: return "The plan benefits and optionally benefits consumed for the listed, or discovered if specified, converages are requested."; 117 case DISCOVERY: return "The insurer is requested to report on any coverages which they are aware of in addition to any specifed."; 118 case VALIDATION: return "A check that the specified coverages are in-force is requested."; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 public String getDisplay() { 124 switch (this) { 125 case AUTHREQUIREMENTS: return "Coverage auth-requirements"; 126 case BENEFITS: return "Coverage benefits"; 127 case DISCOVERY: return "Coverage Discovery"; 128 case VALIDATION: return "Coverage Validation"; 129 case NULL: return null; 130 default: return "?"; 131 } 132 } 133 } 134 135 public static class EligibilityRequestPurposeEnumFactory implements EnumFactory<EligibilityRequestPurpose> { 136 public EligibilityRequestPurpose fromCode(String codeString) throws IllegalArgumentException { 137 if (codeString == null || "".equals(codeString)) 138 if (codeString == null || "".equals(codeString)) 139 return null; 140 if ("auth-requirements".equals(codeString)) 141 return EligibilityRequestPurpose.AUTHREQUIREMENTS; 142 if ("benefits".equals(codeString)) 143 return EligibilityRequestPurpose.BENEFITS; 144 if ("discovery".equals(codeString)) 145 return EligibilityRequestPurpose.DISCOVERY; 146 if ("validation".equals(codeString)) 147 return EligibilityRequestPurpose.VALIDATION; 148 throw new IllegalArgumentException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 149 } 150 public Enumeration<EligibilityRequestPurpose> fromType(PrimitiveType<?> code) throws FHIRException { 151 if (code == null) 152 return null; 153 if (code.isEmpty()) 154 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.NULL, code); 155 String codeString = ((PrimitiveType) code).asStringValue(); 156 if (codeString == null || "".equals(codeString)) 157 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.NULL, code); 158 if ("auth-requirements".equals(codeString)) 159 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.AUTHREQUIREMENTS, code); 160 if ("benefits".equals(codeString)) 161 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.BENEFITS, code); 162 if ("discovery".equals(codeString)) 163 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.DISCOVERY, code); 164 if ("validation".equals(codeString)) 165 return new Enumeration<EligibilityRequestPurpose>(this, EligibilityRequestPurpose.VALIDATION, code); 166 throw new FHIRException("Unknown EligibilityRequestPurpose code '"+codeString+"'"); 167 } 168 public String toCode(EligibilityRequestPurpose code) { 169 if (code == EligibilityRequestPurpose.AUTHREQUIREMENTS) 170 return "auth-requirements"; 171 if (code == EligibilityRequestPurpose.BENEFITS) 172 return "benefits"; 173 if (code == EligibilityRequestPurpose.DISCOVERY) 174 return "discovery"; 175 if (code == EligibilityRequestPurpose.VALIDATION) 176 return "validation"; 177 return "?"; 178 } 179 public String toSystem(EligibilityRequestPurpose code) { 180 return code.getSystem(); 181 } 182 } 183 184 @Block() 185 public static class CoverageEligibilityRequestEventComponent extends BackboneElement implements IBaseBackboneElement { 186 /** 187 * A coded event such as when a service is expected or a card printed. 188 */ 189 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 190 @Description(shortDefinition="Specific event", formalDefinition="A coded event such as when a service is expected or a card printed." ) 191 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/datestype") 192 protected CodeableConcept type; 193 194 /** 195 * A date or period in the past or future indicating when the event occurred or is expectd to occur. 196 */ 197 @Child(name = "when", type = {DateTimeType.class, Period.class}, order=2, min=1, max=1, modifier=false, summary=false) 198 @Description(shortDefinition="Occurance date or period", formalDefinition="A date or period in the past or future indicating when the event occurred or is expectd to occur." ) 199 protected DataType when; 200 201 private static final long serialVersionUID = -634897375L; 202 203 /** 204 * Constructor 205 */ 206 public CoverageEligibilityRequestEventComponent() { 207 super(); 208 } 209 210 /** 211 * Constructor 212 */ 213 public CoverageEligibilityRequestEventComponent(CodeableConcept type, DataType when) { 214 super(); 215 this.setType(type); 216 this.setWhen(when); 217 } 218 219 /** 220 * @return {@link #type} (A coded event such as when a service is expected or a card printed.) 221 */ 222 public CodeableConcept getType() { 223 if (this.type == null) 224 if (Configuration.errorOnAutoCreate()) 225 throw new Error("Attempt to auto-create CoverageEligibilityRequestEventComponent.type"); 226 else if (Configuration.doAutoCreate()) 227 this.type = new CodeableConcept(); // cc 228 return this.type; 229 } 230 231 public boolean hasType() { 232 return this.type != null && !this.type.isEmpty(); 233 } 234 235 /** 236 * @param value {@link #type} (A coded event such as when a service is expected or a card printed.) 237 */ 238 public CoverageEligibilityRequestEventComponent setType(CodeableConcept value) { 239 this.type = value; 240 return this; 241 } 242 243 /** 244 * @return {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 245 */ 246 public DataType getWhen() { 247 return this.when; 248 } 249 250 /** 251 * @return {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 252 */ 253 public DateTimeType getWhenDateTimeType() throws FHIRException { 254 if (this.when == null) 255 this.when = new DateTimeType(); 256 if (!(this.when instanceof DateTimeType)) 257 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.when.getClass().getName()+" was encountered"); 258 return (DateTimeType) this.when; 259 } 260 261 public boolean hasWhenDateTimeType() { 262 return this != null && this.when instanceof DateTimeType; 263 } 264 265 /** 266 * @return {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 267 */ 268 public Period getWhenPeriod() throws FHIRException { 269 if (this.when == null) 270 this.when = new Period(); 271 if (!(this.when instanceof Period)) 272 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.when.getClass().getName()+" was encountered"); 273 return (Period) this.when; 274 } 275 276 public boolean hasWhenPeriod() { 277 return this != null && this.when instanceof Period; 278 } 279 280 public boolean hasWhen() { 281 return this.when != null && !this.when.isEmpty(); 282 } 283 284 /** 285 * @param value {@link #when} (A date or period in the past or future indicating when the event occurred or is expectd to occur.) 286 */ 287 public CoverageEligibilityRequestEventComponent setWhen(DataType value) { 288 if (value != null && !(value instanceof DateTimeType || value instanceof Period)) 289 throw new FHIRException("Not the right type for CoverageEligibilityRequest.event.when[x]: "+value.fhirType()); 290 this.when = value; 291 return this; 292 } 293 294 protected void listChildren(List<Property> children) { 295 super.listChildren(children); 296 children.add(new Property("type", "CodeableConcept", "A coded event such as when a service is expected or a card printed.", 0, 1, type)); 297 children.add(new Property("when[x]", "dateTime|Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when)); 298 } 299 300 @Override 301 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 302 switch (_hash) { 303 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A coded event such as when a service is expected or a card printed.", 0, 1, type); 304 case 1312831238: /*when[x]*/ return new Property("when[x]", "dateTime|Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 305 case 3648314: /*when*/ return new Property("when[x]", "dateTime|Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 306 case -1785502475: /*whenDateTime*/ return new Property("when[x]", "dateTime", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 307 case 251476379: /*whenPeriod*/ return new Property("when[x]", "Period", "A date or period in the past or future indicating when the event occurred or is expectd to occur.", 0, 1, when); 308 default: return super.getNamedProperty(_hash, _name, _checkValid); 309 } 310 311 } 312 313 @Override 314 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 315 switch (hash) { 316 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 317 case 3648314: /*when*/ return this.when == null ? new Base[0] : new Base[] {this.when}; // DataType 318 default: return super.getProperty(hash, name, checkValid); 319 } 320 321 } 322 323 @Override 324 public Base setProperty(int hash, String name, Base value) throws FHIRException { 325 switch (hash) { 326 case 3575610: // type 327 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 328 return value; 329 case 3648314: // when 330 this.when = TypeConvertor.castToType(value); // DataType 331 return value; 332 default: return super.setProperty(hash, name, value); 333 } 334 335 } 336 337 @Override 338 public Base setProperty(String name, Base value) throws FHIRException { 339 if (name.equals("type")) { 340 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 341 } else if (name.equals("when[x]")) { 342 this.when = TypeConvertor.castToType(value); // DataType 343 } else 344 return super.setProperty(name, value); 345 return value; 346 } 347 348 @Override 349 public void removeChild(String name, Base value) throws FHIRException { 350 if (name.equals("type")) { 351 this.type = null; 352 } else if (name.equals("when[x]")) { 353 this.when = null; 354 } else 355 super.removeChild(name, value); 356 357 } 358 359 @Override 360 public Base makeProperty(int hash, String name) throws FHIRException { 361 switch (hash) { 362 case 3575610: return getType(); 363 case 1312831238: return getWhen(); 364 case 3648314: return getWhen(); 365 default: return super.makeProperty(hash, name); 366 } 367 368 } 369 370 @Override 371 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 372 switch (hash) { 373 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 374 case 3648314: /*when*/ return new String[] {"dateTime", "Period"}; 375 default: return super.getTypesForProperty(hash, name); 376 } 377 378 } 379 380 @Override 381 public Base addChild(String name) throws FHIRException { 382 if (name.equals("type")) { 383 this.type = new CodeableConcept(); 384 return this.type; 385 } 386 else if (name.equals("whenDateTime")) { 387 this.when = new DateTimeType(); 388 return this.when; 389 } 390 else if (name.equals("whenPeriod")) { 391 this.when = new Period(); 392 return this.when; 393 } 394 else 395 return super.addChild(name); 396 } 397 398 public CoverageEligibilityRequestEventComponent copy() { 399 CoverageEligibilityRequestEventComponent dst = new CoverageEligibilityRequestEventComponent(); 400 copyValues(dst); 401 return dst; 402 } 403 404 public void copyValues(CoverageEligibilityRequestEventComponent dst) { 405 super.copyValues(dst); 406 dst.type = type == null ? null : type.copy(); 407 dst.when = when == null ? null : when.copy(); 408 } 409 410 @Override 411 public boolean equalsDeep(Base other_) { 412 if (!super.equalsDeep(other_)) 413 return false; 414 if (!(other_ instanceof CoverageEligibilityRequestEventComponent)) 415 return false; 416 CoverageEligibilityRequestEventComponent o = (CoverageEligibilityRequestEventComponent) other_; 417 return compareDeep(type, o.type, true) && compareDeep(when, o.when, true); 418 } 419 420 @Override 421 public boolean equalsShallow(Base other_) { 422 if (!super.equalsShallow(other_)) 423 return false; 424 if (!(other_ instanceof CoverageEligibilityRequestEventComponent)) 425 return false; 426 CoverageEligibilityRequestEventComponent o = (CoverageEligibilityRequestEventComponent) other_; 427 return true; 428 } 429 430 public boolean isEmpty() { 431 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, when); 432 } 433 434 public String fhirType() { 435 return "CoverageEligibilityRequest.event"; 436 437 } 438 439 } 440 441 @Block() 442 public static class SupportingInformationComponent extends BackboneElement implements IBaseBackboneElement { 443 /** 444 * A number to uniquely identify supporting information entries. 445 */ 446 @Child(name = "sequence", type = {PositiveIntType.class}, order=1, min=1, max=1, modifier=false, summary=false) 447 @Description(shortDefinition="Information instance identifier", formalDefinition="A number to uniquely identify supporting information entries." ) 448 protected PositiveIntType sequence; 449 450 /** 451 * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. 452 */ 453 @Child(name = "information", type = {Reference.class}, order=2, min=1, max=1, modifier=false, summary=false) 454 @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." ) 455 protected Reference information; 456 457 /** 458 * The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 459 */ 460 @Child(name = "appliesToAll", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 461 @Description(shortDefinition="Applies to all items", formalDefinition="The supporting materials are applicable for all detail items, product/servce categories and specific billing codes." ) 462 protected BooleanType appliesToAll; 463 464 private static final long serialVersionUID = -1430960090L; 465 466 /** 467 * Constructor 468 */ 469 public SupportingInformationComponent() { 470 super(); 471 } 472 473 /** 474 * Constructor 475 */ 476 public SupportingInformationComponent(int sequence, Reference information) { 477 super(); 478 this.setSequence(sequence); 479 this.setInformation(information); 480 } 481 482 /** 483 * @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 484 */ 485 public PositiveIntType getSequenceElement() { 486 if (this.sequence == null) 487 if (Configuration.errorOnAutoCreate()) 488 throw new Error("Attempt to auto-create SupportingInformationComponent.sequence"); 489 else if (Configuration.doAutoCreate()) 490 this.sequence = new PositiveIntType(); // bb 491 return this.sequence; 492 } 493 494 public boolean hasSequenceElement() { 495 return this.sequence != null && !this.sequence.isEmpty(); 496 } 497 498 public boolean hasSequence() { 499 return this.sequence != null && !this.sequence.isEmpty(); 500 } 501 502 /** 503 * @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 504 */ 505 public SupportingInformationComponent setSequenceElement(PositiveIntType value) { 506 this.sequence = value; 507 return this; 508 } 509 510 /** 511 * @return A number to uniquely identify supporting information entries. 512 */ 513 public int getSequence() { 514 return this.sequence == null || this.sequence.isEmpty() ? 0 : this.sequence.getValue(); 515 } 516 517 /** 518 * @param value A number to uniquely identify supporting information entries. 519 */ 520 public SupportingInformationComponent setSequence(int value) { 521 if (this.sequence == null) 522 this.sequence = new PositiveIntType(); 523 this.sequence.setValue(value); 524 return this; 525 } 526 527 /** 528 * @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.) 529 */ 530 public Reference getInformation() { 531 if (this.information == null) 532 if (Configuration.errorOnAutoCreate()) 533 throw new Error("Attempt to auto-create SupportingInformationComponent.information"); 534 else if (Configuration.doAutoCreate()) 535 this.information = new Reference(); // cc 536 return this.information; 537 } 538 539 public boolean hasInformation() { 540 return this.information != null && !this.information.isEmpty(); 541 } 542 543 /** 544 * @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.) 545 */ 546 public SupportingInformationComponent setInformation(Reference value) { 547 this.information = value; 548 return this; 549 } 550 551 /** 552 * @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 553 */ 554 public BooleanType getAppliesToAllElement() { 555 if (this.appliesToAll == null) 556 if (Configuration.errorOnAutoCreate()) 557 throw new Error("Attempt to auto-create SupportingInformationComponent.appliesToAll"); 558 else if (Configuration.doAutoCreate()) 559 this.appliesToAll = new BooleanType(); // bb 560 return this.appliesToAll; 561 } 562 563 public boolean hasAppliesToAllElement() { 564 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 565 } 566 567 public boolean hasAppliesToAll() { 568 return this.appliesToAll != null && !this.appliesToAll.isEmpty(); 569 } 570 571 /** 572 * @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 573 */ 574 public SupportingInformationComponent setAppliesToAllElement(BooleanType value) { 575 this.appliesToAll = value; 576 return this; 577 } 578 579 /** 580 * @return The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 581 */ 582 public boolean getAppliesToAll() { 583 return this.appliesToAll == null || this.appliesToAll.isEmpty() ? false : this.appliesToAll.getValue(); 584 } 585 586 /** 587 * @param value The supporting materials are applicable for all detail items, product/servce categories and specific billing codes. 588 */ 589 public SupportingInformationComponent setAppliesToAll(boolean value) { 590 if (this.appliesToAll == null) 591 this.appliesToAll = new BooleanType(); 592 this.appliesToAll.setValue(value); 593 return this; 594 } 595 596 protected void listChildren(List<Property> children) { 597 super.listChildren(children); 598 children.add(new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence)); 599 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)); 600 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)); 601 } 602 603 @Override 604 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 605 switch (_hash) { 606 case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A number to uniquely identify supporting information entries.", 0, 1, sequence); 607 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); 608 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); 609 default: return super.getNamedProperty(_hash, _name, _checkValid); 610 } 611 612 } 613 614 @Override 615 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 616 switch (hash) { 617 case 1349547969: /*sequence*/ return this.sequence == null ? new Base[0] : new Base[] {this.sequence}; // PositiveIntType 618 case 1968600364: /*information*/ return this.information == null ? new Base[0] : new Base[] {this.information}; // Reference 619 case -1096846342: /*appliesToAll*/ return this.appliesToAll == null ? new Base[0] : new Base[] {this.appliesToAll}; // BooleanType 620 default: return super.getProperty(hash, name, checkValid); 621 } 622 623 } 624 625 @Override 626 public Base setProperty(int hash, String name, Base value) throws FHIRException { 627 switch (hash) { 628 case 1349547969: // sequence 629 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 630 return value; 631 case 1968600364: // information 632 this.information = TypeConvertor.castToReference(value); // Reference 633 return value; 634 case -1096846342: // appliesToAll 635 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 636 return value; 637 default: return super.setProperty(hash, name, value); 638 } 639 640 } 641 642 @Override 643 public Base setProperty(String name, Base value) throws FHIRException { 644 if (name.equals("sequence")) { 645 this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType 646 } else if (name.equals("information")) { 647 this.information = TypeConvertor.castToReference(value); // Reference 648 } else if (name.equals("appliesToAll")) { 649 this.appliesToAll = TypeConvertor.castToBoolean(value); // BooleanType 650 } else 651 return super.setProperty(name, value); 652 return value; 653 } 654 655 @Override 656 public void removeChild(String name, Base value) throws FHIRException { 657 if (name.equals("sequence")) { 658 this.sequence = null; 659 } else if (name.equals("information")) { 660 this.information = null; 661 } else if (name.equals("appliesToAll")) { 662 this.appliesToAll = null; 663 } else 664 super.removeChild(name, value); 665 666 } 667 668 @Override 669 public Base makeProperty(int hash, String name) throws FHIRException { 670 switch (hash) { 671 case 1349547969: return getSequenceElement(); 672 case 1968600364: return getInformation(); 673 case -1096846342: return getAppliesToAllElement(); 674 default: return super.makeProperty(hash, name); 675 } 676 677 } 678 679 @Override 680 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 681 switch (hash) { 682 case 1349547969: /*sequence*/ return new String[] {"positiveInt"}; 683 case 1968600364: /*information*/ return new String[] {"Reference"}; 684 case -1096846342: /*appliesToAll*/ return new String[] {"boolean"}; 685 default: return super.getTypesForProperty(hash, name); 686 } 687 688 } 689 690 @Override 691 public Base addChild(String name) throws FHIRException { 692 if (name.equals("sequence")) { 693 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.supportingInfo.sequence"); 694 } 695 else if (name.equals("information")) { 696 this.information = new Reference(); 697 return this.information; 698 } 699 else if (name.equals("appliesToAll")) { 700 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.supportingInfo.appliesToAll"); 701 } 702 else 703 return super.addChild(name); 704 } 705 706 public SupportingInformationComponent copy() { 707 SupportingInformationComponent dst = new SupportingInformationComponent(); 708 copyValues(dst); 709 return dst; 710 } 711 712 public void copyValues(SupportingInformationComponent dst) { 713 super.copyValues(dst); 714 dst.sequence = sequence == null ? null : sequence.copy(); 715 dst.information = information == null ? null : information.copy(); 716 dst.appliesToAll = appliesToAll == null ? null : appliesToAll.copy(); 717 } 718 719 @Override 720 public boolean equalsDeep(Base other_) { 721 if (!super.equalsDeep(other_)) 722 return false; 723 if (!(other_ instanceof SupportingInformationComponent)) 724 return false; 725 SupportingInformationComponent o = (SupportingInformationComponent) other_; 726 return compareDeep(sequence, o.sequence, true) && compareDeep(information, o.information, true) 727 && compareDeep(appliesToAll, o.appliesToAll, true); 728 } 729 730 @Override 731 public boolean equalsShallow(Base other_) { 732 if (!super.equalsShallow(other_)) 733 return false; 734 if (!(other_ instanceof SupportingInformationComponent)) 735 return false; 736 SupportingInformationComponent o = (SupportingInformationComponent) other_; 737 return compareValues(sequence, o.sequence, true) && compareValues(appliesToAll, o.appliesToAll, true) 738 ; 739 } 740 741 public boolean isEmpty() { 742 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, information, appliesToAll 743 ); 744 } 745 746 public String fhirType() { 747 return "CoverageEligibilityRequest.supportingInfo"; 748 749 } 750 751 } 752 753 @Block() 754 public static class InsuranceComponent extends BackboneElement implements IBaseBackboneElement { 755 /** 756 * A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 757 */ 758 @Child(name = "focal", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 759 @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." ) 760 protected BooleanType focal; 761 762 /** 763 * 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. 764 */ 765 @Child(name = "coverage", type = {Coverage.class}, order=2, min=1, max=1, modifier=false, summary=false) 766 @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." ) 767 protected Reference coverage; 768 769 /** 770 * A business agreement number established between the provider and the insurer for special business processing purposes. 771 */ 772 @Child(name = "businessArrangement", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 773 @Description(shortDefinition="Additional provider contract number", formalDefinition="A business agreement number established between the provider and the insurer for special business processing purposes." ) 774 protected StringType businessArrangement; 775 776 private static final long serialVersionUID = -1656150261L; 777 778 /** 779 * Constructor 780 */ 781 public InsuranceComponent() { 782 super(); 783 } 784 785 /** 786 * Constructor 787 */ 788 public InsuranceComponent(Reference coverage) { 789 super(); 790 this.setCoverage(coverage); 791 } 792 793 /** 794 * @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 795 */ 796 public BooleanType getFocalElement() { 797 if (this.focal == null) 798 if (Configuration.errorOnAutoCreate()) 799 throw new Error("Attempt to auto-create InsuranceComponent.focal"); 800 else if (Configuration.doAutoCreate()) 801 this.focal = new BooleanType(); // bb 802 return this.focal; 803 } 804 805 public boolean hasFocalElement() { 806 return this.focal != null && !this.focal.isEmpty(); 807 } 808 809 public boolean hasFocal() { 810 return this.focal != null && !this.focal.isEmpty(); 811 } 812 813 /** 814 * @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 815 */ 816 public InsuranceComponent setFocalElement(BooleanType value) { 817 this.focal = value; 818 return this; 819 } 820 821 /** 822 * @return A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 823 */ 824 public boolean getFocal() { 825 return this.focal == null || this.focal.isEmpty() ? false : this.focal.getValue(); 826 } 827 828 /** 829 * @param value A flag to indicate that this Coverage is to be used for evaluation of this request when set to true. 830 */ 831 public InsuranceComponent setFocal(boolean value) { 832 if (this.focal == null) 833 this.focal = new BooleanType(); 834 this.focal.setValue(value); 835 return this; 836 } 837 838 /** 839 * @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.) 840 */ 841 public Reference getCoverage() { 842 if (this.coverage == null) 843 if (Configuration.errorOnAutoCreate()) 844 throw new Error("Attempt to auto-create InsuranceComponent.coverage"); 845 else if (Configuration.doAutoCreate()) 846 this.coverage = new Reference(); // cc 847 return this.coverage; 848 } 849 850 public boolean hasCoverage() { 851 return this.coverage != null && !this.coverage.isEmpty(); 852 } 853 854 /** 855 * @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.) 856 */ 857 public InsuranceComponent setCoverage(Reference value) { 858 this.coverage = value; 859 return this; 860 } 861 862 /** 863 * @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 864 */ 865 public StringType getBusinessArrangementElement() { 866 if (this.businessArrangement == null) 867 if (Configuration.errorOnAutoCreate()) 868 throw new Error("Attempt to auto-create InsuranceComponent.businessArrangement"); 869 else if (Configuration.doAutoCreate()) 870 this.businessArrangement = new StringType(); // bb 871 return this.businessArrangement; 872 } 873 874 public boolean hasBusinessArrangementElement() { 875 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 876 } 877 878 public boolean hasBusinessArrangement() { 879 return this.businessArrangement != null && !this.businessArrangement.isEmpty(); 880 } 881 882 /** 883 * @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 884 */ 885 public InsuranceComponent setBusinessArrangementElement(StringType value) { 886 this.businessArrangement = value; 887 return this; 888 } 889 890 /** 891 * @return A business agreement number established between the provider and the insurer for special business processing purposes. 892 */ 893 public String getBusinessArrangement() { 894 return this.businessArrangement == null ? null : this.businessArrangement.getValue(); 895 } 896 897 /** 898 * @param value A business agreement number established between the provider and the insurer for special business processing purposes. 899 */ 900 public InsuranceComponent setBusinessArrangement(String value) { 901 if (Utilities.noString(value)) 902 this.businessArrangement = null; 903 else { 904 if (this.businessArrangement == null) 905 this.businessArrangement = new StringType(); 906 this.businessArrangement.setValue(value); 907 } 908 return this; 909 } 910 911 protected void listChildren(List<Property> children) { 912 super.listChildren(children); 913 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)); 914 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)); 915 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)); 916 } 917 918 @Override 919 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 920 switch (_hash) { 921 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); 922 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); 923 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); 924 default: return super.getNamedProperty(_hash, _name, _checkValid); 925 } 926 927 } 928 929 @Override 930 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 931 switch (hash) { 932 case 97604197: /*focal*/ return this.focal == null ? new Base[0] : new Base[] {this.focal}; // BooleanType 933 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Reference 934 case 259920682: /*businessArrangement*/ return this.businessArrangement == null ? new Base[0] : new Base[] {this.businessArrangement}; // StringType 935 default: return super.getProperty(hash, name, checkValid); 936 } 937 938 } 939 940 @Override 941 public Base setProperty(int hash, String name, Base value) throws FHIRException { 942 switch (hash) { 943 case 97604197: // focal 944 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 945 return value; 946 case -351767064: // coverage 947 this.coverage = TypeConvertor.castToReference(value); // Reference 948 return value; 949 case 259920682: // businessArrangement 950 this.businessArrangement = TypeConvertor.castToString(value); // StringType 951 return value; 952 default: return super.setProperty(hash, name, value); 953 } 954 955 } 956 957 @Override 958 public Base setProperty(String name, Base value) throws FHIRException { 959 if (name.equals("focal")) { 960 this.focal = TypeConvertor.castToBoolean(value); // BooleanType 961 } else if (name.equals("coverage")) { 962 this.coverage = TypeConvertor.castToReference(value); // Reference 963 } else if (name.equals("businessArrangement")) { 964 this.businessArrangement = TypeConvertor.castToString(value); // StringType 965 } else 966 return super.setProperty(name, value); 967 return value; 968 } 969 970 @Override 971 public void removeChild(String name, Base value) throws FHIRException { 972 if (name.equals("focal")) { 973 this.focal = null; 974 } else if (name.equals("coverage")) { 975 this.coverage = null; 976 } else if (name.equals("businessArrangement")) { 977 this.businessArrangement = null; 978 } else 979 super.removeChild(name, value); 980 981 } 982 983 @Override 984 public Base makeProperty(int hash, String name) throws FHIRException { 985 switch (hash) { 986 case 97604197: return getFocalElement(); 987 case -351767064: return getCoverage(); 988 case 259920682: return getBusinessArrangementElement(); 989 default: return super.makeProperty(hash, name); 990 } 991 992 } 993 994 @Override 995 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 996 switch (hash) { 997 case 97604197: /*focal*/ return new String[] {"boolean"}; 998 case -351767064: /*coverage*/ return new String[] {"Reference"}; 999 case 259920682: /*businessArrangement*/ return new String[] {"string"}; 1000 default: return super.getTypesForProperty(hash, name); 1001 } 1002 1003 } 1004 1005 @Override 1006 public Base addChild(String name) throws FHIRException { 1007 if (name.equals("focal")) { 1008 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.insurance.focal"); 1009 } 1010 else if (name.equals("coverage")) { 1011 this.coverage = new Reference(); 1012 return this.coverage; 1013 } 1014 else if (name.equals("businessArrangement")) { 1015 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.insurance.businessArrangement"); 1016 } 1017 else 1018 return super.addChild(name); 1019 } 1020 1021 public InsuranceComponent copy() { 1022 InsuranceComponent dst = new InsuranceComponent(); 1023 copyValues(dst); 1024 return dst; 1025 } 1026 1027 public void copyValues(InsuranceComponent dst) { 1028 super.copyValues(dst); 1029 dst.focal = focal == null ? null : focal.copy(); 1030 dst.coverage = coverage == null ? null : coverage.copy(); 1031 dst.businessArrangement = businessArrangement == null ? null : businessArrangement.copy(); 1032 } 1033 1034 @Override 1035 public boolean equalsDeep(Base other_) { 1036 if (!super.equalsDeep(other_)) 1037 return false; 1038 if (!(other_ instanceof InsuranceComponent)) 1039 return false; 1040 InsuranceComponent o = (InsuranceComponent) other_; 1041 return compareDeep(focal, o.focal, true) && compareDeep(coverage, o.coverage, true) && compareDeep(businessArrangement, o.businessArrangement, true) 1042 ; 1043 } 1044 1045 @Override 1046 public boolean equalsShallow(Base other_) { 1047 if (!super.equalsShallow(other_)) 1048 return false; 1049 if (!(other_ instanceof InsuranceComponent)) 1050 return false; 1051 InsuranceComponent o = (InsuranceComponent) other_; 1052 return compareValues(focal, o.focal, true) && compareValues(businessArrangement, o.businessArrangement, true) 1053 ; 1054 } 1055 1056 public boolean isEmpty() { 1057 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(focal, coverage, businessArrangement 1058 ); 1059 } 1060 1061 public String fhirType() { 1062 return "CoverageEligibilityRequest.insurance"; 1063 1064 } 1065 1066 } 1067 1068 @Block() 1069 public static class DetailsComponent extends BackboneElement implements IBaseBackboneElement { 1070 /** 1071 * Exceptions, special conditions and supporting information applicable for this service or product line. 1072 */ 1073 @Child(name = "supportingInfoSequence", type = {PositiveIntType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1074 @Description(shortDefinition="Applicable exception or supporting information", formalDefinition="Exceptions, special conditions and supporting information applicable for this service or product line." ) 1075 protected List<PositiveIntType> supportingInfoSequence; 1076 1077 /** 1078 * Code to identify the general type of benefits under which products and services are provided. 1079 */ 1080 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 1081 @Description(shortDefinition="Benefit classification", formalDefinition="Code to identify the general type of benefits under which products and services are provided." ) 1082 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-benefitcategory") 1083 protected CodeableConcept category; 1084 1085 /** 1086 * This contains the product, service, drug or other billing code for the item. 1087 */ 1088 @Child(name = "productOrService", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 1089 @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="This contains the product, service, drug or other billing code for the item." ) 1090 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") 1091 protected CodeableConcept productOrService; 1092 1093 /** 1094 * Item typification or modifiers codes to convey additional context for the product or service. 1095 */ 1096 @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1097 @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) 1098 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") 1099 protected List<CodeableConcept> modifier; 1100 1101 /** 1102 * The practitioner who is responsible for the product or service to be rendered to the patient. 1103 */ 1104 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class}, order=5, min=0, max=1, modifier=false, summary=false) 1105 @Description(shortDefinition="Perfoming practitioner", formalDefinition="The practitioner who is responsible for the product or service to be rendered to the patient." ) 1106 protected Reference provider; 1107 1108 /** 1109 * The number of repetitions of a service or product. 1110 */ 1111 @Child(name = "quantity", type = {Quantity.class}, order=6, min=0, max=1, modifier=false, summary=false) 1112 @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) 1113 protected Quantity quantity; 1114 1115 /** 1116 * The amount charged to the patient by the provider for a single unit. 1117 */ 1118 @Child(name = "unitPrice", type = {Money.class}, order=7, min=0, max=1, modifier=false, summary=false) 1119 @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="The amount charged to the patient by the provider for a single unit." ) 1120 protected Money unitPrice; 1121 1122 /** 1123 * Facility where the services will be provided. 1124 */ 1125 @Child(name = "facility", type = {Location.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) 1126 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services will be provided." ) 1127 protected Reference facility; 1128 1129 /** 1130 * Patient diagnosis for which care is sought. 1131 */ 1132 @Child(name = "diagnosis", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1133 @Description(shortDefinition="Applicable diagnosis", formalDefinition="Patient diagnosis for which care is sought." ) 1134 protected List<DiagnosisComponent> diagnosis; 1135 1136 /** 1137 * The plan/proposal/order describing the proposed service in detail. 1138 */ 1139 @Child(name = "detail", type = {Reference.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1140 @Description(shortDefinition="Product or service details", formalDefinition="The plan/proposal/order describing the proposed service in detail." ) 1141 protected List<Reference> detail; 1142 1143 private static final long serialVersionUID = 1615052611L; 1144 1145 /** 1146 * Constructor 1147 */ 1148 public DetailsComponent() { 1149 super(); 1150 } 1151 1152 /** 1153 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1154 */ 1155 public List<PositiveIntType> getSupportingInfoSequence() { 1156 if (this.supportingInfoSequence == null) 1157 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1158 return this.supportingInfoSequence; 1159 } 1160 1161 /** 1162 * @return Returns a reference to <code>this</code> for easy method chaining 1163 */ 1164 public DetailsComponent setSupportingInfoSequence(List<PositiveIntType> theSupportingInfoSequence) { 1165 this.supportingInfoSequence = theSupportingInfoSequence; 1166 return this; 1167 } 1168 1169 public boolean hasSupportingInfoSequence() { 1170 if (this.supportingInfoSequence == null) 1171 return false; 1172 for (PositiveIntType item : this.supportingInfoSequence) 1173 if (!item.isEmpty()) 1174 return true; 1175 return false; 1176 } 1177 1178 /** 1179 * @return {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1180 */ 1181 public PositiveIntType addSupportingInfoSequenceElement() {//2 1182 PositiveIntType t = new PositiveIntType(); 1183 if (this.supportingInfoSequence == null) 1184 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1185 this.supportingInfoSequence.add(t); 1186 return t; 1187 } 1188 1189 /** 1190 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1191 */ 1192 public DetailsComponent addSupportingInfoSequence(int value) { //1 1193 PositiveIntType t = new PositiveIntType(); 1194 t.setValue(value); 1195 if (this.supportingInfoSequence == null) 1196 this.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1197 this.supportingInfoSequence.add(t); 1198 return this; 1199 } 1200 1201 /** 1202 * @param value {@link #supportingInfoSequence} (Exceptions, special conditions and supporting information applicable for this service or product line.) 1203 */ 1204 public boolean hasSupportingInfoSequence(int value) { 1205 if (this.supportingInfoSequence == null) 1206 return false; 1207 for (PositiveIntType v : this.supportingInfoSequence) 1208 if (v.getValue().equals(value)) // positiveInt 1209 return true; 1210 return false; 1211 } 1212 1213 /** 1214 * @return {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 1215 */ 1216 public CodeableConcept getCategory() { 1217 if (this.category == null) 1218 if (Configuration.errorOnAutoCreate()) 1219 throw new Error("Attempt to auto-create DetailsComponent.category"); 1220 else if (Configuration.doAutoCreate()) 1221 this.category = new CodeableConcept(); // cc 1222 return this.category; 1223 } 1224 1225 public boolean hasCategory() { 1226 return this.category != null && !this.category.isEmpty(); 1227 } 1228 1229 /** 1230 * @param value {@link #category} (Code to identify the general type of benefits under which products and services are provided.) 1231 */ 1232 public DetailsComponent setCategory(CodeableConcept value) { 1233 this.category = value; 1234 return this; 1235 } 1236 1237 /** 1238 * @return {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 1239 */ 1240 public CodeableConcept getProductOrService() { 1241 if (this.productOrService == null) 1242 if (Configuration.errorOnAutoCreate()) 1243 throw new Error("Attempt to auto-create DetailsComponent.productOrService"); 1244 else if (Configuration.doAutoCreate()) 1245 this.productOrService = new CodeableConcept(); // cc 1246 return this.productOrService; 1247 } 1248 1249 public boolean hasProductOrService() { 1250 return this.productOrService != null && !this.productOrService.isEmpty(); 1251 } 1252 1253 /** 1254 * @param value {@link #productOrService} (This contains the product, service, drug or other billing code for the item.) 1255 */ 1256 public DetailsComponent setProductOrService(CodeableConcept value) { 1257 this.productOrService = value; 1258 return this; 1259 } 1260 1261 /** 1262 * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) 1263 */ 1264 public List<CodeableConcept> getModifier() { 1265 if (this.modifier == null) 1266 this.modifier = new ArrayList<CodeableConcept>(); 1267 return this.modifier; 1268 } 1269 1270 /** 1271 * @return Returns a reference to <code>this</code> for easy method chaining 1272 */ 1273 public DetailsComponent setModifier(List<CodeableConcept> theModifier) { 1274 this.modifier = theModifier; 1275 return this; 1276 } 1277 1278 public boolean hasModifier() { 1279 if (this.modifier == null) 1280 return false; 1281 for (CodeableConcept item : this.modifier) 1282 if (!item.isEmpty()) 1283 return true; 1284 return false; 1285 } 1286 1287 public CodeableConcept addModifier() { //3 1288 CodeableConcept t = new CodeableConcept(); 1289 if (this.modifier == null) 1290 this.modifier = new ArrayList<CodeableConcept>(); 1291 this.modifier.add(t); 1292 return t; 1293 } 1294 1295 public DetailsComponent addModifier(CodeableConcept t) { //3 1296 if (t == null) 1297 return this; 1298 if (this.modifier == null) 1299 this.modifier = new ArrayList<CodeableConcept>(); 1300 this.modifier.add(t); 1301 return this; 1302 } 1303 1304 /** 1305 * @return The first repetition of repeating field {@link #modifier}, creating it if it does not already exist {3} 1306 */ 1307 public CodeableConcept getModifierFirstRep() { 1308 if (getModifier().isEmpty()) { 1309 addModifier(); 1310 } 1311 return getModifier().get(0); 1312 } 1313 1314 /** 1315 * @return {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1316 */ 1317 public Reference getProvider() { 1318 if (this.provider == null) 1319 if (Configuration.errorOnAutoCreate()) 1320 throw new Error("Attempt to auto-create DetailsComponent.provider"); 1321 else if (Configuration.doAutoCreate()) 1322 this.provider = new Reference(); // cc 1323 return this.provider; 1324 } 1325 1326 public boolean hasProvider() { 1327 return this.provider != null && !this.provider.isEmpty(); 1328 } 1329 1330 /** 1331 * @param value {@link #provider} (The practitioner who is responsible for the product or service to be rendered to the patient.) 1332 */ 1333 public DetailsComponent setProvider(Reference value) { 1334 this.provider = value; 1335 return this; 1336 } 1337 1338 /** 1339 * @return {@link #quantity} (The number of repetitions of a service or product.) 1340 */ 1341 public Quantity getQuantity() { 1342 if (this.quantity == null) 1343 if (Configuration.errorOnAutoCreate()) 1344 throw new Error("Attempt to auto-create DetailsComponent.quantity"); 1345 else if (Configuration.doAutoCreate()) 1346 this.quantity = new Quantity(); // cc 1347 return this.quantity; 1348 } 1349 1350 public boolean hasQuantity() { 1351 return this.quantity != null && !this.quantity.isEmpty(); 1352 } 1353 1354 /** 1355 * @param value {@link #quantity} (The number of repetitions of a service or product.) 1356 */ 1357 public DetailsComponent setQuantity(Quantity value) { 1358 this.quantity = value; 1359 return this; 1360 } 1361 1362 /** 1363 * @return {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1364 */ 1365 public Money getUnitPrice() { 1366 if (this.unitPrice == null) 1367 if (Configuration.errorOnAutoCreate()) 1368 throw new Error("Attempt to auto-create DetailsComponent.unitPrice"); 1369 else if (Configuration.doAutoCreate()) 1370 this.unitPrice = new Money(); // cc 1371 return this.unitPrice; 1372 } 1373 1374 public boolean hasUnitPrice() { 1375 return this.unitPrice != null && !this.unitPrice.isEmpty(); 1376 } 1377 1378 /** 1379 * @param value {@link #unitPrice} (The amount charged to the patient by the provider for a single unit.) 1380 */ 1381 public DetailsComponent setUnitPrice(Money value) { 1382 this.unitPrice = value; 1383 return this; 1384 } 1385 1386 /** 1387 * @return {@link #facility} (Facility where the services will be provided.) 1388 */ 1389 public Reference getFacility() { 1390 if (this.facility == null) 1391 if (Configuration.errorOnAutoCreate()) 1392 throw new Error("Attempt to auto-create DetailsComponent.facility"); 1393 else if (Configuration.doAutoCreate()) 1394 this.facility = new Reference(); // cc 1395 return this.facility; 1396 } 1397 1398 public boolean hasFacility() { 1399 return this.facility != null && !this.facility.isEmpty(); 1400 } 1401 1402 /** 1403 * @param value {@link #facility} (Facility where the services will be provided.) 1404 */ 1405 public DetailsComponent setFacility(Reference value) { 1406 this.facility = value; 1407 return this; 1408 } 1409 1410 /** 1411 * @return {@link #diagnosis} (Patient diagnosis for which care is sought.) 1412 */ 1413 public List<DiagnosisComponent> getDiagnosis() { 1414 if (this.diagnosis == null) 1415 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1416 return this.diagnosis; 1417 } 1418 1419 /** 1420 * @return Returns a reference to <code>this</code> for easy method chaining 1421 */ 1422 public DetailsComponent setDiagnosis(List<DiagnosisComponent> theDiagnosis) { 1423 this.diagnosis = theDiagnosis; 1424 return this; 1425 } 1426 1427 public boolean hasDiagnosis() { 1428 if (this.diagnosis == null) 1429 return false; 1430 for (DiagnosisComponent item : this.diagnosis) 1431 if (!item.isEmpty()) 1432 return true; 1433 return false; 1434 } 1435 1436 public DiagnosisComponent addDiagnosis() { //3 1437 DiagnosisComponent t = new DiagnosisComponent(); 1438 if (this.diagnosis == null) 1439 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1440 this.diagnosis.add(t); 1441 return t; 1442 } 1443 1444 public DetailsComponent addDiagnosis(DiagnosisComponent t) { //3 1445 if (t == null) 1446 return this; 1447 if (this.diagnosis == null) 1448 this.diagnosis = new ArrayList<DiagnosisComponent>(); 1449 this.diagnosis.add(t); 1450 return this; 1451 } 1452 1453 /** 1454 * @return The first repetition of repeating field {@link #diagnosis}, creating it if it does not already exist {3} 1455 */ 1456 public DiagnosisComponent getDiagnosisFirstRep() { 1457 if (getDiagnosis().isEmpty()) { 1458 addDiagnosis(); 1459 } 1460 return getDiagnosis().get(0); 1461 } 1462 1463 /** 1464 * @return {@link #detail} (The plan/proposal/order describing the proposed service in detail.) 1465 */ 1466 public List<Reference> getDetail() { 1467 if (this.detail == null) 1468 this.detail = new ArrayList<Reference>(); 1469 return this.detail; 1470 } 1471 1472 /** 1473 * @return Returns a reference to <code>this</code> for easy method chaining 1474 */ 1475 public DetailsComponent setDetail(List<Reference> theDetail) { 1476 this.detail = theDetail; 1477 return this; 1478 } 1479 1480 public boolean hasDetail() { 1481 if (this.detail == null) 1482 return false; 1483 for (Reference item : this.detail) 1484 if (!item.isEmpty()) 1485 return true; 1486 return false; 1487 } 1488 1489 public Reference addDetail() { //3 1490 Reference t = new Reference(); 1491 if (this.detail == null) 1492 this.detail = new ArrayList<Reference>(); 1493 this.detail.add(t); 1494 return t; 1495 } 1496 1497 public DetailsComponent addDetail(Reference t) { //3 1498 if (t == null) 1499 return this; 1500 if (this.detail == null) 1501 this.detail = new ArrayList<Reference>(); 1502 this.detail.add(t); 1503 return this; 1504 } 1505 1506 /** 1507 * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist {3} 1508 */ 1509 public Reference getDetailFirstRep() { 1510 if (getDetail().isEmpty()) { 1511 addDetail(); 1512 } 1513 return getDetail().get(0); 1514 } 1515 1516 protected void listChildren(List<Property> children) { 1517 super.listChildren(children); 1518 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)); 1519 children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); 1520 children.add(new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); 1521 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)); 1522 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)); 1523 children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); 1524 children.add(new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice)); 1525 children.add(new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility)); 1526 children.add(new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); 1527 children.add(new Property("detail", "Reference(Any)", "The plan/proposal/order describing the proposed service in detail.", 0, java.lang.Integer.MAX_VALUE, detail)); 1528 } 1529 1530 @Override 1531 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1532 switch (_hash) { 1533 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); 1534 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); 1535 case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "This contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); 1536 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); 1537 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); 1538 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); 1539 case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "The amount charged to the patient by the provider for a single unit.", 0, 1, unitPrice); 1540 case 501116579: /*facility*/ return new Property("facility", "Reference(Location|Organization)", "Facility where the services will be provided.", 0, 1, facility); 1541 case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "Patient diagnosis for which care is sought.", 0, java.lang.Integer.MAX_VALUE, diagnosis); 1542 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); 1543 default: return super.getNamedProperty(_hash, _name, _checkValid); 1544 } 1545 1546 } 1547 1548 @Override 1549 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1550 switch (hash) { 1551 case -595860510: /*supportingInfoSequence*/ return this.supportingInfoSequence == null ? new Base[0] : this.supportingInfoSequence.toArray(new Base[this.supportingInfoSequence.size()]); // PositiveIntType 1552 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 1553 case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept 1554 case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept 1555 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 1556 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 1557 case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money 1558 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 1559 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent 1560 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // Reference 1561 default: return super.getProperty(hash, name, checkValid); 1562 } 1563 1564 } 1565 1566 @Override 1567 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1568 switch (hash) { 1569 case -595860510: // supportingInfoSequence 1570 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType 1571 return value; 1572 case 50511102: // category 1573 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1574 return value; 1575 case 1957227299: // productOrService 1576 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1577 return value; 1578 case -615513385: // modifier 1579 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1580 return value; 1581 case -987494927: // provider 1582 this.provider = TypeConvertor.castToReference(value); // Reference 1583 return value; 1584 case -1285004149: // quantity 1585 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1586 return value; 1587 case -486196699: // unitPrice 1588 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1589 return value; 1590 case 501116579: // facility 1591 this.facility = TypeConvertor.castToReference(value); // Reference 1592 return value; 1593 case 1196993265: // diagnosis 1594 this.getDiagnosis().add((DiagnosisComponent) value); // DiagnosisComponent 1595 return value; 1596 case -1335224239: // detail 1597 this.getDetail().add(TypeConvertor.castToReference(value)); // Reference 1598 return value; 1599 default: return super.setProperty(hash, name, value); 1600 } 1601 1602 } 1603 1604 @Override 1605 public Base setProperty(String name, Base value) throws FHIRException { 1606 if (name.equals("supportingInfoSequence")) { 1607 this.getSupportingInfoSequence().add(TypeConvertor.castToPositiveInt(value)); 1608 } else if (name.equals("category")) { 1609 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1610 } else if (name.equals("productOrService")) { 1611 this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1612 } else if (name.equals("modifier")) { 1613 this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); 1614 } else if (name.equals("provider")) { 1615 this.provider = TypeConvertor.castToReference(value); // Reference 1616 } else if (name.equals("quantity")) { 1617 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 1618 } else if (name.equals("unitPrice")) { 1619 this.unitPrice = TypeConvertor.castToMoney(value); // Money 1620 } else if (name.equals("facility")) { 1621 this.facility = TypeConvertor.castToReference(value); // Reference 1622 } else if (name.equals("diagnosis")) { 1623 this.getDiagnosis().add((DiagnosisComponent) value); 1624 } else if (name.equals("detail")) { 1625 this.getDetail().add(TypeConvertor.castToReference(value)); 1626 } else 1627 return super.setProperty(name, value); 1628 return value; 1629 } 1630 1631 @Override 1632 public void removeChild(String name, Base value) throws FHIRException { 1633 if (name.equals("supportingInfoSequence")) { 1634 this.getSupportingInfoSequence().remove(value); 1635 } else if (name.equals("category")) { 1636 this.category = null; 1637 } else if (name.equals("productOrService")) { 1638 this.productOrService = null; 1639 } else if (name.equals("modifier")) { 1640 this.getModifier().remove(value); 1641 } else if (name.equals("provider")) { 1642 this.provider = null; 1643 } else if (name.equals("quantity")) { 1644 this.quantity = null; 1645 } else if (name.equals("unitPrice")) { 1646 this.unitPrice = null; 1647 } else if (name.equals("facility")) { 1648 this.facility = null; 1649 } else if (name.equals("diagnosis")) { 1650 this.getDiagnosis().remove((DiagnosisComponent) value); 1651 } else if (name.equals("detail")) { 1652 this.getDetail().remove(value); 1653 } else 1654 super.removeChild(name, value); 1655 1656 } 1657 1658 @Override 1659 public Base makeProperty(int hash, String name) throws FHIRException { 1660 switch (hash) { 1661 case -595860510: return addSupportingInfoSequenceElement(); 1662 case 50511102: return getCategory(); 1663 case 1957227299: return getProductOrService(); 1664 case -615513385: return addModifier(); 1665 case -987494927: return getProvider(); 1666 case -1285004149: return getQuantity(); 1667 case -486196699: return getUnitPrice(); 1668 case 501116579: return getFacility(); 1669 case 1196993265: return addDiagnosis(); 1670 case -1335224239: return addDetail(); 1671 default: return super.makeProperty(hash, name); 1672 } 1673 1674 } 1675 1676 @Override 1677 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1678 switch (hash) { 1679 case -595860510: /*supportingInfoSequence*/ return new String[] {"positiveInt"}; 1680 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1681 case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; 1682 case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; 1683 case -987494927: /*provider*/ return new String[] {"Reference"}; 1684 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 1685 case -486196699: /*unitPrice*/ return new String[] {"Money"}; 1686 case 501116579: /*facility*/ return new String[] {"Reference"}; 1687 case 1196993265: /*diagnosis*/ return new String[] {}; 1688 case -1335224239: /*detail*/ return new String[] {"Reference"}; 1689 default: return super.getTypesForProperty(hash, name); 1690 } 1691 1692 } 1693 1694 @Override 1695 public Base addChild(String name) throws FHIRException { 1696 if (name.equals("supportingInfoSequence")) { 1697 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.item.supportingInfoSequence"); 1698 } 1699 else if (name.equals("category")) { 1700 this.category = new CodeableConcept(); 1701 return this.category; 1702 } 1703 else if (name.equals("productOrService")) { 1704 this.productOrService = new CodeableConcept(); 1705 return this.productOrService; 1706 } 1707 else if (name.equals("modifier")) { 1708 return addModifier(); 1709 } 1710 else if (name.equals("provider")) { 1711 this.provider = new Reference(); 1712 return this.provider; 1713 } 1714 else if (name.equals("quantity")) { 1715 this.quantity = new Quantity(); 1716 return this.quantity; 1717 } 1718 else if (name.equals("unitPrice")) { 1719 this.unitPrice = new Money(); 1720 return this.unitPrice; 1721 } 1722 else if (name.equals("facility")) { 1723 this.facility = new Reference(); 1724 return this.facility; 1725 } 1726 else if (name.equals("diagnosis")) { 1727 return addDiagnosis(); 1728 } 1729 else if (name.equals("detail")) { 1730 return addDetail(); 1731 } 1732 else 1733 return super.addChild(name); 1734 } 1735 1736 public DetailsComponent copy() { 1737 DetailsComponent dst = new DetailsComponent(); 1738 copyValues(dst); 1739 return dst; 1740 } 1741 1742 public void copyValues(DetailsComponent dst) { 1743 super.copyValues(dst); 1744 if (supportingInfoSequence != null) { 1745 dst.supportingInfoSequence = new ArrayList<PositiveIntType>(); 1746 for (PositiveIntType i : supportingInfoSequence) 1747 dst.supportingInfoSequence.add(i.copy()); 1748 }; 1749 dst.category = category == null ? null : category.copy(); 1750 dst.productOrService = productOrService == null ? null : productOrService.copy(); 1751 if (modifier != null) { 1752 dst.modifier = new ArrayList<CodeableConcept>(); 1753 for (CodeableConcept i : modifier) 1754 dst.modifier.add(i.copy()); 1755 }; 1756 dst.provider = provider == null ? null : provider.copy(); 1757 dst.quantity = quantity == null ? null : quantity.copy(); 1758 dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); 1759 dst.facility = facility == null ? null : facility.copy(); 1760 if (diagnosis != null) { 1761 dst.diagnosis = new ArrayList<DiagnosisComponent>(); 1762 for (DiagnosisComponent i : diagnosis) 1763 dst.diagnosis.add(i.copy()); 1764 }; 1765 if (detail != null) { 1766 dst.detail = new ArrayList<Reference>(); 1767 for (Reference i : detail) 1768 dst.detail.add(i.copy()); 1769 }; 1770 } 1771 1772 @Override 1773 public boolean equalsDeep(Base other_) { 1774 if (!super.equalsDeep(other_)) 1775 return false; 1776 if (!(other_ instanceof DetailsComponent)) 1777 return false; 1778 DetailsComponent o = (DetailsComponent) other_; 1779 return compareDeep(supportingInfoSequence, o.supportingInfoSequence, true) && compareDeep(category, o.category, true) 1780 && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) 1781 && compareDeep(provider, o.provider, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) 1782 && compareDeep(facility, o.facility, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(detail, o.detail, true) 1783 ; 1784 } 1785 1786 @Override 1787 public boolean equalsShallow(Base other_) { 1788 if (!super.equalsShallow(other_)) 1789 return false; 1790 if (!(other_ instanceof DetailsComponent)) 1791 return false; 1792 DetailsComponent o = (DetailsComponent) other_; 1793 return compareValues(supportingInfoSequence, o.supportingInfoSequence, true); 1794 } 1795 1796 public boolean isEmpty() { 1797 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(supportingInfoSequence, category 1798 , productOrService, modifier, provider, quantity, unitPrice, facility, diagnosis 1799 , detail); 1800 } 1801 1802 public String fhirType() { 1803 return "CoverageEligibilityRequest.item"; 1804 1805 } 1806 1807 } 1808 1809 @Block() 1810 public static class DiagnosisComponent extends BackboneElement implements IBaseBackboneElement { 1811 /** 1812 * The nature of illness or problem in a coded form or as a reference to an external defined Condition. 1813 */ 1814 @Child(name = "diagnosis", type = {CodeableConcept.class, Condition.class}, order=1, min=0, max=1, modifier=false, summary=false) 1815 @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." ) 1816 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/icd-10") 1817 protected DataType diagnosis; 1818 1819 private static final long serialVersionUID = 947131409L; 1820 1821 /** 1822 * Constructor 1823 */ 1824 public DiagnosisComponent() { 1825 super(); 1826 } 1827 1828 /** 1829 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1830 */ 1831 public DataType getDiagnosis() { 1832 return this.diagnosis; 1833 } 1834 1835 /** 1836 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1837 */ 1838 public CodeableConcept getDiagnosisCodeableConcept() throws FHIRException { 1839 if (this.diagnosis == null) 1840 this.diagnosis = new CodeableConcept(); 1841 if (!(this.diagnosis instanceof CodeableConcept)) 1842 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1843 return (CodeableConcept) this.diagnosis; 1844 } 1845 1846 public boolean hasDiagnosisCodeableConcept() { 1847 return this != null && this.diagnosis instanceof CodeableConcept; 1848 } 1849 1850 /** 1851 * @return {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1852 */ 1853 public Reference getDiagnosisReference() throws FHIRException { 1854 if (this.diagnosis == null) 1855 this.diagnosis = new Reference(); 1856 if (!(this.diagnosis instanceof Reference)) 1857 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.diagnosis.getClass().getName()+" was encountered"); 1858 return (Reference) this.diagnosis; 1859 } 1860 1861 public boolean hasDiagnosisReference() { 1862 return this != null && this.diagnosis instanceof Reference; 1863 } 1864 1865 public boolean hasDiagnosis() { 1866 return this.diagnosis != null && !this.diagnosis.isEmpty(); 1867 } 1868 1869 /** 1870 * @param value {@link #diagnosis} (The nature of illness or problem in a coded form or as a reference to an external defined Condition.) 1871 */ 1872 public DiagnosisComponent setDiagnosis(DataType value) { 1873 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1874 throw new FHIRException("Not the right type for CoverageEligibilityRequest.item.diagnosis.diagnosis[x]: "+value.fhirType()); 1875 this.diagnosis = value; 1876 return this; 1877 } 1878 1879 protected void listChildren(List<Property> children) { 1880 super.listChildren(children); 1881 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)); 1882 } 1883 1884 @Override 1885 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1886 switch (_hash) { 1887 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); 1888 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); 1889 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); 1890 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); 1891 default: return super.getNamedProperty(_hash, _name, _checkValid); 1892 } 1893 1894 } 1895 1896 @Override 1897 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1898 switch (hash) { 1899 case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : new Base[] {this.diagnosis}; // DataType 1900 default: return super.getProperty(hash, name, checkValid); 1901 } 1902 1903 } 1904 1905 @Override 1906 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1907 switch (hash) { 1908 case 1196993265: // diagnosis 1909 this.diagnosis = TypeConvertor.castToType(value); // DataType 1910 return value; 1911 default: return super.setProperty(hash, name, value); 1912 } 1913 1914 } 1915 1916 @Override 1917 public Base setProperty(String name, Base value) throws FHIRException { 1918 if (name.equals("diagnosis[x]")) { 1919 this.diagnosis = TypeConvertor.castToType(value); // DataType 1920 } else 1921 return super.setProperty(name, value); 1922 return value; 1923 } 1924 1925 @Override 1926 public void removeChild(String name, Base value) throws FHIRException { 1927 if (name.equals("diagnosis[x]")) { 1928 this.diagnosis = null; 1929 } else 1930 super.removeChild(name, value); 1931 1932 } 1933 1934 @Override 1935 public Base makeProperty(int hash, String name) throws FHIRException { 1936 switch (hash) { 1937 case -1487009809: return getDiagnosis(); 1938 case 1196993265: return getDiagnosis(); 1939 default: return super.makeProperty(hash, name); 1940 } 1941 1942 } 1943 1944 @Override 1945 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1946 switch (hash) { 1947 case 1196993265: /*diagnosis*/ return new String[] {"CodeableConcept", "Reference"}; 1948 default: return super.getTypesForProperty(hash, name); 1949 } 1950 1951 } 1952 1953 @Override 1954 public Base addChild(String name) throws FHIRException { 1955 if (name.equals("diagnosisCodeableConcept")) { 1956 this.diagnosis = new CodeableConcept(); 1957 return this.diagnosis; 1958 } 1959 else if (name.equals("diagnosisReference")) { 1960 this.diagnosis = new Reference(); 1961 return this.diagnosis; 1962 } 1963 else 1964 return super.addChild(name); 1965 } 1966 1967 public DiagnosisComponent copy() { 1968 DiagnosisComponent dst = new DiagnosisComponent(); 1969 copyValues(dst); 1970 return dst; 1971 } 1972 1973 public void copyValues(DiagnosisComponent dst) { 1974 super.copyValues(dst); 1975 dst.diagnosis = diagnosis == null ? null : diagnosis.copy(); 1976 } 1977 1978 @Override 1979 public boolean equalsDeep(Base other_) { 1980 if (!super.equalsDeep(other_)) 1981 return false; 1982 if (!(other_ instanceof DiagnosisComponent)) 1983 return false; 1984 DiagnosisComponent o = (DiagnosisComponent) other_; 1985 return compareDeep(diagnosis, o.diagnosis, true); 1986 } 1987 1988 @Override 1989 public boolean equalsShallow(Base other_) { 1990 if (!super.equalsShallow(other_)) 1991 return false; 1992 if (!(other_ instanceof DiagnosisComponent)) 1993 return false; 1994 DiagnosisComponent o = (DiagnosisComponent) other_; 1995 return true; 1996 } 1997 1998 public boolean isEmpty() { 1999 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(diagnosis); 2000 } 2001 2002 public String fhirType() { 2003 return "CoverageEligibilityRequest.item.diagnosis"; 2004 2005 } 2006 2007 } 2008 2009 /** 2010 * A unique identifier assigned to this coverage eligiblity request. 2011 */ 2012 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2013 @Description(shortDefinition="Business Identifier for coverage eligiblity request", formalDefinition="A unique identifier assigned to this coverage eligiblity request." ) 2014 protected List<Identifier> identifier; 2015 2016 /** 2017 * The status of the resource instance. 2018 */ 2019 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 2020 @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) 2021 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") 2022 protected Enumeration<FinancialResourceStatusCodes> status; 2023 2024 /** 2025 * When the requestor expects the processor to complete processing. 2026 */ 2027 @Child(name = "priority", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 2028 @Description(shortDefinition="Desired processing priority", formalDefinition="When the requestor expects the processor to complete processing." ) 2029 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/process-priority") 2030 protected CodeableConcept priority; 2031 2032 /** 2033 * 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. 2034 */ 2035 @Child(name = "purpose", type = {CodeType.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2036 @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." ) 2037 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose") 2038 protected List<Enumeration<EligibilityRequestPurpose>> purpose; 2039 2040 /** 2041 * The party who is the beneficiary of the supplied coverage and for whom eligibility is sought. 2042 */ 2043 @Child(name = "patient", type = {Patient.class}, order=4, min=1, max=1, modifier=false, summary=true) 2044 @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." ) 2045 protected Reference patient; 2046 2047 /** 2048 * Information code for an event with a corresponding date or period. 2049 */ 2050 @Child(name = "event", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2051 @Description(shortDefinition="Event information", formalDefinition="Information code for an event with a corresponding date or period." ) 2052 protected List<CoverageEligibilityRequestEventComponent> event; 2053 2054 /** 2055 * The date or dates when the enclosed suite of services were performed or completed. 2056 */ 2057 @Child(name = "serviced", type = {DateType.class, Period.class}, order=6, min=0, max=1, modifier=false, summary=false) 2058 @Description(shortDefinition="Estimated date or dates of service", formalDefinition="The date or dates when the enclosed suite of services were performed or completed." ) 2059 protected DataType serviced; 2060 2061 /** 2062 * The date when this resource was created. 2063 */ 2064 @Child(name = "created", type = {DateTimeType.class}, order=7, min=1, max=1, modifier=false, summary=true) 2065 @Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." ) 2066 protected DateTimeType created; 2067 2068 /** 2069 * Person who created the request. 2070 */ 2071 @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=false) 2072 @Description(shortDefinition="Author", formalDefinition="Person who created the request." ) 2073 protected Reference enterer; 2074 2075 /** 2076 * The provider which is responsible for the request. 2077 */ 2078 @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=9, min=0, max=1, modifier=false, summary=false) 2079 @Description(shortDefinition="Party responsible for the request", formalDefinition="The provider which is responsible for the request." ) 2080 protected Reference provider; 2081 2082 /** 2083 * The Insurer who issued the coverage in question and is the recipient of the request. 2084 */ 2085 @Child(name = "insurer", type = {Organization.class}, order=10, min=1, max=1, modifier=false, summary=true) 2086 @Description(shortDefinition="Coverage issuer", formalDefinition="The Insurer who issued the coverage in question and is the recipient of the request." ) 2087 protected Reference insurer; 2088 2089 /** 2090 * Facility where the services are intended to be provided. 2091 */ 2092 @Child(name = "facility", type = {Location.class}, order=11, min=0, max=1, modifier=false, summary=false) 2093 @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services are intended to be provided." ) 2094 protected Reference facility; 2095 2096 /** 2097 * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. 2098 */ 2099 @Child(name = "supportingInfo", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2100 @Description(shortDefinition="Supporting information", formalDefinition="Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues." ) 2101 protected List<SupportingInformationComponent> supportingInfo; 2102 2103 /** 2104 * Financial instruments for reimbursement for the health care products and services. 2105 */ 2106 @Child(name = "insurance", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2107 @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services." ) 2108 protected List<InsuranceComponent> insurance; 2109 2110 /** 2111 * Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor. 2112 */ 2113 @Child(name = "item", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2114 @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." ) 2115 protected List<DetailsComponent> item; 2116 2117 private static final long serialVersionUID = 2008965302L; 2118 2119 /** 2120 * Constructor 2121 */ 2122 public CoverageEligibilityRequest() { 2123 super(); 2124 } 2125 2126 /** 2127 * Constructor 2128 */ 2129 public CoverageEligibilityRequest(FinancialResourceStatusCodes status, EligibilityRequestPurpose purpose, Reference patient, Date created, Reference insurer) { 2130 super(); 2131 this.setStatus(status); 2132 this.addPurpose(purpose); 2133 this.setPatient(patient); 2134 this.setCreated(created); 2135 this.setInsurer(insurer); 2136 } 2137 2138 /** 2139 * @return {@link #identifier} (A unique identifier assigned to this coverage eligiblity request.) 2140 */ 2141 public List<Identifier> getIdentifier() { 2142 if (this.identifier == null) 2143 this.identifier = new ArrayList<Identifier>(); 2144 return this.identifier; 2145 } 2146 2147 /** 2148 * @return Returns a reference to <code>this</code> for easy method chaining 2149 */ 2150 public CoverageEligibilityRequest setIdentifier(List<Identifier> theIdentifier) { 2151 this.identifier = theIdentifier; 2152 return this; 2153 } 2154 2155 public boolean hasIdentifier() { 2156 if (this.identifier == null) 2157 return false; 2158 for (Identifier item : this.identifier) 2159 if (!item.isEmpty()) 2160 return true; 2161 return false; 2162 } 2163 2164 public Identifier addIdentifier() { //3 2165 Identifier t = new Identifier(); 2166 if (this.identifier == null) 2167 this.identifier = new ArrayList<Identifier>(); 2168 this.identifier.add(t); 2169 return t; 2170 } 2171 2172 public CoverageEligibilityRequest addIdentifier(Identifier t) { //3 2173 if (t == null) 2174 return this; 2175 if (this.identifier == null) 2176 this.identifier = new ArrayList<Identifier>(); 2177 this.identifier.add(t); 2178 return this; 2179 } 2180 2181 /** 2182 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2183 */ 2184 public Identifier getIdentifierFirstRep() { 2185 if (getIdentifier().isEmpty()) { 2186 addIdentifier(); 2187 } 2188 return getIdentifier().get(0); 2189 } 2190 2191 /** 2192 * @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 2193 */ 2194 public Enumeration<FinancialResourceStatusCodes> getStatusElement() { 2195 if (this.status == null) 2196 if (Configuration.errorOnAutoCreate()) 2197 throw new Error("Attempt to auto-create CoverageEligibilityRequest.status"); 2198 else if (Configuration.doAutoCreate()) 2199 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); // bb 2200 return this.status; 2201 } 2202 2203 public boolean hasStatusElement() { 2204 return this.status != null && !this.status.isEmpty(); 2205 } 2206 2207 public boolean hasStatus() { 2208 return this.status != null && !this.status.isEmpty(); 2209 } 2210 2211 /** 2212 * @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 2213 */ 2214 public CoverageEligibilityRequest setStatusElement(Enumeration<FinancialResourceStatusCodes> value) { 2215 this.status = value; 2216 return this; 2217 } 2218 2219 /** 2220 * @return The status of the resource instance. 2221 */ 2222 public FinancialResourceStatusCodes getStatus() { 2223 return this.status == null ? null : this.status.getValue(); 2224 } 2225 2226 /** 2227 * @param value The status of the resource instance. 2228 */ 2229 public CoverageEligibilityRequest setStatus(FinancialResourceStatusCodes value) { 2230 if (this.status == null) 2231 this.status = new Enumeration<FinancialResourceStatusCodes>(new FinancialResourceStatusCodesEnumFactory()); 2232 this.status.setValue(value); 2233 return this; 2234 } 2235 2236 /** 2237 * @return {@link #priority} (When the requestor expects the processor to complete processing.) 2238 */ 2239 public CodeableConcept getPriority() { 2240 if (this.priority == null) 2241 if (Configuration.errorOnAutoCreate()) 2242 throw new Error("Attempt to auto-create CoverageEligibilityRequest.priority"); 2243 else if (Configuration.doAutoCreate()) 2244 this.priority = new CodeableConcept(); // cc 2245 return this.priority; 2246 } 2247 2248 public boolean hasPriority() { 2249 return this.priority != null && !this.priority.isEmpty(); 2250 } 2251 2252 /** 2253 * @param value {@link #priority} (When the requestor expects the processor to complete processing.) 2254 */ 2255 public CoverageEligibilityRequest setPriority(CodeableConcept value) { 2256 this.priority = value; 2257 return this; 2258 } 2259 2260 /** 2261 * @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.) 2262 */ 2263 public List<Enumeration<EligibilityRequestPurpose>> getPurpose() { 2264 if (this.purpose == null) 2265 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2266 return this.purpose; 2267 } 2268 2269 /** 2270 * @return Returns a reference to <code>this</code> for easy method chaining 2271 */ 2272 public CoverageEligibilityRequest setPurpose(List<Enumeration<EligibilityRequestPurpose>> thePurpose) { 2273 this.purpose = thePurpose; 2274 return this; 2275 } 2276 2277 public boolean hasPurpose() { 2278 if (this.purpose == null) 2279 return false; 2280 for (Enumeration<EligibilityRequestPurpose> item : this.purpose) 2281 if (!item.isEmpty()) 2282 return true; 2283 return false; 2284 } 2285 2286 /** 2287 * @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.) 2288 */ 2289 public Enumeration<EligibilityRequestPurpose> addPurposeElement() {//2 2290 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 2291 if (this.purpose == null) 2292 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2293 this.purpose.add(t); 2294 return t; 2295 } 2296 2297 /** 2298 * @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.) 2299 */ 2300 public CoverageEligibilityRequest addPurpose(EligibilityRequestPurpose value) { //1 2301 Enumeration<EligibilityRequestPurpose> t = new Enumeration<EligibilityRequestPurpose>(new EligibilityRequestPurposeEnumFactory()); 2302 t.setValue(value); 2303 if (this.purpose == null) 2304 this.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 2305 this.purpose.add(t); 2306 return this; 2307 } 2308 2309 /** 2310 * @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.) 2311 */ 2312 public boolean hasPurpose(EligibilityRequestPurpose value) { 2313 if (this.purpose == null) 2314 return false; 2315 for (Enumeration<EligibilityRequestPurpose> v : this.purpose) 2316 if (v.getValue().equals(value)) // code 2317 return true; 2318 return false; 2319 } 2320 2321 /** 2322 * @return {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2323 */ 2324 public Reference getPatient() { 2325 if (this.patient == null) 2326 if (Configuration.errorOnAutoCreate()) 2327 throw new Error("Attempt to auto-create CoverageEligibilityRequest.patient"); 2328 else if (Configuration.doAutoCreate()) 2329 this.patient = new Reference(); // cc 2330 return this.patient; 2331 } 2332 2333 public boolean hasPatient() { 2334 return this.patient != null && !this.patient.isEmpty(); 2335 } 2336 2337 /** 2338 * @param value {@link #patient} (The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.) 2339 */ 2340 public CoverageEligibilityRequest setPatient(Reference value) { 2341 this.patient = value; 2342 return this; 2343 } 2344 2345 /** 2346 * @return {@link #event} (Information code for an event with a corresponding date or period.) 2347 */ 2348 public List<CoverageEligibilityRequestEventComponent> getEvent() { 2349 if (this.event == null) 2350 this.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 2351 return this.event; 2352 } 2353 2354 /** 2355 * @return Returns a reference to <code>this</code> for easy method chaining 2356 */ 2357 public CoverageEligibilityRequest setEvent(List<CoverageEligibilityRequestEventComponent> theEvent) { 2358 this.event = theEvent; 2359 return this; 2360 } 2361 2362 public boolean hasEvent() { 2363 if (this.event == null) 2364 return false; 2365 for (CoverageEligibilityRequestEventComponent item : this.event) 2366 if (!item.isEmpty()) 2367 return true; 2368 return false; 2369 } 2370 2371 public CoverageEligibilityRequestEventComponent addEvent() { //3 2372 CoverageEligibilityRequestEventComponent t = new CoverageEligibilityRequestEventComponent(); 2373 if (this.event == null) 2374 this.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 2375 this.event.add(t); 2376 return t; 2377 } 2378 2379 public CoverageEligibilityRequest addEvent(CoverageEligibilityRequestEventComponent t) { //3 2380 if (t == null) 2381 return this; 2382 if (this.event == null) 2383 this.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 2384 this.event.add(t); 2385 return this; 2386 } 2387 2388 /** 2389 * @return The first repetition of repeating field {@link #event}, creating it if it does not already exist {3} 2390 */ 2391 public CoverageEligibilityRequestEventComponent getEventFirstRep() { 2392 if (getEvent().isEmpty()) { 2393 addEvent(); 2394 } 2395 return getEvent().get(0); 2396 } 2397 2398 /** 2399 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2400 */ 2401 public DataType getServiced() { 2402 return this.serviced; 2403 } 2404 2405 /** 2406 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2407 */ 2408 public DateType getServicedDateType() throws FHIRException { 2409 if (this.serviced == null) 2410 this.serviced = new DateType(); 2411 if (!(this.serviced instanceof DateType)) 2412 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2413 return (DateType) this.serviced; 2414 } 2415 2416 public boolean hasServicedDateType() { 2417 return this != null && this.serviced instanceof DateType; 2418 } 2419 2420 /** 2421 * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2422 */ 2423 public Period getServicedPeriod() throws FHIRException { 2424 if (this.serviced == null) 2425 this.serviced = new Period(); 2426 if (!(this.serviced instanceof Period)) 2427 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered"); 2428 return (Period) this.serviced; 2429 } 2430 2431 public boolean hasServicedPeriod() { 2432 return this != null && this.serviced instanceof Period; 2433 } 2434 2435 public boolean hasServiced() { 2436 return this.serviced != null && !this.serviced.isEmpty(); 2437 } 2438 2439 /** 2440 * @param value {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.) 2441 */ 2442 public CoverageEligibilityRequest setServiced(DataType value) { 2443 if (value != null && !(value instanceof DateType || value instanceof Period)) 2444 throw new FHIRException("Not the right type for CoverageEligibilityRequest.serviced[x]: "+value.fhirType()); 2445 this.serviced = value; 2446 return this; 2447 } 2448 2449 /** 2450 * @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 2451 */ 2452 public DateTimeType getCreatedElement() { 2453 if (this.created == null) 2454 if (Configuration.errorOnAutoCreate()) 2455 throw new Error("Attempt to auto-create CoverageEligibilityRequest.created"); 2456 else if (Configuration.doAutoCreate()) 2457 this.created = new DateTimeType(); // bb 2458 return this.created; 2459 } 2460 2461 public boolean hasCreatedElement() { 2462 return this.created != null && !this.created.isEmpty(); 2463 } 2464 2465 public boolean hasCreated() { 2466 return this.created != null && !this.created.isEmpty(); 2467 } 2468 2469 /** 2470 * @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 2471 */ 2472 public CoverageEligibilityRequest setCreatedElement(DateTimeType value) { 2473 this.created = value; 2474 return this; 2475 } 2476 2477 /** 2478 * @return The date when this resource was created. 2479 */ 2480 public Date getCreated() { 2481 return this.created == null ? null : this.created.getValue(); 2482 } 2483 2484 /** 2485 * @param value The date when this resource was created. 2486 */ 2487 public CoverageEligibilityRequest setCreated(Date value) { 2488 if (this.created == null) 2489 this.created = new DateTimeType(); 2490 this.created.setValue(value); 2491 return this; 2492 } 2493 2494 /** 2495 * @return {@link #enterer} (Person who created the request.) 2496 */ 2497 public Reference getEnterer() { 2498 if (this.enterer == null) 2499 if (Configuration.errorOnAutoCreate()) 2500 throw new Error("Attempt to auto-create CoverageEligibilityRequest.enterer"); 2501 else if (Configuration.doAutoCreate()) 2502 this.enterer = new Reference(); // cc 2503 return this.enterer; 2504 } 2505 2506 public boolean hasEnterer() { 2507 return this.enterer != null && !this.enterer.isEmpty(); 2508 } 2509 2510 /** 2511 * @param value {@link #enterer} (Person who created the request.) 2512 */ 2513 public CoverageEligibilityRequest setEnterer(Reference value) { 2514 this.enterer = value; 2515 return this; 2516 } 2517 2518 /** 2519 * @return {@link #provider} (The provider which is responsible for the request.) 2520 */ 2521 public Reference getProvider() { 2522 if (this.provider == null) 2523 if (Configuration.errorOnAutoCreate()) 2524 throw new Error("Attempt to auto-create CoverageEligibilityRequest.provider"); 2525 else if (Configuration.doAutoCreate()) 2526 this.provider = new Reference(); // cc 2527 return this.provider; 2528 } 2529 2530 public boolean hasProvider() { 2531 return this.provider != null && !this.provider.isEmpty(); 2532 } 2533 2534 /** 2535 * @param value {@link #provider} (The provider which is responsible for the request.) 2536 */ 2537 public CoverageEligibilityRequest setProvider(Reference value) { 2538 this.provider = value; 2539 return this; 2540 } 2541 2542 /** 2543 * @return {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2544 */ 2545 public Reference getInsurer() { 2546 if (this.insurer == null) 2547 if (Configuration.errorOnAutoCreate()) 2548 throw new Error("Attempt to auto-create CoverageEligibilityRequest.insurer"); 2549 else if (Configuration.doAutoCreate()) 2550 this.insurer = new Reference(); // cc 2551 return this.insurer; 2552 } 2553 2554 public boolean hasInsurer() { 2555 return this.insurer != null && !this.insurer.isEmpty(); 2556 } 2557 2558 /** 2559 * @param value {@link #insurer} (The Insurer who issued the coverage in question and is the recipient of the request.) 2560 */ 2561 public CoverageEligibilityRequest setInsurer(Reference value) { 2562 this.insurer = value; 2563 return this; 2564 } 2565 2566 /** 2567 * @return {@link #facility} (Facility where the services are intended to be provided.) 2568 */ 2569 public Reference getFacility() { 2570 if (this.facility == null) 2571 if (Configuration.errorOnAutoCreate()) 2572 throw new Error("Attempt to auto-create CoverageEligibilityRequest.facility"); 2573 else if (Configuration.doAutoCreate()) 2574 this.facility = new Reference(); // cc 2575 return this.facility; 2576 } 2577 2578 public boolean hasFacility() { 2579 return this.facility != null && !this.facility.isEmpty(); 2580 } 2581 2582 /** 2583 * @param value {@link #facility} (Facility where the services are intended to be provided.) 2584 */ 2585 public CoverageEligibilityRequest setFacility(Reference value) { 2586 this.facility = value; 2587 return this; 2588 } 2589 2590 /** 2591 * @return {@link #supportingInfo} (Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.) 2592 */ 2593 public List<SupportingInformationComponent> getSupportingInfo() { 2594 if (this.supportingInfo == null) 2595 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2596 return this.supportingInfo; 2597 } 2598 2599 /** 2600 * @return Returns a reference to <code>this</code> for easy method chaining 2601 */ 2602 public CoverageEligibilityRequest setSupportingInfo(List<SupportingInformationComponent> theSupportingInfo) { 2603 this.supportingInfo = theSupportingInfo; 2604 return this; 2605 } 2606 2607 public boolean hasSupportingInfo() { 2608 if (this.supportingInfo == null) 2609 return false; 2610 for (SupportingInformationComponent item : this.supportingInfo) 2611 if (!item.isEmpty()) 2612 return true; 2613 return false; 2614 } 2615 2616 public SupportingInformationComponent addSupportingInfo() { //3 2617 SupportingInformationComponent t = new SupportingInformationComponent(); 2618 if (this.supportingInfo == null) 2619 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2620 this.supportingInfo.add(t); 2621 return t; 2622 } 2623 2624 public CoverageEligibilityRequest addSupportingInfo(SupportingInformationComponent t) { //3 2625 if (t == null) 2626 return this; 2627 if (this.supportingInfo == null) 2628 this.supportingInfo = new ArrayList<SupportingInformationComponent>(); 2629 this.supportingInfo.add(t); 2630 return this; 2631 } 2632 2633 /** 2634 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 2635 */ 2636 public SupportingInformationComponent getSupportingInfoFirstRep() { 2637 if (getSupportingInfo().isEmpty()) { 2638 addSupportingInfo(); 2639 } 2640 return getSupportingInfo().get(0); 2641 } 2642 2643 /** 2644 * @return {@link #insurance} (Financial instruments for reimbursement for the health care products and services.) 2645 */ 2646 public List<InsuranceComponent> getInsurance() { 2647 if (this.insurance == null) 2648 this.insurance = new ArrayList<InsuranceComponent>(); 2649 return this.insurance; 2650 } 2651 2652 /** 2653 * @return Returns a reference to <code>this</code> for easy method chaining 2654 */ 2655 public CoverageEligibilityRequest setInsurance(List<InsuranceComponent> theInsurance) { 2656 this.insurance = theInsurance; 2657 return this; 2658 } 2659 2660 public boolean hasInsurance() { 2661 if (this.insurance == null) 2662 return false; 2663 for (InsuranceComponent item : this.insurance) 2664 if (!item.isEmpty()) 2665 return true; 2666 return false; 2667 } 2668 2669 public InsuranceComponent addInsurance() { //3 2670 InsuranceComponent t = new InsuranceComponent(); 2671 if (this.insurance == null) 2672 this.insurance = new ArrayList<InsuranceComponent>(); 2673 this.insurance.add(t); 2674 return t; 2675 } 2676 2677 public CoverageEligibilityRequest addInsurance(InsuranceComponent t) { //3 2678 if (t == null) 2679 return this; 2680 if (this.insurance == null) 2681 this.insurance = new ArrayList<InsuranceComponent>(); 2682 this.insurance.add(t); 2683 return this; 2684 } 2685 2686 /** 2687 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 2688 */ 2689 public InsuranceComponent getInsuranceFirstRep() { 2690 if (getInsurance().isEmpty()) { 2691 addInsurance(); 2692 } 2693 return getInsurance().get(0); 2694 } 2695 2696 /** 2697 * @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.) 2698 */ 2699 public List<DetailsComponent> getItem() { 2700 if (this.item == null) 2701 this.item = new ArrayList<DetailsComponent>(); 2702 return this.item; 2703 } 2704 2705 /** 2706 * @return Returns a reference to <code>this</code> for easy method chaining 2707 */ 2708 public CoverageEligibilityRequest setItem(List<DetailsComponent> theItem) { 2709 this.item = theItem; 2710 return this; 2711 } 2712 2713 public boolean hasItem() { 2714 if (this.item == null) 2715 return false; 2716 for (DetailsComponent item : this.item) 2717 if (!item.isEmpty()) 2718 return true; 2719 return false; 2720 } 2721 2722 public DetailsComponent addItem() { //3 2723 DetailsComponent t = new DetailsComponent(); 2724 if (this.item == null) 2725 this.item = new ArrayList<DetailsComponent>(); 2726 this.item.add(t); 2727 return t; 2728 } 2729 2730 public CoverageEligibilityRequest addItem(DetailsComponent t) { //3 2731 if (t == null) 2732 return this; 2733 if (this.item == null) 2734 this.item = new ArrayList<DetailsComponent>(); 2735 this.item.add(t); 2736 return this; 2737 } 2738 2739 /** 2740 * @return The first repetition of repeating field {@link #item}, creating it if it does not already exist {3} 2741 */ 2742 public DetailsComponent getItemFirstRep() { 2743 if (getItem().isEmpty()) { 2744 addItem(); 2745 } 2746 return getItem().get(0); 2747 } 2748 2749 protected void listChildren(List<Property> children) { 2750 super.listChildren(children); 2751 children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2752 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 2753 children.add(new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority)); 2754 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)); 2755 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)); 2756 children.add(new Property("event", "", "Information code for an event with a corresponding date or period.", 0, java.lang.Integer.MAX_VALUE, event)); 2757 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)); 2758 children.add(new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created)); 2759 children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer)); 2760 children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider)); 2761 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)); 2762 children.add(new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility)); 2763 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)); 2764 children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services.", 0, java.lang.Integer.MAX_VALUE, insurance)); 2765 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)); 2766 } 2767 2768 @Override 2769 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2770 switch (_hash) { 2771 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this coverage eligiblity request.", 0, java.lang.Integer.MAX_VALUE, identifier); 2772 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 2773 case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "When the requestor expects the processor to complete processing.", 0, 1, priority); 2774 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); 2775 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); 2776 case 96891546: /*event*/ return new Property("event", "", "Information code for an event with a corresponding date or period.", 0, java.lang.Integer.MAX_VALUE, event); 2777 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); 2778 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); 2779 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); 2780 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); 2781 case 1028554472: /*created*/ return new Property("created", "dateTime", "The date when this resource was created.", 0, 1, created); 2782 case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Person who created the request.", 0, 1, enterer); 2783 case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the request.", 0, 1, provider); 2784 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); 2785 case 501116579: /*facility*/ return new Property("facility", "Reference(Location)", "Facility where the services are intended to be provided.", 0, 1, facility); 2786 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); 2787 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); 2788 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); 2789 default: return super.getNamedProperty(_hash, _name, _checkValid); 2790 } 2791 2792 } 2793 2794 @Override 2795 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2796 switch (hash) { 2797 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2798 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FinancialResourceStatusCodes> 2799 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept 2800 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // Enumeration<EligibilityRequestPurpose> 2801 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2802 case 96891546: /*event*/ return this.event == null ? new Base[0] : this.event.toArray(new Base[this.event.size()]); // CoverageEligibilityRequestEventComponent 2803 case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType 2804 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 2805 case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference 2806 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference 2807 case 1957615864: /*insurer*/ return this.insurer == null ? new Base[0] : new Base[] {this.insurer}; // Reference 2808 case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference 2809 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // SupportingInformationComponent 2810 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent 2811 case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // DetailsComponent 2812 default: return super.getProperty(hash, name, checkValid); 2813 } 2814 2815 } 2816 2817 @Override 2818 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2819 switch (hash) { 2820 case -1618432855: // identifier 2821 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2822 return value; 2823 case -892481550: // status 2824 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2825 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2826 return value; 2827 case -1165461084: // priority 2828 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2829 return value; 2830 case -220463842: // purpose 2831 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2832 this.getPurpose().add((Enumeration) value); // Enumeration<EligibilityRequestPurpose> 2833 return value; 2834 case -791418107: // patient 2835 this.patient = TypeConvertor.castToReference(value); // Reference 2836 return value; 2837 case 96891546: // event 2838 this.getEvent().add((CoverageEligibilityRequestEventComponent) value); // CoverageEligibilityRequestEventComponent 2839 return value; 2840 case 1379209295: // serviced 2841 this.serviced = TypeConvertor.castToType(value); // DataType 2842 return value; 2843 case 1028554472: // created 2844 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2845 return value; 2846 case -1591951995: // enterer 2847 this.enterer = TypeConvertor.castToReference(value); // Reference 2848 return value; 2849 case -987494927: // provider 2850 this.provider = TypeConvertor.castToReference(value); // Reference 2851 return value; 2852 case 1957615864: // insurer 2853 this.insurer = TypeConvertor.castToReference(value); // Reference 2854 return value; 2855 case 501116579: // facility 2856 this.facility = TypeConvertor.castToReference(value); // Reference 2857 return value; 2858 case 1922406657: // supportingInfo 2859 this.getSupportingInfo().add((SupportingInformationComponent) value); // SupportingInformationComponent 2860 return value; 2861 case 73049818: // insurance 2862 this.getInsurance().add((InsuranceComponent) value); // InsuranceComponent 2863 return value; 2864 case 3242771: // item 2865 this.getItem().add((DetailsComponent) value); // DetailsComponent 2866 return value; 2867 default: return super.setProperty(hash, name, value); 2868 } 2869 2870 } 2871 2872 @Override 2873 public Base setProperty(String name, Base value) throws FHIRException { 2874 if (name.equals("identifier")) { 2875 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2876 } else if (name.equals("status")) { 2877 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2878 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2879 } else if (name.equals("priority")) { 2880 this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2881 } else if (name.equals("purpose")) { 2882 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2883 this.getPurpose().add((Enumeration) value); 2884 } else if (name.equals("patient")) { 2885 this.patient = TypeConvertor.castToReference(value); // Reference 2886 } else if (name.equals("event")) { 2887 this.getEvent().add((CoverageEligibilityRequestEventComponent) value); 2888 } else if (name.equals("serviced[x]")) { 2889 this.serviced = TypeConvertor.castToType(value); // DataType 2890 } else if (name.equals("created")) { 2891 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 2892 } else if (name.equals("enterer")) { 2893 this.enterer = TypeConvertor.castToReference(value); // Reference 2894 } else if (name.equals("provider")) { 2895 this.provider = TypeConvertor.castToReference(value); // Reference 2896 } else if (name.equals("insurer")) { 2897 this.insurer = TypeConvertor.castToReference(value); // Reference 2898 } else if (name.equals("facility")) { 2899 this.facility = TypeConvertor.castToReference(value); // Reference 2900 } else if (name.equals("supportingInfo")) { 2901 this.getSupportingInfo().add((SupportingInformationComponent) value); 2902 } else if (name.equals("insurance")) { 2903 this.getInsurance().add((InsuranceComponent) value); 2904 } else if (name.equals("item")) { 2905 this.getItem().add((DetailsComponent) value); 2906 } else 2907 return super.setProperty(name, value); 2908 return value; 2909 } 2910 2911 @Override 2912 public void removeChild(String name, Base value) throws FHIRException { 2913 if (name.equals("identifier")) { 2914 this.getIdentifier().remove(value); 2915 } else if (name.equals("status")) { 2916 value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 2917 this.status = (Enumeration) value; // Enumeration<FinancialResourceStatusCodes> 2918 } else if (name.equals("priority")) { 2919 this.priority = null; 2920 } else if (name.equals("purpose")) { 2921 value = new EligibilityRequestPurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2922 this.getPurpose().remove((Enumeration) value); 2923 } else if (name.equals("patient")) { 2924 this.patient = null; 2925 } else if (name.equals("event")) { 2926 this.getEvent().remove((CoverageEligibilityRequestEventComponent) value); 2927 } else if (name.equals("serviced[x]")) { 2928 this.serviced = null; 2929 } else if (name.equals("created")) { 2930 this.created = null; 2931 } else if (name.equals("enterer")) { 2932 this.enterer = null; 2933 } else if (name.equals("provider")) { 2934 this.provider = null; 2935 } else if (name.equals("insurer")) { 2936 this.insurer = null; 2937 } else if (name.equals("facility")) { 2938 this.facility = null; 2939 } else if (name.equals("supportingInfo")) { 2940 this.getSupportingInfo().remove((SupportingInformationComponent) value); 2941 } else if (name.equals("insurance")) { 2942 this.getInsurance().remove((InsuranceComponent) value); 2943 } else if (name.equals("item")) { 2944 this.getItem().remove((DetailsComponent) value); 2945 } else 2946 super.removeChild(name, value); 2947 2948 } 2949 2950 @Override 2951 public Base makeProperty(int hash, String name) throws FHIRException { 2952 switch (hash) { 2953 case -1618432855: return addIdentifier(); 2954 case -892481550: return getStatusElement(); 2955 case -1165461084: return getPriority(); 2956 case -220463842: return addPurposeElement(); 2957 case -791418107: return getPatient(); 2958 case 96891546: return addEvent(); 2959 case -1927922223: return getServiced(); 2960 case 1379209295: return getServiced(); 2961 case 1028554472: return getCreatedElement(); 2962 case -1591951995: return getEnterer(); 2963 case -987494927: return getProvider(); 2964 case 1957615864: return getInsurer(); 2965 case 501116579: return getFacility(); 2966 case 1922406657: return addSupportingInfo(); 2967 case 73049818: return addInsurance(); 2968 case 3242771: return addItem(); 2969 default: return super.makeProperty(hash, name); 2970 } 2971 2972 } 2973 2974 @Override 2975 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2976 switch (hash) { 2977 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2978 case -892481550: /*status*/ return new String[] {"code"}; 2979 case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; 2980 case -220463842: /*purpose*/ return new String[] {"code"}; 2981 case -791418107: /*patient*/ return new String[] {"Reference"}; 2982 case 96891546: /*event*/ return new String[] {}; 2983 case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; 2984 case 1028554472: /*created*/ return new String[] {"dateTime"}; 2985 case -1591951995: /*enterer*/ return new String[] {"Reference"}; 2986 case -987494927: /*provider*/ return new String[] {"Reference"}; 2987 case 1957615864: /*insurer*/ return new String[] {"Reference"}; 2988 case 501116579: /*facility*/ return new String[] {"Reference"}; 2989 case 1922406657: /*supportingInfo*/ return new String[] {}; 2990 case 73049818: /*insurance*/ return new String[] {}; 2991 case 3242771: /*item*/ return new String[] {}; 2992 default: return super.getTypesForProperty(hash, name); 2993 } 2994 2995 } 2996 2997 @Override 2998 public Base addChild(String name) throws FHIRException { 2999 if (name.equals("identifier")) { 3000 return addIdentifier(); 3001 } 3002 else if (name.equals("status")) { 3003 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.status"); 3004 } 3005 else if (name.equals("priority")) { 3006 this.priority = new CodeableConcept(); 3007 return this.priority; 3008 } 3009 else if (name.equals("purpose")) { 3010 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.purpose"); 3011 } 3012 else if (name.equals("patient")) { 3013 this.patient = new Reference(); 3014 return this.patient; 3015 } 3016 else if (name.equals("event")) { 3017 return addEvent(); 3018 } 3019 else if (name.equals("servicedDate")) { 3020 this.serviced = new DateType(); 3021 return this.serviced; 3022 } 3023 else if (name.equals("servicedPeriod")) { 3024 this.serviced = new Period(); 3025 return this.serviced; 3026 } 3027 else if (name.equals("created")) { 3028 throw new FHIRException("Cannot call addChild on a singleton property CoverageEligibilityRequest.created"); 3029 } 3030 else if (name.equals("enterer")) { 3031 this.enterer = new Reference(); 3032 return this.enterer; 3033 } 3034 else if (name.equals("provider")) { 3035 this.provider = new Reference(); 3036 return this.provider; 3037 } 3038 else if (name.equals("insurer")) { 3039 this.insurer = new Reference(); 3040 return this.insurer; 3041 } 3042 else if (name.equals("facility")) { 3043 this.facility = new Reference(); 3044 return this.facility; 3045 } 3046 else if (name.equals("supportingInfo")) { 3047 return addSupportingInfo(); 3048 } 3049 else if (name.equals("insurance")) { 3050 return addInsurance(); 3051 } 3052 else if (name.equals("item")) { 3053 return addItem(); 3054 } 3055 else 3056 return super.addChild(name); 3057 } 3058 3059 public String fhirType() { 3060 return "CoverageEligibilityRequest"; 3061 3062 } 3063 3064 public CoverageEligibilityRequest copy() { 3065 CoverageEligibilityRequest dst = new CoverageEligibilityRequest(); 3066 copyValues(dst); 3067 return dst; 3068 } 3069 3070 public void copyValues(CoverageEligibilityRequest dst) { 3071 super.copyValues(dst); 3072 if (identifier != null) { 3073 dst.identifier = new ArrayList<Identifier>(); 3074 for (Identifier i : identifier) 3075 dst.identifier.add(i.copy()); 3076 }; 3077 dst.status = status == null ? null : status.copy(); 3078 dst.priority = priority == null ? null : priority.copy(); 3079 if (purpose != null) { 3080 dst.purpose = new ArrayList<Enumeration<EligibilityRequestPurpose>>(); 3081 for (Enumeration<EligibilityRequestPurpose> i : purpose) 3082 dst.purpose.add(i.copy()); 3083 }; 3084 dst.patient = patient == null ? null : patient.copy(); 3085 if (event != null) { 3086 dst.event = new ArrayList<CoverageEligibilityRequestEventComponent>(); 3087 for (CoverageEligibilityRequestEventComponent i : event) 3088 dst.event.add(i.copy()); 3089 }; 3090 dst.serviced = serviced == null ? null : serviced.copy(); 3091 dst.created = created == null ? null : created.copy(); 3092 dst.enterer = enterer == null ? null : enterer.copy(); 3093 dst.provider = provider == null ? null : provider.copy(); 3094 dst.insurer = insurer == null ? null : insurer.copy(); 3095 dst.facility = facility == null ? null : facility.copy(); 3096 if (supportingInfo != null) { 3097 dst.supportingInfo = new ArrayList<SupportingInformationComponent>(); 3098 for (SupportingInformationComponent i : supportingInfo) 3099 dst.supportingInfo.add(i.copy()); 3100 }; 3101 if (insurance != null) { 3102 dst.insurance = new ArrayList<InsuranceComponent>(); 3103 for (InsuranceComponent i : insurance) 3104 dst.insurance.add(i.copy()); 3105 }; 3106 if (item != null) { 3107 dst.item = new ArrayList<DetailsComponent>(); 3108 for (DetailsComponent i : item) 3109 dst.item.add(i.copy()); 3110 }; 3111 } 3112 3113 protected CoverageEligibilityRequest typedCopy() { 3114 return copy(); 3115 } 3116 3117 @Override 3118 public boolean equalsDeep(Base other_) { 3119 if (!super.equalsDeep(other_)) 3120 return false; 3121 if (!(other_ instanceof CoverageEligibilityRequest)) 3122 return false; 3123 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 3124 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(priority, o.priority, true) 3125 && compareDeep(purpose, o.purpose, true) && compareDeep(patient, o.patient, true) && compareDeep(event, o.event, true) 3126 && compareDeep(serviced, o.serviced, true) && compareDeep(created, o.created, true) && compareDeep(enterer, o.enterer, true) 3127 && compareDeep(provider, o.provider, true) && compareDeep(insurer, o.insurer, true) && compareDeep(facility, o.facility, true) 3128 && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(insurance, o.insurance, true) 3129 && compareDeep(item, o.item, true); 3130 } 3131 3132 @Override 3133 public boolean equalsShallow(Base other_) { 3134 if (!super.equalsShallow(other_)) 3135 return false; 3136 if (!(other_ instanceof CoverageEligibilityRequest)) 3137 return false; 3138 CoverageEligibilityRequest o = (CoverageEligibilityRequest) other_; 3139 return compareValues(status, o.status, true) && compareValues(purpose, o.purpose, true) && compareValues(created, o.created, true) 3140 ; 3141 } 3142 3143 public boolean isEmpty() { 3144 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, priority 3145 , purpose, patient, event, serviced, created, enterer, provider, insurer, facility 3146 , supportingInfo, insurance, item); 3147 } 3148 3149 @Override 3150 public ResourceType getResourceType() { 3151 return ResourceType.CoverageEligibilityRequest; 3152 } 3153 3154 /** 3155 * Search parameter: <b>created</b> 3156 * <p> 3157 * Description: <b>The creation date for the EOB</b><br> 3158 * Type: <b>date</b><br> 3159 * Path: <b>CoverageEligibilityRequest.created</b><br> 3160 * </p> 3161 */ 3162 @SearchParamDefinition(name="created", path="CoverageEligibilityRequest.created", description="The creation date for the EOB", type="date" ) 3163 public static final String SP_CREATED = "created"; 3164 /** 3165 * <b>Fluent Client</b> search parameter constant for <b>created</b> 3166 * <p> 3167 * Description: <b>The creation date for the EOB</b><br> 3168 * Type: <b>date</b><br> 3169 * Path: <b>CoverageEligibilityRequest.created</b><br> 3170 * </p> 3171 */ 3172 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 3173 3174 /** 3175 * Search parameter: <b>enterer</b> 3176 * <p> 3177 * Description: <b>The party who is responsible for the request</b><br> 3178 * Type: <b>reference</b><br> 3179 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 3180 * </p> 3181 */ 3182 @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 } ) 3183 public static final String SP_ENTERER = "enterer"; 3184 /** 3185 * <b>Fluent Client</b> search parameter constant for <b>enterer</b> 3186 * <p> 3187 * Description: <b>The party who is responsible for the request</b><br> 3188 * Type: <b>reference</b><br> 3189 * Path: <b>CoverageEligibilityRequest.enterer</b><br> 3190 * </p> 3191 */ 3192 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENTERER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENTERER); 3193 3194/** 3195 * Constant for fluent queries to be used to add include statements. Specifies 3196 * the path value of "<b>CoverageEligibilityRequest:enterer</b>". 3197 */ 3198 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENTERER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:enterer").toLocked(); 3199 3200 /** 3201 * Search parameter: <b>facility</b> 3202 * <p> 3203 * Description: <b>Facility responsible for the goods and services</b><br> 3204 * Type: <b>reference</b><br> 3205 * Path: <b>CoverageEligibilityRequest.facility</b><br> 3206 * </p> 3207 */ 3208 @SearchParamDefinition(name="facility", path="CoverageEligibilityRequest.facility", description="Facility responsible for the goods and services", type="reference", target={Location.class } ) 3209 public static final String SP_FACILITY = "facility"; 3210 /** 3211 * <b>Fluent Client</b> search parameter constant for <b>facility</b> 3212 * <p> 3213 * Description: <b>Facility responsible for the goods and services</b><br> 3214 * Type: <b>reference</b><br> 3215 * Path: <b>CoverageEligibilityRequest.facility</b><br> 3216 * </p> 3217 */ 3218 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FACILITY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FACILITY); 3219 3220/** 3221 * Constant for fluent queries to be used to add include statements. Specifies 3222 * the path value of "<b>CoverageEligibilityRequest:facility</b>". 3223 */ 3224 public static final ca.uhn.fhir.model.api.Include INCLUDE_FACILITY = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:facility").toLocked(); 3225 3226 /** 3227 * Search parameter: <b>provider</b> 3228 * <p> 3229 * Description: <b>The reference to the provider</b><br> 3230 * Type: <b>reference</b><br> 3231 * Path: <b>CoverageEligibilityRequest.provider</b><br> 3232 * </p> 3233 */ 3234 @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 } ) 3235 public static final String SP_PROVIDER = "provider"; 3236 /** 3237 * <b>Fluent Client</b> search parameter constant for <b>provider</b> 3238 * <p> 3239 * Description: <b>The reference to the provider</b><br> 3240 * Type: <b>reference</b><br> 3241 * Path: <b>CoverageEligibilityRequest.provider</b><br> 3242 * </p> 3243 */ 3244 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROVIDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROVIDER); 3245 3246/** 3247 * Constant for fluent queries to be used to add include statements. Specifies 3248 * the path value of "<b>CoverageEligibilityRequest:provider</b>". 3249 */ 3250 public static final ca.uhn.fhir.model.api.Include INCLUDE_PROVIDER = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:provider").toLocked(); 3251 3252 /** 3253 * Search parameter: <b>status</b> 3254 * <p> 3255 * Description: <b>The status of the EligibilityRequest</b><br> 3256 * Type: <b>token</b><br> 3257 * Path: <b>CoverageEligibilityRequest.status</b><br> 3258 * </p> 3259 */ 3260 @SearchParamDefinition(name="status", path="CoverageEligibilityRequest.status", description="The status of the EligibilityRequest", type="token" ) 3261 public static final String SP_STATUS = "status"; 3262 /** 3263 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3264 * <p> 3265 * Description: <b>The status of the EligibilityRequest</b><br> 3266 * Type: <b>token</b><br> 3267 * Path: <b>CoverageEligibilityRequest.status</b><br> 3268 * </p> 3269 */ 3270 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3271 3272 /** 3273 * Search parameter: <b>identifier</b> 3274 * <p> 3275 * Description: <b>Multiple Resources: 3276 3277* [Account](account.html): Account number 3278* [AdverseEvent](adverseevent.html): Business identifier for the event 3279* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3280* [Appointment](appointment.html): An Identifier of the Appointment 3281* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 3282* [Basic](basic.html): Business identifier 3283* [BodyStructure](bodystructure.html): Bodystructure identifier 3284* [CarePlan](careplan.html): External Ids for this plan 3285* [CareTeam](careteam.html): External Ids for this team 3286* [ChargeItem](chargeitem.html): Business Identifier for item 3287* [Claim](claim.html): The primary identifier of the financial resource 3288* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 3289* [ClinicalImpression](clinicalimpression.html): Business identifier 3290* [Communication](communication.html): Unique identifier 3291* [CommunicationRequest](communicationrequest.html): Unique identifier 3292* [Composition](composition.html): Version-independent identifier for the Composition 3293* [Condition](condition.html): A unique identifier of the condition record 3294* [Consent](consent.html): Identifier for this record (external references) 3295* [Contract](contract.html): The identity of the contract 3296* [Coverage](coverage.html): The primary identifier of the insured and the coverage 3297* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 3298* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 3299* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3300* [DeviceRequest](devicerequest.html): Business identifier for request/order 3301* [DeviceUsage](deviceusage.html): Search by identifier 3302* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3303* [DocumentReference](documentreference.html): Identifier of the attachment binary 3304* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3305* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 3306* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3307* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 3308* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3309* [Flag](flag.html): Business identifier 3310* [Goal](goal.html): External Ids for this goal 3311* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 3312* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 3313* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 3314* [Immunization](immunization.html): Business identifier 3315* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 3316* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 3317* [Invoice](invoice.html): Business Identifier for item 3318* [List](list.html): Business identifier 3319* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 3320* [Medication](medication.html): Returns medications with this external identifier 3321* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3322* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3323* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3324* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3325* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 3326* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 3327* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3328* [Observation](observation.html): The unique id for a particular observation 3329* [Person](person.html): A person Identifier 3330* [Procedure](procedure.html): A unique identifier for a procedure 3331* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 3332* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 3333* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 3334* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 3335* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3336* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3337* [Specimen](specimen.html): The unique identifier associated with the specimen 3338* [SupplyDelivery](supplydelivery.html): External identifier 3339* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3340* [Task](task.html): Search for a task instance by its business identifier 3341* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3342</b><br> 3343 * Type: <b>token</b><br> 3344 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 3345 * </p> 3346 */ 3347 @SearchParamDefinition(name="identifier", path="Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [Account](account.html): Account number\r\n* [AdverseEvent](adverseevent.html): Business identifier for the event\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [Appointment](appointment.html): An Identifier of the Appointment\r\n* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response\r\n* [Basic](basic.html): Business identifier\r\n* [BodyStructure](bodystructure.html): Bodystructure identifier\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [ChargeItem](chargeitem.html): Business Identifier for item\r\n* [Claim](claim.html): The primary identifier of the financial resource\r\n* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse\r\n* [ClinicalImpression](clinicalimpression.html): Business identifier\r\n* [Communication](communication.html): Unique identifier\r\n* [CommunicationRequest](communicationrequest.html): Unique identifier\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [Contract](contract.html): The identity of the contract\r\n* [Coverage](coverage.html): The primary identifier of the insured and the coverage\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DeviceUsage](deviceusage.html): Search by identifier\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Flag](flag.html): Business identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response\r\n* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier\r\n* [Invoice](invoice.html): Business Identifier for item\r\n* [List](list.html): Business identifier\r\n* [MeasureReport](measurereport.html): External identifier of the measure report to be returned\r\n* [Medication](medication.html): Returns medications with this external identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence\r\n* [NutritionIntake](nutritionintake.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Person](person.html): A person Identifier\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response\r\n* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson\r\n* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration\r\n* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [Specimen](specimen.html): The unique identifier associated with the specimen\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [Task](task.html): Search for a task instance by its business identifier\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 3348 public static final String SP_IDENTIFIER = "identifier"; 3349 /** 3350 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3351 * <p> 3352 * Description: <b>Multiple Resources: 3353 3354* [Account](account.html): Account number 3355* [AdverseEvent](adverseevent.html): Business identifier for the event 3356* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3357* [Appointment](appointment.html): An Identifier of the Appointment 3358* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 3359* [Basic](basic.html): Business identifier 3360* [BodyStructure](bodystructure.html): Bodystructure identifier 3361* [CarePlan](careplan.html): External Ids for this plan 3362* [CareTeam](careteam.html): External Ids for this team 3363* [ChargeItem](chargeitem.html): Business Identifier for item 3364* [Claim](claim.html): The primary identifier of the financial resource 3365* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 3366* [ClinicalImpression](clinicalimpression.html): Business identifier 3367* [Communication](communication.html): Unique identifier 3368* [CommunicationRequest](communicationrequest.html): Unique identifier 3369* [Composition](composition.html): Version-independent identifier for the Composition 3370* [Condition](condition.html): A unique identifier of the condition record 3371* [Consent](consent.html): Identifier for this record (external references) 3372* [Contract](contract.html): The identity of the contract 3373* [Coverage](coverage.html): The primary identifier of the insured and the coverage 3374* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 3375* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 3376* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3377* [DeviceRequest](devicerequest.html): Business identifier for request/order 3378* [DeviceUsage](deviceusage.html): Search by identifier 3379* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3380* [DocumentReference](documentreference.html): Identifier of the attachment binary 3381* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3382* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 3383* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3384* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 3385* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3386* [Flag](flag.html): Business identifier 3387* [Goal](goal.html): External Ids for this goal 3388* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 3389* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 3390* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 3391* [Immunization](immunization.html): Business identifier 3392* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 3393* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 3394* [Invoice](invoice.html): Business Identifier for item 3395* [List](list.html): Business identifier 3396* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 3397* [Medication](medication.html): Returns medications with this external identifier 3398* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3399* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3400* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3401* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3402* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 3403* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 3404* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3405* [Observation](observation.html): The unique id for a particular observation 3406* [Person](person.html): A person Identifier 3407* [Procedure](procedure.html): A unique identifier for a procedure 3408* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 3409* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 3410* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 3411* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 3412* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3413* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3414* [Specimen](specimen.html): The unique identifier associated with the specimen 3415* [SupplyDelivery](supplydelivery.html): External identifier 3416* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3417* [Task](task.html): Search for a task instance by its business identifier 3418* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3419</b><br> 3420 * Type: <b>token</b><br> 3421 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 3422 * </p> 3423 */ 3424 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3425 3426 /** 3427 * Search parameter: <b>patient</b> 3428 * <p> 3429 * Description: <b>Multiple Resources: 3430 3431* [Account](account.html): The entity that caused the expenses 3432* [AdverseEvent](adverseevent.html): Subject impacted by event 3433* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3434* [Appointment](appointment.html): One of the individuals of the appointment is this patient 3435* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 3436* [AuditEvent](auditevent.html): Where the activity involved patient data 3437* [Basic](basic.html): Identifies the focus of this resource 3438* [BodyStructure](bodystructure.html): Who this is about 3439* [CarePlan](careplan.html): Who the care plan is for 3440* [CareTeam](careteam.html): Who care team is for 3441* [ChargeItem](chargeitem.html): Individual service was done for/to 3442* [Claim](claim.html): Patient receiving the products or services 3443* [ClaimResponse](claimresponse.html): The subject of care 3444* [ClinicalImpression](clinicalimpression.html): Patient assessed 3445* [Communication](communication.html): Focus of message 3446* [CommunicationRequest](communicationrequest.html): Focus of message 3447* [Composition](composition.html): Who and/or what the composition is about 3448* [Condition](condition.html): Who has the condition? 3449* [Consent](consent.html): Who the consent applies to 3450* [Contract](contract.html): The identity of the subject of the contract (if a patient) 3451* [Coverage](coverage.html): Retrieve coverages for a patient 3452* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 3453* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 3454* [DetectedIssue](detectedissue.html): Associated patient 3455* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3456* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 3457* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3458* [DocumentReference](documentreference.html): Who/what is the subject of the document 3459* [Encounter](encounter.html): The patient present at the encounter 3460* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 3461* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3462* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 3463* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3464* [Flag](flag.html): The identity of a subject to list flags for 3465* [Goal](goal.html): Who this goal is intended for 3466* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 3467* [ImagingSelection](imagingselection.html): Who the study is about 3468* [ImagingStudy](imagingstudy.html): Who the study is about 3469* [Immunization](immunization.html): The patient for the vaccination record 3470* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 3471* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 3472* [Invoice](invoice.html): Recipient(s) of goods and services 3473* [List](list.html): If all resources have the same subject 3474* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 3475* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3476* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3477* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3478* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3479* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 3480* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 3481* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 3482* [Observation](observation.html): The subject that the observation is about (if patient) 3483* [Person](person.html): The Person links to this Patient 3484* [Procedure](procedure.html): Search by subject - a patient 3485* [Provenance](provenance.html): Where the activity involved patient data 3486* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 3487* [RelatedPerson](relatedperson.html): The patient this related person is related to 3488* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 3489* [ResearchSubject](researchsubject.html): Who or what is part of study 3490* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3491* [ServiceRequest](servicerequest.html): Search by subject - a patient 3492* [Specimen](specimen.html): The patient the specimen comes from 3493* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3494* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 3495* [Task](task.html): Search by patient 3496* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3497</b><br> 3498 * Type: <b>reference</b><br> 3499 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 3500 * </p> 3501 */ 3502 @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [Account](account.html): The entity that caused the expenses\r\n* [AdverseEvent](adverseevent.html): Subject impacted by event\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [Appointment](appointment.html): One of the individuals of the appointment is this patient\r\n* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient\r\n* [AuditEvent](auditevent.html): Where the activity involved patient data\r\n* [Basic](basic.html): Identifies the focus of this resource\r\n* [BodyStructure](bodystructure.html): Who this is about\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ChargeItem](chargeitem.html): Individual service was done for/to\r\n* [Claim](claim.html): Patient receiving the products or services\r\n* [ClaimResponse](claimresponse.html): The subject of care\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Communication](communication.html): Focus of message\r\n* [CommunicationRequest](communicationrequest.html): Focus of message\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [Contract](contract.html): The identity of the subject of the contract (if a patient)\r\n* [Coverage](coverage.html): Retrieve coverages for a patient\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results\r\n* [ImagingSelection](imagingselection.html): Who the study is about\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for\r\n* [Invoice](invoice.html): Recipient(s) of goods and services\r\n* [List](list.html): If all resources have the same subject\r\n* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [MolecularSequence](molecularsequence.html): The subject that the sequence is about\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Person](person.html): The Person links to this Patient\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [Provenance](provenance.html): Where the activity involved patient data\r\n* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response\r\n* [RelatedPerson](relatedperson.html): The patient this related person is related to\r\n* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations\r\n* [ResearchSubject](researchsubject.html): Who or what is part of study\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [Specimen](specimen.html): The patient the specimen comes from\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [Task](task.html): Search by patient\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) 3503 public static final String SP_PATIENT = "patient"; 3504 /** 3505 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3506 * <p> 3507 * Description: <b>Multiple Resources: 3508 3509* [Account](account.html): The entity that caused the expenses 3510* [AdverseEvent](adverseevent.html): Subject impacted by event 3511* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3512* [Appointment](appointment.html): One of the individuals of the appointment is this patient 3513* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 3514* [AuditEvent](auditevent.html): Where the activity involved patient data 3515* [Basic](basic.html): Identifies the focus of this resource 3516* [BodyStructure](bodystructure.html): Who this is about 3517* [CarePlan](careplan.html): Who the care plan is for 3518* [CareTeam](careteam.html): Who care team is for 3519* [ChargeItem](chargeitem.html): Individual service was done for/to 3520* [Claim](claim.html): Patient receiving the products or services 3521* [ClaimResponse](claimresponse.html): The subject of care 3522* [ClinicalImpression](clinicalimpression.html): Patient assessed 3523* [Communication](communication.html): Focus of message 3524* [CommunicationRequest](communicationrequest.html): Focus of message 3525* [Composition](composition.html): Who and/or what the composition is about 3526* [Condition](condition.html): Who has the condition? 3527* [Consent](consent.html): Who the consent applies to 3528* [Contract](contract.html): The identity of the subject of the contract (if a patient) 3529* [Coverage](coverage.html): Retrieve coverages for a patient 3530* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 3531* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 3532* [DetectedIssue](detectedissue.html): Associated patient 3533* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3534* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 3535* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3536* [DocumentReference](documentreference.html): Who/what is the subject of the document 3537* [Encounter](encounter.html): The patient present at the encounter 3538* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 3539* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3540* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 3541* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3542* [Flag](flag.html): The identity of a subject to list flags for 3543* [Goal](goal.html): Who this goal is intended for 3544* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 3545* [ImagingSelection](imagingselection.html): Who the study is about 3546* [ImagingStudy](imagingstudy.html): Who the study is about 3547* [Immunization](immunization.html): The patient for the vaccination record 3548* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 3549* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 3550* [Invoice](invoice.html): Recipient(s) of goods and services 3551* [List](list.html): If all resources have the same subject 3552* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 3553* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3554* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3555* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3556* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3557* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 3558* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 3559* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 3560* [Observation](observation.html): The subject that the observation is about (if patient) 3561* [Person](person.html): The Person links to this Patient 3562* [Procedure](procedure.html): Search by subject - a patient 3563* [Provenance](provenance.html): Where the activity involved patient data 3564* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 3565* [RelatedPerson](relatedperson.html): The patient this related person is related to 3566* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 3567* [ResearchSubject](researchsubject.html): Who or what is part of study 3568* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3569* [ServiceRequest](servicerequest.html): Search by subject - a patient 3570* [Specimen](specimen.html): The patient the specimen comes from 3571* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3572* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 3573* [Task](task.html): Search by patient 3574* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3575</b><br> 3576 * Type: <b>reference</b><br> 3577 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 3578 * </p> 3579 */ 3580 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3581 3582/** 3583 * Constant for fluent queries to be used to add include statements. Specifies 3584 * the path value of "<b>CoverageEligibilityRequest:patient</b>". 3585 */ 3586 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CoverageEligibilityRequest:patient").toLocked(); 3587 3588 3589} 3590