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