001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. 052 */ 053@ResourceDef(name="ClinicalImpression", profile="http://hl7.org/fhir/StructureDefinition/ClinicalImpression") 054public class ClinicalImpression extends DomainResource { 055 056 @Block() 057 public static class ClinicalImpressionFindingComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions. 060 */ 061 @Child(name = "item", type = {CodeableReference.class}, order=1, min=0, max=1, modifier=false, summary=false) 062 @Description(shortDefinition="What was found", formalDefinition="Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions." ) 063 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 064 protected CodeableReference item; 065 066 /** 067 * Which investigations support finding or diagnosis. 068 */ 069 @Child(name = "basis", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 070 @Description(shortDefinition="Which investigations support finding", formalDefinition="Which investigations support finding or diagnosis." ) 071 protected StringType basis; 072 073 private static final long serialVersionUID = -1363589306L; 074 075 /** 076 * Constructor 077 */ 078 public ClinicalImpressionFindingComponent() { 079 super(); 080 } 081 082 /** 083 * @return {@link #item} (Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions.) 084 */ 085 public CodeableReference getItem() { 086 if (this.item == null) 087 if (Configuration.errorOnAutoCreate()) 088 throw new Error("Attempt to auto-create ClinicalImpressionFindingComponent.item"); 089 else if (Configuration.doAutoCreate()) 090 this.item = new CodeableReference(); // cc 091 return this.item; 092 } 093 094 public boolean hasItem() { 095 return this.item != null && !this.item.isEmpty(); 096 } 097 098 /** 099 * @param value {@link #item} (Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions.) 100 */ 101 public ClinicalImpressionFindingComponent setItem(CodeableReference value) { 102 this.item = value; 103 return this; 104 } 105 106 /** 107 * @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 108 */ 109 public StringType getBasisElement() { 110 if (this.basis == null) 111 if (Configuration.errorOnAutoCreate()) 112 throw new Error("Attempt to auto-create ClinicalImpressionFindingComponent.basis"); 113 else if (Configuration.doAutoCreate()) 114 this.basis = new StringType(); // bb 115 return this.basis; 116 } 117 118 public boolean hasBasisElement() { 119 return this.basis != null && !this.basis.isEmpty(); 120 } 121 122 public boolean hasBasis() { 123 return this.basis != null && !this.basis.isEmpty(); 124 } 125 126 /** 127 * @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 128 */ 129 public ClinicalImpressionFindingComponent setBasisElement(StringType value) { 130 this.basis = value; 131 return this; 132 } 133 134 /** 135 * @return Which investigations support finding or diagnosis. 136 */ 137 public String getBasis() { 138 return this.basis == null ? null : this.basis.getValue(); 139 } 140 141 /** 142 * @param value Which investigations support finding or diagnosis. 143 */ 144 public ClinicalImpressionFindingComponent setBasis(String value) { 145 if (Utilities.noString(value)) 146 this.basis = null; 147 else { 148 if (this.basis == null) 149 this.basis = new StringType(); 150 this.basis.setValue(value); 151 } 152 return this; 153 } 154 155 protected void listChildren(List<Property> children) { 156 super.listChildren(children); 157 children.add(new Property("item", "CodeableReference(Condition|Observation|DocumentReference)", "Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions.", 0, 1, item)); 158 children.add(new Property("basis", "string", "Which investigations support finding or diagnosis.", 0, 1, basis)); 159 } 160 161 @Override 162 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 163 switch (_hash) { 164 case 3242771: /*item*/ return new Property("item", "CodeableReference(Condition|Observation|DocumentReference)", "Specific text, code or reference for finding or diagnosis, which may include ruled-out or resolved conditions.", 0, 1, item); 165 case 93508670: /*basis*/ return new Property("basis", "string", "Which investigations support finding or diagnosis.", 0, 1, basis); 166 default: return super.getNamedProperty(_hash, _name, _checkValid); 167 } 168 169 } 170 171 @Override 172 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 173 switch (hash) { 174 case 3242771: /*item*/ return this.item == null ? new Base[0] : new Base[] {this.item}; // CodeableReference 175 case 93508670: /*basis*/ return this.basis == null ? new Base[0] : new Base[] {this.basis}; // StringType 176 default: return super.getProperty(hash, name, checkValid); 177 } 178 179 } 180 181 @Override 182 public Base setProperty(int hash, String name, Base value) throws FHIRException { 183 switch (hash) { 184 case 3242771: // item 185 this.item = TypeConvertor.castToCodeableReference(value); // CodeableReference 186 return value; 187 case 93508670: // basis 188 this.basis = TypeConvertor.castToString(value); // StringType 189 return value; 190 default: return super.setProperty(hash, name, value); 191 } 192 193 } 194 195 @Override 196 public Base setProperty(String name, Base value) throws FHIRException { 197 if (name.equals("item")) { 198 this.item = TypeConvertor.castToCodeableReference(value); // CodeableReference 199 } else if (name.equals("basis")) { 200 this.basis = TypeConvertor.castToString(value); // StringType 201 } else 202 return super.setProperty(name, value); 203 return value; 204 } 205 206 @Override 207 public Base makeProperty(int hash, String name) throws FHIRException { 208 switch (hash) { 209 case 3242771: return getItem(); 210 case 93508670: return getBasisElement(); 211 default: return super.makeProperty(hash, name); 212 } 213 214 } 215 216 @Override 217 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 218 switch (hash) { 219 case 3242771: /*item*/ return new String[] {"CodeableReference"}; 220 case 93508670: /*basis*/ return new String[] {"string"}; 221 default: return super.getTypesForProperty(hash, name); 222 } 223 224 } 225 226 @Override 227 public Base addChild(String name) throws FHIRException { 228 if (name.equals("item")) { 229 this.item = new CodeableReference(); 230 return this.item; 231 } 232 else if (name.equals("basis")) { 233 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.finding.basis"); 234 } 235 else 236 return super.addChild(name); 237 } 238 239 public ClinicalImpressionFindingComponent copy() { 240 ClinicalImpressionFindingComponent dst = new ClinicalImpressionFindingComponent(); 241 copyValues(dst); 242 return dst; 243 } 244 245 public void copyValues(ClinicalImpressionFindingComponent dst) { 246 super.copyValues(dst); 247 dst.item = item == null ? null : item.copy(); 248 dst.basis = basis == null ? null : basis.copy(); 249 } 250 251 @Override 252 public boolean equalsDeep(Base other_) { 253 if (!super.equalsDeep(other_)) 254 return false; 255 if (!(other_ instanceof ClinicalImpressionFindingComponent)) 256 return false; 257 ClinicalImpressionFindingComponent o = (ClinicalImpressionFindingComponent) other_; 258 return compareDeep(item, o.item, true) && compareDeep(basis, o.basis, true); 259 } 260 261 @Override 262 public boolean equalsShallow(Base other_) { 263 if (!super.equalsShallow(other_)) 264 return false; 265 if (!(other_ instanceof ClinicalImpressionFindingComponent)) 266 return false; 267 ClinicalImpressionFindingComponent o = (ClinicalImpressionFindingComponent) other_; 268 return compareValues(basis, o.basis, true); 269 } 270 271 public boolean isEmpty() { 272 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(item, basis); 273 } 274 275 public String fhirType() { 276 return "ClinicalImpression.finding"; 277 278 } 279 280 } 281 282 /** 283 * Business identifiers assigned to this clinical impression by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 284 */ 285 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 286 @Description(shortDefinition="Business identifier", formalDefinition="Business identifiers assigned to this clinical impression by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 287 protected List<Identifier> identifier; 288 289 /** 290 * Identifies the workflow status of the assessment. 291 */ 292 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 293 @Description(shortDefinition="preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", formalDefinition="Identifies the workflow status of the assessment." ) 294 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/event-status") 295 protected Enumeration<EventStatus> status; 296 297 /** 298 * Captures the reason for the current state of the ClinicalImpression. 299 */ 300 @Child(name = "statusReason", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 301 @Description(shortDefinition="Reason for current status", formalDefinition="Captures the reason for the current state of the ClinicalImpression." ) 302 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinicalimpression-status-reason") 303 protected CodeableConcept statusReason; 304 305 /** 306 * A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it. 307 */ 308 @Child(name = "description", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 309 @Description(shortDefinition="Why/how the assessment was performed", formalDefinition="A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it." ) 310 protected StringType description; 311 312 /** 313 * The patient or group of individuals assessed as part of this record. 314 */ 315 @Child(name = "subject", type = {Patient.class, Group.class}, order=4, min=1, max=1, modifier=false, summary=true) 316 @Description(shortDefinition="Patient or group assessed", formalDefinition="The patient or group of individuals assessed as part of this record." ) 317 protected Reference subject; 318 319 /** 320 * The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated. 321 */ 322 @Child(name = "encounter", type = {Encounter.class}, order=5, min=0, max=1, modifier=false, summary=true) 323 @Description(shortDefinition="The Encounter during which this ClinicalImpression was created", formalDefinition="The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated." ) 324 protected Reference encounter; 325 326 /** 327 * The point in time or period over which the subject was assessed. 328 */ 329 @Child(name = "effective", type = {DateTimeType.class, Period.class}, order=6, min=0, max=1, modifier=false, summary=true) 330 @Description(shortDefinition="Time of assessment", formalDefinition="The point in time or period over which the subject was assessed." ) 331 protected DataType effective; 332 333 /** 334 * Indicates when the documentation of the assessment was complete. 335 */ 336 @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 337 @Description(shortDefinition="When the assessment was documented", formalDefinition="Indicates when the documentation of the assessment was complete." ) 338 protected DateTimeType date; 339 340 /** 341 * The clinician performing the assessment. 342 */ 343 @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=true) 344 @Description(shortDefinition="The clinician performing the assessment", formalDefinition="The clinician performing the assessment." ) 345 protected Reference performer; 346 347 /** 348 * A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes. 349 */ 350 @Child(name = "previous", type = {ClinicalImpression.class}, order=9, min=0, max=1, modifier=false, summary=false) 351 @Description(shortDefinition="Reference to last assessment", formalDefinition="A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes." ) 352 protected Reference previous; 353 354 /** 355 * A list of the relevant problems/conditions for a patient. 356 */ 357 @Child(name = "problem", type = {Condition.class, AllergyIntolerance.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 358 @Description(shortDefinition="Relevant impressions of patient state", formalDefinition="A list of the relevant problems/conditions for a patient." ) 359 protected List<Reference> problem; 360 361 /** 362 * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. 363 */ 364 @Child(name = "protocol", type = {UriType.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 365 @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." ) 366 protected List<UriType> protocol; 367 368 /** 369 * A text summary of the investigations and the diagnosis. 370 */ 371 @Child(name = "summary", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) 372 @Description(shortDefinition="Summary of the assessment", formalDefinition="A text summary of the investigations and the diagnosis." ) 373 protected StringType summary; 374 375 /** 376 * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. 377 */ 378 @Child(name = "finding", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 379 @Description(shortDefinition="Possible or likely findings and diagnoses", formalDefinition="Specific findings or diagnoses that were considered likely or relevant to ongoing treatment." ) 380 protected List<ClinicalImpressionFindingComponent> finding; 381 382 /** 383 * Estimate of likely outcome. 384 */ 385 @Child(name = "prognosisCodeableConcept", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 386 @Description(shortDefinition="Estimate of likely outcome", formalDefinition="Estimate of likely outcome." ) 387 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis") 388 protected List<CodeableConcept> prognosisCodeableConcept; 389 390 /** 391 * RiskAssessment expressing likely outcome. 392 */ 393 @Child(name = "prognosisReference", type = {RiskAssessment.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 394 @Description(shortDefinition="RiskAssessment expressing likely outcome", formalDefinition="RiskAssessment expressing likely outcome." ) 395 protected List<Reference> prognosisReference; 396 397 /** 398 * Information supporting the clinical impression, which can contain investigation results. 399 */ 400 @Child(name = "supportingInfo", type = {Reference.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 401 @Description(shortDefinition="Information supporting the clinical impression", formalDefinition="Information supporting the clinical impression, which can contain investigation results." ) 402 protected List<Reference> supportingInfo; 403 404 /** 405 * Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear. 406 */ 407 @Child(name = "note", type = {Annotation.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 408 @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." ) 409 protected List<Annotation> note; 410 411 private static final long serialVersionUID = 2042987378L; 412 413 /** 414 * Constructor 415 */ 416 public ClinicalImpression() { 417 super(); 418 } 419 420 /** 421 * Constructor 422 */ 423 public ClinicalImpression(EventStatus status, Reference subject) { 424 super(); 425 this.setStatus(status); 426 this.setSubject(subject); 427 } 428 429 /** 430 * @return {@link #identifier} (Business identifiers assigned to this clinical impression by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 431 */ 432 public List<Identifier> getIdentifier() { 433 if (this.identifier == null) 434 this.identifier = new ArrayList<Identifier>(); 435 return this.identifier; 436 } 437 438 /** 439 * @return Returns a reference to <code>this</code> for easy method chaining 440 */ 441 public ClinicalImpression setIdentifier(List<Identifier> theIdentifier) { 442 this.identifier = theIdentifier; 443 return this; 444 } 445 446 public boolean hasIdentifier() { 447 if (this.identifier == null) 448 return false; 449 for (Identifier item : this.identifier) 450 if (!item.isEmpty()) 451 return true; 452 return false; 453 } 454 455 public Identifier addIdentifier() { //3 456 Identifier t = new Identifier(); 457 if (this.identifier == null) 458 this.identifier = new ArrayList<Identifier>(); 459 this.identifier.add(t); 460 return t; 461 } 462 463 public ClinicalImpression addIdentifier(Identifier t) { //3 464 if (t == null) 465 return this; 466 if (this.identifier == null) 467 this.identifier = new ArrayList<Identifier>(); 468 this.identifier.add(t); 469 return this; 470 } 471 472 /** 473 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 474 */ 475 public Identifier getIdentifierFirstRep() { 476 if (getIdentifier().isEmpty()) { 477 addIdentifier(); 478 } 479 return getIdentifier().get(0); 480 } 481 482 /** 483 * @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 484 */ 485 public Enumeration<EventStatus> getStatusElement() { 486 if (this.status == null) 487 if (Configuration.errorOnAutoCreate()) 488 throw new Error("Attempt to auto-create ClinicalImpression.status"); 489 else if (Configuration.doAutoCreate()) 490 this.status = new Enumeration<EventStatus>(new EventStatusEnumFactory()); // bb 491 return this.status; 492 } 493 494 public boolean hasStatusElement() { 495 return this.status != null && !this.status.isEmpty(); 496 } 497 498 public boolean hasStatus() { 499 return this.status != null && !this.status.isEmpty(); 500 } 501 502 /** 503 * @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 504 */ 505 public ClinicalImpression setStatusElement(Enumeration<EventStatus> value) { 506 this.status = value; 507 return this; 508 } 509 510 /** 511 * @return Identifies the workflow status of the assessment. 512 */ 513 public EventStatus getStatus() { 514 return this.status == null ? null : this.status.getValue(); 515 } 516 517 /** 518 * @param value Identifies the workflow status of the assessment. 519 */ 520 public ClinicalImpression setStatus(EventStatus value) { 521 if (this.status == null) 522 this.status = new Enumeration<EventStatus>(new EventStatusEnumFactory()); 523 this.status.setValue(value); 524 return this; 525 } 526 527 /** 528 * @return {@link #statusReason} (Captures the reason for the current state of the ClinicalImpression.) 529 */ 530 public CodeableConcept getStatusReason() { 531 if (this.statusReason == null) 532 if (Configuration.errorOnAutoCreate()) 533 throw new Error("Attempt to auto-create ClinicalImpression.statusReason"); 534 else if (Configuration.doAutoCreate()) 535 this.statusReason = new CodeableConcept(); // cc 536 return this.statusReason; 537 } 538 539 public boolean hasStatusReason() { 540 return this.statusReason != null && !this.statusReason.isEmpty(); 541 } 542 543 /** 544 * @param value {@link #statusReason} (Captures the reason for the current state of the ClinicalImpression.) 545 */ 546 public ClinicalImpression setStatusReason(CodeableConcept value) { 547 this.statusReason = value; 548 return this; 549 } 550 551 /** 552 * @return {@link #description} (A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 553 */ 554 public StringType getDescriptionElement() { 555 if (this.description == null) 556 if (Configuration.errorOnAutoCreate()) 557 throw new Error("Attempt to auto-create ClinicalImpression.description"); 558 else if (Configuration.doAutoCreate()) 559 this.description = new StringType(); // bb 560 return this.description; 561 } 562 563 public boolean hasDescriptionElement() { 564 return this.description != null && !this.description.isEmpty(); 565 } 566 567 public boolean hasDescription() { 568 return this.description != null && !this.description.isEmpty(); 569 } 570 571 /** 572 * @param value {@link #description} (A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 573 */ 574 public ClinicalImpression setDescriptionElement(StringType value) { 575 this.description = value; 576 return this; 577 } 578 579 /** 580 * @return A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it. 581 */ 582 public String getDescription() { 583 return this.description == null ? null : this.description.getValue(); 584 } 585 586 /** 587 * @param value A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it. 588 */ 589 public ClinicalImpression setDescription(String value) { 590 if (Utilities.noString(value)) 591 this.description = null; 592 else { 593 if (this.description == null) 594 this.description = new StringType(); 595 this.description.setValue(value); 596 } 597 return this; 598 } 599 600 /** 601 * @return {@link #subject} (The patient or group of individuals assessed as part of this record.) 602 */ 603 public Reference getSubject() { 604 if (this.subject == null) 605 if (Configuration.errorOnAutoCreate()) 606 throw new Error("Attempt to auto-create ClinicalImpression.subject"); 607 else if (Configuration.doAutoCreate()) 608 this.subject = new Reference(); // cc 609 return this.subject; 610 } 611 612 public boolean hasSubject() { 613 return this.subject != null && !this.subject.isEmpty(); 614 } 615 616 /** 617 * @param value {@link #subject} (The patient or group of individuals assessed as part of this record.) 618 */ 619 public ClinicalImpression setSubject(Reference value) { 620 this.subject = value; 621 return this; 622 } 623 624 /** 625 * @return {@link #encounter} (The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated.) 626 */ 627 public Reference getEncounter() { 628 if (this.encounter == null) 629 if (Configuration.errorOnAutoCreate()) 630 throw new Error("Attempt to auto-create ClinicalImpression.encounter"); 631 else if (Configuration.doAutoCreate()) 632 this.encounter = new Reference(); // cc 633 return this.encounter; 634 } 635 636 public boolean hasEncounter() { 637 return this.encounter != null && !this.encounter.isEmpty(); 638 } 639 640 /** 641 * @param value {@link #encounter} (The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated.) 642 */ 643 public ClinicalImpression setEncounter(Reference value) { 644 this.encounter = value; 645 return this; 646 } 647 648 /** 649 * @return {@link #effective} (The point in time or period over which the subject was assessed.) 650 */ 651 public DataType getEffective() { 652 return this.effective; 653 } 654 655 /** 656 * @return {@link #effective} (The point in time or period over which the subject was assessed.) 657 */ 658 public DateTimeType getEffectiveDateTimeType() throws FHIRException { 659 if (this.effective == null) 660 this.effective = new DateTimeType(); 661 if (!(this.effective instanceof DateTimeType)) 662 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.effective.getClass().getName()+" was encountered"); 663 return (DateTimeType) this.effective; 664 } 665 666 public boolean hasEffectiveDateTimeType() { 667 return this != null && this.effective instanceof DateTimeType; 668 } 669 670 /** 671 * @return {@link #effective} (The point in time or period over which the subject was assessed.) 672 */ 673 public Period getEffectivePeriod() throws FHIRException { 674 if (this.effective == null) 675 this.effective = new Period(); 676 if (!(this.effective instanceof Period)) 677 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.effective.getClass().getName()+" was encountered"); 678 return (Period) this.effective; 679 } 680 681 public boolean hasEffectivePeriod() { 682 return this != null && this.effective instanceof Period; 683 } 684 685 public boolean hasEffective() { 686 return this.effective != null && !this.effective.isEmpty(); 687 } 688 689 /** 690 * @param value {@link #effective} (The point in time or period over which the subject was assessed.) 691 */ 692 public ClinicalImpression setEffective(DataType value) { 693 if (value != null && !(value instanceof DateTimeType || value instanceof Period)) 694 throw new Error("Not the right type for ClinicalImpression.effective[x]: "+value.fhirType()); 695 this.effective = value; 696 return this; 697 } 698 699 /** 700 * @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 701 */ 702 public DateTimeType getDateElement() { 703 if (this.date == null) 704 if (Configuration.errorOnAutoCreate()) 705 throw new Error("Attempt to auto-create ClinicalImpression.date"); 706 else if (Configuration.doAutoCreate()) 707 this.date = new DateTimeType(); // bb 708 return this.date; 709 } 710 711 public boolean hasDateElement() { 712 return this.date != null && !this.date.isEmpty(); 713 } 714 715 public boolean hasDate() { 716 return this.date != null && !this.date.isEmpty(); 717 } 718 719 /** 720 * @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 721 */ 722 public ClinicalImpression setDateElement(DateTimeType value) { 723 this.date = value; 724 return this; 725 } 726 727 /** 728 * @return Indicates when the documentation of the assessment was complete. 729 */ 730 public Date getDate() { 731 return this.date == null ? null : this.date.getValue(); 732 } 733 734 /** 735 * @param value Indicates when the documentation of the assessment was complete. 736 */ 737 public ClinicalImpression setDate(Date value) { 738 if (value == null) 739 this.date = null; 740 else { 741 if (this.date == null) 742 this.date = new DateTimeType(); 743 this.date.setValue(value); 744 } 745 return this; 746 } 747 748 /** 749 * @return {@link #performer} (The clinician performing the assessment.) 750 */ 751 public Reference getPerformer() { 752 if (this.performer == null) 753 if (Configuration.errorOnAutoCreate()) 754 throw new Error("Attempt to auto-create ClinicalImpression.performer"); 755 else if (Configuration.doAutoCreate()) 756 this.performer = new Reference(); // cc 757 return this.performer; 758 } 759 760 public boolean hasPerformer() { 761 return this.performer != null && !this.performer.isEmpty(); 762 } 763 764 /** 765 * @param value {@link #performer} (The clinician performing the assessment.) 766 */ 767 public ClinicalImpression setPerformer(Reference value) { 768 this.performer = value; 769 return this; 770 } 771 772 /** 773 * @return {@link #previous} (A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 774 */ 775 public Reference getPrevious() { 776 if (this.previous == null) 777 if (Configuration.errorOnAutoCreate()) 778 throw new Error("Attempt to auto-create ClinicalImpression.previous"); 779 else if (Configuration.doAutoCreate()) 780 this.previous = new Reference(); // cc 781 return this.previous; 782 } 783 784 public boolean hasPrevious() { 785 return this.previous != null && !this.previous.isEmpty(); 786 } 787 788 /** 789 * @param value {@link #previous} (A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.) 790 */ 791 public ClinicalImpression setPrevious(Reference value) { 792 this.previous = value; 793 return this; 794 } 795 796 /** 797 * @return {@link #problem} (A list of the relevant problems/conditions for a patient.) 798 */ 799 public List<Reference> getProblem() { 800 if (this.problem == null) 801 this.problem = new ArrayList<Reference>(); 802 return this.problem; 803 } 804 805 /** 806 * @return Returns a reference to <code>this</code> for easy method chaining 807 */ 808 public ClinicalImpression setProblem(List<Reference> theProblem) { 809 this.problem = theProblem; 810 return this; 811 } 812 813 public boolean hasProblem() { 814 if (this.problem == null) 815 return false; 816 for (Reference item : this.problem) 817 if (!item.isEmpty()) 818 return true; 819 return false; 820 } 821 822 public Reference addProblem() { //3 823 Reference t = new Reference(); 824 if (this.problem == null) 825 this.problem = new ArrayList<Reference>(); 826 this.problem.add(t); 827 return t; 828 } 829 830 public ClinicalImpression addProblem(Reference t) { //3 831 if (t == null) 832 return this; 833 if (this.problem == null) 834 this.problem = new ArrayList<Reference>(); 835 this.problem.add(t); 836 return this; 837 } 838 839 /** 840 * @return The first repetition of repeating field {@link #problem}, creating it if it does not already exist {3} 841 */ 842 public Reference getProblemFirstRep() { 843 if (getProblem().isEmpty()) { 844 addProblem(); 845 } 846 return getProblem().get(0); 847 } 848 849 /** 850 * @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.) 851 */ 852 public List<UriType> getProtocol() { 853 if (this.protocol == null) 854 this.protocol = new ArrayList<UriType>(); 855 return this.protocol; 856 } 857 858 /** 859 * @return Returns a reference to <code>this</code> for easy method chaining 860 */ 861 public ClinicalImpression setProtocol(List<UriType> theProtocol) { 862 this.protocol = theProtocol; 863 return this; 864 } 865 866 public boolean hasProtocol() { 867 if (this.protocol == null) 868 return false; 869 for (UriType item : this.protocol) 870 if (!item.isEmpty()) 871 return true; 872 return false; 873 } 874 875 /** 876 * @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.) 877 */ 878 public UriType addProtocolElement() {//2 879 UriType t = new UriType(); 880 if (this.protocol == null) 881 this.protocol = new ArrayList<UriType>(); 882 this.protocol.add(t); 883 return t; 884 } 885 886 /** 887 * @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.) 888 */ 889 public ClinicalImpression addProtocol(String value) { //1 890 UriType t = new UriType(); 891 t.setValue(value); 892 if (this.protocol == null) 893 this.protocol = new ArrayList<UriType>(); 894 this.protocol.add(t); 895 return this; 896 } 897 898 /** 899 * @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.) 900 */ 901 public boolean hasProtocol(String value) { 902 if (this.protocol == null) 903 return false; 904 for (UriType v : this.protocol) 905 if (v.getValue().equals(value)) // uri 906 return true; 907 return false; 908 } 909 910 /** 911 * @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 912 */ 913 public StringType getSummaryElement() { 914 if (this.summary == null) 915 if (Configuration.errorOnAutoCreate()) 916 throw new Error("Attempt to auto-create ClinicalImpression.summary"); 917 else if (Configuration.doAutoCreate()) 918 this.summary = new StringType(); // bb 919 return this.summary; 920 } 921 922 public boolean hasSummaryElement() { 923 return this.summary != null && !this.summary.isEmpty(); 924 } 925 926 public boolean hasSummary() { 927 return this.summary != null && !this.summary.isEmpty(); 928 } 929 930 /** 931 * @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 932 */ 933 public ClinicalImpression setSummaryElement(StringType value) { 934 this.summary = value; 935 return this; 936 } 937 938 /** 939 * @return A text summary of the investigations and the diagnosis. 940 */ 941 public String getSummary() { 942 return this.summary == null ? null : this.summary.getValue(); 943 } 944 945 /** 946 * @param value A text summary of the investigations and the diagnosis. 947 */ 948 public ClinicalImpression setSummary(String value) { 949 if (Utilities.noString(value)) 950 this.summary = null; 951 else { 952 if (this.summary == null) 953 this.summary = new StringType(); 954 this.summary.setValue(value); 955 } 956 return this; 957 } 958 959 /** 960 * @return {@link #finding} (Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.) 961 */ 962 public List<ClinicalImpressionFindingComponent> getFinding() { 963 if (this.finding == null) 964 this.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 965 return this.finding; 966 } 967 968 /** 969 * @return Returns a reference to <code>this</code> for easy method chaining 970 */ 971 public ClinicalImpression setFinding(List<ClinicalImpressionFindingComponent> theFinding) { 972 this.finding = theFinding; 973 return this; 974 } 975 976 public boolean hasFinding() { 977 if (this.finding == null) 978 return false; 979 for (ClinicalImpressionFindingComponent item : this.finding) 980 if (!item.isEmpty()) 981 return true; 982 return false; 983 } 984 985 public ClinicalImpressionFindingComponent addFinding() { //3 986 ClinicalImpressionFindingComponent t = new ClinicalImpressionFindingComponent(); 987 if (this.finding == null) 988 this.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 989 this.finding.add(t); 990 return t; 991 } 992 993 public ClinicalImpression addFinding(ClinicalImpressionFindingComponent t) { //3 994 if (t == null) 995 return this; 996 if (this.finding == null) 997 this.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 998 this.finding.add(t); 999 return this; 1000 } 1001 1002 /** 1003 * @return The first repetition of repeating field {@link #finding}, creating it if it does not already exist {3} 1004 */ 1005 public ClinicalImpressionFindingComponent getFindingFirstRep() { 1006 if (getFinding().isEmpty()) { 1007 addFinding(); 1008 } 1009 return getFinding().get(0); 1010 } 1011 1012 /** 1013 * @return {@link #prognosisCodeableConcept} (Estimate of likely outcome.) 1014 */ 1015 public List<CodeableConcept> getPrognosisCodeableConcept() { 1016 if (this.prognosisCodeableConcept == null) 1017 this.prognosisCodeableConcept = new ArrayList<CodeableConcept>(); 1018 return this.prognosisCodeableConcept; 1019 } 1020 1021 /** 1022 * @return Returns a reference to <code>this</code> for easy method chaining 1023 */ 1024 public ClinicalImpression setPrognosisCodeableConcept(List<CodeableConcept> thePrognosisCodeableConcept) { 1025 this.prognosisCodeableConcept = thePrognosisCodeableConcept; 1026 return this; 1027 } 1028 1029 public boolean hasPrognosisCodeableConcept() { 1030 if (this.prognosisCodeableConcept == null) 1031 return false; 1032 for (CodeableConcept item : this.prognosisCodeableConcept) 1033 if (!item.isEmpty()) 1034 return true; 1035 return false; 1036 } 1037 1038 public CodeableConcept addPrognosisCodeableConcept() { //3 1039 CodeableConcept t = new CodeableConcept(); 1040 if (this.prognosisCodeableConcept == null) 1041 this.prognosisCodeableConcept = new ArrayList<CodeableConcept>(); 1042 this.prognosisCodeableConcept.add(t); 1043 return t; 1044 } 1045 1046 public ClinicalImpression addPrognosisCodeableConcept(CodeableConcept t) { //3 1047 if (t == null) 1048 return this; 1049 if (this.prognosisCodeableConcept == null) 1050 this.prognosisCodeableConcept = new ArrayList<CodeableConcept>(); 1051 this.prognosisCodeableConcept.add(t); 1052 return this; 1053 } 1054 1055 /** 1056 * @return The first repetition of repeating field {@link #prognosisCodeableConcept}, creating it if it does not already exist {3} 1057 */ 1058 public CodeableConcept getPrognosisCodeableConceptFirstRep() { 1059 if (getPrognosisCodeableConcept().isEmpty()) { 1060 addPrognosisCodeableConcept(); 1061 } 1062 return getPrognosisCodeableConcept().get(0); 1063 } 1064 1065 /** 1066 * @return {@link #prognosisReference} (RiskAssessment expressing likely outcome.) 1067 */ 1068 public List<Reference> getPrognosisReference() { 1069 if (this.prognosisReference == null) 1070 this.prognosisReference = new ArrayList<Reference>(); 1071 return this.prognosisReference; 1072 } 1073 1074 /** 1075 * @return Returns a reference to <code>this</code> for easy method chaining 1076 */ 1077 public ClinicalImpression setPrognosisReference(List<Reference> thePrognosisReference) { 1078 this.prognosisReference = thePrognosisReference; 1079 return this; 1080 } 1081 1082 public boolean hasPrognosisReference() { 1083 if (this.prognosisReference == null) 1084 return false; 1085 for (Reference item : this.prognosisReference) 1086 if (!item.isEmpty()) 1087 return true; 1088 return false; 1089 } 1090 1091 public Reference addPrognosisReference() { //3 1092 Reference t = new Reference(); 1093 if (this.prognosisReference == null) 1094 this.prognosisReference = new ArrayList<Reference>(); 1095 this.prognosisReference.add(t); 1096 return t; 1097 } 1098 1099 public ClinicalImpression addPrognosisReference(Reference t) { //3 1100 if (t == null) 1101 return this; 1102 if (this.prognosisReference == null) 1103 this.prognosisReference = new ArrayList<Reference>(); 1104 this.prognosisReference.add(t); 1105 return this; 1106 } 1107 1108 /** 1109 * @return The first repetition of repeating field {@link #prognosisReference}, creating it if it does not already exist {3} 1110 */ 1111 public Reference getPrognosisReferenceFirstRep() { 1112 if (getPrognosisReference().isEmpty()) { 1113 addPrognosisReference(); 1114 } 1115 return getPrognosisReference().get(0); 1116 } 1117 1118 /** 1119 * @return {@link #supportingInfo} (Information supporting the clinical impression, which can contain investigation results.) 1120 */ 1121 public List<Reference> getSupportingInfo() { 1122 if (this.supportingInfo == null) 1123 this.supportingInfo = new ArrayList<Reference>(); 1124 return this.supportingInfo; 1125 } 1126 1127 /** 1128 * @return Returns a reference to <code>this</code> for easy method chaining 1129 */ 1130 public ClinicalImpression setSupportingInfo(List<Reference> theSupportingInfo) { 1131 this.supportingInfo = theSupportingInfo; 1132 return this; 1133 } 1134 1135 public boolean hasSupportingInfo() { 1136 if (this.supportingInfo == null) 1137 return false; 1138 for (Reference item : this.supportingInfo) 1139 if (!item.isEmpty()) 1140 return true; 1141 return false; 1142 } 1143 1144 public Reference addSupportingInfo() { //3 1145 Reference t = new Reference(); 1146 if (this.supportingInfo == null) 1147 this.supportingInfo = new ArrayList<Reference>(); 1148 this.supportingInfo.add(t); 1149 return t; 1150 } 1151 1152 public ClinicalImpression addSupportingInfo(Reference t) { //3 1153 if (t == null) 1154 return this; 1155 if (this.supportingInfo == null) 1156 this.supportingInfo = new ArrayList<Reference>(); 1157 this.supportingInfo.add(t); 1158 return this; 1159 } 1160 1161 /** 1162 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 1163 */ 1164 public Reference getSupportingInfoFirstRep() { 1165 if (getSupportingInfo().isEmpty()) { 1166 addSupportingInfo(); 1167 } 1168 return getSupportingInfo().get(0); 1169 } 1170 1171 /** 1172 * @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.) 1173 */ 1174 public List<Annotation> getNote() { 1175 if (this.note == null) 1176 this.note = new ArrayList<Annotation>(); 1177 return this.note; 1178 } 1179 1180 /** 1181 * @return Returns a reference to <code>this</code> for easy method chaining 1182 */ 1183 public ClinicalImpression setNote(List<Annotation> theNote) { 1184 this.note = theNote; 1185 return this; 1186 } 1187 1188 public boolean hasNote() { 1189 if (this.note == null) 1190 return false; 1191 for (Annotation item : this.note) 1192 if (!item.isEmpty()) 1193 return true; 1194 return false; 1195 } 1196 1197 public Annotation addNote() { //3 1198 Annotation t = new Annotation(); 1199 if (this.note == null) 1200 this.note = new ArrayList<Annotation>(); 1201 this.note.add(t); 1202 return t; 1203 } 1204 1205 public ClinicalImpression addNote(Annotation t) { //3 1206 if (t == null) 1207 return this; 1208 if (this.note == null) 1209 this.note = new ArrayList<Annotation>(); 1210 this.note.add(t); 1211 return this; 1212 } 1213 1214 /** 1215 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1216 */ 1217 public Annotation getNoteFirstRep() { 1218 if (getNote().isEmpty()) { 1219 addNote(); 1220 } 1221 return getNote().get(0); 1222 } 1223 1224 protected void listChildren(List<Property> children) { 1225 super.listChildren(children); 1226 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this clinical impression by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1227 children.add(new Property("status", "code", "Identifies the workflow status of the assessment.", 0, 1, status)); 1228 children.add(new Property("statusReason", "CodeableConcept", "Captures the reason for the current state of the ClinicalImpression.", 0, 1, statusReason)); 1229 children.add(new Property("description", "string", "A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it.", 0, 1, description)); 1230 children.add(new Property("subject", "Reference(Patient|Group)", "The patient or group of individuals assessed as part of this record.", 0, 1, subject)); 1231 children.add(new Property("encounter", "Reference(Encounter)", "The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated.", 0, 1, encounter)); 1232 children.add(new Property("effective[x]", "dateTime|Period", "The point in time or period over which the subject was assessed.", 0, 1, effective)); 1233 children.add(new Property("date", "dateTime", "Indicates when the documentation of the assessment was complete.", 0, 1, date)); 1234 children.add(new Property("performer", "Reference(Practitioner|PractitionerRole)", "The clinician performing the assessment.", 0, 1, performer)); 1235 children.add(new Property("previous", "Reference(ClinicalImpression)", "A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.", 0, 1, previous)); 1236 children.add(new Property("problem", "Reference(Condition|AllergyIntolerance)", "A list of the relevant problems/conditions for a patient.", 0, java.lang.Integer.MAX_VALUE, problem)); 1237 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)); 1238 children.add(new Property("summary", "string", "A text summary of the investigations and the diagnosis.", 0, 1, summary)); 1239 children.add(new Property("finding", "", "Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.", 0, java.lang.Integer.MAX_VALUE, finding)); 1240 children.add(new Property("prognosisCodeableConcept", "CodeableConcept", "Estimate of likely outcome.", 0, java.lang.Integer.MAX_VALUE, prognosisCodeableConcept)); 1241 children.add(new Property("prognosisReference", "Reference(RiskAssessment)", "RiskAssessment expressing likely outcome.", 0, java.lang.Integer.MAX_VALUE, prognosisReference)); 1242 children.add(new Property("supportingInfo", "Reference(Any)", "Information supporting the clinical impression, which can contain investigation results.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 1243 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)); 1244 } 1245 1246 @Override 1247 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1248 switch (_hash) { 1249 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this clinical impression by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 1250 case -892481550: /*status*/ return new Property("status", "code", "Identifies the workflow status of the assessment.", 0, 1, status); 1251 case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "Captures the reason for the current state of the ClinicalImpression.", 0, 1, statusReason); 1252 case -1724546052: /*description*/ return new Property("description", "string", "A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it.", 0, 1, description); 1253 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); 1254 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated.", 0, 1, encounter); 1255 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); 1256 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); 1257 case -275306910: /*effectiveDateTime*/ return new Property("effective[x]", "dateTime", "The point in time or period over which the subject was assessed.", 0, 1, effective); 1258 case -403934648: /*effectivePeriod*/ return new Property("effective[x]", "Period", "The point in time or period over which the subject was assessed.", 0, 1, effective); 1259 case 3076014: /*date*/ return new Property("date", "dateTime", "Indicates when the documentation of the assessment was complete.", 0, 1, date); 1260 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole)", "The clinician performing the assessment.", 0, 1, performer); 1261 case -1273775369: /*previous*/ return new Property("previous", "Reference(ClinicalImpression)", "A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.", 0, 1, previous); 1262 case -309542241: /*problem*/ return new Property("problem", "Reference(Condition|AllergyIntolerance)", "A list of the relevant problems/conditions for a patient.", 0, java.lang.Integer.MAX_VALUE, problem); 1263 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); 1264 case -1857640538: /*summary*/ return new Property("summary", "string", "A text summary of the investigations and the diagnosis.", 0, 1, summary); 1265 case -853173367: /*finding*/ return new Property("finding", "", "Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.", 0, java.lang.Integer.MAX_VALUE, finding); 1266 case -676337953: /*prognosisCodeableConcept*/ return new Property("prognosisCodeableConcept", "CodeableConcept", "Estimate of likely outcome.", 0, java.lang.Integer.MAX_VALUE, prognosisCodeableConcept); 1267 case -587137783: /*prognosisReference*/ return new Property("prognosisReference", "Reference(RiskAssessment)", "RiskAssessment expressing likely outcome.", 0, java.lang.Integer.MAX_VALUE, prognosisReference); 1268 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "Reference(Any)", "Information supporting the clinical impression, which can contain investigation results.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 1269 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); 1270 default: return super.getNamedProperty(_hash, _name, _checkValid); 1271 } 1272 1273 } 1274 1275 @Override 1276 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1277 switch (hash) { 1278 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1279 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<EventStatus> 1280 case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // CodeableConcept 1281 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1282 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1283 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1284 case -1468651097: /*effective*/ return this.effective == null ? new Base[0] : new Base[] {this.effective}; // DataType 1285 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1286 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 1287 case -1273775369: /*previous*/ return this.previous == null ? new Base[0] : new Base[] {this.previous}; // Reference 1288 case -309542241: /*problem*/ return this.problem == null ? new Base[0] : this.problem.toArray(new Base[this.problem.size()]); // Reference 1289 case -989163880: /*protocol*/ return this.protocol == null ? new Base[0] : this.protocol.toArray(new Base[this.protocol.size()]); // UriType 1290 case -1857640538: /*summary*/ return this.summary == null ? new Base[0] : new Base[] {this.summary}; // StringType 1291 case -853173367: /*finding*/ return this.finding == null ? new Base[0] : this.finding.toArray(new Base[this.finding.size()]); // ClinicalImpressionFindingComponent 1292 case -676337953: /*prognosisCodeableConcept*/ return this.prognosisCodeableConcept == null ? new Base[0] : this.prognosisCodeableConcept.toArray(new Base[this.prognosisCodeableConcept.size()]); // CodeableConcept 1293 case -587137783: /*prognosisReference*/ return this.prognosisReference == null ? new Base[0] : this.prognosisReference.toArray(new Base[this.prognosisReference.size()]); // Reference 1294 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference 1295 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1296 default: return super.getProperty(hash, name, checkValid); 1297 } 1298 1299 } 1300 1301 @Override 1302 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1303 switch (hash) { 1304 case -1618432855: // identifier 1305 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1306 return value; 1307 case -892481550: // status 1308 value = new EventStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1309 this.status = (Enumeration) value; // Enumeration<EventStatus> 1310 return value; 1311 case 2051346646: // statusReason 1312 this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1313 return value; 1314 case -1724546052: // description 1315 this.description = TypeConvertor.castToString(value); // StringType 1316 return value; 1317 case -1867885268: // subject 1318 this.subject = TypeConvertor.castToReference(value); // Reference 1319 return value; 1320 case 1524132147: // encounter 1321 this.encounter = TypeConvertor.castToReference(value); // Reference 1322 return value; 1323 case -1468651097: // effective 1324 this.effective = TypeConvertor.castToType(value); // DataType 1325 return value; 1326 case 3076014: // date 1327 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 1328 return value; 1329 case 481140686: // performer 1330 this.performer = TypeConvertor.castToReference(value); // Reference 1331 return value; 1332 case -1273775369: // previous 1333 this.previous = TypeConvertor.castToReference(value); // Reference 1334 return value; 1335 case -309542241: // problem 1336 this.getProblem().add(TypeConvertor.castToReference(value)); // Reference 1337 return value; 1338 case -989163880: // protocol 1339 this.getProtocol().add(TypeConvertor.castToUri(value)); // UriType 1340 return value; 1341 case -1857640538: // summary 1342 this.summary = TypeConvertor.castToString(value); // StringType 1343 return value; 1344 case -853173367: // finding 1345 this.getFinding().add((ClinicalImpressionFindingComponent) value); // ClinicalImpressionFindingComponent 1346 return value; 1347 case -676337953: // prognosisCodeableConcept 1348 this.getPrognosisCodeableConcept().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1349 return value; 1350 case -587137783: // prognosisReference 1351 this.getPrognosisReference().add(TypeConvertor.castToReference(value)); // Reference 1352 return value; 1353 case 1922406657: // supportingInfo 1354 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); // Reference 1355 return value; 1356 case 3387378: // note 1357 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1358 return value; 1359 default: return super.setProperty(hash, name, value); 1360 } 1361 1362 } 1363 1364 @Override 1365 public Base setProperty(String name, Base value) throws FHIRException { 1366 if (name.equals("identifier")) { 1367 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1368 } else if (name.equals("status")) { 1369 value = new EventStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1370 this.status = (Enumeration) value; // Enumeration<EventStatus> 1371 } else if (name.equals("statusReason")) { 1372 this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1373 } else if (name.equals("description")) { 1374 this.description = TypeConvertor.castToString(value); // StringType 1375 } else if (name.equals("subject")) { 1376 this.subject = TypeConvertor.castToReference(value); // Reference 1377 } else if (name.equals("encounter")) { 1378 this.encounter = TypeConvertor.castToReference(value); // Reference 1379 } else if (name.equals("effective[x]")) { 1380 this.effective = TypeConvertor.castToType(value); // DataType 1381 } else if (name.equals("date")) { 1382 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 1383 } else if (name.equals("performer")) { 1384 this.performer = TypeConvertor.castToReference(value); // Reference 1385 } else if (name.equals("previous")) { 1386 this.previous = TypeConvertor.castToReference(value); // Reference 1387 } else if (name.equals("problem")) { 1388 this.getProblem().add(TypeConvertor.castToReference(value)); 1389 } else if (name.equals("protocol")) { 1390 this.getProtocol().add(TypeConvertor.castToUri(value)); 1391 } else if (name.equals("summary")) { 1392 this.summary = TypeConvertor.castToString(value); // StringType 1393 } else if (name.equals("finding")) { 1394 this.getFinding().add((ClinicalImpressionFindingComponent) value); 1395 } else if (name.equals("prognosisCodeableConcept")) { 1396 this.getPrognosisCodeableConcept().add(TypeConvertor.castToCodeableConcept(value)); 1397 } else if (name.equals("prognosisReference")) { 1398 this.getPrognosisReference().add(TypeConvertor.castToReference(value)); 1399 } else if (name.equals("supportingInfo")) { 1400 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); 1401 } else if (name.equals("note")) { 1402 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1403 } else 1404 return super.setProperty(name, value); 1405 return value; 1406 } 1407 1408 @Override 1409 public Base makeProperty(int hash, String name) throws FHIRException { 1410 switch (hash) { 1411 case -1618432855: return addIdentifier(); 1412 case -892481550: return getStatusElement(); 1413 case 2051346646: return getStatusReason(); 1414 case -1724546052: return getDescriptionElement(); 1415 case -1867885268: return getSubject(); 1416 case 1524132147: return getEncounter(); 1417 case 247104889: return getEffective(); 1418 case -1468651097: return getEffective(); 1419 case 3076014: return getDateElement(); 1420 case 481140686: return getPerformer(); 1421 case -1273775369: return getPrevious(); 1422 case -309542241: return addProblem(); 1423 case -989163880: return addProtocolElement(); 1424 case -1857640538: return getSummaryElement(); 1425 case -853173367: return addFinding(); 1426 case -676337953: return addPrognosisCodeableConcept(); 1427 case -587137783: return addPrognosisReference(); 1428 case 1922406657: return addSupportingInfo(); 1429 case 3387378: return addNote(); 1430 default: return super.makeProperty(hash, name); 1431 } 1432 1433 } 1434 1435 @Override 1436 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1437 switch (hash) { 1438 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1439 case -892481550: /*status*/ return new String[] {"code"}; 1440 case 2051346646: /*statusReason*/ return new String[] {"CodeableConcept"}; 1441 case -1724546052: /*description*/ return new String[] {"string"}; 1442 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1443 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1444 case -1468651097: /*effective*/ return new String[] {"dateTime", "Period"}; 1445 case 3076014: /*date*/ return new String[] {"dateTime"}; 1446 case 481140686: /*performer*/ return new String[] {"Reference"}; 1447 case -1273775369: /*previous*/ return new String[] {"Reference"}; 1448 case -309542241: /*problem*/ return new String[] {"Reference"}; 1449 case -989163880: /*protocol*/ return new String[] {"uri"}; 1450 case -1857640538: /*summary*/ return new String[] {"string"}; 1451 case -853173367: /*finding*/ return new String[] {}; 1452 case -676337953: /*prognosisCodeableConcept*/ return new String[] {"CodeableConcept"}; 1453 case -587137783: /*prognosisReference*/ return new String[] {"Reference"}; 1454 case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; 1455 case 3387378: /*note*/ return new String[] {"Annotation"}; 1456 default: return super.getTypesForProperty(hash, name); 1457 } 1458 1459 } 1460 1461 @Override 1462 public Base addChild(String name) throws FHIRException { 1463 if (name.equals("identifier")) { 1464 return addIdentifier(); 1465 } 1466 else if (name.equals("status")) { 1467 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.status"); 1468 } 1469 else if (name.equals("statusReason")) { 1470 this.statusReason = new CodeableConcept(); 1471 return this.statusReason; 1472 } 1473 else if (name.equals("description")) { 1474 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.description"); 1475 } 1476 else if (name.equals("subject")) { 1477 this.subject = new Reference(); 1478 return this.subject; 1479 } 1480 else if (name.equals("encounter")) { 1481 this.encounter = new Reference(); 1482 return this.encounter; 1483 } 1484 else if (name.equals("effectiveDateTime")) { 1485 this.effective = new DateTimeType(); 1486 return this.effective; 1487 } 1488 else if (name.equals("effectivePeriod")) { 1489 this.effective = new Period(); 1490 return this.effective; 1491 } 1492 else if (name.equals("date")) { 1493 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.date"); 1494 } 1495 else if (name.equals("performer")) { 1496 this.performer = new Reference(); 1497 return this.performer; 1498 } 1499 else if (name.equals("previous")) { 1500 this.previous = new Reference(); 1501 return this.previous; 1502 } 1503 else if (name.equals("problem")) { 1504 return addProblem(); 1505 } 1506 else if (name.equals("protocol")) { 1507 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.protocol"); 1508 } 1509 else if (name.equals("summary")) { 1510 throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.summary"); 1511 } 1512 else if (name.equals("finding")) { 1513 return addFinding(); 1514 } 1515 else if (name.equals("prognosisCodeableConcept")) { 1516 return addPrognosisCodeableConcept(); 1517 } 1518 else if (name.equals("prognosisReference")) { 1519 return addPrognosisReference(); 1520 } 1521 else if (name.equals("supportingInfo")) { 1522 return addSupportingInfo(); 1523 } 1524 else if (name.equals("note")) { 1525 return addNote(); 1526 } 1527 else 1528 return super.addChild(name); 1529 } 1530 1531 public String fhirType() { 1532 return "ClinicalImpression"; 1533 1534 } 1535 1536 public ClinicalImpression copy() { 1537 ClinicalImpression dst = new ClinicalImpression(); 1538 copyValues(dst); 1539 return dst; 1540 } 1541 1542 public void copyValues(ClinicalImpression dst) { 1543 super.copyValues(dst); 1544 if (identifier != null) { 1545 dst.identifier = new ArrayList<Identifier>(); 1546 for (Identifier i : identifier) 1547 dst.identifier.add(i.copy()); 1548 }; 1549 dst.status = status == null ? null : status.copy(); 1550 dst.statusReason = statusReason == null ? null : statusReason.copy(); 1551 dst.description = description == null ? null : description.copy(); 1552 dst.subject = subject == null ? null : subject.copy(); 1553 dst.encounter = encounter == null ? null : encounter.copy(); 1554 dst.effective = effective == null ? null : effective.copy(); 1555 dst.date = date == null ? null : date.copy(); 1556 dst.performer = performer == null ? null : performer.copy(); 1557 dst.previous = previous == null ? null : previous.copy(); 1558 if (problem != null) { 1559 dst.problem = new ArrayList<Reference>(); 1560 for (Reference i : problem) 1561 dst.problem.add(i.copy()); 1562 }; 1563 if (protocol != null) { 1564 dst.protocol = new ArrayList<UriType>(); 1565 for (UriType i : protocol) 1566 dst.protocol.add(i.copy()); 1567 }; 1568 dst.summary = summary == null ? null : summary.copy(); 1569 if (finding != null) { 1570 dst.finding = new ArrayList<ClinicalImpressionFindingComponent>(); 1571 for (ClinicalImpressionFindingComponent i : finding) 1572 dst.finding.add(i.copy()); 1573 }; 1574 if (prognosisCodeableConcept != null) { 1575 dst.prognosisCodeableConcept = new ArrayList<CodeableConcept>(); 1576 for (CodeableConcept i : prognosisCodeableConcept) 1577 dst.prognosisCodeableConcept.add(i.copy()); 1578 }; 1579 if (prognosisReference != null) { 1580 dst.prognosisReference = new ArrayList<Reference>(); 1581 for (Reference i : prognosisReference) 1582 dst.prognosisReference.add(i.copy()); 1583 }; 1584 if (supportingInfo != null) { 1585 dst.supportingInfo = new ArrayList<Reference>(); 1586 for (Reference i : supportingInfo) 1587 dst.supportingInfo.add(i.copy()); 1588 }; 1589 if (note != null) { 1590 dst.note = new ArrayList<Annotation>(); 1591 for (Annotation i : note) 1592 dst.note.add(i.copy()); 1593 }; 1594 } 1595 1596 protected ClinicalImpression typedCopy() { 1597 return copy(); 1598 } 1599 1600 @Override 1601 public boolean equalsDeep(Base other_) { 1602 if (!super.equalsDeep(other_)) 1603 return false; 1604 if (!(other_ instanceof ClinicalImpression)) 1605 return false; 1606 ClinicalImpression o = (ClinicalImpression) other_; 1607 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) 1608 && compareDeep(description, o.description, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) 1609 && compareDeep(effective, o.effective, true) && compareDeep(date, o.date, true) && compareDeep(performer, o.performer, true) 1610 && compareDeep(previous, o.previous, true) && compareDeep(problem, o.problem, true) && compareDeep(protocol, o.protocol, true) 1611 && compareDeep(summary, o.summary, true) && compareDeep(finding, o.finding, true) && compareDeep(prognosisCodeableConcept, o.prognosisCodeableConcept, true) 1612 && compareDeep(prognosisReference, o.prognosisReference, true) && compareDeep(supportingInfo, o.supportingInfo, true) 1613 && compareDeep(note, o.note, true); 1614 } 1615 1616 @Override 1617 public boolean equalsShallow(Base other_) { 1618 if (!super.equalsShallow(other_)) 1619 return false; 1620 if (!(other_ instanceof ClinicalImpression)) 1621 return false; 1622 ClinicalImpression o = (ClinicalImpression) other_; 1623 return compareValues(status, o.status, true) && compareValues(description, o.description, true) && compareValues(date, o.date, true) 1624 && compareValues(protocol, o.protocol, true) && compareValues(summary, o.summary, true); 1625 } 1626 1627 public boolean isEmpty() { 1628 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, statusReason 1629 , description, subject, encounter, effective, date, performer, previous, problem 1630 , protocol, summary, finding, prognosisCodeableConcept, prognosisReference, supportingInfo 1631 , note); 1632 } 1633 1634 @Override 1635 public ResourceType getResourceType() { 1636 return ResourceType.ClinicalImpression; 1637 } 1638 1639 /** 1640 * Search parameter: <b>encounter</b> 1641 * <p> 1642 * Description: <b>The Encounter during which this ClinicalImpression was created</b><br> 1643 * Type: <b>reference</b><br> 1644 * Path: <b>ClinicalImpression.encounter</b><br> 1645 * </p> 1646 */ 1647 @SearchParamDefinition(name="encounter", path="ClinicalImpression.encounter", description="The Encounter during which this ClinicalImpression was created", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 1648 public static final String SP_ENCOUNTER = "encounter"; 1649 /** 1650 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 1651 * <p> 1652 * Description: <b>The Encounter during which this ClinicalImpression was created</b><br> 1653 * Type: <b>reference</b><br> 1654 * Path: <b>ClinicalImpression.encounter</b><br> 1655 * </p> 1656 */ 1657 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 1658 1659/** 1660 * Constant for fluent queries to be used to add include statements. Specifies 1661 * the path value of "<b>ClinicalImpression:encounter</b>". 1662 */ 1663 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("ClinicalImpression:encounter").toLocked(); 1664 1665 /** 1666 * Search parameter: <b>finding-code</b> 1667 * <p> 1668 * Description: <b>Reference to a concept (by class)</b><br> 1669 * Type: <b>token</b><br> 1670 * Path: <b>ClinicalImpression.finding.item.concept</b><br> 1671 * </p> 1672 */ 1673 @SearchParamDefinition(name="finding-code", path="ClinicalImpression.finding.item.concept", description="Reference to a concept (by class)", type="token" ) 1674 public static final String SP_FINDING_CODE = "finding-code"; 1675 /** 1676 * <b>Fluent Client</b> search parameter constant for <b>finding-code</b> 1677 * <p> 1678 * Description: <b>Reference to a concept (by class)</b><br> 1679 * Type: <b>token</b><br> 1680 * Path: <b>ClinicalImpression.finding.item.concept</b><br> 1681 * </p> 1682 */ 1683 public static final ca.uhn.fhir.rest.gclient.TokenClientParam FINDING_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FINDING_CODE); 1684 1685 /** 1686 * Search parameter: <b>finding-ref</b> 1687 * <p> 1688 * Description: <b>Reference to a resource (by instance)</b><br> 1689 * Type: <b>reference</b><br> 1690 * Path: <b>ClinicalImpression.finding.item.reference</b><br> 1691 * </p> 1692 */ 1693 @SearchParamDefinition(name="finding-ref", path="ClinicalImpression.finding.item.reference", description="Reference to a resource (by instance)", type="reference" ) 1694 public static final String SP_FINDING_REF = "finding-ref"; 1695 /** 1696 * <b>Fluent Client</b> search parameter constant for <b>finding-ref</b> 1697 * <p> 1698 * Description: <b>Reference to a resource (by instance)</b><br> 1699 * Type: <b>reference</b><br> 1700 * Path: <b>ClinicalImpression.finding.item.reference</b><br> 1701 * </p> 1702 */ 1703 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FINDING_REF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FINDING_REF); 1704 1705/** 1706 * Constant for fluent queries to be used to add include statements. Specifies 1707 * the path value of "<b>ClinicalImpression:finding-ref</b>". 1708 */ 1709 public static final ca.uhn.fhir.model.api.Include INCLUDE_FINDING_REF = new ca.uhn.fhir.model.api.Include("ClinicalImpression:finding-ref").toLocked(); 1710 1711 /** 1712 * Search parameter: <b>identifier</b> 1713 * <p> 1714 * Description: <b>Business identifier</b><br> 1715 * Type: <b>token</b><br> 1716 * Path: <b>ClinicalImpression.identifier</b><br> 1717 * </p> 1718 */ 1719 @SearchParamDefinition(name="identifier", path="ClinicalImpression.identifier", description="Business identifier", type="token" ) 1720 public static final String SP_IDENTIFIER = "identifier"; 1721 /** 1722 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1723 * <p> 1724 * Description: <b>Business identifier</b><br> 1725 * Type: <b>token</b><br> 1726 * Path: <b>ClinicalImpression.identifier</b><br> 1727 * </p> 1728 */ 1729 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1730 1731 /** 1732 * Search parameter: <b>performer</b> 1733 * <p> 1734 * Description: <b>The clinician performing the assessment</b><br> 1735 * Type: <b>reference</b><br> 1736 * Path: <b>ClinicalImpression.performer</b><br> 1737 * </p> 1738 */ 1739 @SearchParamDefinition(name="performer", path="ClinicalImpression.performer", description="The clinician performing the assessment", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) 1740 public static final String SP_PERFORMER = "performer"; 1741 /** 1742 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 1743 * <p> 1744 * Description: <b>The clinician performing the assessment</b><br> 1745 * Type: <b>reference</b><br> 1746 * Path: <b>ClinicalImpression.performer</b><br> 1747 * </p> 1748 */ 1749 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 1750 1751/** 1752 * Constant for fluent queries to be used to add include statements. Specifies 1753 * the path value of "<b>ClinicalImpression:performer</b>". 1754 */ 1755 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("ClinicalImpression:performer").toLocked(); 1756 1757 /** 1758 * Search parameter: <b>previous</b> 1759 * <p> 1760 * Description: <b>Reference to last assessment</b><br> 1761 * Type: <b>reference</b><br> 1762 * Path: <b>ClinicalImpression.previous</b><br> 1763 * </p> 1764 */ 1765 @SearchParamDefinition(name="previous", path="ClinicalImpression.previous", description="Reference to last assessment", type="reference", target={ClinicalImpression.class } ) 1766 public static final String SP_PREVIOUS = "previous"; 1767 /** 1768 * <b>Fluent Client</b> search parameter constant for <b>previous</b> 1769 * <p> 1770 * Description: <b>Reference to last assessment</b><br> 1771 * Type: <b>reference</b><br> 1772 * Path: <b>ClinicalImpression.previous</b><br> 1773 * </p> 1774 */ 1775 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREVIOUS = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREVIOUS); 1776 1777/** 1778 * Constant for fluent queries to be used to add include statements. Specifies 1779 * the path value of "<b>ClinicalImpression:previous</b>". 1780 */ 1781 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREVIOUS = new ca.uhn.fhir.model.api.Include("ClinicalImpression:previous").toLocked(); 1782 1783 /** 1784 * Search parameter: <b>problem</b> 1785 * <p> 1786 * Description: <b>Relevant impressions of patient state</b><br> 1787 * Type: <b>reference</b><br> 1788 * Path: <b>ClinicalImpression.problem</b><br> 1789 * </p> 1790 */ 1791 @SearchParamDefinition(name="problem", path="ClinicalImpression.problem", description="Relevant impressions of patient state", type="reference", target={AllergyIntolerance.class, Condition.class } ) 1792 public static final String SP_PROBLEM = "problem"; 1793 /** 1794 * <b>Fluent Client</b> search parameter constant for <b>problem</b> 1795 * <p> 1796 * Description: <b>Relevant impressions of patient state</b><br> 1797 * Type: <b>reference</b><br> 1798 * Path: <b>ClinicalImpression.problem</b><br> 1799 * </p> 1800 */ 1801 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROBLEM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROBLEM); 1802 1803/** 1804 * Constant for fluent queries to be used to add include statements. Specifies 1805 * the path value of "<b>ClinicalImpression:problem</b>". 1806 */ 1807 public static final ca.uhn.fhir.model.api.Include INCLUDE_PROBLEM = new ca.uhn.fhir.model.api.Include("ClinicalImpression:problem").toLocked(); 1808 1809 /** 1810 * Search parameter: <b>status</b> 1811 * <p> 1812 * Description: <b>preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown</b><br> 1813 * Type: <b>token</b><br> 1814 * Path: <b>ClinicalImpression.status</b><br> 1815 * </p> 1816 */ 1817 @SearchParamDefinition(name="status", path="ClinicalImpression.status", description="preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", type="token" ) 1818 public static final String SP_STATUS = "status"; 1819 /** 1820 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1821 * <p> 1822 * Description: <b>preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown</b><br> 1823 * Type: <b>token</b><br> 1824 * Path: <b>ClinicalImpression.status</b><br> 1825 * </p> 1826 */ 1827 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1828 1829 /** 1830 * Search parameter: <b>subject</b> 1831 * <p> 1832 * Description: <b>Patient or group assessed</b><br> 1833 * Type: <b>reference</b><br> 1834 * Path: <b>ClinicalImpression.subject</b><br> 1835 * </p> 1836 */ 1837 @SearchParamDefinition(name="subject", path="ClinicalImpression.subject", description="Patient or group assessed", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class } ) 1838 public static final String SP_SUBJECT = "subject"; 1839 /** 1840 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1841 * <p> 1842 * Description: <b>Patient or group assessed</b><br> 1843 * Type: <b>reference</b><br> 1844 * Path: <b>ClinicalImpression.subject</b><br> 1845 * </p> 1846 */ 1847 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1848 1849/** 1850 * Constant for fluent queries to be used to add include statements. Specifies 1851 * the path value of "<b>ClinicalImpression:subject</b>". 1852 */ 1853 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("ClinicalImpression:subject").toLocked(); 1854 1855 /** 1856 * Search parameter: <b>supporting-info</b> 1857 * <p> 1858 * Description: <b>Information supporting the clinical impression</b><br> 1859 * Type: <b>reference</b><br> 1860 * Path: <b>ClinicalImpression.supportingInfo</b><br> 1861 * </p> 1862 */ 1863 @SearchParamDefinition(name="supporting-info", path="ClinicalImpression.supportingInfo", description="Information supporting the clinical impression", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 1864 public static final String SP_SUPPORTING_INFO = "supporting-info"; 1865 /** 1866 * <b>Fluent Client</b> search parameter constant for <b>supporting-info</b> 1867 * <p> 1868 * Description: <b>Information supporting the clinical impression</b><br> 1869 * Type: <b>reference</b><br> 1870 * Path: <b>ClinicalImpression.supportingInfo</b><br> 1871 * </p> 1872 */ 1873 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUPPORTING_INFO = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUPPORTING_INFO); 1874 1875/** 1876 * Constant for fluent queries to be used to add include statements. Specifies 1877 * the path value of "<b>ClinicalImpression:supporting-info</b>". 1878 */ 1879 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUPPORTING_INFO = new ca.uhn.fhir.model.api.Include("ClinicalImpression:supporting-info").toLocked(); 1880 1881 /** 1882 * Search parameter: <b>date</b> 1883 * <p> 1884 * Description: <b>Multiple Resources: 1885 1886* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 1887* [CarePlan](careplan.html): Time period plan covers 1888* [CareTeam](careteam.html): A date within the coverage time period. 1889* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 1890* [Composition](composition.html): Composition editing time 1891* [Consent](consent.html): When consent was agreed to 1892* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 1893* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 1894* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 1895* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 1896* [Flag](flag.html): Time period when flag is active 1897* [Immunization](immunization.html): Vaccination (non)-Administration Date 1898* [List](list.html): When the list was prepared 1899* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 1900* [Procedure](procedure.html): When the procedure occurred or is occurring 1901* [RiskAssessment](riskassessment.html): When was assessment made? 1902* [SupplyRequest](supplyrequest.html): When the request was made 1903</b><br> 1904 * Type: <b>date</b><br> 1905 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 1906 * </p> 1907 */ 1908 @SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): A date within the coverage time period.\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When consent was agreed to\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure occurred or is occurring\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 1909 public static final String SP_DATE = "date"; 1910 /** 1911 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1912 * <p> 1913 * Description: <b>Multiple Resources: 1914 1915* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 1916* [CarePlan](careplan.html): Time period plan covers 1917* [CareTeam](careteam.html): A date within the coverage time period. 1918* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 1919* [Composition](composition.html): Composition editing time 1920* [Consent](consent.html): When consent was agreed to 1921* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 1922* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 1923* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 1924* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 1925* [Flag](flag.html): Time period when flag is active 1926* [Immunization](immunization.html): Vaccination (non)-Administration Date 1927* [List](list.html): When the list was prepared 1928* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 1929* [Procedure](procedure.html): When the procedure occurred or is occurring 1930* [RiskAssessment](riskassessment.html): When was assessment made? 1931* [SupplyRequest](supplyrequest.html): When the request was made 1932</b><br> 1933 * Type: <b>date</b><br> 1934 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 1935 * </p> 1936 */ 1937 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1938 1939 /** 1940 * Search parameter: <b>patient</b> 1941 * <p> 1942 * Description: <b>Multiple Resources: 1943 1944* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 1945* [CarePlan](careplan.html): Who the care plan is for 1946* [CareTeam](careteam.html): Who care team is for 1947* [ClinicalImpression](clinicalimpression.html): Patient assessed 1948* [Composition](composition.html): Who and/or what the composition is about 1949* [Condition](condition.html): Who has the condition? 1950* [Consent](consent.html): Who the consent applies to 1951* [DetectedIssue](detectedissue.html): Associated patient 1952* [DeviceRequest](devicerequest.html): Individual the service is ordered for 1953* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 1954* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 1955* [DocumentManifest](documentmanifest.html): The subject of the set of documents 1956* [DocumentReference](documentreference.html): Who/what is the subject of the document 1957* [Encounter](encounter.html): The patient present at the encounter 1958* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 1959* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 1960* [Flag](flag.html): The identity of a subject to list flags for 1961* [Goal](goal.html): Who this goal is intended for 1962* [ImagingStudy](imagingstudy.html): Who the study is about 1963* [Immunization](immunization.html): The patient for the vaccination record 1964* [List](list.html): If all resources have the same subject 1965* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 1966* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 1967* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 1968* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 1969* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 1970* [Observation](observation.html): The subject that the observation is about (if patient) 1971* [Procedure](procedure.html): Search by subject - a patient 1972* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 1973* [ServiceRequest](servicerequest.html): Search by subject - a patient 1974* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 1975* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 1976</b><br> 1977 * Type: <b>reference</b><br> 1978 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 1979 * </p> 1980 */ 1981 @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 1982 public static final String SP_PATIENT = "patient"; 1983 /** 1984 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1985 * <p> 1986 * Description: <b>Multiple Resources: 1987 1988* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 1989* [CarePlan](careplan.html): Who the care plan is for 1990* [CareTeam](careteam.html): Who care team is for 1991* [ClinicalImpression](clinicalimpression.html): Patient assessed 1992* [Composition](composition.html): Who and/or what the composition is about 1993* [Condition](condition.html): Who has the condition? 1994* [Consent](consent.html): Who the consent applies to 1995* [DetectedIssue](detectedissue.html): Associated patient 1996* [DeviceRequest](devicerequest.html): Individual the service is ordered for 1997* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 1998* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 1999* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2000* [DocumentReference](documentreference.html): Who/what is the subject of the document 2001* [Encounter](encounter.html): The patient present at the encounter 2002* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2003* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2004* [Flag](flag.html): The identity of a subject to list flags for 2005* [Goal](goal.html): Who this goal is intended for 2006* [ImagingStudy](imagingstudy.html): Who the study is about 2007* [Immunization](immunization.html): The patient for the vaccination record 2008* [List](list.html): If all resources have the same subject 2009* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2010* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2011* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2012* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2013* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2014* [Observation](observation.html): The subject that the observation is about (if patient) 2015* [Procedure](procedure.html): Search by subject - a patient 2016* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2017* [ServiceRequest](servicerequest.html): Search by subject - a patient 2018* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2019* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2020</b><br> 2021 * Type: <b>reference</b><br> 2022 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 2023 * </p> 2024 */ 2025 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2026 2027/** 2028 * Constant for fluent queries to be used to add include statements. Specifies 2029 * the path value of "<b>ClinicalImpression:patient</b>". 2030 */ 2031 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ClinicalImpression:patient").toLocked(); 2032 2033 2034} 2035