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