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