001package org.hl7.fhir.r5.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 Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.r5.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" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease. 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\" or \"Early Onset\". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease." ) 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" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.) 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" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.) 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\" or \"Early Onset\". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.", 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\" or \"Early Onset\". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.", 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=1, 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. The verification status pertains to the condition, itself, not to any specific condition attribute. 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. The verification status pertains to the condition, itself, not to any specific condition attribute." ) 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="The Encounter during which this Condition was created", 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" - Some conditions, such as chronic 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\" - Some conditions, such as chronic 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 or device that is making the condition statement. 703 */ 704 @Child(name = "asserter", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class, Device.class}, order=13, min=0, max=1, modifier=false, summary=true) 705 @Description(shortDefinition="Person or device that asserts this condition", formalDefinition="Individual or device that is making the condition statement." ) 706 protected Reference asserter; 707 708 /** 709 * A simple summary of the stage such as "Stage 3" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease. 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="A simple summary of the stage such as \"Stage 3\" or \"Early Onset\". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease." ) 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 for the verification status", 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(CodeableConcept clinicalStatus, Reference subject) { 742 super(); 743 this.setClinicalStatus(clinicalStatus); 744 this.setSubject(subject); 745 } 746 747 /** 748 * @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.) 749 */ 750 public List<Identifier> getIdentifier() { 751 if (this.identifier == null) 752 this.identifier = new ArrayList<Identifier>(); 753 return this.identifier; 754 } 755 756 /** 757 * @return Returns a reference to <code>this</code> for easy method chaining 758 */ 759 public Condition setIdentifier(List<Identifier> theIdentifier) { 760 this.identifier = theIdentifier; 761 return this; 762 } 763 764 public boolean hasIdentifier() { 765 if (this.identifier == null) 766 return false; 767 for (Identifier item : this.identifier) 768 if (!item.isEmpty()) 769 return true; 770 return false; 771 } 772 773 public Identifier addIdentifier() { //3 774 Identifier t = new Identifier(); 775 if (this.identifier == null) 776 this.identifier = new ArrayList<Identifier>(); 777 this.identifier.add(t); 778 return t; 779 } 780 781 public Condition addIdentifier(Identifier t) { //3 782 if (t == null) 783 return this; 784 if (this.identifier == null) 785 this.identifier = new ArrayList<Identifier>(); 786 this.identifier.add(t); 787 return this; 788 } 789 790 /** 791 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 792 */ 793 public Identifier getIdentifierFirstRep() { 794 if (getIdentifier().isEmpty()) { 795 addIdentifier(); 796 } 797 return getIdentifier().get(0); 798 } 799 800 /** 801 * @return {@link #clinicalStatus} (The clinical status of the condition.) 802 */ 803 public CodeableConcept getClinicalStatus() { 804 if (this.clinicalStatus == null) 805 if (Configuration.errorOnAutoCreate()) 806 throw new Error("Attempt to auto-create Condition.clinicalStatus"); 807 else if (Configuration.doAutoCreate()) 808 this.clinicalStatus = new CodeableConcept(); // cc 809 return this.clinicalStatus; 810 } 811 812 public boolean hasClinicalStatus() { 813 return this.clinicalStatus != null && !this.clinicalStatus.isEmpty(); 814 } 815 816 /** 817 * @param value {@link #clinicalStatus} (The clinical status of the condition.) 818 */ 819 public Condition setClinicalStatus(CodeableConcept value) { 820 this.clinicalStatus = value; 821 return this; 822 } 823 824 /** 825 * @return {@link #verificationStatus} (The verification status to support the clinical status of the condition. The verification status pertains to the condition, itself, not to any specific condition attribute.) 826 */ 827 public CodeableConcept getVerificationStatus() { 828 if (this.verificationStatus == null) 829 if (Configuration.errorOnAutoCreate()) 830 throw new Error("Attempt to auto-create Condition.verificationStatus"); 831 else if (Configuration.doAutoCreate()) 832 this.verificationStatus = new CodeableConcept(); // cc 833 return this.verificationStatus; 834 } 835 836 public boolean hasVerificationStatus() { 837 return this.verificationStatus != null && !this.verificationStatus.isEmpty(); 838 } 839 840 /** 841 * @param value {@link #verificationStatus} (The verification status to support the clinical status of the condition. The verification status pertains to the condition, itself, not to any specific condition attribute.) 842 */ 843 public Condition setVerificationStatus(CodeableConcept value) { 844 this.verificationStatus = value; 845 return this; 846 } 847 848 /** 849 * @return {@link #category} (A category assigned to the condition.) 850 */ 851 public List<CodeableConcept> getCategory() { 852 if (this.category == null) 853 this.category = new ArrayList<CodeableConcept>(); 854 return this.category; 855 } 856 857 /** 858 * @return Returns a reference to <code>this</code> for easy method chaining 859 */ 860 public Condition setCategory(List<CodeableConcept> theCategory) { 861 this.category = theCategory; 862 return this; 863 } 864 865 public boolean hasCategory() { 866 if (this.category == null) 867 return false; 868 for (CodeableConcept item : this.category) 869 if (!item.isEmpty()) 870 return true; 871 return false; 872 } 873 874 public CodeableConcept addCategory() { //3 875 CodeableConcept t = new CodeableConcept(); 876 if (this.category == null) 877 this.category = new ArrayList<CodeableConcept>(); 878 this.category.add(t); 879 return t; 880 } 881 882 public Condition addCategory(CodeableConcept t) { //3 883 if (t == null) 884 return this; 885 if (this.category == null) 886 this.category = new ArrayList<CodeableConcept>(); 887 this.category.add(t); 888 return this; 889 } 890 891 /** 892 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 893 */ 894 public CodeableConcept getCategoryFirstRep() { 895 if (getCategory().isEmpty()) { 896 addCategory(); 897 } 898 return getCategory().get(0); 899 } 900 901 /** 902 * @return {@link #severity} (A subjective assessment of the severity of the condition as evaluated by the clinician.) 903 */ 904 public CodeableConcept getSeverity() { 905 if (this.severity == null) 906 if (Configuration.errorOnAutoCreate()) 907 throw new Error("Attempt to auto-create Condition.severity"); 908 else if (Configuration.doAutoCreate()) 909 this.severity = new CodeableConcept(); // cc 910 return this.severity; 911 } 912 913 public boolean hasSeverity() { 914 return this.severity != null && !this.severity.isEmpty(); 915 } 916 917 /** 918 * @param value {@link #severity} (A subjective assessment of the severity of the condition as evaluated by the clinician.) 919 */ 920 public Condition setSeverity(CodeableConcept value) { 921 this.severity = value; 922 return this; 923 } 924 925 /** 926 * @return {@link #code} (Identification of the condition, problem or diagnosis.) 927 */ 928 public CodeableConcept getCode() { 929 if (this.code == null) 930 if (Configuration.errorOnAutoCreate()) 931 throw new Error("Attempt to auto-create Condition.code"); 932 else if (Configuration.doAutoCreate()) 933 this.code = new CodeableConcept(); // cc 934 return this.code; 935 } 936 937 public boolean hasCode() { 938 return this.code != null && !this.code.isEmpty(); 939 } 940 941 /** 942 * @param value {@link #code} (Identification of the condition, problem or diagnosis.) 943 */ 944 public Condition setCode(CodeableConcept value) { 945 this.code = value; 946 return this; 947 } 948 949 /** 950 * @return {@link #bodySite} (The anatomical location where this condition manifests itself.) 951 */ 952 public List<CodeableConcept> getBodySite() { 953 if (this.bodySite == null) 954 this.bodySite = new ArrayList<CodeableConcept>(); 955 return this.bodySite; 956 } 957 958 /** 959 * @return Returns a reference to <code>this</code> for easy method chaining 960 */ 961 public Condition setBodySite(List<CodeableConcept> theBodySite) { 962 this.bodySite = theBodySite; 963 return this; 964 } 965 966 public boolean hasBodySite() { 967 if (this.bodySite == null) 968 return false; 969 for (CodeableConcept item : this.bodySite) 970 if (!item.isEmpty()) 971 return true; 972 return false; 973 } 974 975 public CodeableConcept addBodySite() { //3 976 CodeableConcept t = new CodeableConcept(); 977 if (this.bodySite == null) 978 this.bodySite = new ArrayList<CodeableConcept>(); 979 this.bodySite.add(t); 980 return t; 981 } 982 983 public Condition addBodySite(CodeableConcept t) { //3 984 if (t == null) 985 return this; 986 if (this.bodySite == null) 987 this.bodySite = new ArrayList<CodeableConcept>(); 988 this.bodySite.add(t); 989 return this; 990 } 991 992 /** 993 * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} 994 */ 995 public CodeableConcept getBodySiteFirstRep() { 996 if (getBodySite().isEmpty()) { 997 addBodySite(); 998 } 999 return getBodySite().get(0); 1000 } 1001 1002 /** 1003 * @return {@link #subject} (Indicates the patient or group who the condition record is associated with.) 1004 */ 1005 public Reference getSubject() { 1006 if (this.subject == null) 1007 if (Configuration.errorOnAutoCreate()) 1008 throw new Error("Attempt to auto-create Condition.subject"); 1009 else if (Configuration.doAutoCreate()) 1010 this.subject = new Reference(); // cc 1011 return this.subject; 1012 } 1013 1014 public boolean hasSubject() { 1015 return this.subject != null && !this.subject.isEmpty(); 1016 } 1017 1018 /** 1019 * @param value {@link #subject} (Indicates the patient or group who the condition record is associated with.) 1020 */ 1021 public Condition setSubject(Reference value) { 1022 this.subject = value; 1023 return this; 1024 } 1025 1026 /** 1027 * @return {@link #encounter} (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 1028 */ 1029 public Reference getEncounter() { 1030 if (this.encounter == null) 1031 if (Configuration.errorOnAutoCreate()) 1032 throw new Error("Attempt to auto-create Condition.encounter"); 1033 else if (Configuration.doAutoCreate()) 1034 this.encounter = new Reference(); // cc 1035 return this.encounter; 1036 } 1037 1038 public boolean hasEncounter() { 1039 return this.encounter != null && !this.encounter.isEmpty(); 1040 } 1041 1042 /** 1043 * @param value {@link #encounter} (The Encounter during which this Condition was created or to which the creation of this record is tightly associated.) 1044 */ 1045 public Condition setEncounter(Reference value) { 1046 this.encounter = value; 1047 return this; 1048 } 1049 1050 /** 1051 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1052 */ 1053 public DataType getOnset() { 1054 return this.onset; 1055 } 1056 1057 /** 1058 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1059 */ 1060 public DateTimeType getOnsetDateTimeType() throws FHIRException { 1061 if (this.onset == null) 1062 this.onset = new DateTimeType(); 1063 if (!(this.onset instanceof DateTimeType)) 1064 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.onset.getClass().getName()+" was encountered"); 1065 return (DateTimeType) this.onset; 1066 } 1067 1068 public boolean hasOnsetDateTimeType() { 1069 return this != null && this.onset instanceof DateTimeType; 1070 } 1071 1072 /** 1073 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1074 */ 1075 public Age getOnsetAge() throws FHIRException { 1076 if (this.onset == null) 1077 this.onset = new Age(); 1078 if (!(this.onset instanceof Age)) 1079 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.onset.getClass().getName()+" was encountered"); 1080 return (Age) this.onset; 1081 } 1082 1083 public boolean hasOnsetAge() { 1084 return this != null && this.onset instanceof Age; 1085 } 1086 1087 /** 1088 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1089 */ 1090 public Period getOnsetPeriod() throws FHIRException { 1091 if (this.onset == null) 1092 this.onset = new Period(); 1093 if (!(this.onset instanceof Period)) 1094 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.onset.getClass().getName()+" was encountered"); 1095 return (Period) this.onset; 1096 } 1097 1098 public boolean hasOnsetPeriod() { 1099 return this != null && this.onset instanceof Period; 1100 } 1101 1102 /** 1103 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1104 */ 1105 public Range getOnsetRange() throws FHIRException { 1106 if (this.onset == null) 1107 this.onset = new Range(); 1108 if (!(this.onset instanceof Range)) 1109 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.onset.getClass().getName()+" was encountered"); 1110 return (Range) this.onset; 1111 } 1112 1113 public boolean hasOnsetRange() { 1114 return this != null && this.onset instanceof Range; 1115 } 1116 1117 /** 1118 * @return {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1119 */ 1120 public StringType getOnsetStringType() throws FHIRException { 1121 if (this.onset == null) 1122 this.onset = new StringType(); 1123 if (!(this.onset instanceof StringType)) 1124 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.onset.getClass().getName()+" was encountered"); 1125 return (StringType) this.onset; 1126 } 1127 1128 public boolean hasOnsetStringType() { 1129 return this != null && this.onset instanceof StringType; 1130 } 1131 1132 public boolean hasOnset() { 1133 return this.onset != null && !this.onset.isEmpty(); 1134 } 1135 1136 /** 1137 * @param value {@link #onset} (Estimated or actual date or date-time the condition began, in the opinion of the clinician.) 1138 */ 1139 public Condition setOnset(DataType value) { 1140 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof StringType)) 1141 throw new Error("Not the right type for Condition.onset[x]: "+value.fhirType()); 1142 this.onset = value; 1143 return this; 1144 } 1145 1146 /** 1147 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1148 */ 1149 public DataType getAbatement() { 1150 return this.abatement; 1151 } 1152 1153 /** 1154 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1155 */ 1156 public DateTimeType getAbatementDateTimeType() throws FHIRException { 1157 if (this.abatement == null) 1158 this.abatement = new DateTimeType(); 1159 if (!(this.abatement instanceof DateTimeType)) 1160 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1161 return (DateTimeType) this.abatement; 1162 } 1163 1164 public boolean hasAbatementDateTimeType() { 1165 return this != null && this.abatement instanceof DateTimeType; 1166 } 1167 1168 /** 1169 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1170 */ 1171 public Age getAbatementAge() throws FHIRException { 1172 if (this.abatement == null) 1173 this.abatement = new Age(); 1174 if (!(this.abatement instanceof Age)) 1175 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1176 return (Age) this.abatement; 1177 } 1178 1179 public boolean hasAbatementAge() { 1180 return this != null && this.abatement instanceof Age; 1181 } 1182 1183 /** 1184 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1185 */ 1186 public Period getAbatementPeriod() throws FHIRException { 1187 if (this.abatement == null) 1188 this.abatement = new Period(); 1189 if (!(this.abatement instanceof Period)) 1190 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1191 return (Period) this.abatement; 1192 } 1193 1194 public boolean hasAbatementPeriod() { 1195 return this != null && this.abatement instanceof Period; 1196 } 1197 1198 /** 1199 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1200 */ 1201 public Range getAbatementRange() throws FHIRException { 1202 if (this.abatement == null) 1203 this.abatement = new Range(); 1204 if (!(this.abatement instanceof Range)) 1205 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1206 return (Range) this.abatement; 1207 } 1208 1209 public boolean hasAbatementRange() { 1210 return this != null && this.abatement instanceof Range; 1211 } 1212 1213 /** 1214 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1215 */ 1216 public StringType getAbatementStringType() throws FHIRException { 1217 if (this.abatement == null) 1218 this.abatement = new StringType(); 1219 if (!(this.abatement instanceof StringType)) 1220 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.abatement.getClass().getName()+" was encountered"); 1221 return (StringType) this.abatement; 1222 } 1223 1224 public boolean hasAbatementStringType() { 1225 return this != null && this.abatement instanceof StringType; 1226 } 1227 1228 public boolean hasAbatement() { 1229 return this.abatement != null && !this.abatement.isEmpty(); 1230 } 1231 1232 /** 1233 * @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" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.) 1234 */ 1235 public Condition setAbatement(DataType value) { 1236 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof StringType)) 1237 throw new Error("Not the right type for Condition.abatement[x]: "+value.fhirType()); 1238 this.abatement = value; 1239 return this; 1240 } 1241 1242 /** 1243 * @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 1244 */ 1245 public DateTimeType getRecordedDateElement() { 1246 if (this.recordedDate == null) 1247 if (Configuration.errorOnAutoCreate()) 1248 throw new Error("Attempt to auto-create Condition.recordedDate"); 1249 else if (Configuration.doAutoCreate()) 1250 this.recordedDate = new DateTimeType(); // bb 1251 return this.recordedDate; 1252 } 1253 1254 public boolean hasRecordedDateElement() { 1255 return this.recordedDate != null && !this.recordedDate.isEmpty(); 1256 } 1257 1258 public boolean hasRecordedDate() { 1259 return this.recordedDate != null && !this.recordedDate.isEmpty(); 1260 } 1261 1262 /** 1263 * @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 1264 */ 1265 public Condition setRecordedDateElement(DateTimeType value) { 1266 this.recordedDate = value; 1267 return this; 1268 } 1269 1270 /** 1271 * @return The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 1272 */ 1273 public Date getRecordedDate() { 1274 return this.recordedDate == null ? null : this.recordedDate.getValue(); 1275 } 1276 1277 /** 1278 * @param value The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. 1279 */ 1280 public Condition setRecordedDate(Date value) { 1281 if (value == null) 1282 this.recordedDate = null; 1283 else { 1284 if (this.recordedDate == null) 1285 this.recordedDate = new DateTimeType(); 1286 this.recordedDate.setValue(value); 1287 } 1288 return this; 1289 } 1290 1291 /** 1292 * @return {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1293 */ 1294 public Reference getRecorder() { 1295 if (this.recorder == null) 1296 if (Configuration.errorOnAutoCreate()) 1297 throw new Error("Attempt to auto-create Condition.recorder"); 1298 else if (Configuration.doAutoCreate()) 1299 this.recorder = new Reference(); // cc 1300 return this.recorder; 1301 } 1302 1303 public boolean hasRecorder() { 1304 return this.recorder != null && !this.recorder.isEmpty(); 1305 } 1306 1307 /** 1308 * @param value {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1309 */ 1310 public Condition setRecorder(Reference value) { 1311 this.recorder = value; 1312 return this; 1313 } 1314 1315 /** 1316 * @return {@link #asserter} (Individual or device that is making the condition statement.) 1317 */ 1318 public Reference getAsserter() { 1319 if (this.asserter == null) 1320 if (Configuration.errorOnAutoCreate()) 1321 throw new Error("Attempt to auto-create Condition.asserter"); 1322 else if (Configuration.doAutoCreate()) 1323 this.asserter = new Reference(); // cc 1324 return this.asserter; 1325 } 1326 1327 public boolean hasAsserter() { 1328 return this.asserter != null && !this.asserter.isEmpty(); 1329 } 1330 1331 /** 1332 * @param value {@link #asserter} (Individual or device that is making the condition statement.) 1333 */ 1334 public Condition setAsserter(Reference value) { 1335 this.asserter = value; 1336 return this; 1337 } 1338 1339 /** 1340 * @return {@link #stage} (A simple summary of the stage such as "Stage 3" or "Early Onset". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.) 1341 */ 1342 public List<ConditionStageComponent> getStage() { 1343 if (this.stage == null) 1344 this.stage = new ArrayList<ConditionStageComponent>(); 1345 return this.stage; 1346 } 1347 1348 /** 1349 * @return Returns a reference to <code>this</code> for easy method chaining 1350 */ 1351 public Condition setStage(List<ConditionStageComponent> theStage) { 1352 this.stage = theStage; 1353 return this; 1354 } 1355 1356 public boolean hasStage() { 1357 if (this.stage == null) 1358 return false; 1359 for (ConditionStageComponent item : this.stage) 1360 if (!item.isEmpty()) 1361 return true; 1362 return false; 1363 } 1364 1365 public ConditionStageComponent addStage() { //3 1366 ConditionStageComponent t = new ConditionStageComponent(); 1367 if (this.stage == null) 1368 this.stage = new ArrayList<ConditionStageComponent>(); 1369 this.stage.add(t); 1370 return t; 1371 } 1372 1373 public Condition addStage(ConditionStageComponent t) { //3 1374 if (t == null) 1375 return this; 1376 if (this.stage == null) 1377 this.stage = new ArrayList<ConditionStageComponent>(); 1378 this.stage.add(t); 1379 return this; 1380 } 1381 1382 /** 1383 * @return The first repetition of repeating field {@link #stage}, creating it if it does not already exist {3} 1384 */ 1385 public ConditionStageComponent getStageFirstRep() { 1386 if (getStage().isEmpty()) { 1387 addStage(); 1388 } 1389 return getStage().get(0); 1390 } 1391 1392 /** 1393 * @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.) 1394 */ 1395 public List<ConditionEvidenceComponent> getEvidence() { 1396 if (this.evidence == null) 1397 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1398 return this.evidence; 1399 } 1400 1401 /** 1402 * @return Returns a reference to <code>this</code> for easy method chaining 1403 */ 1404 public Condition setEvidence(List<ConditionEvidenceComponent> theEvidence) { 1405 this.evidence = theEvidence; 1406 return this; 1407 } 1408 1409 public boolean hasEvidence() { 1410 if (this.evidence == null) 1411 return false; 1412 for (ConditionEvidenceComponent item : this.evidence) 1413 if (!item.isEmpty()) 1414 return true; 1415 return false; 1416 } 1417 1418 public ConditionEvidenceComponent addEvidence() { //3 1419 ConditionEvidenceComponent t = new ConditionEvidenceComponent(); 1420 if (this.evidence == null) 1421 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1422 this.evidence.add(t); 1423 return t; 1424 } 1425 1426 public Condition addEvidence(ConditionEvidenceComponent t) { //3 1427 if (t == null) 1428 return this; 1429 if (this.evidence == null) 1430 this.evidence = new ArrayList<ConditionEvidenceComponent>(); 1431 this.evidence.add(t); 1432 return this; 1433 } 1434 1435 /** 1436 * @return The first repetition of repeating field {@link #evidence}, creating it if it does not already exist {3} 1437 */ 1438 public ConditionEvidenceComponent getEvidenceFirstRep() { 1439 if (getEvidence().isEmpty()) { 1440 addEvidence(); 1441 } 1442 return getEvidence().get(0); 1443 } 1444 1445 /** 1446 * @return {@link #note} (Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis.) 1447 */ 1448 public List<Annotation> getNote() { 1449 if (this.note == null) 1450 this.note = new ArrayList<Annotation>(); 1451 return this.note; 1452 } 1453 1454 /** 1455 * @return Returns a reference to <code>this</code> for easy method chaining 1456 */ 1457 public Condition setNote(List<Annotation> theNote) { 1458 this.note = theNote; 1459 return this; 1460 } 1461 1462 public boolean hasNote() { 1463 if (this.note == null) 1464 return false; 1465 for (Annotation item : this.note) 1466 if (!item.isEmpty()) 1467 return true; 1468 return false; 1469 } 1470 1471 public Annotation addNote() { //3 1472 Annotation t = new Annotation(); 1473 if (this.note == null) 1474 this.note = new ArrayList<Annotation>(); 1475 this.note.add(t); 1476 return t; 1477 } 1478 1479 public Condition addNote(Annotation t) { //3 1480 if (t == null) 1481 return this; 1482 if (this.note == null) 1483 this.note = new ArrayList<Annotation>(); 1484 this.note.add(t); 1485 return this; 1486 } 1487 1488 /** 1489 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1490 */ 1491 public Annotation getNoteFirstRep() { 1492 if (getNote().isEmpty()) { 1493 addNote(); 1494 } 1495 return getNote().get(0); 1496 } 1497 1498 protected void listChildren(List<Property> children) { 1499 super.listChildren(children); 1500 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)); 1501 children.add(new Property("clinicalStatus", "CodeableConcept", "The clinical status of the condition.", 0, 1, clinicalStatus)); 1502 children.add(new Property("verificationStatus", "CodeableConcept", "The verification status to support the clinical status of the condition. The verification status pertains to the condition, itself, not to any specific condition attribute.", 0, 1, verificationStatus)); 1503 children.add(new Property("category", "CodeableConcept", "A category assigned to the condition.", 0, java.lang.Integer.MAX_VALUE, category)); 1504 children.add(new Property("severity", "CodeableConcept", "A subjective assessment of the severity of the condition as evaluated by the clinician.", 0, 1, severity)); 1505 children.add(new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code)); 1506 children.add(new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, java.lang.Integer.MAX_VALUE, bodySite)); 1507 children.add(new Property("subject", "Reference(Patient|Group)", "Indicates the patient or group who the condition record is associated with.", 0, 1, subject)); 1508 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)); 1509 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)); 1510 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement)); 1511 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)); 1512 children.add(new Property("recorder", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder)); 1513 children.add(new Property("asserter", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Device)", "Individual or device that is making the condition statement.", 0, 1, asserter)); 1514 children.add(new Property("stage", "", "A simple summary of the stage such as \"Stage 3\" or \"Early Onset\". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.", 0, java.lang.Integer.MAX_VALUE, stage)); 1515 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)); 1516 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)); 1517 } 1518 1519 @Override 1520 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1521 switch (_hash) { 1522 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); 1523 case -462853915: /*clinicalStatus*/ return new Property("clinicalStatus", "CodeableConcept", "The clinical status of the condition.", 0, 1, clinicalStatus); 1524 case -842509843: /*verificationStatus*/ return new Property("verificationStatus", "CodeableConcept", "The verification status to support the clinical status of the condition. The verification status pertains to the condition, itself, not to any specific condition attribute.", 0, 1, verificationStatus); 1525 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A category assigned to the condition.", 0, java.lang.Integer.MAX_VALUE, category); 1526 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); 1527 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code); 1528 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, java.lang.Integer.MAX_VALUE, bodySite); 1529 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); 1530 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); 1531 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); 1532 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); 1533 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); 1534 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); 1535 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); 1536 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); 1537 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); 1538 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1539 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1540 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1541 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1542 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1543 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1544 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\" - Some conditions, such as chronic conditions, are never really resolved, but they can abate.", 0, 1, abatement); 1545 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); 1546 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); 1547 case -373242253: /*asserter*/ return new Property("asserter", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Device)", "Individual or device that is making the condition statement.", 0, 1, asserter); 1548 case 109757182: /*stage*/ return new Property("stage", "", "A simple summary of the stage such as \"Stage 3\" or \"Early Onset\". The determination of the stage is disease-specific, such as cancer, retinopathy of prematurity, kidney diseases, Alzheimer's, or Parkinson disease.", 0, java.lang.Integer.MAX_VALUE, stage); 1549 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); 1550 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); 1551 default: return super.getNamedProperty(_hash, _name, _checkValid); 1552 } 1553 1554 } 1555 1556 @Override 1557 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1558 switch (hash) { 1559 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1560 case -462853915: /*clinicalStatus*/ return this.clinicalStatus == null ? new Base[0] : new Base[] {this.clinicalStatus}; // CodeableConcept 1561 case -842509843: /*verificationStatus*/ return this.verificationStatus == null ? new Base[0] : new Base[] {this.verificationStatus}; // CodeableConcept 1562 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1563 case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // CodeableConcept 1564 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1565 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept 1566 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1567 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1568 case 105901603: /*onset*/ return this.onset == null ? new Base[0] : new Base[] {this.onset}; // DataType 1569 case -921554001: /*abatement*/ return this.abatement == null ? new Base[0] : new Base[] {this.abatement}; // DataType 1570 case -1952893826: /*recordedDate*/ return this.recordedDate == null ? new Base[0] : new Base[] {this.recordedDate}; // DateTimeType 1571 case -799233858: /*recorder*/ return this.recorder == null ? new Base[0] : new Base[] {this.recorder}; // Reference 1572 case -373242253: /*asserter*/ return this.asserter == null ? new Base[0] : new Base[] {this.asserter}; // Reference 1573 case 109757182: /*stage*/ return this.stage == null ? new Base[0] : this.stage.toArray(new Base[this.stage.size()]); // ConditionStageComponent 1574 case 382967383: /*evidence*/ return this.evidence == null ? new Base[0] : this.evidence.toArray(new Base[this.evidence.size()]); // ConditionEvidenceComponent 1575 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1576 default: return super.getProperty(hash, name, checkValid); 1577 } 1578 1579 } 1580 1581 @Override 1582 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1583 switch (hash) { 1584 case -1618432855: // identifier 1585 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1586 return value; 1587 case -462853915: // clinicalStatus 1588 this.clinicalStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1589 return value; 1590 case -842509843: // verificationStatus 1591 this.verificationStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1592 return value; 1593 case 50511102: // category 1594 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1595 return value; 1596 case 1478300413: // severity 1597 this.severity = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1598 return value; 1599 case 3059181: // code 1600 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1601 return value; 1602 case 1702620169: // bodySite 1603 this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1604 return value; 1605 case -1867885268: // subject 1606 this.subject = TypeConvertor.castToReference(value); // Reference 1607 return value; 1608 case 1524132147: // encounter 1609 this.encounter = TypeConvertor.castToReference(value); // Reference 1610 return value; 1611 case 105901603: // onset 1612 this.onset = TypeConvertor.castToType(value); // DataType 1613 return value; 1614 case -921554001: // abatement 1615 this.abatement = TypeConvertor.castToType(value); // DataType 1616 return value; 1617 case -1952893826: // recordedDate 1618 this.recordedDate = TypeConvertor.castToDateTime(value); // DateTimeType 1619 return value; 1620 case -799233858: // recorder 1621 this.recorder = TypeConvertor.castToReference(value); // Reference 1622 return value; 1623 case -373242253: // asserter 1624 this.asserter = TypeConvertor.castToReference(value); // Reference 1625 return value; 1626 case 109757182: // stage 1627 this.getStage().add((ConditionStageComponent) value); // ConditionStageComponent 1628 return value; 1629 case 382967383: // evidence 1630 this.getEvidence().add((ConditionEvidenceComponent) value); // ConditionEvidenceComponent 1631 return value; 1632 case 3387378: // note 1633 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1634 return value; 1635 default: return super.setProperty(hash, name, value); 1636 } 1637 1638 } 1639 1640 @Override 1641 public Base setProperty(String name, Base value) throws FHIRException { 1642 if (name.equals("identifier")) { 1643 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1644 } else if (name.equals("clinicalStatus")) { 1645 this.clinicalStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1646 } else if (name.equals("verificationStatus")) { 1647 this.verificationStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1648 } else if (name.equals("category")) { 1649 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 1650 } else if (name.equals("severity")) { 1651 this.severity = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1652 } else if (name.equals("code")) { 1653 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1654 } else if (name.equals("bodySite")) { 1655 this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); 1656 } else if (name.equals("subject")) { 1657 this.subject = TypeConvertor.castToReference(value); // Reference 1658 } else if (name.equals("encounter")) { 1659 this.encounter = TypeConvertor.castToReference(value); // Reference 1660 } else if (name.equals("onset[x]")) { 1661 this.onset = TypeConvertor.castToType(value); // DataType 1662 } else if (name.equals("abatement[x]")) { 1663 this.abatement = TypeConvertor.castToType(value); // DataType 1664 } else if (name.equals("recordedDate")) { 1665 this.recordedDate = TypeConvertor.castToDateTime(value); // DateTimeType 1666 } else if (name.equals("recorder")) { 1667 this.recorder = TypeConvertor.castToReference(value); // Reference 1668 } else if (name.equals("asserter")) { 1669 this.asserter = TypeConvertor.castToReference(value); // Reference 1670 } else if (name.equals("stage")) { 1671 this.getStage().add((ConditionStageComponent) value); 1672 } else if (name.equals("evidence")) { 1673 this.getEvidence().add((ConditionEvidenceComponent) value); 1674 } else if (name.equals("note")) { 1675 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1676 } else 1677 return super.setProperty(name, value); 1678 return value; 1679 } 1680 1681 @Override 1682 public Base makeProperty(int hash, String name) throws FHIRException { 1683 switch (hash) { 1684 case -1618432855: return addIdentifier(); 1685 case -462853915: return getClinicalStatus(); 1686 case -842509843: return getVerificationStatus(); 1687 case 50511102: return addCategory(); 1688 case 1478300413: return getSeverity(); 1689 case 3059181: return getCode(); 1690 case 1702620169: return addBodySite(); 1691 case -1867885268: return getSubject(); 1692 case 1524132147: return getEncounter(); 1693 case -1886216323: return getOnset(); 1694 case 105901603: return getOnset(); 1695 case -584196495: return getAbatement(); 1696 case -921554001: return getAbatement(); 1697 case -1952893826: return getRecordedDateElement(); 1698 case -799233858: return getRecorder(); 1699 case -373242253: return getAsserter(); 1700 case 109757182: return addStage(); 1701 case 382967383: return addEvidence(); 1702 case 3387378: return addNote(); 1703 default: return super.makeProperty(hash, name); 1704 } 1705 1706 } 1707 1708 @Override 1709 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1710 switch (hash) { 1711 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1712 case -462853915: /*clinicalStatus*/ return new String[] {"CodeableConcept"}; 1713 case -842509843: /*verificationStatus*/ return new String[] {"CodeableConcept"}; 1714 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1715 case 1478300413: /*severity*/ return new String[] {"CodeableConcept"}; 1716 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1717 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 1718 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1719 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1720 case 105901603: /*onset*/ return new String[] {"dateTime", "Age", "Period", "Range", "string"}; 1721 case -921554001: /*abatement*/ return new String[] {"dateTime", "Age", "Period", "Range", "string"}; 1722 case -1952893826: /*recordedDate*/ return new String[] {"dateTime"}; 1723 case -799233858: /*recorder*/ return new String[] {"Reference"}; 1724 case -373242253: /*asserter*/ return new String[] {"Reference"}; 1725 case 109757182: /*stage*/ return new String[] {}; 1726 case 382967383: /*evidence*/ return new String[] {}; 1727 case 3387378: /*note*/ return new String[] {"Annotation"}; 1728 default: return super.getTypesForProperty(hash, name); 1729 } 1730 1731 } 1732 1733 @Override 1734 public Base addChild(String name) throws FHIRException { 1735 if (name.equals("identifier")) { 1736 return addIdentifier(); 1737 } 1738 else if (name.equals("clinicalStatus")) { 1739 this.clinicalStatus = new CodeableConcept(); 1740 return this.clinicalStatus; 1741 } 1742 else if (name.equals("verificationStatus")) { 1743 this.verificationStatus = new CodeableConcept(); 1744 return this.verificationStatus; 1745 } 1746 else if (name.equals("category")) { 1747 return addCategory(); 1748 } 1749 else if (name.equals("severity")) { 1750 this.severity = new CodeableConcept(); 1751 return this.severity; 1752 } 1753 else if (name.equals("code")) { 1754 this.code = new CodeableConcept(); 1755 return this.code; 1756 } 1757 else if (name.equals("bodySite")) { 1758 return addBodySite(); 1759 } 1760 else if (name.equals("subject")) { 1761 this.subject = new Reference(); 1762 return this.subject; 1763 } 1764 else if (name.equals("encounter")) { 1765 this.encounter = new Reference(); 1766 return this.encounter; 1767 } 1768 else if (name.equals("onsetDateTime")) { 1769 this.onset = new DateTimeType(); 1770 return this.onset; 1771 } 1772 else if (name.equals("onsetAge")) { 1773 this.onset = new Age(); 1774 return this.onset; 1775 } 1776 else if (name.equals("onsetPeriod")) { 1777 this.onset = new Period(); 1778 return this.onset; 1779 } 1780 else if (name.equals("onsetRange")) { 1781 this.onset = new Range(); 1782 return this.onset; 1783 } 1784 else if (name.equals("onsetString")) { 1785 this.onset = new StringType(); 1786 return this.onset; 1787 } 1788 else if (name.equals("abatementDateTime")) { 1789 this.abatement = new DateTimeType(); 1790 return this.abatement; 1791 } 1792 else if (name.equals("abatementAge")) { 1793 this.abatement = new Age(); 1794 return this.abatement; 1795 } 1796 else if (name.equals("abatementPeriod")) { 1797 this.abatement = new Period(); 1798 return this.abatement; 1799 } 1800 else if (name.equals("abatementRange")) { 1801 this.abatement = new Range(); 1802 return this.abatement; 1803 } 1804 else if (name.equals("abatementString")) { 1805 this.abatement = new StringType(); 1806 return this.abatement; 1807 } 1808 else if (name.equals("recordedDate")) { 1809 throw new FHIRException("Cannot call addChild on a primitive type Condition.recordedDate"); 1810 } 1811 else if (name.equals("recorder")) { 1812 this.recorder = new Reference(); 1813 return this.recorder; 1814 } 1815 else if (name.equals("asserter")) { 1816 this.asserter = new Reference(); 1817 return this.asserter; 1818 } 1819 else if (name.equals("stage")) { 1820 return addStage(); 1821 } 1822 else if (name.equals("evidence")) { 1823 return addEvidence(); 1824 } 1825 else if (name.equals("note")) { 1826 return addNote(); 1827 } 1828 else 1829 return super.addChild(name); 1830 } 1831 1832 public String fhirType() { 1833 return "Condition"; 1834 1835 } 1836 1837 public Condition copy() { 1838 Condition dst = new Condition(); 1839 copyValues(dst); 1840 return dst; 1841 } 1842 1843 public void copyValues(Condition dst) { 1844 super.copyValues(dst); 1845 if (identifier != null) { 1846 dst.identifier = new ArrayList<Identifier>(); 1847 for (Identifier i : identifier) 1848 dst.identifier.add(i.copy()); 1849 }; 1850 dst.clinicalStatus = clinicalStatus == null ? null : clinicalStatus.copy(); 1851 dst.verificationStatus = verificationStatus == null ? null : verificationStatus.copy(); 1852 if (category != null) { 1853 dst.category = new ArrayList<CodeableConcept>(); 1854 for (CodeableConcept i : category) 1855 dst.category.add(i.copy()); 1856 }; 1857 dst.severity = severity == null ? null : severity.copy(); 1858 dst.code = code == null ? null : code.copy(); 1859 if (bodySite != null) { 1860 dst.bodySite = new ArrayList<CodeableConcept>(); 1861 for (CodeableConcept i : bodySite) 1862 dst.bodySite.add(i.copy()); 1863 }; 1864 dst.subject = subject == null ? null : subject.copy(); 1865 dst.encounter = encounter == null ? null : encounter.copy(); 1866 dst.onset = onset == null ? null : onset.copy(); 1867 dst.abatement = abatement == null ? null : abatement.copy(); 1868 dst.recordedDate = recordedDate == null ? null : recordedDate.copy(); 1869 dst.recorder = recorder == null ? null : recorder.copy(); 1870 dst.asserter = asserter == null ? null : asserter.copy(); 1871 if (stage != null) { 1872 dst.stage = new ArrayList<ConditionStageComponent>(); 1873 for (ConditionStageComponent i : stage) 1874 dst.stage.add(i.copy()); 1875 }; 1876 if (evidence != null) { 1877 dst.evidence = new ArrayList<ConditionEvidenceComponent>(); 1878 for (ConditionEvidenceComponent i : evidence) 1879 dst.evidence.add(i.copy()); 1880 }; 1881 if (note != null) { 1882 dst.note = new ArrayList<Annotation>(); 1883 for (Annotation i : note) 1884 dst.note.add(i.copy()); 1885 }; 1886 } 1887 1888 protected Condition typedCopy() { 1889 return copy(); 1890 } 1891 1892 @Override 1893 public boolean equalsDeep(Base other_) { 1894 if (!super.equalsDeep(other_)) 1895 return false; 1896 if (!(other_ instanceof Condition)) 1897 return false; 1898 Condition o = (Condition) other_; 1899 return compareDeep(identifier, o.identifier, true) && compareDeep(clinicalStatus, o.clinicalStatus, true) 1900 && compareDeep(verificationStatus, o.verificationStatus, true) && compareDeep(category, o.category, true) 1901 && compareDeep(severity, o.severity, true) && compareDeep(code, o.code, true) && compareDeep(bodySite, o.bodySite, true) 1902 && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(onset, o.onset, true) 1903 && compareDeep(abatement, o.abatement, true) && compareDeep(recordedDate, o.recordedDate, true) 1904 && compareDeep(recorder, o.recorder, true) && compareDeep(asserter, o.asserter, true) && compareDeep(stage, o.stage, true) 1905 && compareDeep(evidence, o.evidence, true) && compareDeep(note, o.note, true); 1906 } 1907 1908 @Override 1909 public boolean equalsShallow(Base other_) { 1910 if (!super.equalsShallow(other_)) 1911 return false; 1912 if (!(other_ instanceof Condition)) 1913 return false; 1914 Condition o = (Condition) other_; 1915 return compareValues(recordedDate, o.recordedDate, true); 1916 } 1917 1918 public boolean isEmpty() { 1919 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, clinicalStatus 1920 , verificationStatus, category, severity, code, bodySite, subject, encounter, onset 1921 , abatement, recordedDate, recorder, asserter, stage, evidence, note); 1922 } 1923 1924 @Override 1925 public ResourceType getResourceType() { 1926 return ResourceType.Condition; 1927 } 1928 1929 /** 1930 * Search parameter: <b>abatement-age</b> 1931 * <p> 1932 * Description: <b>Abatement as age or age range</b><br> 1933 * Type: <b>quantity</b><br> 1934 * Path: <b>Condition.abatement.as(Age) | Condition.abatement.as(Range)</b><br> 1935 * </p> 1936 */ 1937 @SearchParamDefinition(name="abatement-age", path="Condition.abatement.as(Age) | Condition.abatement.as(Range)", description="Abatement as age or age range", type="quantity" ) 1938 public static final String SP_ABATEMENT_AGE = "abatement-age"; 1939 /** 1940 * <b>Fluent Client</b> search parameter constant for <b>abatement-age</b> 1941 * <p> 1942 * Description: <b>Abatement as age or age range</b><br> 1943 * Type: <b>quantity</b><br> 1944 * Path: <b>Condition.abatement.as(Age) | Condition.abatement.as(Range)</b><br> 1945 * </p> 1946 */ 1947 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ABATEMENT_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ABATEMENT_AGE); 1948 1949 /** 1950 * Search parameter: <b>abatement-date</b> 1951 * <p> 1952 * Description: <b>Date-related abatements (dateTime and period)</b><br> 1953 * Type: <b>date</b><br> 1954 * Path: <b>Condition.abatement.as(dateTime) | Condition.abatement.as(Period)</b><br> 1955 * </p> 1956 */ 1957 @SearchParamDefinition(name="abatement-date", path="Condition.abatement.as(dateTime) | Condition.abatement.as(Period)", description="Date-related abatements (dateTime and period)", type="date" ) 1958 public static final String SP_ABATEMENT_DATE = "abatement-date"; 1959 /** 1960 * <b>Fluent Client</b> search parameter constant for <b>abatement-date</b> 1961 * <p> 1962 * Description: <b>Date-related abatements (dateTime and period)</b><br> 1963 * Type: <b>date</b><br> 1964 * Path: <b>Condition.abatement.as(dateTime) | Condition.abatement.as(Period)</b><br> 1965 * </p> 1966 */ 1967 public static final ca.uhn.fhir.rest.gclient.DateClientParam ABATEMENT_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ABATEMENT_DATE); 1968 1969 /** 1970 * Search parameter: <b>abatement-string</b> 1971 * <p> 1972 * Description: <b>Abatement as a string</b><br> 1973 * Type: <b>string</b><br> 1974 * Path: <b>Condition.abatement.as(string)</b><br> 1975 * </p> 1976 */ 1977 @SearchParamDefinition(name="abatement-string", path="Condition.abatement.as(string)", description="Abatement as a string", type="string" ) 1978 public static final String SP_ABATEMENT_STRING = "abatement-string"; 1979 /** 1980 * <b>Fluent Client</b> search parameter constant for <b>abatement-string</b> 1981 * <p> 1982 * Description: <b>Abatement as a string</b><br> 1983 * Type: <b>string</b><br> 1984 * Path: <b>Condition.abatement.as(string)</b><br> 1985 * </p> 1986 */ 1987 public static final ca.uhn.fhir.rest.gclient.StringClientParam ABATEMENT_STRING = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ABATEMENT_STRING); 1988 1989 /** 1990 * Search parameter: <b>asserter</b> 1991 * <p> 1992 * Description: <b>Person or device that asserts this condition</b><br> 1993 * Type: <b>reference</b><br> 1994 * Path: <b>Condition.asserter</b><br> 1995 * </p> 1996 */ 1997 @SearchParamDefinition(name="asserter", path="Condition.asserter", description="Person or device that 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={Device.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 1998 public static final String SP_ASSERTER = "asserter"; 1999 /** 2000 * <b>Fluent Client</b> search parameter constant for <b>asserter</b> 2001 * <p> 2002 * Description: <b>Person or device that asserts this condition</b><br> 2003 * Type: <b>reference</b><br> 2004 * Path: <b>Condition.asserter</b><br> 2005 * </p> 2006 */ 2007 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ASSERTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ASSERTER); 2008 2009/** 2010 * Constant for fluent queries to be used to add include statements. Specifies 2011 * the path value of "<b>Condition:asserter</b>". 2012 */ 2013 public static final ca.uhn.fhir.model.api.Include INCLUDE_ASSERTER = new ca.uhn.fhir.model.api.Include("Condition:asserter").toLocked(); 2014 2015 /** 2016 * Search parameter: <b>body-site</b> 2017 * <p> 2018 * Description: <b>Anatomical location, if relevant</b><br> 2019 * Type: <b>token</b><br> 2020 * Path: <b>Condition.bodySite</b><br> 2021 * </p> 2022 */ 2023 @SearchParamDefinition(name="body-site", path="Condition.bodySite", description="Anatomical location, if relevant", type="token" ) 2024 public static final String SP_BODY_SITE = "body-site"; 2025 /** 2026 * <b>Fluent Client</b> search parameter constant for <b>body-site</b> 2027 * <p> 2028 * Description: <b>Anatomical location, if relevant</b><br> 2029 * Type: <b>token</b><br> 2030 * Path: <b>Condition.bodySite</b><br> 2031 * </p> 2032 */ 2033 public static final ca.uhn.fhir.rest.gclient.TokenClientParam BODY_SITE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BODY_SITE); 2034 2035 /** 2036 * Search parameter: <b>category</b> 2037 * <p> 2038 * Description: <b>The category of the condition</b><br> 2039 * Type: <b>token</b><br> 2040 * Path: <b>Condition.category</b><br> 2041 * </p> 2042 */ 2043 @SearchParamDefinition(name="category", path="Condition.category", description="The category of the condition", type="token" ) 2044 public static final String SP_CATEGORY = "category"; 2045 /** 2046 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2047 * <p> 2048 * Description: <b>The category of the condition</b><br> 2049 * Type: <b>token</b><br> 2050 * Path: <b>Condition.category</b><br> 2051 * </p> 2052 */ 2053 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2054 2055 /** 2056 * Search parameter: <b>clinical-status</b> 2057 * <p> 2058 * Description: <b>The clinical status of the condition</b><br> 2059 * Type: <b>token</b><br> 2060 * Path: <b>Condition.clinicalStatus</b><br> 2061 * </p> 2062 */ 2063 @SearchParamDefinition(name="clinical-status", path="Condition.clinicalStatus", description="The clinical status of the condition", type="token" ) 2064 public static final String SP_CLINICAL_STATUS = "clinical-status"; 2065 /** 2066 * <b>Fluent Client</b> search parameter constant for <b>clinical-status</b> 2067 * <p> 2068 * Description: <b>The clinical status of the condition</b><br> 2069 * Type: <b>token</b><br> 2070 * Path: <b>Condition.clinicalStatus</b><br> 2071 * </p> 2072 */ 2073 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CLINICAL_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CLINICAL_STATUS); 2074 2075 /** 2076 * Search parameter: <b>encounter</b> 2077 * <p> 2078 * Description: <b>The Encounter during which this Condition was created</b><br> 2079 * Type: <b>reference</b><br> 2080 * Path: <b>Condition.encounter</b><br> 2081 * </p> 2082 */ 2083 @SearchParamDefinition(name="encounter", path="Condition.encounter", description="The Encounter during which this Condition was created", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 2084 public static final String SP_ENCOUNTER = "encounter"; 2085 /** 2086 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2087 * <p> 2088 * Description: <b>The Encounter during which this Condition was created</b><br> 2089 * Type: <b>reference</b><br> 2090 * Path: <b>Condition.encounter</b><br> 2091 * </p> 2092 */ 2093 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2094 2095/** 2096 * Constant for fluent queries to be used to add include statements. Specifies 2097 * the path value of "<b>Condition:encounter</b>". 2098 */ 2099 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("Condition:encounter").toLocked(); 2100 2101 /** 2102 * Search parameter: <b>evidence-detail</b> 2103 * <p> 2104 * Description: <b>Supporting information found elsewhere</b><br> 2105 * Type: <b>reference</b><br> 2106 * Path: <b>Condition.evidence.detail</b><br> 2107 * </p> 2108 */ 2109 @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, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.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, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.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, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.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, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2110 public static final String SP_EVIDENCE_DETAIL = "evidence-detail"; 2111 /** 2112 * <b>Fluent Client</b> search parameter constant for <b>evidence-detail</b> 2113 * <p> 2114 * Description: <b>Supporting information found elsewhere</b><br> 2115 * Type: <b>reference</b><br> 2116 * Path: <b>Condition.evidence.detail</b><br> 2117 * </p> 2118 */ 2119 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam EVIDENCE_DETAIL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_EVIDENCE_DETAIL); 2120 2121/** 2122 * Constant for fluent queries to be used to add include statements. Specifies 2123 * the path value of "<b>Condition:evidence-detail</b>". 2124 */ 2125 public static final ca.uhn.fhir.model.api.Include INCLUDE_EVIDENCE_DETAIL = new ca.uhn.fhir.model.api.Include("Condition:evidence-detail").toLocked(); 2126 2127 /** 2128 * Search parameter: <b>evidence</b> 2129 * <p> 2130 * Description: <b>Manifestation/symptom</b><br> 2131 * Type: <b>token</b><br> 2132 * Path: <b>Condition.evidence.code</b><br> 2133 * </p> 2134 */ 2135 @SearchParamDefinition(name="evidence", path="Condition.evidence.code", description="Manifestation/symptom", type="token" ) 2136 public static final String SP_EVIDENCE = "evidence"; 2137 /** 2138 * <b>Fluent Client</b> search parameter constant for <b>evidence</b> 2139 * <p> 2140 * Description: <b>Manifestation/symptom</b><br> 2141 * Type: <b>token</b><br> 2142 * Path: <b>Condition.evidence.code</b><br> 2143 * </p> 2144 */ 2145 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVIDENCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EVIDENCE); 2146 2147 /** 2148 * Search parameter: <b>onset-age</b> 2149 * <p> 2150 * Description: <b>Onsets as age or age range</b><br> 2151 * Type: <b>quantity</b><br> 2152 * Path: <b>Condition.onset.as(Age) | Condition.onset.as(Range)</b><br> 2153 * </p> 2154 */ 2155 @SearchParamDefinition(name="onset-age", path="Condition.onset.as(Age) | Condition.onset.as(Range)", description="Onsets as age or age range", type="quantity" ) 2156 public static final String SP_ONSET_AGE = "onset-age"; 2157 /** 2158 * <b>Fluent Client</b> search parameter constant for <b>onset-age</b> 2159 * <p> 2160 * Description: <b>Onsets as age or age range</b><br> 2161 * Type: <b>quantity</b><br> 2162 * Path: <b>Condition.onset.as(Age) | Condition.onset.as(Range)</b><br> 2163 * </p> 2164 */ 2165 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ONSET_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ONSET_AGE); 2166 2167 /** 2168 * Search parameter: <b>onset-date</b> 2169 * <p> 2170 * Description: <b>Date related onsets (dateTime and Period)</b><br> 2171 * Type: <b>date</b><br> 2172 * Path: <b>Condition.onset.as(dateTime) | Condition.onset.as(Period)</b><br> 2173 * </p> 2174 */ 2175 @SearchParamDefinition(name="onset-date", path="Condition.onset.as(dateTime) | Condition.onset.as(Period)", description="Date related onsets (dateTime and Period)", type="date" ) 2176 public static final String SP_ONSET_DATE = "onset-date"; 2177 /** 2178 * <b>Fluent Client</b> search parameter constant for <b>onset-date</b> 2179 * <p> 2180 * Description: <b>Date related onsets (dateTime and Period)</b><br> 2181 * Type: <b>date</b><br> 2182 * Path: <b>Condition.onset.as(dateTime) | Condition.onset.as(Period)</b><br> 2183 * </p> 2184 */ 2185 public static final ca.uhn.fhir.rest.gclient.DateClientParam ONSET_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ONSET_DATE); 2186 2187 /** 2188 * Search parameter: <b>onset-info</b> 2189 * <p> 2190 * Description: <b>Onsets as a string</b><br> 2191 * Type: <b>string</b><br> 2192 * Path: <b>Condition.onset.as(string)</b><br> 2193 * </p> 2194 */ 2195 @SearchParamDefinition(name="onset-info", path="Condition.onset.as(string)", description="Onsets as a string", type="string" ) 2196 public static final String SP_ONSET_INFO = "onset-info"; 2197 /** 2198 * <b>Fluent Client</b> search parameter constant for <b>onset-info</b> 2199 * <p> 2200 * Description: <b>Onsets as a string</b><br> 2201 * Type: <b>string</b><br> 2202 * Path: <b>Condition.onset.as(string)</b><br> 2203 * </p> 2204 */ 2205 public static final ca.uhn.fhir.rest.gclient.StringClientParam ONSET_INFO = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ONSET_INFO); 2206 2207 /** 2208 * Search parameter: <b>recorded-date</b> 2209 * <p> 2210 * Description: <b>Date record was first recorded</b><br> 2211 * Type: <b>date</b><br> 2212 * Path: <b>Condition.recordedDate</b><br> 2213 * </p> 2214 */ 2215 @SearchParamDefinition(name="recorded-date", path="Condition.recordedDate", description="Date record was first recorded", type="date" ) 2216 public static final String SP_RECORDED_DATE = "recorded-date"; 2217 /** 2218 * <b>Fluent Client</b> search parameter constant for <b>recorded-date</b> 2219 * <p> 2220 * Description: <b>Date record was first recorded</b><br> 2221 * Type: <b>date</b><br> 2222 * Path: <b>Condition.recordedDate</b><br> 2223 * </p> 2224 */ 2225 public static final ca.uhn.fhir.rest.gclient.DateClientParam RECORDED_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_RECORDED_DATE); 2226 2227 /** 2228 * Search parameter: <b>severity</b> 2229 * <p> 2230 * Description: <b>The severity of the condition</b><br> 2231 * Type: <b>token</b><br> 2232 * Path: <b>Condition.severity</b><br> 2233 * </p> 2234 */ 2235 @SearchParamDefinition(name="severity", path="Condition.severity", description="The severity of the condition", type="token" ) 2236 public static final String SP_SEVERITY = "severity"; 2237 /** 2238 * <b>Fluent Client</b> search parameter constant for <b>severity</b> 2239 * <p> 2240 * Description: <b>The severity of the condition</b><br> 2241 * Type: <b>token</b><br> 2242 * Path: <b>Condition.severity</b><br> 2243 * </p> 2244 */ 2245 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SEVERITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SEVERITY); 2246 2247 /** 2248 * Search parameter: <b>stage</b> 2249 * <p> 2250 * Description: <b>Simple summary (disease specific)</b><br> 2251 * Type: <b>token</b><br> 2252 * Path: <b>Condition.stage.summary</b><br> 2253 * </p> 2254 */ 2255 @SearchParamDefinition(name="stage", path="Condition.stage.summary", description="Simple summary (disease specific)", type="token" ) 2256 public static final String SP_STAGE = "stage"; 2257 /** 2258 * <b>Fluent Client</b> search parameter constant for <b>stage</b> 2259 * <p> 2260 * Description: <b>Simple summary (disease specific)</b><br> 2261 * Type: <b>token</b><br> 2262 * Path: <b>Condition.stage.summary</b><br> 2263 * </p> 2264 */ 2265 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STAGE); 2266 2267 /** 2268 * Search parameter: <b>subject</b> 2269 * <p> 2270 * Description: <b>Who has the condition?</b><br> 2271 * Type: <b>reference</b><br> 2272 * Path: <b>Condition.subject</b><br> 2273 * </p> 2274 */ 2275 @SearchParamDefinition(name="subject", path="Condition.subject", description="Who has the condition?", type="reference", target={Group.class, Patient.class } ) 2276 public static final String SP_SUBJECT = "subject"; 2277 /** 2278 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2279 * <p> 2280 * Description: <b>Who has the condition?</b><br> 2281 * Type: <b>reference</b><br> 2282 * Path: <b>Condition.subject</b><br> 2283 * </p> 2284 */ 2285 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2286 2287/** 2288 * Constant for fluent queries to be used to add include statements. Specifies 2289 * the path value of "<b>Condition:subject</b>". 2290 */ 2291 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Condition:subject").toLocked(); 2292 2293 /** 2294 * Search parameter: <b>verification-status</b> 2295 * <p> 2296 * Description: <b>unconfirmed | provisional | differential | confirmed | refuted | entered-in-error</b><br> 2297 * Type: <b>token</b><br> 2298 * Path: <b>Condition.verificationStatus</b><br> 2299 * </p> 2300 */ 2301 @SearchParamDefinition(name="verification-status", path="Condition.verificationStatus", description="unconfirmed | provisional | differential | confirmed | refuted | entered-in-error", type="token" ) 2302 public static final String SP_VERIFICATION_STATUS = "verification-status"; 2303 /** 2304 * <b>Fluent Client</b> search parameter constant for <b>verification-status</b> 2305 * <p> 2306 * Description: <b>unconfirmed | provisional | differential | confirmed | refuted | entered-in-error</b><br> 2307 * Type: <b>token</b><br> 2308 * Path: <b>Condition.verificationStatus</b><br> 2309 * </p> 2310 */ 2311 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERIFICATION_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERIFICATION_STATUS); 2312 2313 /** 2314 * Search parameter: <b>code</b> 2315 * <p> 2316 * Description: <b>Multiple Resources: 2317 2318* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2319* [Condition](condition.html): Code for the condition 2320* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2321* [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 2322* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2323* [List](list.html): What the purpose of this list is 2324* [Medication](medication.html): Returns medications for a specific code 2325* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2326* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2327* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2328* [MedicationUsage](medicationusage.html): Return statements of this medication code 2329* [Observation](observation.html): The code of the observation type 2330* [Procedure](procedure.html): A code to identify a procedure 2331* [ServiceRequest](servicerequest.html): What is being requested/ordered 2332</b><br> 2333 * Type: <b>token</b><br> 2334 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code</b><br> 2335 * </p> 2336 */ 2337 @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | 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* [MedicationUsage](medicationusage.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" ) 2338 public static final String SP_CODE = "code"; 2339 /** 2340 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2341 * <p> 2342 * Description: <b>Multiple Resources: 2343 2344* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2345* [Condition](condition.html): Code for the condition 2346* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2347* [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 2348* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2349* [List](list.html): What the purpose of this list is 2350* [Medication](medication.html): Returns medications for a specific code 2351* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2352* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2353* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2354* [MedicationUsage](medicationusage.html): Return statements of this medication code 2355* [Observation](observation.html): The code of the observation type 2356* [Procedure](procedure.html): A code to identify a procedure 2357* [ServiceRequest](servicerequest.html): What is being requested/ordered 2358</b><br> 2359 * Type: <b>token</b><br> 2360 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code</b><br> 2361 * </p> 2362 */ 2363 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2364 2365 /** 2366 * Search parameter: <b>identifier</b> 2367 * <p> 2368 * Description: <b>Multiple Resources: 2369 2370* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2371* [CarePlan](careplan.html): External Ids for this plan 2372* [CareTeam](careteam.html): External Ids for this team 2373* [Composition](composition.html): Version-independent identifier for the Composition 2374* [Condition](condition.html): A unique identifier of the condition record 2375* [Consent](consent.html): Identifier for this record (external references) 2376* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2377* [DeviceRequest](devicerequest.html): Business identifier for request/order 2378* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2379* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2380* [DocumentReference](documentreference.html): Identifier of the attachment binary 2381* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2382* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2383* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2384* [Goal](goal.html): External Ids for this goal 2385* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2386* [Immunization](immunization.html): Business identifier 2387* [List](list.html): Business identifier 2388* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2389* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2390* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2391* [MedicationUsage](medicationusage.html): Return statements with this external identifier 2392* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2393* [Observation](observation.html): The unique id for a particular observation 2394* [Procedure](procedure.html): A unique identifier for a procedure 2395* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2396* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2397* [SupplyDelivery](supplydelivery.html): External identifier 2398* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2399* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2400</b><br> 2401 * Type: <b>token</b><br> 2402 * 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.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2403 * </p> 2404 */ 2405 @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.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.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): Identifier of the attachment binary\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\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* [MedicationUsage](medicationusage.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" ) 2406 public static final String SP_IDENTIFIER = "identifier"; 2407 /** 2408 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2409 * <p> 2410 * Description: <b>Multiple Resources: 2411 2412* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2413* [CarePlan](careplan.html): External Ids for this plan 2414* [CareTeam](careteam.html): External Ids for this team 2415* [Composition](composition.html): Version-independent identifier for the Composition 2416* [Condition](condition.html): A unique identifier of the condition record 2417* [Consent](consent.html): Identifier for this record (external references) 2418* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2419* [DeviceRequest](devicerequest.html): Business identifier for request/order 2420* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2421* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2422* [DocumentReference](documentreference.html): Identifier of the attachment binary 2423* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2424* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2425* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2426* [Goal](goal.html): External Ids for this goal 2427* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2428* [Immunization](immunization.html): Business identifier 2429* [List](list.html): Business identifier 2430* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2431* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2432* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2433* [MedicationUsage](medicationusage.html): Return statements with this external identifier 2434* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2435* [Observation](observation.html): The unique id for a particular observation 2436* [Procedure](procedure.html): A unique identifier for a procedure 2437* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2438* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2439* [SupplyDelivery](supplydelivery.html): External identifier 2440* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2441* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2442</b><br> 2443 * Type: <b>token</b><br> 2444 * 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.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2445 * </p> 2446 */ 2447 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2448 2449 /** 2450 * Search parameter: <b>patient</b> 2451 * <p> 2452 * Description: <b>Multiple Resources: 2453 2454* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2455* [CarePlan](careplan.html): Who the care plan is for 2456* [CareTeam](careteam.html): Who care team is for 2457* [ClinicalImpression](clinicalimpression.html): Patient assessed 2458* [Composition](composition.html): Who and/or what the composition is about 2459* [Condition](condition.html): Who has the condition? 2460* [Consent](consent.html): Who the consent applies to 2461* [DetectedIssue](detectedissue.html): Associated patient 2462* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2463* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2464* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2465* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2466* [DocumentReference](documentreference.html): Who/what is the subject of the document 2467* [Encounter](encounter.html): The patient present at the encounter 2468* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2469* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2470* [Flag](flag.html): The identity of a subject to list flags for 2471* [Goal](goal.html): Who this goal is intended for 2472* [ImagingStudy](imagingstudy.html): Who the study is about 2473* [Immunization](immunization.html): The patient for the vaccination record 2474* [List](list.html): If all resources have the same subject 2475* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2476* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2477* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2478* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2479* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2480* [Observation](observation.html): The subject that the observation is about (if patient) 2481* [Procedure](procedure.html): Search by subject - a patient 2482* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2483* [ServiceRequest](servicerequest.html): Search by subject - a patient 2484* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2485* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2486</b><br> 2487 * Type: <b>reference</b><br> 2488 * 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.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.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) | MedicationUsage.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> 2489 * </p> 2490 */ 2491 @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.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.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) | MedicationUsage.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 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* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\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 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* [MedicationUsage](medicationusage.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, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.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, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.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, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.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, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2492 public static final String SP_PATIENT = "patient"; 2493 /** 2494 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2495 * <p> 2496 * Description: <b>Multiple Resources: 2497 2498* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2499* [CarePlan](careplan.html): Who the care plan is for 2500* [CareTeam](careteam.html): Who care team is for 2501* [ClinicalImpression](clinicalimpression.html): Patient assessed 2502* [Composition](composition.html): Who and/or what the composition is about 2503* [Condition](condition.html): Who has the condition? 2504* [Consent](consent.html): Who the consent applies to 2505* [DetectedIssue](detectedissue.html): Associated patient 2506* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2507* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2508* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2509* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2510* [DocumentReference](documentreference.html): Who/what is the subject of the document 2511* [Encounter](encounter.html): The patient present at the encounter 2512* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2513* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2514* [Flag](flag.html): The identity of a subject to list flags for 2515* [Goal](goal.html): Who this goal is intended for 2516* [ImagingStudy](imagingstudy.html): Who the study is about 2517* [Immunization](immunization.html): The patient for the vaccination record 2518* [List](list.html): If all resources have the same subject 2519* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2520* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2521* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2522* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2523* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2524* [Observation](observation.html): The subject that the observation is about (if patient) 2525* [Procedure](procedure.html): Search by subject - a patient 2526* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2527* [ServiceRequest](servicerequest.html): Search by subject - a patient 2528* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2529* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2530</b><br> 2531 * Type: <b>reference</b><br> 2532 * 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.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.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) | MedicationUsage.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> 2533 * </p> 2534 */ 2535 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2536 2537/** 2538 * Constant for fluent queries to be used to add include statements. Specifies 2539 * the path value of "<b>Condition:patient</b>". 2540 */ 2541 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Condition:patient").toLocked(); 2542 2543 2544} 2545