001package org.hl7.fhir.r4.model; 002 003 004 005/* 006 Copyright (c) 2011+, HL7, Inc. 007 All rights reserved. 008 009 Redistribution and use in source and binary forms, with or without modification, 010 are permitted provided that the following conditions are met: 011 012 * Redistributions of source code must retain the above copyright notice, this 013 list of conditions and the following disclaimer. 014 * Redistributions in binary form must reproduce the above copyright notice, 015 this list of conditions and the following disclaimer in the documentation 016 and/or other materials provided with the distribution. 017 * Neither the name of HL7 nor the names of its contributors may be used to 018 endorse or promote products derived from this software without specific 019 prior written permission. 020 021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 024 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 028 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 030 POSSIBILITY OF SUCH DAMAGE. 031 032*/ 033 034 035// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 036 037import java.util.*; 038 039import org.hl7.fhir.utilities.Utilities; 040import ca.uhn.fhir.model.api.annotation.ResourceDef; 041import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 042import ca.uhn.fhir.model.api.annotation.Child; 043import ca.uhn.fhir.model.api.annotation.ChildOrder; 044import ca.uhn.fhir.model.api.annotation.Description; 045import ca.uhn.fhir.model.api.annotation.Block; 046import org.hl7.fhir.instance.model.api.*; 047import org.hl7.fhir.exceptions.FHIRException; 048/** 049 * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. 050 */ 051@ResourceDef(name="Goal", profile="http://hl7.org/fhir/StructureDefinition/Goal") 052public class Goal extends DomainResource { 053 054 public enum GoalLifecycleStatus { 055 /** 056 * A goal is proposed for this patient. 057 */ 058 PROPOSED, 059 /** 060 * A goal is planned for this patient. 061 */ 062 PLANNED, 063 /** 064 * A proposed goal was accepted or acknowledged. 065 */ 066 ACCEPTED, 067 /** 068 * The goal is being sought actively. 069 */ 070 ACTIVE, 071 /** 072 * The goal remains a long term objective but is no longer being actively pursued for a temporary period of time. 073 */ 074 ONHOLD, 075 /** 076 * The goal is no longer being sought. 077 */ 078 COMPLETED, 079 /** 080 * The goal has been abandoned. 081 */ 082 CANCELLED, 083 /** 084 * The goal was entered in error and voided. 085 */ 086 ENTEREDINERROR, 087 /** 088 * A proposed goal was rejected. 089 */ 090 REJECTED, 091 /** 092 * added to help the parsers with the generic types 093 */ 094 NULL; 095 public static GoalLifecycleStatus fromCode(String codeString) throws FHIRException { 096 if (codeString == null || "".equals(codeString)) 097 return null; 098 if ("proposed".equals(codeString)) 099 return PROPOSED; 100 if ("planned".equals(codeString)) 101 return PLANNED; 102 if ("accepted".equals(codeString)) 103 return ACCEPTED; 104 if ("active".equals(codeString)) 105 return ACTIVE; 106 if ("on-hold".equals(codeString)) 107 return ONHOLD; 108 if ("completed".equals(codeString)) 109 return COMPLETED; 110 if ("cancelled".equals(codeString)) 111 return CANCELLED; 112 if ("entered-in-error".equals(codeString)) 113 return ENTEREDINERROR; 114 if ("rejected".equals(codeString)) 115 return REJECTED; 116 if (Configuration.isAcceptInvalidEnums()) 117 return null; 118 else 119 throw new FHIRException("Unknown GoalLifecycleStatus code '"+codeString+"'"); 120 } 121 public String toCode() { 122 switch (this) { 123 case PROPOSED: return "proposed"; 124 case PLANNED: return "planned"; 125 case ACCEPTED: return "accepted"; 126 case ACTIVE: return "active"; 127 case ONHOLD: return "on-hold"; 128 case COMPLETED: return "completed"; 129 case CANCELLED: return "cancelled"; 130 case ENTEREDINERROR: return "entered-in-error"; 131 case REJECTED: return "rejected"; 132 default: return "?"; 133 } 134 } 135 public String getSystem() { 136 switch (this) { 137 case PROPOSED: return "http://hl7.org/fhir/goal-status"; 138 case PLANNED: return "http://hl7.org/fhir/goal-status"; 139 case ACCEPTED: return "http://hl7.org/fhir/goal-status"; 140 case ACTIVE: return "http://hl7.org/fhir/goal-status"; 141 case ONHOLD: return "http://hl7.org/fhir/goal-status"; 142 case COMPLETED: return "http://hl7.org/fhir/goal-status"; 143 case CANCELLED: return "http://hl7.org/fhir/goal-status"; 144 case ENTEREDINERROR: return "http://hl7.org/fhir/goal-status"; 145 case REJECTED: return "http://hl7.org/fhir/goal-status"; 146 default: return "?"; 147 } 148 } 149 public String getDefinition() { 150 switch (this) { 151 case PROPOSED: return "A goal is proposed for this patient."; 152 case PLANNED: return "A goal is planned for this patient."; 153 case ACCEPTED: return "A proposed goal was accepted or acknowledged."; 154 case ACTIVE: return "The goal is being sought actively."; 155 case ONHOLD: return "The goal remains a long term objective but is no longer being actively pursued for a temporary period of time."; 156 case COMPLETED: return "The goal is no longer being sought."; 157 case CANCELLED: return "The goal has been abandoned."; 158 case ENTEREDINERROR: return "The goal was entered in error and voided."; 159 case REJECTED: return "A proposed goal was rejected."; 160 default: return "?"; 161 } 162 } 163 public String getDisplay() { 164 switch (this) { 165 case PROPOSED: return "Proposed"; 166 case PLANNED: return "Planned"; 167 case ACCEPTED: return "Accepted"; 168 case ACTIVE: return "Active"; 169 case ONHOLD: return "On Hold"; 170 case COMPLETED: return "Completed"; 171 case CANCELLED: return "Cancelled"; 172 case ENTEREDINERROR: return "Entered in Error"; 173 case REJECTED: return "Rejected"; 174 default: return "?"; 175 } 176 } 177 } 178 179 public static class GoalLifecycleStatusEnumFactory implements EnumFactory<GoalLifecycleStatus> { 180 public GoalLifecycleStatus fromCode(String codeString) throws IllegalArgumentException { 181 if (codeString == null || "".equals(codeString)) 182 if (codeString == null || "".equals(codeString)) 183 return null; 184 if ("proposed".equals(codeString)) 185 return GoalLifecycleStatus.PROPOSED; 186 if ("planned".equals(codeString)) 187 return GoalLifecycleStatus.PLANNED; 188 if ("accepted".equals(codeString)) 189 return GoalLifecycleStatus.ACCEPTED; 190 if ("active".equals(codeString)) 191 return GoalLifecycleStatus.ACTIVE; 192 if ("on-hold".equals(codeString)) 193 return GoalLifecycleStatus.ONHOLD; 194 if ("completed".equals(codeString)) 195 return GoalLifecycleStatus.COMPLETED; 196 if ("cancelled".equals(codeString)) 197 return GoalLifecycleStatus.CANCELLED; 198 if ("entered-in-error".equals(codeString)) 199 return GoalLifecycleStatus.ENTEREDINERROR; 200 if ("rejected".equals(codeString)) 201 return GoalLifecycleStatus.REJECTED; 202 throw new IllegalArgumentException("Unknown GoalLifecycleStatus code '"+codeString+"'"); 203 } 204 public Enumeration<GoalLifecycleStatus> fromType(Base code) throws FHIRException { 205 if (code == null) 206 return null; 207 if (code.isEmpty()) 208 return new Enumeration<GoalLifecycleStatus>(this); 209 String codeString = ((PrimitiveType) code).asStringValue(); 210 if (codeString == null || "".equals(codeString)) 211 return null; 212 if ("proposed".equals(codeString)) 213 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.PROPOSED); 214 if ("planned".equals(codeString)) 215 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.PLANNED); 216 if ("accepted".equals(codeString)) 217 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.ACCEPTED); 218 if ("active".equals(codeString)) 219 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.ACTIVE); 220 if ("on-hold".equals(codeString)) 221 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.ONHOLD); 222 if ("completed".equals(codeString)) 223 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.COMPLETED); 224 if ("cancelled".equals(codeString)) 225 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.CANCELLED); 226 if ("entered-in-error".equals(codeString)) 227 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.ENTEREDINERROR); 228 if ("rejected".equals(codeString)) 229 return new Enumeration<GoalLifecycleStatus>(this, GoalLifecycleStatus.REJECTED); 230 throw new FHIRException("Unknown GoalLifecycleStatus code '"+codeString+"'"); 231 } 232 public String toCode(GoalLifecycleStatus code) { 233 if (code == GoalLifecycleStatus.PROPOSED) 234 return "proposed"; 235 if (code == GoalLifecycleStatus.PLANNED) 236 return "planned"; 237 if (code == GoalLifecycleStatus.ACCEPTED) 238 return "accepted"; 239 if (code == GoalLifecycleStatus.ACTIVE) 240 return "active"; 241 if (code == GoalLifecycleStatus.ONHOLD) 242 return "on-hold"; 243 if (code == GoalLifecycleStatus.COMPLETED) 244 return "completed"; 245 if (code == GoalLifecycleStatus.CANCELLED) 246 return "cancelled"; 247 if (code == GoalLifecycleStatus.ENTEREDINERROR) 248 return "entered-in-error"; 249 if (code == GoalLifecycleStatus.REJECTED) 250 return "rejected"; 251 return "?"; 252 } 253 public String toSystem(GoalLifecycleStatus code) { 254 return code.getSystem(); 255 } 256 } 257 258 @Block() 259 public static class GoalTargetComponent extends BackboneElement implements IBaseBackboneElement { 260 /** 261 * The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. 262 */ 263 @Child(name = "measure", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) 264 @Description(shortDefinition="The parameter whose value is being tracked", formalDefinition="The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level." ) 265 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-codes") 266 protected CodeableConcept measure; 267 268 /** 269 * The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value. 270 */ 271 @Child(name = "detail", type = {Quantity.class, Range.class, CodeableConcept.class, StringType.class, BooleanType.class, IntegerType.class, Ratio.class}, order=2, min=0, max=1, modifier=false, summary=true) 272 @Description(shortDefinition="The target value to be achieved", formalDefinition="The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value." ) 273 protected Type detail; 274 275 /** 276 * Indicates either the date or the duration after start by which the goal should be met. 277 */ 278 @Child(name = "due", type = {DateType.class, Duration.class}, order=3, min=0, max=1, modifier=false, summary=true) 279 @Description(shortDefinition="Reach goal on or before", formalDefinition="Indicates either the date or the duration after start by which the goal should be met." ) 280 protected Type due; 281 282 private static final long serialVersionUID = -585108934L; 283 284 /** 285 * Constructor 286 */ 287 public GoalTargetComponent() { 288 super(); 289 } 290 291 /** 292 * @return {@link #measure} (The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.) 293 */ 294 public CodeableConcept getMeasure() { 295 if (this.measure == null) 296 if (Configuration.errorOnAutoCreate()) 297 throw new Error("Attempt to auto-create GoalTargetComponent.measure"); 298 else if (Configuration.doAutoCreate()) 299 this.measure = new CodeableConcept(); // cc 300 return this.measure; 301 } 302 303 public boolean hasMeasure() { 304 return this.measure != null && !this.measure.isEmpty(); 305 } 306 307 /** 308 * @param value {@link #measure} (The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.) 309 */ 310 public GoalTargetComponent setMeasure(CodeableConcept value) { 311 this.measure = value; 312 return this; 313 } 314 315 /** 316 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 317 */ 318 public Type getDetail() { 319 return this.detail; 320 } 321 322 /** 323 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 324 */ 325 public Quantity getDetailQuantity() throws FHIRException { 326 if (this.detail == null) 327 this.detail = new Quantity(); 328 if (!(this.detail instanceof Quantity)) 329 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.detail.getClass().getName()+" was encountered"); 330 return (Quantity) this.detail; 331 } 332 333 public boolean hasDetailQuantity() { 334 return this != null && this.detail instanceof Quantity; 335 } 336 337 /** 338 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 339 */ 340 public Range getDetailRange() throws FHIRException { 341 if (this.detail == null) 342 this.detail = new Range(); 343 if (!(this.detail instanceof Range)) 344 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.detail.getClass().getName()+" was encountered"); 345 return (Range) this.detail; 346 } 347 348 public boolean hasDetailRange() { 349 return this != null && this.detail instanceof Range; 350 } 351 352 /** 353 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 354 */ 355 public CodeableConcept getDetailCodeableConcept() throws FHIRException { 356 if (this.detail == null) 357 this.detail = new CodeableConcept(); 358 if (!(this.detail instanceof CodeableConcept)) 359 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.detail.getClass().getName()+" was encountered"); 360 return (CodeableConcept) this.detail; 361 } 362 363 public boolean hasDetailCodeableConcept() { 364 return this != null && this.detail instanceof CodeableConcept; 365 } 366 367 /** 368 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 369 */ 370 public StringType getDetailStringType() throws FHIRException { 371 if (this.detail == null) 372 this.detail = new StringType(); 373 if (!(this.detail instanceof StringType)) 374 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.detail.getClass().getName()+" was encountered"); 375 return (StringType) this.detail; 376 } 377 378 public boolean hasDetailStringType() { 379 return this != null && this.detail instanceof StringType; 380 } 381 382 /** 383 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 384 */ 385 public BooleanType getDetailBooleanType() throws FHIRException { 386 if (this.detail == null) 387 this.detail = new BooleanType(); 388 if (!(this.detail instanceof BooleanType)) 389 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.detail.getClass().getName()+" was encountered"); 390 return (BooleanType) this.detail; 391 } 392 393 public boolean hasDetailBooleanType() { 394 return this != null && this.detail instanceof BooleanType; 395 } 396 397 /** 398 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 399 */ 400 public IntegerType getDetailIntegerType() throws FHIRException { 401 if (this.detail == null) 402 this.detail = new IntegerType(); 403 if (!(this.detail instanceof IntegerType)) 404 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.detail.getClass().getName()+" was encountered"); 405 return (IntegerType) this.detail; 406 } 407 408 public boolean hasDetailIntegerType() { 409 return this != null && this.detail instanceof IntegerType; 410 } 411 412 /** 413 * @return {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 414 */ 415 public Ratio getDetailRatio() throws FHIRException { 416 if (this.detail == null) 417 this.detail = new Ratio(); 418 if (!(this.detail instanceof Ratio)) 419 throw new FHIRException("Type mismatch: the type Ratio was expected, but "+this.detail.getClass().getName()+" was encountered"); 420 return (Ratio) this.detail; 421 } 422 423 public boolean hasDetailRatio() { 424 return this != null && this.detail instanceof Ratio; 425 } 426 427 public boolean hasDetail() { 428 return this.detail != null && !this.detail.isEmpty(); 429 } 430 431 /** 432 * @param value {@link #detail} (The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.) 433 */ 434 public GoalTargetComponent setDetail(Type value) { 435 if (value != null && !(value instanceof Quantity || value instanceof Range || value instanceof CodeableConcept || value instanceof StringType || value instanceof BooleanType || value instanceof IntegerType || value instanceof Ratio)) 436 throw new Error("Not the right type for Goal.target.detail[x]: "+value.fhirType()); 437 this.detail = value; 438 return this; 439 } 440 441 /** 442 * @return {@link #due} (Indicates either the date or the duration after start by which the goal should be met.) 443 */ 444 public Type getDue() { 445 return this.due; 446 } 447 448 /** 449 * @return {@link #due} (Indicates either the date or the duration after start by which the goal should be met.) 450 */ 451 public DateType getDueDateType() throws FHIRException { 452 if (this.due == null) 453 this.due = new DateType(); 454 if (!(this.due instanceof DateType)) 455 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.due.getClass().getName()+" was encountered"); 456 return (DateType) this.due; 457 } 458 459 public boolean hasDueDateType() { 460 return this != null && this.due instanceof DateType; 461 } 462 463 /** 464 * @return {@link #due} (Indicates either the date or the duration after start by which the goal should be met.) 465 */ 466 public Duration getDueDuration() throws FHIRException { 467 if (this.due == null) 468 this.due = new Duration(); 469 if (!(this.due instanceof Duration)) 470 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.due.getClass().getName()+" was encountered"); 471 return (Duration) this.due; 472 } 473 474 public boolean hasDueDuration() { 475 return this != null && this.due instanceof Duration; 476 } 477 478 public boolean hasDue() { 479 return this.due != null && !this.due.isEmpty(); 480 } 481 482 /** 483 * @param value {@link #due} (Indicates either the date or the duration after start by which the goal should be met.) 484 */ 485 public GoalTargetComponent setDue(Type value) { 486 if (value != null && !(value instanceof DateType || value instanceof Duration)) 487 throw new Error("Not the right type for Goal.target.due[x]: "+value.fhirType()); 488 this.due = value; 489 return this; 490 } 491 492 protected void listChildren(List<Property> children) { 493 super.listChildren(children); 494 children.add(new Property("measure", "CodeableConcept", "The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.", 0, 1, measure)); 495 children.add(new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail)); 496 children.add(new Property("due[x]", "date|Duration", "Indicates either the date or the duration after start by which the goal should be met.", 0, 1, due)); 497 } 498 499 @Override 500 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 501 switch (_hash) { 502 case 938321246: /*measure*/ return new Property("measure", "CodeableConcept", "The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.", 0, 1, measure); 503 case -1973084529: /*detail[x]*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 504 case -1335224239: /*detail*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 505 case -1313079300: /*detailQuantity*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 506 case -2062632084: /*detailRange*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 507 case -175586544: /*detailCodeableConcept*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 508 case 529212354: /*detailString*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 509 case 1172184727: /*detailBoolean*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 510 case -1229442131: /*detailInteger*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 511 case -2062626246: /*detailRatio*/ return new Property("detail[x]", "Quantity|Range|CodeableConcept|string|boolean|integer|Ratio", "The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.", 0, 1, detail); 512 case -1320900084: /*due[x]*/ return new Property("due[x]", "date|Duration", "Indicates either the date or the duration after start by which the goal should be met.", 0, 1, due); 513 case 99828: /*due*/ return new Property("due[x]", "date|Duration", "Indicates either the date or the duration after start by which the goal should be met.", 0, 1, due); 514 case 2001063874: /*dueDate*/ return new Property("due[x]", "date|Duration", "Indicates either the date or the duration after start by which the goal should be met.", 0, 1, due); 515 case -620428376: /*dueDuration*/ return new Property("due[x]", "date|Duration", "Indicates either the date or the duration after start by which the goal should be met.", 0, 1, due); 516 default: return super.getNamedProperty(_hash, _name, _checkValid); 517 } 518 519 } 520 521 @Override 522 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 523 switch (hash) { 524 case 938321246: /*measure*/ return this.measure == null ? new Base[0] : new Base[] {this.measure}; // CodeableConcept 525 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : new Base[] {this.detail}; // Type 526 case 99828: /*due*/ return this.due == null ? new Base[0] : new Base[] {this.due}; // Type 527 default: return super.getProperty(hash, name, checkValid); 528 } 529 530 } 531 532 @Override 533 public Base setProperty(int hash, String name, Base value) throws FHIRException { 534 switch (hash) { 535 case 938321246: // measure 536 this.measure = castToCodeableConcept(value); // CodeableConcept 537 return value; 538 case -1335224239: // detail 539 this.detail = castToType(value); // Type 540 return value; 541 case 99828: // due 542 this.due = castToType(value); // Type 543 return value; 544 default: return super.setProperty(hash, name, value); 545 } 546 547 } 548 549 @Override 550 public Base setProperty(String name, Base value) throws FHIRException { 551 if (name.equals("measure")) { 552 this.measure = castToCodeableConcept(value); // CodeableConcept 553 } else if (name.equals("detail[x]")) { 554 this.detail = castToType(value); // Type 555 } else if (name.equals("due[x]")) { 556 this.due = castToType(value); // Type 557 } else 558 return super.setProperty(name, value); 559 return value; 560 } 561 562 @Override 563 public Base makeProperty(int hash, String name) throws FHIRException { 564 switch (hash) { 565 case 938321246: return getMeasure(); 566 case -1973084529: return getDetail(); 567 case -1335224239: return getDetail(); 568 case -1320900084: return getDue(); 569 case 99828: return getDue(); 570 default: return super.makeProperty(hash, name); 571 } 572 573 } 574 575 @Override 576 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 577 switch (hash) { 578 case 938321246: /*measure*/ return new String[] {"CodeableConcept"}; 579 case -1335224239: /*detail*/ return new String[] {"Quantity", "Range", "CodeableConcept", "string", "boolean", "integer", "Ratio"}; 580 case 99828: /*due*/ return new String[] {"date", "Duration"}; 581 default: return super.getTypesForProperty(hash, name); 582 } 583 584 } 585 586 @Override 587 public Base addChild(String name) throws FHIRException { 588 if (name.equals("measure")) { 589 this.measure = new CodeableConcept(); 590 return this.measure; 591 } 592 else if (name.equals("detailQuantity")) { 593 this.detail = new Quantity(); 594 return this.detail; 595 } 596 else if (name.equals("detailRange")) { 597 this.detail = new Range(); 598 return this.detail; 599 } 600 else if (name.equals("detailCodeableConcept")) { 601 this.detail = new CodeableConcept(); 602 return this.detail; 603 } 604 else if (name.equals("detailString")) { 605 this.detail = new StringType(); 606 return this.detail; 607 } 608 else if (name.equals("detailBoolean")) { 609 this.detail = new BooleanType(); 610 return this.detail; 611 } 612 else if (name.equals("detailInteger")) { 613 this.detail = new IntegerType(); 614 return this.detail; 615 } 616 else if (name.equals("detailRatio")) { 617 this.detail = new Ratio(); 618 return this.detail; 619 } 620 else if (name.equals("dueDate")) { 621 this.due = new DateType(); 622 return this.due; 623 } 624 else if (name.equals("dueDuration")) { 625 this.due = new Duration(); 626 return this.due; 627 } 628 else 629 return super.addChild(name); 630 } 631 632 public GoalTargetComponent copy() { 633 GoalTargetComponent dst = new GoalTargetComponent(); 634 copyValues(dst); 635 return dst; 636 } 637 638 public void copyValues(GoalTargetComponent dst) { 639 super.copyValues(dst); 640 dst.measure = measure == null ? null : measure.copy(); 641 dst.detail = detail == null ? null : detail.copy(); 642 dst.due = due == null ? null : due.copy(); 643 } 644 645 @Override 646 public boolean equalsDeep(Base other_) { 647 if (!super.equalsDeep(other_)) 648 return false; 649 if (!(other_ instanceof GoalTargetComponent)) 650 return false; 651 GoalTargetComponent o = (GoalTargetComponent) other_; 652 return compareDeep(measure, o.measure, true) && compareDeep(detail, o.detail, true) && compareDeep(due, o.due, true) 653 ; 654 } 655 656 @Override 657 public boolean equalsShallow(Base other_) { 658 if (!super.equalsShallow(other_)) 659 return false; 660 if (!(other_ instanceof GoalTargetComponent)) 661 return false; 662 GoalTargetComponent o = (GoalTargetComponent) other_; 663 return true; 664 } 665 666 public boolean isEmpty() { 667 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(measure, detail, due); 668 } 669 670 public String fhirType() { 671 return "Goal.target"; 672 673 } 674 675 } 676 677 /** 678 * Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 679 */ 680 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 681 @Description(shortDefinition="External Ids for this goal", formalDefinition="Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 682 protected List<Identifier> identifier; 683 684 /** 685 * The state of the goal throughout its lifecycle. 686 */ 687 @Child(name = "lifecycleStatus", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 688 @Description(shortDefinition="proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected", formalDefinition="The state of the goal throughout its lifecycle." ) 689 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/goal-status") 690 protected Enumeration<GoalLifecycleStatus> lifecycleStatus; 691 692 /** 693 * Describes the progression, or lack thereof, towards the goal against the target. 694 */ 695 @Child(name = "achievementStatus", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 696 @Description(shortDefinition="in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable", formalDefinition="Describes the progression, or lack thereof, towards the goal against the target." ) 697 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/goal-achievement") 698 protected CodeableConcept achievementStatus; 699 700 /** 701 * Indicates a category the goal falls within. 702 */ 703 @Child(name = "category", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 704 @Description(shortDefinition="E.g. Treatment, dietary, behavioral, etc.", formalDefinition="Indicates a category the goal falls within." ) 705 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/goal-category") 706 protected List<CodeableConcept> category; 707 708 /** 709 * Identifies the mutually agreed level of importance associated with reaching/sustaining the goal. 710 */ 711 @Child(name = "priority", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) 712 @Description(shortDefinition="high-priority | medium-priority | low-priority", formalDefinition="Identifies the mutually agreed level of importance associated with reaching/sustaining the goal." ) 713 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/goal-priority") 714 protected CodeableConcept priority; 715 716 /** 717 * Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding". 718 */ 719 @Child(name = "description", type = {CodeableConcept.class}, order=5, min=1, max=1, modifier=false, summary=true) 720 @Description(shortDefinition="Code or text describing goal", formalDefinition="Human-readable and/or coded description of a specific desired objective of care, such as \"control blood pressure\" or \"negotiate an obstacle course\" or \"dance with child at wedding\"." ) 721 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 722 protected CodeableConcept description; 723 724 /** 725 * Identifies the patient, group or organization for whom the goal is being established. 726 */ 727 @Child(name = "subject", type = {Patient.class, Group.class, Organization.class}, order=6, min=1, max=1, modifier=false, summary=true) 728 @Description(shortDefinition="Who this goal is intended for", formalDefinition="Identifies the patient, group or organization for whom the goal is being established." ) 729 protected Reference subject; 730 731 /** 732 * The actual object that is the target of the reference (Identifies the patient, group or organization for whom the goal is being established.) 733 */ 734 protected Resource subjectTarget; 735 736 /** 737 * The date or event after which the goal should begin being pursued. 738 */ 739 @Child(name = "start", type = {DateType.class, CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=true) 740 @Description(shortDefinition="When goal pursuit begins", formalDefinition="The date or event after which the goal should begin being pursued." ) 741 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/goal-start-event") 742 protected Type start; 743 744 /** 745 * Indicates what should be done by when. 746 */ 747 @Child(name = "target", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 748 @Description(shortDefinition="Target outcome for the goal", formalDefinition="Indicates what should be done by when." ) 749 protected List<GoalTargetComponent> target; 750 751 /** 752 * Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc. 753 */ 754 @Child(name = "statusDate", type = {DateType.class}, order=9, min=0, max=1, modifier=false, summary=true) 755 @Description(shortDefinition="When goal status took effect", formalDefinition="Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc." ) 756 protected DateType statusDate; 757 758 /** 759 * Captures the reason for the current status. 760 */ 761 @Child(name = "statusReason", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) 762 @Description(shortDefinition="Reason for current status", formalDefinition="Captures the reason for the current status." ) 763 protected StringType statusReason; 764 765 /** 766 * Indicates whose goal this is - patient goal, practitioner goal, etc. 767 */ 768 @Child(name = "expressedBy", type = {Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=11, min=0, max=1, modifier=false, summary=true) 769 @Description(shortDefinition="Who's responsible for creating Goal?", formalDefinition="Indicates whose goal this is - patient goal, practitioner goal, etc." ) 770 protected Reference expressedBy; 771 772 /** 773 * The actual object that is the target of the reference (Indicates whose goal this is - patient goal, practitioner goal, etc.) 774 */ 775 protected Resource expressedByTarget; 776 777 /** 778 * The identified conditions and other health record elements that are intended to be addressed by the goal. 779 */ 780 @Child(name = "addresses", type = {Condition.class, Observation.class, MedicationStatement.class, NutritionOrder.class, ServiceRequest.class, RiskAssessment.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 781 @Description(shortDefinition="Issues addressed by this goal", formalDefinition="The identified conditions and other health record elements that are intended to be addressed by the goal." ) 782 protected List<Reference> addresses; 783 /** 784 * The actual objects that are the target of the reference (The identified conditions and other health record elements that are intended to be addressed by the goal.) 785 */ 786 protected List<Resource> addressesTarget; 787 788 789 /** 790 * Any comments related to the goal. 791 */ 792 @Child(name = "note", type = {Annotation.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 793 @Description(shortDefinition="Comments about the goal", formalDefinition="Any comments related to the goal." ) 794 protected List<Annotation> note; 795 796 /** 797 * Identifies the change (or lack of change) at the point when the status of the goal is assessed. 798 */ 799 @Child(name = "outcomeCode", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 800 @Description(shortDefinition="What result was achieved regarding the goal?", formalDefinition="Identifies the change (or lack of change) at the point when the status of the goal is assessed." ) 801 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 802 protected List<CodeableConcept> outcomeCode; 803 804 /** 805 * Details of what's changed (or not changed). 806 */ 807 @Child(name = "outcomeReference", type = {Observation.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 808 @Description(shortDefinition="Observation that resulted from goal", formalDefinition="Details of what's changed (or not changed)." ) 809 protected List<Reference> outcomeReference; 810 /** 811 * The actual objects that are the target of the reference (Details of what's changed (or not changed).) 812 */ 813 protected List<Observation> outcomeReferenceTarget; 814 815 816 private static final long serialVersionUID = -1366854797L; 817 818 /** 819 * Constructor 820 */ 821 public Goal() { 822 super(); 823 } 824 825 /** 826 * Constructor 827 */ 828 public Goal(Enumeration<GoalLifecycleStatus> lifecycleStatus, CodeableConcept description, Reference subject) { 829 super(); 830 this.lifecycleStatus = lifecycleStatus; 831 this.description = description; 832 this.subject = subject; 833 } 834 835 /** 836 * @return {@link #identifier} (Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 837 */ 838 public List<Identifier> getIdentifier() { 839 if (this.identifier == null) 840 this.identifier = new ArrayList<Identifier>(); 841 return this.identifier; 842 } 843 844 /** 845 * @return Returns a reference to <code>this</code> for easy method chaining 846 */ 847 public Goal setIdentifier(List<Identifier> theIdentifier) { 848 this.identifier = theIdentifier; 849 return this; 850 } 851 852 public boolean hasIdentifier() { 853 if (this.identifier == null) 854 return false; 855 for (Identifier item : this.identifier) 856 if (!item.isEmpty()) 857 return true; 858 return false; 859 } 860 861 public Identifier addIdentifier() { //3 862 Identifier t = new Identifier(); 863 if (this.identifier == null) 864 this.identifier = new ArrayList<Identifier>(); 865 this.identifier.add(t); 866 return t; 867 } 868 869 public Goal addIdentifier(Identifier t) { //3 870 if (t == null) 871 return this; 872 if (this.identifier == null) 873 this.identifier = new ArrayList<Identifier>(); 874 this.identifier.add(t); 875 return this; 876 } 877 878 /** 879 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 880 */ 881 public Identifier getIdentifierFirstRep() { 882 if (getIdentifier().isEmpty()) { 883 addIdentifier(); 884 } 885 return getIdentifier().get(0); 886 } 887 888 /** 889 * @return {@link #lifecycleStatus} (The state of the goal throughout its lifecycle.). This is the underlying object with id, value and extensions. The accessor "getLifecycleStatus" gives direct access to the value 890 */ 891 public Enumeration<GoalLifecycleStatus> getLifecycleStatusElement() { 892 if (this.lifecycleStatus == null) 893 if (Configuration.errorOnAutoCreate()) 894 throw new Error("Attempt to auto-create Goal.lifecycleStatus"); 895 else if (Configuration.doAutoCreate()) 896 this.lifecycleStatus = new Enumeration<GoalLifecycleStatus>(new GoalLifecycleStatusEnumFactory()); // bb 897 return this.lifecycleStatus; 898 } 899 900 public boolean hasLifecycleStatusElement() { 901 return this.lifecycleStatus != null && !this.lifecycleStatus.isEmpty(); 902 } 903 904 public boolean hasLifecycleStatus() { 905 return this.lifecycleStatus != null && !this.lifecycleStatus.isEmpty(); 906 } 907 908 /** 909 * @param value {@link #lifecycleStatus} (The state of the goal throughout its lifecycle.). This is the underlying object with id, value and extensions. The accessor "getLifecycleStatus" gives direct access to the value 910 */ 911 public Goal setLifecycleStatusElement(Enumeration<GoalLifecycleStatus> value) { 912 this.lifecycleStatus = value; 913 return this; 914 } 915 916 /** 917 * @return The state of the goal throughout its lifecycle. 918 */ 919 public GoalLifecycleStatus getLifecycleStatus() { 920 return this.lifecycleStatus == null ? null : this.lifecycleStatus.getValue(); 921 } 922 923 /** 924 * @param value The state of the goal throughout its lifecycle. 925 */ 926 public Goal setLifecycleStatus(GoalLifecycleStatus value) { 927 if (this.lifecycleStatus == null) 928 this.lifecycleStatus = new Enumeration<GoalLifecycleStatus>(new GoalLifecycleStatusEnumFactory()); 929 this.lifecycleStatus.setValue(value); 930 return this; 931 } 932 933 /** 934 * @return {@link #achievementStatus} (Describes the progression, or lack thereof, towards the goal against the target.) 935 */ 936 public CodeableConcept getAchievementStatus() { 937 if (this.achievementStatus == null) 938 if (Configuration.errorOnAutoCreate()) 939 throw new Error("Attempt to auto-create Goal.achievementStatus"); 940 else if (Configuration.doAutoCreate()) 941 this.achievementStatus = new CodeableConcept(); // cc 942 return this.achievementStatus; 943 } 944 945 public boolean hasAchievementStatus() { 946 return this.achievementStatus != null && !this.achievementStatus.isEmpty(); 947 } 948 949 /** 950 * @param value {@link #achievementStatus} (Describes the progression, or lack thereof, towards the goal against the target.) 951 */ 952 public Goal setAchievementStatus(CodeableConcept value) { 953 this.achievementStatus = value; 954 return this; 955 } 956 957 /** 958 * @return {@link #category} (Indicates a category the goal falls within.) 959 */ 960 public List<CodeableConcept> getCategory() { 961 if (this.category == null) 962 this.category = new ArrayList<CodeableConcept>(); 963 return this.category; 964 } 965 966 /** 967 * @return Returns a reference to <code>this</code> for easy method chaining 968 */ 969 public Goal setCategory(List<CodeableConcept> theCategory) { 970 this.category = theCategory; 971 return this; 972 } 973 974 public boolean hasCategory() { 975 if (this.category == null) 976 return false; 977 for (CodeableConcept item : this.category) 978 if (!item.isEmpty()) 979 return true; 980 return false; 981 } 982 983 public CodeableConcept addCategory() { //3 984 CodeableConcept t = new CodeableConcept(); 985 if (this.category == null) 986 this.category = new ArrayList<CodeableConcept>(); 987 this.category.add(t); 988 return t; 989 } 990 991 public Goal addCategory(CodeableConcept t) { //3 992 if (t == null) 993 return this; 994 if (this.category == null) 995 this.category = new ArrayList<CodeableConcept>(); 996 this.category.add(t); 997 return this; 998 } 999 1000 /** 1001 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist 1002 */ 1003 public CodeableConcept getCategoryFirstRep() { 1004 if (getCategory().isEmpty()) { 1005 addCategory(); 1006 } 1007 return getCategory().get(0); 1008 } 1009 1010 /** 1011 * @return {@link #priority} (Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.) 1012 */ 1013 public CodeableConcept getPriority() { 1014 if (this.priority == null) 1015 if (Configuration.errorOnAutoCreate()) 1016 throw new Error("Attempt to auto-create Goal.priority"); 1017 else if (Configuration.doAutoCreate()) 1018 this.priority = new CodeableConcept(); // cc 1019 return this.priority; 1020 } 1021 1022 public boolean hasPriority() { 1023 return this.priority != null && !this.priority.isEmpty(); 1024 } 1025 1026 /** 1027 * @param value {@link #priority} (Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.) 1028 */ 1029 public Goal setPriority(CodeableConcept value) { 1030 this.priority = value; 1031 return this; 1032 } 1033 1034 /** 1035 * @return {@link #description} (Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".) 1036 */ 1037 public CodeableConcept getDescription() { 1038 if (this.description == null) 1039 if (Configuration.errorOnAutoCreate()) 1040 throw new Error("Attempt to auto-create Goal.description"); 1041 else if (Configuration.doAutoCreate()) 1042 this.description = new CodeableConcept(); // cc 1043 return this.description; 1044 } 1045 1046 public boolean hasDescription() { 1047 return this.description != null && !this.description.isEmpty(); 1048 } 1049 1050 /** 1051 * @param value {@link #description} (Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".) 1052 */ 1053 public Goal setDescription(CodeableConcept value) { 1054 this.description = value; 1055 return this; 1056 } 1057 1058 /** 1059 * @return {@link #subject} (Identifies the patient, group or organization for whom the goal is being established.) 1060 */ 1061 public Reference getSubject() { 1062 if (this.subject == null) 1063 if (Configuration.errorOnAutoCreate()) 1064 throw new Error("Attempt to auto-create Goal.subject"); 1065 else if (Configuration.doAutoCreate()) 1066 this.subject = new Reference(); // cc 1067 return this.subject; 1068 } 1069 1070 public boolean hasSubject() { 1071 return this.subject != null && !this.subject.isEmpty(); 1072 } 1073 1074 /** 1075 * @param value {@link #subject} (Identifies the patient, group or organization for whom the goal is being established.) 1076 */ 1077 public Goal setSubject(Reference value) { 1078 this.subject = value; 1079 return this; 1080 } 1081 1082 /** 1083 * @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. (Identifies the patient, group or organization for whom the goal is being established.) 1084 */ 1085 public Resource getSubjectTarget() { 1086 return this.subjectTarget; 1087 } 1088 1089 /** 1090 * @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. (Identifies the patient, group or organization for whom the goal is being established.) 1091 */ 1092 public Goal setSubjectTarget(Resource value) { 1093 this.subjectTarget = value; 1094 return this; 1095 } 1096 1097 /** 1098 * @return {@link #start} (The date or event after which the goal should begin being pursued.) 1099 */ 1100 public Type getStart() { 1101 return this.start; 1102 } 1103 1104 /** 1105 * @return {@link #start} (The date or event after which the goal should begin being pursued.) 1106 */ 1107 public DateType getStartDateType() throws FHIRException { 1108 if (this.start == null) 1109 this.start = new DateType(); 1110 if (!(this.start instanceof DateType)) 1111 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.start.getClass().getName()+" was encountered"); 1112 return (DateType) this.start; 1113 } 1114 1115 public boolean hasStartDateType() { 1116 return this != null && this.start instanceof DateType; 1117 } 1118 1119 /** 1120 * @return {@link #start} (The date or event after which the goal should begin being pursued.) 1121 */ 1122 public CodeableConcept getStartCodeableConcept() throws FHIRException { 1123 if (this.start == null) 1124 this.start = new CodeableConcept(); 1125 if (!(this.start instanceof CodeableConcept)) 1126 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.start.getClass().getName()+" was encountered"); 1127 return (CodeableConcept) this.start; 1128 } 1129 1130 public boolean hasStartCodeableConcept() { 1131 return this != null && this.start instanceof CodeableConcept; 1132 } 1133 1134 public boolean hasStart() { 1135 return this.start != null && !this.start.isEmpty(); 1136 } 1137 1138 /** 1139 * @param value {@link #start} (The date or event after which the goal should begin being pursued.) 1140 */ 1141 public Goal setStart(Type value) { 1142 if (value != null && !(value instanceof DateType || value instanceof CodeableConcept)) 1143 throw new Error("Not the right type for Goal.start[x]: "+value.fhirType()); 1144 this.start = value; 1145 return this; 1146 } 1147 1148 /** 1149 * @return {@link #target} (Indicates what should be done by when.) 1150 */ 1151 public List<GoalTargetComponent> getTarget() { 1152 if (this.target == null) 1153 this.target = new ArrayList<GoalTargetComponent>(); 1154 return this.target; 1155 } 1156 1157 /** 1158 * @return Returns a reference to <code>this</code> for easy method chaining 1159 */ 1160 public Goal setTarget(List<GoalTargetComponent> theTarget) { 1161 this.target = theTarget; 1162 return this; 1163 } 1164 1165 public boolean hasTarget() { 1166 if (this.target == null) 1167 return false; 1168 for (GoalTargetComponent item : this.target) 1169 if (!item.isEmpty()) 1170 return true; 1171 return false; 1172 } 1173 1174 public GoalTargetComponent addTarget() { //3 1175 GoalTargetComponent t = new GoalTargetComponent(); 1176 if (this.target == null) 1177 this.target = new ArrayList<GoalTargetComponent>(); 1178 this.target.add(t); 1179 return t; 1180 } 1181 1182 public Goal addTarget(GoalTargetComponent t) { //3 1183 if (t == null) 1184 return this; 1185 if (this.target == null) 1186 this.target = new ArrayList<GoalTargetComponent>(); 1187 this.target.add(t); 1188 return this; 1189 } 1190 1191 /** 1192 * @return The first repetition of repeating field {@link #target}, creating it if it does not already exist 1193 */ 1194 public GoalTargetComponent getTargetFirstRep() { 1195 if (getTarget().isEmpty()) { 1196 addTarget(); 1197 } 1198 return getTarget().get(0); 1199 } 1200 1201 /** 1202 * @return {@link #statusDate} (Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc.). This is the underlying object with id, value and extensions. The accessor "getStatusDate" gives direct access to the value 1203 */ 1204 public DateType getStatusDateElement() { 1205 if (this.statusDate == null) 1206 if (Configuration.errorOnAutoCreate()) 1207 throw new Error("Attempt to auto-create Goal.statusDate"); 1208 else if (Configuration.doAutoCreate()) 1209 this.statusDate = new DateType(); // bb 1210 return this.statusDate; 1211 } 1212 1213 public boolean hasStatusDateElement() { 1214 return this.statusDate != null && !this.statusDate.isEmpty(); 1215 } 1216 1217 public boolean hasStatusDate() { 1218 return this.statusDate != null && !this.statusDate.isEmpty(); 1219 } 1220 1221 /** 1222 * @param value {@link #statusDate} (Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc.). This is the underlying object with id, value and extensions. The accessor "getStatusDate" gives direct access to the value 1223 */ 1224 public Goal setStatusDateElement(DateType value) { 1225 this.statusDate = value; 1226 return this; 1227 } 1228 1229 /** 1230 * @return Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc. 1231 */ 1232 public Date getStatusDate() { 1233 return this.statusDate == null ? null : this.statusDate.getValue(); 1234 } 1235 1236 /** 1237 * @param value Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc. 1238 */ 1239 public Goal setStatusDate(Date value) { 1240 if (value == null) 1241 this.statusDate = null; 1242 else { 1243 if (this.statusDate == null) 1244 this.statusDate = new DateType(); 1245 this.statusDate.setValue(value); 1246 } 1247 return this; 1248 } 1249 1250 /** 1251 * @return {@link #statusReason} (Captures the reason for the current status.). This is the underlying object with id, value and extensions. The accessor "getStatusReason" gives direct access to the value 1252 */ 1253 public StringType getStatusReasonElement() { 1254 if (this.statusReason == null) 1255 if (Configuration.errorOnAutoCreate()) 1256 throw new Error("Attempt to auto-create Goal.statusReason"); 1257 else if (Configuration.doAutoCreate()) 1258 this.statusReason = new StringType(); // bb 1259 return this.statusReason; 1260 } 1261 1262 public boolean hasStatusReasonElement() { 1263 return this.statusReason != null && !this.statusReason.isEmpty(); 1264 } 1265 1266 public boolean hasStatusReason() { 1267 return this.statusReason != null && !this.statusReason.isEmpty(); 1268 } 1269 1270 /** 1271 * @param value {@link #statusReason} (Captures the reason for the current status.). This is the underlying object with id, value and extensions. The accessor "getStatusReason" gives direct access to the value 1272 */ 1273 public Goal setStatusReasonElement(StringType value) { 1274 this.statusReason = value; 1275 return this; 1276 } 1277 1278 /** 1279 * @return Captures the reason for the current status. 1280 */ 1281 public String getStatusReason() { 1282 return this.statusReason == null ? null : this.statusReason.getValue(); 1283 } 1284 1285 /** 1286 * @param value Captures the reason for the current status. 1287 */ 1288 public Goal setStatusReason(String value) { 1289 if (Utilities.noString(value)) 1290 this.statusReason = null; 1291 else { 1292 if (this.statusReason == null) 1293 this.statusReason = new StringType(); 1294 this.statusReason.setValue(value); 1295 } 1296 return this; 1297 } 1298 1299 /** 1300 * @return {@link #expressedBy} (Indicates whose goal this is - patient goal, practitioner goal, etc.) 1301 */ 1302 public Reference getExpressedBy() { 1303 if (this.expressedBy == null) 1304 if (Configuration.errorOnAutoCreate()) 1305 throw new Error("Attempt to auto-create Goal.expressedBy"); 1306 else if (Configuration.doAutoCreate()) 1307 this.expressedBy = new Reference(); // cc 1308 return this.expressedBy; 1309 } 1310 1311 public boolean hasExpressedBy() { 1312 return this.expressedBy != null && !this.expressedBy.isEmpty(); 1313 } 1314 1315 /** 1316 * @param value {@link #expressedBy} (Indicates whose goal this is - patient goal, practitioner goal, etc.) 1317 */ 1318 public Goal setExpressedBy(Reference value) { 1319 this.expressedBy = value; 1320 return this; 1321 } 1322 1323 /** 1324 * @return {@link #expressedBy} 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. (Indicates whose goal this is - patient goal, practitioner goal, etc.) 1325 */ 1326 public Resource getExpressedByTarget() { 1327 return this.expressedByTarget; 1328 } 1329 1330 /** 1331 * @param value {@link #expressedBy} 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. (Indicates whose goal this is - patient goal, practitioner goal, etc.) 1332 */ 1333 public Goal setExpressedByTarget(Resource value) { 1334 this.expressedByTarget = value; 1335 return this; 1336 } 1337 1338 /** 1339 * @return {@link #addresses} (The identified conditions and other health record elements that are intended to be addressed by the goal.) 1340 */ 1341 public List<Reference> getAddresses() { 1342 if (this.addresses == null) 1343 this.addresses = new ArrayList<Reference>(); 1344 return this.addresses; 1345 } 1346 1347 /** 1348 * @return Returns a reference to <code>this</code> for easy method chaining 1349 */ 1350 public Goal setAddresses(List<Reference> theAddresses) { 1351 this.addresses = theAddresses; 1352 return this; 1353 } 1354 1355 public boolean hasAddresses() { 1356 if (this.addresses == null) 1357 return false; 1358 for (Reference item : this.addresses) 1359 if (!item.isEmpty()) 1360 return true; 1361 return false; 1362 } 1363 1364 public Reference addAddresses() { //3 1365 Reference t = new Reference(); 1366 if (this.addresses == null) 1367 this.addresses = new ArrayList<Reference>(); 1368 this.addresses.add(t); 1369 return t; 1370 } 1371 1372 public Goal addAddresses(Reference t) { //3 1373 if (t == null) 1374 return this; 1375 if (this.addresses == null) 1376 this.addresses = new ArrayList<Reference>(); 1377 this.addresses.add(t); 1378 return this; 1379 } 1380 1381 /** 1382 * @return The first repetition of repeating field {@link #addresses}, creating it if it does not already exist 1383 */ 1384 public Reference getAddressesFirstRep() { 1385 if (getAddresses().isEmpty()) { 1386 addAddresses(); 1387 } 1388 return getAddresses().get(0); 1389 } 1390 1391 /** 1392 * @deprecated Use Reference#setResource(IBaseResource) instead 1393 */ 1394 @Deprecated 1395 public List<Resource> getAddressesTarget() { 1396 if (this.addressesTarget == null) 1397 this.addressesTarget = new ArrayList<Resource>(); 1398 return this.addressesTarget; 1399 } 1400 1401 /** 1402 * @return {@link #note} (Any comments related to the goal.) 1403 */ 1404 public List<Annotation> getNote() { 1405 if (this.note == null) 1406 this.note = new ArrayList<Annotation>(); 1407 return this.note; 1408 } 1409 1410 /** 1411 * @return Returns a reference to <code>this</code> for easy method chaining 1412 */ 1413 public Goal setNote(List<Annotation> theNote) { 1414 this.note = theNote; 1415 return this; 1416 } 1417 1418 public boolean hasNote() { 1419 if (this.note == null) 1420 return false; 1421 for (Annotation item : this.note) 1422 if (!item.isEmpty()) 1423 return true; 1424 return false; 1425 } 1426 1427 public Annotation addNote() { //3 1428 Annotation t = new Annotation(); 1429 if (this.note == null) 1430 this.note = new ArrayList<Annotation>(); 1431 this.note.add(t); 1432 return t; 1433 } 1434 1435 public Goal addNote(Annotation t) { //3 1436 if (t == null) 1437 return this; 1438 if (this.note == null) 1439 this.note = new ArrayList<Annotation>(); 1440 this.note.add(t); 1441 return this; 1442 } 1443 1444 /** 1445 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 1446 */ 1447 public Annotation getNoteFirstRep() { 1448 if (getNote().isEmpty()) { 1449 addNote(); 1450 } 1451 return getNote().get(0); 1452 } 1453 1454 /** 1455 * @return {@link #outcomeCode} (Identifies the change (or lack of change) at the point when the status of the goal is assessed.) 1456 */ 1457 public List<CodeableConcept> getOutcomeCode() { 1458 if (this.outcomeCode == null) 1459 this.outcomeCode = new ArrayList<CodeableConcept>(); 1460 return this.outcomeCode; 1461 } 1462 1463 /** 1464 * @return Returns a reference to <code>this</code> for easy method chaining 1465 */ 1466 public Goal setOutcomeCode(List<CodeableConcept> theOutcomeCode) { 1467 this.outcomeCode = theOutcomeCode; 1468 return this; 1469 } 1470 1471 public boolean hasOutcomeCode() { 1472 if (this.outcomeCode == null) 1473 return false; 1474 for (CodeableConcept item : this.outcomeCode) 1475 if (!item.isEmpty()) 1476 return true; 1477 return false; 1478 } 1479 1480 public CodeableConcept addOutcomeCode() { //3 1481 CodeableConcept t = new CodeableConcept(); 1482 if (this.outcomeCode == null) 1483 this.outcomeCode = new ArrayList<CodeableConcept>(); 1484 this.outcomeCode.add(t); 1485 return t; 1486 } 1487 1488 public Goal addOutcomeCode(CodeableConcept t) { //3 1489 if (t == null) 1490 return this; 1491 if (this.outcomeCode == null) 1492 this.outcomeCode = new ArrayList<CodeableConcept>(); 1493 this.outcomeCode.add(t); 1494 return this; 1495 } 1496 1497 /** 1498 * @return The first repetition of repeating field {@link #outcomeCode}, creating it if it does not already exist 1499 */ 1500 public CodeableConcept getOutcomeCodeFirstRep() { 1501 if (getOutcomeCode().isEmpty()) { 1502 addOutcomeCode(); 1503 } 1504 return getOutcomeCode().get(0); 1505 } 1506 1507 /** 1508 * @return {@link #outcomeReference} (Details of what's changed (or not changed).) 1509 */ 1510 public List<Reference> getOutcomeReference() { 1511 if (this.outcomeReference == null) 1512 this.outcomeReference = new ArrayList<Reference>(); 1513 return this.outcomeReference; 1514 } 1515 1516 /** 1517 * @return Returns a reference to <code>this</code> for easy method chaining 1518 */ 1519 public Goal setOutcomeReference(List<Reference> theOutcomeReference) { 1520 this.outcomeReference = theOutcomeReference; 1521 return this; 1522 } 1523 1524 public boolean hasOutcomeReference() { 1525 if (this.outcomeReference == null) 1526 return false; 1527 for (Reference item : this.outcomeReference) 1528 if (!item.isEmpty()) 1529 return true; 1530 return false; 1531 } 1532 1533 public Reference addOutcomeReference() { //3 1534 Reference t = new Reference(); 1535 if (this.outcomeReference == null) 1536 this.outcomeReference = new ArrayList<Reference>(); 1537 this.outcomeReference.add(t); 1538 return t; 1539 } 1540 1541 public Goal addOutcomeReference(Reference t) { //3 1542 if (t == null) 1543 return this; 1544 if (this.outcomeReference == null) 1545 this.outcomeReference = new ArrayList<Reference>(); 1546 this.outcomeReference.add(t); 1547 return this; 1548 } 1549 1550 /** 1551 * @return The first repetition of repeating field {@link #outcomeReference}, creating it if it does not already exist 1552 */ 1553 public Reference getOutcomeReferenceFirstRep() { 1554 if (getOutcomeReference().isEmpty()) { 1555 addOutcomeReference(); 1556 } 1557 return getOutcomeReference().get(0); 1558 } 1559 1560 /** 1561 * @deprecated Use Reference#setResource(IBaseResource) instead 1562 */ 1563 @Deprecated 1564 public List<Observation> getOutcomeReferenceTarget() { 1565 if (this.outcomeReferenceTarget == null) 1566 this.outcomeReferenceTarget = new ArrayList<Observation>(); 1567 return this.outcomeReferenceTarget; 1568 } 1569 1570 /** 1571 * @deprecated Use Reference#setResource(IBaseResource) instead 1572 */ 1573 @Deprecated 1574 public Observation addOutcomeReferenceTarget() { 1575 Observation r = new Observation(); 1576 if (this.outcomeReferenceTarget == null) 1577 this.outcomeReferenceTarget = new ArrayList<Observation>(); 1578 this.outcomeReferenceTarget.add(r); 1579 return r; 1580 } 1581 1582 protected void listChildren(List<Property> children) { 1583 super.listChildren(children); 1584 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1585 children.add(new Property("lifecycleStatus", "code", "The state of the goal throughout its lifecycle.", 0, 1, lifecycleStatus)); 1586 children.add(new Property("achievementStatus", "CodeableConcept", "Describes the progression, or lack thereof, towards the goal against the target.", 0, 1, achievementStatus)); 1587 children.add(new Property("category", "CodeableConcept", "Indicates a category the goal falls within.", 0, java.lang.Integer.MAX_VALUE, category)); 1588 children.add(new Property("priority", "CodeableConcept", "Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.", 0, 1, priority)); 1589 children.add(new Property("description", "CodeableConcept", "Human-readable and/or coded description of a specific desired objective of care, such as \"control blood pressure\" or \"negotiate an obstacle course\" or \"dance with child at wedding\".", 0, 1, description)); 1590 children.add(new Property("subject", "Reference(Patient|Group|Organization)", "Identifies the patient, group or organization for whom the goal is being established.", 0, 1, subject)); 1591 children.add(new Property("start[x]", "date|CodeableConcept", "The date or event after which the goal should begin being pursued.", 0, 1, start)); 1592 children.add(new Property("target", "", "Indicates what should be done by when.", 0, java.lang.Integer.MAX_VALUE, target)); 1593 children.add(new Property("statusDate", "date", "Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc.", 0, 1, statusDate)); 1594 children.add(new Property("statusReason", "string", "Captures the reason for the current status.", 0, 1, statusReason)); 1595 children.add(new Property("expressedBy", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson)", "Indicates whose goal this is - patient goal, practitioner goal, etc.", 0, 1, expressedBy)); 1596 children.add(new Property("addresses", "Reference(Condition|Observation|MedicationStatement|NutritionOrder|ServiceRequest|RiskAssessment)", "The identified conditions and other health record elements that are intended to be addressed by the goal.", 0, java.lang.Integer.MAX_VALUE, addresses)); 1597 children.add(new Property("note", "Annotation", "Any comments related to the goal.", 0, java.lang.Integer.MAX_VALUE, note)); 1598 children.add(new Property("outcomeCode", "CodeableConcept", "Identifies the change (or lack of change) at the point when the status of the goal is assessed.", 0, java.lang.Integer.MAX_VALUE, outcomeCode)); 1599 children.add(new Property("outcomeReference", "Reference(Observation)", "Details of what's changed (or not changed).", 0, java.lang.Integer.MAX_VALUE, outcomeReference)); 1600 } 1601 1602 @Override 1603 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1604 switch (_hash) { 1605 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 1606 case 1165552636: /*lifecycleStatus*/ return new Property("lifecycleStatus", "code", "The state of the goal throughout its lifecycle.", 0, 1, lifecycleStatus); 1607 case 104524801: /*achievementStatus*/ return new Property("achievementStatus", "CodeableConcept", "Describes the progression, or lack thereof, towards the goal against the target.", 0, 1, achievementStatus); 1608 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Indicates a category the goal falls within.", 0, java.lang.Integer.MAX_VALUE, category); 1609 case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.", 0, 1, priority); 1610 case -1724546052: /*description*/ return new Property("description", "CodeableConcept", "Human-readable and/or coded description of a specific desired objective of care, such as \"control blood pressure\" or \"negotiate an obstacle course\" or \"dance with child at wedding\".", 0, 1, description); 1611 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Organization)", "Identifies the patient, group or organization for whom the goal is being established.", 0, 1, subject); 1612 case 1316793566: /*start[x]*/ return new Property("start[x]", "date|CodeableConcept", "The date or event after which the goal should begin being pursued.", 0, 1, start); 1613 case 109757538: /*start*/ return new Property("start[x]", "date|CodeableConcept", "The date or event after which the goal should begin being pursued.", 0, 1, start); 1614 case -2129778896: /*startDate*/ return new Property("start[x]", "date|CodeableConcept", "The date or event after which the goal should begin being pursued.", 0, 1, start); 1615 case -1758833953: /*startCodeableConcept*/ return new Property("start[x]", "date|CodeableConcept", "The date or event after which the goal should begin being pursued.", 0, 1, start); 1616 case -880905839: /*target*/ return new Property("target", "", "Indicates what should be done by when.", 0, java.lang.Integer.MAX_VALUE, target); 1617 case 247524032: /*statusDate*/ return new Property("statusDate", "date", "Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc.", 0, 1, statusDate); 1618 case 2051346646: /*statusReason*/ return new Property("statusReason", "string", "Captures the reason for the current status.", 0, 1, statusReason); 1619 case 175423686: /*expressedBy*/ return new Property("expressedBy", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson)", "Indicates whose goal this is - patient goal, practitioner goal, etc.", 0, 1, expressedBy); 1620 case 874544034: /*addresses*/ return new Property("addresses", "Reference(Condition|Observation|MedicationStatement|NutritionOrder|ServiceRequest|RiskAssessment)", "The identified conditions and other health record elements that are intended to be addressed by the goal.", 0, java.lang.Integer.MAX_VALUE, addresses); 1621 case 3387378: /*note*/ return new Property("note", "Annotation", "Any comments related to the goal.", 0, java.lang.Integer.MAX_VALUE, note); 1622 case 1062482015: /*outcomeCode*/ return new Property("outcomeCode", "CodeableConcept", "Identifies the change (or lack of change) at the point when the status of the goal is assessed.", 0, java.lang.Integer.MAX_VALUE, outcomeCode); 1623 case -782273511: /*outcomeReference*/ return new Property("outcomeReference", "Reference(Observation)", "Details of what's changed (or not changed).", 0, java.lang.Integer.MAX_VALUE, outcomeReference); 1624 default: return super.getNamedProperty(_hash, _name, _checkValid); 1625 } 1626 1627 } 1628 1629 @Override 1630 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1631 switch (hash) { 1632 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1633 case 1165552636: /*lifecycleStatus*/ return this.lifecycleStatus == null ? new Base[0] : new Base[] {this.lifecycleStatus}; // Enumeration<GoalLifecycleStatus> 1634 case 104524801: /*achievementStatus*/ return this.achievementStatus == null ? new Base[0] : new Base[] {this.achievementStatus}; // CodeableConcept 1635 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1636 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept 1637 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // CodeableConcept 1638 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1639 case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // Type 1640 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // GoalTargetComponent 1641 case 247524032: /*statusDate*/ return this.statusDate == null ? new Base[0] : new Base[] {this.statusDate}; // DateType 1642 case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // StringType 1643 case 175423686: /*expressedBy*/ return this.expressedBy == null ? new Base[0] : new Base[] {this.expressedBy}; // Reference 1644 case 874544034: /*addresses*/ return this.addresses == null ? new Base[0] : this.addresses.toArray(new Base[this.addresses.size()]); // Reference 1645 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1646 case 1062482015: /*outcomeCode*/ return this.outcomeCode == null ? new Base[0] : this.outcomeCode.toArray(new Base[this.outcomeCode.size()]); // CodeableConcept 1647 case -782273511: /*outcomeReference*/ return this.outcomeReference == null ? new Base[0] : this.outcomeReference.toArray(new Base[this.outcomeReference.size()]); // Reference 1648 default: return super.getProperty(hash, name, checkValid); 1649 } 1650 1651 } 1652 1653 @Override 1654 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1655 switch (hash) { 1656 case -1618432855: // identifier 1657 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1658 return value; 1659 case 1165552636: // lifecycleStatus 1660 value = new GoalLifecycleStatusEnumFactory().fromType(castToCode(value)); 1661 this.lifecycleStatus = (Enumeration) value; // Enumeration<GoalLifecycleStatus> 1662 return value; 1663 case 104524801: // achievementStatus 1664 this.achievementStatus = castToCodeableConcept(value); // CodeableConcept 1665 return value; 1666 case 50511102: // category 1667 this.getCategory().add(castToCodeableConcept(value)); // CodeableConcept 1668 return value; 1669 case -1165461084: // priority 1670 this.priority = castToCodeableConcept(value); // CodeableConcept 1671 return value; 1672 case -1724546052: // description 1673 this.description = castToCodeableConcept(value); // CodeableConcept 1674 return value; 1675 case -1867885268: // subject 1676 this.subject = castToReference(value); // Reference 1677 return value; 1678 case 109757538: // start 1679 this.start = castToType(value); // Type 1680 return value; 1681 case -880905839: // target 1682 this.getTarget().add((GoalTargetComponent) value); // GoalTargetComponent 1683 return value; 1684 case 247524032: // statusDate 1685 this.statusDate = castToDate(value); // DateType 1686 return value; 1687 case 2051346646: // statusReason 1688 this.statusReason = castToString(value); // StringType 1689 return value; 1690 case 175423686: // expressedBy 1691 this.expressedBy = castToReference(value); // Reference 1692 return value; 1693 case 874544034: // addresses 1694 this.getAddresses().add(castToReference(value)); // Reference 1695 return value; 1696 case 3387378: // note 1697 this.getNote().add(castToAnnotation(value)); // Annotation 1698 return value; 1699 case 1062482015: // outcomeCode 1700 this.getOutcomeCode().add(castToCodeableConcept(value)); // CodeableConcept 1701 return value; 1702 case -782273511: // outcomeReference 1703 this.getOutcomeReference().add(castToReference(value)); // Reference 1704 return value; 1705 default: return super.setProperty(hash, name, value); 1706 } 1707 1708 } 1709 1710 @Override 1711 public Base setProperty(String name, Base value) throws FHIRException { 1712 if (name.equals("identifier")) { 1713 this.getIdentifier().add(castToIdentifier(value)); 1714 } else if (name.equals("lifecycleStatus")) { 1715 value = new GoalLifecycleStatusEnumFactory().fromType(castToCode(value)); 1716 this.lifecycleStatus = (Enumeration) value; // Enumeration<GoalLifecycleStatus> 1717 } else if (name.equals("achievementStatus")) { 1718 this.achievementStatus = castToCodeableConcept(value); // CodeableConcept 1719 } else if (name.equals("category")) { 1720 this.getCategory().add(castToCodeableConcept(value)); 1721 } else if (name.equals("priority")) { 1722 this.priority = castToCodeableConcept(value); // CodeableConcept 1723 } else if (name.equals("description")) { 1724 this.description = castToCodeableConcept(value); // CodeableConcept 1725 } else if (name.equals("subject")) { 1726 this.subject = castToReference(value); // Reference 1727 } else if (name.equals("start[x]")) { 1728 this.start = castToType(value); // Type 1729 } else if (name.equals("target")) { 1730 this.getTarget().add((GoalTargetComponent) value); 1731 } else if (name.equals("statusDate")) { 1732 this.statusDate = castToDate(value); // DateType 1733 } else if (name.equals("statusReason")) { 1734 this.statusReason = castToString(value); // StringType 1735 } else if (name.equals("expressedBy")) { 1736 this.expressedBy = castToReference(value); // Reference 1737 } else if (name.equals("addresses")) { 1738 this.getAddresses().add(castToReference(value)); 1739 } else if (name.equals("note")) { 1740 this.getNote().add(castToAnnotation(value)); 1741 } else if (name.equals("outcomeCode")) { 1742 this.getOutcomeCode().add(castToCodeableConcept(value)); 1743 } else if (name.equals("outcomeReference")) { 1744 this.getOutcomeReference().add(castToReference(value)); 1745 } else 1746 return super.setProperty(name, value); 1747 return value; 1748 } 1749 1750 @Override 1751 public Base makeProperty(int hash, String name) throws FHIRException { 1752 switch (hash) { 1753 case -1618432855: return addIdentifier(); 1754 case 1165552636: return getLifecycleStatusElement(); 1755 case 104524801: return getAchievementStatus(); 1756 case 50511102: return addCategory(); 1757 case -1165461084: return getPriority(); 1758 case -1724546052: return getDescription(); 1759 case -1867885268: return getSubject(); 1760 case 1316793566: return getStart(); 1761 case 109757538: return getStart(); 1762 case -880905839: return addTarget(); 1763 case 247524032: return getStatusDateElement(); 1764 case 2051346646: return getStatusReasonElement(); 1765 case 175423686: return getExpressedBy(); 1766 case 874544034: return addAddresses(); 1767 case 3387378: return addNote(); 1768 case 1062482015: return addOutcomeCode(); 1769 case -782273511: return addOutcomeReference(); 1770 default: return super.makeProperty(hash, name); 1771 } 1772 1773 } 1774 1775 @Override 1776 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1777 switch (hash) { 1778 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1779 case 1165552636: /*lifecycleStatus*/ return new String[] {"code"}; 1780 case 104524801: /*achievementStatus*/ return new String[] {"CodeableConcept"}; 1781 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1782 case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; 1783 case -1724546052: /*description*/ return new String[] {"CodeableConcept"}; 1784 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1785 case 109757538: /*start*/ return new String[] {"date", "CodeableConcept"}; 1786 case -880905839: /*target*/ return new String[] {}; 1787 case 247524032: /*statusDate*/ return new String[] {"date"}; 1788 case 2051346646: /*statusReason*/ return new String[] {"string"}; 1789 case 175423686: /*expressedBy*/ return new String[] {"Reference"}; 1790 case 874544034: /*addresses*/ return new String[] {"Reference"}; 1791 case 3387378: /*note*/ return new String[] {"Annotation"}; 1792 case 1062482015: /*outcomeCode*/ return new String[] {"CodeableConcept"}; 1793 case -782273511: /*outcomeReference*/ return new String[] {"Reference"}; 1794 default: return super.getTypesForProperty(hash, name); 1795 } 1796 1797 } 1798 1799 @Override 1800 public Base addChild(String name) throws FHIRException { 1801 if (name.equals("identifier")) { 1802 return addIdentifier(); 1803 } 1804 else if (name.equals("lifecycleStatus")) { 1805 throw new FHIRException("Cannot call addChild on a primitive type Goal.lifecycleStatus"); 1806 } 1807 else if (name.equals("achievementStatus")) { 1808 this.achievementStatus = new CodeableConcept(); 1809 return this.achievementStatus; 1810 } 1811 else if (name.equals("category")) { 1812 return addCategory(); 1813 } 1814 else if (name.equals("priority")) { 1815 this.priority = new CodeableConcept(); 1816 return this.priority; 1817 } 1818 else if (name.equals("description")) { 1819 this.description = new CodeableConcept(); 1820 return this.description; 1821 } 1822 else if (name.equals("subject")) { 1823 this.subject = new Reference(); 1824 return this.subject; 1825 } 1826 else if (name.equals("startDate")) { 1827 this.start = new DateType(); 1828 return this.start; 1829 } 1830 else if (name.equals("startCodeableConcept")) { 1831 this.start = new CodeableConcept(); 1832 return this.start; 1833 } 1834 else if (name.equals("target")) { 1835 return addTarget(); 1836 } 1837 else if (name.equals("statusDate")) { 1838 throw new FHIRException("Cannot call addChild on a primitive type Goal.statusDate"); 1839 } 1840 else if (name.equals("statusReason")) { 1841 throw new FHIRException("Cannot call addChild on a primitive type Goal.statusReason"); 1842 } 1843 else if (name.equals("expressedBy")) { 1844 this.expressedBy = new Reference(); 1845 return this.expressedBy; 1846 } 1847 else if (name.equals("addresses")) { 1848 return addAddresses(); 1849 } 1850 else if (name.equals("note")) { 1851 return addNote(); 1852 } 1853 else if (name.equals("outcomeCode")) { 1854 return addOutcomeCode(); 1855 } 1856 else if (name.equals("outcomeReference")) { 1857 return addOutcomeReference(); 1858 } 1859 else 1860 return super.addChild(name); 1861 } 1862 1863 public String fhirType() { 1864 return "Goal"; 1865 1866 } 1867 1868 public Goal copy() { 1869 Goal dst = new Goal(); 1870 copyValues(dst); 1871 return dst; 1872 } 1873 1874 public void copyValues(Goal dst) { 1875 super.copyValues(dst); 1876 if (identifier != null) { 1877 dst.identifier = new ArrayList<Identifier>(); 1878 for (Identifier i : identifier) 1879 dst.identifier.add(i.copy()); 1880 }; 1881 dst.lifecycleStatus = lifecycleStatus == null ? null : lifecycleStatus.copy(); 1882 dst.achievementStatus = achievementStatus == null ? null : achievementStatus.copy(); 1883 if (category != null) { 1884 dst.category = new ArrayList<CodeableConcept>(); 1885 for (CodeableConcept i : category) 1886 dst.category.add(i.copy()); 1887 }; 1888 dst.priority = priority == null ? null : priority.copy(); 1889 dst.description = description == null ? null : description.copy(); 1890 dst.subject = subject == null ? null : subject.copy(); 1891 dst.start = start == null ? null : start.copy(); 1892 if (target != null) { 1893 dst.target = new ArrayList<GoalTargetComponent>(); 1894 for (GoalTargetComponent i : target) 1895 dst.target.add(i.copy()); 1896 }; 1897 dst.statusDate = statusDate == null ? null : statusDate.copy(); 1898 dst.statusReason = statusReason == null ? null : statusReason.copy(); 1899 dst.expressedBy = expressedBy == null ? null : expressedBy.copy(); 1900 if (addresses != null) { 1901 dst.addresses = new ArrayList<Reference>(); 1902 for (Reference i : addresses) 1903 dst.addresses.add(i.copy()); 1904 }; 1905 if (note != null) { 1906 dst.note = new ArrayList<Annotation>(); 1907 for (Annotation i : note) 1908 dst.note.add(i.copy()); 1909 }; 1910 if (outcomeCode != null) { 1911 dst.outcomeCode = new ArrayList<CodeableConcept>(); 1912 for (CodeableConcept i : outcomeCode) 1913 dst.outcomeCode.add(i.copy()); 1914 }; 1915 if (outcomeReference != null) { 1916 dst.outcomeReference = new ArrayList<Reference>(); 1917 for (Reference i : outcomeReference) 1918 dst.outcomeReference.add(i.copy()); 1919 }; 1920 } 1921 1922 protected Goal typedCopy() { 1923 return copy(); 1924 } 1925 1926 @Override 1927 public boolean equalsDeep(Base other_) { 1928 if (!super.equalsDeep(other_)) 1929 return false; 1930 if (!(other_ instanceof Goal)) 1931 return false; 1932 Goal o = (Goal) other_; 1933 return compareDeep(identifier, o.identifier, true) && compareDeep(lifecycleStatus, o.lifecycleStatus, true) 1934 && compareDeep(achievementStatus, o.achievementStatus, true) && compareDeep(category, o.category, true) 1935 && compareDeep(priority, o.priority, true) && compareDeep(description, o.description, true) && compareDeep(subject, o.subject, true) 1936 && compareDeep(start, o.start, true) && compareDeep(target, o.target, true) && compareDeep(statusDate, o.statusDate, true) 1937 && compareDeep(statusReason, o.statusReason, true) && compareDeep(expressedBy, o.expressedBy, true) 1938 && compareDeep(addresses, o.addresses, true) && compareDeep(note, o.note, true) && compareDeep(outcomeCode, o.outcomeCode, true) 1939 && compareDeep(outcomeReference, o.outcomeReference, true); 1940 } 1941 1942 @Override 1943 public boolean equalsShallow(Base other_) { 1944 if (!super.equalsShallow(other_)) 1945 return false; 1946 if (!(other_ instanceof Goal)) 1947 return false; 1948 Goal o = (Goal) other_; 1949 return compareValues(lifecycleStatus, o.lifecycleStatus, true) && compareValues(statusDate, o.statusDate, true) 1950 && compareValues(statusReason, o.statusReason, true); 1951 } 1952 1953 public boolean isEmpty() { 1954 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, lifecycleStatus 1955 , achievementStatus, category, priority, description, subject, start, target, statusDate 1956 , statusReason, expressedBy, addresses, note, outcomeCode, outcomeReference); 1957 } 1958 1959 @Override 1960 public ResourceType getResourceType() { 1961 return ResourceType.Goal; 1962 } 1963 1964 /** 1965 * Search parameter: <b>identifier</b> 1966 * <p> 1967 * Description: <b>External Ids for this goal</b><br> 1968 * Type: <b>token</b><br> 1969 * Path: <b>Goal.identifier</b><br> 1970 * </p> 1971 */ 1972 @SearchParamDefinition(name="identifier", path="Goal.identifier", description="External Ids for this goal", type="token" ) 1973 public static final String SP_IDENTIFIER = "identifier"; 1974 /** 1975 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1976 * <p> 1977 * Description: <b>External Ids for this goal</b><br> 1978 * Type: <b>token</b><br> 1979 * Path: <b>Goal.identifier</b><br> 1980 * </p> 1981 */ 1982 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1983 1984 /** 1985 * Search parameter: <b>lifecycle-status</b> 1986 * <p> 1987 * Description: <b>proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected</b><br> 1988 * Type: <b>token</b><br> 1989 * Path: <b>Goal.lifecycleStatus</b><br> 1990 * </p> 1991 */ 1992 @SearchParamDefinition(name="lifecycle-status", path="Goal.lifecycleStatus", description="proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected", type="token" ) 1993 public static final String SP_LIFECYCLE_STATUS = "lifecycle-status"; 1994 /** 1995 * <b>Fluent Client</b> search parameter constant for <b>lifecycle-status</b> 1996 * <p> 1997 * Description: <b>proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected</b><br> 1998 * Type: <b>token</b><br> 1999 * Path: <b>Goal.lifecycleStatus</b><br> 2000 * </p> 2001 */ 2002 public static final ca.uhn.fhir.rest.gclient.TokenClientParam LIFECYCLE_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_LIFECYCLE_STATUS); 2003 2004 /** 2005 * Search parameter: <b>achievement-status</b> 2006 * <p> 2007 * Description: <b>in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable</b><br> 2008 * Type: <b>token</b><br> 2009 * Path: <b>Goal.achievementStatus</b><br> 2010 * </p> 2011 */ 2012 @SearchParamDefinition(name="achievement-status", path="Goal.achievementStatus", description="in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable", type="token" ) 2013 public static final String SP_ACHIEVEMENT_STATUS = "achievement-status"; 2014 /** 2015 * <b>Fluent Client</b> search parameter constant for <b>achievement-status</b> 2016 * <p> 2017 * Description: <b>in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable</b><br> 2018 * Type: <b>token</b><br> 2019 * Path: <b>Goal.achievementStatus</b><br> 2020 * </p> 2021 */ 2022 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACHIEVEMENT_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACHIEVEMENT_STATUS); 2023 2024 /** 2025 * Search parameter: <b>patient</b> 2026 * <p> 2027 * Description: <b>Who this goal is intended for</b><br> 2028 * Type: <b>reference</b><br> 2029 * Path: <b>Goal.subject</b><br> 2030 * </p> 2031 */ 2032 @SearchParamDefinition(name="patient", path="Goal.subject.where(resolve() is Patient)", description="Who this goal is intended for", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } ) 2033 public static final String SP_PATIENT = "patient"; 2034 /** 2035 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2036 * <p> 2037 * Description: <b>Who this goal is intended for</b><br> 2038 * Type: <b>reference</b><br> 2039 * Path: <b>Goal.subject</b><br> 2040 * </p> 2041 */ 2042 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2043 2044/** 2045 * Constant for fluent queries to be used to add include statements. Specifies 2046 * the path value of "<b>Goal:patient</b>". 2047 */ 2048 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Goal:patient").toLocked(); 2049 2050 /** 2051 * Search parameter: <b>subject</b> 2052 * <p> 2053 * Description: <b>Who this goal is intended for</b><br> 2054 * Type: <b>reference</b><br> 2055 * Path: <b>Goal.subject</b><br> 2056 * </p> 2057 */ 2058 @SearchParamDefinition(name="subject", path="Goal.subject", description="Who this goal is intended for", type="reference", target={Group.class, Organization.class, Patient.class } ) 2059 public static final String SP_SUBJECT = "subject"; 2060 /** 2061 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2062 * <p> 2063 * Description: <b>Who this goal is intended for</b><br> 2064 * Type: <b>reference</b><br> 2065 * Path: <b>Goal.subject</b><br> 2066 * </p> 2067 */ 2068 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2069 2070/** 2071 * Constant for fluent queries to be used to add include statements. Specifies 2072 * the path value of "<b>Goal:subject</b>". 2073 */ 2074 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Goal:subject").toLocked(); 2075 2076 /** 2077 * Search parameter: <b>start-date</b> 2078 * <p> 2079 * Description: <b>When goal pursuit begins</b><br> 2080 * Type: <b>date</b><br> 2081 * Path: <b>Goal.startDate</b><br> 2082 * </p> 2083 */ 2084 @SearchParamDefinition(name="start-date", path="(Goal.start as date)", description="When goal pursuit begins", type="date" ) 2085 public static final String SP_START_DATE = "start-date"; 2086 /** 2087 * <b>Fluent Client</b> search parameter constant for <b>start-date</b> 2088 * <p> 2089 * Description: <b>When goal pursuit begins</b><br> 2090 * Type: <b>date</b><br> 2091 * Path: <b>Goal.startDate</b><br> 2092 * </p> 2093 */ 2094 public static final ca.uhn.fhir.rest.gclient.DateClientParam START_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_START_DATE); 2095 2096 /** 2097 * Search parameter: <b>category</b> 2098 * <p> 2099 * Description: <b>E.g. Treatment, dietary, behavioral, etc.</b><br> 2100 * Type: <b>token</b><br> 2101 * Path: <b>Goal.category</b><br> 2102 * </p> 2103 */ 2104 @SearchParamDefinition(name="category", path="Goal.category", description="E.g. Treatment, dietary, behavioral, etc.", type="token" ) 2105 public static final String SP_CATEGORY = "category"; 2106 /** 2107 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2108 * <p> 2109 * Description: <b>E.g. Treatment, dietary, behavioral, etc.</b><br> 2110 * Type: <b>token</b><br> 2111 * Path: <b>Goal.category</b><br> 2112 * </p> 2113 */ 2114 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2115 2116 /** 2117 * Search parameter: <b>target-date</b> 2118 * <p> 2119 * Description: <b>Reach goal on or before</b><br> 2120 * Type: <b>date</b><br> 2121 * Path: <b>Goal.target.dueDate</b><br> 2122 * </p> 2123 */ 2124 @SearchParamDefinition(name="target-date", path="(Goal.target.due as date)", description="Reach goal on or before", type="date" ) 2125 public static final String SP_TARGET_DATE = "target-date"; 2126 /** 2127 * <b>Fluent Client</b> search parameter constant for <b>target-date</b> 2128 * <p> 2129 * Description: <b>Reach goal on or before</b><br> 2130 * Type: <b>date</b><br> 2131 * Path: <b>Goal.target.dueDate</b><br> 2132 * </p> 2133 */ 2134 public static final ca.uhn.fhir.rest.gclient.DateClientParam TARGET_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_TARGET_DATE); 2135 2136 2137}