001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0 033 034import java.util.*; 035 036import ca.uhn.fhir.model.api.annotation.ResourceDef; 037import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 038import ca.uhn.fhir.model.api.annotation.Child; 039import ca.uhn.fhir.model.api.annotation.ChildOrder; 040import ca.uhn.fhir.model.api.annotation.Description; 041import ca.uhn.fhir.model.api.annotation.Block; 042import org.hl7.fhir.instance.model.api.*; 043import org.hl7.fhir.exceptions.FHIRException; 044/** 045 * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. 046 */ 047@ResourceDef(name="Condition", profile="http://hl7.org/fhir/StructureDefinition/Condition") 048public class Condition extends DomainResource { 049 050 @Block() 051 public static class ConditionStageComponent extends BackboneElement implements IBaseBackboneElement { 052 /** 053 * A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. 054 */ 055 @Child(name = "summary", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 056 @Description(shortDefinition="Simple summary (disease specific)", formalDefinition="A simple summary of the stage such as \"Stage 3\". The determination of the stage is disease-specific." ) 057 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-stage") 058 protected CodeableConcept summary; 059 060 /** 061 * Reference to a formal record of the evidence on which the staging assessment is based. 062 */ 063 @Child(name = "assessment", type = {ClinicalImpression.class, DiagnosticReport.class, Observation.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 064 @Description(shortDefinition="Formal record of assessment", formalDefinition="Reference to a formal record of the evidence on which the staging assessment is based." ) 065 protected List<Reference> assessment; 066 /** 067 * The actual objects that are the target of the reference (Reference to a formal record of the evidence on which the staging assessment is based.) 068 */ 069 protected List<Resource> assessmentTarget; 070 071 072 /** 073 * The kind of staging, such as pathological or clinical staging. 074 */ 075 @Child(name = "type", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 076 @Description(shortDefinition="Kind of staging", formalDefinition="The kind of staging, such as pathological or clinical staging." ) 077 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-stage-type") 078 protected CodeableConcept type; 079 080 private static final long serialVersionUID = 668627986L; 081 082 /** 083 * Constructor 084 */ 085 public ConditionStageComponent() { 086 super(); 087 } 088 089 /** 090 * @return {@link #summary} (A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific.) 091 */ 092 public CodeableConcept getSummary() { 093 if (this.summary == null) 094 if (Configuration.errorOnAutoCreate()) 095 throw new Error("Attempt to auto-create ConditionStageComponent.summary"); 096 else if (Configuration.doAutoCreate()) 097 this.summary = new CodeableConcept(); // cc 098 return this.summary; 099 } 100 101 public boolean hasSummary() { 102 return this.summary != null && !this.summary.isEmpty(); 103 } 104 105 /** 106 * @param value {@link #summary} (A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific.) 107 */ 108 public ConditionStageComponent setSummary(CodeableConcept value) { 109 this.summary = value; 110 return this; 111 } 112 113 /** 114 * @return {@link #assessment} (Reference to a formal record of the evidence on which the staging assessment is based.) 115 */ 116 public List<Reference> getAssessment() { 117 if (this.assessment == null) 118 this.assessment = new ArrayList<Reference>(); 119 return this.assessment; 120 } 121 122 /** 123 * @return Returns a reference to <code>this</code> for easy method chaining 124 */ 125 public ConditionStageComponent setAssessment(List<Reference> theAssessment) { 126 this.assessment = theAssessment; 127 return this; 128 } 129 130 public boolean hasAssessment() { 131 if (this.assessment == null) 132 return false; 133 for (Reference item : this.assessment) 134 if (!item.isEmpty()) 135 return true; 136 return false; 137 } 138 139 public Reference addAssessment() { //3 140 Reference t = new Reference(); 141 if (this.assessment == null) 142 this.assessment = new ArrayList<Reference>(); 143 this.assessment.add(t); 144 return t; 145 } 146 147 public ConditionStageComponent addAssessment(Reference t) { //3 148 if (t == null) 149 return this; 150 if (this.assessment == null) 151 this.assessment = new ArrayList<Reference>(); 152 this.assessment.add(t); 153 return this; 154 } 155 156 /** 157 * @return The first repetition of repeating field {@link #assessment}, creating it if it does not already exist 158 */ 159 public Reference getAssessmentFirstRep() { 160 if (getAssessment().isEmpty()) { 161 addAssessment(); 162 } 163 return getAssessment().get(0); 164 } 165 166 /** 167 * @deprecated Use Reference#setResource(IBaseResource) instead 168 */ 169 @Deprecated 170 public List<Resource> getAssessmentTarget() { 171 if (this.assessmentTarget == null) 172 this.assessmentTarget = new ArrayList<Resource>(); 173 return this.assessmentTarget; 174 } 175 176 /** 177 * @return {@link #type} (The kind of staging, such as pathological or clinical staging.) 178 */ 179 public CodeableConcept getType() { 180 if (this.type == null) 181 if (Configuration.errorOnAutoCreate()) 182 throw new Error("Attempt to auto-create ConditionStageComponent.type"); 183 else if (Configuration.doAutoCreate()) 184 this.type = new CodeableConcept(); // cc 185 return this.type; 186 } 187 188 public boolean hasType() { 189 return this.type != null && !this.type.isEmpty(); 190 } 191 192 /** 193 * @param value {@link #type} (The kind of staging, such as pathological or clinical staging.) 194 */ 195 public ConditionStageComponent setType(CodeableConcept value) { 196 this.type = value; 197 return this; 198 } 199 200 protected void listChildren(List<Property> children) { 201 super.listChildren(children); 202 children.add(new Property("summary", "CodeableConcept", "A simple summary of the stage such as \"Stage 3\". The determination of the stage is disease-specific.", 0, 1, summary)); 203 children.add(new Property("assessment", "Reference(ClinicalImpression|DiagnosticReport|Observation)", "Reference to a formal record of the evidence on which the staging assessment is based.", 0, java.lang.Integer.MAX_VALUE, assessment)); 204 children.add(new Property("type", "CodeableConcept", "The kind of staging, such as pathological or clinical staging.", 0, 1, type)); 205 } 206 207 @Override 208 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 209 switch (_hash) { 210 case -1857640538: /*summary*/ return new Property("summary", "CodeableConcept", "A simple summary of the stage such as \"Stage 3\". The determination of the stage is disease-specific.", 0, 1, summary); 211 case 2119382722: /*assessment*/ return new Property("assessment", "Reference(ClinicalImpression|DiagnosticReport|Observation)", "Reference to a formal record of the evidence on which the staging assessment is based.", 0, java.lang.Integer.MAX_VALUE, assessment); 212 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The kind of staging, such as pathological or clinical staging.", 0, 1, type); 213 default: return super.getNamedProperty(_hash, _name, _checkValid); 214 } 215 216 } 217 218 @Override 219 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 220 switch (hash) { 221 case -1857640538: /*summary*/ return this.summary == null ? new Base[0] : new Base[] {this.summary}; // CodeableConcept 222 case 2119382722: /*assessment*/ return this.assessment == null ? new Base[0] : this.assessment.toArray(new Base[this.assessment.size()]); // Reference 223 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 224 default: return super.getProperty(hash, name, checkValid); 225 } 226 227 } 228 229 @Override 230 public Base setProperty(int hash, String name, Base value) throws FHIRException { 231 switch (hash) { 232 case -1857640538: // summary 233 this.summary = castToCodeableConcept(value); // CodeableConcept 234 return value; 235 case 2119382722: // assessment 236 this.getAssessment().add(castToReference(value)); // Reference 237 return value; 238 case 3575610: // type 239 this.type = castToCodeableConcept(value); // CodeableConcept 240 return value; 241 default: return super.setProperty(hash, name, value); 242 } 243 244 } 245 246 @Override 247 public Base setProperty(String name, Base value) throws FHIRException { 248 if (name.equals("summary")) { 249 this.summary = castToCodeableConcept(value); // CodeableConcept 250 } else if (name.equals("assessment")) { 251 this.getAssessment().add(castToReference(value)); 252 } else if (name.equals("type")) { 253 this.type = castToCodeableConcept(value); // CodeableConcept 254 } else 255 return super.setProperty(name, value); 256 return value; 257 } 258 259 @Override 260 public Base makeProperty(int hash, String name) throws FHIRException { 261 switch (hash) { 262 case -1857640538: return getSummary(); 263 case 2119382722: return addAssessment(); 264 case 3575610: return getType(); 265 default: return super.makeProperty(hash, name); 266 } 267 268 } 269 270 @Override 271 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 272 switch (hash) { 273 case -1857640538: /*summary*/ return new String[] {"CodeableConcept"}; 274 case 2119382722: /*assessment*/ return new String[] {"Reference"}; 275 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 276 default: return super.getTypesForProperty(hash, name); 277 } 278 279 } 280 281 @Override 282 public Base addChild(String name) throws FHIRException { 283 if (name.equals("summary")) { 284 this.summary = new CodeableConcept(); 285 return this.summary; 286 } 287 else if (name.equals("assessment")) { 288 return addAssessment(); 289 } 290 else if (name.equals("type")) { 291 this.type = new CodeableConcept(); 292 return this.type; 293 } 294 else 295 return super.addChild(name); 296 } 297 298 public ConditionStageComponent copy() { 299 ConditionStageComponent dst = new ConditionStageComponent(); 300 copyValues(dst); 301 dst.summary = summary == null ? null : summary.copy(); 302 if (assessment != null) { 303 dst.assessment = new ArrayList<Reference>(); 304 for (Reference i : assessment) 305 dst.assessment.add(i.copy()); 306 }; 307 dst.type = type == null ? null : type.copy(); 308 return dst; 309 } 310 311 @Override 312 public boolean equalsDeep(Base other_) { 313 if (!super.equalsDeep(other_)) 314 return false; 315 if (!(other_ instanceof ConditionStageComponent)) 316 return false; 317 ConditionStageComponent o = (ConditionStageComponent) other_; 318 return compareDeep(summary, o.summary, true) && compareDeep(assessment, o.assessment, true) && compareDeep(type, o.type, true) 319 ; 320 } 321 322 @Override 323 public boolean equalsShallow(Base other_) { 324 if (!super.equalsShallow(other_)) 325 return false; 326 if (!(other_ instanceof ConditionStageComponent)) 327 return false; 328 ConditionStageComponent o = (ConditionStageComponent) other_; 329 return true; 330 } 331 332 public boolean isEmpty() { 333 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(summary, assessment, type 334 ); 335 } 336 337 public String fhirType() { 338 return "Condition.stage"; 339 340 } 341 342 } 343 344 @Block() 345 public static class ConditionEvidenceComponent extends BackboneElement implements IBaseBackboneElement { 346 /** 347 * A manifestation or symptom that led to the recording of this condition. 348 */ 349 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 350 @Description(shortDefinition="Manifestation/symptom", formalDefinition="A manifestation or symptom that led to the recording of this condition." ) 351 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/manifestation-or-symptom") 352 protected List<CodeableConcept> code; 353 354 /** 355 * Links to other relevant information, including pathology reports. 356 */ 357 @Child(name = "detail", type = {Reference.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 358 @Description(shortDefinition="Supporting information found elsewhere", formalDefinition="Links to other relevant information, including pathology reports." ) 359 protected List<Reference> detail; 360 /** 361 * The actual objects that are the target of the reference (Links to other relevant information, including pathology reports.) 362 */ 363 protected List<Resource> detailTarget; 364 365 366 private static final long serialVersionUID = 1135831276L; 367 368 /** 369 * Constructor 370 */ 371 public ConditionEvidenceComponent() { 372 super(); 373 } 374 375 /** 376 * @return {@link #code} (A manifestation or symptom that led to the recording of this condition.) 377 */ 378 public List<CodeableConcept> getCode() { 379 if (this.code == null) 380 this.code = new ArrayList<CodeableConcept>(); 381 return this.code; 382 } 383 384 /** 385 * @return Returns a reference to <code>this</code> for easy method chaining 386 */ 387 public ConditionEvidenceComponent setCode(List<CodeableConcept> theCode) { 388 this.code = theCode; 389 return this; 390 } 391 392 public boolean hasCode() { 393 if (this.code == null) 394 return false; 395 for (CodeableConcept item : this.code) 396 if (!item.isEmpty()) 397 return true; 398 return false; 399 } 400 401 public CodeableConcept addCode() { //3 402 CodeableConcept t = new CodeableConcept(); 403 if (this.code == null) 404 this.code = new ArrayList<CodeableConcept>(); 405 this.code.add(t); 406 return t; 407 } 408 409 public ConditionEvidenceComponent addCode(CodeableConcept t) { //3 410 if (t == null) 411 return this; 412 if (this.code == null) 413 this.code = new ArrayList<CodeableConcept>(); 414 this.code.add(t); 415 return this; 416 } 417 418 /** 419 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist 420 */ 421 public CodeableConcept getCodeFirstRep() { 422 if (getCode().isEmpty()) { 423 addCode(); 424 } 425 return getCode().get(0); 426 } 427 428 /** 429 * @return {@link #detail} (Links to other relevant information, including pathology reports.) 430 */ 431 public List<Reference> getDetail() { 432 if (this.detail == null) 433 this.detail = new ArrayList<Reference>(); 434 return this.detail; 435 } 436 437 /** 438 * @return Returns a reference to <code>this</code> for easy method chaining 439 */ 440 public ConditionEvidenceComponent setDetail(List<Reference> theDetail) { 441 this.detail = theDetail; 442 return this; 443 } 444 445 public boolean hasDetail() { 446 if (this.detail == null) 447 return false; 448 for (Reference item : this.detail) 449 if (!item.isEmpty()) 450 return true; 451 return false; 452 } 453 454 public Reference addDetail() { //3 455 Reference t = new Reference(); 456 if (this.detail == null) 457 this.detail = new ArrayList<Reference>(); 458 this.detail.add(t); 459 return t; 460 } 461 462 public ConditionEvidenceComponent addDetail(Reference t) { //3 463 if (t == null) 464 return this; 465 if (this.detail == null) 466 this.detail = new ArrayList<Reference>(); 467 this.detail.add(t); 468 return this; 469 } 470 471 /** 472 * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist 473 */ 474 public Reference getDetailFirstRep() { 475 if (getDetail().isEmpty()) { 476 addDetail(); 477 } 478 return getDetail().get(0); 479 } 480 481 /** 482 * @deprecated Use Reference#setResource(IBaseResource) instead 483 */ 484 @Deprecated 485 public List<Resource> getDetailTarget() { 486 if (this.detailTarget == null) 487 this.detailTarget = new ArrayList<Resource>(); 488 return this.detailTarget; 489 } 490 491 protected void listChildren(List<Property> children) { 492 super.listChildren(children); 493 children.add(new Property("code", "CodeableConcept", "A manifestation or symptom that led to the recording of this condition.", 0, java.lang.Integer.MAX_VALUE, code)); 494 children.add(new Property("detail", "Reference(Any)", "Links to other relevant information, including pathology reports.", 0, java.lang.Integer.MAX_VALUE, detail)); 495 } 496 497 @Override 498 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 499 switch (_hash) { 500 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A manifestation or symptom that led to the recording of this condition.", 0, java.lang.Integer.MAX_VALUE, code); 501 case -1335224239: /*detail*/ return new Property("detail", "Reference(Any)", "Links to other relevant information, including pathology reports.", 0, java.lang.Integer.MAX_VALUE, detail); 502 default: return super.getNamedProperty(_hash, _name, _checkValid); 503 } 504 505 } 506 507 @Override 508 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 509 switch (hash) { 510 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 511 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // Reference 512 default: return super.getProperty(hash, name, checkValid); 513 } 514 515 } 516 517 @Override 518 public Base setProperty(int hash, String name, Base value) throws FHIRException { 519 switch (hash) { 520 case 3059181: // code 521 this.getCode().add(castToCodeableConcept(value)); // CodeableConcept 522 return value; 523 case -1335224239: // detail 524 this.getDetail().add(castToReference(value)); // Reference 525 return value; 526 default: return super.setProperty(hash, name, value); 527 } 528 529 } 530 531 @Override 532 public Base setProperty(String name, Base value) throws FHIRException { 533 if (name.equals("code")) { 534 this.getCode().add(castToCodeableConcept(value)); 535 } else if (name.equals("detail")) { 536 this.getDetail().add(castToReference(value)); 537 } else 538 return super.setProperty(name, value); 539 return value; 540 } 541 542 @Override 543 public Base makeProperty(int hash, String name) throws FHIRException { 544 switch (hash) { 545 case 3059181: return addCode(); 546 case -1335224239: return addDetail(); 547 default: return super.makeProperty(hash, name); 548 } 549 550 } 551 552 @Override 553 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 554 switch (hash) { 555 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 556 case -1335224239: /*detail*/ return new String[] {"Reference"}; 557 default: return super.getTypesForProperty(hash, name); 558 } 559 560 } 561 562 @Override 563 public Base addChild(String name) throws FHIRException { 564 if (name.equals("code")) { 565 return addCode(); 566 } 567 else if (name.equals("detail")) { 568 return addDetail(); 569 } 570 else 571 return super.addChild(name); 572 } 573 574 public ConditionEvidenceComponent copy() { 575 ConditionEvidenceComponent dst = new ConditionEvidenceComponent(); 576 copyValues(dst); 577 if (code != null) { 578 dst.code = new ArrayList<CodeableConcept>(); 579 for (CodeableConcept i : code) 580 dst.code.add(i.copy()); 581 }; 582 if (detail != null) { 583 dst.detail = new ArrayList<Reference>(); 584 for (Reference i : detail) 585 dst.detail.add(i.copy()); 586 }; 587 return dst; 588 } 589 590 @Override 591 public boolean equalsDeep(Base other_) { 592 if (!super.equalsDeep(other_)) 593 return false; 594 if (!(other_ instanceof ConditionEvidenceComponent)) 595 return false; 596 ConditionEvidenceComponent o = (ConditionEvidenceComponent) other_; 597 return compareDeep(code, o.code, true) && compareDeep(detail, o.detail, true); 598 } 599 600 @Override 601 public boolean equalsShallow(Base other_) { 602 if (!super.equalsShallow(other_)) 603 return false; 604 if (!(other_ instanceof ConditionEvidenceComponent)) 605 return false; 606 ConditionEvidenceComponent o = (ConditionEvidenceComponent) other_; 607 return true; 608 } 609 610 public boolean isEmpty() { 611 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, detail); 612 } 613 614 public String fhirType() { 615 return "Condition.evidence"; 616 617 } 618 619 } 620 621 /** 622 * Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 623 */ 624 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 625 @Description(shortDefinition="External Ids for this condition", formalDefinition="Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 626 protected List<Identifier> identifier; 627 628 /** 629 * The clinical status of the condition. 630 */ 631 @Child(name = "clinicalStatus", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=true, summary=true) 632 @Description(shortDefinition="active | recurrence | relapse | well-controlled | poorly-controlled | inactive | remission | resolved", formalDefinition="The clinical status of the condition." ) 633 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-clinical") 634 protected CodeableConcept clinicalStatus; 635 636 /** 637 * The verification status to support the clinical status of the condition. 638 */ 639 @Child(name = "verificationStatus", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=true, summary=true) 640 @Description(shortDefinition="unconfirmed | provisional | differential | confirmed | refuted | entered-in-error", formalDefinition="The verification status to support the clinical status of the condition." ) 641 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-ver-status") 642 protected CodeableConcept verificationStatus; 643 644 /** 645 * A category assigned to the condition. 646 */ 647 @Child(name = "category", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 648 @Description(shortDefinition="problem-list-item | encounter-diagnosis", formalDefinition="A category assigned to the condition." ) 649 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-category") 650 protected List<CodeableConcept> category; 651 652 /** 653 * A subjective assessment of the severity of the condition as evaluated by the clinician. 654 */ 655 @Child(name = "severity", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 656 @Description(shortDefinition="Subjective severity of condition", formalDefinition="A subjective assessment of the severity of the condition as evaluated by the clinician." ) 657 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-severity") 658 protected CodeableConcept severity; 659 660 /** 661 * Identification of the condition, problem or diagnosis. 662 */ 663 @Child(name = "code", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=true) 664 @Description(shortDefinition="Identification of the condition, problem or diagnosis", formalDefinition="Identification of the condition, problem or diagnosis." ) 665 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 666 protected CodeableConcept code; 667 668 /** 669 * The anatomical location where this condition manifests itself. 670 */ 671 @Child(name = "bodySite", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 672 @Description(shortDefinition="Anatomical location, if relevant", formalDefinition="The anatomical location where this condition manifests itself." ) 673 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 674 protected List<CodeableConcept> bodySite; 675 676 /** 677 * Indicates the patient or group who the condition record is associated with. 678 */ 679 @Child(name = "subject", type = {Patient.class, Group.class}, order=7, min=1, max=1, modifier=false, summary=true) 680 @Description(shortDefinition="Who has the condition?", formalDefinition="Indicates the patient or group who the condition record is associated with." ) 681 protected Reference subject; 682 683 /** 684 * The actual object that is the target of the reference (Indicates the patient or group who the condition record is associated with.) 685 */ 686 protected Resource subjectTarget; 687 688 /** 689 * Encounter during which the condition was first asserted. 690 */ 691 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=8, min=0, max=1, modifier=false, summary=true) 692 @Description(shortDefinition="Encounter or episode when condition first asserted", formalDefinition="Encounter during which the condition was first asserted." ) 693 protected Reference context; 694 695 /** 696 * The actual object that is the target of the reference (Encounter during which the condition was first asserted.) 697 */ 698 protected Resource contextTarget; 699 700 /** 701 * Estimated or actual date or date-time the condition began, in the opinion of the clinician. 702 */ 703 @Child(name = "onset", type = {DateTimeType.class, Age.class, Period.class, Range.class, StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 704 @Description(shortDefinition="Estimated or actual date, date-time, or age", formalDefinition="Estimated or actual date or date-time the condition began, in the opinion of the clinician." ) 705 protected Type onset; 706 707 /** 708 * The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. 709 */ 710 @Child(name = "abatement", type = {DateTimeType.class, Age.class, Period.class, Range.class, StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) 711 @Description(shortDefinition="When in resolution/remission", formalDefinition="The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate." ) 712 protected Type abatement; 713 714 /** 715 * The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 716 */ 717 @Child(name = "recordedDate", type = {DateTimeType.class}, order=11, min=0, max=1, modifier=false, summary=true) 718 @Description(shortDefinition="Date record was first recorded", formalDefinition="The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date." ) 719 protected DateTimeType recordedDate; 720 721 /** 722 * Individual who recorded the record and takes responsibility for its content. 723 */ 724 @Child(name = "recorder", type = {Practitioner.class, Patient.class, RelatedPerson.class}, order=12, min=0, max=1, modifier=false, summary=true) 725 @Description(shortDefinition="Who recorded the condition", formalDefinition="Individual who recorded the record and takes responsibility for its content." ) 726 protected Reference recorder; 727 728 /** 729 * The actual object that is the target of the reference (Individual who recorded the record and takes responsibility for its content.) 730 */ 731 protected Resource recorderTarget; 732 733 /** 734 * Individual who is making the condition statement. 735 */ 736 @Child(name = "asserter", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class}, order=13, min=0, max=1, modifier=false, summary=true) 737 @Description(shortDefinition="Person who asserts this condition", formalDefinition="Individual who is making the condition statement." ) 738 protected Reference asserter; 739 740 /** 741 * The actual object that is the target of the reference (Individual who is making the condition statement.) 742 */ 743 protected Resource asserterTarget; 744 745 /** 746 * Clinical stage or grade of a condition. May include formal severity assessments. 747 */ 748 @Child(name = "stage", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 749 @Description(shortDefinition="Stage/grade, usually assessed formally", formalDefinition="Clinical stage or grade of a condition. May include formal severity assessments." ) 750 protected List<ConditionStageComponent> stage; 751 752 /** 753 * Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition. 754 */ 755 @Child(name = "evidence", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 756 @Description(shortDefinition="Supporting evidence", formalDefinition="Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition." ) 757 protected List<ConditionEvidenceComponent> evidence; 758 759 /** 760 * Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. 761 */ 762 @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 763 @Description(shortDefinition="Additional information about the Condition", formalDefinition="Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis." ) 764 protected List<Annotation> note; 765 766 private static final long serialVersionUID = 149113403L; 767 768 /** 769 * Constructor 770 */ 771 public Condition() { 772 super(); 773 } 774 775 /** 776 * Constructor 777 */ 778 public Condition(Reference subject) { 779 super(); 780 this.subject = subject; 781 } 782 783 /** 784 * @return {@link #identifier} (Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 785 */ 786 public List<Identifier> getIdentifier() { 787 if (this.identifier == null) 788 this.identifier = new ArrayList<Identifier>(); 789 return this.identifier; 790 } 791 792 /** 793 * @return Returns a reference to <code>this</code> for easy method chaining 794 */ 795 public Condition setIdentifier(List<Identifier> theIdentifier) { 796 this.identifier = theIdentifier; 797 return this; 798 } 799 800 public boolean hasIdentifier() { 801 if (this.identifier == null) 802 return false; 803 for (Identifier item : this.identifier) 804 if (!item.isEmpty()) 805 return true; 806 return false; 807 } 808 809 public Identifier addIdentifier() { //3 810 Identifier t = new Identifier(); 811 if (this.identifier == null) 812 this.identifier = new ArrayList<Identifier>(); 813 this.identifier.add(t); 814 return t; 815 } 816 817 public Condition addIdentifier(Identifier t) { //3 818 if (t == null) 819 return this; 820 if (this.identifier == null) 821 this.identifier = new ArrayList<Identifier>(); 822 this.identifier.add(t); 823 return this; 824 } 825 826 /** 827 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 828 */ 829 public Identifier getIdentifierFirstRep() { 830 if (getIdentifier().isEmpty()) { 831 addIdentifier(); 832 } 833 return getIdentifier().get(0); 834 } 835 836 /** 837 * @return {@link #clinicalStatus} (The clinical status of the condition.) 838 */ 839 public CodeableConcept getClinicalStatus() { 840 if (this.clinicalStatus == null) 841 if (Configuration.errorOnAutoCreate()) 842 throw new Error("Attempt to auto-create Condition.clinicalStatus"); 843 else if (Configuration.doAutoCreate()) 844 this.clinicalStatus = new CodeableConcept(); // cc 845 return this.clinicalStatus; 846 } 847 848 public boolean hasClinicalStatus() { 849 return this.clinicalStatus != null && !this.clinicalStatus.isEmpty(); 850 } 851 852 /** 853 * @param value {@link #clinicalStatus} (The clinical status of the condition.) 854 */ 855 public Condition setClinicalStatus(CodeableConcept value) { 856 this.clinicalStatus = value; 857 return this; 858 } 859 860 /** 861 * @return {@link #verificationStatus} (The verification status to support the clinical status of the condition.) 862 */ 863 public CodeableConcept getVerificationStatus() { 864 if (this.verificationStatus == null) 865 if (Configuration.errorOnAutoCreate()) 866 throw new Error("Attempt to auto-create Condition.verificationStatus"); 867 else if (Configuration.doAutoCreate()) 868 this.verificationStatus = new CodeableConcept(); // cc 869 return this.verificationStatus; 870 } 871 872 public boolean hasVerificationStatus() { 873 return this.verificationStatus != null && !this.verificationStatus.isEmpty(); 874 } 875 876 /** 877 * @param value {@link #verificationStatus} (The verification status to support the clinical status of the condition.) 878 */ 879 public Condition setVerificationStatus(CodeableConcept value) { 880 this.verificationStatus = value; 881 return this; 882 } 883 884 /** 885 * @return {@link #category} (A category assigned to the condition.) 886 */ 887 public List<CodeableConcept> getCategory() { 888 if (this.category == null) 889 this.category = new ArrayList<CodeableConcept>(); 890 return this.category; 891 } 892 893 /** 894 * @return Returns a reference to <code>this</code> for easy method chaining 895 */ 896 public Condition setCategory(List<CodeableConcept> theCategory) { 897 this.category = theCategory; 898 return this; 899 } 900 901 public boolean hasCategory() { 902 if (this.category == null) 903 return false; 904 for (CodeableConcept item : this.category) 905 if (!item.isEmpty()) 906 return true; 907 return false; 908 } 909 910 public CodeableConcept addCategory() { //3 911 CodeableConcept t = new CodeableConcept(); 912 if (this.category == null) 913 this.category = new ArrayList<CodeableConcept>(); 914 this.category.add(t); 915 return t; 916 } 917 918 public Condition addCategory(CodeableConcept t) { //3 919 if (t == null) 920 return this; 921 if (this.category == null) 922 this.category = new ArrayList<CodeableConcept>(); 923 this.category.add(t); 924 return this; 925 } 926 927 /** 928 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist 929 */ 930 public CodeableConcept getCategoryFirstRep() { 931 if (getCategory().isEmpty()) { 932 addCategory(); 933 } 934 return getCategory().get(0); 935 } 936 937 /** 938 * @return {@link #severity} (A subjective assessment of the severity of the condition as evaluated by the clinician.) 939 */ 940 public CodeableConcept getSeverity() { 941 if (this.severity == null) 942 if (Configuration.errorOnAutoCreate()) 943 throw new Error("Attempt to auto-create Condition.severity"); 944 else if (Configuration.doAutoCreate()) 945 this.severity = new CodeableConcept(); // cc 946 return this.severity; 947 } 948 949 public boolean hasSeverity() { 950 return this.severity != null && !this.severity.isEmpty(); 951 } 952 953 /** 954 * @param value {@link #severity} (A subjective assessment of the severity of the condition as evaluated by the clinician.) 955 */ 956 public Condition setSeverity(CodeableConcept value) { 957 this.severity = value; 958 return this; 959 } 960 961 /** 962 * @return {@link #code} (Identification of the condition, problem or diagnosis.) 963 */ 964 public CodeableConcept getCode() { 965 if (this.code == null) 966 if (Configuration.errorOnAutoCreate()) 967 throw new Error("Attempt to auto-create Condition.code"); 968 else if (Configuration.doAutoCreate()) 969 this.code = new CodeableConcept(); // cc 970 return this.code; 971 } 972 973 public boolean hasCode() { 974 return this.code != null && !this.code.isEmpty(); 975 } 976 977 /** 978 * @param value {@link #code} (Identification of the condition, problem or diagnosis.) 979 */ 980 public Condition setCode(CodeableConcept value) { 981 this.code = value; 982 return this; 983 } 984 985 /** 986 * @return {@link #bodySite} (The anatomical location where this condition manifests itself.) 987 */ 988 public List<CodeableConcept> getBodySite() { 989 if (this.bodySite == null) 990 this.bodySite = new ArrayList<CodeableConcept>(); 991 return this.bodySite; 992 } 993 994 /** 995 * @return Returns a reference to <code>this</code> for easy method chaining 996 */ 997 public Condition setBodySite(List<CodeableConcept> theBodySite) { 998 this.bodySite = theBodySite; 999 return this; 1000 } 1001 1002 public boolean hasBodySite() { 1003 if (this.bodySite == null) 1004 return false; 1005 for (CodeableConcept item : this.bodySite) 1006 if (!item.isEmpty()) 1007 return true; 1008 return false; 1009 } 1010 1011 public CodeableConcept addBodySite() { //3 1012 CodeableConcept t = new CodeableConcept(); 1013 if (this.bodySite == null) 1014 this.bodySite = new ArrayList<CodeableConcept>(); 1015 this.bodySite.add(t); 1016 return t; 1017 } 1018 1019 public Condition addBodySite(CodeableConcept t) { //3 1020 if (t == null) 1021 return this; 1022 if (this.bodySite == null) 1023 this.bodySite = new ArrayList<CodeableConcept>(); 1024 this.bodySite.add(t); 1025 return this; 1026 } 1027 1028 /** 1029 * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist 1030 */ 1031 public CodeableConcept getBodySiteFirstRep() { 1032 if (getBodySite().isEmpty()) { 1033 addBodySite(); 1034 } 1035 return getBodySite().get(0); 1036 } 1037 1038 /** 1039 * @return {@link #subject} (Indicates the patient or group who the condition record is associated with.) 1040 */ 1041 public Reference getSubject() { 1042 if (this.subject == null) 1043 if (Configuration.errorOnAutoCreate()) 1044 throw new Error("Attempt to auto-create Condition.subject"); 1045 else if (Configuration.doAutoCreate()) 1046 this.subject = new Reference(); // cc 1047 return this.subject; 1048 } 1049 1050 public boolean hasSubject() { 1051 return this.subject != null && !this.subject.isEmpty(); 1052 } 1053 1054 /** 1055 * @param value {@link #subject} (Indicates the patient or group who the condition record is associated with.) 1056 */ 1057 public Condition setSubject(Reference value) { 1058 this.subject = value; 1059 return this; 1060 } 1061 1062 /** 1063 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Indicates the patient or group who the condition record is associated with.) 1064 */ 1065 public Resource getSubjectTarget() { 1066 return this.subjectTarget; 1067 } 1068 1069 /** 1070 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Indicates the patient or group who the condition record is associated with.) 1071 */ 1072 public Condition setSubjectTarget(Resource value) { 1073 this.subjectTarget = value; 1074 return this; 1075 } 1076 1077 /** 1078 * @return {@link #context} (Encounter during which the condition was first asserted.) 1079 */ 1080 public Reference getContext() { 1081 if (this.context == null) 1082 if (Configuration.errorOnAutoCreate()) 1083 throw new Error("Attempt to auto-create Condition.context"); 1084 else if (Configuration.doAutoCreate()) 1085 this.context = new Reference(); // cc 1086 return this.context; 1087 } 1088 1089 public boolean hasContext() { 1090 return this.context != null && !this.context.isEmpty(); 1091 } 1092 1093 /** 1094 * @param value {@link #context} (Encounter during which the condition was first asserted.) 1095 */ 1096 public Condition setContext(Reference value) { 1097 this.context = value; 1098 return this; 1099 } 1100 1101 /** 1102 * @return {@link #context} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Encounter during which the condition was first asserted.) 1103 */ 1104 public Resource getContextTarget() { 1105 return this.contextTarget; 1106 } 1107 1108 /** 1109 * @param value {@link #context} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Encounter during which the condition was first asserted.) 1110 */ 1111 public Condition setContextTarget(Resource value) { 1112 this.contextTarget = value; 1113 return this; 1114 } 1115 1116 /** 1117 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1118 */ 1119 public Type getOnset() { 1120 return this.onset; 1121 } 1122 1123 /** 1124 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1125 */ 1126 public DateTimeType getOnsetDateTimeType() throws FHIRException { 1127 if (this.onset == null) 1128 return null; 1129 if (!(this.onset instanceof DateTimeType)) 1130 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.onset.getClass().getName()+" was encountered"); 1131 return (DateTimeType) this.onset; 1132 } 1133 1134 public boolean hasOnsetDateTimeType() { 1135 return this != null && this.onset instanceof DateTimeType; 1136 } 1137 1138 /** 1139 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1140 */ 1141 public Age getOnsetAge() throws FHIRException { 1142 if (this.onset == null) 1143 return null; 1144 if (!(this.onset instanceof Age)) 1145 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.onset.getClass().getName()+" was encountered"); 1146 return (Age) this.onset; 1147 } 1148 1149 public boolean hasOnsetAge() { 1150 return this != null && this.onset instanceof Age; 1151 } 1152 1153 /** 1154 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1155 */ 1156 public Period getOnsetPeriod() throws FHIRException { 1157 if (this.onset == null) 1158 return null; 1159 if (!(this.onset instanceof Period)) 1160 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.onset.getClass().getName()+" was encountered"); 1161 return (Period) this.onset; 1162 } 1163 1164 public boolean hasOnsetPeriod() { 1165 return this != null && this.onset instanceof Period; 1166 } 1167 1168 /** 1169 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1170 */ 1171 public Range getOnsetRange() throws FHIRException { 1172 if (this.onset == null) 1173 return null; 1174 if (!(this.onset instanceof Range)) 1175 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.onset.getClass().getName()+" was encountered"); 1176 return (Range) this.onset; 1177 } 1178 1179 public boolean hasOnsetRange() { 1180 return this != null && this.onset instanceof Range; 1181 } 1182 1183 /** 1184 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1185 */ 1186 public StringType getOnsetStringType() throws FHIRException { 1187 if (this.onset == null) 1188 return null; 1189 if (!(this.onset instanceof StringType)) 1190 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.onset.getClass().getName()+" was encountered"); 1191 return (StringType) this.onset; 1192 } 1193 1194 public boolean hasOnsetStringType() { 1195 return this != null && this.onset instanceof StringType; 1196 } 1197 1198 public boolean hasOnset() { 1199 return this.onset != null && !this.onset.isEmpty(); 1200 } 1201 1202 /** 1203 * @param value {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1204 */ 1205 public Condition setOnset(Type value) { 1206 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof StringType)) 1207 throw new Error("Not the right type for Condition.onset[x]: "+value.fhirType()); 1208 this.onset = value; 1209 return this; 1210 } 1211 1212 /** 1213 * @return {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1214 */ 1215 public Type getAbatement() { 1216 return this.abatement; 1217 } 1218 1219 /** 1220 * @return {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1221 */ 1222 public DateTimeType getAbatementDateTimeType() throws FHIRException { 1223 if (this.abatement == null) 1224 return null; 1225 if (!(this.abatement instanceof DateTimeType)) 1226 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1227 return (DateTimeType) this.abatement; 1228 } 1229 1230 public boolean hasAbatementDateTimeType() { 1231 return this != null && this.abatement instanceof DateTimeType; 1232 } 1233 1234 /** 1235 * @return {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1236 */ 1237 public Age getAbatementAge() throws FHIRException { 1238 if (this.abatement == null) 1239 return null; 1240 if (!(this.abatement instanceof Age)) 1241 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1242 return (Age) this.abatement; 1243 } 1244 1245 public boolean hasAbatementAge() { 1246 return this != null && this.abatement instanceof Age; 1247 } 1248 1249 /** 1250 * @return {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1251 */ 1252 public Period getAbatementPeriod() throws FHIRException { 1253 if (this.abatement == null) 1254 return null; 1255 if (!(this.abatement instanceof Period)) 1256 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1257 return (Period) this.abatement; 1258 } 1259 1260 public boolean hasAbatementPeriod() { 1261 return this != null && this.abatement instanceof Period; 1262 } 1263 1264 /** 1265 * @return {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1266 */ 1267 public Range getAbatementRange() throws FHIRException { 1268 if (this.abatement == null) 1269 return null; 1270 if (!(this.abatement instanceof Range)) 1271 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1272 return (Range) this.abatement; 1273 } 1274 1275 public boolean hasAbatementRange() { 1276 return this != null && this.abatement instanceof Range; 1277 } 1278 1279 /** 1280 * @return {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1281 */ 1282 public StringType getAbatementStringType() throws FHIRException { 1283 if (this.abatement == null) 1284 return null; 1285 if (!(this.abatement instanceof StringType)) 1286 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1287 return (StringType) this.abatement; 1288 } 1289 1290 public boolean hasAbatementStringType() { 1291 return this != null && this.abatement instanceof StringType; 1292 } 1293 1294 public boolean hasAbatement() { 1295 return this.abatement != null && !this.abatement.isEmpty(); 1296 } 1297 1298 /** 1299 * @param value {@link #abatement} (The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.) 1300 */ 1301 public Condition setAbatement(Type value) { 1302 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof StringType)) 1303 throw new Error("Not the right type for Condition.abatement[x]: "+value.fhirType()); 1304 this.abatement = value; 1305 return this; 1306 } 1307 1308 /** 1309 * @return {@link #recordedDate} (The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.). This is the underlying object with id, value and extensions. The accessor "getRecordedDate" gives direct access to the value 1310 */ 1311 public DateTimeType getRecordedDateElement() { 1312 if (this.recordedDate == null) 1313 if (Configuration.errorOnAutoCreate()) 1314 throw new Error("Attempt to auto-create Condition.recordedDate"); 1315 else if (Configuration.doAutoCreate()) 1316 this.recordedDate = new DateTimeType(); // bb 1317 return this.recordedDate; 1318 } 1319 1320 public boolean hasRecordedDateElement() { 1321 return this.recordedDate != null && !this.recordedDate.isEmpty(); 1322 } 1323 1324 public boolean hasRecordedDate() { 1325 return this.recordedDate != null && !this.recordedDate.isEmpty(); 1326 } 1327 1328 /** 1329 * @param value {@link #recordedDate} (The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.). This is the underlying object with id, value and extensions. The accessor "getRecordedDate" gives direct access to the value 1330 */ 1331 public Condition setRecordedDateElement(DateTimeType value) { 1332 this.recordedDate = value; 1333 return this; 1334 } 1335 1336 /** 1337 * @return The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 1338 */ 1339 public Date getRecordedDate() { 1340 return this.recordedDate == null ? null : this.recordedDate.getValue(); 1341 } 1342 1343 /** 1344 * @param value The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 1345 */ 1346 public Condition setRecordedDate(Date value) { 1347 if (value == null) 1348 this.recordedDate = null; 1349 else { 1350 if (this.recordedDate == null) 1351 this.recordedDate = new DateTimeType(); 1352 this.recordedDate.setValue(value); 1353 } 1354 return this; 1355 } 1356 1357 /** 1358 * @return {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1359 */ 1360 public Reference getRecorder() { 1361 if (this.recorder == null) 1362 if (Configuration.errorOnAutoCreate()) 1363 throw new Error("Attempt to auto-create Condition.recorder"); 1364 else if (Configuration.doAutoCreate()) 1365 this.recorder = new Reference(); // cc 1366 return this.recorder; 1367 } 1368 1369 public boolean hasRecorder() { 1370 return this.recorder != null && !this.recorder.isEmpty(); 1371 } 1372 1373 /** 1374 * @param value {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1375 */ 1376 public Condition setRecorder(Reference value) { 1377 this.recorder = value; 1378 return this; 1379 } 1380 1381 /** 1382 * @return {@link #recorder} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Individual who recorded the record and takes responsibility for its content.) 1383 */ 1384 public Resource getRecorderTarget() { 1385 return this.recorderTarget; 1386 } 1387 1388 /** 1389 * @param value {@link #recorder} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Individual who recorded the record and takes responsibility for its content.) 1390 */ 1391 public Condition setRecorderTarget(Resource value) { 1392 this.recorderTarget = value; 1393 return this; 1394 } 1395 1396 /** 1397 * @return {@link #asserter} (Individual who is making the condition statement.) 1398 */ 1399 public Reference getAsserter() { 1400 if (this.asserter == null) 1401 if (Configuration.errorOnAutoCreate()) 1402 throw new Error("Attempt to auto-create Condition.asserter"); 1403 else if (Configuration.doAutoCreate()) 1404 this.asserter = new Reference(); // cc 1405 return this.asserter; 1406 } 1407 1408 public boolean hasAsserter() { 1409 return this.asserter != null && !this.asserter.isEmpty(); 1410 } 1411 1412 /** 1413 * @param value {@link #asserter} (Individual who is making the condition statement.) 1414 */ 1415 public Condition setAsserter(Reference value) { 1416 this.asserter = value; 1417 return this; 1418 } 1419 1420 /** 1421 * @return {@link #asserter} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Individual who is making the condition statement.) 1422 */ 1423 public Resource getAsserterTarget() { 1424 return this.asserterTarget; 1425 } 1426 1427 /** 1428 * @param value {@link #asserter} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Individual who is making the condition statement.) 1429 */ 1430 public Condition setAsserterTarget(Resource value) { 1431 this.asserterTarget = value; 1432 return this; 1433 } 1434 1435 /** 1436 * @return {@link #stage} (Clinical stage or grade of a condition. May include formal severity assessments.) 1437 */ 1438 public List<ConditionStageComponent> getStage() { 1439 if (this.stage == null) 1440 this.stage = new ArrayList<ConditionStageComponent>(); 1441 return this.stage; 1442 } 1443 1444 /** 1445 * @return Returns a reference to <code>this</code> for easy method chaining 1446 */ 1447 public Condition setStage(List<ConditionStageComponent> theStage) { 1448 this.stage = theStage; 1449 return this; 1450 } 1451 1452 public boolean hasStage() { 1453 if (this.stage == null) 1454 return false; 1455 for (ConditionStageComponent item : this.stage) 1456 if (!item.isEmpty()) 1457 return true; 1458 return false; 1459 } 1460 1461 public ConditionStageComponent addStage() { //3 1462 ConditionStageComponent t = new ConditionStageComponent(); 1463 if (this.stage == null) 1464 this.stage = new ArrayList<ConditionStageComponent>(); 1465 this.stage.add(t); 1466 return t; 1467 } 1468 1469 public Condition addStage(ConditionStageComponent t) { //3 1470 if (t == null) 1471 return this; 1472 if (this.stage == null) 1473 this.stage = new ArrayList<ConditionStageComponent>(); 1474 this.stage.add(t); 1475 return this; 1476 } 1477 1478 /** 1479 * @return The first repetition of repeating field {@link #stage}, creating it if it does not already exist 1480 */ 1481 public ConditionStageComponent getStageFirstRep() { 1482 if (getStage().isEmpty()) { 1483 addStage(); 1484 } 1485 return getStage().get(0); 1486 } 1487 1488 /** 1489 * @return {@link #evidence} (Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.) 1490 */ 1491 public List<ConditionEvidenceComponent> getEvidence() { 1492 if (this.evidence == null) 1493 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1494 return this.evidence; 1495 } 1496 1497 /** 1498 * @return Returns a reference to <code>this</code> for easy method chaining 1499 */ 1500 public Condition setEvidence(List<ConditionEvidenceComponent> theEvidence) { 1501 this.evidence = theEvidence; 1502 return this; 1503 } 1504 1505 public boolean hasEvidence() { 1506 if (this.evidence == null) 1507 return false; 1508 for (ConditionEvidenceComponent item : this.evidence) 1509 if (!item.isEmpty()) 1510 return true; 1511 return false; 1512 } 1513 1514 public ConditionEvidenceComponent addEvidence() { //3 1515 ConditionEvidenceComponent t = new ConditionEvidenceComponent(); 1516 if (this.evidence == null) 1517 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1518 this.evidence.add(t); 1519 return t; 1520 } 1521 1522 public Condition addEvidence(ConditionEvidenceComponent t) { //3 1523 if (t == null) 1524 return this; 1525 if (this.evidence == null) 1526 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1527 this.evidence.add(t); 1528 return this; 1529 } 1530 1531 /** 1532 * @return The first repetition of repeating field {@link #evidence}, creating it if it does not already exist 1533 */ 1534 public ConditionEvidenceComponent getEvidenceFirstRep() { 1535 if (getEvidence().isEmpty()) { 1536 addEvidence(); 1537 } 1538 return getEvidence().get(0); 1539 } 1540 1541 /** 1542 * @return {@link #note} (Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.) 1543 */ 1544 public List<Annotation> getNote() { 1545 if (this.note == null) 1546 this.note = new ArrayList<Annotation>(); 1547 return this.note; 1548 } 1549 1550 /** 1551 * @return Returns a reference to <code>this</code> for easy method chaining 1552 */ 1553 public Condition setNote(List<Annotation> theNote) { 1554 this.note = theNote; 1555 return this; 1556 } 1557 1558 public boolean hasNote() { 1559 if (this.note == null) 1560 return false; 1561 for (Annotation item : this.note) 1562 if (!item.isEmpty()) 1563 return true; 1564 return false; 1565 } 1566 1567 public Annotation addNote() { //3 1568 Annotation t = new Annotation(); 1569 if (this.note == null) 1570 this.note = new ArrayList<Annotation>(); 1571 this.note.add(t); 1572 return t; 1573 } 1574 1575 public Condition addNote(Annotation t) { //3 1576 if (t == null) 1577 return this; 1578 if (this.note == null) 1579 this.note = new ArrayList<Annotation>(); 1580 this.note.add(t); 1581 return this; 1582 } 1583 1584 /** 1585 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 1586 */ 1587 public Annotation getNoteFirstRep() { 1588 if (getNote().isEmpty()) { 1589 addNote(); 1590 } 1591 return getNote().get(0); 1592 } 1593 1594 protected void listChildren(List<Property> children) { 1595 super.listChildren(children); 1596 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1597 children.add(new Property("clinicalStatus", "CodeableConcept", "The clinical status of the condition.", 0, 1, clinicalStatus)); 1598 children.add(new Property("verificationStatus", "CodeableConcept", "The verification status to support the clinical status of the condition.", 0, 1, verificationStatus)); 1599 children.add(new Property("category", "CodeableConcept", "A category assigned to the condition.", 0, java.lang.Integer.MAX_VALUE, category)); 1600 children.add(new Property("severity", "CodeableConcept", "A subjective assessment of the severity of the condition as evaluated by the clinician.", 0, 1, severity)); 1601 children.add(new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code)); 1602 children.add(new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, java.lang.Integer.MAX_VALUE, bodySite)); 1603 children.add(new Property("subject", "Reference(Patient|Group)", "Indicates the patient or group who the condition record is associated with.", 0, 1, subject)); 1604 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "Encounter during which the condition was first asserted.", 0, 1, context)); 1605 children.add(new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset)); 1606 children.add(new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement)); 1607 children.add(new Property("recordedDate", "dateTime", "The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.", 0, 1, recordedDate)); 1608 children.add(new Property("recorder", "Reference(Practitioner|Patient|RelatedPerson)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder)); 1609 children.add(new Property("asserter", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who is making the condition statement.", 0, 1, asserter)); 1610 children.add(new Property("stage", "", "Clinical stage or grade of a condition. May include formal severity assessments.", 0, java.lang.Integer.MAX_VALUE, stage)); 1611 children.add(new Property("evidence", "", "Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.", 0, java.lang.Integer.MAX_VALUE, evidence)); 1612 children.add(new Property("note", "Annotation", "Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.", 0, java.lang.Integer.MAX_VALUE, note)); 1613 } 1614 1615 @Override 1616 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1617 switch (_hash) { 1618 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 1619 case -462853915: /*clinicalStatus*/ return new Property("clinicalStatus", "CodeableConcept", "The clinical status of the condition.", 0, 1, clinicalStatus); 1620 case -842509843: /*verificationStatus*/ return new Property("verificationStatus", "CodeableConcept", "The verification status to support the clinical status of the condition.", 0, 1, verificationStatus); 1621 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A category assigned to the condition.", 0, java.lang.Integer.MAX_VALUE, category); 1622 case 1478300413: /*severity*/ return new Property("severity", "CodeableConcept", "A subjective assessment of the severity of the condition as evaluated by the clinician.", 0, 1, severity); 1623 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code); 1624 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, java.lang.Integer.MAX_VALUE, bodySite); 1625 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "Indicates the patient or group who the condition record is associated with.", 0, 1, subject); 1626 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "Encounter during which the condition was first asserted.", 0, 1, context); 1627 case -1886216323: /*onset[x]*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1628 case 105901603: /*onset*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1629 case -1701663010: /*onsetDateTime*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1630 case -1886241828: /*onsetAge*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1631 case -1545082428: /*onsetPeriod*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1632 case -186664742: /*onsetRange*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1633 case -1445342188: /*onsetString*/ return new Property("onset[x]", "dateTime|Age|Period|Range|string", "Estimated or actual date or date-time the condition began, in the opinion of the clinician.", 0, 1, onset); 1634 case -584196495: /*abatement[x]*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1635 case -921554001: /*abatement*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1636 case 44869738: /*abatementDateTime*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1637 case -584222000: /*abatementAge*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1638 case -922036656: /*abatementPeriod*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1639 case 1218906830: /*abatementRange*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1640 case -822296416: /*abatementString*/ return new Property("abatement[x]", "dateTime|Age|Period|Range|string", "The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate.", 0, 1, abatement); 1641 case -1952893826: /*recordedDate*/ return new Property("recordedDate", "dateTime", "The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.", 0, 1, recordedDate); 1642 case -799233858: /*recorder*/ return new Property("recorder", "Reference(Practitioner|Patient|RelatedPerson)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder); 1643 case -373242253: /*asserter*/ return new Property("asserter", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who is making the condition statement.", 0, 1, asserter); 1644 case 109757182: /*stage*/ return new Property("stage", "", "Clinical stage or grade of a condition. May include formal severity assessments.", 0, java.lang.Integer.MAX_VALUE, stage); 1645 case 382967383: /*evidence*/ return new Property("evidence", "", "Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.", 0, java.lang.Integer.MAX_VALUE, evidence); 1646 case 3387378: /*note*/ return new Property("note", "Annotation", "Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.", 0, java.lang.Integer.MAX_VALUE, note); 1647 default: return super.getNamedProperty(_hash, _name, _checkValid); 1648 } 1649 1650 } 1651 1652 @Override 1653 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1654 switch (hash) { 1655 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1656 case -462853915: /*clinicalStatus*/ return this.clinicalStatus == null ? new Base[0] : new Base[] {this.clinicalStatus}; // CodeableConcept 1657 case -842509843: /*verificationStatus*/ return this.verificationStatus == null ? new Base[0] : new Base[] {this.verificationStatus}; // CodeableConcept 1658 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1659 case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // CodeableConcept 1660 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1661 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept 1662 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1663 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 1664 case 105901603: /*onset*/ return this.onset == null ? new Base[0] : new Base[] {this.onset}; // Type 1665 case -921554001: /*abatement*/ return this.abatement == null ? new Base[0] : new Base[] {this.abatement}; // Type 1666 case -1952893826: /*recordedDate*/ return this.recordedDate == null ? new Base[0] : new Base[] {this.recordedDate}; // DateTimeType 1667 case -799233858: /*recorder*/ return this.recorder == null ? new Base[0] : new Base[] {this.recorder}; // Reference 1668 case -373242253: /*asserter*/ return this.asserter == null ? new Base[0] : new Base[] {this.asserter}; // Reference 1669 case 109757182: /*stage*/ return this.stage == null ? new Base[0] : this.stage.toArray(new Base[this.stage.size()]); // ConditionStageComponent 1670 case 382967383: /*evidence*/ return this.evidence == null ? new Base[0] : this.evidence.toArray(new Base[this.evidence.size()]); // ConditionEvidenceComponent 1671 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1672 default: return super.getProperty(hash, name, checkValid); 1673 } 1674 1675 } 1676 1677 @Override 1678 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1679 switch (hash) { 1680 case -1618432855: // identifier 1681 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1682 return value; 1683 case -462853915: // clinicalStatus 1684 this.clinicalStatus = castToCodeableConcept(value); // CodeableConcept 1685 return value; 1686 case -842509843: // verificationStatus 1687 this.verificationStatus = castToCodeableConcept(value); // CodeableConcept 1688 return value; 1689 case 50511102: // category 1690 this.getCategory().add(castToCodeableConcept(value)); // CodeableConcept 1691 return value; 1692 case 1478300413: // severity 1693 this.severity = castToCodeableConcept(value); // CodeableConcept 1694 return value; 1695 case 3059181: // code 1696 this.code = castToCodeableConcept(value); // CodeableConcept 1697 return value; 1698 case 1702620169: // bodySite 1699 this.getBodySite().add(castToCodeableConcept(value)); // CodeableConcept 1700 return value; 1701 case -1867885268: // subject 1702 this.subject = castToReference(value); // Reference 1703 return value; 1704 case 951530927: // context 1705 this.context = castToReference(value); // Reference 1706 return value; 1707 case 105901603: // onset 1708 this.onset = castToType(value); // Type 1709 return value; 1710 case -921554001: // abatement 1711 this.abatement = castToType(value); // Type 1712 return value; 1713 case -1952893826: // recordedDate 1714 this.recordedDate = castToDateTime(value); // DateTimeType 1715 return value; 1716 case -799233858: // recorder 1717 this.recorder = castToReference(value); // Reference 1718 return value; 1719 case -373242253: // asserter 1720 this.asserter = castToReference(value); // Reference 1721 return value; 1722 case 109757182: // stage 1723 this.getStage().add((ConditionStageComponent) value); // ConditionStageComponent 1724 return value; 1725 case 382967383: // evidence 1726 this.getEvidence().add((ConditionEvidenceComponent) value); // ConditionEvidenceComponent 1727 return value; 1728 case 3387378: // note 1729 this.getNote().add(castToAnnotation(value)); // Annotation 1730 return value; 1731 default: return super.setProperty(hash, name, value); 1732 } 1733 1734 } 1735 1736 @Override 1737 public Base setProperty(String name, Base value) throws FHIRException { 1738 if (name.equals("identifier")) { 1739 this.getIdentifier().add(castToIdentifier(value)); 1740 } else if (name.equals("clinicalStatus")) { 1741 this.clinicalStatus = castToCodeableConcept(value); // CodeableConcept 1742 } else if (name.equals("verificationStatus")) { 1743 this.verificationStatus = castToCodeableConcept(value); // CodeableConcept 1744 } else if (name.equals("category")) { 1745 this.getCategory().add(castToCodeableConcept(value)); 1746 } else if (name.equals("severity")) { 1747 this.severity = castToCodeableConcept(value); // CodeableConcept 1748 } else if (name.equals("code")) { 1749 this.code = castToCodeableConcept(value); // CodeableConcept 1750 } else if (name.equals("bodySite")) { 1751 this.getBodySite().add(castToCodeableConcept(value)); 1752 } else if (name.equals("subject")) { 1753 this.subject = castToReference(value); // Reference 1754 } else if (name.equals("context")) { 1755 this.context = castToReference(value); // Reference 1756 } else if (name.equals("onset[x]")) { 1757 this.onset = castToType(value); // Type 1758 } else if (name.equals("abatement[x]")) { 1759 this.abatement = castToType(value); // Type 1760 } else if (name.equals("recordedDate")) { 1761 this.recordedDate = castToDateTime(value); // DateTimeType 1762 } else if (name.equals("recorder")) { 1763 this.recorder = castToReference(value); // Reference 1764 } else if (name.equals("asserter")) { 1765 this.asserter = castToReference(value); // Reference 1766 } else if (name.equals("stage")) { 1767 this.getStage().add((ConditionStageComponent) value); 1768 } else if (name.equals("evidence")) { 1769 this.getEvidence().add((ConditionEvidenceComponent) value); 1770 } else if (name.equals("note")) { 1771 this.getNote().add(castToAnnotation(value)); 1772 } else 1773 return super.setProperty(name, value); 1774 return value; 1775 } 1776 1777 @Override 1778 public Base makeProperty(int hash, String name) throws FHIRException { 1779 switch (hash) { 1780 case -1618432855: return addIdentifier(); 1781 case -462853915: return getClinicalStatus(); 1782 case -842509843: return getVerificationStatus(); 1783 case 50511102: return addCategory(); 1784 case 1478300413: return getSeverity(); 1785 case 3059181: return getCode(); 1786 case 1702620169: return addBodySite(); 1787 case -1867885268: return getSubject(); 1788 case 951530927: return getContext(); 1789 case -1886216323: return getOnset(); 1790 case 105901603: return getOnset(); 1791 case -584196495: return getAbatement(); 1792 case -921554001: return getAbatement(); 1793 case -1952893826: return getRecordedDateElement(); 1794 case -799233858: return getRecorder(); 1795 case -373242253: return getAsserter(); 1796 case 109757182: return addStage(); 1797 case 382967383: return addEvidence(); 1798 case 3387378: return addNote(); 1799 default: return super.makeProperty(hash, name); 1800 } 1801 1802 } 1803 1804 @Override 1805 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1806 switch (hash) { 1807 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1808 case -462853915: /*clinicalStatus*/ return new String[] {"CodeableConcept"}; 1809 case -842509843: /*verificationStatus*/ return new String[] {"CodeableConcept"}; 1810 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1811 case 1478300413: /*severity*/ return new String[] {"CodeableConcept"}; 1812 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1813 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 1814 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1815 case 951530927: /*context*/ return new String[] {"Reference"}; 1816 case 105901603: /*onset*/ return new String[] {"dateTime", "Age", "Period", "Range", "string"}; 1817 case -921554001: /*abatement*/ return new String[] {"dateTime", "Age", "Period", "Range", "string"}; 1818 case -1952893826: /*recordedDate*/ return new String[] {"dateTime"}; 1819 case -799233858: /*recorder*/ return new String[] {"Reference"}; 1820 case -373242253: /*asserter*/ return new String[] {"Reference"}; 1821 case 109757182: /*stage*/ return new String[] {}; 1822 case 382967383: /*evidence*/ return new String[] {}; 1823 case 3387378: /*note*/ return new String[] {"Annotation"}; 1824 default: return super.getTypesForProperty(hash, name); 1825 } 1826 1827 } 1828 1829 @Override 1830 public Base addChild(String name) throws FHIRException { 1831 if (name.equals("identifier")) { 1832 return addIdentifier(); 1833 } 1834 else if (name.equals("clinicalStatus")) { 1835 this.clinicalStatus = new CodeableConcept(); 1836 return this.clinicalStatus; 1837 } 1838 else if (name.equals("verificationStatus")) { 1839 this.verificationStatus = new CodeableConcept(); 1840 return this.verificationStatus; 1841 } 1842 else if (name.equals("category")) { 1843 return addCategory(); 1844 } 1845 else if (name.equals("severity")) { 1846 this.severity = new CodeableConcept(); 1847 return this.severity; 1848 } 1849 else if (name.equals("code")) { 1850 this.code = new CodeableConcept(); 1851 return this.code; 1852 } 1853 else if (name.equals("bodySite")) { 1854 return addBodySite(); 1855 } 1856 else if (name.equals("subject")) { 1857 this.subject = new Reference(); 1858 return this.subject; 1859 } 1860 else if (name.equals("context")) { 1861 this.context = new Reference(); 1862 return this.context; 1863 } 1864 else if (name.equals("onsetDateTime")) { 1865 this.onset = new DateTimeType(); 1866 return this.onset; 1867 } 1868 else if (name.equals("onsetAge")) { 1869 this.onset = new Age(); 1870 return this.onset; 1871 } 1872 else if (name.equals("onsetPeriod")) { 1873 this.onset = new Period(); 1874 return this.onset; 1875 } 1876 else if (name.equals("onsetRange")) { 1877 this.onset = new Range(); 1878 return this.onset; 1879 } 1880 else if (name.equals("onsetString")) { 1881 this.onset = new StringType(); 1882 return this.onset; 1883 } 1884 else if (name.equals("abatementDateTime")) { 1885 this.abatement = new DateTimeType(); 1886 return this.abatement; 1887 } 1888 else if (name.equals("abatementAge")) { 1889 this.abatement = new Age(); 1890 return this.abatement; 1891 } 1892 else if (name.equals("abatementPeriod")) { 1893 this.abatement = new Period(); 1894 return this.abatement; 1895 } 1896 else if (name.equals("abatementRange")) { 1897 this.abatement = new Range(); 1898 return this.abatement; 1899 } 1900 else if (name.equals("abatementString")) { 1901 this.abatement = new StringType(); 1902 return this.abatement; 1903 } 1904 else if (name.equals("recordedDate")) { 1905 throw new FHIRException("Cannot call addChild on a primitive type Condition.recordedDate"); 1906 } 1907 else if (name.equals("recorder")) { 1908 this.recorder = new Reference(); 1909 return this.recorder; 1910 } 1911 else if (name.equals("asserter")) { 1912 this.asserter = new Reference(); 1913 return this.asserter; 1914 } 1915 else if (name.equals("stage")) { 1916 return addStage(); 1917 } 1918 else if (name.equals("evidence")) { 1919 return addEvidence(); 1920 } 1921 else if (name.equals("note")) { 1922 return addNote(); 1923 } 1924 else 1925 return super.addChild(name); 1926 } 1927 1928 public String fhirType() { 1929 return "Condition"; 1930 1931 } 1932 1933 public Condition copy() { 1934 Condition dst = new Condition(); 1935 copyValues(dst); 1936 if (identifier != null) { 1937 dst.identifier = new ArrayList<Identifier>(); 1938 for (Identifier i : identifier) 1939 dst.identifier.add(i.copy()); 1940 }; 1941 dst.clinicalStatus = clinicalStatus == null ? null : clinicalStatus.copy(); 1942 dst.verificationStatus = verificationStatus == null ? null : verificationStatus.copy(); 1943 if (category != null) { 1944 dst.category = new ArrayList<CodeableConcept>(); 1945 for (CodeableConcept i : category) 1946 dst.category.add(i.copy()); 1947 }; 1948 dst.severity = severity == null ? null : severity.copy(); 1949 dst.code = code == null ? null : code.copy(); 1950 if (bodySite != null) { 1951 dst.bodySite = new ArrayList<CodeableConcept>(); 1952 for (CodeableConcept i : bodySite) 1953 dst.bodySite.add(i.copy()); 1954 }; 1955 dst.subject = subject == null ? null : subject.copy(); 1956 dst.context = context == null ? null : context.copy(); 1957 dst.onset = onset == null ? null : onset.copy(); 1958 dst.abatement = abatement == null ? null : abatement.copy(); 1959 dst.recordedDate = recordedDate == null ? null : recordedDate.copy(); 1960 dst.recorder = recorder == null ? null : recorder.copy(); 1961 dst.asserter = asserter == null ? null : asserter.copy(); 1962 if (stage != null) { 1963 dst.stage = new ArrayList<ConditionStageComponent>(); 1964 for (ConditionStageComponent i : stage) 1965 dst.stage.add(i.copy()); 1966 }; 1967 if (evidence != null) { 1968 dst.evidence = new ArrayList<ConditionEvidenceComponent>(); 1969 for (ConditionEvidenceComponent i : evidence) 1970 dst.evidence.add(i.copy()); 1971 }; 1972 if (note != null) { 1973 dst.note = new ArrayList<Annotation>(); 1974 for (Annotation i : note) 1975 dst.note.add(i.copy()); 1976 }; 1977 return dst; 1978 } 1979 1980 protected Condition typedCopy() { 1981 return copy(); 1982 } 1983 1984 @Override 1985 public boolean equalsDeep(Base other_) { 1986 if (!super.equalsDeep(other_)) 1987 return false; 1988 if (!(other_ instanceof Condition)) 1989 return false; 1990 Condition o = (Condition) other_; 1991 return compareDeep(identifier, o.identifier, true) && compareDeep(clinicalStatus, o.clinicalStatus, true) 1992 && compareDeep(verificationStatus, o.verificationStatus, true) && compareDeep(category, o.category, true) 1993 && compareDeep(severity, o.severity, true) && compareDeep(code, o.code, true) && compareDeep(bodySite, o.bodySite, true) 1994 && compareDeep(subject, o.subject, true) && compareDeep(context, o.context, true) && compareDeep(onset, o.onset, true) 1995 && compareDeep(abatement, o.abatement, true) && compareDeep(recordedDate, o.recordedDate, true) 1996 && compareDeep(recorder, o.recorder, true) && compareDeep(asserter, o.asserter, true) && compareDeep(stage, o.stage, true) 1997 && compareDeep(evidence, o.evidence, true) && compareDeep(note, o.note, true); 1998 } 1999 2000 @Override 2001 public boolean equalsShallow(Base other_) { 2002 if (!super.equalsShallow(other_)) 2003 return false; 2004 if (!(other_ instanceof Condition)) 2005 return false; 2006 Condition o = (Condition) other_; 2007 return compareValues(recordedDate, o.recordedDate, true); 2008 } 2009 2010 public boolean isEmpty() { 2011 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, clinicalStatus 2012 , verificationStatus, category, severity, code, bodySite, subject, context, onset 2013 , abatement, recordedDate, recorder, asserter, stage, evidence, note); 2014 } 2015 2016 @Override 2017 public ResourceType getResourceType() { 2018 return ResourceType.Condition; 2019 } 2020 2021 /** 2022 * Search parameter: <b>severity</b> 2023 * <p> 2024 * Description: <b>The severity of the condition</b><br> 2025 * Type: <b>token</b><br> 2026 * Path: <b>Condition.severity</b><br> 2027 * </p> 2028 */ 2029 @SearchParamDefinition(name="severity", path="Condition.severity", description="The severity of the condition", type="token" ) 2030 public static final String SP_SEVERITY = "severity"; 2031 /** 2032 * <b>Fluent Client</b> search parameter constant for <b>severity</b> 2033 * <p> 2034 * Description: <b>The severity of the condition</b><br> 2035 * Type: <b>token</b><br> 2036 * Path: <b>Condition.severity</b><br> 2037 * </p> 2038 */ 2039 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SEVERITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SEVERITY); 2040 2041 /** 2042 * Search parameter: <b>evidence-detail</b> 2043 * <p> 2044 * Description: <b>Supporting information found elsewhere</b><br> 2045 * Type: <b>reference</b><br> 2046 * Path: <b>Condition.evidence.detail</b><br> 2047 * </p> 2048 */ 2049 @SearchParamDefinition(name="evidence-detail", path="Condition.evidence.detail", description="Supporting information found elsewhere", type="reference" ) 2050 public static final String SP_EVIDENCE_DETAIL = "evidence-detail"; 2051 /** 2052 * <b>Fluent Client</b> search parameter constant for <b>evidence-detail</b> 2053 * <p> 2054 * Description: <b>Supporting information found elsewhere</b><br> 2055 * Type: <b>reference</b><br> 2056 * Path: <b>Condition.evidence.detail</b><br> 2057 * </p> 2058 */ 2059 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam EVIDENCE_DETAIL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_EVIDENCE_DETAIL); 2060 2061/** 2062 * Constant for fluent queries to be used to add include statements. Specifies 2063 * the path value of "<b>Condition:evidence-detail</b>". 2064 */ 2065 public static final ca.uhn.fhir.model.api.Include INCLUDE_EVIDENCE_DETAIL = new ca.uhn.fhir.model.api.Include("Condition:evidence-detail").toLocked(); 2066 2067 /** 2068 * Search parameter: <b>identifier</b> 2069 * <p> 2070 * Description: <b>A unique identifier of the condition record</b><br> 2071 * Type: <b>token</b><br> 2072 * Path: <b>Condition.identifier</b><br> 2073 * </p> 2074 */ 2075 @SearchParamDefinition(name="identifier", path="Condition.identifier", description="A unique identifier of the condition record", type="token" ) 2076 public static final String SP_IDENTIFIER = "identifier"; 2077 /** 2078 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2079 * <p> 2080 * Description: <b>A unique identifier of the condition record</b><br> 2081 * Type: <b>token</b><br> 2082 * Path: <b>Condition.identifier</b><br> 2083 * </p> 2084 */ 2085 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2086 2087 /** 2088 * Search parameter: <b>onset-info</b> 2089 * <p> 2090 * Description: <b>Onsets as a string</b><br> 2091 * Type: <b>string</b><br> 2092 * Path: <b>Condition.onset[x]</b><br> 2093 * </p> 2094 */ 2095 @SearchParamDefinition(name="onset-info", path="Condition.onset.as(string)", description="Onsets as a string", type="string" ) 2096 public static final String SP_ONSET_INFO = "onset-info"; 2097 /** 2098 * <b>Fluent Client</b> search parameter constant for <b>onset-info</b> 2099 * <p> 2100 * Description: <b>Onsets as a string</b><br> 2101 * Type: <b>string</b><br> 2102 * Path: <b>Condition.onset[x]</b><br> 2103 * </p> 2104 */ 2105 public static final ca.uhn.fhir.rest.gclient.StringClientParam ONSET_INFO = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ONSET_INFO); 2106 2107 /** 2108 * Search parameter: <b>recorded-date</b> 2109 * <p> 2110 * Description: <b>Date record was first recorded</b><br> 2111 * Type: <b>date</b><br> 2112 * Path: <b>Condition.recordedDate</b><br> 2113 * </p> 2114 */ 2115 @SearchParamDefinition(name="recorded-date", path="Condition.recordedDate", description="Date record was first recorded", type="date" ) 2116 public static final String SP_RECORDED_DATE = "recorded-date"; 2117 /** 2118 * <b>Fluent Client</b> search parameter constant for <b>recorded-date</b> 2119 * <p> 2120 * Description: <b>Date record was first recorded</b><br> 2121 * Type: <b>date</b><br> 2122 * Path: <b>Condition.recordedDate</b><br> 2123 * </p> 2124 */ 2125 public static final ca.uhn.fhir.rest.gclient.DateClientParam RECORDED_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_RECORDED_DATE); 2126 2127 /** 2128 * Search parameter: <b>code</b> 2129 * <p> 2130 * Description: <b>Code for the condition</b><br> 2131 * Type: <b>token</b><br> 2132 * Path: <b>Condition.code</b><br> 2133 * </p> 2134 */ 2135 @SearchParamDefinition(name="code", path="Condition.code", description="Code for the condition", type="token" ) 2136 public static final String SP_CODE = "code"; 2137 /** 2138 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2139 * <p> 2140 * Description: <b>Code for the condition</b><br> 2141 * Type: <b>token</b><br> 2142 * Path: <b>Condition.code</b><br> 2143 * </p> 2144 */ 2145 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2146 2147 /** 2148 * Search parameter: <b>evidence</b> 2149 * <p> 2150 * Description: <b>Manifestation/symptom</b><br> 2151 * Type: <b>token</b><br> 2152 * Path: <b>Condition.evidence.code</b><br> 2153 * </p> 2154 */ 2155 @SearchParamDefinition(name="evidence", path="Condition.evidence.code", description="Manifestation/symptom", type="token" ) 2156 public static final String SP_EVIDENCE = "evidence"; 2157 /** 2158 * <b>Fluent Client</b> search parameter constant for <b>evidence</b> 2159 * <p> 2160 * Description: <b>Manifestation/symptom</b><br> 2161 * Type: <b>token</b><br> 2162 * Path: <b>Condition.evidence.code</b><br> 2163 * </p> 2164 */ 2165 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVIDENCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EVIDENCE); 2166 2167 /** 2168 * Search parameter: <b>subject</b> 2169 * <p> 2170 * Description: <b>Who has the condition?</b><br> 2171 * Type: <b>reference</b><br> 2172 * Path: <b>Condition.subject</b><br> 2173 * </p> 2174 */ 2175 @SearchParamDefinition(name="subject", path="Condition.subject", description="Who has the condition?", type="reference", target={Group.class, Patient.class } ) 2176 public static final String SP_SUBJECT = "subject"; 2177 /** 2178 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2179 * <p> 2180 * Description: <b>Who has the condition?</b><br> 2181 * Type: <b>reference</b><br> 2182 * Path: <b>Condition.subject</b><br> 2183 * </p> 2184 */ 2185 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2186 2187/** 2188 * Constant for fluent queries to be used to add include statements. Specifies 2189 * the path value of "<b>Condition:subject</b>". 2190 */ 2191 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Condition:subject").toLocked(); 2192 2193 /** 2194 * Search parameter: <b>verification-status</b> 2195 * <p> 2196 * Description: <b>unconfirmed | provisional | differential | confirmed | refuted | entered-in-error</b><br> 2197 * Type: <b>token</b><br> 2198 * Path: <b>Condition.verificationStatus</b><br> 2199 * </p> 2200 */ 2201 @SearchParamDefinition(name="verification-status", path="Condition.verificationStatus", description="unconfirmed | provisional | differential | confirmed | refuted | entered-in-error", type="token" ) 2202 public static final String SP_VERIFICATION_STATUS = "verification-status"; 2203 /** 2204 * <b>Fluent Client</b> search parameter constant for <b>verification-status</b> 2205 * <p> 2206 * Description: <b>unconfirmed | provisional | differential | confirmed | refuted | entered-in-error</b><br> 2207 * Type: <b>token</b><br> 2208 * Path: <b>Condition.verificationStatus</b><br> 2209 * </p> 2210 */ 2211 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERIFICATION_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERIFICATION_STATUS); 2212 2213 /** 2214 * Search parameter: <b>clinical-status</b> 2215 * <p> 2216 * Description: <b>The clinical status of the condition</b><br> 2217 * Type: <b>token</b><br> 2218 * Path: <b>Condition.clinicalStatus</b><br> 2219 * </p> 2220 */ 2221 @SearchParamDefinition(name="clinical-status", path="Condition.clinicalStatus", description="The clinical status of the condition", type="token" ) 2222 public static final String SP_CLINICAL_STATUS = "clinical-status"; 2223 /** 2224 * <b>Fluent Client</b> search parameter constant for <b>clinical-status</b> 2225 * <p> 2226 * Description: <b>The clinical status of the condition</b><br> 2227 * Type: <b>token</b><br> 2228 * Path: <b>Condition.clinicalStatus</b><br> 2229 * </p> 2230 */ 2231 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CLINICAL_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CLINICAL_STATUS); 2232 2233 /** 2234 * Search parameter: <b>encounter</b> 2235 * <p> 2236 * Description: <b>Encounter when condition first asserted</b><br> 2237 * Type: <b>reference</b><br> 2238 * Path: <b>Condition.context</b><br> 2239 * </p> 2240 */ 2241 @SearchParamDefinition(name="encounter", path="Condition.context.where(resolve() is Encounter)", description="Encounter when condition first asserted", type="reference", target={Encounter.class } ) 2242 public static final String SP_ENCOUNTER = "encounter"; 2243 /** 2244 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2245 * <p> 2246 * Description: <b>Encounter when condition first asserted</b><br> 2247 * Type: <b>reference</b><br> 2248 * Path: <b>Condition.context</b><br> 2249 * </p> 2250 */ 2251 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2252 2253/** 2254 * Constant for fluent queries to be used to add include statements. Specifies 2255 * the path value of "<b>Condition:encounter</b>". 2256 */ 2257 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("Condition:encounter").toLocked(); 2258 2259 /** 2260 * Search parameter: <b>onset-date</b> 2261 * <p> 2262 * Description: <b>Date related onsets (dateTime and Period)</b><br> 2263 * Type: <b>date</b><br> 2264 * Path: <b>Condition.onset[x]</b><br> 2265 * </p> 2266 */ 2267 @SearchParamDefinition(name="onset-date", path="Condition.onset.as(dateTime) | Condition.onset.as(Period)", description="Date related onsets (dateTime and Period)", type="date" ) 2268 public static final String SP_ONSET_DATE = "onset-date"; 2269 /** 2270 * <b>Fluent Client</b> search parameter constant for <b>onset-date</b> 2271 * <p> 2272 * Description: <b>Date related onsets (dateTime and Period)</b><br> 2273 * Type: <b>date</b><br> 2274 * Path: <b>Condition.onset[x]</b><br> 2275 * </p> 2276 */ 2277 public static final ca.uhn.fhir.rest.gclient.DateClientParam ONSET_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ONSET_DATE); 2278 2279 /** 2280 * Search parameter: <b>abatement-date</b> 2281 * <p> 2282 * Description: <b>Date-related abatements (dateTime and period)</b><br> 2283 * Type: <b>date</b><br> 2284 * Path: <b>Condition.abatement[x]</b><br> 2285 * </p> 2286 */ 2287 @SearchParamDefinition(name="abatement-date", path="Condition.abatement.as(dateTime) | Condition.abatement.as(Period)", description="Date-related abatements (dateTime and period)", type="date" ) 2288 public static final String SP_ABATEMENT_DATE = "abatement-date"; 2289 /** 2290 * <b>Fluent Client</b> search parameter constant for <b>abatement-date</b> 2291 * <p> 2292 * Description: <b>Date-related abatements (dateTime and period)</b><br> 2293 * Type: <b>date</b><br> 2294 * Path: <b>Condition.abatement[x]</b><br> 2295 * </p> 2296 */ 2297 public static final ca.uhn.fhir.rest.gclient.DateClientParam ABATEMENT_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ABATEMENT_DATE); 2298 2299 /** 2300 * Search parameter: <b>asserter</b> 2301 * <p> 2302 * Description: <b>Person who asserts this condition</b><br> 2303 * Type: <b>reference</b><br> 2304 * Path: <b>Condition.asserter</b><br> 2305 * </p> 2306 */ 2307 @SearchParamDefinition(name="asserter", path="Condition.asserter", description="Person who asserts this condition", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="RelatedPerson") }, target={Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 2308 public static final String SP_ASSERTER = "asserter"; 2309 /** 2310 * <b>Fluent Client</b> search parameter constant for <b>asserter</b> 2311 * <p> 2312 * Description: <b>Person who asserts this condition</b><br> 2313 * Type: <b>reference</b><br> 2314 * Path: <b>Condition.asserter</b><br> 2315 * </p> 2316 */ 2317 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ASSERTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ASSERTER); 2318 2319/** 2320 * Constant for fluent queries to be used to add include statements. Specifies 2321 * the path value of "<b>Condition:asserter</b>". 2322 */ 2323 public static final ca.uhn.fhir.model.api.Include INCLUDE_ASSERTER = new ca.uhn.fhir.model.api.Include("Condition:asserter").toLocked(); 2324 2325 /** 2326 * Search parameter: <b>stage</b> 2327 * <p> 2328 * Description: <b>Simple summary (disease specific)</b><br> 2329 * Type: <b>token</b><br> 2330 * Path: <b>Condition.stage.summary</b><br> 2331 * </p> 2332 */ 2333 @SearchParamDefinition(name="stage", path="Condition.stage.summary", description="Simple summary (disease specific)", type="token" ) 2334 public static final String SP_STAGE = "stage"; 2335 /** 2336 * <b>Fluent Client</b> search parameter constant for <b>stage</b> 2337 * <p> 2338 * Description: <b>Simple summary (disease specific)</b><br> 2339 * Type: <b>token</b><br> 2340 * Path: <b>Condition.stage.summary</b><br> 2341 * </p> 2342 */ 2343 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STAGE); 2344 2345 /** 2346 * Search parameter: <b>abatement-string</b> 2347 * <p> 2348 * Description: <b>Abatement as a string</b><br> 2349 * Type: <b>string</b><br> 2350 * Path: <b>Condition.abatement[x]</b><br> 2351 * </p> 2352 */ 2353 @SearchParamDefinition(name="abatement-string", path="Condition.abatement.as(string)", description="Abatement as a string", type="string" ) 2354 public static final String SP_ABATEMENT_STRING = "abatement-string"; 2355 /** 2356 * <b>Fluent Client</b> search parameter constant for <b>abatement-string</b> 2357 * <p> 2358 * Description: <b>Abatement as a string</b><br> 2359 * Type: <b>string</b><br> 2360 * Path: <b>Condition.abatement[x]</b><br> 2361 * </p> 2362 */ 2363 public static final ca.uhn.fhir.rest.gclient.StringClientParam ABATEMENT_STRING = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ABATEMENT_STRING); 2364 2365 /** 2366 * Search parameter: <b>patient</b> 2367 * <p> 2368 * Description: <b>Who has the condition?</b><br> 2369 * Type: <b>reference</b><br> 2370 * Path: <b>Condition.subject</b><br> 2371 * </p> 2372 */ 2373 @SearchParamDefinition(name="patient", path="Condition.subject.where(resolve() is Patient)", description="Who has the condition?", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } ) 2374 public static final String SP_PATIENT = "patient"; 2375 /** 2376 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2377 * <p> 2378 * Description: <b>Who has the condition?</b><br> 2379 * Type: <b>reference</b><br> 2380 * Path: <b>Condition.subject</b><br> 2381 * </p> 2382 */ 2383 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2384 2385/** 2386 * Constant for fluent queries to be used to add include statements. Specifies 2387 * the path value of "<b>Condition:patient</b>". 2388 */ 2389 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Condition:patient").toLocked(); 2390 2391 /** 2392 * Search parameter: <b>context</b> 2393 * <p> 2394 * Description: <b>Encounter or episode when condition first asserted</b><br> 2395 * Type: <b>reference</b><br> 2396 * Path: <b>Condition.context</b><br> 2397 * </p> 2398 */ 2399 @SearchParamDefinition(name="context", path="Condition.context", description="Encounter or episode when condition first asserted", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Encounter") }, target={Encounter.class, EpisodeOfCare.class } ) 2400 public static final String SP_CONTEXT = "context"; 2401 /** 2402 * <b>Fluent Client</b> search parameter constant for <b>context</b> 2403 * <p> 2404 * Description: <b>Encounter or episode when condition first asserted</b><br> 2405 * Type: <b>reference</b><br> 2406 * Path: <b>Condition.context</b><br> 2407 * </p> 2408 */ 2409 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTEXT); 2410 2411/** 2412 * Constant for fluent queries to be used to add include statements. Specifies 2413 * the path value of "<b>Condition:context</b>". 2414 */ 2415 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTEXT = new ca.uhn.fhir.model.api.Include("Condition:context").toLocked(); 2416 2417 /** 2418 * Search parameter: <b>onset-age</b> 2419 * <p> 2420 * Description: <b>Onsets as age or age range</b><br> 2421 * Type: <b>quantity</b><br> 2422 * Path: <b>Condition.onset[x]</b><br> 2423 * </p> 2424 */ 2425 @SearchParamDefinition(name="onset-age", path="Condition.onset.as(Age) | Condition.onset.as(Range)", description="Onsets as age or age range", type="quantity" ) 2426 public static final String SP_ONSET_AGE = "onset-age"; 2427 /** 2428 * <b>Fluent Client</b> search parameter constant for <b>onset-age</b> 2429 * <p> 2430 * Description: <b>Onsets as age or age range</b><br> 2431 * Type: <b>quantity</b><br> 2432 * Path: <b>Condition.onset[x]</b><br> 2433 * </p> 2434 */ 2435 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ONSET_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ONSET_AGE); 2436 2437 /** 2438 * Search parameter: <b>abatement-age</b> 2439 * <p> 2440 * Description: <b>Abatement as age or age range</b><br> 2441 * Type: <b>quantity</b><br> 2442 * Path: <b>Condition.abatement[x]</b><br> 2443 * </p> 2444 */ 2445 @SearchParamDefinition(name="abatement-age", path="Condition.abatement.as(Age) | Condition.abatement.as(Range)", description="Abatement as age or age range", type="quantity" ) 2446 public static final String SP_ABATEMENT_AGE = "abatement-age"; 2447 /** 2448 * <b>Fluent Client</b> search parameter constant for <b>abatement-age</b> 2449 * <p> 2450 * Description: <b>Abatement as age or age range</b><br> 2451 * Type: <b>quantity</b><br> 2452 * Path: <b>Condition.abatement[x]</b><br> 2453 * </p> 2454 */ 2455 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ABATEMENT_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ABATEMENT_AGE); 2456 2457 /** 2458 * Search parameter: <b>category</b> 2459 * <p> 2460 * Description: <b>The category of the condition</b><br> 2461 * Type: <b>token</b><br> 2462 * Path: <b>Condition.category</b><br> 2463 * </p> 2464 */ 2465 @SearchParamDefinition(name="category", path="Condition.category", description="The category of the condition", type="token" ) 2466 public static final String SP_CATEGORY = "category"; 2467 /** 2468 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2469 * <p> 2470 * Description: <b>The category of the condition</b><br> 2471 * Type: <b>token</b><br> 2472 * Path: <b>Condition.category</b><br> 2473 * </p> 2474 */ 2475 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2476 2477 /** 2478 * Search parameter: <b>body-site</b> 2479 * <p> 2480 * Description: <b>Anatomical location, if relevant</b><br> 2481 * Type: <b>token</b><br> 2482 * Path: <b>Condition.bodySite</b><br> 2483 * </p> 2484 */ 2485 @SearchParamDefinition(name="body-site", path="Condition.bodySite", description="Anatomical location, if relevant", type="token" ) 2486 public static final String SP_BODY_SITE = "body-site"; 2487 /** 2488 * <b>Fluent Client</b> search parameter constant for <b>body-site</b> 2489 * <p> 2490 * Description: <b>Anatomical location, if relevant</b><br> 2491 * Type: <b>token</b><br> 2492 * Path: <b>Condition.bodySite</b><br> 2493 * </p> 2494 */ 2495 public static final ca.uhn.fhir.rest.gclient.TokenClientParam BODY_SITE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BODY_SITE); 2496 2497 2498} 2499