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