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