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, Dec 27, 2018 10:06-0500 for FHIR v4.0.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 | 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 * The Encounter during which this Condition was created or to which the creation of this record is tightly associated. 690 */ 691 @Child(name = "encounter", type = {Encounter.class}, order=8, min=0, max=1, modifier=false, summary=true) 692 @Description(shortDefinition="Encounter created as part of", formalDefinition="The Encounter during which this Condition was created or to which the creation of this record is tightly associated." ) 693 protected Reference encounter; 694 695 /** 696 * The actual object that is the target of the reference (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 697 */ 698 protected Encounter encounterTarget; 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, PractitionerRole.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 = 186776568L; 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 #encounter} (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 1079 */ 1080 public Reference getEncounter() { 1081 if (this.encounter == null) 1082 if (Configuration.errorOnAutoCreate()) 1083 throw new Error("Attempt to auto-create Condition.encounter"); 1084 else if (Configuration.doAutoCreate()) 1085 this.encounter = new Reference(); // cc 1086 return this.encounter; 1087 } 1088 1089 public boolean hasEncounter() { 1090 return this.encounter != null && !this.encounter.isEmpty(); 1091 } 1092 1093 /** 1094 * @param value {@link #encounter} (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 1095 */ 1096 public Condition setEncounter(Reference value) { 1097 this.encounter = value; 1098 return this; 1099 } 1100 1101 /** 1102 * @return {@link #encounter} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 1103 */ 1104 public Encounter getEncounterTarget() { 1105 if (this.encounterTarget == null) 1106 if (Configuration.errorOnAutoCreate()) 1107 throw new Error("Attempt to auto-create Condition.encounter"); 1108 else if (Configuration.doAutoCreate()) 1109 this.encounterTarget = new Encounter(); // aa 1110 return this.encounterTarget; 1111 } 1112 1113 /** 1114 * @param value {@link #encounter} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 1115 */ 1116 public Condition setEncounterTarget(Encounter value) { 1117 this.encounterTarget = value; 1118 return this; 1119 } 1120 1121 /** 1122 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1123 */ 1124 public Type getOnset() { 1125 return this.onset; 1126 } 1127 1128 /** 1129 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1130 */ 1131 public DateTimeType getOnsetDateTimeType() throws FHIRException { 1132 if (this.onset == null) 1133 this.onset = new DateTimeType(); 1134 if (!(this.onset instanceof DateTimeType)) 1135 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.onset.getClass().getName()+" was encountered"); 1136 return (DateTimeType) this.onset; 1137 } 1138 1139 public boolean hasOnsetDateTimeType() { 1140 return this != null && this.onset instanceof DateTimeType; 1141 } 1142 1143 /** 1144 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1145 */ 1146 public Age getOnsetAge() throws FHIRException { 1147 if (this.onset == null) 1148 this.onset = new Age(); 1149 if (!(this.onset instanceof Age)) 1150 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.onset.getClass().getName()+" was encountered"); 1151 return (Age) this.onset; 1152 } 1153 1154 public boolean hasOnsetAge() { 1155 return this != null && this.onset instanceof Age; 1156 } 1157 1158 /** 1159 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1160 */ 1161 public Period getOnsetPeriod() throws FHIRException { 1162 if (this.onset == null) 1163 this.onset = new Period(); 1164 if (!(this.onset instanceof Period)) 1165 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.onset.getClass().getName()+" was encountered"); 1166 return (Period) this.onset; 1167 } 1168 1169 public boolean hasOnsetPeriod() { 1170 return this != null && this.onset instanceof Period; 1171 } 1172 1173 /** 1174 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1175 */ 1176 public Range getOnsetRange() throws FHIRException { 1177 if (this.onset == null) 1178 this.onset = new Range(); 1179 if (!(this.onset instanceof Range)) 1180 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.onset.getClass().getName()+" was encountered"); 1181 return (Range) this.onset; 1182 } 1183 1184 public boolean hasOnsetRange() { 1185 return this != null && this.onset instanceof Range; 1186 } 1187 1188 /** 1189 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1190 */ 1191 public StringType getOnsetStringType() throws FHIRException { 1192 if (this.onset == null) 1193 this.onset = new StringType(); 1194 if (!(this.onset instanceof StringType)) 1195 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.onset.getClass().getName()+" was encountered"); 1196 return (StringType) this.onset; 1197 } 1198 1199 public boolean hasOnsetStringType() { 1200 return this != null && this.onset instanceof StringType; 1201 } 1202 1203 public boolean hasOnset() { 1204 return this.onset != null && !this.onset.isEmpty(); 1205 } 1206 1207 /** 1208 * @param value {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1209 */ 1210 public Condition setOnset(Type value) { 1211 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof StringType)) 1212 throw new Error("Not the right type for Condition.onset[x]: "+value.fhirType()); 1213 this.onset = value; 1214 return this; 1215 } 1216 1217 /** 1218 * @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.) 1219 */ 1220 public Type getAbatement() { 1221 return this.abatement; 1222 } 1223 1224 /** 1225 * @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.) 1226 */ 1227 public DateTimeType getAbatementDateTimeType() throws FHIRException { 1228 if (this.abatement == null) 1229 this.abatement = new DateTimeType(); 1230 if (!(this.abatement instanceof DateTimeType)) 1231 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1232 return (DateTimeType) this.abatement; 1233 } 1234 1235 public boolean hasAbatementDateTimeType() { 1236 return this != null && this.abatement instanceof DateTimeType; 1237 } 1238 1239 /** 1240 * @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.) 1241 */ 1242 public Age getAbatementAge() throws FHIRException { 1243 if (this.abatement == null) 1244 this.abatement = new Age(); 1245 if (!(this.abatement instanceof Age)) 1246 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1247 return (Age) this.abatement; 1248 } 1249 1250 public boolean hasAbatementAge() { 1251 return this != null && this.abatement instanceof Age; 1252 } 1253 1254 /** 1255 * @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.) 1256 */ 1257 public Period getAbatementPeriod() throws FHIRException { 1258 if (this.abatement == null) 1259 this.abatement = new Period(); 1260 if (!(this.abatement instanceof Period)) 1261 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1262 return (Period) this.abatement; 1263 } 1264 1265 public boolean hasAbatementPeriod() { 1266 return this != null && this.abatement instanceof Period; 1267 } 1268 1269 /** 1270 * @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.) 1271 */ 1272 public Range getAbatementRange() throws FHIRException { 1273 if (this.abatement == null) 1274 this.abatement = new Range(); 1275 if (!(this.abatement instanceof Range)) 1276 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1277 return (Range) this.abatement; 1278 } 1279 1280 public boolean hasAbatementRange() { 1281 return this != null && this.abatement instanceof Range; 1282 } 1283 1284 /** 1285 * @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.) 1286 */ 1287 public StringType getAbatementStringType() throws FHIRException { 1288 if (this.abatement == null) 1289 this.abatement = new StringType(); 1290 if (!(this.abatement instanceof StringType)) 1291 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1292 return (StringType) this.abatement; 1293 } 1294 1295 public boolean hasAbatementStringType() { 1296 return this != null && this.abatement instanceof StringType; 1297 } 1298 1299 public boolean hasAbatement() { 1300 return this.abatement != null && !this.abatement.isEmpty(); 1301 } 1302 1303 /** 1304 * @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.) 1305 */ 1306 public Condition setAbatement(Type value) { 1307 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof StringType)) 1308 throw new Error("Not the right type for Condition.abatement[x]: "+value.fhirType()); 1309 this.abatement = value; 1310 return this; 1311 } 1312 1313 /** 1314 * @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 1315 */ 1316 public DateTimeType getRecordedDateElement() { 1317 if (this.recordedDate == null) 1318 if (Configuration.errorOnAutoCreate()) 1319 throw new Error("Attempt to auto-create Condition.recordedDate"); 1320 else if (Configuration.doAutoCreate()) 1321 this.recordedDate = new DateTimeType(); // bb 1322 return this.recordedDate; 1323 } 1324 1325 public boolean hasRecordedDateElement() { 1326 return this.recordedDate != null && !this.recordedDate.isEmpty(); 1327 } 1328 1329 public boolean hasRecordedDate() { 1330 return this.recordedDate != null && !this.recordedDate.isEmpty(); 1331 } 1332 1333 /** 1334 * @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 1335 */ 1336 public Condition setRecordedDateElement(DateTimeType value) { 1337 this.recordedDate = value; 1338 return this; 1339 } 1340 1341 /** 1342 * @return The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 1343 */ 1344 public Date getRecordedDate() { 1345 return this.recordedDate == null ? null : this.recordedDate.getValue(); 1346 } 1347 1348 /** 1349 * @param value The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 1350 */ 1351 public Condition setRecordedDate(Date value) { 1352 if (value == null) 1353 this.recordedDate = null; 1354 else { 1355 if (this.recordedDate == null) 1356 this.recordedDate = new DateTimeType(); 1357 this.recordedDate.setValue(value); 1358 } 1359 return this; 1360 } 1361 1362 /** 1363 * @return {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1364 */ 1365 public Reference getRecorder() { 1366 if (this.recorder == null) 1367 if (Configuration.errorOnAutoCreate()) 1368 throw new Error("Attempt to auto-create Condition.recorder"); 1369 else if (Configuration.doAutoCreate()) 1370 this.recorder = new Reference(); // cc 1371 return this.recorder; 1372 } 1373 1374 public boolean hasRecorder() { 1375 return this.recorder != null && !this.recorder.isEmpty(); 1376 } 1377 1378 /** 1379 * @param value {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1380 */ 1381 public Condition setRecorder(Reference value) { 1382 this.recorder = value; 1383 return this; 1384 } 1385 1386 /** 1387 * @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.) 1388 */ 1389 public Resource getRecorderTarget() { 1390 return this.recorderTarget; 1391 } 1392 1393 /** 1394 * @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.) 1395 */ 1396 public Condition setRecorderTarget(Resource value) { 1397 this.recorderTarget = value; 1398 return this; 1399 } 1400 1401 /** 1402 * @return {@link #asserter} (Individual who is making the condition statement.) 1403 */ 1404 public Reference getAsserter() { 1405 if (this.asserter == null) 1406 if (Configuration.errorOnAutoCreate()) 1407 throw new Error("Attempt to auto-create Condition.asserter"); 1408 else if (Configuration.doAutoCreate()) 1409 this.asserter = new Reference(); // cc 1410 return this.asserter; 1411 } 1412 1413 public boolean hasAsserter() { 1414 return this.asserter != null && !this.asserter.isEmpty(); 1415 } 1416 1417 /** 1418 * @param value {@link #asserter} (Individual who is making the condition statement.) 1419 */ 1420 public Condition setAsserter(Reference value) { 1421 this.asserter = value; 1422 return this; 1423 } 1424 1425 /** 1426 * @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.) 1427 */ 1428 public Resource getAsserterTarget() { 1429 return this.asserterTarget; 1430 } 1431 1432 /** 1433 * @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.) 1434 */ 1435 public Condition setAsserterTarget(Resource value) { 1436 this.asserterTarget = value; 1437 return this; 1438 } 1439 1440 /** 1441 * @return {@link #stage} (Clinical stage or grade of a condition. May include formal severity assessments.) 1442 */ 1443 public List<ConditionStageComponent> getStage() { 1444 if (this.stage == null) 1445 this.stage = new ArrayList<ConditionStageComponent>(); 1446 return this.stage; 1447 } 1448 1449 /** 1450 * @return Returns a reference to <code>this</code> for easy method chaining 1451 */ 1452 public Condition setStage(List<ConditionStageComponent> theStage) { 1453 this.stage = theStage; 1454 return this; 1455 } 1456 1457 public boolean hasStage() { 1458 if (this.stage == null) 1459 return false; 1460 for (ConditionStageComponent item : this.stage) 1461 if (!item.isEmpty()) 1462 return true; 1463 return false; 1464 } 1465 1466 public ConditionStageComponent addStage() { //3 1467 ConditionStageComponent t = new ConditionStageComponent(); 1468 if (this.stage == null) 1469 this.stage = new ArrayList<ConditionStageComponent>(); 1470 this.stage.add(t); 1471 return t; 1472 } 1473 1474 public Condition addStage(ConditionStageComponent t) { //3 1475 if (t == null) 1476 return this; 1477 if (this.stage == null) 1478 this.stage = new ArrayList<ConditionStageComponent>(); 1479 this.stage.add(t); 1480 return this; 1481 } 1482 1483 /** 1484 * @return The first repetition of repeating field {@link #stage}, creating it if it does not already exist 1485 */ 1486 public ConditionStageComponent getStageFirstRep() { 1487 if (getStage().isEmpty()) { 1488 addStage(); 1489 } 1490 return getStage().get(0); 1491 } 1492 1493 /** 1494 * @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.) 1495 */ 1496 public List<ConditionEvidenceComponent> getEvidence() { 1497 if (this.evidence == null) 1498 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1499 return this.evidence; 1500 } 1501 1502 /** 1503 * @return Returns a reference to <code>this</code> for easy method chaining 1504 */ 1505 public Condition setEvidence(List<ConditionEvidenceComponent> theEvidence) { 1506 this.evidence = theEvidence; 1507 return this; 1508 } 1509 1510 public boolean hasEvidence() { 1511 if (this.evidence == null) 1512 return false; 1513 for (ConditionEvidenceComponent item : this.evidence) 1514 if (!item.isEmpty()) 1515 return true; 1516 return false; 1517 } 1518 1519 public ConditionEvidenceComponent addEvidence() { //3 1520 ConditionEvidenceComponent t = new ConditionEvidenceComponent(); 1521 if (this.evidence == null) 1522 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1523 this.evidence.add(t); 1524 return t; 1525 } 1526 1527 public Condition addEvidence(ConditionEvidenceComponent t) { //3 1528 if (t == null) 1529 return this; 1530 if (this.evidence == null) 1531 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1532 this.evidence.add(t); 1533 return this; 1534 } 1535 1536 /** 1537 * @return The first repetition of repeating field {@link #evidence}, creating it if it does not already exist 1538 */ 1539 public ConditionEvidenceComponent getEvidenceFirstRep() { 1540 if (getEvidence().isEmpty()) { 1541 addEvidence(); 1542 } 1543 return getEvidence().get(0); 1544 } 1545 1546 /** 1547 * @return {@link #note} (Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.) 1548 */ 1549 public List<Annotation> getNote() { 1550 if (this.note == null) 1551 this.note = new ArrayList<Annotation>(); 1552 return this.note; 1553 } 1554 1555 /** 1556 * @return Returns a reference to <code>this</code> for easy method chaining 1557 */ 1558 public Condition setNote(List<Annotation> theNote) { 1559 this.note = theNote; 1560 return this; 1561 } 1562 1563 public boolean hasNote() { 1564 if (this.note == null) 1565 return false; 1566 for (Annotation item : this.note) 1567 if (!item.isEmpty()) 1568 return true; 1569 return false; 1570 } 1571 1572 public Annotation addNote() { //3 1573 Annotation t = new Annotation(); 1574 if (this.note == null) 1575 this.note = new ArrayList<Annotation>(); 1576 this.note.add(t); 1577 return t; 1578 } 1579 1580 public Condition addNote(Annotation t) { //3 1581 if (t == null) 1582 return this; 1583 if (this.note == null) 1584 this.note = new ArrayList<Annotation>(); 1585 this.note.add(t); 1586 return this; 1587 } 1588 1589 /** 1590 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 1591 */ 1592 public Annotation getNoteFirstRep() { 1593 if (getNote().isEmpty()) { 1594 addNote(); 1595 } 1596 return getNote().get(0); 1597 } 1598 1599 protected void listChildren(List<Property> children) { 1600 super.listChildren(children); 1601 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)); 1602 children.add(new Property("clinicalStatus", "CodeableConcept", "The clinical status of the condition.", 0, 1, clinicalStatus)); 1603 children.add(new Property("verificationStatus", "CodeableConcept", "The verification status to support the clinical status of the condition.", 0, 1, verificationStatus)); 1604 children.add(new Property("category", "CodeableConcept", "A category assigned to the condition.", 0, java.lang.Integer.MAX_VALUE, category)); 1605 children.add(new Property("severity", "CodeableConcept", "A subjective assessment of the severity of the condition as evaluated by the clinician.", 0, 1, severity)); 1606 children.add(new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code)); 1607 children.add(new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, java.lang.Integer.MAX_VALUE, bodySite)); 1608 children.add(new Property("subject", "Reference(Patient|Group)", "Indicates the patient or group who the condition record is associated with.", 0, 1, subject)); 1609 children.add(new Property("encounter", "Reference(Encounter)", "The Encounter during which this Condition was created or to which the creation of this record is tightly associated.", 0, 1, encounter)); 1610 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)); 1611 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)); 1612 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)); 1613 children.add(new Property("recorder", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder)); 1614 children.add(new Property("asserter", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who is making the condition statement.", 0, 1, asserter)); 1615 children.add(new Property("stage", "", "Clinical stage or grade of a condition. May include formal severity assessments.", 0, java.lang.Integer.MAX_VALUE, stage)); 1616 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)); 1617 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)); 1618 } 1619 1620 @Override 1621 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1622 switch (_hash) { 1623 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); 1624 case -462853915: /*clinicalStatus*/ return new Property("clinicalStatus", "CodeableConcept", "The clinical status of the condition.", 0, 1, clinicalStatus); 1625 case -842509843: /*verificationStatus*/ return new Property("verificationStatus", "CodeableConcept", "The verification status to support the clinical status of the condition.", 0, 1, verificationStatus); 1626 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A category assigned to the condition.", 0, java.lang.Integer.MAX_VALUE, category); 1627 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); 1628 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code); 1629 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, java.lang.Integer.MAX_VALUE, bodySite); 1630 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); 1631 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter during which this Condition was created or to which the creation of this record is tightly associated.", 0, 1, encounter); 1632 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); 1633 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); 1634 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); 1635 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); 1636 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); 1637 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); 1638 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); 1639 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); 1640 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); 1641 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); 1642 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); 1643 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); 1644 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); 1645 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); 1646 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); 1647 case -799233858: /*recorder*/ return new Property("recorder", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder); 1648 case -373242253: /*asserter*/ return new Property("asserter", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who is making the condition statement.", 0, 1, asserter); 1649 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); 1650 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); 1651 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); 1652 default: return super.getNamedProperty(_hash, _name, _checkValid); 1653 } 1654 1655 } 1656 1657 @Override 1658 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1659 switch (hash) { 1660 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1661 case -462853915: /*clinicalStatus*/ return this.clinicalStatus == null ? new Base[0] : new Base[] {this.clinicalStatus}; // CodeableConcept 1662 case -842509843: /*verificationStatus*/ return this.verificationStatus == null ? new Base[0] : new Base[] {this.verificationStatus}; // CodeableConcept 1663 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1664 case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // CodeableConcept 1665 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1666 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept 1667 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1668 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1669 case 105901603: /*onset*/ return this.onset == null ? new Base[0] : new Base[] {this.onset}; // Type 1670 case -921554001: /*abatement*/ return this.abatement == null ? new Base[0] : new Base[] {this.abatement}; // Type 1671 case -1952893826: /*recordedDate*/ return this.recordedDate == null ? new Base[0] : new Base[] {this.recordedDate}; // DateTimeType 1672 case -799233858: /*recorder*/ return this.recorder == null ? new Base[0] : new Base[] {this.recorder}; // Reference 1673 case -373242253: /*asserter*/ return this.asserter == null ? new Base[0] : new Base[] {this.asserter}; // Reference 1674 case 109757182: /*stage*/ return this.stage == null ? new Base[0] : this.stage.toArray(new Base[this.stage.size()]); // ConditionStageComponent 1675 case 382967383: /*evidence*/ return this.evidence == null ? new Base[0] : this.evidence.toArray(new Base[this.evidence.size()]); // ConditionEvidenceComponent 1676 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1677 default: return super.getProperty(hash, name, checkValid); 1678 } 1679 1680 } 1681 1682 @Override 1683 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1684 switch (hash) { 1685 case -1618432855: // identifier 1686 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1687 return value; 1688 case -462853915: // clinicalStatus 1689 this.clinicalStatus = castToCodeableConcept(value); // CodeableConcept 1690 return value; 1691 case -842509843: // verificationStatus 1692 this.verificationStatus = castToCodeableConcept(value); // CodeableConcept 1693 return value; 1694 case 50511102: // category 1695 this.getCategory().add(castToCodeableConcept(value)); // CodeableConcept 1696 return value; 1697 case 1478300413: // severity 1698 this.severity = castToCodeableConcept(value); // CodeableConcept 1699 return value; 1700 case 3059181: // code 1701 this.code = castToCodeableConcept(value); // CodeableConcept 1702 return value; 1703 case 1702620169: // bodySite 1704 this.getBodySite().add(castToCodeableConcept(value)); // CodeableConcept 1705 return value; 1706 case -1867885268: // subject 1707 this.subject = castToReference(value); // Reference 1708 return value; 1709 case 1524132147: // encounter 1710 this.encounter = castToReference(value); // Reference 1711 return value; 1712 case 105901603: // onset 1713 this.onset = castToType(value); // Type 1714 return value; 1715 case -921554001: // abatement 1716 this.abatement = castToType(value); // Type 1717 return value; 1718 case -1952893826: // recordedDate 1719 this.recordedDate = castToDateTime(value); // DateTimeType 1720 return value; 1721 case -799233858: // recorder 1722 this.recorder = castToReference(value); // Reference 1723 return value; 1724 case -373242253: // asserter 1725 this.asserter = castToReference(value); // Reference 1726 return value; 1727 case 109757182: // stage 1728 this.getStage().add((ConditionStageComponent) value); // ConditionStageComponent 1729 return value; 1730 case 382967383: // evidence 1731 this.getEvidence().add((ConditionEvidenceComponent) value); // ConditionEvidenceComponent 1732 return value; 1733 case 3387378: // note 1734 this.getNote().add(castToAnnotation(value)); // Annotation 1735 return value; 1736 default: return super.setProperty(hash, name, value); 1737 } 1738 1739 } 1740 1741 @Override 1742 public Base setProperty(String name, Base value) throws FHIRException { 1743 if (name.equals("identifier")) { 1744 this.getIdentifier().add(castToIdentifier(value)); 1745 } else if (name.equals("clinicalStatus")) { 1746 this.clinicalStatus = castToCodeableConcept(value); // CodeableConcept 1747 } else if (name.equals("verificationStatus")) { 1748 this.verificationStatus = castToCodeableConcept(value); // CodeableConcept 1749 } else if (name.equals("category")) { 1750 this.getCategory().add(castToCodeableConcept(value)); 1751 } else if (name.equals("severity")) { 1752 this.severity = castToCodeableConcept(value); // CodeableConcept 1753 } else if (name.equals("code")) { 1754 this.code = castToCodeableConcept(value); // CodeableConcept 1755 } else if (name.equals("bodySite")) { 1756 this.getBodySite().add(castToCodeableConcept(value)); 1757 } else if (name.equals("subject")) { 1758 this.subject = castToReference(value); // Reference 1759 } else if (name.equals("encounter")) { 1760 this.encounter = castToReference(value); // Reference 1761 } else if (name.equals("onset[x]")) { 1762 this.onset = castToType(value); // Type 1763 } else if (name.equals("abatement[x]")) { 1764 this.abatement = castToType(value); // Type 1765 } else if (name.equals("recordedDate")) { 1766 this.recordedDate = castToDateTime(value); // DateTimeType 1767 } else if (name.equals("recorder")) { 1768 this.recorder = castToReference(value); // Reference 1769 } else if (name.equals("asserter")) { 1770 this.asserter = castToReference(value); // Reference 1771 } else if (name.equals("stage")) { 1772 this.getStage().add((ConditionStageComponent) value); 1773 } else if (name.equals("evidence")) { 1774 this.getEvidence().add((ConditionEvidenceComponent) value); 1775 } else if (name.equals("note")) { 1776 this.getNote().add(castToAnnotation(value)); 1777 } else 1778 return super.setProperty(name, value); 1779 return value; 1780 } 1781 1782 @Override 1783 public Base makeProperty(int hash, String name) throws FHIRException { 1784 switch (hash) { 1785 case -1618432855: return addIdentifier(); 1786 case -462853915: return getClinicalStatus(); 1787 case -842509843: return getVerificationStatus(); 1788 case 50511102: return addCategory(); 1789 case 1478300413: return getSeverity(); 1790 case 3059181: return getCode(); 1791 case 1702620169: return addBodySite(); 1792 case -1867885268: return getSubject(); 1793 case 1524132147: return getEncounter(); 1794 case -1886216323: return getOnset(); 1795 case 105901603: return getOnset(); 1796 case -584196495: return getAbatement(); 1797 case -921554001: return getAbatement(); 1798 case -1952893826: return getRecordedDateElement(); 1799 case -799233858: return getRecorder(); 1800 case -373242253: return getAsserter(); 1801 case 109757182: return addStage(); 1802 case 382967383: return addEvidence(); 1803 case 3387378: return addNote(); 1804 default: return super.makeProperty(hash, name); 1805 } 1806 1807 } 1808 1809 @Override 1810 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1811 switch (hash) { 1812 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1813 case -462853915: /*clinicalStatus*/ return new String[] {"CodeableConcept"}; 1814 case -842509843: /*verificationStatus*/ return new String[] {"CodeableConcept"}; 1815 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1816 case 1478300413: /*severity*/ return new String[] {"CodeableConcept"}; 1817 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1818 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 1819 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1820 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1821 case 105901603: /*onset*/ return new String[] {"dateTime", "Age", "Period", "Range", "string"}; 1822 case -921554001: /*abatement*/ return new String[] {"dateTime", "Age", "Period", "Range", "string"}; 1823 case -1952893826: /*recordedDate*/ return new String[] {"dateTime"}; 1824 case -799233858: /*recorder*/ return new String[] {"Reference"}; 1825 case -373242253: /*asserter*/ return new String[] {"Reference"}; 1826 case 109757182: /*stage*/ return new String[] {}; 1827 case 382967383: /*evidence*/ return new String[] {}; 1828 case 3387378: /*note*/ return new String[] {"Annotation"}; 1829 default: return super.getTypesForProperty(hash, name); 1830 } 1831 1832 } 1833 1834 @Override 1835 public Base addChild(String name) throws FHIRException { 1836 if (name.equals("identifier")) { 1837 return addIdentifier(); 1838 } 1839 else if (name.equals("clinicalStatus")) { 1840 this.clinicalStatus = new CodeableConcept(); 1841 return this.clinicalStatus; 1842 } 1843 else if (name.equals("verificationStatus")) { 1844 this.verificationStatus = new CodeableConcept(); 1845 return this.verificationStatus; 1846 } 1847 else if (name.equals("category")) { 1848 return addCategory(); 1849 } 1850 else if (name.equals("severity")) { 1851 this.severity = new CodeableConcept(); 1852 return this.severity; 1853 } 1854 else if (name.equals("code")) { 1855 this.code = new CodeableConcept(); 1856 return this.code; 1857 } 1858 else if (name.equals("bodySite")) { 1859 return addBodySite(); 1860 } 1861 else if (name.equals("subject")) { 1862 this.subject = new Reference(); 1863 return this.subject; 1864 } 1865 else if (name.equals("encounter")) { 1866 this.encounter = new Reference(); 1867 return this.encounter; 1868 } 1869 else if (name.equals("onsetDateTime")) { 1870 this.onset = new DateTimeType(); 1871 return this.onset; 1872 } 1873 else if (name.equals("onsetAge")) { 1874 this.onset = new Age(); 1875 return this.onset; 1876 } 1877 else if (name.equals("onsetPeriod")) { 1878 this.onset = new Period(); 1879 return this.onset; 1880 } 1881 else if (name.equals("onsetRange")) { 1882 this.onset = new Range(); 1883 return this.onset; 1884 } 1885 else if (name.equals("onsetString")) { 1886 this.onset = new StringType(); 1887 return this.onset; 1888 } 1889 else if (name.equals("abatementDateTime")) { 1890 this.abatement = new DateTimeType(); 1891 return this.abatement; 1892 } 1893 else if (name.equals("abatementAge")) { 1894 this.abatement = new Age(); 1895 return this.abatement; 1896 } 1897 else if (name.equals("abatementPeriod")) { 1898 this.abatement = new Period(); 1899 return this.abatement; 1900 } 1901 else if (name.equals("abatementRange")) { 1902 this.abatement = new Range(); 1903 return this.abatement; 1904 } 1905 else if (name.equals("abatementString")) { 1906 this.abatement = new StringType(); 1907 return this.abatement; 1908 } 1909 else if (name.equals("recordedDate")) { 1910 throw new FHIRException("Cannot call addChild on a primitive type Condition.recordedDate"); 1911 } 1912 else if (name.equals("recorder")) { 1913 this.recorder = new Reference(); 1914 return this.recorder; 1915 } 1916 else if (name.equals("asserter")) { 1917 this.asserter = new Reference(); 1918 return this.asserter; 1919 } 1920 else if (name.equals("stage")) { 1921 return addStage(); 1922 } 1923 else if (name.equals("evidence")) { 1924 return addEvidence(); 1925 } 1926 else if (name.equals("note")) { 1927 return addNote(); 1928 } 1929 else 1930 return super.addChild(name); 1931 } 1932 1933 public String fhirType() { 1934 return "Condition"; 1935 1936 } 1937 1938 public Condition copy() { 1939 Condition dst = new Condition(); 1940 copyValues(dst); 1941 if (identifier != null) { 1942 dst.identifier = new ArrayList<Identifier>(); 1943 for (Identifier i : identifier) 1944 dst.identifier.add(i.copy()); 1945 }; 1946 dst.clinicalStatus = clinicalStatus == null ? null : clinicalStatus.copy(); 1947 dst.verificationStatus = verificationStatus == null ? null : verificationStatus.copy(); 1948 if (category != null) { 1949 dst.category = new ArrayList<CodeableConcept>(); 1950 for (CodeableConcept i : category) 1951 dst.category.add(i.copy()); 1952 }; 1953 dst.severity = severity == null ? null : severity.copy(); 1954 dst.code = code == null ? null : code.copy(); 1955 if (bodySite != null) { 1956 dst.bodySite = new ArrayList<CodeableConcept>(); 1957 for (CodeableConcept i : bodySite) 1958 dst.bodySite.add(i.copy()); 1959 }; 1960 dst.subject = subject == null ? null : subject.copy(); 1961 dst.encounter = encounter == null ? null : encounter.copy(); 1962 dst.onset = onset == null ? null : onset.copy(); 1963 dst.abatement = abatement == null ? null : abatement.copy(); 1964 dst.recordedDate = recordedDate == null ? null : recordedDate.copy(); 1965 dst.recorder = recorder == null ? null : recorder.copy(); 1966 dst.asserter = asserter == null ? null : asserter.copy(); 1967 if (stage != null) { 1968 dst.stage = new ArrayList<ConditionStageComponent>(); 1969 for (ConditionStageComponent i : stage) 1970 dst.stage.add(i.copy()); 1971 }; 1972 if (evidence != null) { 1973 dst.evidence = new ArrayList<ConditionEvidenceComponent>(); 1974 for (ConditionEvidenceComponent i : evidence) 1975 dst.evidence.add(i.copy()); 1976 }; 1977 if (note != null) { 1978 dst.note = new ArrayList<Annotation>(); 1979 for (Annotation i : note) 1980 dst.note.add(i.copy()); 1981 }; 1982 return dst; 1983 } 1984 1985 protected Condition typedCopy() { 1986 return copy(); 1987 } 1988 1989 @Override 1990 public boolean equalsDeep(Base other_) { 1991 if (!super.equalsDeep(other_)) 1992 return false; 1993 if (!(other_ instanceof Condition)) 1994 return false; 1995 Condition o = (Condition) other_; 1996 return compareDeep(identifier, o.identifier, true) && compareDeep(clinicalStatus, o.clinicalStatus, true) 1997 && compareDeep(verificationStatus, o.verificationStatus, true) && compareDeep(category, o.category, true) 1998 && compareDeep(severity, o.severity, true) && compareDeep(code, o.code, true) && compareDeep(bodySite, o.bodySite, true) 1999 && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(onset, o.onset, true) 2000 && compareDeep(abatement, o.abatement, true) && compareDeep(recordedDate, o.recordedDate, true) 2001 && compareDeep(recorder, o.recorder, true) && compareDeep(asserter, o.asserter, true) && compareDeep(stage, o.stage, true) 2002 && compareDeep(evidence, o.evidence, true) && compareDeep(note, o.note, true); 2003 } 2004 2005 @Override 2006 public boolean equalsShallow(Base other_) { 2007 if (!super.equalsShallow(other_)) 2008 return false; 2009 if (!(other_ instanceof Condition)) 2010 return false; 2011 Condition o = (Condition) other_; 2012 return compareValues(recordedDate, o.recordedDate, true); 2013 } 2014 2015 public boolean isEmpty() { 2016 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, clinicalStatus 2017 , verificationStatus, category, severity, code, bodySite, subject, encounter, onset 2018 , abatement, recordedDate, recorder, asserter, stage, evidence, note); 2019 } 2020 2021 @Override 2022 public ResourceType getResourceType() { 2023 return ResourceType.Condition; 2024 } 2025 2026 /** 2027 * Search parameter: <b>severity</b> 2028 * <p> 2029 * Description: <b>The severity of the condition</b><br> 2030 * Type: <b>token</b><br> 2031 * Path: <b>Condition.severity</b><br> 2032 * </p> 2033 */ 2034 @SearchParamDefinition(name="severity", path="Condition.severity", description="The severity of the condition", type="token" ) 2035 public static final String SP_SEVERITY = "severity"; 2036 /** 2037 * <b>Fluent Client</b> search parameter constant for <b>severity</b> 2038 * <p> 2039 * Description: <b>The severity of the condition</b><br> 2040 * Type: <b>token</b><br> 2041 * Path: <b>Condition.severity</b><br> 2042 * </p> 2043 */ 2044 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SEVERITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SEVERITY); 2045 2046 /** 2047 * Search parameter: <b>evidence-detail</b> 2048 * <p> 2049 * Description: <b>Supporting information found elsewhere</b><br> 2050 * Type: <b>reference</b><br> 2051 * Path: <b>Condition.evidence.detail</b><br> 2052 * </p> 2053 */ 2054 @SearchParamDefinition(name="evidence-detail", path="Condition.evidence.detail", description="Supporting information found elsewhere", type="reference" ) 2055 public static final String SP_EVIDENCE_DETAIL = "evidence-detail"; 2056 /** 2057 * <b>Fluent Client</b> search parameter constant for <b>evidence-detail</b> 2058 * <p> 2059 * Description: <b>Supporting information found elsewhere</b><br> 2060 * Type: <b>reference</b><br> 2061 * Path: <b>Condition.evidence.detail</b><br> 2062 * </p> 2063 */ 2064 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam EVIDENCE_DETAIL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_EVIDENCE_DETAIL); 2065 2066/** 2067 * Constant for fluent queries to be used to add include statements. Specifies 2068 * the path value of "<b>Condition:evidence-detail</b>". 2069 */ 2070 public static final ca.uhn.fhir.model.api.Include INCLUDE_EVIDENCE_DETAIL = new ca.uhn.fhir.model.api.Include("Condition:evidence-detail").toLocked(); 2071 2072 /** 2073 * Search parameter: <b>identifier</b> 2074 * <p> 2075 * Description: <b>A unique identifier of the condition record</b><br> 2076 * Type: <b>token</b><br> 2077 * Path: <b>Condition.identifier</b><br> 2078 * </p> 2079 */ 2080 @SearchParamDefinition(name="identifier", path="Condition.identifier", description="A unique identifier of the condition record", type="token" ) 2081 public static final String SP_IDENTIFIER = "identifier"; 2082 /** 2083 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2084 * <p> 2085 * Description: <b>A unique identifier of the condition record</b><br> 2086 * Type: <b>token</b><br> 2087 * Path: <b>Condition.identifier</b><br> 2088 * </p> 2089 */ 2090 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2091 2092 /** 2093 * Search parameter: <b>onset-info</b> 2094 * <p> 2095 * Description: <b>Onsets as a string</b><br> 2096 * Type: <b>string</b><br> 2097 * Path: <b>Condition.onset[x]</b><br> 2098 * </p> 2099 */ 2100 @SearchParamDefinition(name="onset-info", path="Condition.onset.as(string)", description="Onsets as a string", type="string" ) 2101 public static final String SP_ONSET_INFO = "onset-info"; 2102 /** 2103 * <b>Fluent Client</b> search parameter constant for <b>onset-info</b> 2104 * <p> 2105 * Description: <b>Onsets as a string</b><br> 2106 * Type: <b>string</b><br> 2107 * Path: <b>Condition.onset[x]</b><br> 2108 * </p> 2109 */ 2110 public static final ca.uhn.fhir.rest.gclient.StringClientParam ONSET_INFO = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ONSET_INFO); 2111 2112 /** 2113 * Search parameter: <b>recorded-date</b> 2114 * <p> 2115 * Description: <b>Date record was first recorded</b><br> 2116 * Type: <b>date</b><br> 2117 * Path: <b>Condition.recordedDate</b><br> 2118 * </p> 2119 */ 2120 @SearchParamDefinition(name="recorded-date", path="Condition.recordedDate", description="Date record was first recorded", type="date" ) 2121 public static final String SP_RECORDED_DATE = "recorded-date"; 2122 /** 2123 * <b>Fluent Client</b> search parameter constant for <b>recorded-date</b> 2124 * <p> 2125 * Description: <b>Date record was first recorded</b><br> 2126 * Type: <b>date</b><br> 2127 * Path: <b>Condition.recordedDate</b><br> 2128 * </p> 2129 */ 2130 public static final ca.uhn.fhir.rest.gclient.DateClientParam RECORDED_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_RECORDED_DATE); 2131 2132 /** 2133 * Search parameter: <b>code</b> 2134 * <p> 2135 * Description: <b>Code for the condition</b><br> 2136 * Type: <b>token</b><br> 2137 * Path: <b>Condition.code</b><br> 2138 * </p> 2139 */ 2140 @SearchParamDefinition(name="code", path="Condition.code", description="Code for the condition", type="token" ) 2141 public static final String SP_CODE = "code"; 2142 /** 2143 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2144 * <p> 2145 * Description: <b>Code for the condition</b><br> 2146 * Type: <b>token</b><br> 2147 * Path: <b>Condition.code</b><br> 2148 * </p> 2149 */ 2150 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2151 2152 /** 2153 * Search parameter: <b>evidence</b> 2154 * <p> 2155 * Description: <b>Manifestation/symptom</b><br> 2156 * Type: <b>token</b><br> 2157 * Path: <b>Condition.evidence.code</b><br> 2158 * </p> 2159 */ 2160 @SearchParamDefinition(name="evidence", path="Condition.evidence.code", description="Manifestation/symptom", type="token" ) 2161 public static final String SP_EVIDENCE = "evidence"; 2162 /** 2163 * <b>Fluent Client</b> search parameter constant for <b>evidence</b> 2164 * <p> 2165 * Description: <b>Manifestation/symptom</b><br> 2166 * Type: <b>token</b><br> 2167 * Path: <b>Condition.evidence.code</b><br> 2168 * </p> 2169 */ 2170 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVIDENCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EVIDENCE); 2171 2172 /** 2173 * Search parameter: <b>subject</b> 2174 * <p> 2175 * Description: <b>Who has the condition?</b><br> 2176 * Type: <b>reference</b><br> 2177 * Path: <b>Condition.subject</b><br> 2178 * </p> 2179 */ 2180 @SearchParamDefinition(name="subject", path="Condition.subject", description="Who has the condition?", type="reference", target={Group.class, Patient.class } ) 2181 public static final String SP_SUBJECT = "subject"; 2182 /** 2183 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2184 * <p> 2185 * Description: <b>Who has the condition?</b><br> 2186 * Type: <b>reference</b><br> 2187 * Path: <b>Condition.subject</b><br> 2188 * </p> 2189 */ 2190 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2191 2192/** 2193 * Constant for fluent queries to be used to add include statements. Specifies 2194 * the path value of "<b>Condition:subject</b>". 2195 */ 2196 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Condition:subject").toLocked(); 2197 2198 /** 2199 * Search parameter: <b>verification-status</b> 2200 * <p> 2201 * Description: <b>unconfirmed | provisional | differential | confirmed | refuted | entered-in-error</b><br> 2202 * Type: <b>token</b><br> 2203 * Path: <b>Condition.verificationStatus</b><br> 2204 * </p> 2205 */ 2206 @SearchParamDefinition(name="verification-status", path="Condition.verificationStatus", description="unconfirmed | provisional | differential | confirmed | refuted | entered-in-error", type="token" ) 2207 public static final String SP_VERIFICATION_STATUS = "verification-status"; 2208 /** 2209 * <b>Fluent Client</b> search parameter constant for <b>verification-status</b> 2210 * <p> 2211 * Description: <b>unconfirmed | provisional | differential | confirmed | refuted | entered-in-error</b><br> 2212 * Type: <b>token</b><br> 2213 * Path: <b>Condition.verificationStatus</b><br> 2214 * </p> 2215 */ 2216 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERIFICATION_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERIFICATION_STATUS); 2217 2218 /** 2219 * Search parameter: <b>clinical-status</b> 2220 * <p> 2221 * Description: <b>The clinical status of the condition</b><br> 2222 * Type: <b>token</b><br> 2223 * Path: <b>Condition.clinicalStatus</b><br> 2224 * </p> 2225 */ 2226 @SearchParamDefinition(name="clinical-status", path="Condition.clinicalStatus", description="The clinical status of the condition", type="token" ) 2227 public static final String SP_CLINICAL_STATUS = "clinical-status"; 2228 /** 2229 * <b>Fluent Client</b> search parameter constant for <b>clinical-status</b> 2230 * <p> 2231 * Description: <b>The clinical status of the condition</b><br> 2232 * Type: <b>token</b><br> 2233 * Path: <b>Condition.clinicalStatus</b><br> 2234 * </p> 2235 */ 2236 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CLINICAL_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CLINICAL_STATUS); 2237 2238 /** 2239 * Search parameter: <b>encounter</b> 2240 * <p> 2241 * Description: <b>Encounter created as part of</b><br> 2242 * Type: <b>reference</b><br> 2243 * Path: <b>Condition.encounter</b><br> 2244 * </p> 2245 */ 2246 @SearchParamDefinition(name="encounter", path="Condition.encounter", description="Encounter created as part of", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Encounter") }, target={Encounter.class } ) 2247 public static final String SP_ENCOUNTER = "encounter"; 2248 /** 2249 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2250 * <p> 2251 * Description: <b>Encounter created as part of</b><br> 2252 * Type: <b>reference</b><br> 2253 * Path: <b>Condition.encounter</b><br> 2254 * </p> 2255 */ 2256 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2257 2258/** 2259 * Constant for fluent queries to be used to add include statements. Specifies 2260 * the path value of "<b>Condition:encounter</b>". 2261 */ 2262 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("Condition:encounter").toLocked(); 2263 2264 /** 2265 * Search parameter: <b>onset-date</b> 2266 * <p> 2267 * Description: <b>Date related onsets (dateTime and Period)</b><br> 2268 * Type: <b>date</b><br> 2269 * Path: <b>Condition.onset[x]</b><br> 2270 * </p> 2271 */ 2272 @SearchParamDefinition(name="onset-date", path="Condition.onset.as(dateTime) | Condition.onset.as(Period)", description="Date related onsets (dateTime and Period)", type="date" ) 2273 public static final String SP_ONSET_DATE = "onset-date"; 2274 /** 2275 * <b>Fluent Client</b> search parameter constant for <b>onset-date</b> 2276 * <p> 2277 * Description: <b>Date related onsets (dateTime and Period)</b><br> 2278 * Type: <b>date</b><br> 2279 * Path: <b>Condition.onset[x]</b><br> 2280 * </p> 2281 */ 2282 public static final ca.uhn.fhir.rest.gclient.DateClientParam ONSET_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ONSET_DATE); 2283 2284 /** 2285 * Search parameter: <b>abatement-date</b> 2286 * <p> 2287 * Description: <b>Date-related abatements (dateTime and period)</b><br> 2288 * Type: <b>date</b><br> 2289 * Path: <b>Condition.abatement[x]</b><br> 2290 * </p> 2291 */ 2292 @SearchParamDefinition(name="abatement-date", path="Condition.abatement.as(dateTime) | Condition.abatement.as(Period)", description="Date-related abatements (dateTime and period)", type="date" ) 2293 public static final String SP_ABATEMENT_DATE = "abatement-date"; 2294 /** 2295 * <b>Fluent Client</b> search parameter constant for <b>abatement-date</b> 2296 * <p> 2297 * Description: <b>Date-related abatements (dateTime and period)</b><br> 2298 * Type: <b>date</b><br> 2299 * Path: <b>Condition.abatement[x]</b><br> 2300 * </p> 2301 */ 2302 public static final ca.uhn.fhir.rest.gclient.DateClientParam ABATEMENT_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ABATEMENT_DATE); 2303 2304 /** 2305 * Search parameter: <b>asserter</b> 2306 * <p> 2307 * Description: <b>Person who asserts this condition</b><br> 2308 * Type: <b>reference</b><br> 2309 * Path: <b>Condition.asserter</b><br> 2310 * </p> 2311 */ 2312 @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 } ) 2313 public static final String SP_ASSERTER = "asserter"; 2314 /** 2315 * <b>Fluent Client</b> search parameter constant for <b>asserter</b> 2316 * <p> 2317 * Description: <b>Person who asserts this condition</b><br> 2318 * Type: <b>reference</b><br> 2319 * Path: <b>Condition.asserter</b><br> 2320 * </p> 2321 */ 2322 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ASSERTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ASSERTER); 2323 2324/** 2325 * Constant for fluent queries to be used to add include statements. Specifies 2326 * the path value of "<b>Condition:asserter</b>". 2327 */ 2328 public static final ca.uhn.fhir.model.api.Include INCLUDE_ASSERTER = new ca.uhn.fhir.model.api.Include("Condition:asserter").toLocked(); 2329 2330 /** 2331 * Search parameter: <b>stage</b> 2332 * <p> 2333 * Description: <b>Simple summary (disease specific)</b><br> 2334 * Type: <b>token</b><br> 2335 * Path: <b>Condition.stage.summary</b><br> 2336 * </p> 2337 */ 2338 @SearchParamDefinition(name="stage", path="Condition.stage.summary", description="Simple summary (disease specific)", type="token" ) 2339 public static final String SP_STAGE = "stage"; 2340 /** 2341 * <b>Fluent Client</b> search parameter constant for <b>stage</b> 2342 * <p> 2343 * Description: <b>Simple summary (disease specific)</b><br> 2344 * Type: <b>token</b><br> 2345 * Path: <b>Condition.stage.summary</b><br> 2346 * </p> 2347 */ 2348 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STAGE); 2349 2350 /** 2351 * Search parameter: <b>abatement-string</b> 2352 * <p> 2353 * Description: <b>Abatement as a string</b><br> 2354 * Type: <b>string</b><br> 2355 * Path: <b>Condition.abatement[x]</b><br> 2356 * </p> 2357 */ 2358 @SearchParamDefinition(name="abatement-string", path="Condition.abatement.as(string)", description="Abatement as a string", type="string" ) 2359 public static final String SP_ABATEMENT_STRING = "abatement-string"; 2360 /** 2361 * <b>Fluent Client</b> search parameter constant for <b>abatement-string</b> 2362 * <p> 2363 * Description: <b>Abatement as a string</b><br> 2364 * Type: <b>string</b><br> 2365 * Path: <b>Condition.abatement[x]</b><br> 2366 * </p> 2367 */ 2368 public static final ca.uhn.fhir.rest.gclient.StringClientParam ABATEMENT_STRING = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ABATEMENT_STRING); 2369 2370 /** 2371 * Search parameter: <b>patient</b> 2372 * <p> 2373 * Description: <b>Who has the condition?</b><br> 2374 * Type: <b>reference</b><br> 2375 * Path: <b>Condition.subject</b><br> 2376 * </p> 2377 */ 2378 @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 } ) 2379 public static final String SP_PATIENT = "patient"; 2380 /** 2381 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2382 * <p> 2383 * Description: <b>Who has the condition?</b><br> 2384 * Type: <b>reference</b><br> 2385 * Path: <b>Condition.subject</b><br> 2386 * </p> 2387 */ 2388 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2389 2390/** 2391 * Constant for fluent queries to be used to add include statements. Specifies 2392 * the path value of "<b>Condition:patient</b>". 2393 */ 2394 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Condition:patient").toLocked(); 2395 2396 /** 2397 * Search parameter: <b>onset-age</b> 2398 * <p> 2399 * Description: <b>Onsets as age or age range</b><br> 2400 * Type: <b>quantity</b><br> 2401 * Path: <b>Condition.onset[x]</b><br> 2402 * </p> 2403 */ 2404 @SearchParamDefinition(name="onset-age", path="Condition.onset.as(Age) | Condition.onset.as(Range)", description="Onsets as age or age range", type="quantity" ) 2405 public static final String SP_ONSET_AGE = "onset-age"; 2406 /** 2407 * <b>Fluent Client</b> search parameter constant for <b>onset-age</b> 2408 * <p> 2409 * Description: <b>Onsets as age or age range</b><br> 2410 * Type: <b>quantity</b><br> 2411 * Path: <b>Condition.onset[x]</b><br> 2412 * </p> 2413 */ 2414 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ONSET_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ONSET_AGE); 2415 2416 /** 2417 * Search parameter: <b>abatement-age</b> 2418 * <p> 2419 * Description: <b>Abatement as age or age range</b><br> 2420 * Type: <b>quantity</b><br> 2421 * Path: <b>Condition.abatement[x]</b><br> 2422 * </p> 2423 */ 2424 @SearchParamDefinition(name="abatement-age", path="Condition.abatement.as(Age) | Condition.abatement.as(Range)", description="Abatement as age or age range", type="quantity" ) 2425 public static final String SP_ABATEMENT_AGE = "abatement-age"; 2426 /** 2427 * <b>Fluent Client</b> search parameter constant for <b>abatement-age</b> 2428 * <p> 2429 * Description: <b>Abatement as age or age range</b><br> 2430 * Type: <b>quantity</b><br> 2431 * Path: <b>Condition.abatement[x]</b><br> 2432 * </p> 2433 */ 2434 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ABATEMENT_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ABATEMENT_AGE); 2435 2436 /** 2437 * Search parameter: <b>category</b> 2438 * <p> 2439 * Description: <b>The category of the condition</b><br> 2440 * Type: <b>token</b><br> 2441 * Path: <b>Condition.category</b><br> 2442 * </p> 2443 */ 2444 @SearchParamDefinition(name="category", path="Condition.category", description="The category of the condition", type="token" ) 2445 public static final String SP_CATEGORY = "category"; 2446 /** 2447 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2448 * <p> 2449 * Description: <b>The category of the condition</b><br> 2450 * Type: <b>token</b><br> 2451 * Path: <b>Condition.category</b><br> 2452 * </p> 2453 */ 2454 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2455 2456 /** 2457 * Search parameter: <b>body-site</b> 2458 * <p> 2459 * Description: <b>Anatomical location, if relevant</b><br> 2460 * Type: <b>token</b><br> 2461 * Path: <b>Condition.bodySite</b><br> 2462 * </p> 2463 */ 2464 @SearchParamDefinition(name="body-site", path="Condition.bodySite", description="Anatomical location, if relevant", type="token" ) 2465 public static final String SP_BODY_SITE = "body-site"; 2466 /** 2467 * <b>Fluent Client</b> search parameter constant for <b>body-site</b> 2468 * <p> 2469 * Description: <b>Anatomical location, if relevant</b><br> 2470 * Type: <b>token</b><br> 2471 * Path: <b>Condition.bodySite</b><br> 2472 * </p> 2473 */ 2474 public static final ca.uhn.fhir.rest.gclient.TokenClientParam BODY_SITE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BODY_SITE); 2475 2476 2477} 2478