001package org.hl7.fhir.dstu2016may.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 8, 2016 03:05+1000 for FHIR v1.4.0 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.exceptions.FHIRException; 038import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 039import org.hl7.fhir.utilities.Utilities; 040 041import ca.uhn.fhir.model.api.annotation.Block; 042import ca.uhn.fhir.model.api.annotation.Child; 043import ca.uhn.fhir.model.api.annotation.Description; 044import ca.uhn.fhir.model.api.annotation.ResourceDef; 045import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 046/** 047 * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. 048 */ 049@ResourceDef(name="ClinicalImpression", profile="http://hl7.org/fhir/Profile/ClinicalImpression") 050public class ClinicalImpression extends DomainResource { 051 052 public enum ClinicalImpressionStatus { 053 /** 054 * The assessment is still on-going and results are not yet final. 055 */ 056 INPROGRESS, 057 /** 058 * The assessment is done and the results are final. 059 */ 060 COMPLETED, 061 /** 062 * This assessment was never actually done and the record is erroneous (e.g. Wrong patient). 063 */ 064 ENTEREDINERROR, 065 /** 066 * added to help the parsers 067 */ 068 NULL; 069 public static ClinicalImpressionStatus fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("in-progress".equals(codeString)) 073 return INPROGRESS; 074 if ("completed".equals(codeString)) 075 return COMPLETED; 076 if ("entered-in-error".equals(codeString)) 077 return ENTEREDINERROR; 078 throw new FHIRException("Unknown ClinicalImpressionStatus code '"+codeString+"'"); 079 } 080 public String toCode() { 081 switch (this) { 082 case INPROGRESS: return "in-progress"; 083 case COMPLETED: return "completed"; 084 case ENTEREDINERROR: return "entered-in-error"; 085 default: return "?"; 086 } 087 } 088 public String getSystem() { 089 switch (this) { 090 case INPROGRESS: return "http://hl7.org/fhir/clinical-impression-status"; 091 case COMPLETED: return "http://hl7.org/fhir/clinical-impression-status"; 092 case ENTEREDINERROR: return "http://hl7.org/fhir/clinical-impression-status"; 093 default: return "?"; 094 } 095 } 096 public String getDefinition() { 097 switch (this) { 098 case INPROGRESS: return "The assessment is still on-going and results are not yet final."; 099 case COMPLETED: return "The assessment is done and the results are final."; 100 case ENTEREDINERROR: return "This assessment was never actually done and the record is erroneous (e.g. Wrong patient)."; 101 default: return "?"; 102 } 103 } 104 public String getDisplay() { 105 switch (this) { 106 case INPROGRESS: return "In progress"; 107 case COMPLETED: return "Completed"; 108 case ENTEREDINERROR: return "Entered in Error"; 109 default: return "?"; 110 } 111 } 112 } 113 114 public static class ClinicalImpressionStatusEnumFactory implements EnumFactory<ClinicalImpressionStatus> { 115 public ClinicalImpressionStatus fromCode(String codeString) throws IllegalArgumentException { 116 if (codeString == null || "".equals(codeString)) 117 if (codeString == null || "".equals(codeString)) 118 return null; 119 if ("in-progress".equals(codeString)) 120 return ClinicalImpressionStatus.INPROGRESS; 121 if ("completed".equals(codeString)) 122 return ClinicalImpressionStatus.COMPLETED; 123 if ("entered-in-error".equals(codeString)) 124 return ClinicalImpressionStatus.ENTEREDINERROR; 125 throw new IllegalArgumentException("Unknown ClinicalImpressionStatus code '"+codeString+"'"); 126 } 127 public Enumeration<ClinicalImpressionStatus> fromType(Base code) throws FHIRException { 128 if (code == null || code.isEmpty()) 129 return null; 130 String codeString = ((PrimitiveType) code).asStringValue(); 131 if (codeString == null || "".equals(codeString)) 132 return null; 133 if ("in-progress".equals(codeString)) 134 return new Enumeration<ClinicalImpressionStatus>(this, ClinicalImpressionStatus.INPROGRESS); 135 if ("completed".equals(codeString)) 136 return new Enumeration<ClinicalImpressionStatus>(this, ClinicalImpressionStatus.COMPLETED); 137 if ("entered-in-error".equals(codeString)) 138 return new Enumeration<ClinicalImpressionStatus>(this, ClinicalImpressionStatus.ENTEREDINERROR); 139 throw new FHIRException("Unknown ClinicalImpressionStatus code '"+codeString+"'"); 140 } 141 public String toCode(ClinicalImpressionStatus code) { 142 if (code == ClinicalImpressionStatus.INPROGRESS) 143 return "in-progress"; 144 if (code == ClinicalImpressionStatus.COMPLETED) 145 return "completed"; 146 if (code == ClinicalImpressionStatus.ENTEREDINERROR) 147 return "entered-in-error"; 148 return "?"; 149 } 150 public String toSystem(ClinicalImpressionStatus code) { 151 return code.getSystem(); 152 } 153 } 154 155 @Block() 156 public static class ClinicalImpressionInvestigationsComponent extends BackboneElement implements IBaseBackboneElement { 157 /** 158 * A name/code for the group ("set") of investigations. Typically, this will be something like "signs", "symptoms", "clinical", "diagnostic", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used. 159 */ 160 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 161 @Description(shortDefinition="A name/code for the set", formalDefinition="A name/code for the group (\"set\") of investigations. Typically, this will be something like \"signs\", \"symptoms\", \"clinical\", \"diagnostic\", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used." ) 162 protected CodeableConcept code; 163 164 /** 165 * A record of a specific investigation that was undertaken. 166 */ 167 @Child(name = "item", type = {Observation.class, QuestionnaireResponse.class, FamilyMemberHistory.class, DiagnosticReport.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 168 @Description(shortDefinition="Record of a specific investigation", formalDefinition="A record of a specific investigation that was undertaken." ) 169 protected List<Reference> item; 170 /** 171 * The actual objects that are the target of the reference (A record of a specific investigation that was undertaken.) 172 */ 173 protected List<Resource> itemTarget; 174 175 176 private static final long serialVersionUID = -301363326L; 177 178 /** 179 * Constructor 180 */ 181 public ClinicalImpressionInvestigationsComponent() { 182 super(); 183 } 184 185 /** 186 * Constructor 187 */ 188 public ClinicalImpressionInvestigationsComponent(CodeableConcept code) { 189 super(); 190 this.code = code; 191 } 192 193 /** 194 * @return {@link #code} (A name/code for the group ("set") of investigations. Typically, this will be something like "signs", "symptoms", "clinical", "diagnostic", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used.) 195 */ 196 public CodeableConcept getCode() { 197 if (this.code == null) 198 if (Configuration.errorOnAutoCreate()) 199 throw new Error("Attempt to auto-create ClinicalImpressionInvestigationsComponent.code"); 200 else if (Configuration.doAutoCreate()) 201 this.code = new CodeableConcept(); // cc 202 return this.code; 203 } 204 205 public boolean hasCode() { 206 return this.code != null && !this.code.isEmpty(); 207 } 208 209 /** 210 * @param value {@link #code} (A name/code for the group ("set") of investigations. Typically, this will be something like "signs", "symptoms", "clinical", "diagnostic", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used.) 211 */ 212 public ClinicalImpressionInvestigationsComponent setCode(CodeableConcept value) { 213 this.code = value; 214 return this; 215 } 216 217 /** 218 * @return {@link #item} (A record of a specific investigation that was undertaken.) 219 */ 220 public List<Reference> getItem() { 221 if (this.item == null) 222 this.item = new ArrayList<Reference>(); 223 return this.item; 224 } 225 226 public boolean hasItem() { 227 if (this.item == null) 228 return false; 229 for (Reference item : this.item) 230 if (!item.isEmpty()) 231 return true; 232 return false; 233 } 234 235 /** 236 * @return {@link #item} (A record of a specific investigation that was undertaken.) 237 */ 238 // syntactic sugar 239 public Reference addItem() { //3 240 Reference t = new Reference(); 241 if (this.item == null) 242 this.item = new ArrayList<Reference>(); 243 this.item.add(t); 244 return t; 245 } 246 247 // syntactic sugar 248 public ClinicalImpressionInvestigationsComponent addItem(Reference t) { //3 249 if (t == null) 250 return this; 251 if (this.item == null) 252 this.item = new ArrayList<Reference>(); 253 this.item.add(t); 254 return this; 255 } 256 257 /** 258 * @return {@link #item} (The actual objects that are the target of the reference. The reference library doesn't populate this, but you can use this to hold the resources if you resolvethemt. A record of a specific investigation that was undertaken.) 259 */ 260 public List<Resource> getItemTarget() { 261 if (this.itemTarget == null) 262 this.itemTarget = new ArrayList<Resource>(); 263 return this.itemTarget; 264 } 265 266 protected void listChildren(List<Property> childrenList) { 267 super.listChildren(childrenList); 268 childrenList.add(new Property("code", "CodeableConcept", "A name/code for the group (\"set\") of investigations. Typically, this will be something like \"signs\", \"symptoms\", \"clinical\", \"diagnostic\", but the list is not constrained, and others such groups such as (exposure|family|travel|nutitirional) history may be used.", 0, java.lang.Integer.MAX_VALUE, code)); 269 childrenList.add(new Property("item", "Reference(Observation|QuestionnaireResponse|FamilyMemberHistory|DiagnosticReport)", "A record of a specific investigation that was undertaken.", 0, java.lang.Integer.MAX_VALUE, item)); 270 } 271 272 @Override 273 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 274 switch (hash) { 275 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 276 case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // Reference 277 default: return super.getProperty(hash, name, checkValid); 278 } 279 280 } 281 282 @Override 283 public void setProperty(int hash, String name, Base value) throws FHIRException { 284 switch (hash) { 285 case 3059181: // code 286 this.code = castToCodeableConcept(value); // CodeableConcept 287 break; 288 case 3242771: // item 289 this.getItem().add(castToReference(value)); // Reference 290 break; 291 default: super.setProperty(hash, name, value); 292 } 293 294 } 295 296 @Override 297 public void setProperty(String name, Base value) throws FHIRException { 298 if (name.equals("code")) 299 this.code = castToCodeableConcept(value); // CodeableConcept 300 else if (name.equals("item")) 301 this.getItem().add(castToReference(value)); 302 else 303 super.setProperty(name, value); 304 } 305 306 @Override 307 public Base makeProperty(int hash, String name) throws FHIRException { 308 switch (hash) { 309 case 3059181: return getCode(); // CodeableConcept 310 case 3242771: return addItem(); // Reference 311 default: return super.makeProperty(hash, name); 312 } 313 314 } 315 316 @Override 317 public Base addChild(String name) throws FHIRException { 318 if (name.equals("code")) { 319 this.code = new CodeableConcept(); 320 return this.code; 321 } 322 else if (name.equals("item")) { 323 return addItem(); 324 } 325 else 326 return super.addChild(name); 327 } 328 329 public ClinicalImpressionInvestigationsComponent copy() { 330 ClinicalImpressionInvestigationsComponent dst = new ClinicalImpressionInvestigationsComponent(); 331 copyValues(dst); 332 dst.code = code == null ? null : code.copy(); 333 if (item != null) { 334 dst.item = new ArrayList<Reference>(); 335 for (Reference i : item) 336 dst.item.add(i.copy()); 337 }; 338 return dst; 339 } 340 341 @Override 342 public boolean equalsDeep(Base other) { 343 if (!super.equalsDeep(other)) 344 return false; 345 if (!(other instanceof ClinicalImpressionInvestigationsComponent)) 346 return false; 347 ClinicalImpressionInvestigationsComponent o = (ClinicalImpressionInvestigationsComponent) other; 348 return compareDeep(code, o.code, true) && compareDeep(item, o.item, true); 349 } 350 351 @Override 352 public boolean equalsShallow(Base other) { 353 if (!super.equalsShallow(other)) 354 return false; 355 if (!(other instanceof ClinicalImpressionInvestigationsComponent)) 356 return false; 357 ClinicalImpressionInvestigationsComponent o = (ClinicalImpressionInvestigationsComponent) other; 358 return true; 359 } 360 361 public boolean isEmpty() { 362 return super.isEmpty() && (code == null || code.isEmpty()) && (item == null || item.isEmpty()) 363 ; 364 } 365 366 public String fhirType() { 367 return "ClinicalImpression.investigations"; 368 369 } 370 371 } 372 373 @Block() 374 public static class ClinicalImpressionFindingComponent extends BackboneElement implements IBaseBackboneElement { 375 /** 376 * Specific text of code for finding or diagnosis. 377 */ 378 @Child(name = "item", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 379 @Description(shortDefinition="Specific text or code for finding", formalDefinition="Specific text of code for finding or diagnosis." ) 380 protected CodeableConcept item; 381 382 /** 383 * Which investigations support finding or diagnosis. 384 */ 385 @Child(name = "cause", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 386 @Description(shortDefinition="Which investigations support finding", formalDefinition="Which investigations support finding or diagnosis." ) 387 protected StringType cause; 388 389 private static final long serialVersionUID = -888590978L; 390 391 /** 392 * Constructor 393 */ 394 public ClinicalImpressionFindingComponent() { 395 super(); 396 } 397 398 /** 399 * Constructor 400 */ 401 public ClinicalImpressionFindingComponent(CodeableConcept item) { 402 super(); 403 this.item = item; 404 } 405 406 /** 407 * @return {@link #item} (Specific text of code for finding or diagnosis.) 408 */ 409 public CodeableConcept getItem() { 410 if (this.item == null) 411 if (Configuration.errorOnAutoCreate()) 412 throw new Error("Attempt to auto-create ClinicalImpressionFindingComponent.item"); 413 else if (Configuration.doAutoCreate()) 414 this.item = new CodeableConcept(); // cc 415 return this.item; 416 } 417 418 public boolean hasItem() { 419 return this.item != null && !this.item.isEmpty(); 420 } 421 422 /** 423 * @param value {@link #item} (Specific text of code for finding or diagnosis.) 424 */ 425 public ClinicalImpressionFindingComponent setItem(CodeableConcept value) { 426 this.item = value; 427 return this; 428 } 429 430 /** 431 * @return {@link #cause} (Which investigations support finding or diagnosis.). This is the underlying object with id, value and extensions. The accessor "getCause" gives direct access to the value 432 */ 433 public StringType getCauseElement() { 434 if (this.cause == null) 435 if (Configuration.errorOnAutoCreate()) 436 throw new Error("Attempt to auto-create ClinicalImpressionFindingComponent.cause"); 437 else if (Configuration.doAutoCreate()) 438 this.cause = new StringType(); // bb 439 return this.cause; 440 } 441 442 public boolean hasCauseElement() { 443 return this.cause != null && !this.cause.isEmpty(); 444 } 445 446 public boolean hasCause() { 447 return this.cause != null && !this.cause.isEmpty(); 448 } 449 450 /** 451 * @param value {@link #cause} (Which investigations support finding or diagnosis.). This is the underlying object with id, value and extensions. The accessor "getCause" gives direct access to the value 452 */ 453 public ClinicalImpressionFindingComponent setCauseElement(StringType value) { 454 this.cause = value; 455 return this; 456 } 457 458 /** 459 * @return Which investigations support finding or diagnosis. 460 */ 461 public String getCause() { 462 return this.cause == null ? null : this.cause.getValue(); 463 } 464 465 /** 466 * @param value Which investigations support finding or diagnosis. 467 */ 468 public ClinicalImpressionFindingComponent setCause(String value) { 469 if (Utilities.noString(value)) 470 this.cause = null; 471 else { 472 if (this.cause == null) 473 this.cause = new StringType(); 474 this.cause.setValue(value); 475 } 476 return this; 477 } 478 479 protected void listChildren(List<Property> childrenList) { 480 super.listChildren(childrenList); 481 childrenList.add(new Property("item", "CodeableConcept", "Specific text of code for finding or diagnosis.", 0, java.lang.Integer.MAX_VALUE, item)); 482 childrenList.add(new Property("cause", "string", "Which investigations support finding or diagnosis.", 0, java.lang.Integer.MAX_VALUE, cause)); 483 } 484 485 @Override 486 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 487 switch (hash) { 488 case 3242771: /*item*/ return this.item == null ? new Base[0] : new Base[] {this.item}; // CodeableConcept 489 case 94434409: /*cause*/ return this.cause == null ? new Base[0] : new Base[] {this.cause}; // StringType 490 default: return super.getProperty(hash, name, checkValid); 491 } 492 493 } 494 495 @Override 496 public void setProperty(int hash, String name, Base value) throws FHIRException { 497 switch (hash) { 498 case 3242771: // item 499 this.item = castToCodeableConcept(value); // CodeableConcept 500 break; 501 case 94434409: // cause 502 this.cause = castToString(value); // StringType 503 break; 504 default: super.setProperty(hash, name, value); 505 } 506 507 } 508 509 @Override 510 public void setProperty(String name, Base value) throws FHIRException { 511 if (name.equals("item")) 512 this.item = castToCodeableConcept(value); // CodeableConcept 513 else if (name.equals("cause")) 514 this.cause = castToString(value); // StringType 515 else 516 super.setProperty(name, value); 517 } 518 519 @Override 520 public Base makeProperty(int hash, String name) throws FHIRException { 521 switch (hash) { 522 case 3242771: return getItem(); // CodeableConcept 523 case 94434409: throw new FHIRException("Cannot make property cause as it is not a complex type"); // StringType 524 default: return super.makeProperty(hash, name); 525 } 526 527 } 528 529 @Override 530 public Base addChild(String name) throws FHIRException { 531 if (name.equals("item")) { 532 this.item = new CodeableConcept(); 533 return this.item; 534 } 535 else if (name.equals("cause")) { 536 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.cause"); 537 } 538 else 539 return super.addChild(name); 540 } 541 542 public ClinicalImpressionFindingComponent copy() { 543 ClinicalImpressionFindingComponent dst = new ClinicalImpressionFindingComponent(); 544 copyValues(dst); 545 dst.item = item == null ? null : item.copy(); 546 dst.cause = cause == null ? null : cause.copy(); 547 return dst; 548 } 549 550 @Override 551 public boolean equalsDeep(Base other) { 552 if (!super.equalsDeep(other)) 553 return false; 554 if (!(other instanceof ClinicalImpressionFindingComponent)) 555 return false; 556 ClinicalImpressionFindingComponent o = (ClinicalImpressionFindingComponent) other; 557 return compareDeep(item, o.item, true) && compareDeep(cause, o.cause, true); 558 } 559 560 @Override 561 public boolean equalsShallow(Base other) { 562 if (!super.equalsShallow(other)) 563 return false; 564 if (!(other instanceof ClinicalImpressionFindingComponent)) 565 return false; 566 ClinicalImpressionFindingComponent o = (ClinicalImpressionFindingComponent) other; 567 return compareValues(cause, o.cause, true); 568 } 569 570 public boolean isEmpty() { 571 return super.isEmpty() && (item == null || item.isEmpty()) && (cause == null || cause.isEmpty()) 572 ; 573 } 574 575 public String fhirType() { 576 return "ClinicalImpression.finding"; 577 578 } 579 580 } 581 582 @Block() 583 public static class ClinicalImpressionRuledOutComponent extends BackboneElement implements IBaseBackboneElement { 584 /** 585 * Specific text of code for diagnosis. 586 */ 587 @Child(name = "item", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 588 @Description(shortDefinition="Specific text of code for diagnosis", formalDefinition="Specific text of code for diagnosis." ) 589 protected CodeableConcept item; 590 591 /** 592 * Grounds for elimination. 593 */ 594 @Child(name = "reason", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 595 @Description(shortDefinition="Grounds for elimination", formalDefinition="Grounds for elimination." ) 596 protected StringType reason; 597 598 private static final long serialVersionUID = -1001661243L; 599 600 /** 601 * Constructor 602 */ 603 public ClinicalImpressionRuledOutComponent() { 604 super(); 605 } 606 607 /** 608 * Constructor 609 */ 610 public ClinicalImpressionRuledOutComponent(CodeableConcept item) { 611 super(); 612 this.item = item; 613 } 614 615 /** 616 * @return {@link #item} (Specific text of code for diagnosis.) 617 */ 618 public CodeableConcept getItem() { 619 if (this.item == null) 620 if (Configuration.errorOnAutoCreate()) 621 throw new Error("Attempt to auto-create ClinicalImpressionRuledOutComponent.item"); 622 else if (Configuration.doAutoCreate()) 623 this.item = new CodeableConcept(); // cc 624 return this.item; 625 } 626 627 public boolean hasItem() { 628 return this.item != null && !this.item.isEmpty(); 629 } 630 631 /** 632 * @param value {@link #item} (Specific text of code for diagnosis.) 633 */ 634 public ClinicalImpressionRuledOutComponent setItem(CodeableConcept value) { 635 this.item = value; 636 return this; 637 } 638 639 /** 640 * @return {@link #reason} (Grounds for elimination.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value 641 */ 642 public StringType getReasonElement() { 643 if (this.reason == null) 644 if (Configuration.errorOnAutoCreate()) 645 throw new Error("Attempt to auto-create ClinicalImpressionRuledOutComponent.reason"); 646 else if (Configuration.doAutoCreate()) 647 this.reason = new StringType(); // bb 648 return this.reason; 649 } 650 651 public boolean hasReasonElement() { 652 return this.reason != null && !this.reason.isEmpty(); 653 } 654 655 public boolean hasReason() { 656 return this.reason != null && !this.reason.isEmpty(); 657 } 658 659 /** 660 * @param value {@link #reason} (Grounds for elimination.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value 661 */ 662 public ClinicalImpressionRuledOutComponent setReasonElement(StringType value) { 663 this.reason = value; 664 return this; 665 } 666 667 /** 668 * @return Grounds for elimination. 669 */ 670 public String getReason() { 671 return this.reason == null ? null : this.reason.getValue(); 672 } 673 674 /** 675 * @param value Grounds for elimination. 676 */ 677 public ClinicalImpressionRuledOutComponent setReason(String value) { 678 if (Utilities.noString(value)) 679 this.reason = null; 680 else { 681 if (this.reason == null) 682 this.reason = new StringType(); 683 this.reason.setValue(value); 684 } 685 return this; 686 } 687 688 protected void listChildren(List<Property> childrenList) { 689 super.listChildren(childrenList); 690 childrenList.add(new Property("item", "CodeableConcept", "Specific text of code for diagnosis.", 0, java.lang.Integer.MAX_VALUE, item)); 691 childrenList.add(new Property("reason", "string", "Grounds for elimination.", 0, java.lang.Integer.MAX_VALUE, reason)); 692 } 693 694 @Override 695 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 696 switch (hash) { 697 case 3242771: /*item*/ return this.item == null ? new Base[0] : new Base[] {this.item}; // CodeableConcept 698 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // StringType 699 default: return super.getProperty(hash, name, checkValid); 700 } 701 702 } 703 704 @Override 705 public void setProperty(int hash, String name, Base value) throws FHIRException { 706 switch (hash) { 707 case 3242771: // item 708 this.item = castToCodeableConcept(value); // CodeableConcept 709 break; 710 case -934964668: // reason 711 this.reason = castToString(value); // StringType 712 break; 713 default: super.setProperty(hash, name, value); 714 } 715 716 } 717 718 @Override 719 public void setProperty(String name, Base value) throws FHIRException { 720 if (name.equals("item")) 721 this.item = castToCodeableConcept(value); // CodeableConcept 722 else if (name.equals("reason")) 723 this.reason = castToString(value); // StringType 724 else 725 super.setProperty(name, value); 726 } 727 728 @Override 729 public Base makeProperty(int hash, String name) throws FHIRException { 730 switch (hash) { 731 case 3242771: return getItem(); // CodeableConcept 732 case -934964668: throw new FHIRException("Cannot make property reason as it is not a complex type"); // StringType 733 default: return super.makeProperty(hash, name); 734 } 735 736 } 737 738 @Override 739 public Base addChild(String name) throws FHIRException { 740 if (name.equals("item")) { 741 this.item = new CodeableConcept(); 742 return this.item; 743 } 744 else if (name.equals("reason")) { 745 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.reason"); 746 } 747 else 748 return super.addChild(name); 749 } 750 751 public ClinicalImpressionRuledOutComponent copy() { 752 ClinicalImpressionRuledOutComponent dst = new ClinicalImpressionRuledOutComponent(); 753 copyValues(dst); 754 dst.item = item == null ? null : item.copy(); 755 dst.reason = reason == null ? null : reason.copy(); 756 return dst; 757 } 758 759 @Override 760 public boolean equalsDeep(Base other) { 761 if (!super.equalsDeep(other)) 762 return false; 763 if (!(other instanceof ClinicalImpressionRuledOutComponent)) 764 return false; 765 ClinicalImpressionRuledOutComponent o = (ClinicalImpressionRuledOutComponent) other; 766 return compareDeep(item, o.item, true) && compareDeep(reason, o.reason, true); 767 } 768 769 @Override 770 public boolean equalsShallow(Base other) { 771 if (!super.equalsShallow(other)) 772 return false; 773 if (!(other instanceof ClinicalImpressionRuledOutComponent)) 774 return false; 775 ClinicalImpressionRuledOutComponent o = (ClinicalImpressionRuledOutComponent) other; 776 return compareValues(reason, o.reason, true); 777 } 778 779 public boolean isEmpty() { 780 return super.isEmpty() && (item == null || item.isEmpty()) && (reason == null || reason.isEmpty()) 781 ; 782 } 783 784 public String fhirType() { 785 return "ClinicalImpression.ruledOut"; 786 787 } 788 789 } 790 791 /** 792 * The patient being assessed. 793 */ 794 @Child(name = "patient", type = {Patient.class}, order=0, min=1, max=1, modifier=false, summary=true) 795 @Description(shortDefinition="The patient being assessed", formalDefinition="The patient being assessed." ) 796 protected Reference patient; 797 798 /** 799 * The actual object that is the target of the reference (The patient being assessed.) 800 */ 801 protected Patient patientTarget; 802 803 /** 804 * The clinician performing the assessment. 805 */ 806 @Child(name = "assessor", type = {Practitioner.class}, order=1, min=0, max=1, modifier=false, summary=true) 807 @Description(shortDefinition="The clinician performing the assessment", formalDefinition="The clinician performing the assessment." ) 808 protected Reference assessor; 809 810 /** 811 * The actual object that is the target of the reference (The clinician performing the assessment.) 812 */ 813 protected Practitioner assessorTarget; 814 815 /** 816 * Identifies the workflow status of the assessment. 817 */ 818 @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) 819 @Description(shortDefinition="in-progress | completed | entered-in-error", formalDefinition="Identifies the workflow status of the assessment." ) 820 protected Enumeration<ClinicalImpressionStatus> status; 821 822 /** 823 * The point in time at which the assessment was concluded (not when it was recorded). 824 */ 825 @Child(name = "date", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=true) 826 @Description(shortDefinition="When the assessment occurred", formalDefinition="The point in time at which the assessment was concluded (not when it was recorded)." ) 827 protected DateTimeType date; 828 829 /** 830 * A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it. 831 */ 832 @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 833 @Description(shortDefinition="Why/how the assessment was performed", formalDefinition="A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it." ) 834 protected StringType description; 835 836 /** 837 * A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes. 838 */ 839 @Child(name = "previous", type = {ClinicalImpression.class}, order=5, min=0, max=1, modifier=false, summary=false) 840 @Description(shortDefinition="Reference to last assessment", formalDefinition="A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes." ) 841 protected Reference previous; 842 843 /** 844 * The actual object that is the target of the reference (A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 845 */ 846 protected ClinicalImpression previousTarget; 847 848 /** 849 * This a list of the general problems/conditions for a patient. 850 */ 851 @Child(name = "problem", type = {Condition.class, AllergyIntolerance.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 852 @Description(shortDefinition="General assessment of patient state", formalDefinition="This a list of the general problems/conditions for a patient." ) 853 protected List<Reference> problem; 854 /** 855 * The actual objects that are the target of the reference (This a list of the general problems/conditions for a patient.) 856 */ 857 protected List<Resource> problemTarget; 858 859 860 /** 861 * The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource. 862 */ 863 @Child(name = "trigger", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) 864 @Description(shortDefinition="Request or event that necessitated this assessment", formalDefinition="The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource." ) 865 protected Type trigger; 866 867 /** 868 * One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes. 869 */ 870 @Child(name = "investigations", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 871 @Description(shortDefinition="One or more sets of investigations (signs, symptions, etc.)", formalDefinition="One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes." ) 872 protected List<ClinicalImpressionInvestigationsComponent> investigations; 873 874 /** 875 * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. 876 */ 877 @Child(name = "protocol", type = {UriType.class}, order=9, min=0, max=1, modifier=false, summary=false) 878 @Description(shortDefinition="Clinical Protocol followed", formalDefinition="Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis." ) 879 protected UriType protocol; 880 881 /** 882 * A text summary of the investigations and the diagnosis. 883 */ 884 @Child(name = "summary", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) 885 @Description(shortDefinition="Summary of the assessment", formalDefinition="A text summary of the investigations and the diagnosis." ) 886 protected StringType summary; 887 888 /** 889 * Specific findings or diagnoses that was considered likely or relevant to ongoing treatment. 890 */ 891 @Child(name = "finding", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 892 @Description(shortDefinition="Possible or likely findings and diagnoses", formalDefinition="Specific findings or diagnoses that was considered likely or relevant to ongoing treatment." ) 893 protected List<ClinicalImpressionFindingComponent> finding; 894 895 /** 896 * Diagnoses/conditions resolved since the last assessment. 897 */ 898 @Child(name = "resolved", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 899 @Description(shortDefinition="Diagnoses/conditions resolved since previous assessment", formalDefinition="Diagnoses/conditions resolved since the last assessment." ) 900 protected List<CodeableConcept> resolved; 901 902 /** 903 * Diagnosis considered not possible. 904 */ 905 @Child(name = "ruledOut", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 906 @Description(shortDefinition="Diagnosis considered not possible", formalDefinition="Diagnosis considered not possible." ) 907 protected List<ClinicalImpressionRuledOutComponent> ruledOut; 908 909 /** 910 * Estimate of likely outcome. 911 */ 912 @Child(name = "prognosis", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false) 913 @Description(shortDefinition="Estimate of likely outcome", formalDefinition="Estimate of likely outcome." ) 914 protected StringType prognosis; 915 916 /** 917 * Plan of action after assessment. 918 */ 919 @Child(name = "plan", type = {CarePlan.class, Appointment.class, CommunicationRequest.class, DeviceUseRequest.class, DiagnosticOrder.class, MedicationOrder.class, NutritionOrder.class, Order.class, ProcedureRequest.class, ProcessRequest.class, ReferralRequest.class, SupplyRequest.class, VisionPrescription.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 920 @Description(shortDefinition="Plan of action after assessment", formalDefinition="Plan of action after assessment." ) 921 protected List<Reference> plan; 922 /** 923 * The actual objects that are the target of the reference (Plan of action after assessment.) 924 */ 925 protected List<Resource> planTarget; 926 927 928 /** 929 * Actions taken during assessment. 930 */ 931 @Child(name = "action", type = {ReferralRequest.class, ProcedureRequest.class, Procedure.class, MedicationOrder.class, DiagnosticOrder.class, NutritionOrder.class, SupplyRequest.class, Appointment.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 932 @Description(shortDefinition="Actions taken during assessment", formalDefinition="Actions taken during assessment." ) 933 protected List<Reference> action; 934 /** 935 * The actual objects that are the target of the reference (Actions taken during assessment.) 936 */ 937 protected List<Resource> actionTarget; 938 939 940 private static final long serialVersionUID = 1650458630L; 941 942 /** 943 * Constructor 944 */ 945 public ClinicalImpression() { 946 super(); 947 } 948 949 /** 950 * Constructor 951 */ 952 public ClinicalImpression(Reference patient, Enumeration<ClinicalImpressionStatus> status) { 953 super(); 954 this.patient = patient; 955 this.status = status; 956 } 957 958 /** 959 * @return {@link #patient} (The patient being assessed.) 960 */ 961 public Reference getPatient() { 962 if (this.patient == null) 963 if (Configuration.errorOnAutoCreate()) 964 throw new Error("Attempt to auto-create ClinicalImpression.patient"); 965 else if (Configuration.doAutoCreate()) 966 this.patient = new Reference(); // cc 967 return this.patient; 968 } 969 970 public boolean hasPatient() { 971 return this.patient != null && !this.patient.isEmpty(); 972 } 973 974 /** 975 * @param value {@link #patient} (The patient being assessed.) 976 */ 977 public ClinicalImpression setPatient(Reference value) { 978 this.patient = value; 979 return this; 980 } 981 982 /** 983 * @return {@link #patient} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The patient being assessed.) 984 */ 985 public Patient getPatientTarget() { 986 if (this.patientTarget == null) 987 if (Configuration.errorOnAutoCreate()) 988 throw new Error("Attempt to auto-create ClinicalImpression.patient"); 989 else if (Configuration.doAutoCreate()) 990 this.patientTarget = new Patient(); // aa 991 return this.patientTarget; 992 } 993 994 /** 995 * @param value {@link #patient} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The patient being assessed.) 996 */ 997 public ClinicalImpression setPatientTarget(Patient value) { 998 this.patientTarget = value; 999 return this; 1000 } 1001 1002 /** 1003 * @return {@link #assessor} (The clinician performing the assessment.) 1004 */ 1005 public Reference getAssessor() { 1006 if (this.assessor == null) 1007 if (Configuration.errorOnAutoCreate()) 1008 throw new Error("Attempt to auto-create ClinicalImpression.assessor"); 1009 else if (Configuration.doAutoCreate()) 1010 this.assessor = new Reference(); // cc 1011 return this.assessor; 1012 } 1013 1014 public boolean hasAssessor() { 1015 return this.assessor != null && !this.assessor.isEmpty(); 1016 } 1017 1018 /** 1019 * @param value {@link #assessor} (The clinician performing the assessment.) 1020 */ 1021 public ClinicalImpression setAssessor(Reference value) { 1022 this.assessor = value; 1023 return this; 1024 } 1025 1026 /** 1027 * @return {@link #assessor} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The clinician performing the assessment.) 1028 */ 1029 public Practitioner getAssessorTarget() { 1030 if (this.assessorTarget == null) 1031 if (Configuration.errorOnAutoCreate()) 1032 throw new Error("Attempt to auto-create ClinicalImpression.assessor"); 1033 else if (Configuration.doAutoCreate()) 1034 this.assessorTarget = new Practitioner(); // aa 1035 return this.assessorTarget; 1036 } 1037 1038 /** 1039 * @param value {@link #assessor} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The clinician performing the assessment.) 1040 */ 1041 public ClinicalImpression setAssessorTarget(Practitioner value) { 1042 this.assessorTarget = value; 1043 return this; 1044 } 1045 1046 /** 1047 * @return {@link #status} (Identifies the workflow status of the assessment.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1048 */ 1049 public Enumeration<ClinicalImpressionStatus> getStatusElement() { 1050 if (this.status == null) 1051 if (Configuration.errorOnAutoCreate()) 1052 throw new Error("Attempt to auto-create ClinicalImpression.status"); 1053 else if (Configuration.doAutoCreate()) 1054 this.status = new Enumeration<ClinicalImpressionStatus>(new ClinicalImpressionStatusEnumFactory()); // bb 1055 return this.status; 1056 } 1057 1058 public boolean hasStatusElement() { 1059 return this.status != null && !this.status.isEmpty(); 1060 } 1061 1062 public boolean hasStatus() { 1063 return this.status != null && !this.status.isEmpty(); 1064 } 1065 1066 /** 1067 * @param value {@link #status} (Identifies the workflow status of the assessment.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1068 */ 1069 public ClinicalImpression setStatusElement(Enumeration<ClinicalImpressionStatus> value) { 1070 this.status = value; 1071 return this; 1072 } 1073 1074 /** 1075 * @return Identifies the workflow status of the assessment. 1076 */ 1077 public ClinicalImpressionStatus getStatus() { 1078 return this.status == null ? null : this.status.getValue(); 1079 } 1080 1081 /** 1082 * @param value Identifies the workflow status of the assessment. 1083 */ 1084 public ClinicalImpression setStatus(ClinicalImpressionStatus value) { 1085 if (this.status == null) 1086 this.status = new Enumeration<ClinicalImpressionStatus>(new ClinicalImpressionStatusEnumFactory()); 1087 this.status.setValue(value); 1088 return this; 1089 } 1090 1091 /** 1092 * @return {@link #date} (The point in time at which the assessment was concluded (not when it was recorded).). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1093 */ 1094 public DateTimeType getDateElement() { 1095 if (this.date == null) 1096 if (Configuration.errorOnAutoCreate()) 1097 throw new Error("Attempt to auto-create ClinicalImpression.date"); 1098 else if (Configuration.doAutoCreate()) 1099 this.date = new DateTimeType(); // bb 1100 return this.date; 1101 } 1102 1103 public boolean hasDateElement() { 1104 return this.date != null && !this.date.isEmpty(); 1105 } 1106 1107 public boolean hasDate() { 1108 return this.date != null && !this.date.isEmpty(); 1109 } 1110 1111 /** 1112 * @param value {@link #date} (The point in time at which the assessment was concluded (not when it was recorded).). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1113 */ 1114 public ClinicalImpression setDateElement(DateTimeType value) { 1115 this.date = value; 1116 return this; 1117 } 1118 1119 /** 1120 * @return The point in time at which the assessment was concluded (not when it was recorded). 1121 */ 1122 public Date getDate() { 1123 return this.date == null ? null : this.date.getValue(); 1124 } 1125 1126 /** 1127 * @param value The point in time at which the assessment was concluded (not when it was recorded). 1128 */ 1129 public ClinicalImpression setDate(Date value) { 1130 if (value == null) 1131 this.date = null; 1132 else { 1133 if (this.date == null) 1134 this.date = new DateTimeType(); 1135 this.date.setValue(value); 1136 } 1137 return this; 1138 } 1139 1140 /** 1141 * @return {@link #description} (A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1142 */ 1143 public StringType getDescriptionElement() { 1144 if (this.description == null) 1145 if (Configuration.errorOnAutoCreate()) 1146 throw new Error("Attempt to auto-create ClinicalImpression.description"); 1147 else if (Configuration.doAutoCreate()) 1148 this.description = new StringType(); // bb 1149 return this.description; 1150 } 1151 1152 public boolean hasDescriptionElement() { 1153 return this.description != null && !this.description.isEmpty(); 1154 } 1155 1156 public boolean hasDescription() { 1157 return this.description != null && !this.description.isEmpty(); 1158 } 1159 1160 /** 1161 * @param value {@link #description} (A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1162 */ 1163 public ClinicalImpression setDescriptionElement(StringType value) { 1164 this.description = value; 1165 return this; 1166 } 1167 1168 /** 1169 * @return A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it. 1170 */ 1171 public String getDescription() { 1172 return this.description == null ? null : this.description.getValue(); 1173 } 1174 1175 /** 1176 * @param value A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it. 1177 */ 1178 public ClinicalImpression setDescription(String value) { 1179 if (Utilities.noString(value)) 1180 this.description = null; 1181 else { 1182 if (this.description == null) 1183 this.description = new StringType(); 1184 this.description.setValue(value); 1185 } 1186 return this; 1187 } 1188 1189 /** 1190 * @return {@link #previous} (A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 1191 */ 1192 public Reference getPrevious() { 1193 if (this.previous == null) 1194 if (Configuration.errorOnAutoCreate()) 1195 throw new Error("Attempt to auto-create ClinicalImpression.previous"); 1196 else if (Configuration.doAutoCreate()) 1197 this.previous = new Reference(); // cc 1198 return this.previous; 1199 } 1200 1201 public boolean hasPrevious() { 1202 return this.previous != null && !this.previous.isEmpty(); 1203 } 1204 1205 /** 1206 * @param value {@link #previous} (A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 1207 */ 1208 public ClinicalImpression setPrevious(Reference value) { 1209 this.previous = value; 1210 return this; 1211 } 1212 1213 /** 1214 * @return {@link #previous} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 1215 */ 1216 public ClinicalImpression getPreviousTarget() { 1217 if (this.previousTarget == null) 1218 if (Configuration.errorOnAutoCreate()) 1219 throw new Error("Attempt to auto-create ClinicalImpression.previous"); 1220 else if (Configuration.doAutoCreate()) 1221 this.previousTarget = new ClinicalImpression(); // aa 1222 return this.previousTarget; 1223 } 1224 1225 /** 1226 * @param value {@link #previous} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 1227 */ 1228 public ClinicalImpression setPreviousTarget(ClinicalImpression value) { 1229 this.previousTarget = value; 1230 return this; 1231 } 1232 1233 /** 1234 * @return {@link #problem} (This a list of the general problems/conditions for a patient.) 1235 */ 1236 public List<Reference> getProblem() { 1237 if (this.problem == null) 1238 this.problem = new ArrayList<Reference>(); 1239 return this.problem; 1240 } 1241 1242 public boolean hasProblem() { 1243 if (this.problem == null) 1244 return false; 1245 for (Reference item : this.problem) 1246 if (!item.isEmpty()) 1247 return true; 1248 return false; 1249 } 1250 1251 /** 1252 * @return {@link #problem} (This a list of the general problems/conditions for a patient.) 1253 */ 1254 // syntactic sugar 1255 public Reference addProblem() { //3 1256 Reference t = new Reference(); 1257 if (this.problem == null) 1258 this.problem = new ArrayList<Reference>(); 1259 this.problem.add(t); 1260 return t; 1261 } 1262 1263 // syntactic sugar 1264 public ClinicalImpression addProblem(Reference t) { //3 1265 if (t == null) 1266 return this; 1267 if (this.problem == null) 1268 this.problem = new ArrayList<Reference>(); 1269 this.problem.add(t); 1270 return this; 1271 } 1272 1273 /** 1274 * @return {@link #problem} (The actual objects that are the target of the reference. The reference library doesn't populate this, but you can use this to hold the resources if you resolvethemt. This a list of the general problems/conditions for a patient.) 1275 */ 1276 public List<Resource> getProblemTarget() { 1277 if (this.problemTarget == null) 1278 this.problemTarget = new ArrayList<Resource>(); 1279 return this.problemTarget; 1280 } 1281 1282 /** 1283 * @return {@link #trigger} (The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource.) 1284 */ 1285 public Type getTrigger() { 1286 return this.trigger; 1287 } 1288 1289 /** 1290 * @return {@link #trigger} (The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource.) 1291 */ 1292 public CodeableConcept getTriggerCodeableConcept() throws FHIRException { 1293 if (!(this.trigger instanceof CodeableConcept)) 1294 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.trigger.getClass().getName()+" was encountered"); 1295 return (CodeableConcept) this.trigger; 1296 } 1297 1298 public boolean hasTriggerCodeableConcept() { 1299 return this.trigger instanceof CodeableConcept; 1300 } 1301 1302 /** 1303 * @return {@link #trigger} (The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource.) 1304 */ 1305 public Reference getTriggerReference() throws FHIRException { 1306 if (!(this.trigger instanceof Reference)) 1307 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.trigger.getClass().getName()+" was encountered"); 1308 return (Reference) this.trigger; 1309 } 1310 1311 public boolean hasTriggerReference() { 1312 return this.trigger instanceof Reference; 1313 } 1314 1315 public boolean hasTrigger() { 1316 return this.trigger != null && !this.trigger.isEmpty(); 1317 } 1318 1319 /** 1320 * @param value {@link #trigger} (The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource.) 1321 */ 1322 public ClinicalImpression setTrigger(Type value) { 1323 this.trigger = value; 1324 return this; 1325 } 1326 1327 /** 1328 * @return {@link #investigations} (One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.) 1329 */ 1330 public List<ClinicalImpressionInvestigationsComponent> getInvestigations() { 1331 if (this.investigations == null) 1332 this.investigations = new ArrayList<ClinicalImpressionInvestigationsComponent>(); 1333 return this.investigations; 1334 } 1335 1336 public boolean hasInvestigations() { 1337 if (this.investigations == null) 1338 return false; 1339 for (ClinicalImpressionInvestigationsComponent item : this.investigations) 1340 if (!item.isEmpty()) 1341 return true; 1342 return false; 1343 } 1344 1345 /** 1346 * @return {@link #investigations} (One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.) 1347 */ 1348 // syntactic sugar 1349 public ClinicalImpressionInvestigationsComponent addInvestigations() { //3 1350 ClinicalImpressionInvestigationsComponent t = new ClinicalImpressionInvestigationsComponent(); 1351 if (this.investigations == null) 1352 this.investigations = new ArrayList<ClinicalImpressionInvestigationsComponent>(); 1353 this.investigations.add(t); 1354 return t; 1355 } 1356 1357 // syntactic sugar 1358 public ClinicalImpression addInvestigations(ClinicalImpressionInvestigationsComponent t) { //3 1359 if (t == null) 1360 return this; 1361 if (this.investigations == null) 1362 this.investigations = new ArrayList<ClinicalImpressionInvestigationsComponent>(); 1363 this.investigations.add(t); 1364 return this; 1365 } 1366 1367 /** 1368 * @return {@link #protocol} (Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.). This is the underlying object with id, value and extensions. The accessor "getProtocol" gives direct access to the value 1369 */ 1370 public UriType getProtocolElement() { 1371 if (this.protocol == null) 1372 if (Configuration.errorOnAutoCreate()) 1373 throw new Error("Attempt to auto-create ClinicalImpression.protocol"); 1374 else if (Configuration.doAutoCreate()) 1375 this.protocol = new UriType(); // bb 1376 return this.protocol; 1377 } 1378 1379 public boolean hasProtocolElement() { 1380 return this.protocol != null && !this.protocol.isEmpty(); 1381 } 1382 1383 public boolean hasProtocol() { 1384 return this.protocol != null && !this.protocol.isEmpty(); 1385 } 1386 1387 /** 1388 * @param value {@link #protocol} (Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.). This is the underlying object with id, value and extensions. The accessor "getProtocol" gives direct access to the value 1389 */ 1390 public ClinicalImpression setProtocolElement(UriType value) { 1391 this.protocol = value; 1392 return this; 1393 } 1394 1395 /** 1396 * @return Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. 1397 */ 1398 public String getProtocol() { 1399 return this.protocol == null ? null : this.protocol.getValue(); 1400 } 1401 1402 /** 1403 * @param value Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. 1404 */ 1405 public ClinicalImpression setProtocol(String value) { 1406 if (Utilities.noString(value)) 1407 this.protocol = null; 1408 else { 1409 if (this.protocol == null) 1410 this.protocol = new UriType(); 1411 this.protocol.setValue(value); 1412 } 1413 return this; 1414 } 1415 1416 /** 1417 * @return {@link #summary} (A text summary of the investigations and the diagnosis.). This is the underlying object with id, value and extensions. The accessor "getSummary" gives direct access to the value 1418 */ 1419 public StringType getSummaryElement() { 1420 if (this.summary == null) 1421 if (Configuration.errorOnAutoCreate()) 1422 throw new Error("Attempt to auto-create ClinicalImpression.summary"); 1423 else if (Configuration.doAutoCreate()) 1424 this.summary = new StringType(); // bb 1425 return this.summary; 1426 } 1427 1428 public boolean hasSummaryElement() { 1429 return this.summary != null && !this.summary.isEmpty(); 1430 } 1431 1432 public boolean hasSummary() { 1433 return this.summary != null && !this.summary.isEmpty(); 1434 } 1435 1436 /** 1437 * @param value {@link #summary} (A text summary of the investigations and the diagnosis.). This is the underlying object with id, value and extensions. The accessor "getSummary" gives direct access to the value 1438 */ 1439 public ClinicalImpression setSummaryElement(StringType value) { 1440 this.summary = value; 1441 return this; 1442 } 1443 1444 /** 1445 * @return A text summary of the investigations and the diagnosis. 1446 */ 1447 public String getSummary() { 1448 return this.summary == null ? null : this.summary.getValue(); 1449 } 1450 1451 /** 1452 * @param value A text summary of the investigations and the diagnosis. 1453 */ 1454 public ClinicalImpression setSummary(String value) { 1455 if (Utilities.noString(value)) 1456 this.summary = null; 1457 else { 1458 if (this.summary == null) 1459 this.summary = new StringType(); 1460 this.summary.setValue(value); 1461 } 1462 return this; 1463 } 1464 1465 /** 1466 * @return {@link #finding} (Specific findings or diagnoses that was considered likely or relevant to ongoing treatment.) 1467 */ 1468 public List<ClinicalImpressionFindingComponent> getFinding() { 1469 if (this.finding == null) 1470 this.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 1471 return this.finding; 1472 } 1473 1474 public boolean hasFinding() { 1475 if (this.finding == null) 1476 return false; 1477 for (ClinicalImpressionFindingComponent item : this.finding) 1478 if (!item.isEmpty()) 1479 return true; 1480 return false; 1481 } 1482 1483 /** 1484 * @return {@link #finding} (Specific findings or diagnoses that was considered likely or relevant to ongoing treatment.) 1485 */ 1486 // syntactic sugar 1487 public ClinicalImpressionFindingComponent addFinding() { //3 1488 ClinicalImpressionFindingComponent t = new ClinicalImpressionFindingComponent(); 1489 if (this.finding == null) 1490 this.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 1491 this.finding.add(t); 1492 return t; 1493 } 1494 1495 // syntactic sugar 1496 public ClinicalImpression addFinding(ClinicalImpressionFindingComponent t) { //3 1497 if (t == null) 1498 return this; 1499 if (this.finding == null) 1500 this.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 1501 this.finding.add(t); 1502 return this; 1503 } 1504 1505 /** 1506 * @return {@link #resolved} (Diagnoses/conditions resolved since the last assessment.) 1507 */ 1508 public List<CodeableConcept> getResolved() { 1509 if (this.resolved == null) 1510 this.resolved = new ArrayList<CodeableConcept>(); 1511 return this.resolved; 1512 } 1513 1514 public boolean hasResolved() { 1515 if (this.resolved == null) 1516 return false; 1517 for (CodeableConcept item : this.resolved) 1518 if (!item.isEmpty()) 1519 return true; 1520 return false; 1521 } 1522 1523 /** 1524 * @return {@link #resolved} (Diagnoses/conditions resolved since the last assessment.) 1525 */ 1526 // syntactic sugar 1527 public CodeableConcept addResolved() { //3 1528 CodeableConcept t = new CodeableConcept(); 1529 if (this.resolved == null) 1530 this.resolved = new ArrayList<CodeableConcept>(); 1531 this.resolved.add(t); 1532 return t; 1533 } 1534 1535 // syntactic sugar 1536 public ClinicalImpression addResolved(CodeableConcept t) { //3 1537 if (t == null) 1538 return this; 1539 if (this.resolved == null) 1540 this.resolved = new ArrayList<CodeableConcept>(); 1541 this.resolved.add(t); 1542 return this; 1543 } 1544 1545 /** 1546 * @return {@link #ruledOut} (Diagnosis considered not possible.) 1547 */ 1548 public List<ClinicalImpressionRuledOutComponent> getRuledOut() { 1549 if (this.ruledOut == null) 1550 this.ruledOut = new ArrayList<ClinicalImpressionRuledOutComponent>(); 1551 return this.ruledOut; 1552 } 1553 1554 public boolean hasRuledOut() { 1555 if (this.ruledOut == null) 1556 return false; 1557 for (ClinicalImpressionRuledOutComponent item : this.ruledOut) 1558 if (!item.isEmpty()) 1559 return true; 1560 return false; 1561 } 1562 1563 /** 1564 * @return {@link #ruledOut} (Diagnosis considered not possible.) 1565 */ 1566 // syntactic sugar 1567 public ClinicalImpressionRuledOutComponent addRuledOut() { //3 1568 ClinicalImpressionRuledOutComponent t = new ClinicalImpressionRuledOutComponent(); 1569 if (this.ruledOut == null) 1570 this.ruledOut = new ArrayList<ClinicalImpressionRuledOutComponent>(); 1571 this.ruledOut.add(t); 1572 return t; 1573 } 1574 1575 // syntactic sugar 1576 public ClinicalImpression addRuledOut(ClinicalImpressionRuledOutComponent t) { //3 1577 if (t == null) 1578 return this; 1579 if (this.ruledOut == null) 1580 this.ruledOut = new ArrayList<ClinicalImpressionRuledOutComponent>(); 1581 this.ruledOut.add(t); 1582 return this; 1583 } 1584 1585 /** 1586 * @return {@link #prognosis} (Estimate of likely outcome.). This is the underlying object with id, value and extensions. The accessor "getPrognosis" gives direct access to the value 1587 */ 1588 public StringType getPrognosisElement() { 1589 if (this.prognosis == null) 1590 if (Configuration.errorOnAutoCreate()) 1591 throw new Error("Attempt to auto-create ClinicalImpression.prognosis"); 1592 else if (Configuration.doAutoCreate()) 1593 this.prognosis = new StringType(); // bb 1594 return this.prognosis; 1595 } 1596 1597 public boolean hasPrognosisElement() { 1598 return this.prognosis != null && !this.prognosis.isEmpty(); 1599 } 1600 1601 public boolean hasPrognosis() { 1602 return this.prognosis != null && !this.prognosis.isEmpty(); 1603 } 1604 1605 /** 1606 * @param value {@link #prognosis} (Estimate of likely outcome.). This is the underlying object with id, value and extensions. The accessor "getPrognosis" gives direct access to the value 1607 */ 1608 public ClinicalImpression setPrognosisElement(StringType value) { 1609 this.prognosis = value; 1610 return this; 1611 } 1612 1613 /** 1614 * @return Estimate of likely outcome. 1615 */ 1616 public String getPrognosis() { 1617 return this.prognosis == null ? null : this.prognosis.getValue(); 1618 } 1619 1620 /** 1621 * @param value Estimate of likely outcome. 1622 */ 1623 public ClinicalImpression setPrognosis(String value) { 1624 if (Utilities.noString(value)) 1625 this.prognosis = null; 1626 else { 1627 if (this.prognosis == null) 1628 this.prognosis = new StringType(); 1629 this.prognosis.setValue(value); 1630 } 1631 return this; 1632 } 1633 1634 /** 1635 * @return {@link #plan} (Plan of action after assessment.) 1636 */ 1637 public List<Reference> getPlan() { 1638 if (this.plan == null) 1639 this.plan = new ArrayList<Reference>(); 1640 return this.plan; 1641 } 1642 1643 public boolean hasPlan() { 1644 if (this.plan == null) 1645 return false; 1646 for (Reference item : this.plan) 1647 if (!item.isEmpty()) 1648 return true; 1649 return false; 1650 } 1651 1652 /** 1653 * @return {@link #plan} (Plan of action after assessment.) 1654 */ 1655 // syntactic sugar 1656 public Reference addPlan() { //3 1657 Reference t = new Reference(); 1658 if (this.plan == null) 1659 this.plan = new ArrayList<Reference>(); 1660 this.plan.add(t); 1661 return t; 1662 } 1663 1664 // syntactic sugar 1665 public ClinicalImpression addPlan(Reference t) { //3 1666 if (t == null) 1667 return this; 1668 if (this.plan == null) 1669 this.plan = new ArrayList<Reference>(); 1670 this.plan.add(t); 1671 return this; 1672 } 1673 1674 /** 1675 * @return {@link #plan} (The actual objects that are the target of the reference. The reference library doesn't populate this, but you can use this to hold the resources if you resolvethemt. Plan of action after assessment.) 1676 */ 1677 public List<Resource> getPlanTarget() { 1678 if (this.planTarget == null) 1679 this.planTarget = new ArrayList<Resource>(); 1680 return this.planTarget; 1681 } 1682 1683 /** 1684 * @return {@link #action} (Actions taken during assessment.) 1685 */ 1686 public List<Reference> getAction() { 1687 if (this.action == null) 1688 this.action = new ArrayList<Reference>(); 1689 return this.action; 1690 } 1691 1692 public boolean hasAction() { 1693 if (this.action == null) 1694 return false; 1695 for (Reference item : this.action) 1696 if (!item.isEmpty()) 1697 return true; 1698 return false; 1699 } 1700 1701 /** 1702 * @return {@link #action} (Actions taken during assessment.) 1703 */ 1704 // syntactic sugar 1705 public Reference addAction() { //3 1706 Reference t = new Reference(); 1707 if (this.action == null) 1708 this.action = new ArrayList<Reference>(); 1709 this.action.add(t); 1710 return t; 1711 } 1712 1713 // syntactic sugar 1714 public ClinicalImpression addAction(Reference t) { //3 1715 if (t == null) 1716 return this; 1717 if (this.action == null) 1718 this.action = new ArrayList<Reference>(); 1719 this.action.add(t); 1720 return this; 1721 } 1722 1723 /** 1724 * @return {@link #action} (The actual objects that are the target of the reference. The reference library doesn't populate this, but you can use this to hold the resources if you resolvethemt. Actions taken during assessment.) 1725 */ 1726 public List<Resource> getActionTarget() { 1727 if (this.actionTarget == null) 1728 this.actionTarget = new ArrayList<Resource>(); 1729 return this.actionTarget; 1730 } 1731 1732 protected void listChildren(List<Property> childrenList) { 1733 super.listChildren(childrenList); 1734 childrenList.add(new Property("patient", "Reference(Patient)", "The patient being assessed.", 0, java.lang.Integer.MAX_VALUE, patient)); 1735 childrenList.add(new Property("assessor", "Reference(Practitioner)", "The clinician performing the assessment.", 0, java.lang.Integer.MAX_VALUE, assessor)); 1736 childrenList.add(new Property("status", "code", "Identifies the workflow status of the assessment.", 0, java.lang.Integer.MAX_VALUE, status)); 1737 childrenList.add(new Property("date", "dateTime", "The point in time at which the assessment was concluded (not when it was recorded).", 0, java.lang.Integer.MAX_VALUE, date)); 1738 childrenList.add(new Property("description", "string", "A summary of the context and/or cause of the assessment - why / where was it peformed, and what patient events/sstatus prompted it.", 0, java.lang.Integer.MAX_VALUE, description)); 1739 childrenList.add(new Property("previous", "Reference(ClinicalImpression)", "A reference to the last assesment that was conducted bon this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.", 0, java.lang.Integer.MAX_VALUE, previous)); 1740 childrenList.add(new Property("problem", "Reference(Condition|AllergyIntolerance)", "This a list of the general problems/conditions for a patient.", 0, java.lang.Integer.MAX_VALUE, problem)); 1741 childrenList.add(new Property("trigger[x]", "CodeableConcept|Reference(Any)", "The request or event that necessitated this assessment. This may be a diagnosis, a Care Plan, a Request Referral, or some other resource.", 0, java.lang.Integer.MAX_VALUE, trigger)); 1742 childrenList.add(new Property("investigations", "", "One or more sets of investigations (signs, symptions, etc.). The actual grouping of investigations vary greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.", 0, java.lang.Integer.MAX_VALUE, investigations)); 1743 childrenList.add(new Property("protocol", "uri", "Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.", 0, java.lang.Integer.MAX_VALUE, protocol)); 1744 childrenList.add(new Property("summary", "string", "A text summary of the investigations and the diagnosis.", 0, java.lang.Integer.MAX_VALUE, summary)); 1745 childrenList.add(new Property("finding", "", "Specific findings or diagnoses that was considered likely or relevant to ongoing treatment.", 0, java.lang.Integer.MAX_VALUE, finding)); 1746 childrenList.add(new Property("resolved", "CodeableConcept", "Diagnoses/conditions resolved since the last assessment.", 0, java.lang.Integer.MAX_VALUE, resolved)); 1747 childrenList.add(new Property("ruledOut", "", "Diagnosis considered not possible.", 0, java.lang.Integer.MAX_VALUE, ruledOut)); 1748 childrenList.add(new Property("prognosis", "string", "Estimate of likely outcome.", 0, java.lang.Integer.MAX_VALUE, prognosis)); 1749 childrenList.add(new Property("plan", "Reference(CarePlan|Appointment|CommunicationRequest|DeviceUseRequest|DiagnosticOrder|MedicationOrder|NutritionOrder|Order|ProcedureRequest|ProcessRequest|ReferralRequest|SupplyRequest|VisionPrescription)", "Plan of action after assessment.", 0, java.lang.Integer.MAX_VALUE, plan)); 1750 childrenList.add(new Property("action", "Reference(ReferralRequest|ProcedureRequest|Procedure|MedicationOrder|DiagnosticOrder|NutritionOrder|SupplyRequest|Appointment)", "Actions taken during assessment.", 0, java.lang.Integer.MAX_VALUE, action)); 1751 } 1752 1753 @Override 1754 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1755 switch (hash) { 1756 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 1757 case -373213113: /*assessor*/ return this.assessor == null ? new Base[0] : new Base[] {this.assessor}; // Reference 1758 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ClinicalImpressionStatus> 1759 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1760 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1761 case -1273775369: /*previous*/ return this.previous == null ? new Base[0] : new Base[] {this.previous}; // Reference 1762 case -309542241: /*problem*/ return this.problem == null ? new Base[0] : this.problem.toArray(new Base[this.problem.size()]); // Reference 1763 case -1059891784: /*trigger*/ return this.trigger == null ? new Base[0] : new Base[] {this.trigger}; // Type 1764 case -428294735: /*investigations*/ return this.investigations == null ? new Base[0] : this.investigations.toArray(new Base[this.investigations.size()]); // ClinicalImpressionInvestigationsComponent 1765 case -989163880: /*protocol*/ return this.protocol == null ? new Base[0] : new Base[] {this.protocol}; // UriType 1766 case -1857640538: /*summary*/ return this.summary == null ? new Base[0] : new Base[] {this.summary}; // StringType 1767 case -853173367: /*finding*/ return this.finding == null ? new Base[0] : this.finding.toArray(new Base[this.finding.size()]); // ClinicalImpressionFindingComponent 1768 case -341328904: /*resolved*/ return this.resolved == null ? new Base[0] : this.resolved.toArray(new Base[this.resolved.size()]); // CodeableConcept 1769 case 763913542: /*ruledOut*/ return this.ruledOut == null ? new Base[0] : this.ruledOut.toArray(new Base[this.ruledOut.size()]); // ClinicalImpressionRuledOutComponent 1770 case -972050334: /*prognosis*/ return this.prognosis == null ? new Base[0] : new Base[] {this.prognosis}; // StringType 1771 case 3443497: /*plan*/ return this.plan == null ? new Base[0] : this.plan.toArray(new Base[this.plan.size()]); // Reference 1772 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // Reference 1773 default: return super.getProperty(hash, name, checkValid); 1774 } 1775 1776 } 1777 1778 @Override 1779 public void setProperty(int hash, String name, Base value) throws FHIRException { 1780 switch (hash) { 1781 case -791418107: // patient 1782 this.patient = castToReference(value); // Reference 1783 break; 1784 case -373213113: // assessor 1785 this.assessor = castToReference(value); // Reference 1786 break; 1787 case -892481550: // status 1788 this.status = new ClinicalImpressionStatusEnumFactory().fromType(value); // Enumeration<ClinicalImpressionStatus> 1789 break; 1790 case 3076014: // date 1791 this.date = castToDateTime(value); // DateTimeType 1792 break; 1793 case -1724546052: // description 1794 this.description = castToString(value); // StringType 1795 break; 1796 case -1273775369: // previous 1797 this.previous = castToReference(value); // Reference 1798 break; 1799 case -309542241: // problem 1800 this.getProblem().add(castToReference(value)); // Reference 1801 break; 1802 case -1059891784: // trigger 1803 this.trigger = (Type) value; // Type 1804 break; 1805 case -428294735: // investigations 1806 this.getInvestigations().add((ClinicalImpressionInvestigationsComponent) value); // ClinicalImpressionInvestigationsComponent 1807 break; 1808 case -989163880: // protocol 1809 this.protocol = castToUri(value); // UriType 1810 break; 1811 case -1857640538: // summary 1812 this.summary = castToString(value); // StringType 1813 break; 1814 case -853173367: // finding 1815 this.getFinding().add((ClinicalImpressionFindingComponent) value); // ClinicalImpressionFindingComponent 1816 break; 1817 case -341328904: // resolved 1818 this.getResolved().add(castToCodeableConcept(value)); // CodeableConcept 1819 break; 1820 case 763913542: // ruledOut 1821 this.getRuledOut().add((ClinicalImpressionRuledOutComponent) value); // ClinicalImpressionRuledOutComponent 1822 break; 1823 case -972050334: // prognosis 1824 this.prognosis = castToString(value); // StringType 1825 break; 1826 case 3443497: // plan 1827 this.getPlan().add(castToReference(value)); // Reference 1828 break; 1829 case -1422950858: // action 1830 this.getAction().add(castToReference(value)); // Reference 1831 break; 1832 default: super.setProperty(hash, name, value); 1833 } 1834 1835 } 1836 1837 @Override 1838 public void setProperty(String name, Base value) throws FHIRException { 1839 if (name.equals("patient")) 1840 this.patient = castToReference(value); // Reference 1841 else if (name.equals("assessor")) 1842 this.assessor = castToReference(value); // Reference 1843 else if (name.equals("status")) 1844 this.status = new ClinicalImpressionStatusEnumFactory().fromType(value); // Enumeration<ClinicalImpressionStatus> 1845 else if (name.equals("date")) 1846 this.date = castToDateTime(value); // DateTimeType 1847 else if (name.equals("description")) 1848 this.description = castToString(value); // StringType 1849 else if (name.equals("previous")) 1850 this.previous = castToReference(value); // Reference 1851 else if (name.equals("problem")) 1852 this.getProblem().add(castToReference(value)); 1853 else if (name.equals("trigger[x]")) 1854 this.trigger = (Type) value; // Type 1855 else if (name.equals("investigations")) 1856 this.getInvestigations().add((ClinicalImpressionInvestigationsComponent) value); 1857 else if (name.equals("protocol")) 1858 this.protocol = castToUri(value); // UriType 1859 else if (name.equals("summary")) 1860 this.summary = castToString(value); // StringType 1861 else if (name.equals("finding")) 1862 this.getFinding().add((ClinicalImpressionFindingComponent) value); 1863 else if (name.equals("resolved")) 1864 this.getResolved().add(castToCodeableConcept(value)); 1865 else if (name.equals("ruledOut")) 1866 this.getRuledOut().add((ClinicalImpressionRuledOutComponent) value); 1867 else if (name.equals("prognosis")) 1868 this.prognosis = castToString(value); // StringType 1869 else if (name.equals("plan")) 1870 this.getPlan().add(castToReference(value)); 1871 else if (name.equals("action")) 1872 this.getAction().add(castToReference(value)); 1873 else 1874 super.setProperty(name, value); 1875 } 1876 1877 @Override 1878 public Base makeProperty(int hash, String name) throws FHIRException { 1879 switch (hash) { 1880 case -791418107: return getPatient(); // Reference 1881 case -373213113: return getAssessor(); // Reference 1882 case -892481550: throw new FHIRException("Cannot make property status as it is not a complex type"); // Enumeration<ClinicalImpressionStatus> 1883 case 3076014: throw new FHIRException("Cannot make property date as it is not a complex type"); // DateTimeType 1884 case -1724546052: throw new FHIRException("Cannot make property description as it is not a complex type"); // StringType 1885 case -1273775369: return getPrevious(); // Reference 1886 case -309542241: return addProblem(); // Reference 1887 case 1363514312: return getTrigger(); // Type 1888 case -428294735: return addInvestigations(); // ClinicalImpressionInvestigationsComponent 1889 case -989163880: throw new FHIRException("Cannot make property protocol as it is not a complex type"); // UriType 1890 case -1857640538: throw new FHIRException("Cannot make property summary as it is not a complex type"); // StringType 1891 case -853173367: return addFinding(); // ClinicalImpressionFindingComponent 1892 case -341328904: return addResolved(); // CodeableConcept 1893 case 763913542: return addRuledOut(); // ClinicalImpressionRuledOutComponent 1894 case -972050334: throw new FHIRException("Cannot make property prognosis as it is not a complex type"); // StringType 1895 case 3443497: return addPlan(); // Reference 1896 case -1422950858: return addAction(); // Reference 1897 default: return super.makeProperty(hash, name); 1898 } 1899 1900 } 1901 1902 @Override 1903 public Base addChild(String name) throws FHIRException { 1904 if (name.equals("patient")) { 1905 this.patient = new Reference(); 1906 return this.patient; 1907 } 1908 else if (name.equals("assessor")) { 1909 this.assessor = new Reference(); 1910 return this.assessor; 1911 } 1912 else if (name.equals("status")) { 1913 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.status"); 1914 } 1915 else if (name.equals("date")) { 1916 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.date"); 1917 } 1918 else if (name.equals("description")) { 1919 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.description"); 1920 } 1921 else if (name.equals("previous")) { 1922 this.previous = new Reference(); 1923 return this.previous; 1924 } 1925 else if (name.equals("problem")) { 1926 return addProblem(); 1927 } 1928 else if (name.equals("triggerCodeableConcept")) { 1929 this.trigger = new CodeableConcept(); 1930 return this.trigger; 1931 } 1932 else if (name.equals("triggerReference")) { 1933 this.trigger = new Reference(); 1934 return this.trigger; 1935 } 1936 else if (name.equals("investigations")) { 1937 return addInvestigations(); 1938 } 1939 else if (name.equals("protocol")) { 1940 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.protocol"); 1941 } 1942 else if (name.equals("summary")) { 1943 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.summary"); 1944 } 1945 else if (name.equals("finding")) { 1946 return addFinding(); 1947 } 1948 else if (name.equals("resolved")) { 1949 return addResolved(); 1950 } 1951 else if (name.equals("ruledOut")) { 1952 return addRuledOut(); 1953 } 1954 else if (name.equals("prognosis")) { 1955 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.prognosis"); 1956 } 1957 else if (name.equals("plan")) { 1958 return addPlan(); 1959 } 1960 else if (name.equals("action")) { 1961 return addAction(); 1962 } 1963 else 1964 return super.addChild(name); 1965 } 1966 1967 public String fhirType() { 1968 return "ClinicalImpression"; 1969 1970 } 1971 1972 public ClinicalImpression copy() { 1973 ClinicalImpression dst = new ClinicalImpression(); 1974 copyValues(dst); 1975 dst.patient = patient == null ? null : patient.copy(); 1976 dst.assessor = assessor == null ? null : assessor.copy(); 1977 dst.status = status == null ? null : status.copy(); 1978 dst.date = date == null ? null : date.copy(); 1979 dst.description = description == null ? null : description.copy(); 1980 dst.previous = previous == null ? null : previous.copy(); 1981 if (problem != null) { 1982 dst.problem = new ArrayList<Reference>(); 1983 for (Reference i : problem) 1984 dst.problem.add(i.copy()); 1985 }; 1986 dst.trigger = trigger == null ? null : trigger.copy(); 1987 if (investigations != null) { 1988 dst.investigations = new ArrayList<ClinicalImpressionInvestigationsComponent>(); 1989 for (ClinicalImpressionInvestigationsComponent i : investigations) 1990 dst.investigations.add(i.copy()); 1991 }; 1992 dst.protocol = protocol == null ? null : protocol.copy(); 1993 dst.summary = summary == null ? null : summary.copy(); 1994 if (finding != null) { 1995 dst.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 1996 for (ClinicalImpressionFindingComponent i : finding) 1997 dst.finding.add(i.copy()); 1998 }; 1999 if (resolved != null) { 2000 dst.resolved = new ArrayList<CodeableConcept>(); 2001 for (CodeableConcept i : resolved) 2002 dst.resolved.add(i.copy()); 2003 }; 2004 if (ruledOut != null) { 2005 dst.ruledOut = new ArrayList<ClinicalImpressionRuledOutComponent>(); 2006 for (ClinicalImpressionRuledOutComponent i : ruledOut) 2007 dst.ruledOut.add(i.copy()); 2008 }; 2009 dst.prognosis = prognosis == null ? null : prognosis.copy(); 2010 if (plan != null) { 2011 dst.plan = new ArrayList<Reference>(); 2012 for (Reference i : plan) 2013 dst.plan.add(i.copy()); 2014 }; 2015 if (action != null) { 2016 dst.action = new ArrayList<Reference>(); 2017 for (Reference i : action) 2018 dst.action.add(i.copy()); 2019 }; 2020 return dst; 2021 } 2022 2023 protected ClinicalImpression typedCopy() { 2024 return copy(); 2025 } 2026 2027 @Override 2028 public boolean equalsDeep(Base other) { 2029 if (!super.equalsDeep(other)) 2030 return false; 2031 if (!(other instanceof ClinicalImpression)) 2032 return false; 2033 ClinicalImpression o = (ClinicalImpression) other; 2034 return compareDeep(patient, o.patient, true) && compareDeep(assessor, o.assessor, true) && compareDeep(status, o.status, true) 2035 && compareDeep(date, o.date, true) && compareDeep(description, o.description, true) && compareDeep(previous, o.previous, true) 2036 && compareDeep(problem, o.problem, true) && compareDeep(trigger, o.trigger, true) && compareDeep(investigations, o.investigations, true) 2037 && compareDeep(protocol, o.protocol, true) && compareDeep(summary, o.summary, true) && compareDeep(finding, o.finding, true) 2038 && compareDeep(resolved, o.resolved, true) && compareDeep(ruledOut, o.ruledOut, true) && compareDeep(prognosis, o.prognosis, true) 2039 && compareDeep(plan, o.plan, true) && compareDeep(action, o.action, true); 2040 } 2041 2042 @Override 2043 public boolean equalsShallow(Base other) { 2044 if (!super.equalsShallow(other)) 2045 return false; 2046 if (!(other instanceof ClinicalImpression)) 2047 return false; 2048 ClinicalImpression o = (ClinicalImpression) other; 2049 return compareValues(status, o.status, true) && compareValues(date, o.date, true) && compareValues(description, o.description, true) 2050 && compareValues(protocol, o.protocol, true) && compareValues(summary, o.summary, true) && compareValues(prognosis, o.prognosis, true) 2051 ; 2052 } 2053 2054 public boolean isEmpty() { 2055 return super.isEmpty() && (patient == null || patient.isEmpty()) && (assessor == null || assessor.isEmpty()) 2056 && (status == null || status.isEmpty()) && (date == null || date.isEmpty()) && (description == null || description.isEmpty()) 2057 && (previous == null || previous.isEmpty()) && (problem == null || problem.isEmpty()) && (trigger == null || trigger.isEmpty()) 2058 && (investigations == null || investigations.isEmpty()) && (protocol == null || protocol.isEmpty()) 2059 && (summary == null || summary.isEmpty()) && (finding == null || finding.isEmpty()) && (resolved == null || resolved.isEmpty()) 2060 && (ruledOut == null || ruledOut.isEmpty()) && (prognosis == null || prognosis.isEmpty()) 2061 && (plan == null || plan.isEmpty()) && (action == null || action.isEmpty()); 2062 } 2063 2064 @Override 2065 public ResourceType getResourceType() { 2066 return ResourceType.ClinicalImpression; 2067 } 2068 2069 /** 2070 * Search parameter: <b>assessor</b> 2071 * <p> 2072 * Description: <b>The clinician performing the assessment</b><br> 2073 * Type: <b>reference</b><br> 2074 * Path: <b>ClinicalImpression.assessor</b><br> 2075 * </p> 2076 */ 2077 @SearchParamDefinition(name="assessor", path="ClinicalImpression.assessor", description="The clinician performing the assessment", type="reference" ) 2078 public static final String SP_ASSESSOR = "assessor"; 2079 /** 2080 * <b>Fluent Client</b> search parameter constant for <b>assessor</b> 2081 * <p> 2082 * Description: <b>The clinician performing the assessment</b><br> 2083 * Type: <b>reference</b><br> 2084 * Path: <b>ClinicalImpression.assessor</b><br> 2085 * </p> 2086 */ 2087 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ASSESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ASSESSOR); 2088 2089/** 2090 * Constant for fluent queries to be used to add include statements. Specifies 2091 * the path value of "<b>ClinicalImpression:assessor</b>". 2092 */ 2093 public static final ca.uhn.fhir.model.api.Include INCLUDE_ASSESSOR = new ca.uhn.fhir.model.api.Include("ClinicalImpression:assessor").toLocked(); 2094 2095 /** 2096 * Search parameter: <b>trigger</b> 2097 * <p> 2098 * Description: <b>Request or event that necessitated this assessment</b><br> 2099 * Type: <b>reference</b><br> 2100 * Path: <b>ClinicalImpression.triggerReference</b><br> 2101 * </p> 2102 */ 2103 @SearchParamDefinition(name="trigger", path="ClinicalImpression.trigger.as(Reference)", description="Request or event that necessitated this assessment", type="reference" ) 2104 public static final String SP_TRIGGER = "trigger"; 2105 /** 2106 * <b>Fluent Client</b> search parameter constant for <b>trigger</b> 2107 * <p> 2108 * Description: <b>Request or event that necessitated this assessment</b><br> 2109 * Type: <b>reference</b><br> 2110 * Path: <b>ClinicalImpression.triggerReference</b><br> 2111 * </p> 2112 */ 2113 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TRIGGER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TRIGGER); 2114 2115/** 2116 * Constant for fluent queries to be used to add include statements. Specifies 2117 * the path value of "<b>ClinicalImpression:trigger</b>". 2118 */ 2119 public static final ca.uhn.fhir.model.api.Include INCLUDE_TRIGGER = new ca.uhn.fhir.model.api.Include("ClinicalImpression:trigger").toLocked(); 2120 2121 /** 2122 * Search parameter: <b>patient</b> 2123 * <p> 2124 * Description: <b>The patient being assessed</b><br> 2125 * Type: <b>reference</b><br> 2126 * Path: <b>ClinicalImpression.patient</b><br> 2127 * </p> 2128 */ 2129 @SearchParamDefinition(name="patient", path="ClinicalImpression.patient", description="The patient being assessed", type="reference" ) 2130 public static final String SP_PATIENT = "patient"; 2131 /** 2132 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2133 * <p> 2134 * Description: <b>The patient being assessed</b><br> 2135 * Type: <b>reference</b><br> 2136 * Path: <b>ClinicalImpression.patient</b><br> 2137 * </p> 2138 */ 2139 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2140 2141/** 2142 * Constant for fluent queries to be used to add include statements. Specifies 2143 * the path value of "<b>ClinicalImpression:patient</b>". 2144 */ 2145 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ClinicalImpression:patient").toLocked(); 2146 2147 /** 2148 * Search parameter: <b>plan</b> 2149 * <p> 2150 * Description: <b>Plan of action after assessment</b><br> 2151 * Type: <b>reference</b><br> 2152 * Path: <b>ClinicalImpression.plan</b><br> 2153 * </p> 2154 */ 2155 @SearchParamDefinition(name="plan", path="ClinicalImpression.plan", description="Plan of action after assessment", type="reference" ) 2156 public static final String SP_PLAN = "plan"; 2157 /** 2158 * <b>Fluent Client</b> search parameter constant for <b>plan</b> 2159 * <p> 2160 * Description: <b>Plan of action after assessment</b><br> 2161 * Type: <b>reference</b><br> 2162 * Path: <b>ClinicalImpression.plan</b><br> 2163 * </p> 2164 */ 2165 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PLAN = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PLAN); 2166 2167/** 2168 * Constant for fluent queries to be used to add include statements. Specifies 2169 * the path value of "<b>ClinicalImpression:plan</b>". 2170 */ 2171 public static final ca.uhn.fhir.model.api.Include INCLUDE_PLAN = new ca.uhn.fhir.model.api.Include("ClinicalImpression:plan").toLocked(); 2172 2173 /** 2174 * Search parameter: <b>resolved</b> 2175 * <p> 2176 * Description: <b>Diagnoses/conditions resolved since previous assessment</b><br> 2177 * Type: <b>token</b><br> 2178 * Path: <b>ClinicalImpression.resolved</b><br> 2179 * </p> 2180 */ 2181 @SearchParamDefinition(name="resolved", path="ClinicalImpression.resolved", description="Diagnoses/conditions resolved since previous assessment", type="token" ) 2182 public static final String SP_RESOLVED = "resolved"; 2183 /** 2184 * <b>Fluent Client</b> search parameter constant for <b>resolved</b> 2185 * <p> 2186 * Description: <b>Diagnoses/conditions resolved since previous assessment</b><br> 2187 * Type: <b>token</b><br> 2188 * Path: <b>ClinicalImpression.resolved</b><br> 2189 * </p> 2190 */ 2191 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RESOLVED = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RESOLVED); 2192 2193 /** 2194 * Search parameter: <b>trigger-code</b> 2195 * <p> 2196 * Description: <b>Request or event that necessitated this assessment</b><br> 2197 * Type: <b>token</b><br> 2198 * Path: <b>ClinicalImpression.triggerCodeableConcept</b><br> 2199 * </p> 2200 */ 2201 @SearchParamDefinition(name="trigger-code", path="ClinicalImpression.trigger.as(CodeableConcept)", description="Request or event that necessitated this assessment", type="token" ) 2202 public static final String SP_TRIGGER_CODE = "trigger-code"; 2203 /** 2204 * <b>Fluent Client</b> search parameter constant for <b>trigger-code</b> 2205 * <p> 2206 * Description: <b>Request or event that necessitated this assessment</b><br> 2207 * Type: <b>token</b><br> 2208 * Path: <b>ClinicalImpression.triggerCodeableConcept</b><br> 2209 * </p> 2210 */ 2211 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TRIGGER_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TRIGGER_CODE); 2212 2213 /** 2214 * Search parameter: <b>previous</b> 2215 * <p> 2216 * Description: <b>Reference to last assessment</b><br> 2217 * Type: <b>reference</b><br> 2218 * Path: <b>ClinicalImpression.previous</b><br> 2219 * </p> 2220 */ 2221 @SearchParamDefinition(name="previous", path="ClinicalImpression.previous", description="Reference to last assessment", type="reference" ) 2222 public static final String SP_PREVIOUS = "previous"; 2223 /** 2224 * <b>Fluent Client</b> search parameter constant for <b>previous</b> 2225 * <p> 2226 * Description: <b>Reference to last assessment</b><br> 2227 * Type: <b>reference</b><br> 2228 * Path: <b>ClinicalImpression.previous</b><br> 2229 * </p> 2230 */ 2231 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREVIOUS = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREVIOUS); 2232 2233/** 2234 * Constant for fluent queries to be used to add include statements. Specifies 2235 * the path value of "<b>ClinicalImpression:previous</b>". 2236 */ 2237 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREVIOUS = new ca.uhn.fhir.model.api.Include("ClinicalImpression:previous").toLocked(); 2238 2239 /** 2240 * Search parameter: <b>status</b> 2241 * <p> 2242 * Description: <b>in-progress | completed | entered-in-error</b><br> 2243 * Type: <b>token</b><br> 2244 * Path: <b>ClinicalImpression.status</b><br> 2245 * </p> 2246 */ 2247 @SearchParamDefinition(name="status", path="ClinicalImpression.status", description="in-progress | completed | entered-in-error", type="token" ) 2248 public static final String SP_STATUS = "status"; 2249 /** 2250 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2251 * <p> 2252 * Description: <b>in-progress | completed | entered-in-error</b><br> 2253 * Type: <b>token</b><br> 2254 * Path: <b>ClinicalImpression.status</b><br> 2255 * </p> 2256 */ 2257 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2258 2259 /** 2260 * Search parameter: <b>action</b> 2261 * <p> 2262 * Description: <b>Actions taken during assessment</b><br> 2263 * Type: <b>reference</b><br> 2264 * Path: <b>ClinicalImpression.action</b><br> 2265 * </p> 2266 */ 2267 @SearchParamDefinition(name="action", path="ClinicalImpression.action", description="Actions taken during assessment", type="reference" ) 2268 public static final String SP_ACTION = "action"; 2269 /** 2270 * <b>Fluent Client</b> search parameter constant for <b>action</b> 2271 * <p> 2272 * Description: <b>Actions taken during assessment</b><br> 2273 * Type: <b>reference</b><br> 2274 * Path: <b>ClinicalImpression.action</b><br> 2275 * </p> 2276 */ 2277 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ACTION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ACTION); 2278 2279/** 2280 * Constant for fluent queries to be used to add include statements. Specifies 2281 * the path value of "<b>ClinicalImpression:action</b>". 2282 */ 2283 public static final ca.uhn.fhir.model.api.Include INCLUDE_ACTION = new ca.uhn.fhir.model.api.Include("ClinicalImpression:action").toLocked(); 2284 2285 /** 2286 * Search parameter: <b>finding</b> 2287 * <p> 2288 * Description: <b>Specific text or code for finding</b><br> 2289 * Type: <b>token</b><br> 2290 * Path: <b>ClinicalImpression.finding.item</b><br> 2291 * </p> 2292 */ 2293 @SearchParamDefinition(name="finding", path="ClinicalImpression.finding.item", description="Specific text or code for finding", type="token" ) 2294 public static final String SP_FINDING = "finding"; 2295 /** 2296 * <b>Fluent Client</b> search parameter constant for <b>finding</b> 2297 * <p> 2298 * Description: <b>Specific text or code for finding</b><br> 2299 * Type: <b>token</b><br> 2300 * Path: <b>ClinicalImpression.finding.item</b><br> 2301 * </p> 2302 */ 2303 public static final ca.uhn.fhir.rest.gclient.TokenClientParam FINDING = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FINDING); 2304 2305 /** 2306 * Search parameter: <b>investigation</b> 2307 * <p> 2308 * Description: <b>Record of a specific investigation</b><br> 2309 * Type: <b>reference</b><br> 2310 * Path: <b>ClinicalImpression.investigations.item</b><br> 2311 * </p> 2312 */ 2313 @SearchParamDefinition(name="investigation", path="ClinicalImpression.investigations.item", description="Record of a specific investigation", type="reference" ) 2314 public static final String SP_INVESTIGATION = "investigation"; 2315 /** 2316 * <b>Fluent Client</b> search parameter constant for <b>investigation</b> 2317 * <p> 2318 * Description: <b>Record of a specific investigation</b><br> 2319 * Type: <b>reference</b><br> 2320 * Path: <b>ClinicalImpression.investigations.item</b><br> 2321 * </p> 2322 */ 2323 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INVESTIGATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INVESTIGATION); 2324 2325/** 2326 * Constant for fluent queries to be used to add include statements. Specifies 2327 * the path value of "<b>ClinicalImpression:investigation</b>". 2328 */ 2329 public static final ca.uhn.fhir.model.api.Include INCLUDE_INVESTIGATION = new ca.uhn.fhir.model.api.Include("ClinicalImpression:investigation").toLocked(); 2330 2331 /** 2332 * Search parameter: <b>problem</b> 2333 * <p> 2334 * Description: <b>General assessment of patient state</b><br> 2335 * Type: <b>reference</b><br> 2336 * Path: <b>ClinicalImpression.problem</b><br> 2337 * </p> 2338 */ 2339 @SearchParamDefinition(name="problem", path="ClinicalImpression.problem", description="General assessment of patient state", type="reference" ) 2340 public static final String SP_PROBLEM = "problem"; 2341 /** 2342 * <b>Fluent Client</b> search parameter constant for <b>problem</b> 2343 * <p> 2344 * Description: <b>General assessment of patient state</b><br> 2345 * Type: <b>reference</b><br> 2346 * Path: <b>ClinicalImpression.problem</b><br> 2347 * </p> 2348 */ 2349 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROBLEM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROBLEM); 2350 2351/** 2352 * Constant for fluent queries to be used to add include statements. Specifies 2353 * the path value of "<b>ClinicalImpression:problem</b>". 2354 */ 2355 public static final ca.uhn.fhir.model.api.Include INCLUDE_PROBLEM = new ca.uhn.fhir.model.api.Include("ClinicalImpression:problem").toLocked(); 2356 2357 /** 2358 * Search parameter: <b>date</b> 2359 * <p> 2360 * Description: <b>When the assessment occurred</b><br> 2361 * Type: <b>date</b><br> 2362 * Path: <b>ClinicalImpression.date</b><br> 2363 * </p> 2364 */ 2365 @SearchParamDefinition(name="date", path="ClinicalImpression.date", description="When the assessment occurred", type="date" ) 2366 public static final String SP_DATE = "date"; 2367 /** 2368 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2369 * <p> 2370 * Description: <b>When the assessment occurred</b><br> 2371 * Type: <b>date</b><br> 2372 * Path: <b>ClinicalImpression.date</b><br> 2373 * </p> 2374 */ 2375 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2376 2377 /** 2378 * Search parameter: <b>ruledout</b> 2379 * <p> 2380 * Description: <b>Specific text of code for diagnosis</b><br> 2381 * Type: <b>token</b><br> 2382 * Path: <b>ClinicalImpression.ruledOut.item</b><br> 2383 * </p> 2384 */ 2385 @SearchParamDefinition(name="ruledout", path="ClinicalImpression.ruledOut.item", description="Specific text of code for diagnosis", type="token" ) 2386 public static final String SP_RULEDOUT = "ruledout"; 2387 /** 2388 * <b>Fluent Client</b> search parameter constant for <b>ruledout</b> 2389 * <p> 2390 * Description: <b>Specific text of code for diagnosis</b><br> 2391 * Type: <b>token</b><br> 2392 * Path: <b>ClinicalImpression.ruledOut.item</b><br> 2393 * </p> 2394 */ 2395 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RULEDOUT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RULEDOUT); 2396 2397 2398} 2399