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