001package org.hl7.fhir.dstu3.model; 002 003 004 005 006import java.math.BigDecimal; 007 008/* 009 Copyright (c) 2011+, HL7, Inc. 010 All rights reserved. 011 012 Redistribution and use in source and binary forms, with or without modification, 013 are permitted provided that the following conditions are met: 014 015 * Redistributions of source code must retain the above copyright notice, this 016 list of conditions and the following disclaimer. 017 * Redistributions in binary form must reproduce the above copyright notice, 018 this list of conditions and the following disclaimer in the documentation 019 and/or other materials provided with the distribution. 020 * Neither the name of HL7 nor the names of its contributors may be used to 021 endorse or promote products derived from this software without specific 022 prior written permission. 023 024 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 025 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 026 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 027 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 028 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 029 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 030 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 031 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 032 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 033 POSSIBILITY OF SUCH DAMAGE. 034 035*/ 036 037// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 038import java.util.ArrayList; 039import java.util.List; 040 041import org.hl7.fhir.exceptions.FHIRException; 042import org.hl7.fhir.exceptions.FHIRFormatError; 043import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 044import org.hl7.fhir.utilities.Utilities; 045 046import ca.uhn.fhir.model.api.annotation.Block; 047import ca.uhn.fhir.model.api.annotation.Child; 048import ca.uhn.fhir.model.api.annotation.Description; 049import ca.uhn.fhir.model.api.annotation.ResourceDef; 050import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 051/** 052 * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. 053 */ 054@ResourceDef(name="RiskAssessment", profile="http://hl7.org/fhir/Profile/RiskAssessment") 055public class RiskAssessment extends DomainResource { 056 057 public enum RiskAssessmentStatus { 058 /** 059 * The existence of the observation is registered, but there is no result yet available. 060 */ 061 REGISTERED, 062 /** 063 * This is an initial or interim observation: data may be incomplete or unverified. 064 */ 065 PRELIMINARY, 066 /** 067 * The observation is complete. 068 */ 069 FINAL, 070 /** 071 * Subsequent to being Final, the observation has been modified subsequent. This includes updates/new information and corrections. 072 */ 073 AMENDED, 074 /** 075 * Subsequent to being Final, the observation has been modified to correct an error in the test result. 076 */ 077 CORRECTED, 078 /** 079 * The observation is unavailable because the measurement was not started or not completed (also sometimes called "aborted"). 080 */ 081 CANCELLED, 082 /** 083 * The observation has been withdrawn following previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be "cancelled" rather than "entered-in-error".) 084 */ 085 ENTEREDINERROR, 086 /** 087 * The authoring system does not know which of the status values currently applies for this request. Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, but the authoring system does not know which. 088 */ 089 UNKNOWN, 090 /** 091 * added to help the parsers with the generic types 092 */ 093 NULL; 094 public static RiskAssessmentStatus fromCode(String codeString) throws FHIRException { 095 if (codeString == null || "".equals(codeString)) 096 return null; 097 if ("registered".equals(codeString)) 098 return REGISTERED; 099 if ("preliminary".equals(codeString)) 100 return PRELIMINARY; 101 if ("final".equals(codeString)) 102 return FINAL; 103 if ("amended".equals(codeString)) 104 return AMENDED; 105 if ("corrected".equals(codeString)) 106 return CORRECTED; 107 if ("cancelled".equals(codeString)) 108 return CANCELLED; 109 if ("entered-in-error".equals(codeString)) 110 return ENTEREDINERROR; 111 if ("unknown".equals(codeString)) 112 return UNKNOWN; 113 if (Configuration.isAcceptInvalidEnums()) 114 return null; 115 else 116 throw new FHIRException("Unknown RiskAssessmentStatus code '"+codeString+"'"); 117 } 118 public String toCode() { 119 switch (this) { 120 case REGISTERED: return "registered"; 121 case PRELIMINARY: return "preliminary"; 122 case FINAL: return "final"; 123 case AMENDED: return "amended"; 124 case CORRECTED: return "corrected"; 125 case CANCELLED: return "cancelled"; 126 case ENTEREDINERROR: return "entered-in-error"; 127 case UNKNOWN: return "unknown"; 128 case NULL: return null; 129 default: return "?"; 130 } 131 } 132 public String getSystem() { 133 switch (this) { 134 case REGISTERED: return "http://hl7.org/fhir/observation-status"; 135 case PRELIMINARY: return "http://hl7.org/fhir/observation-status"; 136 case FINAL: return "http://hl7.org/fhir/observation-status"; 137 case AMENDED: return "http://hl7.org/fhir/observation-status"; 138 case CORRECTED: return "http://hl7.org/fhir/observation-status"; 139 case CANCELLED: return "http://hl7.org/fhir/observation-status"; 140 case ENTEREDINERROR: return "http://hl7.org/fhir/observation-status"; 141 case UNKNOWN: return "http://hl7.org/fhir/observation-status"; 142 case NULL: return null; 143 default: return "?"; 144 } 145 } 146 public String getDefinition() { 147 switch (this) { 148 case REGISTERED: return "The existence of the observation is registered, but there is no result yet available."; 149 case PRELIMINARY: return "This is an initial or interim observation: data may be incomplete or unverified."; 150 case FINAL: return "The observation is complete."; 151 case AMENDED: return "Subsequent to being Final, the observation has been modified subsequent. This includes updates/new information and corrections."; 152 case CORRECTED: return "Subsequent to being Final, the observation has been modified to correct an error in the test result."; 153 case CANCELLED: return "The observation is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\")."; 154 case ENTEREDINERROR: return "The observation has been withdrawn following previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".)"; 155 case UNKNOWN: return "The authoring system does not know which of the status values currently applies for this request. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring system does not know which."; 156 case NULL: return null; 157 default: return "?"; 158 } 159 } 160 public String getDisplay() { 161 switch (this) { 162 case REGISTERED: return "Registered"; 163 case PRELIMINARY: return "Preliminary"; 164 case FINAL: return "Final"; 165 case AMENDED: return "Amended"; 166 case CORRECTED: return "Corrected"; 167 case CANCELLED: return "Cancelled"; 168 case ENTEREDINERROR: return "Entered in Error"; 169 case UNKNOWN: return "Unknown"; 170 case NULL: return null; 171 default: return "?"; 172 } 173 } 174 } 175 176 public static class RiskAssessmentStatusEnumFactory implements EnumFactory<RiskAssessmentStatus> { 177 public RiskAssessmentStatus fromCode(String codeString) throws IllegalArgumentException { 178 if (codeString == null || "".equals(codeString)) 179 if (codeString == null || "".equals(codeString)) 180 return null; 181 if ("registered".equals(codeString)) 182 return RiskAssessmentStatus.REGISTERED; 183 if ("preliminary".equals(codeString)) 184 return RiskAssessmentStatus.PRELIMINARY; 185 if ("final".equals(codeString)) 186 return RiskAssessmentStatus.FINAL; 187 if ("amended".equals(codeString)) 188 return RiskAssessmentStatus.AMENDED; 189 if ("corrected".equals(codeString)) 190 return RiskAssessmentStatus.CORRECTED; 191 if ("cancelled".equals(codeString)) 192 return RiskAssessmentStatus.CANCELLED; 193 if ("entered-in-error".equals(codeString)) 194 return RiskAssessmentStatus.ENTEREDINERROR; 195 if ("unknown".equals(codeString)) 196 return RiskAssessmentStatus.UNKNOWN; 197 throw new IllegalArgumentException("Unknown RiskAssessmentStatus code '"+codeString+"'"); 198 } 199 public Enumeration<RiskAssessmentStatus> fromType(PrimitiveType<?> code) throws FHIRException { 200 if (code == null) 201 return null; 202 if (code.isEmpty()) 203 return new Enumeration<RiskAssessmentStatus>(this); 204 String codeString = code.asStringValue(); 205 if (codeString == null || "".equals(codeString)) 206 return null; 207 if ("registered".equals(codeString)) 208 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.REGISTERED); 209 if ("preliminary".equals(codeString)) 210 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.PRELIMINARY); 211 if ("final".equals(codeString)) 212 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.FINAL); 213 if ("amended".equals(codeString)) 214 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.AMENDED); 215 if ("corrected".equals(codeString)) 216 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.CORRECTED); 217 if ("cancelled".equals(codeString)) 218 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.CANCELLED); 219 if ("entered-in-error".equals(codeString)) 220 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.ENTEREDINERROR); 221 if ("unknown".equals(codeString)) 222 return new Enumeration<RiskAssessmentStatus>(this, RiskAssessmentStatus.UNKNOWN); 223 throw new FHIRException("Unknown RiskAssessmentStatus code '"+codeString+"'"); 224 } 225 public String toCode(RiskAssessmentStatus code) { 226 if (code == RiskAssessmentStatus.REGISTERED) 227 return "registered"; 228 if (code == RiskAssessmentStatus.PRELIMINARY) 229 return "preliminary"; 230 if (code == RiskAssessmentStatus.FINAL) 231 return "final"; 232 if (code == RiskAssessmentStatus.AMENDED) 233 return "amended"; 234 if (code == RiskAssessmentStatus.CORRECTED) 235 return "corrected"; 236 if (code == RiskAssessmentStatus.CANCELLED) 237 return "cancelled"; 238 if (code == RiskAssessmentStatus.ENTEREDINERROR) 239 return "entered-in-error"; 240 if (code == RiskAssessmentStatus.UNKNOWN) 241 return "unknown"; 242 return "?"; 243 } 244 public String toSystem(RiskAssessmentStatus code) { 245 return code.getSystem(); 246 } 247 } 248 249 @Block() 250 public static class RiskAssessmentPredictionComponent extends BackboneElement implements IBaseBackboneElement { 251 /** 252 * One of the potential outcomes for the patient (e.g. remission, death, a particular condition). 253 */ 254 @Child(name = "outcome", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 255 @Description(shortDefinition="Possible outcome for the subject", formalDefinition="One of the potential outcomes for the patient (e.g. remission, death, a particular condition)." ) 256 protected CodeableConcept outcome; 257 258 /** 259 * How likely is the outcome (in the specified timeframe). 260 */ 261 @Child(name = "probability", type = {DecimalType.class, Range.class}, order=2, min=0, max=1, modifier=false, summary=false) 262 @Description(shortDefinition="Likelihood of specified outcome", formalDefinition="How likely is the outcome (in the specified timeframe)." ) 263 protected Type probability; 264 265 /** 266 * How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high). 267 */ 268 @Child(name = "qualitativeRisk", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 269 @Description(shortDefinition="Likelihood of specified outcome as a qualitative value", formalDefinition="How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high)." ) 270 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/risk-probability") 271 protected CodeableConcept qualitativeRisk; 272 273 /** 274 * Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). 275 */ 276 @Child(name = "relativeRisk", type = {DecimalType.class}, order=4, min=0, max=1, modifier=false, summary=false) 277 @Description(shortDefinition="Relative likelihood", formalDefinition="Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.)." ) 278 protected DecimalType relativeRisk; 279 280 /** 281 * Indicates the period of time or age range of the subject to which the specified probability applies. 282 */ 283 @Child(name = "when", type = {Period.class, Range.class}, order=5, min=0, max=1, modifier=false, summary=false) 284 @Description(shortDefinition="Timeframe or age range", formalDefinition="Indicates the period of time or age range of the subject to which the specified probability applies." ) 285 protected Type when; 286 287 /** 288 * Additional information explaining the basis for the prediction. 289 */ 290 @Child(name = "rationale", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 291 @Description(shortDefinition="Explanation of prediction", formalDefinition="Additional information explaining the basis for the prediction." ) 292 protected StringType rationale; 293 294 private static final long serialVersionUID = 1283401747L; 295 296 /** 297 * Constructor 298 */ 299 public RiskAssessmentPredictionComponent() { 300 super(); 301 } 302 303 /** 304 * Constructor 305 */ 306 public RiskAssessmentPredictionComponent(CodeableConcept outcome) { 307 super(); 308 this.outcome = outcome; 309 } 310 311 /** 312 * @return {@link #outcome} (One of the potential outcomes for the patient (e.g. remission, death, a particular condition).) 313 */ 314 public CodeableConcept getOutcome() { 315 if (this.outcome == null) 316 if (Configuration.errorOnAutoCreate()) 317 throw new Error("Attempt to auto-create RiskAssessmentPredictionComponent.outcome"); 318 else if (Configuration.doAutoCreate()) 319 this.outcome = new CodeableConcept(); // cc 320 return this.outcome; 321 } 322 323 public boolean hasOutcome() { 324 return this.outcome != null && !this.outcome.isEmpty(); 325 } 326 327 /** 328 * @param value {@link #outcome} (One of the potential outcomes for the patient (e.g. remission, death, a particular condition).) 329 */ 330 public RiskAssessmentPredictionComponent setOutcome(CodeableConcept value) { 331 this.outcome = value; 332 return this; 333 } 334 335 /** 336 * @return {@link #probability} (How likely is the outcome (in the specified timeframe).) 337 */ 338 public Type getProbability() { 339 return this.probability; 340 } 341 342 /** 343 * @return {@link #probability} (How likely is the outcome (in the specified timeframe).) 344 */ 345 public DecimalType getProbabilityDecimalType() throws FHIRException { 346 if (this.probability == null) 347 return null; 348 if (!(this.probability instanceof DecimalType)) 349 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.probability.getClass().getName()+" was encountered"); 350 return (DecimalType) this.probability; 351 } 352 353 public boolean hasProbabilityDecimalType() { 354 return this != null && this.probability instanceof DecimalType; 355 } 356 357 /** 358 * @return {@link #probability} (How likely is the outcome (in the specified timeframe).) 359 */ 360 public Range getProbabilityRange() throws FHIRException { 361 if (this.probability == null) 362 return null; 363 if (!(this.probability instanceof Range)) 364 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.probability.getClass().getName()+" was encountered"); 365 return (Range) this.probability; 366 } 367 368 public boolean hasProbabilityRange() { 369 return this != null && this.probability instanceof Range; 370 } 371 372 public boolean hasProbability() { 373 return this.probability != null && !this.probability.isEmpty(); 374 } 375 376 /** 377 * @param value {@link #probability} (How likely is the outcome (in the specified timeframe).) 378 */ 379 public RiskAssessmentPredictionComponent setProbability(Type value) throws FHIRFormatError { 380 if (value != null && !(value instanceof DecimalType || value instanceof Range)) 381 throw new FHIRFormatError("Not the right type for RiskAssessment.prediction.probability[x]: "+value.fhirType()); 382 this.probability = value; 383 return this; 384 } 385 386 /** 387 * @return {@link #qualitativeRisk} (How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high).) 388 */ 389 public CodeableConcept getQualitativeRisk() { 390 if (this.qualitativeRisk == null) 391 if (Configuration.errorOnAutoCreate()) 392 throw new Error("Attempt to auto-create RiskAssessmentPredictionComponent.qualitativeRisk"); 393 else if (Configuration.doAutoCreate()) 394 this.qualitativeRisk = new CodeableConcept(); // cc 395 return this.qualitativeRisk; 396 } 397 398 public boolean hasQualitativeRisk() { 399 return this.qualitativeRisk != null && !this.qualitativeRisk.isEmpty(); 400 } 401 402 /** 403 * @param value {@link #qualitativeRisk} (How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high).) 404 */ 405 public RiskAssessmentPredictionComponent setQualitativeRisk(CodeableConcept value) { 406 this.qualitativeRisk = value; 407 return this; 408 } 409 410 /** 411 * @return {@link #relativeRisk} (Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.).). This is the underlying object with id, value and extensions. The accessor "getRelativeRisk" gives direct access to the value 412 */ 413 public DecimalType getRelativeRiskElement() { 414 if (this.relativeRisk == null) 415 if (Configuration.errorOnAutoCreate()) 416 throw new Error("Attempt to auto-create RiskAssessmentPredictionComponent.relativeRisk"); 417 else if (Configuration.doAutoCreate()) 418 this.relativeRisk = new DecimalType(); // bb 419 return this.relativeRisk; 420 } 421 422 public boolean hasRelativeRiskElement() { 423 return this.relativeRisk != null && !this.relativeRisk.isEmpty(); 424 } 425 426 public boolean hasRelativeRisk() { 427 return this.relativeRisk != null && !this.relativeRisk.isEmpty(); 428 } 429 430 /** 431 * @param value {@link #relativeRisk} (Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.).). This is the underlying object with id, value and extensions. The accessor "getRelativeRisk" gives direct access to the value 432 */ 433 public RiskAssessmentPredictionComponent setRelativeRiskElement(DecimalType value) { 434 this.relativeRisk = value; 435 return this; 436 } 437 438 /** 439 * @return Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). 440 */ 441 public BigDecimal getRelativeRisk() { 442 return this.relativeRisk == null ? null : this.relativeRisk.getValue(); 443 } 444 445 /** 446 * @param value Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). 447 */ 448 public RiskAssessmentPredictionComponent setRelativeRisk(BigDecimal value) { 449 if (value == null) 450 this.relativeRisk = null; 451 else { 452 if (this.relativeRisk == null) 453 this.relativeRisk = new DecimalType(); 454 this.relativeRisk.setValue(value); 455 } 456 return this; 457 } 458 459 /** 460 * @param value Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). 461 */ 462 public RiskAssessmentPredictionComponent setRelativeRisk(long value) { 463 this.relativeRisk = new DecimalType(); 464 this.relativeRisk.setValue(value); 465 return this; 466 } 467 468 /** 469 * @param value Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.). 470 */ 471 public RiskAssessmentPredictionComponent setRelativeRisk(double value) { 472 this.relativeRisk = new DecimalType(); 473 this.relativeRisk.setValue(value); 474 return this; 475 } 476 477 /** 478 * @return {@link #when} (Indicates the period of time or age range of the subject to which the specified probability applies.) 479 */ 480 public Type getWhen() { 481 return this.when; 482 } 483 484 /** 485 * @return {@link #when} (Indicates the period of time or age range of the subject to which the specified probability applies.) 486 */ 487 public Period getWhenPeriod() throws FHIRException { 488 if (this.when == null) 489 return null; 490 if (!(this.when instanceof Period)) 491 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.when.getClass().getName()+" was encountered"); 492 return (Period) this.when; 493 } 494 495 public boolean hasWhenPeriod() { 496 return this != null && this.when instanceof Period; 497 } 498 499 /** 500 * @return {@link #when} (Indicates the period of time or age range of the subject to which the specified probability applies.) 501 */ 502 public Range getWhenRange() throws FHIRException { 503 if (this.when == null) 504 return null; 505 if (!(this.when instanceof Range)) 506 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.when.getClass().getName()+" was encountered"); 507 return (Range) this.when; 508 } 509 510 public boolean hasWhenRange() { 511 return this != null && this.when instanceof Range; 512 } 513 514 public boolean hasWhen() { 515 return this.when != null && !this.when.isEmpty(); 516 } 517 518 /** 519 * @param value {@link #when} (Indicates the period of time or age range of the subject to which the specified probability applies.) 520 */ 521 public RiskAssessmentPredictionComponent setWhen(Type value) throws FHIRFormatError { 522 if (value != null && !(value instanceof Period || value instanceof Range)) 523 throw new FHIRFormatError("Not the right type for RiskAssessment.prediction.when[x]: "+value.fhirType()); 524 this.when = value; 525 return this; 526 } 527 528 /** 529 * @return {@link #rationale} (Additional information explaining the basis for the prediction.). This is the underlying object with id, value and extensions. The accessor "getRationale" gives direct access to the value 530 */ 531 public StringType getRationaleElement() { 532 if (this.rationale == null) 533 if (Configuration.errorOnAutoCreate()) 534 throw new Error("Attempt to auto-create RiskAssessmentPredictionComponent.rationale"); 535 else if (Configuration.doAutoCreate()) 536 this.rationale = new StringType(); // bb 537 return this.rationale; 538 } 539 540 public boolean hasRationaleElement() { 541 return this.rationale != null && !this.rationale.isEmpty(); 542 } 543 544 public boolean hasRationale() { 545 return this.rationale != null && !this.rationale.isEmpty(); 546 } 547 548 /** 549 * @param value {@link #rationale} (Additional information explaining the basis for the prediction.). This is the underlying object with id, value and extensions. The accessor "getRationale" gives direct access to the value 550 */ 551 public RiskAssessmentPredictionComponent setRationaleElement(StringType value) { 552 this.rationale = value; 553 return this; 554 } 555 556 /** 557 * @return Additional information explaining the basis for the prediction. 558 */ 559 public String getRationale() { 560 return this.rationale == null ? null : this.rationale.getValue(); 561 } 562 563 /** 564 * @param value Additional information explaining the basis for the prediction. 565 */ 566 public RiskAssessmentPredictionComponent setRationale(String value) { 567 if (Utilities.noString(value)) 568 this.rationale = null; 569 else { 570 if (this.rationale == null) 571 this.rationale = new StringType(); 572 this.rationale.setValue(value); 573 } 574 return this; 575 } 576 577 protected void listChildren(List<Property> children) { 578 super.listChildren(children); 579 children.add(new Property("outcome", "CodeableConcept", "One of the potential outcomes for the patient (e.g. remission, death, a particular condition).", 0, 1, outcome)); 580 children.add(new Property("probability[x]", "decimal|Range", "How likely is the outcome (in the specified timeframe).", 0, 1, probability)); 581 children.add(new Property("qualitativeRisk", "CodeableConcept", "How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high).", 0, 1, qualitativeRisk)); 582 children.add(new Property("relativeRisk", "decimal", "Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.).", 0, 1, relativeRisk)); 583 children.add(new Property("when[x]", "Period|Range", "Indicates the period of time or age range of the subject to which the specified probability applies.", 0, 1, when)); 584 children.add(new Property("rationale", "string", "Additional information explaining the basis for the prediction.", 0, 1, rationale)); 585 } 586 587 @Override 588 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 589 switch (_hash) { 590 case -1106507950: /*outcome*/ return new Property("outcome", "CodeableConcept", "One of the potential outcomes for the patient (e.g. remission, death, a particular condition).", 0, 1, outcome); 591 case 1430185003: /*probability[x]*/ return new Property("probability[x]", "decimal|Range", "How likely is the outcome (in the specified timeframe).", 0, 1, probability); 592 case -1290561483: /*probability*/ return new Property("probability[x]", "decimal|Range", "How likely is the outcome (in the specified timeframe).", 0, 1, probability); 593 case 888495452: /*probabilityDecimal*/ return new Property("probability[x]", "decimal|Range", "How likely is the outcome (in the specified timeframe).", 0, 1, probability); 594 case 9275912: /*probabilityRange*/ return new Property("probability[x]", "decimal|Range", "How likely is the outcome (in the specified timeframe).", 0, 1, probability); 595 case 123308730: /*qualitativeRisk*/ return new Property("qualitativeRisk", "CodeableConcept", "How likely is the outcome (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, high).", 0, 1, qualitativeRisk); 596 case -70741061: /*relativeRisk*/ return new Property("relativeRisk", "decimal", "Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general. (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.).", 0, 1, relativeRisk); 597 case 1312831238: /*when[x]*/ return new Property("when[x]", "Period|Range", "Indicates the period of time or age range of the subject to which the specified probability applies.", 0, 1, when); 598 case 3648314: /*when*/ return new Property("when[x]", "Period|Range", "Indicates the period of time or age range of the subject to which the specified probability applies.", 0, 1, when); 599 case 251476379: /*whenPeriod*/ return new Property("when[x]", "Period|Range", "Indicates the period of time or age range of the subject to which the specified probability applies.", 0, 1, when); 600 case -1098542557: /*whenRange*/ return new Property("when[x]", "Period|Range", "Indicates the period of time or age range of the subject to which the specified probability applies.", 0, 1, when); 601 case 345689335: /*rationale*/ return new Property("rationale", "string", "Additional information explaining the basis for the prediction.", 0, 1, rationale); 602 default: return super.getNamedProperty(_hash, _name, _checkValid); 603 } 604 605 } 606 607 @Override 608 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 609 switch (hash) { 610 case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // CodeableConcept 611 case -1290561483: /*probability*/ return this.probability == null ? new Base[0] : new Base[] {this.probability}; // Type 612 case 123308730: /*qualitativeRisk*/ return this.qualitativeRisk == null ? new Base[0] : new Base[] {this.qualitativeRisk}; // CodeableConcept 613 case -70741061: /*relativeRisk*/ return this.relativeRisk == null ? new Base[0] : new Base[] {this.relativeRisk}; // DecimalType 614 case 3648314: /*when*/ return this.when == null ? new Base[0] : new Base[] {this.when}; // Type 615 case 345689335: /*rationale*/ return this.rationale == null ? new Base[0] : new Base[] {this.rationale}; // StringType 616 default: return super.getProperty(hash, name, checkValid); 617 } 618 619 } 620 621 @Override 622 public Base setProperty(int hash, String name, Base value) throws FHIRException { 623 switch (hash) { 624 case -1106507950: // outcome 625 this.outcome = castToCodeableConcept(value); // CodeableConcept 626 return value; 627 case -1290561483: // probability 628 this.probability = castToType(value); // Type 629 return value; 630 case 123308730: // qualitativeRisk 631 this.qualitativeRisk = castToCodeableConcept(value); // CodeableConcept 632 return value; 633 case -70741061: // relativeRisk 634 this.relativeRisk = castToDecimal(value); // DecimalType 635 return value; 636 case 3648314: // when 637 this.when = castToType(value); // Type 638 return value; 639 case 345689335: // rationale 640 this.rationale = castToString(value); // StringType 641 return value; 642 default: return super.setProperty(hash, name, value); 643 } 644 645 } 646 647 @Override 648 public Base setProperty(String name, Base value) throws FHIRException { 649 if (name.equals("outcome")) { 650 this.outcome = castToCodeableConcept(value); // CodeableConcept 651 } else if (name.equals("probability[x]")) { 652 this.probability = castToType(value); // Type 653 } else if (name.equals("qualitativeRisk")) { 654 this.qualitativeRisk = castToCodeableConcept(value); // CodeableConcept 655 } else if (name.equals("relativeRisk")) { 656 this.relativeRisk = castToDecimal(value); // DecimalType 657 } else if (name.equals("when[x]")) { 658 this.when = castToType(value); // Type 659 } else if (name.equals("rationale")) { 660 this.rationale = castToString(value); // StringType 661 } else 662 return super.setProperty(name, value); 663 return value; 664 } 665 666 @Override 667 public Base makeProperty(int hash, String name) throws FHIRException { 668 switch (hash) { 669 case -1106507950: return getOutcome(); 670 case 1430185003: return getProbability(); 671 case -1290561483: return getProbability(); 672 case 123308730: return getQualitativeRisk(); 673 case -70741061: return getRelativeRiskElement(); 674 case 1312831238: return getWhen(); 675 case 3648314: return getWhen(); 676 case 345689335: return getRationaleElement(); 677 default: return super.makeProperty(hash, name); 678 } 679 680 } 681 682 @Override 683 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 684 switch (hash) { 685 case -1106507950: /*outcome*/ return new String[] {"CodeableConcept"}; 686 case -1290561483: /*probability*/ return new String[] {"decimal", "Range"}; 687 case 123308730: /*qualitativeRisk*/ return new String[] {"CodeableConcept"}; 688 case -70741061: /*relativeRisk*/ return new String[] {"decimal"}; 689 case 3648314: /*when*/ return new String[] {"Period", "Range"}; 690 case 345689335: /*rationale*/ return new String[] {"string"}; 691 default: return super.getTypesForProperty(hash, name); 692 } 693 694 } 695 696 @Override 697 public Base addChild(String name) throws FHIRException { 698 if (name.equals("outcome")) { 699 this.outcome = new CodeableConcept(); 700 return this.outcome; 701 } 702 else if (name.equals("probabilityDecimal")) { 703 this.probability = new DecimalType(); 704 return this.probability; 705 } 706 else if (name.equals("probabilityRange")) { 707 this.probability = new Range(); 708 return this.probability; 709 } 710 else if (name.equals("qualitativeRisk")) { 711 this.qualitativeRisk = new CodeableConcept(); 712 return this.qualitativeRisk; 713 } 714 else if (name.equals("relativeRisk")) { 715 throw new FHIRException("Cannot call addChild on a singleton property RiskAssessment.relativeRisk"); 716 } 717 else if (name.equals("whenPeriod")) { 718 this.when = new Period(); 719 return this.when; 720 } 721 else if (name.equals("whenRange")) { 722 this.when = new Range(); 723 return this.when; 724 } 725 else if (name.equals("rationale")) { 726 throw new FHIRException("Cannot call addChild on a singleton property RiskAssessment.rationale"); 727 } 728 else 729 return super.addChild(name); 730 } 731 732 public RiskAssessmentPredictionComponent copy() { 733 RiskAssessmentPredictionComponent dst = new RiskAssessmentPredictionComponent(); 734 copyValues(dst); 735 dst.outcome = outcome == null ? null : outcome.copy(); 736 dst.probability = probability == null ? null : probability.copy(); 737 dst.qualitativeRisk = qualitativeRisk == null ? null : qualitativeRisk.copy(); 738 dst.relativeRisk = relativeRisk == null ? null : relativeRisk.copy(); 739 dst.when = when == null ? null : when.copy(); 740 dst.rationale = rationale == null ? null : rationale.copy(); 741 return dst; 742 } 743 744 @Override 745 public boolean equalsDeep(Base other_) { 746 if (!super.equalsDeep(other_)) 747 return false; 748 if (!(other_ instanceof RiskAssessmentPredictionComponent)) 749 return false; 750 RiskAssessmentPredictionComponent o = (RiskAssessmentPredictionComponent) other_; 751 return compareDeep(outcome, o.outcome, true) && compareDeep(probability, o.probability, true) && compareDeep(qualitativeRisk, o.qualitativeRisk, true) 752 && compareDeep(relativeRisk, o.relativeRisk, true) && compareDeep(when, o.when, true) && compareDeep(rationale, o.rationale, true) 753 ; 754 } 755 756 @Override 757 public boolean equalsShallow(Base other_) { 758 if (!super.equalsShallow(other_)) 759 return false; 760 if (!(other_ instanceof RiskAssessmentPredictionComponent)) 761 return false; 762 RiskAssessmentPredictionComponent o = (RiskAssessmentPredictionComponent) other_; 763 return compareValues(relativeRisk, o.relativeRisk, true) && compareValues(rationale, o.rationale, true) 764 ; 765 } 766 767 public boolean isEmpty() { 768 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(outcome, probability, qualitativeRisk 769 , relativeRisk, when, rationale); 770 } 771 772 public String fhirType() { 773 return "RiskAssessment.prediction"; 774 775 } 776 777 } 778 779 /** 780 * Business identifier assigned to the risk assessment. 781 */ 782 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=1, modifier=false, summary=true) 783 @Description(shortDefinition="Unique identifier for the assessment", formalDefinition="Business identifier assigned to the risk assessment." ) 784 protected Identifier identifier; 785 786 /** 787 * A reference to the request that is fulfilled by this risk assessment. 788 */ 789 @Child(name = "basedOn", type = {Reference.class}, order=1, min=0, max=1, modifier=false, summary=false) 790 @Description(shortDefinition="Request fulfilled by this assessment", formalDefinition="A reference to the request that is fulfilled by this risk assessment." ) 791 protected Reference basedOn; 792 793 /** 794 * The actual object that is the target of the reference (A reference to the request that is fulfilled by this risk assessment.) 795 */ 796 protected Resource basedOnTarget; 797 798 /** 799 * A reference to a resource that this risk assessment is part of, such as a Procedure. 800 */ 801 @Child(name = "parent", type = {Reference.class}, order=2, min=0, max=1, modifier=false, summary=false) 802 @Description(shortDefinition="Part of this occurrence", formalDefinition="A reference to a resource that this risk assessment is part of, such as a Procedure." ) 803 protected Reference parent; 804 805 /** 806 * The actual object that is the target of the reference (A reference to a resource that this risk assessment is part of, such as a Procedure.) 807 */ 808 protected Resource parentTarget; 809 810 /** 811 * The status of the RiskAssessment, using the same statuses as an Observation. 812 */ 813 @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=false) 814 @Description(shortDefinition="registered | preliminary | final | amended +", formalDefinition="The status of the RiskAssessment, using the same statuses as an Observation." ) 815 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-status") 816 protected Enumeration<RiskAssessmentStatus> status; 817 818 /** 819 * The algorithm, process or mechanism used to evaluate the risk. 820 */ 821 @Child(name = "method", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) 822 @Description(shortDefinition="Evaluation mechanism", formalDefinition="The algorithm, process or mechanism used to evaluate the risk." ) 823 protected CodeableConcept method; 824 825 /** 826 * The type of the risk assessment performed. 827 */ 828 @Child(name = "code", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=true) 829 @Description(shortDefinition="Type of assessment", formalDefinition="The type of the risk assessment performed." ) 830 protected CodeableConcept code; 831 832 /** 833 * The patient or group the risk assessment applies to. 834 */ 835 @Child(name = "subject", type = {Patient.class, Group.class}, order=6, min=0, max=1, modifier=false, summary=true) 836 @Description(shortDefinition="Who/what does assessment apply to?", formalDefinition="The patient or group the risk assessment applies to." ) 837 protected Reference subject; 838 839 /** 840 * The actual object that is the target of the reference (The patient or group the risk assessment applies to.) 841 */ 842 protected Resource subjectTarget; 843 844 /** 845 * The encounter where the assessment was performed. 846 */ 847 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=7, min=0, max=1, modifier=false, summary=true) 848 @Description(shortDefinition="Where was assessment performed?", formalDefinition="The encounter where the assessment was performed." ) 849 protected Reference context; 850 851 /** 852 * The actual object that is the target of the reference (The encounter where the assessment was performed.) 853 */ 854 protected Resource contextTarget; 855 856 /** 857 * The date (and possibly time) the risk assessment was performed. 858 */ 859 @Child(name = "occurrence", type = {DateTimeType.class, Period.class}, order=8, min=0, max=1, modifier=false, summary=true) 860 @Description(shortDefinition="When was assessment made?", formalDefinition="The date (and possibly time) the risk assessment was performed." ) 861 protected Type occurrence; 862 863 /** 864 * For assessments or prognosis specific to a particular condition, indicates the condition being assessed. 865 */ 866 @Child(name = "condition", type = {Condition.class}, order=9, min=0, max=1, modifier=false, summary=true) 867 @Description(shortDefinition="Condition assessed", formalDefinition="For assessments or prognosis specific to a particular condition, indicates the condition being assessed." ) 868 protected Reference condition; 869 870 /** 871 * The actual object that is the target of the reference (For assessments or prognosis specific to a particular condition, indicates the condition being assessed.) 872 */ 873 protected Condition conditionTarget; 874 875 /** 876 * The provider or software application that performed the assessment. 877 */ 878 @Child(name = "performer", type = {Practitioner.class, Device.class}, order=10, min=0, max=1, modifier=false, summary=true) 879 @Description(shortDefinition="Who did assessment?", formalDefinition="The provider or software application that performed the assessment." ) 880 protected Reference performer; 881 882 /** 883 * The actual object that is the target of the reference (The provider or software application that performed the assessment.) 884 */ 885 protected Resource performerTarget; 886 887 /** 888 * The reason the risk assessment was performed. 889 */ 890 @Child(name = "reason", type = {CodeableConcept.class, Reference.class}, order=11, min=0, max=1, modifier=false, summary=false) 891 @Description(shortDefinition="Why the assessment was necessary?", formalDefinition="The reason the risk assessment was performed." ) 892 protected Type reason; 893 894 /** 895 * Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.). 896 */ 897 @Child(name = "basis", type = {Reference.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 898 @Description(shortDefinition="Information used in assessment", formalDefinition="Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.)." ) 899 protected List<Reference> basis; 900 /** 901 * The actual objects that are the target of the reference (Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.).) 902 */ 903 protected List<Resource> basisTarget; 904 905 906 /** 907 * Describes the expected outcome for the subject. 908 */ 909 @Child(name = "prediction", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 910 @Description(shortDefinition="Outcome predicted", formalDefinition="Describes the expected outcome for the subject." ) 911 protected List<RiskAssessmentPredictionComponent> prediction; 912 913 /** 914 * A description of the steps that might be taken to reduce the identified risk(s). 915 */ 916 @Child(name = "mitigation", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false) 917 @Description(shortDefinition="How to reduce risk", formalDefinition="A description of the steps that might be taken to reduce the identified risk(s)." ) 918 protected StringType mitigation; 919 920 /** 921 * Additional comments about the risk assessment. 922 */ 923 @Child(name = "comment", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) 924 @Description(shortDefinition="Comments on the risk assessment", formalDefinition="Additional comments about the risk assessment." ) 925 protected StringType comment; 926 927 private static final long serialVersionUID = -715866284L; 928 929 /** 930 * Constructor 931 */ 932 public RiskAssessment() { 933 super(); 934 } 935 936 /** 937 * Constructor 938 */ 939 public RiskAssessment(Enumeration<RiskAssessmentStatus> status) { 940 super(); 941 this.status = status; 942 } 943 944 /** 945 * @return {@link #identifier} (Business identifier assigned to the risk assessment.) 946 */ 947 public Identifier getIdentifier() { 948 if (this.identifier == null) 949 if (Configuration.errorOnAutoCreate()) 950 throw new Error("Attempt to auto-create RiskAssessment.identifier"); 951 else if (Configuration.doAutoCreate()) 952 this.identifier = new Identifier(); // cc 953 return this.identifier; 954 } 955 956 public boolean hasIdentifier() { 957 return this.identifier != null && !this.identifier.isEmpty(); 958 } 959 960 /** 961 * @param value {@link #identifier} (Business identifier assigned to the risk assessment.) 962 */ 963 public RiskAssessment setIdentifier(Identifier value) { 964 this.identifier = value; 965 return this; 966 } 967 968 /** 969 * @return {@link #basedOn} (A reference to the request that is fulfilled by this risk assessment.) 970 */ 971 public Reference getBasedOn() { 972 if (this.basedOn == null) 973 if (Configuration.errorOnAutoCreate()) 974 throw new Error("Attempt to auto-create RiskAssessment.basedOn"); 975 else if (Configuration.doAutoCreate()) 976 this.basedOn = new Reference(); // cc 977 return this.basedOn; 978 } 979 980 public boolean hasBasedOn() { 981 return this.basedOn != null && !this.basedOn.isEmpty(); 982 } 983 984 /** 985 * @param value {@link #basedOn} (A reference to the request that is fulfilled by this risk assessment.) 986 */ 987 public RiskAssessment setBasedOn(Reference value) { 988 this.basedOn = value; 989 return this; 990 } 991 992 /** 993 * @return {@link #basedOn} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A reference to the request that is fulfilled by this risk assessment.) 994 */ 995 public Resource getBasedOnTarget() { 996 return this.basedOnTarget; 997 } 998 999 /** 1000 * @param value {@link #basedOn} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A reference to the request that is fulfilled by this risk assessment.) 1001 */ 1002 public RiskAssessment setBasedOnTarget(Resource value) { 1003 this.basedOnTarget = value; 1004 return this; 1005 } 1006 1007 /** 1008 * @return {@link #parent} (A reference to a resource that this risk assessment is part of, such as a Procedure.) 1009 */ 1010 public Reference getParent() { 1011 if (this.parent == null) 1012 if (Configuration.errorOnAutoCreate()) 1013 throw new Error("Attempt to auto-create RiskAssessment.parent"); 1014 else if (Configuration.doAutoCreate()) 1015 this.parent = new Reference(); // cc 1016 return this.parent; 1017 } 1018 1019 public boolean hasParent() { 1020 return this.parent != null && !this.parent.isEmpty(); 1021 } 1022 1023 /** 1024 * @param value {@link #parent} (A reference to a resource that this risk assessment is part of, such as a Procedure.) 1025 */ 1026 public RiskAssessment setParent(Reference value) { 1027 this.parent = value; 1028 return this; 1029 } 1030 1031 /** 1032 * @return {@link #parent} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A reference to a resource that this risk assessment is part of, such as a Procedure.) 1033 */ 1034 public Resource getParentTarget() { 1035 return this.parentTarget; 1036 } 1037 1038 /** 1039 * @param value {@link #parent} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A reference to a resource that this risk assessment is part of, such as a Procedure.) 1040 */ 1041 public RiskAssessment setParentTarget(Resource value) { 1042 this.parentTarget = value; 1043 return this; 1044 } 1045 1046 /** 1047 * @return {@link #status} (The status of the RiskAssessment, using the same statuses as an Observation.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1048 */ 1049 public Enumeration<RiskAssessmentStatus> getStatusElement() { 1050 if (this.status == null) 1051 if (Configuration.errorOnAutoCreate()) 1052 throw new Error("Attempt to auto-create RiskAssessment.status"); 1053 else if (Configuration.doAutoCreate()) 1054 this.status = new Enumeration<RiskAssessmentStatus>(new RiskAssessmentStatusEnumFactory()); // bb 1055 return this.status; 1056 } 1057 1058 public boolean hasStatusElement() { 1059 return this.status != null && !this.status.isEmpty(); 1060 } 1061 1062 public boolean hasStatus() { 1063 return this.status != null && !this.status.isEmpty(); 1064 } 1065 1066 /** 1067 * @param value {@link #status} (The status of the RiskAssessment, using the same statuses as an Observation.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1068 */ 1069 public RiskAssessment setStatusElement(Enumeration<RiskAssessmentStatus> value) { 1070 this.status = value; 1071 return this; 1072 } 1073 1074 /** 1075 * @return The status of the RiskAssessment, using the same statuses as an Observation. 1076 */ 1077 public RiskAssessmentStatus getStatus() { 1078 return this.status == null ? null : this.status.getValue(); 1079 } 1080 1081 /** 1082 * @param value The status of the RiskAssessment, using the same statuses as an Observation. 1083 */ 1084 public RiskAssessment setStatus(RiskAssessmentStatus value) { 1085 if (this.status == null) 1086 this.status = new Enumeration<RiskAssessmentStatus>(new RiskAssessmentStatusEnumFactory()); 1087 this.status.setValue(value); 1088 return this; 1089 } 1090 1091 /** 1092 * @return {@link #method} (The algorithm, process or mechanism used to evaluate the risk.) 1093 */ 1094 public CodeableConcept getMethod() { 1095 if (this.method == null) 1096 if (Configuration.errorOnAutoCreate()) 1097 throw new Error("Attempt to auto-create RiskAssessment.method"); 1098 else if (Configuration.doAutoCreate()) 1099 this.method = new CodeableConcept(); // cc 1100 return this.method; 1101 } 1102 1103 public boolean hasMethod() { 1104 return this.method != null && !this.method.isEmpty(); 1105 } 1106 1107 /** 1108 * @param value {@link #method} (The algorithm, process or mechanism used to evaluate the risk.) 1109 */ 1110 public RiskAssessment setMethod(CodeableConcept value) { 1111 this.method = value; 1112 return this; 1113 } 1114 1115 /** 1116 * @return {@link #code} (The type of the risk assessment performed.) 1117 */ 1118 public CodeableConcept getCode() { 1119 if (this.code == null) 1120 if (Configuration.errorOnAutoCreate()) 1121 throw new Error("Attempt to auto-create RiskAssessment.code"); 1122 else if (Configuration.doAutoCreate()) 1123 this.code = new CodeableConcept(); // cc 1124 return this.code; 1125 } 1126 1127 public boolean hasCode() { 1128 return this.code != null && !this.code.isEmpty(); 1129 } 1130 1131 /** 1132 * @param value {@link #code} (The type of the risk assessment performed.) 1133 */ 1134 public RiskAssessment setCode(CodeableConcept value) { 1135 this.code = value; 1136 return this; 1137 } 1138 1139 /** 1140 * @return {@link #subject} (The patient or group the risk assessment applies to.) 1141 */ 1142 public Reference getSubject() { 1143 if (this.subject == null) 1144 if (Configuration.errorOnAutoCreate()) 1145 throw new Error("Attempt to auto-create RiskAssessment.subject"); 1146 else if (Configuration.doAutoCreate()) 1147 this.subject = new Reference(); // cc 1148 return this.subject; 1149 } 1150 1151 public boolean hasSubject() { 1152 return this.subject != null && !this.subject.isEmpty(); 1153 } 1154 1155 /** 1156 * @param value {@link #subject} (The patient or group the risk assessment applies to.) 1157 */ 1158 public RiskAssessment setSubject(Reference value) { 1159 this.subject = value; 1160 return this; 1161 } 1162 1163 /** 1164 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The patient or group the risk assessment applies to.) 1165 */ 1166 public Resource getSubjectTarget() { 1167 return this.subjectTarget; 1168 } 1169 1170 /** 1171 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The patient or group the risk assessment applies to.) 1172 */ 1173 public RiskAssessment setSubjectTarget(Resource value) { 1174 this.subjectTarget = value; 1175 return this; 1176 } 1177 1178 /** 1179 * @return {@link #context} (The encounter where the assessment was performed.) 1180 */ 1181 public Reference getContext() { 1182 if (this.context == null) 1183 if (Configuration.errorOnAutoCreate()) 1184 throw new Error("Attempt to auto-create RiskAssessment.context"); 1185 else if (Configuration.doAutoCreate()) 1186 this.context = new Reference(); // cc 1187 return this.context; 1188 } 1189 1190 public boolean hasContext() { 1191 return this.context != null && !this.context.isEmpty(); 1192 } 1193 1194 /** 1195 * @param value {@link #context} (The encounter where the assessment was performed.) 1196 */ 1197 public RiskAssessment setContext(Reference value) { 1198 this.context = value; 1199 return this; 1200 } 1201 1202 /** 1203 * @return {@link #context} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The encounter where the assessment was performed.) 1204 */ 1205 public Resource getContextTarget() { 1206 return this.contextTarget; 1207 } 1208 1209 /** 1210 * @param value {@link #context} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The encounter where the assessment was performed.) 1211 */ 1212 public RiskAssessment setContextTarget(Resource value) { 1213 this.contextTarget = value; 1214 return this; 1215 } 1216 1217 /** 1218 * @return {@link #occurrence} (The date (and possibly time) the risk assessment was performed.) 1219 */ 1220 public Type getOccurrence() { 1221 return this.occurrence; 1222 } 1223 1224 /** 1225 * @return {@link #occurrence} (The date (and possibly time) the risk assessment was performed.) 1226 */ 1227 public DateTimeType getOccurrenceDateTimeType() throws FHIRException { 1228 if (this.occurrence == null) 1229 return null; 1230 if (!(this.occurrence instanceof DateTimeType)) 1231 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1232 return (DateTimeType) this.occurrence; 1233 } 1234 1235 public boolean hasOccurrenceDateTimeType() { 1236 return this != null && this.occurrence instanceof DateTimeType; 1237 } 1238 1239 /** 1240 * @return {@link #occurrence} (The date (and possibly time) the risk assessment was performed.) 1241 */ 1242 public Period getOccurrencePeriod() throws FHIRException { 1243 if (this.occurrence == null) 1244 return null; 1245 if (!(this.occurrence instanceof Period)) 1246 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1247 return (Period) this.occurrence; 1248 } 1249 1250 public boolean hasOccurrencePeriod() { 1251 return this != null && this.occurrence instanceof Period; 1252 } 1253 1254 public boolean hasOccurrence() { 1255 return this.occurrence != null && !this.occurrence.isEmpty(); 1256 } 1257 1258 /** 1259 * @param value {@link #occurrence} (The date (and possibly time) the risk assessment was performed.) 1260 */ 1261 public RiskAssessment setOccurrence(Type value) throws FHIRFormatError { 1262 if (value != null && !(value instanceof DateTimeType || value instanceof Period)) 1263 throw new FHIRFormatError("Not the right type for RiskAssessment.occurrence[x]: "+value.fhirType()); 1264 this.occurrence = value; 1265 return this; 1266 } 1267 1268 /** 1269 * @return {@link #condition} (For assessments or prognosis specific to a particular condition, indicates the condition being assessed.) 1270 */ 1271 public Reference getCondition() { 1272 if (this.condition == null) 1273 if (Configuration.errorOnAutoCreate()) 1274 throw new Error("Attempt to auto-create RiskAssessment.condition"); 1275 else if (Configuration.doAutoCreate()) 1276 this.condition = new Reference(); // cc 1277 return this.condition; 1278 } 1279 1280 public boolean hasCondition() { 1281 return this.condition != null && !this.condition.isEmpty(); 1282 } 1283 1284 /** 1285 * @param value {@link #condition} (For assessments or prognosis specific to a particular condition, indicates the condition being assessed.) 1286 */ 1287 public RiskAssessment setCondition(Reference value) { 1288 this.condition = value; 1289 return this; 1290 } 1291 1292 /** 1293 * @return {@link #condition} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (For assessments or prognosis specific to a particular condition, indicates the condition being assessed.) 1294 */ 1295 public Condition getConditionTarget() { 1296 if (this.conditionTarget == null) 1297 if (Configuration.errorOnAutoCreate()) 1298 throw new Error("Attempt to auto-create RiskAssessment.condition"); 1299 else if (Configuration.doAutoCreate()) 1300 this.conditionTarget = new Condition(); // aa 1301 return this.conditionTarget; 1302 } 1303 1304 /** 1305 * @param value {@link #condition} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (For assessments or prognosis specific to a particular condition, indicates the condition being assessed.) 1306 */ 1307 public RiskAssessment setConditionTarget(Condition value) { 1308 this.conditionTarget = value; 1309 return this; 1310 } 1311 1312 /** 1313 * @return {@link #performer} (The provider or software application that performed the assessment.) 1314 */ 1315 public Reference getPerformer() { 1316 if (this.performer == null) 1317 if (Configuration.errorOnAutoCreate()) 1318 throw new Error("Attempt to auto-create RiskAssessment.performer"); 1319 else if (Configuration.doAutoCreate()) 1320 this.performer = new Reference(); // cc 1321 return this.performer; 1322 } 1323 1324 public boolean hasPerformer() { 1325 return this.performer != null && !this.performer.isEmpty(); 1326 } 1327 1328 /** 1329 * @param value {@link #performer} (The provider or software application that performed the assessment.) 1330 */ 1331 public RiskAssessment setPerformer(Reference value) { 1332 this.performer = value; 1333 return this; 1334 } 1335 1336 /** 1337 * @return {@link #performer} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The provider or software application that performed the assessment.) 1338 */ 1339 public Resource getPerformerTarget() { 1340 return this.performerTarget; 1341 } 1342 1343 /** 1344 * @param value {@link #performer} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The provider or software application that performed the assessment.) 1345 */ 1346 public RiskAssessment setPerformerTarget(Resource value) { 1347 this.performerTarget = value; 1348 return this; 1349 } 1350 1351 /** 1352 * @return {@link #reason} (The reason the risk assessment was performed.) 1353 */ 1354 public Type getReason() { 1355 return this.reason; 1356 } 1357 1358 /** 1359 * @return {@link #reason} (The reason the risk assessment was performed.) 1360 */ 1361 public CodeableConcept getReasonCodeableConcept() throws FHIRException { 1362 if (this.reason == null) 1363 return null; 1364 if (!(this.reason instanceof CodeableConcept)) 1365 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.reason.getClass().getName()+" was encountered"); 1366 return (CodeableConcept) this.reason; 1367 } 1368 1369 public boolean hasReasonCodeableConcept() { 1370 return this != null && this.reason instanceof CodeableConcept; 1371 } 1372 1373 /** 1374 * @return {@link #reason} (The reason the risk assessment was performed.) 1375 */ 1376 public Reference getReasonReference() throws FHIRException { 1377 if (this.reason == null) 1378 return null; 1379 if (!(this.reason instanceof Reference)) 1380 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.reason.getClass().getName()+" was encountered"); 1381 return (Reference) this.reason; 1382 } 1383 1384 public boolean hasReasonReference() { 1385 return this != null && this.reason instanceof Reference; 1386 } 1387 1388 public boolean hasReason() { 1389 return this.reason != null && !this.reason.isEmpty(); 1390 } 1391 1392 /** 1393 * @param value {@link #reason} (The reason the risk assessment was performed.) 1394 */ 1395 public RiskAssessment setReason(Type value) throws FHIRFormatError { 1396 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1397 throw new FHIRFormatError("Not the right type for RiskAssessment.reason[x]: "+value.fhirType()); 1398 this.reason = value; 1399 return this; 1400 } 1401 1402 /** 1403 * @return {@link #basis} (Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.).) 1404 */ 1405 public List<Reference> getBasis() { 1406 if (this.basis == null) 1407 this.basis = new ArrayList<Reference>(); 1408 return this.basis; 1409 } 1410 1411 /** 1412 * @return Returns a reference to <code>this</code> for easy method chaining 1413 */ 1414 public RiskAssessment setBasis(List<Reference> theBasis) { 1415 this.basis = theBasis; 1416 return this; 1417 } 1418 1419 public boolean hasBasis() { 1420 if (this.basis == null) 1421 return false; 1422 for (Reference item : this.basis) 1423 if (!item.isEmpty()) 1424 return true; 1425 return false; 1426 } 1427 1428 public Reference addBasis() { //3 1429 Reference t = new Reference(); 1430 if (this.basis == null) 1431 this.basis = new ArrayList<Reference>(); 1432 this.basis.add(t); 1433 return t; 1434 } 1435 1436 public RiskAssessment addBasis(Reference t) { //3 1437 if (t == null) 1438 return this; 1439 if (this.basis == null) 1440 this.basis = new ArrayList<Reference>(); 1441 this.basis.add(t); 1442 return this; 1443 } 1444 1445 /** 1446 * @return The first repetition of repeating field {@link #basis}, creating it if it does not already exist 1447 */ 1448 public Reference getBasisFirstRep() { 1449 if (getBasis().isEmpty()) { 1450 addBasis(); 1451 } 1452 return getBasis().get(0); 1453 } 1454 1455 /** 1456 * @deprecated Use Reference#setResource(IBaseResource) instead 1457 */ 1458 @Deprecated 1459 public List<Resource> getBasisTarget() { 1460 if (this.basisTarget == null) 1461 this.basisTarget = new ArrayList<Resource>(); 1462 return this.basisTarget; 1463 } 1464 1465 /** 1466 * @return {@link #prediction} (Describes the expected outcome for the subject.) 1467 */ 1468 public List<RiskAssessmentPredictionComponent> getPrediction() { 1469 if (this.prediction == null) 1470 this.prediction = new ArrayList<RiskAssessmentPredictionComponent>(); 1471 return this.prediction; 1472 } 1473 1474 /** 1475 * @return Returns a reference to <code>this</code> for easy method chaining 1476 */ 1477 public RiskAssessment setPrediction(List<RiskAssessmentPredictionComponent> thePrediction) { 1478 this.prediction = thePrediction; 1479 return this; 1480 } 1481 1482 public boolean hasPrediction() { 1483 if (this.prediction == null) 1484 return false; 1485 for (RiskAssessmentPredictionComponent item : this.prediction) 1486 if (!item.isEmpty()) 1487 return true; 1488 return false; 1489 } 1490 1491 public RiskAssessmentPredictionComponent addPrediction() { //3 1492 RiskAssessmentPredictionComponent t = new RiskAssessmentPredictionComponent(); 1493 if (this.prediction == null) 1494 this.prediction = new ArrayList<RiskAssessmentPredictionComponent>(); 1495 this.prediction.add(t); 1496 return t; 1497 } 1498 1499 public RiskAssessment addPrediction(RiskAssessmentPredictionComponent t) { //3 1500 if (t == null) 1501 return this; 1502 if (this.prediction == null) 1503 this.prediction = new ArrayList<RiskAssessmentPredictionComponent>(); 1504 this.prediction.add(t); 1505 return this; 1506 } 1507 1508 /** 1509 * @return The first repetition of repeating field {@link #prediction}, creating it if it does not already exist 1510 */ 1511 public RiskAssessmentPredictionComponent getPredictionFirstRep() { 1512 if (getPrediction().isEmpty()) { 1513 addPrediction(); 1514 } 1515 return getPrediction().get(0); 1516 } 1517 1518 /** 1519 * @return {@link #mitigation} (A description of the steps that might be taken to reduce the identified risk(s).). This is the underlying object with id, value and extensions. The accessor "getMitigation" gives direct access to the value 1520 */ 1521 public StringType getMitigationElement() { 1522 if (this.mitigation == null) 1523 if (Configuration.errorOnAutoCreate()) 1524 throw new Error("Attempt to auto-create RiskAssessment.mitigation"); 1525 else if (Configuration.doAutoCreate()) 1526 this.mitigation = new StringType(); // bb 1527 return this.mitigation; 1528 } 1529 1530 public boolean hasMitigationElement() { 1531 return this.mitigation != null && !this.mitigation.isEmpty(); 1532 } 1533 1534 public boolean hasMitigation() { 1535 return this.mitigation != null && !this.mitigation.isEmpty(); 1536 } 1537 1538 /** 1539 * @param value {@link #mitigation} (A description of the steps that might be taken to reduce the identified risk(s).). This is the underlying object with id, value and extensions. The accessor "getMitigation" gives direct access to the value 1540 */ 1541 public RiskAssessment setMitigationElement(StringType value) { 1542 this.mitigation = value; 1543 return this; 1544 } 1545 1546 /** 1547 * @return A description of the steps that might be taken to reduce the identified risk(s). 1548 */ 1549 public String getMitigation() { 1550 return this.mitigation == null ? null : this.mitigation.getValue(); 1551 } 1552 1553 /** 1554 * @param value A description of the steps that might be taken to reduce the identified risk(s). 1555 */ 1556 public RiskAssessment setMitigation(String value) { 1557 if (Utilities.noString(value)) 1558 this.mitigation = null; 1559 else { 1560 if (this.mitigation == null) 1561 this.mitigation = new StringType(); 1562 this.mitigation.setValue(value); 1563 } 1564 return this; 1565 } 1566 1567 /** 1568 * @return {@link #comment} (Additional comments about the risk assessment.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 1569 */ 1570 public StringType getCommentElement() { 1571 if (this.comment == null) 1572 if (Configuration.errorOnAutoCreate()) 1573 throw new Error("Attempt to auto-create RiskAssessment.comment"); 1574 else if (Configuration.doAutoCreate()) 1575 this.comment = new StringType(); // bb 1576 return this.comment; 1577 } 1578 1579 public boolean hasCommentElement() { 1580 return this.comment != null && !this.comment.isEmpty(); 1581 } 1582 1583 public boolean hasComment() { 1584 return this.comment != null && !this.comment.isEmpty(); 1585 } 1586 1587 /** 1588 * @param value {@link #comment} (Additional comments about the risk assessment.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 1589 */ 1590 public RiskAssessment setCommentElement(StringType value) { 1591 this.comment = value; 1592 return this; 1593 } 1594 1595 /** 1596 * @return Additional comments about the risk assessment. 1597 */ 1598 public String getComment() { 1599 return this.comment == null ? null : this.comment.getValue(); 1600 } 1601 1602 /** 1603 * @param value Additional comments about the risk assessment. 1604 */ 1605 public RiskAssessment setComment(String value) { 1606 if (Utilities.noString(value)) 1607 this.comment = null; 1608 else { 1609 if (this.comment == null) 1610 this.comment = new StringType(); 1611 this.comment.setValue(value); 1612 } 1613 return this; 1614 } 1615 1616 protected void listChildren(List<Property> children) { 1617 super.listChildren(children); 1618 children.add(new Property("identifier", "Identifier", "Business identifier assigned to the risk assessment.", 0, 1, identifier)); 1619 children.add(new Property("basedOn", "Reference(Any)", "A reference to the request that is fulfilled by this risk assessment.", 0, 1, basedOn)); 1620 children.add(new Property("parent", "Reference(Any)", "A reference to a resource that this risk assessment is part of, such as a Procedure.", 0, 1, parent)); 1621 children.add(new Property("status", "code", "The status of the RiskAssessment, using the same statuses as an Observation.", 0, 1, status)); 1622 children.add(new Property("method", "CodeableConcept", "The algorithm, process or mechanism used to evaluate the risk.", 0, 1, method)); 1623 children.add(new Property("code", "CodeableConcept", "The type of the risk assessment performed.", 0, 1, code)); 1624 children.add(new Property("subject", "Reference(Patient|Group)", "The patient or group the risk assessment applies to.", 0, 1, subject)); 1625 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "The encounter where the assessment was performed.", 0, 1, context)); 1626 children.add(new Property("occurrence[x]", "dateTime|Period", "The date (and possibly time) the risk assessment was performed.", 0, 1, occurrence)); 1627 children.add(new Property("condition", "Reference(Condition)", "For assessments or prognosis specific to a particular condition, indicates the condition being assessed.", 0, 1, condition)); 1628 children.add(new Property("performer", "Reference(Practitioner|Device)", "The provider or software application that performed the assessment.", 0, 1, performer)); 1629 children.add(new Property("reason[x]", "CodeableConcept|Reference(Any)", "The reason the risk assessment was performed.", 0, 1, reason)); 1630 children.add(new Property("basis", "Reference(Any)", "Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.).", 0, java.lang.Integer.MAX_VALUE, basis)); 1631 children.add(new Property("prediction", "", "Describes the expected outcome for the subject.", 0, java.lang.Integer.MAX_VALUE, prediction)); 1632 children.add(new Property("mitigation", "string", "A description of the steps that might be taken to reduce the identified risk(s).", 0, 1, mitigation)); 1633 children.add(new Property("comment", "string", "Additional comments about the risk assessment.", 0, 1, comment)); 1634 } 1635 1636 @Override 1637 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1638 switch (_hash) { 1639 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifier assigned to the risk assessment.", 0, 1, identifier); 1640 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "A reference to the request that is fulfilled by this risk assessment.", 0, 1, basedOn); 1641 case -995424086: /*parent*/ return new Property("parent", "Reference(Any)", "A reference to a resource that this risk assessment is part of, such as a Procedure.", 0, 1, parent); 1642 case -892481550: /*status*/ return new Property("status", "code", "The status of the RiskAssessment, using the same statuses as an Observation.", 0, 1, status); 1643 case -1077554975: /*method*/ return new Property("method", "CodeableConcept", "The algorithm, process or mechanism used to evaluate the risk.", 0, 1, method); 1644 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The type of the risk assessment performed.", 0, 1, code); 1645 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The patient or group the risk assessment applies to.", 0, 1, subject); 1646 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "The encounter where the assessment was performed.", 0, 1, context); 1647 case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period", "The date (and possibly time) the risk assessment was performed.", 0, 1, occurrence); 1648 case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period", "The date (and possibly time) the risk assessment was performed.", 0, 1, occurrence); 1649 case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime|Period", "The date (and possibly time) the risk assessment was performed.", 0, 1, occurrence); 1650 case 1397156594: /*occurrencePeriod*/ return new Property("occurrence[x]", "dateTime|Period", "The date (and possibly time) the risk assessment was performed.", 0, 1, occurrence); 1651 case -861311717: /*condition*/ return new Property("condition", "Reference(Condition)", "For assessments or prognosis specific to a particular condition, indicates the condition being assessed.", 0, 1, condition); 1652 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|Device)", "The provider or software application that performed the assessment.", 0, 1, performer); 1653 case -669418564: /*reason[x]*/ return new Property("reason[x]", "CodeableConcept|Reference(Any)", "The reason the risk assessment was performed.", 0, 1, reason); 1654 case -934964668: /*reason*/ return new Property("reason[x]", "CodeableConcept|Reference(Any)", "The reason the risk assessment was performed.", 0, 1, reason); 1655 case -610155331: /*reasonCodeableConcept*/ return new Property("reason[x]", "CodeableConcept|Reference(Any)", "The reason the risk assessment was performed.", 0, 1, reason); 1656 case -1146218137: /*reasonReference*/ return new Property("reason[x]", "CodeableConcept|Reference(Any)", "The reason the risk assessment was performed.", 0, 1, reason); 1657 case 93508670: /*basis*/ return new Property("basis", "Reference(Any)", "Indicates the source data considered as part of the assessment (FamilyHistory, Observations, Procedures, Conditions, etc.).", 0, java.lang.Integer.MAX_VALUE, basis); 1658 case 1161234575: /*prediction*/ return new Property("prediction", "", "Describes the expected outcome for the subject.", 0, java.lang.Integer.MAX_VALUE, prediction); 1659 case 1293793087: /*mitigation*/ return new Property("mitigation", "string", "A description of the steps that might be taken to reduce the identified risk(s).", 0, 1, mitigation); 1660 case 950398559: /*comment*/ return new Property("comment", "string", "Additional comments about the risk assessment.", 0, 1, comment); 1661 default: return super.getNamedProperty(_hash, _name, _checkValid); 1662 } 1663 1664 } 1665 1666 @Override 1667 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1668 switch (hash) { 1669 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 1670 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : new Base[] {this.basedOn}; // Reference 1671 case -995424086: /*parent*/ return this.parent == null ? new Base[0] : new Base[] {this.parent}; // Reference 1672 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RiskAssessmentStatus> 1673 case -1077554975: /*method*/ return this.method == null ? new Base[0] : new Base[] {this.method}; // CodeableConcept 1674 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1675 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1676 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 1677 case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // Type 1678 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // Reference 1679 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 1680 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // Type 1681 case 93508670: /*basis*/ return this.basis == null ? new Base[0] : this.basis.toArray(new Base[this.basis.size()]); // Reference 1682 case 1161234575: /*prediction*/ return this.prediction == null ? new Base[0] : this.prediction.toArray(new Base[this.prediction.size()]); // RiskAssessmentPredictionComponent 1683 case 1293793087: /*mitigation*/ return this.mitigation == null ? new Base[0] : new Base[] {this.mitigation}; // StringType 1684 case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType 1685 default: return super.getProperty(hash, name, checkValid); 1686 } 1687 1688 } 1689 1690 @Override 1691 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1692 switch (hash) { 1693 case -1618432855: // identifier 1694 this.identifier = castToIdentifier(value); // Identifier 1695 return value; 1696 case -332612366: // basedOn 1697 this.basedOn = castToReference(value); // Reference 1698 return value; 1699 case -995424086: // parent 1700 this.parent = castToReference(value); // Reference 1701 return value; 1702 case -892481550: // status 1703 value = new RiskAssessmentStatusEnumFactory().fromType(castToCode(value)); 1704 this.status = (Enumeration) value; // Enumeration<RiskAssessmentStatus> 1705 return value; 1706 case -1077554975: // method 1707 this.method = castToCodeableConcept(value); // CodeableConcept 1708 return value; 1709 case 3059181: // code 1710 this.code = castToCodeableConcept(value); // CodeableConcept 1711 return value; 1712 case -1867885268: // subject 1713 this.subject = castToReference(value); // Reference 1714 return value; 1715 case 951530927: // context 1716 this.context = castToReference(value); // Reference 1717 return value; 1718 case 1687874001: // occurrence 1719 this.occurrence = castToType(value); // Type 1720 return value; 1721 case -861311717: // condition 1722 this.condition = castToReference(value); // Reference 1723 return value; 1724 case 481140686: // performer 1725 this.performer = castToReference(value); // Reference 1726 return value; 1727 case -934964668: // reason 1728 this.reason = castToType(value); // Type 1729 return value; 1730 case 93508670: // basis 1731 this.getBasis().add(castToReference(value)); // Reference 1732 return value; 1733 case 1161234575: // prediction 1734 this.getPrediction().add((RiskAssessmentPredictionComponent) value); // RiskAssessmentPredictionComponent 1735 return value; 1736 case 1293793087: // mitigation 1737 this.mitigation = castToString(value); // StringType 1738 return value; 1739 case 950398559: // comment 1740 this.comment = castToString(value); // StringType 1741 return value; 1742 default: return super.setProperty(hash, name, value); 1743 } 1744 1745 } 1746 1747 @Override 1748 public Base setProperty(String name, Base value) throws FHIRException { 1749 if (name.equals("identifier")) { 1750 this.identifier = castToIdentifier(value); // Identifier 1751 } else if (name.equals("basedOn")) { 1752 this.basedOn = castToReference(value); // Reference 1753 } else if (name.equals("parent")) { 1754 this.parent = castToReference(value); // Reference 1755 } else if (name.equals("status")) { 1756 value = new RiskAssessmentStatusEnumFactory().fromType(castToCode(value)); 1757 this.status = (Enumeration) value; // Enumeration<RiskAssessmentStatus> 1758 } else if (name.equals("method")) { 1759 this.method = castToCodeableConcept(value); // CodeableConcept 1760 } else if (name.equals("code")) { 1761 this.code = castToCodeableConcept(value); // CodeableConcept 1762 } else if (name.equals("subject")) { 1763 this.subject = castToReference(value); // Reference 1764 } else if (name.equals("context")) { 1765 this.context = castToReference(value); // Reference 1766 } else if (name.equals("occurrence[x]")) { 1767 this.occurrence = castToType(value); // Type 1768 } else if (name.equals("condition")) { 1769 this.condition = castToReference(value); // Reference 1770 } else if (name.equals("performer")) { 1771 this.performer = castToReference(value); // Reference 1772 } else if (name.equals("reason[x]")) { 1773 this.reason = castToType(value); // Type 1774 } else if (name.equals("basis")) { 1775 this.getBasis().add(castToReference(value)); 1776 } else if (name.equals("prediction")) { 1777 this.getPrediction().add((RiskAssessmentPredictionComponent) value); 1778 } else if (name.equals("mitigation")) { 1779 this.mitigation = castToString(value); // StringType 1780 } else if (name.equals("comment")) { 1781 this.comment = castToString(value); // StringType 1782 } else 1783 return super.setProperty(name, value); 1784 return value; 1785 } 1786 1787 @Override 1788 public Base makeProperty(int hash, String name) throws FHIRException { 1789 switch (hash) { 1790 case -1618432855: return getIdentifier(); 1791 case -332612366: return getBasedOn(); 1792 case -995424086: return getParent(); 1793 case -892481550: return getStatusElement(); 1794 case -1077554975: return getMethod(); 1795 case 3059181: return getCode(); 1796 case -1867885268: return getSubject(); 1797 case 951530927: return getContext(); 1798 case -2022646513: return getOccurrence(); 1799 case 1687874001: return getOccurrence(); 1800 case -861311717: return getCondition(); 1801 case 481140686: return getPerformer(); 1802 case -669418564: return getReason(); 1803 case -934964668: return getReason(); 1804 case 93508670: return addBasis(); 1805 case 1161234575: return addPrediction(); 1806 case 1293793087: return getMitigationElement(); 1807 case 950398559: return getCommentElement(); 1808 default: return super.makeProperty(hash, name); 1809 } 1810 1811 } 1812 1813 @Override 1814 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1815 switch (hash) { 1816 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1817 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 1818 case -995424086: /*parent*/ return new String[] {"Reference"}; 1819 case -892481550: /*status*/ return new String[] {"code"}; 1820 case -1077554975: /*method*/ return new String[] {"CodeableConcept"}; 1821 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1822 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1823 case 951530927: /*context*/ return new String[] {"Reference"}; 1824 case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period"}; 1825 case -861311717: /*condition*/ return new String[] {"Reference"}; 1826 case 481140686: /*performer*/ return new String[] {"Reference"}; 1827 case -934964668: /*reason*/ return new String[] {"CodeableConcept", "Reference"}; 1828 case 93508670: /*basis*/ return new String[] {"Reference"}; 1829 case 1161234575: /*prediction*/ return new String[] {}; 1830 case 1293793087: /*mitigation*/ return new String[] {"string"}; 1831 case 950398559: /*comment*/ return new String[] {"string"}; 1832 default: return super.getTypesForProperty(hash, name); 1833 } 1834 1835 } 1836 1837 @Override 1838 public Base addChild(String name) throws FHIRException { 1839 if (name.equals("identifier")) { 1840 this.identifier = new Identifier(); 1841 return this.identifier; 1842 } 1843 else if (name.equals("basedOn")) { 1844 this.basedOn = new Reference(); 1845 return this.basedOn; 1846 } 1847 else if (name.equals("parent")) { 1848 this.parent = new Reference(); 1849 return this.parent; 1850 } 1851 else if (name.equals("status")) { 1852 throw new FHIRException("Cannot call addChild on a singleton property RiskAssessment.status"); 1853 } 1854 else if (name.equals("method")) { 1855 this.method = new CodeableConcept(); 1856 return this.method; 1857 } 1858 else if (name.equals("code")) { 1859 this.code = new CodeableConcept(); 1860 return this.code; 1861 } 1862 else if (name.equals("subject")) { 1863 this.subject = new Reference(); 1864 return this.subject; 1865 } 1866 else if (name.equals("context")) { 1867 this.context = new Reference(); 1868 return this.context; 1869 } 1870 else if (name.equals("occurrenceDateTime")) { 1871 this.occurrence = new DateTimeType(); 1872 return this.occurrence; 1873 } 1874 else if (name.equals("occurrencePeriod")) { 1875 this.occurrence = new Period(); 1876 return this.occurrence; 1877 } 1878 else if (name.equals("condition")) { 1879 this.condition = new Reference(); 1880 return this.condition; 1881 } 1882 else if (name.equals("performer")) { 1883 this.performer = new Reference(); 1884 return this.performer; 1885 } 1886 else if (name.equals("reasonCodeableConcept")) { 1887 this.reason = new CodeableConcept(); 1888 return this.reason; 1889 } 1890 else if (name.equals("reasonReference")) { 1891 this.reason = new Reference(); 1892 return this.reason; 1893 } 1894 else if (name.equals("basis")) { 1895 return addBasis(); 1896 } 1897 else if (name.equals("prediction")) { 1898 return addPrediction(); 1899 } 1900 else if (name.equals("mitigation")) { 1901 throw new FHIRException("Cannot call addChild on a singleton property RiskAssessment.mitigation"); 1902 } 1903 else if (name.equals("comment")) { 1904 throw new FHIRException("Cannot call addChild on a singleton property RiskAssessment.comment"); 1905 } 1906 else 1907 return super.addChild(name); 1908 } 1909 1910 public String fhirType() { 1911 return "RiskAssessment"; 1912 1913 } 1914 1915 public RiskAssessment copy() { 1916 RiskAssessment dst = new RiskAssessment(); 1917 copyValues(dst); 1918 dst.identifier = identifier == null ? null : identifier.copy(); 1919 dst.basedOn = basedOn == null ? null : basedOn.copy(); 1920 dst.parent = parent == null ? null : parent.copy(); 1921 dst.status = status == null ? null : status.copy(); 1922 dst.method = method == null ? null : method.copy(); 1923 dst.code = code == null ? null : code.copy(); 1924 dst.subject = subject == null ? null : subject.copy(); 1925 dst.context = context == null ? null : context.copy(); 1926 dst.occurrence = occurrence == null ? null : occurrence.copy(); 1927 dst.condition = condition == null ? null : condition.copy(); 1928 dst.performer = performer == null ? null : performer.copy(); 1929 dst.reason = reason == null ? null : reason.copy(); 1930 if (basis != null) { 1931 dst.basis = new ArrayList<Reference>(); 1932 for (Reference i : basis) 1933 dst.basis.add(i.copy()); 1934 }; 1935 if (prediction != null) { 1936 dst.prediction = new ArrayList<RiskAssessmentPredictionComponent>(); 1937 for (RiskAssessmentPredictionComponent i : prediction) 1938 dst.prediction.add(i.copy()); 1939 }; 1940 dst.mitigation = mitigation == null ? null : mitigation.copy(); 1941 dst.comment = comment == null ? null : comment.copy(); 1942 return dst; 1943 } 1944 1945 protected RiskAssessment typedCopy() { 1946 return copy(); 1947 } 1948 1949 @Override 1950 public boolean equalsDeep(Base other_) { 1951 if (!super.equalsDeep(other_)) 1952 return false; 1953 if (!(other_ instanceof RiskAssessment)) 1954 return false; 1955 RiskAssessment o = (RiskAssessment) other_; 1956 return compareDeep(identifier, o.identifier, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(parent, o.parent, true) 1957 && compareDeep(status, o.status, true) && compareDeep(method, o.method, true) && compareDeep(code, o.code, true) 1958 && compareDeep(subject, o.subject, true) && compareDeep(context, o.context, true) && compareDeep(occurrence, o.occurrence, true) 1959 && compareDeep(condition, o.condition, true) && compareDeep(performer, o.performer, true) && compareDeep(reason, o.reason, true) 1960 && compareDeep(basis, o.basis, true) && compareDeep(prediction, o.prediction, true) && compareDeep(mitigation, o.mitigation, true) 1961 && compareDeep(comment, o.comment, true); 1962 } 1963 1964 @Override 1965 public boolean equalsShallow(Base other_) { 1966 if (!super.equalsShallow(other_)) 1967 return false; 1968 if (!(other_ instanceof RiskAssessment)) 1969 return false; 1970 RiskAssessment o = (RiskAssessment) other_; 1971 return compareValues(status, o.status, true) && compareValues(mitigation, o.mitigation, true) && compareValues(comment, o.comment, true) 1972 ; 1973 } 1974 1975 public boolean isEmpty() { 1976 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, parent 1977 , status, method, code, subject, context, occurrence, condition, performer, reason 1978 , basis, prediction, mitigation, comment); 1979 } 1980 1981 @Override 1982 public ResourceType getResourceType() { 1983 return ResourceType.RiskAssessment; 1984 } 1985 1986 /** 1987 * Search parameter: <b>date</b> 1988 * <p> 1989 * Description: <b>When was assessment made?</b><br> 1990 * Type: <b>date</b><br> 1991 * Path: <b>RiskAssessment.occurrenceDateTime</b><br> 1992 * </p> 1993 */ 1994 @SearchParamDefinition(name="date", path="RiskAssessment.occurrence.as(DateTime)", description="When was assessment made?", type="date" ) 1995 public static final String SP_DATE = "date"; 1996 /** 1997 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1998 * <p> 1999 * Description: <b>When was assessment made?</b><br> 2000 * Type: <b>date</b><br> 2001 * Path: <b>RiskAssessment.occurrenceDateTime</b><br> 2002 * </p> 2003 */ 2004 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2005 2006 /** 2007 * Search parameter: <b>identifier</b> 2008 * <p> 2009 * Description: <b>Unique identifier for the assessment</b><br> 2010 * Type: <b>token</b><br> 2011 * Path: <b>RiskAssessment.identifier</b><br> 2012 * </p> 2013 */ 2014 @SearchParamDefinition(name="identifier", path="RiskAssessment.identifier", description="Unique identifier for the assessment", type="token" ) 2015 public static final String SP_IDENTIFIER = "identifier"; 2016 /** 2017 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2018 * <p> 2019 * Description: <b>Unique identifier for the assessment</b><br> 2020 * Type: <b>token</b><br> 2021 * Path: <b>RiskAssessment.identifier</b><br> 2022 * </p> 2023 */ 2024 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2025 2026 /** 2027 * Search parameter: <b>condition</b> 2028 * <p> 2029 * Description: <b>Condition assessed</b><br> 2030 * Type: <b>reference</b><br> 2031 * Path: <b>RiskAssessment.condition</b><br> 2032 * </p> 2033 */ 2034 @SearchParamDefinition(name="condition", path="RiskAssessment.condition", description="Condition assessed", type="reference", target={Condition.class } ) 2035 public static final String SP_CONDITION = "condition"; 2036 /** 2037 * <b>Fluent Client</b> search parameter constant for <b>condition</b> 2038 * <p> 2039 * Description: <b>Condition assessed</b><br> 2040 * Type: <b>reference</b><br> 2041 * Path: <b>RiskAssessment.condition</b><br> 2042 * </p> 2043 */ 2044 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONDITION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONDITION); 2045 2046/** 2047 * Constant for fluent queries to be used to add include statements. Specifies 2048 * the path value of "<b>RiskAssessment:condition</b>". 2049 */ 2050 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONDITION = new ca.uhn.fhir.model.api.Include("RiskAssessment:condition").toLocked(); 2051 2052 /** 2053 * Search parameter: <b>performer</b> 2054 * <p> 2055 * Description: <b>Who did assessment?</b><br> 2056 * Type: <b>reference</b><br> 2057 * Path: <b>RiskAssessment.performer</b><br> 2058 * </p> 2059 */ 2060 @SearchParamDefinition(name="performer", path="RiskAssessment.performer", description="Who did assessment?", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Device.class, Practitioner.class } ) 2061 public static final String SP_PERFORMER = "performer"; 2062 /** 2063 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 2064 * <p> 2065 * Description: <b>Who did assessment?</b><br> 2066 * Type: <b>reference</b><br> 2067 * Path: <b>RiskAssessment.performer</b><br> 2068 * </p> 2069 */ 2070 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 2071 2072/** 2073 * Constant for fluent queries to be used to add include statements. Specifies 2074 * the path value of "<b>RiskAssessment:performer</b>". 2075 */ 2076 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("RiskAssessment:performer").toLocked(); 2077 2078 /** 2079 * Search parameter: <b>method</b> 2080 * <p> 2081 * Description: <b>Evaluation mechanism</b><br> 2082 * Type: <b>token</b><br> 2083 * Path: <b>RiskAssessment.method</b><br> 2084 * </p> 2085 */ 2086 @SearchParamDefinition(name="method", path="RiskAssessment.method", description="Evaluation mechanism", type="token" ) 2087 public static final String SP_METHOD = "method"; 2088 /** 2089 * <b>Fluent Client</b> search parameter constant for <b>method</b> 2090 * <p> 2091 * Description: <b>Evaluation mechanism</b><br> 2092 * Type: <b>token</b><br> 2093 * Path: <b>RiskAssessment.method</b><br> 2094 * </p> 2095 */ 2096 public static final ca.uhn.fhir.rest.gclient.TokenClientParam METHOD = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_METHOD); 2097 2098 /** 2099 * Search parameter: <b>subject</b> 2100 * <p> 2101 * Description: <b>Who/what does assessment apply to?</b><br> 2102 * Type: <b>reference</b><br> 2103 * Path: <b>RiskAssessment.subject</b><br> 2104 * </p> 2105 */ 2106 @SearchParamDefinition(name="subject", path="RiskAssessment.subject", description="Who/what does assessment apply to?", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Group.class, Patient.class } ) 2107 public static final String SP_SUBJECT = "subject"; 2108 /** 2109 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2110 * <p> 2111 * Description: <b>Who/what does assessment apply to?</b><br> 2112 * Type: <b>reference</b><br> 2113 * Path: <b>RiskAssessment.subject</b><br> 2114 * </p> 2115 */ 2116 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2117 2118/** 2119 * Constant for fluent queries to be used to add include statements. Specifies 2120 * the path value of "<b>RiskAssessment:subject</b>". 2121 */ 2122 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RiskAssessment:subject").toLocked(); 2123 2124 /** 2125 * Search parameter: <b>patient</b> 2126 * <p> 2127 * Description: <b>Who/what does assessment apply to?</b><br> 2128 * Type: <b>reference</b><br> 2129 * Path: <b>RiskAssessment.subject</b><br> 2130 * </p> 2131 */ 2132 @SearchParamDefinition(name="patient", path="RiskAssessment.subject", description="Who/what does assessment apply to?", type="reference", target={Patient.class } ) 2133 public static final String SP_PATIENT = "patient"; 2134 /** 2135 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2136 * <p> 2137 * Description: <b>Who/what does assessment apply to?</b><br> 2138 * Type: <b>reference</b><br> 2139 * Path: <b>RiskAssessment.subject</b><br> 2140 * </p> 2141 */ 2142 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2143 2144/** 2145 * Constant for fluent queries to be used to add include statements. Specifies 2146 * the path value of "<b>RiskAssessment:patient</b>". 2147 */ 2148 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RiskAssessment:patient").toLocked(); 2149 2150 /** 2151 * Search parameter: <b>probability</b> 2152 * <p> 2153 * Description: <b>Likelihood of specified outcome</b><br> 2154 * Type: <b>number</b><br> 2155 * Path: <b>RiskAssessment.prediction.probability[x]</b><br> 2156 * </p> 2157 */ 2158 @SearchParamDefinition(name="probability", path="RiskAssessment.prediction.probability", description="Likelihood of specified outcome", type="number" ) 2159 public static final String SP_PROBABILITY = "probability"; 2160 /** 2161 * <b>Fluent Client</b> search parameter constant for <b>probability</b> 2162 * <p> 2163 * Description: <b>Likelihood of specified outcome</b><br> 2164 * Type: <b>number</b><br> 2165 * Path: <b>RiskAssessment.prediction.probability[x]</b><br> 2166 * </p> 2167 */ 2168 public static final ca.uhn.fhir.rest.gclient.NumberClientParam PROBABILITY = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_PROBABILITY); 2169 2170 /** 2171 * Search parameter: <b>risk</b> 2172 * <p> 2173 * Description: <b>Likelihood of specified outcome as a qualitative value</b><br> 2174 * Type: <b>token</b><br> 2175 * Path: <b>RiskAssessment.prediction.qualitativeRisk</b><br> 2176 * </p> 2177 */ 2178 @SearchParamDefinition(name="risk", path="RiskAssessment.prediction.qualitativeRisk", description="Likelihood of specified outcome as a qualitative value", type="token" ) 2179 public static final String SP_RISK = "risk"; 2180 /** 2181 * <b>Fluent Client</b> search parameter constant for <b>risk</b> 2182 * <p> 2183 * Description: <b>Likelihood of specified outcome as a qualitative value</b><br> 2184 * Type: <b>token</b><br> 2185 * Path: <b>RiskAssessment.prediction.qualitativeRisk</b><br> 2186 * </p> 2187 */ 2188 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RISK = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RISK); 2189 2190 /** 2191 * Search parameter: <b>encounter</b> 2192 * <p> 2193 * Description: <b>Where was assessment performed?</b><br> 2194 * Type: <b>reference</b><br> 2195 * Path: <b>RiskAssessment.context</b><br> 2196 * </p> 2197 */ 2198 @SearchParamDefinition(name="encounter", path="RiskAssessment.context", description="Where was assessment performed?", type="reference", target={Encounter.class } ) 2199 public static final String SP_ENCOUNTER = "encounter"; 2200 /** 2201 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2202 * <p> 2203 * Description: <b>Where was assessment performed?</b><br> 2204 * Type: <b>reference</b><br> 2205 * Path: <b>RiskAssessment.context</b><br> 2206 * </p> 2207 */ 2208 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2209 2210/** 2211 * Constant for fluent queries to be used to add include statements. Specifies 2212 * the path value of "<b>RiskAssessment:encounter</b>". 2213 */ 2214 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RiskAssessment:encounter").toLocked(); 2215 2216 2217}