001package org.hl7.fhir.r4b.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. 052 */ 053@ResourceDef(name="CarePlan", profile="http://hl7.org/fhir/StructureDefinition/CarePlan") 054public class CarePlan extends DomainResource { 055 056 public enum CarePlanActivityKind { 057 /** 058 * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). 059 */ 060 APPOINTMENT, 061 /** 062 * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. 063 */ 064 COMMUNICATIONREQUEST, 065 /** 066 * Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. 067 */ 068 DEVICEREQUEST, 069 /** 070 * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. 071 */ 072 MEDICATIONREQUEST, 073 /** 074 * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. 075 */ 076 NUTRITIONORDER, 077 /** 078 * A task to be performed. 079 */ 080 TASK, 081 /** 082 * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. 083 */ 084 SERVICEREQUEST, 085 /** 086 * An authorization for the provision of glasses and/or contact lenses to a patient. 087 */ 088 VISIONPRESCRIPTION, 089 /** 090 * added to help the parsers with the generic types 091 */ 092 NULL; 093 public static CarePlanActivityKind fromCode(String codeString) throws FHIRException { 094 if (codeString == null || "".equals(codeString)) 095 return null; 096 if ("Appointment".equals(codeString)) 097 return APPOINTMENT; 098 if ("CommunicationRequest".equals(codeString)) 099 return COMMUNICATIONREQUEST; 100 if ("DeviceRequest".equals(codeString)) 101 return DEVICEREQUEST; 102 if ("MedicationRequest".equals(codeString)) 103 return MEDICATIONREQUEST; 104 if ("NutritionOrder".equals(codeString)) 105 return NUTRITIONORDER; 106 if ("Task".equals(codeString)) 107 return TASK; 108 if ("ServiceRequest".equals(codeString)) 109 return SERVICEREQUEST; 110 if ("VisionPrescription".equals(codeString)) 111 return VISIONPRESCRIPTION; 112 if (Configuration.isAcceptInvalidEnums()) 113 return null; 114 else 115 throw new FHIRException("Unknown CarePlanActivityKind code '"+codeString+"'"); 116 } 117 public String toCode() { 118 switch (this) { 119 case APPOINTMENT: return "Appointment"; 120 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 121 case DEVICEREQUEST: return "DeviceRequest"; 122 case MEDICATIONREQUEST: return "MedicationRequest"; 123 case NUTRITIONORDER: return "NutritionOrder"; 124 case TASK: return "Task"; 125 case SERVICEREQUEST: return "ServiceRequest"; 126 case VISIONPRESCRIPTION: return "VisionPrescription"; 127 case NULL: return null; 128 default: return "?"; 129 } 130 } 131 public String getSystem() { 132 switch (this) { 133 case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; 134 case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 135 case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; 136 case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 137 case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; 138 case TASK: return "http://hl7.org/fhir/resource-types"; 139 case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; 140 case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; 141 case NULL: return null; 142 default: return "?"; 143 } 144 } 145 public String getDefinition() { 146 switch (this) { 147 case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; 148 case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; 149 case DEVICEREQUEST: return "Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker."; 150 case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; 151 case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 152 case TASK: return "A task to be performed."; 153 case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; 154 case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; 155 case NULL: return null; 156 default: return "?"; 157 } 158 } 159 public String getDisplay() { 160 switch (this) { 161 case APPOINTMENT: return "Appointment"; 162 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 163 case DEVICEREQUEST: return "DeviceRequest"; 164 case MEDICATIONREQUEST: return "MedicationRequest"; 165 case NUTRITIONORDER: return "NutritionOrder"; 166 case TASK: return "Task"; 167 case SERVICEREQUEST: return "ServiceRequest"; 168 case VISIONPRESCRIPTION: return "VisionPrescription"; 169 case NULL: return null; 170 default: return "?"; 171 } 172 } 173 } 174 175 public static class CarePlanActivityKindEnumFactory implements EnumFactory<CarePlanActivityKind> { 176 public CarePlanActivityKind fromCode(String codeString) throws IllegalArgumentException { 177 if (codeString == null || "".equals(codeString)) 178 if (codeString == null || "".equals(codeString)) 179 return null; 180 if ("Appointment".equals(codeString)) 181 return CarePlanActivityKind.APPOINTMENT; 182 if ("CommunicationRequest".equals(codeString)) 183 return CarePlanActivityKind.COMMUNICATIONREQUEST; 184 if ("DeviceRequest".equals(codeString)) 185 return CarePlanActivityKind.DEVICEREQUEST; 186 if ("MedicationRequest".equals(codeString)) 187 return CarePlanActivityKind.MEDICATIONREQUEST; 188 if ("NutritionOrder".equals(codeString)) 189 return CarePlanActivityKind.NUTRITIONORDER; 190 if ("Task".equals(codeString)) 191 return CarePlanActivityKind.TASK; 192 if ("ServiceRequest".equals(codeString)) 193 return CarePlanActivityKind.SERVICEREQUEST; 194 if ("VisionPrescription".equals(codeString)) 195 return CarePlanActivityKind.VISIONPRESCRIPTION; 196 throw new IllegalArgumentException("Unknown CarePlanActivityKind code '"+codeString+"'"); 197 } 198 public Enumeration<CarePlanActivityKind> fromType(Base code) throws FHIRException { 199 if (code == null) 200 return null; 201 if (code.isEmpty()) 202 return new Enumeration<CarePlanActivityKind>(this); 203 String codeString = ((PrimitiveType) code).asStringValue(); 204 if (codeString == null || "".equals(codeString)) 205 return null; 206 if ("Appointment".equals(codeString)) 207 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.APPOINTMENT); 208 if ("CommunicationRequest".equals(codeString)) 209 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.COMMUNICATIONREQUEST); 210 if ("DeviceRequest".equals(codeString)) 211 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.DEVICEREQUEST); 212 if ("MedicationRequest".equals(codeString)) 213 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.MEDICATIONREQUEST); 214 if ("NutritionOrder".equals(codeString)) 215 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.NUTRITIONORDER); 216 if ("Task".equals(codeString)) 217 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.TASK); 218 if ("ServiceRequest".equals(codeString)) 219 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.SERVICEREQUEST); 220 if ("VisionPrescription".equals(codeString)) 221 return new Enumeration<CarePlanActivityKind>(this, CarePlanActivityKind.VISIONPRESCRIPTION); 222 throw new FHIRException("Unknown CarePlanActivityKind code '"+codeString+"'"); 223 } 224 public String toCode(CarePlanActivityKind code) { 225 if (code == CarePlanActivityKind.APPOINTMENT) 226 return "Appointment"; 227 if (code == CarePlanActivityKind.COMMUNICATIONREQUEST) 228 return "CommunicationRequest"; 229 if (code == CarePlanActivityKind.DEVICEREQUEST) 230 return "DeviceRequest"; 231 if (code == CarePlanActivityKind.MEDICATIONREQUEST) 232 return "MedicationRequest"; 233 if (code == CarePlanActivityKind.NUTRITIONORDER) 234 return "NutritionOrder"; 235 if (code == CarePlanActivityKind.TASK) 236 return "Task"; 237 if (code == CarePlanActivityKind.SERVICEREQUEST) 238 return "ServiceRequest"; 239 if (code == CarePlanActivityKind.VISIONPRESCRIPTION) 240 return "VisionPrescription"; 241 return "?"; 242 } 243 public String toSystem(CarePlanActivityKind code) { 244 return code.getSystem(); 245 } 246 } 247 248 public enum CarePlanActivityStatus { 249 /** 250 * Care plan activity is planned but no action has yet been taken. 251 */ 252 NOTSTARTED, 253 /** 254 * Appointment or other booking has occurred but activity has not yet begun. 255 */ 256 SCHEDULED, 257 /** 258 * Care plan activity has been started but is not yet complete. 259 */ 260 INPROGRESS, 261 /** 262 * Care plan activity was started but has temporarily ceased with an expectation of resumption at a future time. 263 */ 264 ONHOLD, 265 /** 266 * Care plan activity has been completed (more or less) as planned. 267 */ 268 COMPLETED, 269 /** 270 * The planned care plan activity has been withdrawn. 271 */ 272 CANCELLED, 273 /** 274 * The planned care plan activity has been ended prior to completion after the activity was started. 275 */ 276 STOPPED, 277 /** 278 * The current state of the care plan activity is not known. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which one. 279 */ 280 UNKNOWN, 281 /** 282 * Care plan activity was entered in error and voided. 283 */ 284 ENTEREDINERROR, 285 /** 286 * added to help the parsers with the generic types 287 */ 288 NULL; 289 public static CarePlanActivityStatus fromCode(String codeString) throws FHIRException { 290 if (codeString == null || "".equals(codeString)) 291 return null; 292 if ("not-started".equals(codeString)) 293 return NOTSTARTED; 294 if ("scheduled".equals(codeString)) 295 return SCHEDULED; 296 if ("in-progress".equals(codeString)) 297 return INPROGRESS; 298 if ("on-hold".equals(codeString)) 299 return ONHOLD; 300 if ("completed".equals(codeString)) 301 return COMPLETED; 302 if ("cancelled".equals(codeString)) 303 return CANCELLED; 304 if ("stopped".equals(codeString)) 305 return STOPPED; 306 if ("unknown".equals(codeString)) 307 return UNKNOWN; 308 if ("entered-in-error".equals(codeString)) 309 return ENTEREDINERROR; 310 if (Configuration.isAcceptInvalidEnums()) 311 return null; 312 else 313 throw new FHIRException("Unknown CarePlanActivityStatus code '"+codeString+"'"); 314 } 315 public String toCode() { 316 switch (this) { 317 case NOTSTARTED: return "not-started"; 318 case SCHEDULED: return "scheduled"; 319 case INPROGRESS: return "in-progress"; 320 case ONHOLD: return "on-hold"; 321 case COMPLETED: return "completed"; 322 case CANCELLED: return "cancelled"; 323 case STOPPED: return "stopped"; 324 case UNKNOWN: return "unknown"; 325 case ENTEREDINERROR: return "entered-in-error"; 326 case NULL: return null; 327 default: return "?"; 328 } 329 } 330 public String getSystem() { 331 switch (this) { 332 case NOTSTARTED: return "http://hl7.org/fhir/care-plan-activity-status"; 333 case SCHEDULED: return "http://hl7.org/fhir/care-plan-activity-status"; 334 case INPROGRESS: return "http://hl7.org/fhir/care-plan-activity-status"; 335 case ONHOLD: return "http://hl7.org/fhir/care-plan-activity-status"; 336 case COMPLETED: return "http://hl7.org/fhir/care-plan-activity-status"; 337 case CANCELLED: return "http://hl7.org/fhir/care-plan-activity-status"; 338 case STOPPED: return "http://hl7.org/fhir/care-plan-activity-status"; 339 case UNKNOWN: return "http://hl7.org/fhir/care-plan-activity-status"; 340 case ENTEREDINERROR: return "http://hl7.org/fhir/care-plan-activity-status"; 341 case NULL: return null; 342 default: return "?"; 343 } 344 } 345 public String getDefinition() { 346 switch (this) { 347 case NOTSTARTED: return "Care plan activity is planned but no action has yet been taken."; 348 case SCHEDULED: return "Appointment or other booking has occurred but activity has not yet begun."; 349 case INPROGRESS: return "Care plan activity has been started but is not yet complete."; 350 case ONHOLD: return "Care plan activity was started but has temporarily ceased with an expectation of resumption at a future time."; 351 case COMPLETED: return "Care plan activity has been completed (more or less) as planned."; 352 case CANCELLED: return "The planned care plan activity has been withdrawn."; 353 case STOPPED: return "The planned care plan activity has been ended prior to completion after the activity was started."; 354 case UNKNOWN: return "The current state of the care plan activity is not known. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which one."; 355 case ENTEREDINERROR: return "Care plan activity was entered in error and voided."; 356 case NULL: return null; 357 default: return "?"; 358 } 359 } 360 public String getDisplay() { 361 switch (this) { 362 case NOTSTARTED: return "Not Started"; 363 case SCHEDULED: return "Scheduled"; 364 case INPROGRESS: return "In Progress"; 365 case ONHOLD: return "On Hold"; 366 case COMPLETED: return "Completed"; 367 case CANCELLED: return "Cancelled"; 368 case STOPPED: return "Stopped"; 369 case UNKNOWN: return "Unknown"; 370 case ENTEREDINERROR: return "Entered in Error"; 371 case NULL: return null; 372 default: return "?"; 373 } 374 } 375 } 376 377 public static class CarePlanActivityStatusEnumFactory implements EnumFactory<CarePlanActivityStatus> { 378 public CarePlanActivityStatus fromCode(String codeString) throws IllegalArgumentException { 379 if (codeString == null || "".equals(codeString)) 380 if (codeString == null || "".equals(codeString)) 381 return null; 382 if ("not-started".equals(codeString)) 383 return CarePlanActivityStatus.NOTSTARTED; 384 if ("scheduled".equals(codeString)) 385 return CarePlanActivityStatus.SCHEDULED; 386 if ("in-progress".equals(codeString)) 387 return CarePlanActivityStatus.INPROGRESS; 388 if ("on-hold".equals(codeString)) 389 return CarePlanActivityStatus.ONHOLD; 390 if ("completed".equals(codeString)) 391 return CarePlanActivityStatus.COMPLETED; 392 if ("cancelled".equals(codeString)) 393 return CarePlanActivityStatus.CANCELLED; 394 if ("stopped".equals(codeString)) 395 return CarePlanActivityStatus.STOPPED; 396 if ("unknown".equals(codeString)) 397 return CarePlanActivityStatus.UNKNOWN; 398 if ("entered-in-error".equals(codeString)) 399 return CarePlanActivityStatus.ENTEREDINERROR; 400 throw new IllegalArgumentException("Unknown CarePlanActivityStatus code '"+codeString+"'"); 401 } 402 public Enumeration<CarePlanActivityStatus> fromType(Base code) throws FHIRException { 403 if (code == null) 404 return null; 405 if (code.isEmpty()) 406 return new Enumeration<CarePlanActivityStatus>(this); 407 String codeString = ((PrimitiveType) code).asStringValue(); 408 if (codeString == null || "".equals(codeString)) 409 return null; 410 if ("not-started".equals(codeString)) 411 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.NOTSTARTED); 412 if ("scheduled".equals(codeString)) 413 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.SCHEDULED); 414 if ("in-progress".equals(codeString)) 415 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.INPROGRESS); 416 if ("on-hold".equals(codeString)) 417 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.ONHOLD); 418 if ("completed".equals(codeString)) 419 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.COMPLETED); 420 if ("cancelled".equals(codeString)) 421 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.CANCELLED); 422 if ("stopped".equals(codeString)) 423 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.STOPPED); 424 if ("unknown".equals(codeString)) 425 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.UNKNOWN); 426 if ("entered-in-error".equals(codeString)) 427 return new Enumeration<CarePlanActivityStatus>(this, CarePlanActivityStatus.ENTEREDINERROR); 428 throw new FHIRException("Unknown CarePlanActivityStatus code '"+codeString+"'"); 429 } 430 public String toCode(CarePlanActivityStatus code) { 431 if (code == CarePlanActivityStatus.NOTSTARTED) 432 return "not-started"; 433 if (code == CarePlanActivityStatus.SCHEDULED) 434 return "scheduled"; 435 if (code == CarePlanActivityStatus.INPROGRESS) 436 return "in-progress"; 437 if (code == CarePlanActivityStatus.ONHOLD) 438 return "on-hold"; 439 if (code == CarePlanActivityStatus.COMPLETED) 440 return "completed"; 441 if (code == CarePlanActivityStatus.CANCELLED) 442 return "cancelled"; 443 if (code == CarePlanActivityStatus.STOPPED) 444 return "stopped"; 445 if (code == CarePlanActivityStatus.UNKNOWN) 446 return "unknown"; 447 if (code == CarePlanActivityStatus.ENTEREDINERROR) 448 return "entered-in-error"; 449 return "?"; 450 } 451 public String toSystem(CarePlanActivityStatus code) { 452 return code.getSystem(); 453 } 454 } 455 456 public enum CarePlanIntent { 457 /** 458 * The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act. 459 */ 460 PROPOSAL, 461 /** 462 * The request represents an intention to ensure something occurs without providing an authorization for others to act. 463 */ 464 PLAN, 465 /** 466 * The request represents a request/demand and authorization for action by a Practitioner. 467 */ 468 ORDER, 469 /** 470 * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used. 471 */ 472 OPTION, 473 /** 474 * added to help the parsers with the generic types 475 */ 476 NULL; 477 public static CarePlanIntent fromCode(String codeString) throws FHIRException { 478 if (codeString == null || "".equals(codeString)) 479 return null; 480 if ("proposal".equals(codeString)) 481 return PROPOSAL; 482 if ("plan".equals(codeString)) 483 return PLAN; 484 if ("order".equals(codeString)) 485 return ORDER; 486 if ("option".equals(codeString)) 487 return OPTION; 488 if (Configuration.isAcceptInvalidEnums()) 489 return null; 490 else 491 throw new FHIRException("Unknown CarePlanIntent code '"+codeString+"'"); 492 } 493 public String toCode() { 494 switch (this) { 495 case PROPOSAL: return "proposal"; 496 case PLAN: return "plan"; 497 case ORDER: return "order"; 498 case OPTION: return "option"; 499 case NULL: return null; 500 default: return "?"; 501 } 502 } 503 public String getSystem() { 504 switch (this) { 505 case PROPOSAL: return "http://hl7.org/fhir/request-intent"; 506 case PLAN: return "http://hl7.org/fhir/request-intent"; 507 case ORDER: return "http://hl7.org/fhir/request-intent"; 508 case OPTION: return "http://hl7.org/fhir/request-intent"; 509 case NULL: return null; 510 default: return "?"; 511 } 512 } 513 public String getDefinition() { 514 switch (this) { 515 case PROPOSAL: return "The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act."; 516 case PLAN: return "The request represents an intention to ensure something occurs without providing an authorization for others to act."; 517 case ORDER: return "The request represents a request/demand and authorization for action by a Practitioner."; 518 case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used."; 519 case NULL: return null; 520 default: return "?"; 521 } 522 } 523 public String getDisplay() { 524 switch (this) { 525 case PROPOSAL: return "Proposal"; 526 case PLAN: return "Plan"; 527 case ORDER: return "Order"; 528 case OPTION: return "Option"; 529 case NULL: return null; 530 default: return "?"; 531 } 532 } 533 } 534 535 public static class CarePlanIntentEnumFactory implements EnumFactory<CarePlanIntent> { 536 public CarePlanIntent fromCode(String codeString) throws IllegalArgumentException { 537 if (codeString == null || "".equals(codeString)) 538 if (codeString == null || "".equals(codeString)) 539 return null; 540 if ("proposal".equals(codeString)) 541 return CarePlanIntent.PROPOSAL; 542 if ("plan".equals(codeString)) 543 return CarePlanIntent.PLAN; 544 if ("order".equals(codeString)) 545 return CarePlanIntent.ORDER; 546 if ("option".equals(codeString)) 547 return CarePlanIntent.OPTION; 548 throw new IllegalArgumentException("Unknown CarePlanIntent code '"+codeString+"'"); 549 } 550 public Enumeration<CarePlanIntent> fromType(Base code) throws FHIRException { 551 if (code == null) 552 return null; 553 if (code.isEmpty()) 554 return new Enumeration<CarePlanIntent>(this); 555 String codeString = ((PrimitiveType) code).asStringValue(); 556 if (codeString == null || "".equals(codeString)) 557 return null; 558 if ("proposal".equals(codeString)) 559 return new Enumeration<CarePlanIntent>(this, CarePlanIntent.PROPOSAL); 560 if ("plan".equals(codeString)) 561 return new Enumeration<CarePlanIntent>(this, CarePlanIntent.PLAN); 562 if ("order".equals(codeString)) 563 return new Enumeration<CarePlanIntent>(this, CarePlanIntent.ORDER); 564 if ("option".equals(codeString)) 565 return new Enumeration<CarePlanIntent>(this, CarePlanIntent.OPTION); 566 throw new FHIRException("Unknown CarePlanIntent code '"+codeString+"'"); 567 } 568 public String toCode(CarePlanIntent code) { 569 if (code == CarePlanIntent.PROPOSAL) 570 return "proposal"; 571 if (code == CarePlanIntent.PLAN) 572 return "plan"; 573 if (code == CarePlanIntent.ORDER) 574 return "order"; 575 if (code == CarePlanIntent.OPTION) 576 return "option"; 577 return "?"; 578 } 579 public String toSystem(CarePlanIntent code) { 580 return code.getSystem(); 581 } 582 } 583 584 @Block() 585 public static class CarePlanActivityComponent extends BackboneElement implements IBaseBackboneElement { 586 /** 587 * Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not). 588 */ 589 @Child(name = "outcomeCodeableConcept", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 590 @Description(shortDefinition="Results of the activity", formalDefinition="Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not)." ) 591 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-plan-activity-outcome") 592 protected List<CodeableConcept> outcomeCodeableConcept; 593 594 /** 595 * Details of the outcome or action resulting from the activity. The reference to an "event" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource). 596 */ 597 @Child(name = "outcomeReference", type = {Reference.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 598 @Description(shortDefinition="Appointment, Encounter, Procedure, etc.", formalDefinition="Details of the outcome or action resulting from the activity. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource)." ) 599 protected List<Reference> outcomeReference; 600 601 /** 602 * Notes about the adherence/status/progress of the activity. 603 */ 604 @Child(name = "progress", type = {Annotation.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 605 @Description(shortDefinition="Comments about the activity status/progress", formalDefinition="Notes about the adherence/status/progress of the activity." ) 606 protected List<Annotation> progress; 607 608 /** 609 * The details of the proposed activity represented in a specific resource. 610 */ 611 @Child(name = "reference", type = {Appointment.class, CommunicationRequest.class, DeviceRequest.class, MedicationRequest.class, NutritionOrder.class, Task.class, ServiceRequest.class, VisionPrescription.class, RequestGroup.class}, order=4, min=0, max=1, modifier=false, summary=false) 612 @Description(shortDefinition="Activity details defined in specific resource", formalDefinition="The details of the proposed activity represented in a specific resource." ) 613 protected Reference reference; 614 615 /** 616 * A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc. 617 */ 618 @Child(name = "detail", type = {}, order=5, min=0, max=1, modifier=false, summary=false) 619 @Description(shortDefinition="In-line definition of activity", formalDefinition="A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc." ) 620 protected CarePlanActivityDetailComponent detail; 621 622 private static final long serialVersionUID = -1499292662L; 623 624 /** 625 * Constructor 626 */ 627 public CarePlanActivityComponent() { 628 super(); 629 } 630 631 /** 632 * @return {@link #outcomeCodeableConcept} (Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not).) 633 */ 634 public List<CodeableConcept> getOutcomeCodeableConcept() { 635 if (this.outcomeCodeableConcept == null) 636 this.outcomeCodeableConcept = new ArrayList<CodeableConcept>(); 637 return this.outcomeCodeableConcept; 638 } 639 640 /** 641 * @return Returns a reference to <code>this</code> for easy method chaining 642 */ 643 public CarePlanActivityComponent setOutcomeCodeableConcept(List<CodeableConcept> theOutcomeCodeableConcept) { 644 this.outcomeCodeableConcept = theOutcomeCodeableConcept; 645 return this; 646 } 647 648 public boolean hasOutcomeCodeableConcept() { 649 if (this.outcomeCodeableConcept == null) 650 return false; 651 for (CodeableConcept item : this.outcomeCodeableConcept) 652 if (!item.isEmpty()) 653 return true; 654 return false; 655 } 656 657 public CodeableConcept addOutcomeCodeableConcept() { //3 658 CodeableConcept t = new CodeableConcept(); 659 if (this.outcomeCodeableConcept == null) 660 this.outcomeCodeableConcept = new ArrayList<CodeableConcept>(); 661 this.outcomeCodeableConcept.add(t); 662 return t; 663 } 664 665 public CarePlanActivityComponent addOutcomeCodeableConcept(CodeableConcept t) { //3 666 if (t == null) 667 return this; 668 if (this.outcomeCodeableConcept == null) 669 this.outcomeCodeableConcept = new ArrayList<CodeableConcept>(); 670 this.outcomeCodeableConcept.add(t); 671 return this; 672 } 673 674 /** 675 * @return The first repetition of repeating field {@link #outcomeCodeableConcept}, creating it if it does not already exist {3} 676 */ 677 public CodeableConcept getOutcomeCodeableConceptFirstRep() { 678 if (getOutcomeCodeableConcept().isEmpty()) { 679 addOutcomeCodeableConcept(); 680 } 681 return getOutcomeCodeableConcept().get(0); 682 } 683 684 /** 685 * @return {@link #outcomeReference} (Details of the outcome or action resulting from the activity. The reference to an "event" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).) 686 */ 687 public List<Reference> getOutcomeReference() { 688 if (this.outcomeReference == null) 689 this.outcomeReference = new ArrayList<Reference>(); 690 return this.outcomeReference; 691 } 692 693 /** 694 * @return Returns a reference to <code>this</code> for easy method chaining 695 */ 696 public CarePlanActivityComponent setOutcomeReference(List<Reference> theOutcomeReference) { 697 this.outcomeReference = theOutcomeReference; 698 return this; 699 } 700 701 public boolean hasOutcomeReference() { 702 if (this.outcomeReference == null) 703 return false; 704 for (Reference item : this.outcomeReference) 705 if (!item.isEmpty()) 706 return true; 707 return false; 708 } 709 710 public Reference addOutcomeReference() { //3 711 Reference t = new Reference(); 712 if (this.outcomeReference == null) 713 this.outcomeReference = new ArrayList<Reference>(); 714 this.outcomeReference.add(t); 715 return t; 716 } 717 718 public CarePlanActivityComponent addOutcomeReference(Reference t) { //3 719 if (t == null) 720 return this; 721 if (this.outcomeReference == null) 722 this.outcomeReference = new ArrayList<Reference>(); 723 this.outcomeReference.add(t); 724 return this; 725 } 726 727 /** 728 * @return The first repetition of repeating field {@link #outcomeReference}, creating it if it does not already exist {3} 729 */ 730 public Reference getOutcomeReferenceFirstRep() { 731 if (getOutcomeReference().isEmpty()) { 732 addOutcomeReference(); 733 } 734 return getOutcomeReference().get(0); 735 } 736 737 /** 738 * @return {@link #progress} (Notes about the adherence/status/progress of the activity.) 739 */ 740 public List<Annotation> getProgress() { 741 if (this.progress == null) 742 this.progress = new ArrayList<Annotation>(); 743 return this.progress; 744 } 745 746 /** 747 * @return Returns a reference to <code>this</code> for easy method chaining 748 */ 749 public CarePlanActivityComponent setProgress(List<Annotation> theProgress) { 750 this.progress = theProgress; 751 return this; 752 } 753 754 public boolean hasProgress() { 755 if (this.progress == null) 756 return false; 757 for (Annotation item : this.progress) 758 if (!item.isEmpty()) 759 return true; 760 return false; 761 } 762 763 public Annotation addProgress() { //3 764 Annotation t = new Annotation(); 765 if (this.progress == null) 766 this.progress = new ArrayList<Annotation>(); 767 this.progress.add(t); 768 return t; 769 } 770 771 public CarePlanActivityComponent addProgress(Annotation t) { //3 772 if (t == null) 773 return this; 774 if (this.progress == null) 775 this.progress = new ArrayList<Annotation>(); 776 this.progress.add(t); 777 return this; 778 } 779 780 /** 781 * @return The first repetition of repeating field {@link #progress}, creating it if it does not already exist {3} 782 */ 783 public Annotation getProgressFirstRep() { 784 if (getProgress().isEmpty()) { 785 addProgress(); 786 } 787 return getProgress().get(0); 788 } 789 790 /** 791 * @return {@link #reference} (The details of the proposed activity represented in a specific resource.) 792 */ 793 public Reference getReference() { 794 if (this.reference == null) 795 if (Configuration.errorOnAutoCreate()) 796 throw new Error("Attempt to auto-create CarePlanActivityComponent.reference"); 797 else if (Configuration.doAutoCreate()) 798 this.reference = new Reference(); // cc 799 return this.reference; 800 } 801 802 public boolean hasReference() { 803 return this.reference != null && !this.reference.isEmpty(); 804 } 805 806 /** 807 * @param value {@link #reference} (The details of the proposed activity represented in a specific resource.) 808 */ 809 public CarePlanActivityComponent setReference(Reference value) { 810 this.reference = value; 811 return this; 812 } 813 814 /** 815 * @return {@link #detail} (A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.) 816 */ 817 public CarePlanActivityDetailComponent getDetail() { 818 if (this.detail == null) 819 if (Configuration.errorOnAutoCreate()) 820 throw new Error("Attempt to auto-create CarePlanActivityComponent.detail"); 821 else if (Configuration.doAutoCreate()) 822 this.detail = new CarePlanActivityDetailComponent(); // cc 823 return this.detail; 824 } 825 826 public boolean hasDetail() { 827 return this.detail != null && !this.detail.isEmpty(); 828 } 829 830 /** 831 * @param value {@link #detail} (A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.) 832 */ 833 public CarePlanActivityComponent setDetail(CarePlanActivityDetailComponent value) { 834 this.detail = value; 835 return this; 836 } 837 838 protected void listChildren(List<Property> children) { 839 super.listChildren(children); 840 children.add(new Property("outcomeCodeableConcept", "CodeableConcept", "Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not).", 0, java.lang.Integer.MAX_VALUE, outcomeCodeableConcept)); 841 children.add(new Property("outcomeReference", "Reference(Any)", "Details of the outcome or action resulting from the activity. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).", 0, java.lang.Integer.MAX_VALUE, outcomeReference)); 842 children.add(new Property("progress", "Annotation", "Notes about the adherence/status/progress of the activity.", 0, java.lang.Integer.MAX_VALUE, progress)); 843 children.add(new Property("reference", "Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestGroup)", "The details of the proposed activity represented in a specific resource.", 0, 1, reference)); 844 children.add(new Property("detail", "", "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.", 0, 1, detail)); 845 } 846 847 @Override 848 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 849 switch (_hash) { 850 case -511913489: /*outcomeCodeableConcept*/ return new Property("outcomeCodeableConcept", "CodeableConcept", "Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not).", 0, java.lang.Integer.MAX_VALUE, outcomeCodeableConcept); 851 case -782273511: /*outcomeReference*/ return new Property("outcomeReference", "Reference(Any)", "Details of the outcome or action resulting from the activity. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).", 0, java.lang.Integer.MAX_VALUE, outcomeReference); 852 case -1001078227: /*progress*/ return new Property("progress", "Annotation", "Notes about the adherence/status/progress of the activity.", 0, java.lang.Integer.MAX_VALUE, progress); 853 case -925155509: /*reference*/ return new Property("reference", "Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestGroup)", "The details of the proposed activity represented in a specific resource.", 0, 1, reference); 854 case -1335224239: /*detail*/ return new Property("detail", "", "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.", 0, 1, detail); 855 default: return super.getNamedProperty(_hash, _name, _checkValid); 856 } 857 858 } 859 860 @Override 861 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 862 switch (hash) { 863 case -511913489: /*outcomeCodeableConcept*/ return this.outcomeCodeableConcept == null ? new Base[0] : this.outcomeCodeableConcept.toArray(new Base[this.outcomeCodeableConcept.size()]); // CodeableConcept 864 case -782273511: /*outcomeReference*/ return this.outcomeReference == null ? new Base[0] : this.outcomeReference.toArray(new Base[this.outcomeReference.size()]); // Reference 865 case -1001078227: /*progress*/ return this.progress == null ? new Base[0] : this.progress.toArray(new Base[this.progress.size()]); // Annotation 866 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 867 case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : new Base[] {this.detail}; // CarePlanActivityDetailComponent 868 default: return super.getProperty(hash, name, checkValid); 869 } 870 871 } 872 873 @Override 874 public Base setProperty(int hash, String name, Base value) throws FHIRException { 875 switch (hash) { 876 case -511913489: // outcomeCodeableConcept 877 this.getOutcomeCodeableConcept().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 878 return value; 879 case -782273511: // outcomeReference 880 this.getOutcomeReference().add(TypeConvertor.castToReference(value)); // Reference 881 return value; 882 case -1001078227: // progress 883 this.getProgress().add(TypeConvertor.castToAnnotation(value)); // Annotation 884 return value; 885 case -925155509: // reference 886 this.reference = TypeConvertor.castToReference(value); // Reference 887 return value; 888 case -1335224239: // detail 889 this.detail = (CarePlanActivityDetailComponent) value; // CarePlanActivityDetailComponent 890 return value; 891 default: return super.setProperty(hash, name, value); 892 } 893 894 } 895 896 @Override 897 public Base setProperty(String name, Base value) throws FHIRException { 898 if (name.equals("outcomeCodeableConcept")) { 899 this.getOutcomeCodeableConcept().add(TypeConvertor.castToCodeableConcept(value)); 900 } else if (name.equals("outcomeReference")) { 901 this.getOutcomeReference().add(TypeConvertor.castToReference(value)); 902 } else if (name.equals("progress")) { 903 this.getProgress().add(TypeConvertor.castToAnnotation(value)); 904 } else if (name.equals("reference")) { 905 this.reference = TypeConvertor.castToReference(value); // Reference 906 } else if (name.equals("detail")) { 907 this.detail = (CarePlanActivityDetailComponent) value; // CarePlanActivityDetailComponent 908 } else 909 return super.setProperty(name, value); 910 return value; 911 } 912 913 @Override 914 public Base makeProperty(int hash, String name) throws FHIRException { 915 switch (hash) { 916 case -511913489: return addOutcomeCodeableConcept(); 917 case -782273511: return addOutcomeReference(); 918 case -1001078227: return addProgress(); 919 case -925155509: return getReference(); 920 case -1335224239: return getDetail(); 921 default: return super.makeProperty(hash, name); 922 } 923 924 } 925 926 @Override 927 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 928 switch (hash) { 929 case -511913489: /*outcomeCodeableConcept*/ return new String[] {"CodeableConcept"}; 930 case -782273511: /*outcomeReference*/ return new String[] {"Reference"}; 931 case -1001078227: /*progress*/ return new String[] {"Annotation"}; 932 case -925155509: /*reference*/ return new String[] {"Reference"}; 933 case -1335224239: /*detail*/ return new String[] {}; 934 default: return super.getTypesForProperty(hash, name); 935 } 936 937 } 938 939 @Override 940 public Base addChild(String name) throws FHIRException { 941 if (name.equals("outcomeCodeableConcept")) { 942 return addOutcomeCodeableConcept(); 943 } 944 else if (name.equals("outcomeReference")) { 945 return addOutcomeReference(); 946 } 947 else if (name.equals("progress")) { 948 return addProgress(); 949 } 950 else if (name.equals("reference")) { 951 this.reference = new Reference(); 952 return this.reference; 953 } 954 else if (name.equals("detail")) { 955 this.detail = new CarePlanActivityDetailComponent(); 956 return this.detail; 957 } 958 else 959 return super.addChild(name); 960 } 961 962 public CarePlanActivityComponent copy() { 963 CarePlanActivityComponent dst = new CarePlanActivityComponent(); 964 copyValues(dst); 965 return dst; 966 } 967 968 public void copyValues(CarePlanActivityComponent dst) { 969 super.copyValues(dst); 970 if (outcomeCodeableConcept != null) { 971 dst.outcomeCodeableConcept = new ArrayList<CodeableConcept>(); 972 for (CodeableConcept i : outcomeCodeableConcept) 973 dst.outcomeCodeableConcept.add(i.copy()); 974 }; 975 if (outcomeReference != null) { 976 dst.outcomeReference = new ArrayList<Reference>(); 977 for (Reference i : outcomeReference) 978 dst.outcomeReference.add(i.copy()); 979 }; 980 if (progress != null) { 981 dst.progress = new ArrayList<Annotation>(); 982 for (Annotation i : progress) 983 dst.progress.add(i.copy()); 984 }; 985 dst.reference = reference == null ? null : reference.copy(); 986 dst.detail = detail == null ? null : detail.copy(); 987 } 988 989 @Override 990 public boolean equalsDeep(Base other_) { 991 if (!super.equalsDeep(other_)) 992 return false; 993 if (!(other_ instanceof CarePlanActivityComponent)) 994 return false; 995 CarePlanActivityComponent o = (CarePlanActivityComponent) other_; 996 return compareDeep(outcomeCodeableConcept, o.outcomeCodeableConcept, true) && compareDeep(outcomeReference, o.outcomeReference, true) 997 && compareDeep(progress, o.progress, true) && compareDeep(reference, o.reference, true) && compareDeep(detail, o.detail, true) 998 ; 999 } 1000 1001 @Override 1002 public boolean equalsShallow(Base other_) { 1003 if (!super.equalsShallow(other_)) 1004 return false; 1005 if (!(other_ instanceof CarePlanActivityComponent)) 1006 return false; 1007 CarePlanActivityComponent o = (CarePlanActivityComponent) other_; 1008 return true; 1009 } 1010 1011 public boolean isEmpty() { 1012 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(outcomeCodeableConcept, outcomeReference 1013 , progress, reference, detail); 1014 } 1015 1016 public String fhirType() { 1017 return "CarePlan.activity"; 1018 1019 } 1020 1021 } 1022 1023 @Block() 1024 public static class CarePlanActivityDetailComponent extends BackboneElement implements IBaseBackboneElement { 1025 /** 1026 * A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. 1027 */ 1028 @Child(name = "kind", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1029 @Description(shortDefinition="Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription", formalDefinition="A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest." ) 1030 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-plan-activity-kind") 1031 protected Enumeration<CarePlanActivityKind> kind; 1032 1033 /** 1034 * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. 1035 */ 1036 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1037 @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity." ) 1038 protected List<CanonicalType> instantiatesCanonical; 1039 1040 /** 1041 * The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity. 1042 */ 1043 @Child(name = "instantiatesUri", type = {UriType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1044 @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity." ) 1045 protected List<UriType> instantiatesUri; 1046 1047 /** 1048 * Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter. 1049 */ 1050 @Child(name = "code", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 1051 @Description(shortDefinition="Detail type of activity", formalDefinition="Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter." ) 1052 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-code") 1053 protected CodeableConcept code; 1054 1055 /** 1056 * Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited. 1057 */ 1058 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1059 @Description(shortDefinition="Why activity should be done or why activity was prohibited", formalDefinition="Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited." ) 1060 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 1061 protected List<CodeableConcept> reasonCode; 1062 1063 /** 1064 * Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan. 1065 */ 1066 @Child(name = "reasonReference", type = {Condition.class, Observation.class, DiagnosticReport.class, DocumentReference.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1067 @Description(shortDefinition="Why activity is needed", formalDefinition="Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan." ) 1068 protected List<Reference> reasonReference; 1069 1070 /** 1071 * Internal reference that identifies the goals that this activity is intended to contribute towards meeting. 1072 */ 1073 @Child(name = "goal", type = {Goal.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1074 @Description(shortDefinition="Goals this activity relates to", formalDefinition="Internal reference that identifies the goals that this activity is intended to contribute towards meeting." ) 1075 protected List<Reference> goal; 1076 1077 /** 1078 * Identifies what progress is being made for the specific activity. 1079 */ 1080 @Child(name = "status", type = {CodeType.class}, order=8, min=1, max=1, modifier=true, summary=false) 1081 @Description(shortDefinition="not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error", formalDefinition="Identifies what progress is being made for the specific activity." ) 1082 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-plan-activity-status") 1083 protected Enumeration<CarePlanActivityStatus> status; 1084 1085 /** 1086 * Provides reason why the activity isn't yet started, is on hold, was cancelled, etc. 1087 */ 1088 @Child(name = "statusReason", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=false) 1089 @Description(shortDefinition="Reason for current status", formalDefinition="Provides reason why the activity isn't yet started, is on hold, was cancelled, etc." ) 1090 protected CodeableConcept statusReason; 1091 1092 /** 1093 * If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan. 1094 */ 1095 @Child(name = "doNotPerform", type = {BooleanType.class}, order=10, min=0, max=1, modifier=true, summary=false) 1096 @Description(shortDefinition="If true, activity is prohibiting action", formalDefinition="If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan." ) 1097 protected BooleanType doNotPerform; 1098 1099 /** 1100 * The period, timing or frequency upon which the described activity is to occur. 1101 */ 1102 @Child(name = "scheduled", type = {Timing.class, Period.class, StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) 1103 @Description(shortDefinition="When activity is to occur", formalDefinition="The period, timing or frequency upon which the described activity is to occur." ) 1104 protected DataType scheduled; 1105 1106 /** 1107 * Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. 1108 */ 1109 @Child(name = "location", type = {Location.class}, order=12, min=0, max=1, modifier=false, summary=false) 1110 @Description(shortDefinition="Where it should happen", formalDefinition="Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc." ) 1111 protected Reference location; 1112 1113 /** 1114 * Identifies who's expected to be involved in the activity. 1115 */ 1116 @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class, Organization.class, RelatedPerson.class, Patient.class, CareTeam.class, HealthcareService.class, Device.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1117 @Description(shortDefinition="Who will be responsible?", formalDefinition="Identifies who's expected to be involved in the activity." ) 1118 protected List<Reference> performer; 1119 1120 /** 1121 * Identifies the food, drug or other product to be consumed or supplied in the activity. 1122 */ 1123 @Child(name = "product", type = {CodeableConcept.class, Medication.class, Substance.class}, order=14, min=0, max=1, modifier=false, summary=false) 1124 @Description(shortDefinition="What is to be administered/supplied", formalDefinition="Identifies the food, drug or other product to be consumed or supplied in the activity." ) 1125 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") 1126 protected DataType product; 1127 1128 /** 1129 * Identifies the quantity expected to be consumed in a given day. 1130 */ 1131 @Child(name = "dailyAmount", type = {Quantity.class}, order=15, min=0, max=1, modifier=false, summary=false) 1132 @Description(shortDefinition="How to consume/day?", formalDefinition="Identifies the quantity expected to be consumed in a given day." ) 1133 protected Quantity dailyAmount; 1134 1135 /** 1136 * Identifies the quantity expected to be supplied, administered or consumed by the subject. 1137 */ 1138 @Child(name = "quantity", type = {Quantity.class}, order=16, min=0, max=1, modifier=false, summary=false) 1139 @Description(shortDefinition="How much to administer/supply/consume", formalDefinition="Identifies the quantity expected to be supplied, administered or consumed by the subject." ) 1140 protected Quantity quantity; 1141 1142 /** 1143 * This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 1144 */ 1145 @Child(name = "description", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) 1146 @Description(shortDefinition="Extra info describing activity to perform", formalDefinition="This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc." ) 1147 protected StringType description; 1148 1149 private static final long serialVersionUID = 1401139240L; 1150 1151 /** 1152 * Constructor 1153 */ 1154 public CarePlanActivityDetailComponent() { 1155 super(); 1156 } 1157 1158 /** 1159 * Constructor 1160 */ 1161 public CarePlanActivityDetailComponent(CarePlanActivityStatus status) { 1162 super(); 1163 this.setStatus(status); 1164 } 1165 1166 /** 1167 * @return {@link #kind} (A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 1168 */ 1169 public Enumeration<CarePlanActivityKind> getKindElement() { 1170 if (this.kind == null) 1171 if (Configuration.errorOnAutoCreate()) 1172 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.kind"); 1173 else if (Configuration.doAutoCreate()) 1174 this.kind = new Enumeration<CarePlanActivityKind>(new CarePlanActivityKindEnumFactory()); // bb 1175 return this.kind; 1176 } 1177 1178 public boolean hasKindElement() { 1179 return this.kind != null && !this.kind.isEmpty(); 1180 } 1181 1182 public boolean hasKind() { 1183 return this.kind != null && !this.kind.isEmpty(); 1184 } 1185 1186 /** 1187 * @param value {@link #kind} (A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 1188 */ 1189 public CarePlanActivityDetailComponent setKindElement(Enumeration<CarePlanActivityKind> value) { 1190 this.kind = value; 1191 return this; 1192 } 1193 1194 /** 1195 * @return A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. 1196 */ 1197 public CarePlanActivityKind getKind() { 1198 return this.kind == null ? null : this.kind.getValue(); 1199 } 1200 1201 /** 1202 * @param value A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. 1203 */ 1204 public CarePlanActivityDetailComponent setKind(CarePlanActivityKind value) { 1205 if (value == null) 1206 this.kind = null; 1207 else { 1208 if (this.kind == null) 1209 this.kind = new Enumeration<CarePlanActivityKind>(new CarePlanActivityKindEnumFactory()); 1210 this.kind.setValue(value); 1211 } 1212 return this; 1213 } 1214 1215 /** 1216 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1217 */ 1218 public List<CanonicalType> getInstantiatesCanonical() { 1219 if (this.instantiatesCanonical == null) 1220 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 1221 return this.instantiatesCanonical; 1222 } 1223 1224 /** 1225 * @return Returns a reference to <code>this</code> for easy method chaining 1226 */ 1227 public CarePlanActivityDetailComponent setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 1228 this.instantiatesCanonical = theInstantiatesCanonical; 1229 return this; 1230 } 1231 1232 public boolean hasInstantiatesCanonical() { 1233 if (this.instantiatesCanonical == null) 1234 return false; 1235 for (CanonicalType item : this.instantiatesCanonical) 1236 if (!item.isEmpty()) 1237 return true; 1238 return false; 1239 } 1240 1241 /** 1242 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1243 */ 1244 public CanonicalType addInstantiatesCanonicalElement() {//2 1245 CanonicalType t = new CanonicalType(); 1246 if (this.instantiatesCanonical == null) 1247 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 1248 this.instantiatesCanonical.add(t); 1249 return t; 1250 } 1251 1252 /** 1253 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1254 */ 1255 public CarePlanActivityDetailComponent addInstantiatesCanonical(String value) { //1 1256 CanonicalType t = new CanonicalType(); 1257 t.setValue(value); 1258 if (this.instantiatesCanonical == null) 1259 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 1260 this.instantiatesCanonical.add(t); 1261 return this; 1262 } 1263 1264 /** 1265 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1266 */ 1267 public boolean hasInstantiatesCanonical(String value) { 1268 if (this.instantiatesCanonical == null) 1269 return false; 1270 for (CanonicalType v : this.instantiatesCanonical) 1271 if (v.getValue().equals(value)) // canonical 1272 return true; 1273 return false; 1274 } 1275 1276 /** 1277 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1278 */ 1279 public List<UriType> getInstantiatesUri() { 1280 if (this.instantiatesUri == null) 1281 this.instantiatesUri = new ArrayList<UriType>(); 1282 return this.instantiatesUri; 1283 } 1284 1285 /** 1286 * @return Returns a reference to <code>this</code> for easy method chaining 1287 */ 1288 public CarePlanActivityDetailComponent setInstantiatesUri(List<UriType> theInstantiatesUri) { 1289 this.instantiatesUri = theInstantiatesUri; 1290 return this; 1291 } 1292 1293 public boolean hasInstantiatesUri() { 1294 if (this.instantiatesUri == null) 1295 return false; 1296 for (UriType item : this.instantiatesUri) 1297 if (!item.isEmpty()) 1298 return true; 1299 return false; 1300 } 1301 1302 /** 1303 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1304 */ 1305 public UriType addInstantiatesUriElement() {//2 1306 UriType t = new UriType(); 1307 if (this.instantiatesUri == null) 1308 this.instantiatesUri = new ArrayList<UriType>(); 1309 this.instantiatesUri.add(t); 1310 return t; 1311 } 1312 1313 /** 1314 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1315 */ 1316 public CarePlanActivityDetailComponent addInstantiatesUri(String value) { //1 1317 UriType t = new UriType(); 1318 t.setValue(value); 1319 if (this.instantiatesUri == null) 1320 this.instantiatesUri = new ArrayList<UriType>(); 1321 this.instantiatesUri.add(t); 1322 return this; 1323 } 1324 1325 /** 1326 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.) 1327 */ 1328 public boolean hasInstantiatesUri(String value) { 1329 if (this.instantiatesUri == null) 1330 return false; 1331 for (UriType v : this.instantiatesUri) 1332 if (v.getValue().equals(value)) // uri 1333 return true; 1334 return false; 1335 } 1336 1337 /** 1338 * @return {@link #code} (Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.) 1339 */ 1340 public CodeableConcept getCode() { 1341 if (this.code == null) 1342 if (Configuration.errorOnAutoCreate()) 1343 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.code"); 1344 else if (Configuration.doAutoCreate()) 1345 this.code = new CodeableConcept(); // cc 1346 return this.code; 1347 } 1348 1349 public boolean hasCode() { 1350 return this.code != null && !this.code.isEmpty(); 1351 } 1352 1353 /** 1354 * @param value {@link #code} (Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.) 1355 */ 1356 public CarePlanActivityDetailComponent setCode(CodeableConcept value) { 1357 this.code = value; 1358 return this; 1359 } 1360 1361 /** 1362 * @return {@link #reasonCode} (Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.) 1363 */ 1364 public List<CodeableConcept> getReasonCode() { 1365 if (this.reasonCode == null) 1366 this.reasonCode = new ArrayList<CodeableConcept>(); 1367 return this.reasonCode; 1368 } 1369 1370 /** 1371 * @return Returns a reference to <code>this</code> for easy method chaining 1372 */ 1373 public CarePlanActivityDetailComponent setReasonCode(List<CodeableConcept> theReasonCode) { 1374 this.reasonCode = theReasonCode; 1375 return this; 1376 } 1377 1378 public boolean hasReasonCode() { 1379 if (this.reasonCode == null) 1380 return false; 1381 for (CodeableConcept item : this.reasonCode) 1382 if (!item.isEmpty()) 1383 return true; 1384 return false; 1385 } 1386 1387 public CodeableConcept addReasonCode() { //3 1388 CodeableConcept t = new CodeableConcept(); 1389 if (this.reasonCode == null) 1390 this.reasonCode = new ArrayList<CodeableConcept>(); 1391 this.reasonCode.add(t); 1392 return t; 1393 } 1394 1395 public CarePlanActivityDetailComponent addReasonCode(CodeableConcept t) { //3 1396 if (t == null) 1397 return this; 1398 if (this.reasonCode == null) 1399 this.reasonCode = new ArrayList<CodeableConcept>(); 1400 this.reasonCode.add(t); 1401 return this; 1402 } 1403 1404 /** 1405 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist {3} 1406 */ 1407 public CodeableConcept getReasonCodeFirstRep() { 1408 if (getReasonCode().isEmpty()) { 1409 addReasonCode(); 1410 } 1411 return getReasonCode().get(0); 1412 } 1413 1414 /** 1415 * @return {@link #reasonReference} (Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.) 1416 */ 1417 public List<Reference> getReasonReference() { 1418 if (this.reasonReference == null) 1419 this.reasonReference = new ArrayList<Reference>(); 1420 return this.reasonReference; 1421 } 1422 1423 /** 1424 * @return Returns a reference to <code>this</code> for easy method chaining 1425 */ 1426 public CarePlanActivityDetailComponent setReasonReference(List<Reference> theReasonReference) { 1427 this.reasonReference = theReasonReference; 1428 return this; 1429 } 1430 1431 public boolean hasReasonReference() { 1432 if (this.reasonReference == null) 1433 return false; 1434 for (Reference item : this.reasonReference) 1435 if (!item.isEmpty()) 1436 return true; 1437 return false; 1438 } 1439 1440 public Reference addReasonReference() { //3 1441 Reference t = new Reference(); 1442 if (this.reasonReference == null) 1443 this.reasonReference = new ArrayList<Reference>(); 1444 this.reasonReference.add(t); 1445 return t; 1446 } 1447 1448 public CarePlanActivityDetailComponent addReasonReference(Reference t) { //3 1449 if (t == null) 1450 return this; 1451 if (this.reasonReference == null) 1452 this.reasonReference = new ArrayList<Reference>(); 1453 this.reasonReference.add(t); 1454 return this; 1455 } 1456 1457 /** 1458 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist {3} 1459 */ 1460 public Reference getReasonReferenceFirstRep() { 1461 if (getReasonReference().isEmpty()) { 1462 addReasonReference(); 1463 } 1464 return getReasonReference().get(0); 1465 } 1466 1467 /** 1468 * @return {@link #goal} (Internal reference that identifies the goals that this activity is intended to contribute towards meeting.) 1469 */ 1470 public List<Reference> getGoal() { 1471 if (this.goal == null) 1472 this.goal = new ArrayList<Reference>(); 1473 return this.goal; 1474 } 1475 1476 /** 1477 * @return Returns a reference to <code>this</code> for easy method chaining 1478 */ 1479 public CarePlanActivityDetailComponent setGoal(List<Reference> theGoal) { 1480 this.goal = theGoal; 1481 return this; 1482 } 1483 1484 public boolean hasGoal() { 1485 if (this.goal == null) 1486 return false; 1487 for (Reference item : this.goal) 1488 if (!item.isEmpty()) 1489 return true; 1490 return false; 1491 } 1492 1493 public Reference addGoal() { //3 1494 Reference t = new Reference(); 1495 if (this.goal == null) 1496 this.goal = new ArrayList<Reference>(); 1497 this.goal.add(t); 1498 return t; 1499 } 1500 1501 public CarePlanActivityDetailComponent addGoal(Reference t) { //3 1502 if (t == null) 1503 return this; 1504 if (this.goal == null) 1505 this.goal = new ArrayList<Reference>(); 1506 this.goal.add(t); 1507 return this; 1508 } 1509 1510 /** 1511 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 1512 */ 1513 public Reference getGoalFirstRep() { 1514 if (getGoal().isEmpty()) { 1515 addGoal(); 1516 } 1517 return getGoal().get(0); 1518 } 1519 1520 /** 1521 * @return {@link #status} (Identifies what progress is being made for the specific activity.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1522 */ 1523 public Enumeration<CarePlanActivityStatus> getStatusElement() { 1524 if (this.status == null) 1525 if (Configuration.errorOnAutoCreate()) 1526 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.status"); 1527 else if (Configuration.doAutoCreate()) 1528 this.status = new Enumeration<CarePlanActivityStatus>(new CarePlanActivityStatusEnumFactory()); // bb 1529 return this.status; 1530 } 1531 1532 public boolean hasStatusElement() { 1533 return this.status != null && !this.status.isEmpty(); 1534 } 1535 1536 public boolean hasStatus() { 1537 return this.status != null && !this.status.isEmpty(); 1538 } 1539 1540 /** 1541 * @param value {@link #status} (Identifies what progress is being made for the specific activity.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1542 */ 1543 public CarePlanActivityDetailComponent setStatusElement(Enumeration<CarePlanActivityStatus> value) { 1544 this.status = value; 1545 return this; 1546 } 1547 1548 /** 1549 * @return Identifies what progress is being made for the specific activity. 1550 */ 1551 public CarePlanActivityStatus getStatus() { 1552 return this.status == null ? null : this.status.getValue(); 1553 } 1554 1555 /** 1556 * @param value Identifies what progress is being made for the specific activity. 1557 */ 1558 public CarePlanActivityDetailComponent setStatus(CarePlanActivityStatus value) { 1559 if (this.status == null) 1560 this.status = new Enumeration<CarePlanActivityStatus>(new CarePlanActivityStatusEnumFactory()); 1561 this.status.setValue(value); 1562 return this; 1563 } 1564 1565 /** 1566 * @return {@link #statusReason} (Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.) 1567 */ 1568 public CodeableConcept getStatusReason() { 1569 if (this.statusReason == null) 1570 if (Configuration.errorOnAutoCreate()) 1571 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.statusReason"); 1572 else if (Configuration.doAutoCreate()) 1573 this.statusReason = new CodeableConcept(); // cc 1574 return this.statusReason; 1575 } 1576 1577 public boolean hasStatusReason() { 1578 return this.statusReason != null && !this.statusReason.isEmpty(); 1579 } 1580 1581 /** 1582 * @param value {@link #statusReason} (Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.) 1583 */ 1584 public CarePlanActivityDetailComponent setStatusReason(CodeableConcept value) { 1585 this.statusReason = value; 1586 return this; 1587 } 1588 1589 /** 1590 * @return {@link #doNotPerform} (If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 1591 */ 1592 public BooleanType getDoNotPerformElement() { 1593 if (this.doNotPerform == null) 1594 if (Configuration.errorOnAutoCreate()) 1595 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.doNotPerform"); 1596 else if (Configuration.doAutoCreate()) 1597 this.doNotPerform = new BooleanType(); // bb 1598 return this.doNotPerform; 1599 } 1600 1601 public boolean hasDoNotPerformElement() { 1602 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 1603 } 1604 1605 public boolean hasDoNotPerform() { 1606 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 1607 } 1608 1609 /** 1610 * @param value {@link #doNotPerform} (If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 1611 */ 1612 public CarePlanActivityDetailComponent setDoNotPerformElement(BooleanType value) { 1613 this.doNotPerform = value; 1614 return this; 1615 } 1616 1617 /** 1618 * @return If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan. 1619 */ 1620 public boolean getDoNotPerform() { 1621 return this.doNotPerform == null || this.doNotPerform.isEmpty() ? false : this.doNotPerform.getValue(); 1622 } 1623 1624 /** 1625 * @param value If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan. 1626 */ 1627 public CarePlanActivityDetailComponent setDoNotPerform(boolean value) { 1628 if (this.doNotPerform == null) 1629 this.doNotPerform = new BooleanType(); 1630 this.doNotPerform.setValue(value); 1631 return this; 1632 } 1633 1634 /** 1635 * @return {@link #scheduled} (The period, timing or frequency upon which the described activity is to occur.) 1636 */ 1637 public DataType getScheduled() { 1638 return this.scheduled; 1639 } 1640 1641 /** 1642 * @return {@link #scheduled} (The period, timing or frequency upon which the described activity is to occur.) 1643 */ 1644 public Timing getScheduledTiming() throws FHIRException { 1645 if (this.scheduled == null) 1646 this.scheduled = new Timing(); 1647 if (!(this.scheduled instanceof Timing)) 1648 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.scheduled.getClass().getName()+" was encountered"); 1649 return (Timing) this.scheduled; 1650 } 1651 1652 public boolean hasScheduledTiming() { 1653 return this != null && this.scheduled instanceof Timing; 1654 } 1655 1656 /** 1657 * @return {@link #scheduled} (The period, timing or frequency upon which the described activity is to occur.) 1658 */ 1659 public Period getScheduledPeriod() throws FHIRException { 1660 if (this.scheduled == null) 1661 this.scheduled = new Period(); 1662 if (!(this.scheduled instanceof Period)) 1663 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.scheduled.getClass().getName()+" was encountered"); 1664 return (Period) this.scheduled; 1665 } 1666 1667 public boolean hasScheduledPeriod() { 1668 return this != null && this.scheduled instanceof Period; 1669 } 1670 1671 /** 1672 * @return {@link #scheduled} (The period, timing or frequency upon which the described activity is to occur.) 1673 */ 1674 public StringType getScheduledStringType() throws FHIRException { 1675 if (this.scheduled == null) 1676 this.scheduled = new StringType(); 1677 if (!(this.scheduled instanceof StringType)) 1678 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.scheduled.getClass().getName()+" was encountered"); 1679 return (StringType) this.scheduled; 1680 } 1681 1682 public boolean hasScheduledStringType() { 1683 return this != null && this.scheduled instanceof StringType; 1684 } 1685 1686 public boolean hasScheduled() { 1687 return this.scheduled != null && !this.scheduled.isEmpty(); 1688 } 1689 1690 /** 1691 * @param value {@link #scheduled} (The period, timing or frequency upon which the described activity is to occur.) 1692 */ 1693 public CarePlanActivityDetailComponent setScheduled(DataType value) { 1694 if (value != null && !(value instanceof Timing || value instanceof Period || value instanceof StringType)) 1695 throw new Error("Not the right type for CarePlan.activity.detail.scheduled[x]: "+value.fhirType()); 1696 this.scheduled = value; 1697 return this; 1698 } 1699 1700 /** 1701 * @return {@link #location} (Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.) 1702 */ 1703 public Reference getLocation() { 1704 if (this.location == null) 1705 if (Configuration.errorOnAutoCreate()) 1706 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.location"); 1707 else if (Configuration.doAutoCreate()) 1708 this.location = new Reference(); // cc 1709 return this.location; 1710 } 1711 1712 public boolean hasLocation() { 1713 return this.location != null && !this.location.isEmpty(); 1714 } 1715 1716 /** 1717 * @param value {@link #location} (Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.) 1718 */ 1719 public CarePlanActivityDetailComponent setLocation(Reference value) { 1720 this.location = value; 1721 return this; 1722 } 1723 1724 /** 1725 * @return {@link #performer} (Identifies who's expected to be involved in the activity.) 1726 */ 1727 public List<Reference> getPerformer() { 1728 if (this.performer == null) 1729 this.performer = new ArrayList<Reference>(); 1730 return this.performer; 1731 } 1732 1733 /** 1734 * @return Returns a reference to <code>this</code> for easy method chaining 1735 */ 1736 public CarePlanActivityDetailComponent setPerformer(List<Reference> thePerformer) { 1737 this.performer = thePerformer; 1738 return this; 1739 } 1740 1741 public boolean hasPerformer() { 1742 if (this.performer == null) 1743 return false; 1744 for (Reference item : this.performer) 1745 if (!item.isEmpty()) 1746 return true; 1747 return false; 1748 } 1749 1750 public Reference addPerformer() { //3 1751 Reference t = new Reference(); 1752 if (this.performer == null) 1753 this.performer = new ArrayList<Reference>(); 1754 this.performer.add(t); 1755 return t; 1756 } 1757 1758 public CarePlanActivityDetailComponent addPerformer(Reference t) { //3 1759 if (t == null) 1760 return this; 1761 if (this.performer == null) 1762 this.performer = new ArrayList<Reference>(); 1763 this.performer.add(t); 1764 return this; 1765 } 1766 1767 /** 1768 * @return The first repetition of repeating field {@link #performer}, creating it if it does not already exist {3} 1769 */ 1770 public Reference getPerformerFirstRep() { 1771 if (getPerformer().isEmpty()) { 1772 addPerformer(); 1773 } 1774 return getPerformer().get(0); 1775 } 1776 1777 /** 1778 * @return {@link #product} (Identifies the food, drug or other product to be consumed or supplied in the activity.) 1779 */ 1780 public DataType getProduct() { 1781 return this.product; 1782 } 1783 1784 /** 1785 * @return {@link #product} (Identifies the food, drug or other product to be consumed or supplied in the activity.) 1786 */ 1787 public CodeableConcept getProductCodeableConcept() throws FHIRException { 1788 if (this.product == null) 1789 this.product = new CodeableConcept(); 1790 if (!(this.product instanceof CodeableConcept)) 1791 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.product.getClass().getName()+" was encountered"); 1792 return (CodeableConcept) this.product; 1793 } 1794 1795 public boolean hasProductCodeableConcept() { 1796 return this != null && this.product instanceof CodeableConcept; 1797 } 1798 1799 /** 1800 * @return {@link #product} (Identifies the food, drug or other product to be consumed or supplied in the activity.) 1801 */ 1802 public Reference getProductReference() throws FHIRException { 1803 if (this.product == null) 1804 this.product = new Reference(); 1805 if (!(this.product instanceof Reference)) 1806 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.product.getClass().getName()+" was encountered"); 1807 return (Reference) this.product; 1808 } 1809 1810 public boolean hasProductReference() { 1811 return this != null && this.product instanceof Reference; 1812 } 1813 1814 public boolean hasProduct() { 1815 return this.product != null && !this.product.isEmpty(); 1816 } 1817 1818 /** 1819 * @param value {@link #product} (Identifies the food, drug or other product to be consumed or supplied in the activity.) 1820 */ 1821 public CarePlanActivityDetailComponent setProduct(DataType value) { 1822 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1823 throw new Error("Not the right type for CarePlan.activity.detail.product[x]: "+value.fhirType()); 1824 this.product = value; 1825 return this; 1826 } 1827 1828 /** 1829 * @return {@link #dailyAmount} (Identifies the quantity expected to be consumed in a given day.) 1830 */ 1831 public Quantity getDailyAmount() { 1832 if (this.dailyAmount == null) 1833 if (Configuration.errorOnAutoCreate()) 1834 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.dailyAmount"); 1835 else if (Configuration.doAutoCreate()) 1836 this.dailyAmount = new Quantity(); // cc 1837 return this.dailyAmount; 1838 } 1839 1840 public boolean hasDailyAmount() { 1841 return this.dailyAmount != null && !this.dailyAmount.isEmpty(); 1842 } 1843 1844 /** 1845 * @param value {@link #dailyAmount} (Identifies the quantity expected to be consumed in a given day.) 1846 */ 1847 public CarePlanActivityDetailComponent setDailyAmount(Quantity value) { 1848 this.dailyAmount = value; 1849 return this; 1850 } 1851 1852 /** 1853 * @return {@link #quantity} (Identifies the quantity expected to be supplied, administered or consumed by the subject.) 1854 */ 1855 public Quantity getQuantity() { 1856 if (this.quantity == null) 1857 if (Configuration.errorOnAutoCreate()) 1858 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.quantity"); 1859 else if (Configuration.doAutoCreate()) 1860 this.quantity = new Quantity(); // cc 1861 return this.quantity; 1862 } 1863 1864 public boolean hasQuantity() { 1865 return this.quantity != null && !this.quantity.isEmpty(); 1866 } 1867 1868 /** 1869 * @param value {@link #quantity} (Identifies the quantity expected to be supplied, administered or consumed by the subject.) 1870 */ 1871 public CarePlanActivityDetailComponent setQuantity(Quantity value) { 1872 this.quantity = value; 1873 return this; 1874 } 1875 1876 /** 1877 * @return {@link #description} (This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1878 */ 1879 public StringType getDescriptionElement() { 1880 if (this.description == null) 1881 if (Configuration.errorOnAutoCreate()) 1882 throw new Error("Attempt to auto-create CarePlanActivityDetailComponent.description"); 1883 else if (Configuration.doAutoCreate()) 1884 this.description = new StringType(); // bb 1885 return this.description; 1886 } 1887 1888 public boolean hasDescriptionElement() { 1889 return this.description != null && !this.description.isEmpty(); 1890 } 1891 1892 public boolean hasDescription() { 1893 return this.description != null && !this.description.isEmpty(); 1894 } 1895 1896 /** 1897 * @param value {@link #description} (This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1898 */ 1899 public CarePlanActivityDetailComponent setDescriptionElement(StringType value) { 1900 this.description = value; 1901 return this; 1902 } 1903 1904 /** 1905 * @return This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 1906 */ 1907 public String getDescription() { 1908 return this.description == null ? null : this.description.getValue(); 1909 } 1910 1911 /** 1912 * @param value This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. 1913 */ 1914 public CarePlanActivityDetailComponent setDescription(String value) { 1915 if (Utilities.noString(value)) 1916 this.description = null; 1917 else { 1918 if (this.description == null) 1919 this.description = new StringType(); 1920 this.description.setValue(value); 1921 } 1922 return this; 1923 } 1924 1925 protected void listChildren(List<Property> children) { 1926 super.listChildren(children); 1927 children.add(new Property("kind", "code", "A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.", 0, 1, kind)); 1928 children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition|Questionnaire|Measure|OperationDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); 1929 children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); 1930 children.add(new Property("code", "CodeableConcept", "Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.", 0, 1, code)); 1931 children.add(new Property("reasonCode", "CodeableConcept", "Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 1932 children.add(new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 1933 children.add(new Property("goal", "Reference(Goal)", "Internal reference that identifies the goals that this activity is intended to contribute towards meeting.", 0, java.lang.Integer.MAX_VALUE, goal)); 1934 children.add(new Property("status", "code", "Identifies what progress is being made for the specific activity.", 0, 1, status)); 1935 children.add(new Property("statusReason", "CodeableConcept", "Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.", 0, 1, statusReason)); 1936 children.add(new Property("doNotPerform", "boolean", "If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.", 0, 1, doNotPerform)); 1937 children.add(new Property("scheduled[x]", "Timing|Period|string", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, scheduled)); 1938 children.add(new Property("location", "Reference(Location)", "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location)); 1939 children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|RelatedPerson|Patient|CareTeam|HealthcareService|Device)", "Identifies who's expected to be involved in the activity.", 0, java.lang.Integer.MAX_VALUE, performer)); 1940 children.add(new Property("product[x]", "CodeableConcept|Reference(Medication|Substance)", "Identifies the food, drug or other product to be consumed or supplied in the activity.", 0, 1, product)); 1941 children.add(new Property("dailyAmount", "Quantity", "Identifies the quantity expected to be consumed in a given day.", 0, 1, dailyAmount)); 1942 children.add(new Property("quantity", "Quantity", "Identifies the quantity expected to be supplied, administered or consumed by the subject.", 0, 1, quantity)); 1943 children.add(new Property("description", "string", "This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc.", 0, 1, description)); 1944 } 1945 1946 @Override 1947 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1948 switch (_hash) { 1949 case 3292052: /*kind*/ return new Property("kind", "code", "A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.", 0, 1, kind); 1950 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition|Questionnaire|Measure|OperationDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); 1951 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); 1952 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.", 0, 1, code); 1953 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 1954 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 1955 case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Internal reference that identifies the goals that this activity is intended to contribute towards meeting.", 0, java.lang.Integer.MAX_VALUE, goal); 1956 case -892481550: /*status*/ return new Property("status", "code", "Identifies what progress is being made for the specific activity.", 0, 1, status); 1957 case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.", 0, 1, statusReason); 1958 case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.", 0, 1, doNotPerform); 1959 case 1162627251: /*scheduled[x]*/ return new Property("scheduled[x]", "Timing|Period|string", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, scheduled); 1960 case -160710483: /*scheduled*/ return new Property("scheduled[x]", "Timing|Period|string", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, scheduled); 1961 case 998483799: /*scheduledTiming*/ return new Property("scheduled[x]", "Timing", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, scheduled); 1962 case 880422094: /*scheduledPeriod*/ return new Property("scheduled[x]", "Period", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, scheduled); 1963 case 980162334: /*scheduledString*/ return new Property("scheduled[x]", "string", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, scheduled); 1964 case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location); 1965 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|RelatedPerson|Patient|CareTeam|HealthcareService|Device)", "Identifies who's expected to be involved in the activity.", 0, java.lang.Integer.MAX_VALUE, performer); 1966 case 1753005361: /*product[x]*/ return new Property("product[x]", "CodeableConcept|Reference(Medication|Substance)", "Identifies the food, drug or other product to be consumed or supplied in the activity.", 0, 1, product); 1967 case -309474065: /*product*/ return new Property("product[x]", "CodeableConcept|Reference(Medication|Substance)", "Identifies the food, drug or other product to be consumed or supplied in the activity.", 0, 1, product); 1968 case 906854066: /*productCodeableConcept*/ return new Property("product[x]", "CodeableConcept", "Identifies the food, drug or other product to be consumed or supplied in the activity.", 0, 1, product); 1969 case -669667556: /*productReference*/ return new Property("product[x]", "Reference(Medication|Substance)", "Identifies the food, drug or other product to be consumed or supplied in the activity.", 0, 1, product); 1970 case -768908335: /*dailyAmount*/ return new Property("dailyAmount", "Quantity", "Identifies the quantity expected to be consumed in a given day.", 0, 1, dailyAmount); 1971 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "Identifies the quantity expected to be supplied, administered or consumed by the subject.", 0, 1, quantity); 1972 case -1724546052: /*description*/ return new Property("description", "string", "This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc.", 0, 1, description); 1973 default: return super.getNamedProperty(_hash, _name, _checkValid); 1974 } 1975 1976 } 1977 1978 @Override 1979 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1980 switch (hash) { 1981 case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<CarePlanActivityKind> 1982 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 1983 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 1984 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1985 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 1986 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 1987 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 1988 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<CarePlanActivityStatus> 1989 case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // CodeableConcept 1990 case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType 1991 case -160710483: /*scheduled*/ return this.scheduled == null ? new Base[0] : new Base[] {this.scheduled}; // DataType 1992 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference 1993 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // Reference 1994 case -309474065: /*product*/ return this.product == null ? new Base[0] : new Base[] {this.product}; // DataType 1995 case -768908335: /*dailyAmount*/ return this.dailyAmount == null ? new Base[0] : new Base[] {this.dailyAmount}; // Quantity 1996 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 1997 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1998 default: return super.getProperty(hash, name, checkValid); 1999 } 2000 2001 } 2002 2003 @Override 2004 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2005 switch (hash) { 2006 case 3292052: // kind 2007 value = new CarePlanActivityKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 2008 this.kind = (Enumeration) value; // Enumeration<CarePlanActivityKind> 2009 return value; 2010 case 8911915: // instantiatesCanonical 2011 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 2012 return value; 2013 case -1926393373: // instantiatesUri 2014 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 2015 return value; 2016 case 3059181: // code 2017 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2018 return value; 2019 case 722137681: // reasonCode 2020 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2021 return value; 2022 case -1146218137: // reasonReference 2023 this.getReasonReference().add(TypeConvertor.castToReference(value)); // Reference 2024 return value; 2025 case 3178259: // goal 2026 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 2027 return value; 2028 case -892481550: // status 2029 value = new CarePlanActivityStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2030 this.status = (Enumeration) value; // Enumeration<CarePlanActivityStatus> 2031 return value; 2032 case 2051346646: // statusReason 2033 this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2034 return value; 2035 case -1788508167: // doNotPerform 2036 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 2037 return value; 2038 case -160710483: // scheduled 2039 this.scheduled = TypeConvertor.castToType(value); // DataType 2040 return value; 2041 case 1901043637: // location 2042 this.location = TypeConvertor.castToReference(value); // Reference 2043 return value; 2044 case 481140686: // performer 2045 this.getPerformer().add(TypeConvertor.castToReference(value)); // Reference 2046 return value; 2047 case -309474065: // product 2048 this.product = TypeConvertor.castToType(value); // DataType 2049 return value; 2050 case -768908335: // dailyAmount 2051 this.dailyAmount = TypeConvertor.castToQuantity(value); // Quantity 2052 return value; 2053 case -1285004149: // quantity 2054 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 2055 return value; 2056 case -1724546052: // description 2057 this.description = TypeConvertor.castToString(value); // StringType 2058 return value; 2059 default: return super.setProperty(hash, name, value); 2060 } 2061 2062 } 2063 2064 @Override 2065 public Base setProperty(String name, Base value) throws FHIRException { 2066 if (name.equals("kind")) { 2067 value = new CarePlanActivityKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 2068 this.kind = (Enumeration) value; // Enumeration<CarePlanActivityKind> 2069 } else if (name.equals("instantiatesCanonical")) { 2070 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 2071 } else if (name.equals("instantiatesUri")) { 2072 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 2073 } else if (name.equals("code")) { 2074 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2075 } else if (name.equals("reasonCode")) { 2076 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); 2077 } else if (name.equals("reasonReference")) { 2078 this.getReasonReference().add(TypeConvertor.castToReference(value)); 2079 } else if (name.equals("goal")) { 2080 this.getGoal().add(TypeConvertor.castToReference(value)); 2081 } else if (name.equals("status")) { 2082 value = new CarePlanActivityStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2083 this.status = (Enumeration) value; // Enumeration<CarePlanActivityStatus> 2084 } else if (name.equals("statusReason")) { 2085 this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2086 } else if (name.equals("doNotPerform")) { 2087 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 2088 } else if (name.equals("scheduled[x]")) { 2089 this.scheduled = TypeConvertor.castToType(value); // DataType 2090 } else if (name.equals("location")) { 2091 this.location = TypeConvertor.castToReference(value); // Reference 2092 } else if (name.equals("performer")) { 2093 this.getPerformer().add(TypeConvertor.castToReference(value)); 2094 } else if (name.equals("product[x]")) { 2095 this.product = TypeConvertor.castToType(value); // DataType 2096 } else if (name.equals("dailyAmount")) { 2097 this.dailyAmount = TypeConvertor.castToQuantity(value); // Quantity 2098 } else if (name.equals("quantity")) { 2099 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 2100 } else if (name.equals("description")) { 2101 this.description = TypeConvertor.castToString(value); // StringType 2102 } else 2103 return super.setProperty(name, value); 2104 return value; 2105 } 2106 2107 @Override 2108 public Base makeProperty(int hash, String name) throws FHIRException { 2109 switch (hash) { 2110 case 3292052: return getKindElement(); 2111 case 8911915: return addInstantiatesCanonicalElement(); 2112 case -1926393373: return addInstantiatesUriElement(); 2113 case 3059181: return getCode(); 2114 case 722137681: return addReasonCode(); 2115 case -1146218137: return addReasonReference(); 2116 case 3178259: return addGoal(); 2117 case -892481550: return getStatusElement(); 2118 case 2051346646: return getStatusReason(); 2119 case -1788508167: return getDoNotPerformElement(); 2120 case 1162627251: return getScheduled(); 2121 case -160710483: return getScheduled(); 2122 case 1901043637: return getLocation(); 2123 case 481140686: return addPerformer(); 2124 case 1753005361: return getProduct(); 2125 case -309474065: return getProduct(); 2126 case -768908335: return getDailyAmount(); 2127 case -1285004149: return getQuantity(); 2128 case -1724546052: return getDescriptionElement(); 2129 default: return super.makeProperty(hash, name); 2130 } 2131 2132 } 2133 2134 @Override 2135 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2136 switch (hash) { 2137 case 3292052: /*kind*/ return new String[] {"code"}; 2138 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 2139 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 2140 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 2141 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 2142 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 2143 case 3178259: /*goal*/ return new String[] {"Reference"}; 2144 case -892481550: /*status*/ return new String[] {"code"}; 2145 case 2051346646: /*statusReason*/ return new String[] {"CodeableConcept"}; 2146 case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; 2147 case -160710483: /*scheduled*/ return new String[] {"Timing", "Period", "string"}; 2148 case 1901043637: /*location*/ return new String[] {"Reference"}; 2149 case 481140686: /*performer*/ return new String[] {"Reference"}; 2150 case -309474065: /*product*/ return new String[] {"CodeableConcept", "Reference"}; 2151 case -768908335: /*dailyAmount*/ return new String[] {"Quantity"}; 2152 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 2153 case -1724546052: /*description*/ return new String[] {"string"}; 2154 default: return super.getTypesForProperty(hash, name); 2155 } 2156 2157 } 2158 2159 @Override 2160 public Base addChild(String name) throws FHIRException { 2161 if (name.equals("kind")) { 2162 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.activity.detail.kind"); 2163 } 2164 else if (name.equals("instantiatesCanonical")) { 2165 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.activity.detail.instantiatesCanonical"); 2166 } 2167 else if (name.equals("instantiatesUri")) { 2168 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.activity.detail.instantiatesUri"); 2169 } 2170 else if (name.equals("code")) { 2171 this.code = new CodeableConcept(); 2172 return this.code; 2173 } 2174 else if (name.equals("reasonCode")) { 2175 return addReasonCode(); 2176 } 2177 else if (name.equals("reasonReference")) { 2178 return addReasonReference(); 2179 } 2180 else if (name.equals("goal")) { 2181 return addGoal(); 2182 } 2183 else if (name.equals("status")) { 2184 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.activity.detail.status"); 2185 } 2186 else if (name.equals("statusReason")) { 2187 this.statusReason = new CodeableConcept(); 2188 return this.statusReason; 2189 } 2190 else if (name.equals("doNotPerform")) { 2191 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.activity.detail.doNotPerform"); 2192 } 2193 else if (name.equals("scheduledTiming")) { 2194 this.scheduled = new Timing(); 2195 return this.scheduled; 2196 } 2197 else if (name.equals("scheduledPeriod")) { 2198 this.scheduled = new Period(); 2199 return this.scheduled; 2200 } 2201 else if (name.equals("scheduledString")) { 2202 this.scheduled = new StringType(); 2203 return this.scheduled; 2204 } 2205 else if (name.equals("location")) { 2206 this.location = new Reference(); 2207 return this.location; 2208 } 2209 else if (name.equals("performer")) { 2210 return addPerformer(); 2211 } 2212 else if (name.equals("productCodeableConcept")) { 2213 this.product = new CodeableConcept(); 2214 return this.product; 2215 } 2216 else if (name.equals("productReference")) { 2217 this.product = new Reference(); 2218 return this.product; 2219 } 2220 else if (name.equals("dailyAmount")) { 2221 this.dailyAmount = new Quantity(); 2222 return this.dailyAmount; 2223 } 2224 else if (name.equals("quantity")) { 2225 this.quantity = new Quantity(); 2226 return this.quantity; 2227 } 2228 else if (name.equals("description")) { 2229 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.activity.detail.description"); 2230 } 2231 else 2232 return super.addChild(name); 2233 } 2234 2235 public CarePlanActivityDetailComponent copy() { 2236 CarePlanActivityDetailComponent dst = new CarePlanActivityDetailComponent(); 2237 copyValues(dst); 2238 return dst; 2239 } 2240 2241 public void copyValues(CarePlanActivityDetailComponent dst) { 2242 super.copyValues(dst); 2243 dst.kind = kind == null ? null : kind.copy(); 2244 if (instantiatesCanonical != null) { 2245 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 2246 for (CanonicalType i : instantiatesCanonical) 2247 dst.instantiatesCanonical.add(i.copy()); 2248 }; 2249 if (instantiatesUri != null) { 2250 dst.instantiatesUri = new ArrayList<UriType>(); 2251 for (UriType i : instantiatesUri) 2252 dst.instantiatesUri.add(i.copy()); 2253 }; 2254 dst.code = code == null ? null : code.copy(); 2255 if (reasonCode != null) { 2256 dst.reasonCode = new ArrayList<CodeableConcept>(); 2257 for (CodeableConcept i : reasonCode) 2258 dst.reasonCode.add(i.copy()); 2259 }; 2260 if (reasonReference != null) { 2261 dst.reasonReference = new ArrayList<Reference>(); 2262 for (Reference i : reasonReference) 2263 dst.reasonReference.add(i.copy()); 2264 }; 2265 if (goal != null) { 2266 dst.goal = new ArrayList<Reference>(); 2267 for (Reference i : goal) 2268 dst.goal.add(i.copy()); 2269 }; 2270 dst.status = status == null ? null : status.copy(); 2271 dst.statusReason = statusReason == null ? null : statusReason.copy(); 2272 dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); 2273 dst.scheduled = scheduled == null ? null : scheduled.copy(); 2274 dst.location = location == null ? null : location.copy(); 2275 if (performer != null) { 2276 dst.performer = new ArrayList<Reference>(); 2277 for (Reference i : performer) 2278 dst.performer.add(i.copy()); 2279 }; 2280 dst.product = product == null ? null : product.copy(); 2281 dst.dailyAmount = dailyAmount == null ? null : dailyAmount.copy(); 2282 dst.quantity = quantity == null ? null : quantity.copy(); 2283 dst.description = description == null ? null : description.copy(); 2284 } 2285 2286 @Override 2287 public boolean equalsDeep(Base other_) { 2288 if (!super.equalsDeep(other_)) 2289 return false; 2290 if (!(other_ instanceof CarePlanActivityDetailComponent)) 2291 return false; 2292 CarePlanActivityDetailComponent o = (CarePlanActivityDetailComponent) other_; 2293 return compareDeep(kind, o.kind, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 2294 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(code, o.code, true) && compareDeep(reasonCode, o.reasonCode, true) 2295 && compareDeep(reasonReference, o.reasonReference, true) && compareDeep(goal, o.goal, true) && compareDeep(status, o.status, true) 2296 && compareDeep(statusReason, o.statusReason, true) && compareDeep(doNotPerform, o.doNotPerform, true) 2297 && compareDeep(scheduled, o.scheduled, true) && compareDeep(location, o.location, true) && compareDeep(performer, o.performer, true) 2298 && compareDeep(product, o.product, true) && compareDeep(dailyAmount, o.dailyAmount, true) && compareDeep(quantity, o.quantity, true) 2299 && compareDeep(description, o.description, true); 2300 } 2301 2302 @Override 2303 public boolean equalsShallow(Base other_) { 2304 if (!super.equalsShallow(other_)) 2305 return false; 2306 if (!(other_ instanceof CarePlanActivityDetailComponent)) 2307 return false; 2308 CarePlanActivityDetailComponent o = (CarePlanActivityDetailComponent) other_; 2309 return compareValues(kind, o.kind, true) && compareValues(instantiatesCanonical, o.instantiatesCanonical, true) 2310 && compareValues(instantiatesUri, o.instantiatesUri, true) && compareValues(status, o.status, true) 2311 && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(description, o.description, true) 2312 ; 2313 } 2314 2315 public boolean isEmpty() { 2316 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(kind, instantiatesCanonical 2317 , instantiatesUri, code, reasonCode, reasonReference, goal, status, statusReason 2318 , doNotPerform, scheduled, location, performer, product, dailyAmount, quantity 2319 , description); 2320 } 2321 2322 public String fhirType() { 2323 return "CarePlan.activity.detail"; 2324 2325 } 2326 2327 } 2328 2329 /** 2330 * Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 2331 */ 2332 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2333 @Description(shortDefinition="External Ids for this plan", formalDefinition="Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 2334 protected List<Identifier> identifier; 2335 2336 /** 2337 * The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. 2338 */ 2339 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2340 @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan." ) 2341 protected List<CanonicalType> instantiatesCanonical; 2342 2343 /** 2344 * The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan. 2345 */ 2346 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2347 @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan." ) 2348 protected List<UriType> instantiatesUri; 2349 2350 /** 2351 * A care plan that is fulfilled in whole or in part by this care plan. 2352 */ 2353 @Child(name = "basedOn", type = {CarePlan.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2354 @Description(shortDefinition="Fulfills CarePlan", formalDefinition="A care plan that is fulfilled in whole or in part by this care plan." ) 2355 protected List<Reference> basedOn; 2356 2357 /** 2358 * Completed or terminated care plan whose function is taken by this new care plan. 2359 */ 2360 @Child(name = "replaces", type = {CarePlan.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2361 @Description(shortDefinition="CarePlan replaced by this CarePlan", formalDefinition="Completed or terminated care plan whose function is taken by this new care plan." ) 2362 protected List<Reference> replaces; 2363 2364 /** 2365 * A larger care plan of which this particular care plan is a component or step. 2366 */ 2367 @Child(name = "partOf", type = {CarePlan.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2368 @Description(shortDefinition="Part of referenced CarePlan", formalDefinition="A larger care plan of which this particular care plan is a component or step." ) 2369 protected List<Reference> partOf; 2370 2371 /** 2372 * Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 2373 */ 2374 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 2375 @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record." ) 2376 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 2377 protected Enumeration<RequestStatus> status; 2378 2379 /** 2380 * Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain. 2381 */ 2382 @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 2383 @Description(shortDefinition="proposal | plan | order | option", formalDefinition="Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain." ) 2384 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-plan-intent") 2385 protected Enumeration<CarePlanIntent> intent; 2386 2387 /** 2388 * Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etc. 2389 */ 2390 @Child(name = "category", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2391 @Description(shortDefinition="Type of plan", formalDefinition="Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc." ) 2392 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-plan-category") 2393 protected List<CodeableConcept> category; 2394 2395 /** 2396 * Human-friendly name for the care plan. 2397 */ 2398 @Child(name = "title", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 2399 @Description(shortDefinition="Human-friendly name for the care plan", formalDefinition="Human-friendly name for the care plan." ) 2400 protected StringType title; 2401 2402 /** 2403 * A description of the scope and nature of the plan. 2404 */ 2405 @Child(name = "description", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) 2406 @Description(shortDefinition="Summary of nature of plan", formalDefinition="A description of the scope and nature of the plan." ) 2407 protected StringType description; 2408 2409 /** 2410 * Identifies the patient or group whose intended care is described by the plan. 2411 */ 2412 @Child(name = "subject", type = {Patient.class, Group.class}, order=11, min=1, max=1, modifier=false, summary=true) 2413 @Description(shortDefinition="Who the care plan is for", formalDefinition="Identifies the patient or group whose intended care is described by the plan." ) 2414 protected Reference subject; 2415 2416 /** 2417 * The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated. 2418 */ 2419 @Child(name = "encounter", type = {Encounter.class}, order=12, min=0, max=1, modifier=false, summary=true) 2420 @Description(shortDefinition="Encounter created as part of", formalDefinition="The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated." ) 2421 protected Reference encounter; 2422 2423 /** 2424 * Indicates when the plan did (or is intended to) come into effect and end. 2425 */ 2426 @Child(name = "period", type = {Period.class}, order=13, min=0, max=1, modifier=false, summary=true) 2427 @Description(shortDefinition="Time period plan covers", formalDefinition="Indicates when the plan did (or is intended to) come into effect and end." ) 2428 protected Period period; 2429 2430 /** 2431 * Represents when this particular CarePlan record was created in the system, which is often a system-generated date. 2432 */ 2433 @Child(name = "created", type = {DateTimeType.class}, order=14, min=0, max=1, modifier=false, summary=true) 2434 @Description(shortDefinition="Date record was first recorded", formalDefinition="Represents when this particular CarePlan record was created in the system, which is often a system-generated date." ) 2435 protected DateTimeType created; 2436 2437 /** 2438 * When populated, the author is responsible for the care plan. The care plan is attributed to the author. 2439 */ 2440 @Child(name = "author", type = {Patient.class, Practitioner.class, PractitionerRole.class, Device.class, RelatedPerson.class, Organization.class, CareTeam.class}, order=15, min=0, max=1, modifier=false, summary=true) 2441 @Description(shortDefinition="Who is the designated responsible party", formalDefinition="When populated, the author is responsible for the care plan. The care plan is attributed to the author." ) 2442 protected Reference author; 2443 2444 /** 2445 * Identifies the individual(s) or organization who provided the contents of the care plan. 2446 */ 2447 @Child(name = "contributor", type = {Patient.class, Practitioner.class, PractitionerRole.class, Device.class, RelatedPerson.class, Organization.class, CareTeam.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2448 @Description(shortDefinition="Who provided the content of the care plan", formalDefinition="Identifies the individual(s) or organization who provided the contents of the care plan." ) 2449 protected List<Reference> contributor; 2450 2451 /** 2452 * Identifies all people and organizations who are expected to be involved in the care envisioned by this plan. 2453 */ 2454 @Child(name = "careTeam", type = {CareTeam.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2455 @Description(shortDefinition="Who's involved in plan?", formalDefinition="Identifies all people and organizations who are expected to be involved in the care envisioned by this plan." ) 2456 protected List<Reference> careTeam; 2457 2458 /** 2459 * Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan. 2460 */ 2461 @Child(name = "addresses", type = {Condition.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2462 @Description(shortDefinition="Health issues this plan addresses", formalDefinition="Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan." ) 2463 protected List<Reference> addresses; 2464 2465 /** 2466 * Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc. 2467 */ 2468 @Child(name = "supportingInfo", type = {Reference.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2469 @Description(shortDefinition="Information considered as part of plan", formalDefinition="Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc." ) 2470 protected List<Reference> supportingInfo; 2471 2472 /** 2473 * Describes the intended objective(s) of carrying out the care plan. 2474 */ 2475 @Child(name = "goal", type = {Goal.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2476 @Description(shortDefinition="Desired outcome of plan", formalDefinition="Describes the intended objective(s) of carrying out the care plan." ) 2477 protected List<Reference> goal; 2478 2479 /** 2480 * Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc. 2481 */ 2482 @Child(name = "activity", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2483 @Description(shortDefinition="Action to occur as part of plan", formalDefinition="Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc." ) 2484 protected List<CarePlanActivityComponent> activity; 2485 2486 /** 2487 * General notes about the care plan not covered elsewhere. 2488 */ 2489 @Child(name = "note", type = {Annotation.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2490 @Description(shortDefinition="Comments about the plan", formalDefinition="General notes about the care plan not covered elsewhere." ) 2491 protected List<Annotation> note; 2492 2493 private static final long serialVersionUID = 1002483680L; 2494 2495 /** 2496 * Constructor 2497 */ 2498 public CarePlan() { 2499 super(); 2500 } 2501 2502 /** 2503 * Constructor 2504 */ 2505 public CarePlan(RequestStatus status, CarePlanIntent intent, Reference subject) { 2506 super(); 2507 this.setStatus(status); 2508 this.setIntent(intent); 2509 this.setSubject(subject); 2510 } 2511 2512 /** 2513 * @return {@link #identifier} (Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 2514 */ 2515 public List<Identifier> getIdentifier() { 2516 if (this.identifier == null) 2517 this.identifier = new ArrayList<Identifier>(); 2518 return this.identifier; 2519 } 2520 2521 /** 2522 * @return Returns a reference to <code>this</code> for easy method chaining 2523 */ 2524 public CarePlan setIdentifier(List<Identifier> theIdentifier) { 2525 this.identifier = theIdentifier; 2526 return this; 2527 } 2528 2529 public boolean hasIdentifier() { 2530 if (this.identifier == null) 2531 return false; 2532 for (Identifier item : this.identifier) 2533 if (!item.isEmpty()) 2534 return true; 2535 return false; 2536 } 2537 2538 public Identifier addIdentifier() { //3 2539 Identifier t = new Identifier(); 2540 if (this.identifier == null) 2541 this.identifier = new ArrayList<Identifier>(); 2542 this.identifier.add(t); 2543 return t; 2544 } 2545 2546 public CarePlan addIdentifier(Identifier t) { //3 2547 if (t == null) 2548 return this; 2549 if (this.identifier == null) 2550 this.identifier = new ArrayList<Identifier>(); 2551 this.identifier.add(t); 2552 return this; 2553 } 2554 2555 /** 2556 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2557 */ 2558 public Identifier getIdentifierFirstRep() { 2559 if (getIdentifier().isEmpty()) { 2560 addIdentifier(); 2561 } 2562 return getIdentifier().get(0); 2563 } 2564 2565 /** 2566 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2567 */ 2568 public List<CanonicalType> getInstantiatesCanonical() { 2569 if (this.instantiatesCanonical == null) 2570 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 2571 return this.instantiatesCanonical; 2572 } 2573 2574 /** 2575 * @return Returns a reference to <code>this</code> for easy method chaining 2576 */ 2577 public CarePlan setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 2578 this.instantiatesCanonical = theInstantiatesCanonical; 2579 return this; 2580 } 2581 2582 public boolean hasInstantiatesCanonical() { 2583 if (this.instantiatesCanonical == null) 2584 return false; 2585 for (CanonicalType item : this.instantiatesCanonical) 2586 if (!item.isEmpty()) 2587 return true; 2588 return false; 2589 } 2590 2591 /** 2592 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2593 */ 2594 public CanonicalType addInstantiatesCanonicalElement() {//2 2595 CanonicalType t = new CanonicalType(); 2596 if (this.instantiatesCanonical == null) 2597 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 2598 this.instantiatesCanonical.add(t); 2599 return t; 2600 } 2601 2602 /** 2603 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2604 */ 2605 public CarePlan addInstantiatesCanonical(String value) { //1 2606 CanonicalType t = new CanonicalType(); 2607 t.setValue(value); 2608 if (this.instantiatesCanonical == null) 2609 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 2610 this.instantiatesCanonical.add(t); 2611 return this; 2612 } 2613 2614 /** 2615 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2616 */ 2617 public boolean hasInstantiatesCanonical(String value) { 2618 if (this.instantiatesCanonical == null) 2619 return false; 2620 for (CanonicalType v : this.instantiatesCanonical) 2621 if (v.getValue().equals(value)) // canonical 2622 return true; 2623 return false; 2624 } 2625 2626 /** 2627 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2628 */ 2629 public List<UriType> getInstantiatesUri() { 2630 if (this.instantiatesUri == null) 2631 this.instantiatesUri = new ArrayList<UriType>(); 2632 return this.instantiatesUri; 2633 } 2634 2635 /** 2636 * @return Returns a reference to <code>this</code> for easy method chaining 2637 */ 2638 public CarePlan setInstantiatesUri(List<UriType> theInstantiatesUri) { 2639 this.instantiatesUri = theInstantiatesUri; 2640 return this; 2641 } 2642 2643 public boolean hasInstantiatesUri() { 2644 if (this.instantiatesUri == null) 2645 return false; 2646 for (UriType item : this.instantiatesUri) 2647 if (!item.isEmpty()) 2648 return true; 2649 return false; 2650 } 2651 2652 /** 2653 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2654 */ 2655 public UriType addInstantiatesUriElement() {//2 2656 UriType t = new UriType(); 2657 if (this.instantiatesUri == null) 2658 this.instantiatesUri = new ArrayList<UriType>(); 2659 this.instantiatesUri.add(t); 2660 return t; 2661 } 2662 2663 /** 2664 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2665 */ 2666 public CarePlan addInstantiatesUri(String value) { //1 2667 UriType t = new UriType(); 2668 t.setValue(value); 2669 if (this.instantiatesUri == null) 2670 this.instantiatesUri = new ArrayList<UriType>(); 2671 this.instantiatesUri.add(t); 2672 return this; 2673 } 2674 2675 /** 2676 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.) 2677 */ 2678 public boolean hasInstantiatesUri(String value) { 2679 if (this.instantiatesUri == null) 2680 return false; 2681 for (UriType v : this.instantiatesUri) 2682 if (v.getValue().equals(value)) // uri 2683 return true; 2684 return false; 2685 } 2686 2687 /** 2688 * @return {@link #basedOn} (A care plan that is fulfilled in whole or in part by this care plan.) 2689 */ 2690 public List<Reference> getBasedOn() { 2691 if (this.basedOn == null) 2692 this.basedOn = new ArrayList<Reference>(); 2693 return this.basedOn; 2694 } 2695 2696 /** 2697 * @return Returns a reference to <code>this</code> for easy method chaining 2698 */ 2699 public CarePlan setBasedOn(List<Reference> theBasedOn) { 2700 this.basedOn = theBasedOn; 2701 return this; 2702 } 2703 2704 public boolean hasBasedOn() { 2705 if (this.basedOn == null) 2706 return false; 2707 for (Reference item : this.basedOn) 2708 if (!item.isEmpty()) 2709 return true; 2710 return false; 2711 } 2712 2713 public Reference addBasedOn() { //3 2714 Reference t = new Reference(); 2715 if (this.basedOn == null) 2716 this.basedOn = new ArrayList<Reference>(); 2717 this.basedOn.add(t); 2718 return t; 2719 } 2720 2721 public CarePlan addBasedOn(Reference t) { //3 2722 if (t == null) 2723 return this; 2724 if (this.basedOn == null) 2725 this.basedOn = new ArrayList<Reference>(); 2726 this.basedOn.add(t); 2727 return this; 2728 } 2729 2730 /** 2731 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 2732 */ 2733 public Reference getBasedOnFirstRep() { 2734 if (getBasedOn().isEmpty()) { 2735 addBasedOn(); 2736 } 2737 return getBasedOn().get(0); 2738 } 2739 2740 /** 2741 * @return {@link #replaces} (Completed or terminated care plan whose function is taken by this new care plan.) 2742 */ 2743 public List<Reference> getReplaces() { 2744 if (this.replaces == null) 2745 this.replaces = new ArrayList<Reference>(); 2746 return this.replaces; 2747 } 2748 2749 /** 2750 * @return Returns a reference to <code>this</code> for easy method chaining 2751 */ 2752 public CarePlan setReplaces(List<Reference> theReplaces) { 2753 this.replaces = theReplaces; 2754 return this; 2755 } 2756 2757 public boolean hasReplaces() { 2758 if (this.replaces == null) 2759 return false; 2760 for (Reference item : this.replaces) 2761 if (!item.isEmpty()) 2762 return true; 2763 return false; 2764 } 2765 2766 public Reference addReplaces() { //3 2767 Reference t = new Reference(); 2768 if (this.replaces == null) 2769 this.replaces = new ArrayList<Reference>(); 2770 this.replaces.add(t); 2771 return t; 2772 } 2773 2774 public CarePlan addReplaces(Reference t) { //3 2775 if (t == null) 2776 return this; 2777 if (this.replaces == null) 2778 this.replaces = new ArrayList<Reference>(); 2779 this.replaces.add(t); 2780 return this; 2781 } 2782 2783 /** 2784 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist {3} 2785 */ 2786 public Reference getReplacesFirstRep() { 2787 if (getReplaces().isEmpty()) { 2788 addReplaces(); 2789 } 2790 return getReplaces().get(0); 2791 } 2792 2793 /** 2794 * @return {@link #partOf} (A larger care plan of which this particular care plan is a component or step.) 2795 */ 2796 public List<Reference> getPartOf() { 2797 if (this.partOf == null) 2798 this.partOf = new ArrayList<Reference>(); 2799 return this.partOf; 2800 } 2801 2802 /** 2803 * @return Returns a reference to <code>this</code> for easy method chaining 2804 */ 2805 public CarePlan setPartOf(List<Reference> thePartOf) { 2806 this.partOf = thePartOf; 2807 return this; 2808 } 2809 2810 public boolean hasPartOf() { 2811 if (this.partOf == null) 2812 return false; 2813 for (Reference item : this.partOf) 2814 if (!item.isEmpty()) 2815 return true; 2816 return false; 2817 } 2818 2819 public Reference addPartOf() { //3 2820 Reference t = new Reference(); 2821 if (this.partOf == null) 2822 this.partOf = new ArrayList<Reference>(); 2823 this.partOf.add(t); 2824 return t; 2825 } 2826 2827 public CarePlan addPartOf(Reference t) { //3 2828 if (t == null) 2829 return this; 2830 if (this.partOf == null) 2831 this.partOf = new ArrayList<Reference>(); 2832 this.partOf.add(t); 2833 return this; 2834 } 2835 2836 /** 2837 * @return The first repetition of repeating field {@link #partOf}, creating it if it does not already exist {3} 2838 */ 2839 public Reference getPartOfFirstRep() { 2840 if (getPartOf().isEmpty()) { 2841 addPartOf(); 2842 } 2843 return getPartOf().get(0); 2844 } 2845 2846 /** 2847 * @return {@link #status} (Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2848 */ 2849 public Enumeration<RequestStatus> getStatusElement() { 2850 if (this.status == null) 2851 if (Configuration.errorOnAutoCreate()) 2852 throw new Error("Attempt to auto-create CarePlan.status"); 2853 else if (Configuration.doAutoCreate()) 2854 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 2855 return this.status; 2856 } 2857 2858 public boolean hasStatusElement() { 2859 return this.status != null && !this.status.isEmpty(); 2860 } 2861 2862 public boolean hasStatus() { 2863 return this.status != null && !this.status.isEmpty(); 2864 } 2865 2866 /** 2867 * @param value {@link #status} (Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2868 */ 2869 public CarePlan setStatusElement(Enumeration<RequestStatus> value) { 2870 this.status = value; 2871 return this; 2872 } 2873 2874 /** 2875 * @return Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 2876 */ 2877 public RequestStatus getStatus() { 2878 return this.status == null ? null : this.status.getValue(); 2879 } 2880 2881 /** 2882 * @param value Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record. 2883 */ 2884 public CarePlan setStatus(RequestStatus value) { 2885 if (this.status == null) 2886 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 2887 this.status.setValue(value); 2888 return this; 2889 } 2890 2891 /** 2892 * @return {@link #intent} (Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 2893 */ 2894 public Enumeration<CarePlanIntent> getIntentElement() { 2895 if (this.intent == null) 2896 if (Configuration.errorOnAutoCreate()) 2897 throw new Error("Attempt to auto-create CarePlan.intent"); 2898 else if (Configuration.doAutoCreate()) 2899 this.intent = new Enumeration<CarePlanIntent>(new CarePlanIntentEnumFactory()); // bb 2900 return this.intent; 2901 } 2902 2903 public boolean hasIntentElement() { 2904 return this.intent != null && !this.intent.isEmpty(); 2905 } 2906 2907 public boolean hasIntent() { 2908 return this.intent != null && !this.intent.isEmpty(); 2909 } 2910 2911 /** 2912 * @param value {@link #intent} (Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 2913 */ 2914 public CarePlan setIntentElement(Enumeration<CarePlanIntent> value) { 2915 this.intent = value; 2916 return this; 2917 } 2918 2919 /** 2920 * @return Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain. 2921 */ 2922 public CarePlanIntent getIntent() { 2923 return this.intent == null ? null : this.intent.getValue(); 2924 } 2925 2926 /** 2927 * @param value Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain. 2928 */ 2929 public CarePlan setIntent(CarePlanIntent value) { 2930 if (this.intent == null) 2931 this.intent = new Enumeration<CarePlanIntent>(new CarePlanIntentEnumFactory()); 2932 this.intent.setValue(value); 2933 return this; 2934 } 2935 2936 /** 2937 * @return {@link #category} (Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etc.) 2938 */ 2939 public List<CodeableConcept> getCategory() { 2940 if (this.category == null) 2941 this.category = new ArrayList<CodeableConcept>(); 2942 return this.category; 2943 } 2944 2945 /** 2946 * @return Returns a reference to <code>this</code> for easy method chaining 2947 */ 2948 public CarePlan setCategory(List<CodeableConcept> theCategory) { 2949 this.category = theCategory; 2950 return this; 2951 } 2952 2953 public boolean hasCategory() { 2954 if (this.category == null) 2955 return false; 2956 for (CodeableConcept item : this.category) 2957 if (!item.isEmpty()) 2958 return true; 2959 return false; 2960 } 2961 2962 public CodeableConcept addCategory() { //3 2963 CodeableConcept t = new CodeableConcept(); 2964 if (this.category == null) 2965 this.category = new ArrayList<CodeableConcept>(); 2966 this.category.add(t); 2967 return t; 2968 } 2969 2970 public CarePlan addCategory(CodeableConcept t) { //3 2971 if (t == null) 2972 return this; 2973 if (this.category == null) 2974 this.category = new ArrayList<CodeableConcept>(); 2975 this.category.add(t); 2976 return this; 2977 } 2978 2979 /** 2980 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 2981 */ 2982 public CodeableConcept getCategoryFirstRep() { 2983 if (getCategory().isEmpty()) { 2984 addCategory(); 2985 } 2986 return getCategory().get(0); 2987 } 2988 2989 /** 2990 * @return {@link #title} (Human-friendly name for the care plan.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2991 */ 2992 public StringType getTitleElement() { 2993 if (this.title == null) 2994 if (Configuration.errorOnAutoCreate()) 2995 throw new Error("Attempt to auto-create CarePlan.title"); 2996 else if (Configuration.doAutoCreate()) 2997 this.title = new StringType(); // bb 2998 return this.title; 2999 } 3000 3001 public boolean hasTitleElement() { 3002 return this.title != null && !this.title.isEmpty(); 3003 } 3004 3005 public boolean hasTitle() { 3006 return this.title != null && !this.title.isEmpty(); 3007 } 3008 3009 /** 3010 * @param value {@link #title} (Human-friendly name for the care plan.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3011 */ 3012 public CarePlan setTitleElement(StringType value) { 3013 this.title = value; 3014 return this; 3015 } 3016 3017 /** 3018 * @return Human-friendly name for the care plan. 3019 */ 3020 public String getTitle() { 3021 return this.title == null ? null : this.title.getValue(); 3022 } 3023 3024 /** 3025 * @param value Human-friendly name for the care plan. 3026 */ 3027 public CarePlan setTitle(String value) { 3028 if (Utilities.noString(value)) 3029 this.title = null; 3030 else { 3031 if (this.title == null) 3032 this.title = new StringType(); 3033 this.title.setValue(value); 3034 } 3035 return this; 3036 } 3037 3038 /** 3039 * @return {@link #description} (A description of the scope and nature of the plan.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3040 */ 3041 public StringType getDescriptionElement() { 3042 if (this.description == null) 3043 if (Configuration.errorOnAutoCreate()) 3044 throw new Error("Attempt to auto-create CarePlan.description"); 3045 else if (Configuration.doAutoCreate()) 3046 this.description = new StringType(); // bb 3047 return this.description; 3048 } 3049 3050 public boolean hasDescriptionElement() { 3051 return this.description != null && !this.description.isEmpty(); 3052 } 3053 3054 public boolean hasDescription() { 3055 return this.description != null && !this.description.isEmpty(); 3056 } 3057 3058 /** 3059 * @param value {@link #description} (A description of the scope and nature of the plan.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3060 */ 3061 public CarePlan setDescriptionElement(StringType value) { 3062 this.description = value; 3063 return this; 3064 } 3065 3066 /** 3067 * @return A description of the scope and nature of the plan. 3068 */ 3069 public String getDescription() { 3070 return this.description == null ? null : this.description.getValue(); 3071 } 3072 3073 /** 3074 * @param value A description of the scope and nature of the plan. 3075 */ 3076 public CarePlan setDescription(String value) { 3077 if (Utilities.noString(value)) 3078 this.description = null; 3079 else { 3080 if (this.description == null) 3081 this.description = new StringType(); 3082 this.description.setValue(value); 3083 } 3084 return this; 3085 } 3086 3087 /** 3088 * @return {@link #subject} (Identifies the patient or group whose intended care is described by the plan.) 3089 */ 3090 public Reference getSubject() { 3091 if (this.subject == null) 3092 if (Configuration.errorOnAutoCreate()) 3093 throw new Error("Attempt to auto-create CarePlan.subject"); 3094 else if (Configuration.doAutoCreate()) 3095 this.subject = new Reference(); // cc 3096 return this.subject; 3097 } 3098 3099 public boolean hasSubject() { 3100 return this.subject != null && !this.subject.isEmpty(); 3101 } 3102 3103 /** 3104 * @param value {@link #subject} (Identifies the patient or group whose intended care is described by the plan.) 3105 */ 3106 public CarePlan setSubject(Reference value) { 3107 this.subject = value; 3108 return this; 3109 } 3110 3111 /** 3112 * @return {@link #encounter} (The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.) 3113 */ 3114 public Reference getEncounter() { 3115 if (this.encounter == null) 3116 if (Configuration.errorOnAutoCreate()) 3117 throw new Error("Attempt to auto-create CarePlan.encounter"); 3118 else if (Configuration.doAutoCreate()) 3119 this.encounter = new Reference(); // cc 3120 return this.encounter; 3121 } 3122 3123 public boolean hasEncounter() { 3124 return this.encounter != null && !this.encounter.isEmpty(); 3125 } 3126 3127 /** 3128 * @param value {@link #encounter} (The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.) 3129 */ 3130 public CarePlan setEncounter(Reference value) { 3131 this.encounter = value; 3132 return this; 3133 } 3134 3135 /** 3136 * @return {@link #period} (Indicates when the plan did (or is intended to) come into effect and end.) 3137 */ 3138 public Period getPeriod() { 3139 if (this.period == null) 3140 if (Configuration.errorOnAutoCreate()) 3141 throw new Error("Attempt to auto-create CarePlan.period"); 3142 else if (Configuration.doAutoCreate()) 3143 this.period = new Period(); // cc 3144 return this.period; 3145 } 3146 3147 public boolean hasPeriod() { 3148 return this.period != null && !this.period.isEmpty(); 3149 } 3150 3151 /** 3152 * @param value {@link #period} (Indicates when the plan did (or is intended to) come into effect and end.) 3153 */ 3154 public CarePlan setPeriod(Period value) { 3155 this.period = value; 3156 return this; 3157 } 3158 3159 /** 3160 * @return {@link #created} (Represents when this particular CarePlan record was created in the system, which is often a system-generated date.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 3161 */ 3162 public DateTimeType getCreatedElement() { 3163 if (this.created == null) 3164 if (Configuration.errorOnAutoCreate()) 3165 throw new Error("Attempt to auto-create CarePlan.created"); 3166 else if (Configuration.doAutoCreate()) 3167 this.created = new DateTimeType(); // bb 3168 return this.created; 3169 } 3170 3171 public boolean hasCreatedElement() { 3172 return this.created != null && !this.created.isEmpty(); 3173 } 3174 3175 public boolean hasCreated() { 3176 return this.created != null && !this.created.isEmpty(); 3177 } 3178 3179 /** 3180 * @param value {@link #created} (Represents when this particular CarePlan record was created in the system, which is often a system-generated date.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 3181 */ 3182 public CarePlan setCreatedElement(DateTimeType value) { 3183 this.created = value; 3184 return this; 3185 } 3186 3187 /** 3188 * @return Represents when this particular CarePlan record was created in the system, which is often a system-generated date. 3189 */ 3190 public Date getCreated() { 3191 return this.created == null ? null : this.created.getValue(); 3192 } 3193 3194 /** 3195 * @param value Represents when this particular CarePlan record was created in the system, which is often a system-generated date. 3196 */ 3197 public CarePlan setCreated(Date value) { 3198 if (value == null) 3199 this.created = null; 3200 else { 3201 if (this.created == null) 3202 this.created = new DateTimeType(); 3203 this.created.setValue(value); 3204 } 3205 return this; 3206 } 3207 3208 /** 3209 * @return {@link #author} (When populated, the author is responsible for the care plan. The care plan is attributed to the author.) 3210 */ 3211 public Reference getAuthor() { 3212 if (this.author == null) 3213 if (Configuration.errorOnAutoCreate()) 3214 throw new Error("Attempt to auto-create CarePlan.author"); 3215 else if (Configuration.doAutoCreate()) 3216 this.author = new Reference(); // cc 3217 return this.author; 3218 } 3219 3220 public boolean hasAuthor() { 3221 return this.author != null && !this.author.isEmpty(); 3222 } 3223 3224 /** 3225 * @param value {@link #author} (When populated, the author is responsible for the care plan. The care plan is attributed to the author.) 3226 */ 3227 public CarePlan setAuthor(Reference value) { 3228 this.author = value; 3229 return this; 3230 } 3231 3232 /** 3233 * @return {@link #contributor} (Identifies the individual(s) or organization who provided the contents of the care plan.) 3234 */ 3235 public List<Reference> getContributor() { 3236 if (this.contributor == null) 3237 this.contributor = new ArrayList<Reference>(); 3238 return this.contributor; 3239 } 3240 3241 /** 3242 * @return Returns a reference to <code>this</code> for easy method chaining 3243 */ 3244 public CarePlan setContributor(List<Reference> theContributor) { 3245 this.contributor = theContributor; 3246 return this; 3247 } 3248 3249 public boolean hasContributor() { 3250 if (this.contributor == null) 3251 return false; 3252 for (Reference item : this.contributor) 3253 if (!item.isEmpty()) 3254 return true; 3255 return false; 3256 } 3257 3258 public Reference addContributor() { //3 3259 Reference t = new Reference(); 3260 if (this.contributor == null) 3261 this.contributor = new ArrayList<Reference>(); 3262 this.contributor.add(t); 3263 return t; 3264 } 3265 3266 public CarePlan addContributor(Reference t) { //3 3267 if (t == null) 3268 return this; 3269 if (this.contributor == null) 3270 this.contributor = new ArrayList<Reference>(); 3271 this.contributor.add(t); 3272 return this; 3273 } 3274 3275 /** 3276 * @return The first repetition of repeating field {@link #contributor}, creating it if it does not already exist {3} 3277 */ 3278 public Reference getContributorFirstRep() { 3279 if (getContributor().isEmpty()) { 3280 addContributor(); 3281 } 3282 return getContributor().get(0); 3283 } 3284 3285 /** 3286 * @return {@link #careTeam} (Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.) 3287 */ 3288 public List<Reference> getCareTeam() { 3289 if (this.careTeam == null) 3290 this.careTeam = new ArrayList<Reference>(); 3291 return this.careTeam; 3292 } 3293 3294 /** 3295 * @return Returns a reference to <code>this</code> for easy method chaining 3296 */ 3297 public CarePlan setCareTeam(List<Reference> theCareTeam) { 3298 this.careTeam = theCareTeam; 3299 return this; 3300 } 3301 3302 public boolean hasCareTeam() { 3303 if (this.careTeam == null) 3304 return false; 3305 for (Reference item : this.careTeam) 3306 if (!item.isEmpty()) 3307 return true; 3308 return false; 3309 } 3310 3311 public Reference addCareTeam() { //3 3312 Reference t = new Reference(); 3313 if (this.careTeam == null) 3314 this.careTeam = new ArrayList<Reference>(); 3315 this.careTeam.add(t); 3316 return t; 3317 } 3318 3319 public CarePlan addCareTeam(Reference t) { //3 3320 if (t == null) 3321 return this; 3322 if (this.careTeam == null) 3323 this.careTeam = new ArrayList<Reference>(); 3324 this.careTeam.add(t); 3325 return this; 3326 } 3327 3328 /** 3329 * @return The first repetition of repeating field {@link #careTeam}, creating it if it does not already exist {3} 3330 */ 3331 public Reference getCareTeamFirstRep() { 3332 if (getCareTeam().isEmpty()) { 3333 addCareTeam(); 3334 } 3335 return getCareTeam().get(0); 3336 } 3337 3338 /** 3339 * @return {@link #addresses} (Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.) 3340 */ 3341 public List<Reference> getAddresses() { 3342 if (this.addresses == null) 3343 this.addresses = new ArrayList<Reference>(); 3344 return this.addresses; 3345 } 3346 3347 /** 3348 * @return Returns a reference to <code>this</code> for easy method chaining 3349 */ 3350 public CarePlan setAddresses(List<Reference> theAddresses) { 3351 this.addresses = theAddresses; 3352 return this; 3353 } 3354 3355 public boolean hasAddresses() { 3356 if (this.addresses == null) 3357 return false; 3358 for (Reference item : this.addresses) 3359 if (!item.isEmpty()) 3360 return true; 3361 return false; 3362 } 3363 3364 public Reference addAddresses() { //3 3365 Reference t = new Reference(); 3366 if (this.addresses == null) 3367 this.addresses = new ArrayList<Reference>(); 3368 this.addresses.add(t); 3369 return t; 3370 } 3371 3372 public CarePlan addAddresses(Reference t) { //3 3373 if (t == null) 3374 return this; 3375 if (this.addresses == null) 3376 this.addresses = new ArrayList<Reference>(); 3377 this.addresses.add(t); 3378 return this; 3379 } 3380 3381 /** 3382 * @return The first repetition of repeating field {@link #addresses}, creating it if it does not already exist {3} 3383 */ 3384 public Reference getAddressesFirstRep() { 3385 if (getAddresses().isEmpty()) { 3386 addAddresses(); 3387 } 3388 return getAddresses().get(0); 3389 } 3390 3391 /** 3392 * @return {@link #supportingInfo} (Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc.) 3393 */ 3394 public List<Reference> getSupportingInfo() { 3395 if (this.supportingInfo == null) 3396 this.supportingInfo = new ArrayList<Reference>(); 3397 return this.supportingInfo; 3398 } 3399 3400 /** 3401 * @return Returns a reference to <code>this</code> for easy method chaining 3402 */ 3403 public CarePlan setSupportingInfo(List<Reference> theSupportingInfo) { 3404 this.supportingInfo = theSupportingInfo; 3405 return this; 3406 } 3407 3408 public boolean hasSupportingInfo() { 3409 if (this.supportingInfo == null) 3410 return false; 3411 for (Reference item : this.supportingInfo) 3412 if (!item.isEmpty()) 3413 return true; 3414 return false; 3415 } 3416 3417 public Reference addSupportingInfo() { //3 3418 Reference t = new Reference(); 3419 if (this.supportingInfo == null) 3420 this.supportingInfo = new ArrayList<Reference>(); 3421 this.supportingInfo.add(t); 3422 return t; 3423 } 3424 3425 public CarePlan addSupportingInfo(Reference t) { //3 3426 if (t == null) 3427 return this; 3428 if (this.supportingInfo == null) 3429 this.supportingInfo = new ArrayList<Reference>(); 3430 this.supportingInfo.add(t); 3431 return this; 3432 } 3433 3434 /** 3435 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 3436 */ 3437 public Reference getSupportingInfoFirstRep() { 3438 if (getSupportingInfo().isEmpty()) { 3439 addSupportingInfo(); 3440 } 3441 return getSupportingInfo().get(0); 3442 } 3443 3444 /** 3445 * @return {@link #goal} (Describes the intended objective(s) of carrying out the care plan.) 3446 */ 3447 public List<Reference> getGoal() { 3448 if (this.goal == null) 3449 this.goal = new ArrayList<Reference>(); 3450 return this.goal; 3451 } 3452 3453 /** 3454 * @return Returns a reference to <code>this</code> for easy method chaining 3455 */ 3456 public CarePlan setGoal(List<Reference> theGoal) { 3457 this.goal = theGoal; 3458 return this; 3459 } 3460 3461 public boolean hasGoal() { 3462 if (this.goal == null) 3463 return false; 3464 for (Reference item : this.goal) 3465 if (!item.isEmpty()) 3466 return true; 3467 return false; 3468 } 3469 3470 public Reference addGoal() { //3 3471 Reference t = new Reference(); 3472 if (this.goal == null) 3473 this.goal = new ArrayList<Reference>(); 3474 this.goal.add(t); 3475 return t; 3476 } 3477 3478 public CarePlan addGoal(Reference t) { //3 3479 if (t == null) 3480 return this; 3481 if (this.goal == null) 3482 this.goal = new ArrayList<Reference>(); 3483 this.goal.add(t); 3484 return this; 3485 } 3486 3487 /** 3488 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 3489 */ 3490 public Reference getGoalFirstRep() { 3491 if (getGoal().isEmpty()) { 3492 addGoal(); 3493 } 3494 return getGoal().get(0); 3495 } 3496 3497 /** 3498 * @return {@link #activity} (Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.) 3499 */ 3500 public List<CarePlanActivityComponent> getActivity() { 3501 if (this.activity == null) 3502 this.activity = new ArrayList<CarePlanActivityComponent>(); 3503 return this.activity; 3504 } 3505 3506 /** 3507 * @return Returns a reference to <code>this</code> for easy method chaining 3508 */ 3509 public CarePlan setActivity(List<CarePlanActivityComponent> theActivity) { 3510 this.activity = theActivity; 3511 return this; 3512 } 3513 3514 public boolean hasActivity() { 3515 if (this.activity == null) 3516 return false; 3517 for (CarePlanActivityComponent item : this.activity) 3518 if (!item.isEmpty()) 3519 return true; 3520 return false; 3521 } 3522 3523 public CarePlanActivityComponent addActivity() { //3 3524 CarePlanActivityComponent t = new CarePlanActivityComponent(); 3525 if (this.activity == null) 3526 this.activity = new ArrayList<CarePlanActivityComponent>(); 3527 this.activity.add(t); 3528 return t; 3529 } 3530 3531 public CarePlan addActivity(CarePlanActivityComponent t) { //3 3532 if (t == null) 3533 return this; 3534 if (this.activity == null) 3535 this.activity = new ArrayList<CarePlanActivityComponent>(); 3536 this.activity.add(t); 3537 return this; 3538 } 3539 3540 /** 3541 * @return The first repetition of repeating field {@link #activity}, creating it if it does not already exist {3} 3542 */ 3543 public CarePlanActivityComponent getActivityFirstRep() { 3544 if (getActivity().isEmpty()) { 3545 addActivity(); 3546 } 3547 return getActivity().get(0); 3548 } 3549 3550 /** 3551 * @return {@link #note} (General notes about the care plan not covered elsewhere.) 3552 */ 3553 public List<Annotation> getNote() { 3554 if (this.note == null) 3555 this.note = new ArrayList<Annotation>(); 3556 return this.note; 3557 } 3558 3559 /** 3560 * @return Returns a reference to <code>this</code> for easy method chaining 3561 */ 3562 public CarePlan setNote(List<Annotation> theNote) { 3563 this.note = theNote; 3564 return this; 3565 } 3566 3567 public boolean hasNote() { 3568 if (this.note == null) 3569 return false; 3570 for (Annotation item : this.note) 3571 if (!item.isEmpty()) 3572 return true; 3573 return false; 3574 } 3575 3576 public Annotation addNote() { //3 3577 Annotation t = new Annotation(); 3578 if (this.note == null) 3579 this.note = new ArrayList<Annotation>(); 3580 this.note.add(t); 3581 return t; 3582 } 3583 3584 public CarePlan addNote(Annotation t) { //3 3585 if (t == null) 3586 return this; 3587 if (this.note == null) 3588 this.note = new ArrayList<Annotation>(); 3589 this.note.add(t); 3590 return this; 3591 } 3592 3593 /** 3594 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 3595 */ 3596 public Annotation getNoteFirstRep() { 3597 if (getNote().isEmpty()) { 3598 addNote(); 3599 } 3600 return getNote().get(0); 3601 } 3602 3603 protected void listChildren(List<Property> children) { 3604 super.listChildren(children); 3605 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this care plan 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)); 3606 children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|Questionnaire|Measure|ActivityDefinition|OperationDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); 3607 children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); 3608 children.add(new Property("basedOn", "Reference(CarePlan)", "A care plan that is fulfilled in whole or in part by this care plan.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 3609 children.add(new Property("replaces", "Reference(CarePlan)", "Completed or terminated care plan whose function is taken by this new care plan.", 0, java.lang.Integer.MAX_VALUE, replaces)); 3610 children.add(new Property("partOf", "Reference(CarePlan)", "A larger care plan of which this particular care plan is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); 3611 children.add(new Property("status", "code", "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.", 0, 1, status)); 3612 children.add(new Property("intent", "code", "Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.", 0, 1, intent)); 3613 children.add(new Property("category", "CodeableConcept", "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc.", 0, java.lang.Integer.MAX_VALUE, category)); 3614 children.add(new Property("title", "string", "Human-friendly name for the care plan.", 0, 1, title)); 3615 children.add(new Property("description", "string", "A description of the scope and nature of the plan.", 0, 1, description)); 3616 children.add(new Property("subject", "Reference(Patient|Group)", "Identifies the patient or group whose intended care is described by the plan.", 0, 1, subject)); 3617 children.add(new Property("encounter", "Reference(Encounter)", "The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.", 0, 1, encounter)); 3618 children.add(new Property("period", "Period", "Indicates when the plan did (or is intended to) come into effect and end.", 0, 1, period)); 3619 children.add(new Property("created", "dateTime", "Represents when this particular CarePlan record was created in the system, which is often a system-generated date.", 0, 1, created)); 3620 children.add(new Property("author", "Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam)", "When populated, the author is responsible for the care plan. The care plan is attributed to the author.", 0, 1, author)); 3621 children.add(new Property("contributor", "Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam)", "Identifies the individual(s) or organization who provided the contents of the care plan.", 0, java.lang.Integer.MAX_VALUE, contributor)); 3622 children.add(new Property("careTeam", "Reference(CareTeam)", "Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.", 0, java.lang.Integer.MAX_VALUE, careTeam)); 3623 children.add(new Property("addresses", "Reference(Condition)", "Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.", 0, java.lang.Integer.MAX_VALUE, addresses)); 3624 children.add(new Property("supportingInfo", "Reference(Any)", "Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 3625 children.add(new Property("goal", "Reference(Goal)", "Describes the intended objective(s) of carrying out the care plan.", 0, java.lang.Integer.MAX_VALUE, goal)); 3626 children.add(new Property("activity", "", "Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.", 0, java.lang.Integer.MAX_VALUE, activity)); 3627 children.add(new Property("note", "Annotation", "General notes about the care plan not covered elsewhere.", 0, java.lang.Integer.MAX_VALUE, note)); 3628 } 3629 3630 @Override 3631 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3632 switch (_hash) { 3633 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this care plan 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); 3634 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|Questionnaire|Measure|ActivityDefinition|OperationDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); 3635 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); 3636 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan)", "A care plan that is fulfilled in whole or in part by this care plan.", 0, java.lang.Integer.MAX_VALUE, basedOn); 3637 case -430332865: /*replaces*/ return new Property("replaces", "Reference(CarePlan)", "Completed or terminated care plan whose function is taken by this new care plan.", 0, java.lang.Integer.MAX_VALUE, replaces); 3638 case -995410646: /*partOf*/ return new Property("partOf", "Reference(CarePlan)", "A larger care plan of which this particular care plan is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); 3639 case -892481550: /*status*/ return new Property("status", "code", "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.", 0, 1, status); 3640 case -1183762788: /*intent*/ return new Property("intent", "code", "Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.", 0, 1, intent); 3641 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc.", 0, java.lang.Integer.MAX_VALUE, category); 3642 case 110371416: /*title*/ return new Property("title", "string", "Human-friendly name for the care plan.", 0, 1, title); 3643 case -1724546052: /*description*/ return new Property("description", "string", "A description of the scope and nature of the plan.", 0, 1, description); 3644 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "Identifies the patient or group whose intended care is described by the plan.", 0, 1, subject); 3645 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.", 0, 1, encounter); 3646 case -991726143: /*period*/ return new Property("period", "Period", "Indicates when the plan did (or is intended to) come into effect and end.", 0, 1, period); 3647 case 1028554472: /*created*/ return new Property("created", "dateTime", "Represents when this particular CarePlan record was created in the system, which is often a system-generated date.", 0, 1, created); 3648 case -1406328437: /*author*/ return new Property("author", "Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam)", "When populated, the author is responsible for the care plan. The care plan is attributed to the author.", 0, 1, author); 3649 case -1895276325: /*contributor*/ return new Property("contributor", "Reference(Patient|Practitioner|PractitionerRole|Device|RelatedPerson|Organization|CareTeam)", "Identifies the individual(s) or organization who provided the contents of the care plan.", 0, java.lang.Integer.MAX_VALUE, contributor); 3650 case -7323378: /*careTeam*/ return new Property("careTeam", "Reference(CareTeam)", "Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.", 0, java.lang.Integer.MAX_VALUE, careTeam); 3651 case 874544034: /*addresses*/ return new Property("addresses", "Reference(Condition)", "Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.", 0, java.lang.Integer.MAX_VALUE, addresses); 3652 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "Reference(Any)", "Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 3653 case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Describes the intended objective(s) of carrying out the care plan.", 0, java.lang.Integer.MAX_VALUE, goal); 3654 case -1655966961: /*activity*/ return new Property("activity", "", "Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.", 0, java.lang.Integer.MAX_VALUE, activity); 3655 case 3387378: /*note*/ return new Property("note", "Annotation", "General notes about the care plan not covered elsewhere.", 0, java.lang.Integer.MAX_VALUE, note); 3656 default: return super.getNamedProperty(_hash, _name, _checkValid); 3657 } 3658 3659 } 3660 3661 @Override 3662 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3663 switch (hash) { 3664 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3665 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 3666 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 3667 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 3668 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 3669 case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // Reference 3670 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 3671 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<CarePlanIntent> 3672 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 3673 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3674 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 3675 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 3676 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 3677 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 3678 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 3679 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 3680 case -1895276325: /*contributor*/ return this.contributor == null ? new Base[0] : this.contributor.toArray(new Base[this.contributor.size()]); // Reference 3681 case -7323378: /*careTeam*/ return this.careTeam == null ? new Base[0] : this.careTeam.toArray(new Base[this.careTeam.size()]); // Reference 3682 case 874544034: /*addresses*/ return this.addresses == null ? new Base[0] : this.addresses.toArray(new Base[this.addresses.size()]); // Reference 3683 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference 3684 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 3685 case -1655966961: /*activity*/ return this.activity == null ? new Base[0] : this.activity.toArray(new Base[this.activity.size()]); // CarePlanActivityComponent 3686 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 3687 default: return super.getProperty(hash, name, checkValid); 3688 } 3689 3690 } 3691 3692 @Override 3693 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3694 switch (hash) { 3695 case -1618432855: // identifier 3696 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3697 return value; 3698 case 8911915: // instantiatesCanonical 3699 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 3700 return value; 3701 case -1926393373: // instantiatesUri 3702 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 3703 return value; 3704 case -332612366: // basedOn 3705 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 3706 return value; 3707 case -430332865: // replaces 3708 this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference 3709 return value; 3710 case -995410646: // partOf 3711 this.getPartOf().add(TypeConvertor.castToReference(value)); // Reference 3712 return value; 3713 case -892481550: // status 3714 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3715 this.status = (Enumeration) value; // Enumeration<RequestStatus> 3716 return value; 3717 case -1183762788: // intent 3718 value = new CarePlanIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 3719 this.intent = (Enumeration) value; // Enumeration<CarePlanIntent> 3720 return value; 3721 case 50511102: // category 3722 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3723 return value; 3724 case 110371416: // title 3725 this.title = TypeConvertor.castToString(value); // StringType 3726 return value; 3727 case -1724546052: // description 3728 this.description = TypeConvertor.castToString(value); // StringType 3729 return value; 3730 case -1867885268: // subject 3731 this.subject = TypeConvertor.castToReference(value); // Reference 3732 return value; 3733 case 1524132147: // encounter 3734 this.encounter = TypeConvertor.castToReference(value); // Reference 3735 return value; 3736 case -991726143: // period 3737 this.period = TypeConvertor.castToPeriod(value); // Period 3738 return value; 3739 case 1028554472: // created 3740 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 3741 return value; 3742 case -1406328437: // author 3743 this.author = TypeConvertor.castToReference(value); // Reference 3744 return value; 3745 case -1895276325: // contributor 3746 this.getContributor().add(TypeConvertor.castToReference(value)); // Reference 3747 return value; 3748 case -7323378: // careTeam 3749 this.getCareTeam().add(TypeConvertor.castToReference(value)); // Reference 3750 return value; 3751 case 874544034: // addresses 3752 this.getAddresses().add(TypeConvertor.castToReference(value)); // Reference 3753 return value; 3754 case 1922406657: // supportingInfo 3755 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); // Reference 3756 return value; 3757 case 3178259: // goal 3758 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 3759 return value; 3760 case -1655966961: // activity 3761 this.getActivity().add((CarePlanActivityComponent) value); // CarePlanActivityComponent 3762 return value; 3763 case 3387378: // note 3764 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 3765 return value; 3766 default: return super.setProperty(hash, name, value); 3767 } 3768 3769 } 3770 3771 @Override 3772 public Base setProperty(String name, Base value) throws FHIRException { 3773 if (name.equals("identifier")) { 3774 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3775 } else if (name.equals("instantiatesCanonical")) { 3776 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 3777 } else if (name.equals("instantiatesUri")) { 3778 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 3779 } else if (name.equals("basedOn")) { 3780 this.getBasedOn().add(TypeConvertor.castToReference(value)); 3781 } else if (name.equals("replaces")) { 3782 this.getReplaces().add(TypeConvertor.castToReference(value)); 3783 } else if (name.equals("partOf")) { 3784 this.getPartOf().add(TypeConvertor.castToReference(value)); 3785 } else if (name.equals("status")) { 3786 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3787 this.status = (Enumeration) value; // Enumeration<RequestStatus> 3788 } else if (name.equals("intent")) { 3789 value = new CarePlanIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 3790 this.intent = (Enumeration) value; // Enumeration<CarePlanIntent> 3791 } else if (name.equals("category")) { 3792 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 3793 } else if (name.equals("title")) { 3794 this.title = TypeConvertor.castToString(value); // StringType 3795 } else if (name.equals("description")) { 3796 this.description = TypeConvertor.castToString(value); // StringType 3797 } else if (name.equals("subject")) { 3798 this.subject = TypeConvertor.castToReference(value); // Reference 3799 } else if (name.equals("encounter")) { 3800 this.encounter = TypeConvertor.castToReference(value); // Reference 3801 } else if (name.equals("period")) { 3802 this.period = TypeConvertor.castToPeriod(value); // Period 3803 } else if (name.equals("created")) { 3804 this.created = TypeConvertor.castToDateTime(value); // DateTimeType 3805 } else if (name.equals("author")) { 3806 this.author = TypeConvertor.castToReference(value); // Reference 3807 } else if (name.equals("contributor")) { 3808 this.getContributor().add(TypeConvertor.castToReference(value)); 3809 } else if (name.equals("careTeam")) { 3810 this.getCareTeam().add(TypeConvertor.castToReference(value)); 3811 } else if (name.equals("addresses")) { 3812 this.getAddresses().add(TypeConvertor.castToReference(value)); 3813 } else if (name.equals("supportingInfo")) { 3814 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); 3815 } else if (name.equals("goal")) { 3816 this.getGoal().add(TypeConvertor.castToReference(value)); 3817 } else if (name.equals("activity")) { 3818 this.getActivity().add((CarePlanActivityComponent) value); 3819 } else if (name.equals("note")) { 3820 this.getNote().add(TypeConvertor.castToAnnotation(value)); 3821 } else 3822 return super.setProperty(name, value); 3823 return value; 3824 } 3825 3826 @Override 3827 public Base makeProperty(int hash, String name) throws FHIRException { 3828 switch (hash) { 3829 case -1618432855: return addIdentifier(); 3830 case 8911915: return addInstantiatesCanonicalElement(); 3831 case -1926393373: return addInstantiatesUriElement(); 3832 case -332612366: return addBasedOn(); 3833 case -430332865: return addReplaces(); 3834 case -995410646: return addPartOf(); 3835 case -892481550: return getStatusElement(); 3836 case -1183762788: return getIntentElement(); 3837 case 50511102: return addCategory(); 3838 case 110371416: return getTitleElement(); 3839 case -1724546052: return getDescriptionElement(); 3840 case -1867885268: return getSubject(); 3841 case 1524132147: return getEncounter(); 3842 case -991726143: return getPeriod(); 3843 case 1028554472: return getCreatedElement(); 3844 case -1406328437: return getAuthor(); 3845 case -1895276325: return addContributor(); 3846 case -7323378: return addCareTeam(); 3847 case 874544034: return addAddresses(); 3848 case 1922406657: return addSupportingInfo(); 3849 case 3178259: return addGoal(); 3850 case -1655966961: return addActivity(); 3851 case 3387378: return addNote(); 3852 default: return super.makeProperty(hash, name); 3853 } 3854 3855 } 3856 3857 @Override 3858 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3859 switch (hash) { 3860 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3861 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 3862 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 3863 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 3864 case -430332865: /*replaces*/ return new String[] {"Reference"}; 3865 case -995410646: /*partOf*/ return new String[] {"Reference"}; 3866 case -892481550: /*status*/ return new String[] {"code"}; 3867 case -1183762788: /*intent*/ return new String[] {"code"}; 3868 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 3869 case 110371416: /*title*/ return new String[] {"string"}; 3870 case -1724546052: /*description*/ return new String[] {"string"}; 3871 case -1867885268: /*subject*/ return new String[] {"Reference"}; 3872 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 3873 case -991726143: /*period*/ return new String[] {"Period"}; 3874 case 1028554472: /*created*/ return new String[] {"dateTime"}; 3875 case -1406328437: /*author*/ return new String[] {"Reference"}; 3876 case -1895276325: /*contributor*/ return new String[] {"Reference"}; 3877 case -7323378: /*careTeam*/ return new String[] {"Reference"}; 3878 case 874544034: /*addresses*/ return new String[] {"Reference"}; 3879 case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; 3880 case 3178259: /*goal*/ return new String[] {"Reference"}; 3881 case -1655966961: /*activity*/ return new String[] {}; 3882 case 3387378: /*note*/ return new String[] {"Annotation"}; 3883 default: return super.getTypesForProperty(hash, name); 3884 } 3885 3886 } 3887 3888 @Override 3889 public Base addChild(String name) throws FHIRException { 3890 if (name.equals("identifier")) { 3891 return addIdentifier(); 3892 } 3893 else if (name.equals("instantiatesCanonical")) { 3894 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.instantiatesCanonical"); 3895 } 3896 else if (name.equals("instantiatesUri")) { 3897 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.instantiatesUri"); 3898 } 3899 else if (name.equals("basedOn")) { 3900 return addBasedOn(); 3901 } 3902 else if (name.equals("replaces")) { 3903 return addReplaces(); 3904 } 3905 else if (name.equals("partOf")) { 3906 return addPartOf(); 3907 } 3908 else if (name.equals("status")) { 3909 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.status"); 3910 } 3911 else if (name.equals("intent")) { 3912 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.intent"); 3913 } 3914 else if (name.equals("category")) { 3915 return addCategory(); 3916 } 3917 else if (name.equals("title")) { 3918 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.title"); 3919 } 3920 else if (name.equals("description")) { 3921 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.description"); 3922 } 3923 else if (name.equals("subject")) { 3924 this.subject = new Reference(); 3925 return this.subject; 3926 } 3927 else if (name.equals("encounter")) { 3928 this.encounter = new Reference(); 3929 return this.encounter; 3930 } 3931 else if (name.equals("period")) { 3932 this.period = new Period(); 3933 return this.period; 3934 } 3935 else if (name.equals("created")) { 3936 throw new FHIRException("Cannot call addChild on a primitive type CarePlan.created"); 3937 } 3938 else if (name.equals("author")) { 3939 this.author = new Reference(); 3940 return this.author; 3941 } 3942 else if (name.equals("contributor")) { 3943 return addContributor(); 3944 } 3945 else if (name.equals("careTeam")) { 3946 return addCareTeam(); 3947 } 3948 else if (name.equals("addresses")) { 3949 return addAddresses(); 3950 } 3951 else if (name.equals("supportingInfo")) { 3952 return addSupportingInfo(); 3953 } 3954 else if (name.equals("goal")) { 3955 return addGoal(); 3956 } 3957 else if (name.equals("activity")) { 3958 return addActivity(); 3959 } 3960 else if (name.equals("note")) { 3961 return addNote(); 3962 } 3963 else 3964 return super.addChild(name); 3965 } 3966 3967 public String fhirType() { 3968 return "CarePlan"; 3969 3970 } 3971 3972 public CarePlan copy() { 3973 CarePlan dst = new CarePlan(); 3974 copyValues(dst); 3975 return dst; 3976 } 3977 3978 public void copyValues(CarePlan dst) { 3979 super.copyValues(dst); 3980 if (identifier != null) { 3981 dst.identifier = new ArrayList<Identifier>(); 3982 for (Identifier i : identifier) 3983 dst.identifier.add(i.copy()); 3984 }; 3985 if (instantiatesCanonical != null) { 3986 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 3987 for (CanonicalType i : instantiatesCanonical) 3988 dst.instantiatesCanonical.add(i.copy()); 3989 }; 3990 if (instantiatesUri != null) { 3991 dst.instantiatesUri = new ArrayList<UriType>(); 3992 for (UriType i : instantiatesUri) 3993 dst.instantiatesUri.add(i.copy()); 3994 }; 3995 if (basedOn != null) { 3996 dst.basedOn = new ArrayList<Reference>(); 3997 for (Reference i : basedOn) 3998 dst.basedOn.add(i.copy()); 3999 }; 4000 if (replaces != null) { 4001 dst.replaces = new ArrayList<Reference>(); 4002 for (Reference i : replaces) 4003 dst.replaces.add(i.copy()); 4004 }; 4005 if (partOf != null) { 4006 dst.partOf = new ArrayList<Reference>(); 4007 for (Reference i : partOf) 4008 dst.partOf.add(i.copy()); 4009 }; 4010 dst.status = status == null ? null : status.copy(); 4011 dst.intent = intent == null ? null : intent.copy(); 4012 if (category != null) { 4013 dst.category = new ArrayList<CodeableConcept>(); 4014 for (CodeableConcept i : category) 4015 dst.category.add(i.copy()); 4016 }; 4017 dst.title = title == null ? null : title.copy(); 4018 dst.description = description == null ? null : description.copy(); 4019 dst.subject = subject == null ? null : subject.copy(); 4020 dst.encounter = encounter == null ? null : encounter.copy(); 4021 dst.period = period == null ? null : period.copy(); 4022 dst.created = created == null ? null : created.copy(); 4023 dst.author = author == null ? null : author.copy(); 4024 if (contributor != null) { 4025 dst.contributor = new ArrayList<Reference>(); 4026 for (Reference i : contributor) 4027 dst.contributor.add(i.copy()); 4028 }; 4029 if (careTeam != null) { 4030 dst.careTeam = new ArrayList<Reference>(); 4031 for (Reference i : careTeam) 4032 dst.careTeam.add(i.copy()); 4033 }; 4034 if (addresses != null) { 4035 dst.addresses = new ArrayList<Reference>(); 4036 for (Reference i : addresses) 4037 dst.addresses.add(i.copy()); 4038 }; 4039 if (supportingInfo != null) { 4040 dst.supportingInfo = new ArrayList<Reference>(); 4041 for (Reference i : supportingInfo) 4042 dst.supportingInfo.add(i.copy()); 4043 }; 4044 if (goal != null) { 4045 dst.goal = new ArrayList<Reference>(); 4046 for (Reference i : goal) 4047 dst.goal.add(i.copy()); 4048 }; 4049 if (activity != null) { 4050 dst.activity = new ArrayList<CarePlanActivityComponent>(); 4051 for (CarePlanActivityComponent i : activity) 4052 dst.activity.add(i.copy()); 4053 }; 4054 if (note != null) { 4055 dst.note = new ArrayList<Annotation>(); 4056 for (Annotation i : note) 4057 dst.note.add(i.copy()); 4058 }; 4059 } 4060 4061 protected CarePlan typedCopy() { 4062 return copy(); 4063 } 4064 4065 @Override 4066 public boolean equalsDeep(Base other_) { 4067 if (!super.equalsDeep(other_)) 4068 return false; 4069 if (!(other_ instanceof CarePlan)) 4070 return false; 4071 CarePlan o = (CarePlan) other_; 4072 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 4073 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 4074 && compareDeep(replaces, o.replaces, true) && compareDeep(partOf, o.partOf, true) && compareDeep(status, o.status, true) 4075 && compareDeep(intent, o.intent, true) && compareDeep(category, o.category, true) && compareDeep(title, o.title, true) 4076 && compareDeep(description, o.description, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) 4077 && compareDeep(period, o.period, true) && compareDeep(created, o.created, true) && compareDeep(author, o.author, true) 4078 && compareDeep(contributor, o.contributor, true) && compareDeep(careTeam, o.careTeam, true) && compareDeep(addresses, o.addresses, true) 4079 && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(goal, o.goal, true) && compareDeep(activity, o.activity, true) 4080 && compareDeep(note, o.note, true); 4081 } 4082 4083 @Override 4084 public boolean equalsShallow(Base other_) { 4085 if (!super.equalsShallow(other_)) 4086 return false; 4087 if (!(other_ instanceof CarePlan)) 4088 return false; 4089 CarePlan o = (CarePlan) other_; 4090 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 4091 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(title, o.title, true) 4092 && compareValues(description, o.description, true) && compareValues(created, o.created, true); 4093 } 4094 4095 public boolean isEmpty() { 4096 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 4097 , instantiatesUri, basedOn, replaces, partOf, status, intent, category, title 4098 , description, subject, encounter, period, created, author, contributor, careTeam 4099 , addresses, supportingInfo, goal, activity, note); 4100 } 4101 4102 @Override 4103 public ResourceType getResourceType() { 4104 return ResourceType.CarePlan; 4105 } 4106 4107 /** 4108 * Search parameter: <b>activity-code</b> 4109 * <p> 4110 * Description: <b>Detail type of activity</b><br> 4111 * Type: <b>token</b><br> 4112 * Path: <b>CarePlan.activity.detail.code</b><br> 4113 * </p> 4114 */ 4115 @SearchParamDefinition(name="activity-code", path="CarePlan.activity.detail.code", description="Detail type of activity", type="token" ) 4116 public static final String SP_ACTIVITY_CODE = "activity-code"; 4117 /** 4118 * <b>Fluent Client</b> search parameter constant for <b>activity-code</b> 4119 * <p> 4120 * Description: <b>Detail type of activity</b><br> 4121 * Type: <b>token</b><br> 4122 * Path: <b>CarePlan.activity.detail.code</b><br> 4123 * </p> 4124 */ 4125 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACTIVITY_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACTIVITY_CODE); 4126 4127 /** 4128 * Search parameter: <b>activity-date</b> 4129 * <p> 4130 * Description: <b>Specified date occurs within period specified by CarePlan.activity.detail.scheduled[x]</b><br> 4131 * Type: <b>date</b><br> 4132 * Path: <b>CarePlan.activity.detail.scheduled</b><br> 4133 * </p> 4134 */ 4135 @SearchParamDefinition(name="activity-date", path="CarePlan.activity.detail.scheduled", description="Specified date occurs within period specified by CarePlan.activity.detail.scheduled[x]", type="date" ) 4136 public static final String SP_ACTIVITY_DATE = "activity-date"; 4137 /** 4138 * <b>Fluent Client</b> search parameter constant for <b>activity-date</b> 4139 * <p> 4140 * Description: <b>Specified date occurs within period specified by CarePlan.activity.detail.scheduled[x]</b><br> 4141 * Type: <b>date</b><br> 4142 * Path: <b>CarePlan.activity.detail.scheduled</b><br> 4143 * </p> 4144 */ 4145 public static final ca.uhn.fhir.rest.gclient.DateClientParam ACTIVITY_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ACTIVITY_DATE); 4146 4147 /** 4148 * Search parameter: <b>activity-reference</b> 4149 * <p> 4150 * Description: <b>Activity details defined in specific resource</b><br> 4151 * Type: <b>reference</b><br> 4152 * Path: <b>CarePlan.activity.reference</b><br> 4153 * </p> 4154 */ 4155 @SearchParamDefinition(name="activity-reference", path="CarePlan.activity.reference", description="Activity details defined in specific resource", type="reference", target={Appointment.class, CommunicationRequest.class, DeviceRequest.class, MedicationRequest.class, NutritionOrder.class, RequestGroup.class, ServiceRequest.class, Task.class, VisionPrescription.class } ) 4156 public static final String SP_ACTIVITY_REFERENCE = "activity-reference"; 4157 /** 4158 * <b>Fluent Client</b> search parameter constant for <b>activity-reference</b> 4159 * <p> 4160 * Description: <b>Activity details defined in specific resource</b><br> 4161 * Type: <b>reference</b><br> 4162 * Path: <b>CarePlan.activity.reference</b><br> 4163 * </p> 4164 */ 4165 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ACTIVITY_REFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ACTIVITY_REFERENCE); 4166 4167/** 4168 * Constant for fluent queries to be used to add include statements. Specifies 4169 * the path value of "<b>CarePlan:activity-reference</b>". 4170 */ 4171 public static final ca.uhn.fhir.model.api.Include INCLUDE_ACTIVITY_REFERENCE = new ca.uhn.fhir.model.api.Include("CarePlan:activity-reference").toLocked(); 4172 4173 /** 4174 * Search parameter: <b>based-on</b> 4175 * <p> 4176 * Description: <b>Fulfills CarePlan</b><br> 4177 * Type: <b>reference</b><br> 4178 * Path: <b>CarePlan.basedOn</b><br> 4179 * </p> 4180 */ 4181 @SearchParamDefinition(name="based-on", path="CarePlan.basedOn", description="Fulfills CarePlan", type="reference", target={CarePlan.class } ) 4182 public static final String SP_BASED_ON = "based-on"; 4183 /** 4184 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 4185 * <p> 4186 * Description: <b>Fulfills CarePlan</b><br> 4187 * Type: <b>reference</b><br> 4188 * Path: <b>CarePlan.basedOn</b><br> 4189 * </p> 4190 */ 4191 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 4192 4193/** 4194 * Constant for fluent queries to be used to add include statements. Specifies 4195 * the path value of "<b>CarePlan:based-on</b>". 4196 */ 4197 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("CarePlan:based-on").toLocked(); 4198 4199 /** 4200 * Search parameter: <b>care-team</b> 4201 * <p> 4202 * Description: <b>Who's involved in plan?</b><br> 4203 * Type: <b>reference</b><br> 4204 * Path: <b>CarePlan.careTeam</b><br> 4205 * </p> 4206 */ 4207 @SearchParamDefinition(name="care-team", path="CarePlan.careTeam", description="Who's involved in plan?", type="reference", target={CareTeam.class } ) 4208 public static final String SP_CARE_TEAM = "care-team"; 4209 /** 4210 * <b>Fluent Client</b> search parameter constant for <b>care-team</b> 4211 * <p> 4212 * Description: <b>Who's involved in plan?</b><br> 4213 * Type: <b>reference</b><br> 4214 * Path: <b>CarePlan.careTeam</b><br> 4215 * </p> 4216 */ 4217 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CARE_TEAM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CARE_TEAM); 4218 4219/** 4220 * Constant for fluent queries to be used to add include statements. Specifies 4221 * the path value of "<b>CarePlan:care-team</b>". 4222 */ 4223 public static final ca.uhn.fhir.model.api.Include INCLUDE_CARE_TEAM = new ca.uhn.fhir.model.api.Include("CarePlan:care-team").toLocked(); 4224 4225 /** 4226 * Search parameter: <b>category</b> 4227 * <p> 4228 * Description: <b>Type of plan</b><br> 4229 * Type: <b>token</b><br> 4230 * Path: <b>CarePlan.category</b><br> 4231 * </p> 4232 */ 4233 @SearchParamDefinition(name="category", path="CarePlan.category", description="Type of plan", type="token" ) 4234 public static final String SP_CATEGORY = "category"; 4235 /** 4236 * <b>Fluent Client</b> search parameter constant for <b>category</b> 4237 * <p> 4238 * Description: <b>Type of plan</b><br> 4239 * Type: <b>token</b><br> 4240 * Path: <b>CarePlan.category</b><br> 4241 * </p> 4242 */ 4243 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 4244 4245 /** 4246 * Search parameter: <b>condition</b> 4247 * <p> 4248 * Description: <b>Health issues this plan addresses</b><br> 4249 * Type: <b>reference</b><br> 4250 * Path: <b>CarePlan.addresses</b><br> 4251 * </p> 4252 */ 4253 @SearchParamDefinition(name="condition", path="CarePlan.addresses", description="Health issues this plan addresses", type="reference", target={Condition.class } ) 4254 public static final String SP_CONDITION = "condition"; 4255 /** 4256 * <b>Fluent Client</b> search parameter constant for <b>condition</b> 4257 * <p> 4258 * Description: <b>Health issues this plan addresses</b><br> 4259 * Type: <b>reference</b><br> 4260 * Path: <b>CarePlan.addresses</b><br> 4261 * </p> 4262 */ 4263 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONDITION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONDITION); 4264 4265/** 4266 * Constant for fluent queries to be used to add include statements. Specifies 4267 * the path value of "<b>CarePlan:condition</b>". 4268 */ 4269 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONDITION = new ca.uhn.fhir.model.api.Include("CarePlan:condition").toLocked(); 4270 4271 /** 4272 * Search parameter: <b>encounter</b> 4273 * <p> 4274 * Description: <b>Encounter created as part of</b><br> 4275 * Type: <b>reference</b><br> 4276 * Path: <b>CarePlan.encounter</b><br> 4277 * </p> 4278 */ 4279 @SearchParamDefinition(name="encounter", path="CarePlan.encounter", description="Encounter created as part of", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 4280 public static final String SP_ENCOUNTER = "encounter"; 4281 /** 4282 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 4283 * <p> 4284 * Description: <b>Encounter created as part of</b><br> 4285 * Type: <b>reference</b><br> 4286 * Path: <b>CarePlan.encounter</b><br> 4287 * </p> 4288 */ 4289 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 4290 4291/** 4292 * Constant for fluent queries to be used to add include statements. Specifies 4293 * the path value of "<b>CarePlan:encounter</b>". 4294 */ 4295 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("CarePlan:encounter").toLocked(); 4296 4297 /** 4298 * Search parameter: <b>goal</b> 4299 * <p> 4300 * Description: <b>Desired outcome of plan</b><br> 4301 * Type: <b>reference</b><br> 4302 * Path: <b>CarePlan.goal</b><br> 4303 * </p> 4304 */ 4305 @SearchParamDefinition(name="goal", path="CarePlan.goal", description="Desired outcome of plan", type="reference", target={Goal.class } ) 4306 public static final String SP_GOAL = "goal"; 4307 /** 4308 * <b>Fluent Client</b> search parameter constant for <b>goal</b> 4309 * <p> 4310 * Description: <b>Desired outcome of plan</b><br> 4311 * Type: <b>reference</b><br> 4312 * Path: <b>CarePlan.goal</b><br> 4313 * </p> 4314 */ 4315 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam GOAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_GOAL); 4316 4317/** 4318 * Constant for fluent queries to be used to add include statements. Specifies 4319 * the path value of "<b>CarePlan:goal</b>". 4320 */ 4321 public static final ca.uhn.fhir.model.api.Include INCLUDE_GOAL = new ca.uhn.fhir.model.api.Include("CarePlan:goal").toLocked(); 4322 4323 /** 4324 * Search parameter: <b>instantiates-canonical</b> 4325 * <p> 4326 * Description: <b>Instantiates FHIR protocol or definition</b><br> 4327 * Type: <b>reference</b><br> 4328 * Path: <b>CarePlan.instantiatesCanonical</b><br> 4329 * </p> 4330 */ 4331 @SearchParamDefinition(name="instantiates-canonical", path="CarePlan.instantiatesCanonical", description="Instantiates FHIR protocol or definition", type="reference", target={ActivityDefinition.class, Measure.class, OperationDefinition.class, PlanDefinition.class, Questionnaire.class } ) 4332 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 4333 /** 4334 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 4335 * <p> 4336 * Description: <b>Instantiates FHIR protocol or definition</b><br> 4337 * Type: <b>reference</b><br> 4338 * Path: <b>CarePlan.instantiatesCanonical</b><br> 4339 * </p> 4340 */ 4341 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 4342 4343/** 4344 * Constant for fluent queries to be used to add include statements. Specifies 4345 * the path value of "<b>CarePlan:instantiates-canonical</b>". 4346 */ 4347 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("CarePlan:instantiates-canonical").toLocked(); 4348 4349 /** 4350 * Search parameter: <b>instantiates-uri</b> 4351 * <p> 4352 * Description: <b>Instantiates external protocol or definition</b><br> 4353 * Type: <b>uri</b><br> 4354 * Path: <b>CarePlan.instantiatesUri</b><br> 4355 * </p> 4356 */ 4357 @SearchParamDefinition(name="instantiates-uri", path="CarePlan.instantiatesUri", description="Instantiates external protocol or definition", type="uri" ) 4358 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 4359 /** 4360 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 4361 * <p> 4362 * Description: <b>Instantiates external protocol or definition</b><br> 4363 * Type: <b>uri</b><br> 4364 * Path: <b>CarePlan.instantiatesUri</b><br> 4365 * </p> 4366 */ 4367 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 4368 4369 /** 4370 * Search parameter: <b>intent</b> 4371 * <p> 4372 * Description: <b>proposal | plan | order | option</b><br> 4373 * Type: <b>token</b><br> 4374 * Path: <b>CarePlan.intent</b><br> 4375 * </p> 4376 */ 4377 @SearchParamDefinition(name="intent", path="CarePlan.intent", description="proposal | plan | order | option", type="token" ) 4378 public static final String SP_INTENT = "intent"; 4379 /** 4380 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 4381 * <p> 4382 * Description: <b>proposal | plan | order | option</b><br> 4383 * Type: <b>token</b><br> 4384 * Path: <b>CarePlan.intent</b><br> 4385 * </p> 4386 */ 4387 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 4388 4389 /** 4390 * Search parameter: <b>part-of</b> 4391 * <p> 4392 * Description: <b>Part of referenced CarePlan</b><br> 4393 * Type: <b>reference</b><br> 4394 * Path: <b>CarePlan.partOf</b><br> 4395 * </p> 4396 */ 4397 @SearchParamDefinition(name="part-of", path="CarePlan.partOf", description="Part of referenced CarePlan", type="reference", target={CarePlan.class } ) 4398 public static final String SP_PART_OF = "part-of"; 4399 /** 4400 * <b>Fluent Client</b> search parameter constant for <b>part-of</b> 4401 * <p> 4402 * Description: <b>Part of referenced CarePlan</b><br> 4403 * Type: <b>reference</b><br> 4404 * Path: <b>CarePlan.partOf</b><br> 4405 * </p> 4406 */ 4407 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PART_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PART_OF); 4408 4409/** 4410 * Constant for fluent queries to be used to add include statements. Specifies 4411 * the path value of "<b>CarePlan:part-of</b>". 4412 */ 4413 public static final ca.uhn.fhir.model.api.Include INCLUDE_PART_OF = new ca.uhn.fhir.model.api.Include("CarePlan:part-of").toLocked(); 4414 4415 /** 4416 * Search parameter: <b>performer</b> 4417 * <p> 4418 * Description: <b>Matches if the practitioner is listed as a performer in any of the "simple" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)</b><br> 4419 * Type: <b>reference</b><br> 4420 * Path: <b>CarePlan.activity.detail.performer</b><br> 4421 * </p> 4422 */ 4423 @SearchParamDefinition(name="performer", path="CarePlan.activity.detail.performer", description="Matches if the practitioner is listed as a performer in any of the \"simple\" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CareTeam.class, Device.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 4424 public static final String SP_PERFORMER = "performer"; 4425 /** 4426 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 4427 * <p> 4428 * Description: <b>Matches if the practitioner is listed as a performer in any of the "simple" activities. (For performers of the detailed activities, chain through the activitydetail search parameter.)</b><br> 4429 * Type: <b>reference</b><br> 4430 * Path: <b>CarePlan.activity.detail.performer</b><br> 4431 * </p> 4432 */ 4433 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 4434 4435/** 4436 * Constant for fluent queries to be used to add include statements. Specifies 4437 * the path value of "<b>CarePlan:performer</b>". 4438 */ 4439 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("CarePlan:performer").toLocked(); 4440 4441 /** 4442 * Search parameter: <b>replaces</b> 4443 * <p> 4444 * Description: <b>CarePlan replaced by this CarePlan</b><br> 4445 * Type: <b>reference</b><br> 4446 * Path: <b>CarePlan.replaces</b><br> 4447 * </p> 4448 */ 4449 @SearchParamDefinition(name="replaces", path="CarePlan.replaces", description="CarePlan replaced by this CarePlan", type="reference", target={CarePlan.class } ) 4450 public static final String SP_REPLACES = "replaces"; 4451 /** 4452 * <b>Fluent Client</b> search parameter constant for <b>replaces</b> 4453 * <p> 4454 * Description: <b>CarePlan replaced by this CarePlan</b><br> 4455 * Type: <b>reference</b><br> 4456 * Path: <b>CarePlan.replaces</b><br> 4457 * </p> 4458 */ 4459 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REPLACES = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REPLACES); 4460 4461/** 4462 * Constant for fluent queries to be used to add include statements. Specifies 4463 * the path value of "<b>CarePlan:replaces</b>". 4464 */ 4465 public static final ca.uhn.fhir.model.api.Include INCLUDE_REPLACES = new ca.uhn.fhir.model.api.Include("CarePlan:replaces").toLocked(); 4466 4467 /** 4468 * Search parameter: <b>status</b> 4469 * <p> 4470 * Description: <b>draft | active | on-hold | revoked | completed | entered-in-error | unknown</b><br> 4471 * Type: <b>token</b><br> 4472 * Path: <b>CarePlan.status</b><br> 4473 * </p> 4474 */ 4475 @SearchParamDefinition(name="status", path="CarePlan.status", description="draft | active | on-hold | revoked | completed | entered-in-error | unknown", type="token" ) 4476 public static final String SP_STATUS = "status"; 4477 /** 4478 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4479 * <p> 4480 * Description: <b>draft | active | on-hold | revoked | completed | entered-in-error | unknown</b><br> 4481 * Type: <b>token</b><br> 4482 * Path: <b>CarePlan.status</b><br> 4483 * </p> 4484 */ 4485 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4486 4487 /** 4488 * Search parameter: <b>subject</b> 4489 * <p> 4490 * Description: <b>Who the care plan is for</b><br> 4491 * Type: <b>reference</b><br> 4492 * Path: <b>CarePlan.subject</b><br> 4493 * </p> 4494 */ 4495 @SearchParamDefinition(name="subject", path="CarePlan.subject", description="Who the care plan is for", type="reference", target={Group.class, Patient.class } ) 4496 public static final String SP_SUBJECT = "subject"; 4497 /** 4498 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 4499 * <p> 4500 * Description: <b>Who the care plan is for</b><br> 4501 * Type: <b>reference</b><br> 4502 * Path: <b>CarePlan.subject</b><br> 4503 * </p> 4504 */ 4505 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 4506 4507/** 4508 * Constant for fluent queries to be used to add include statements. Specifies 4509 * the path value of "<b>CarePlan:subject</b>". 4510 */ 4511 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("CarePlan:subject").toLocked(); 4512 4513 /** 4514 * Search parameter: <b>date</b> 4515 * <p> 4516 * Description: <b>Multiple Resources: 4517 4518* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 4519* [CarePlan](careplan.html): Time period plan covers 4520* [CareTeam](careteam.html): Time period team covers 4521* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 4522* [Composition](composition.html): Composition editing time 4523* [Consent](consent.html): When this Consent was created or indexed 4524* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 4525* [Encounter](encounter.html): A date within the period the Encounter lasted 4526* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 4527* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 4528* [Flag](flag.html): Time period when flag is active 4529* [Immunization](immunization.html): Vaccination (non)-Administration Date 4530* [List](list.html): When the list was prepared 4531* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 4532* [Procedure](procedure.html): When the procedure was performed 4533* [RiskAssessment](riskassessment.html): When was assessment made? 4534* [SupplyRequest](supplyrequest.html): When the request was made 4535</b><br> 4536 * Type: <b>date</b><br> 4537 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | CareTeam.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.period | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | Immunization.occurrence | List.date | Observation.effective | Procedure.performed | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 4538 * </p> 4539 */ 4540 @SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate | CarePlan.period | CareTeam.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.period | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | Immunization.occurrence | List.date | Observation.effective | Procedure.performed | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 4541 public static final String SP_DATE = "date"; 4542 /** 4543 * <b>Fluent Client</b> search parameter constant for <b>date</b> 4544 * <p> 4545 * Description: <b>Multiple Resources: 4546 4547* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 4548* [CarePlan](careplan.html): Time period plan covers 4549* [CareTeam](careteam.html): Time period team covers 4550* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 4551* [Composition](composition.html): Composition editing time 4552* [Consent](consent.html): When this Consent was created or indexed 4553* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 4554* [Encounter](encounter.html): A date within the period the Encounter lasted 4555* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 4556* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 4557* [Flag](flag.html): Time period when flag is active 4558* [Immunization](immunization.html): Vaccination (non)-Administration Date 4559* [List](list.html): When the list was prepared 4560* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 4561* [Procedure](procedure.html): When the procedure was performed 4562* [RiskAssessment](riskassessment.html): When was assessment made? 4563* [SupplyRequest](supplyrequest.html): When the request was made 4564</b><br> 4565 * Type: <b>date</b><br> 4566 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | CareTeam.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.period | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | Immunization.occurrence | List.date | Observation.effective | Procedure.performed | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 4567 * </p> 4568 */ 4569 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 4570 4571 /** 4572 * Search parameter: <b>identifier</b> 4573 * <p> 4574 * Description: <b>Multiple Resources: 4575 4576* [AllergyIntolerance](allergyintolerance.html): External ids for this item 4577* [CarePlan](careplan.html): External Ids for this plan 4578* [CareTeam](careteam.html): External Ids for this team 4579* [Composition](composition.html): Version-independent identifier for the Composition 4580* [Condition](condition.html): A unique identifier of the condition record 4581* [Consent](consent.html): Identifier for this record (external references) 4582* [DetectedIssue](detectedissue.html): Unique id for the detected issue 4583* [DeviceRequest](devicerequest.html): Business identifier for request/order 4584* [DiagnosticReport](diagnosticreport.html): An identifier for the report 4585* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 4586* [DocumentReference](documentreference.html): Master Version Specific Identifier 4587* [Encounter](encounter.html): Identifier(s) by which this encounter is known 4588* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 4589* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 4590* [Goal](goal.html): External Ids for this goal 4591* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 4592* [Immunization](immunization.html): Business identifier 4593* [List](list.html): Business identifier 4594* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 4595* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 4596* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 4597* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 4598* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 4599* [Observation](observation.html): The unique id for a particular observation 4600* [Procedure](procedure.html): A unique identifier for a procedure 4601* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 4602* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 4603* [SupplyDelivery](supplydelivery.html): External identifier 4604* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 4605* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 4606</b><br> 4607 * Type: <b>token</b><br> 4608 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 4609 * </p> 4610 */ 4611 @SearchParamDefinition(name="identifier", path="AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 4612 public static final String SP_IDENTIFIER = "identifier"; 4613 /** 4614 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4615 * <p> 4616 * Description: <b>Multiple Resources: 4617 4618* [AllergyIntolerance](allergyintolerance.html): External ids for this item 4619* [CarePlan](careplan.html): External Ids for this plan 4620* [CareTeam](careteam.html): External Ids for this team 4621* [Composition](composition.html): Version-independent identifier for the Composition 4622* [Condition](condition.html): A unique identifier of the condition record 4623* [Consent](consent.html): Identifier for this record (external references) 4624* [DetectedIssue](detectedissue.html): Unique id for the detected issue 4625* [DeviceRequest](devicerequest.html): Business identifier for request/order 4626* [DiagnosticReport](diagnosticreport.html): An identifier for the report 4627* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 4628* [DocumentReference](documentreference.html): Master Version Specific Identifier 4629* [Encounter](encounter.html): Identifier(s) by which this encounter is known 4630* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 4631* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 4632* [Goal](goal.html): External Ids for this goal 4633* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 4634* [Immunization](immunization.html): Business identifier 4635* [List](list.html): Business identifier 4636* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 4637* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 4638* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 4639* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 4640* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 4641* [Observation](observation.html): The unique id for a particular observation 4642* [Procedure](procedure.html): A unique identifier for a procedure 4643* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 4644* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 4645* [SupplyDelivery](supplydelivery.html): External identifier 4646* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 4647* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 4648</b><br> 4649 * Type: <b>token</b><br> 4650 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 4651 * </p> 4652 */ 4653 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4654 4655 /** 4656 * Search parameter: <b>patient</b> 4657 * <p> 4658 * Description: <b>Multiple Resources: 4659 4660* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 4661* [CarePlan](careplan.html): Who the care plan is for 4662* [CareTeam](careteam.html): Who care team is for 4663* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 4664* [Composition](composition.html): Who and/or what the composition is about 4665* [Condition](condition.html): Who has the condition? 4666* [Consent](consent.html): Who the consent applies to 4667* [DetectedIssue](detectedissue.html): Associated patient 4668* [DeviceRequest](devicerequest.html): Individual the service is ordered for 4669* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 4670* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 4671* [DocumentManifest](documentmanifest.html): The subject of the set of documents 4672* [DocumentReference](documentreference.html): Who/what is the subject of the document 4673* [Encounter](encounter.html): The patient or group present at the encounter 4674* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 4675* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 4676* [Flag](flag.html): The identity of a subject to list flags for 4677* [Goal](goal.html): Who this goal is intended for 4678* [ImagingStudy](imagingstudy.html): Who the study is about 4679* [Immunization](immunization.html): The patient for the vaccination record 4680* [List](list.html): If all resources have the same subject 4681* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 4682* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 4683* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 4684* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 4685* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 4686* [Observation](observation.html): The subject that the observation is about (if patient) 4687* [Procedure](procedure.html): Search by subject - a patient 4688* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 4689* [ServiceRequest](servicerequest.html): Search by subject - a patient 4690* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 4691* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 4692</b><br> 4693 * Type: <b>reference</b><br> 4694 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is Patient) | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 4695 * </p> 4696 */ 4697 @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is Patient) | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 4698 public static final String SP_PATIENT = "patient"; 4699 /** 4700 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 4701 * <p> 4702 * Description: <b>Multiple Resources: 4703 4704* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 4705* [CarePlan](careplan.html): Who the care plan is for 4706* [CareTeam](careteam.html): Who care team is for 4707* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 4708* [Composition](composition.html): Who and/or what the composition is about 4709* [Condition](condition.html): Who has the condition? 4710* [Consent](consent.html): Who the consent applies to 4711* [DetectedIssue](detectedissue.html): Associated patient 4712* [DeviceRequest](devicerequest.html): Individual the service is ordered for 4713* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 4714* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 4715* [DocumentManifest](documentmanifest.html): The subject of the set of documents 4716* [DocumentReference](documentreference.html): Who/what is the subject of the document 4717* [Encounter](encounter.html): The patient or group present at the encounter 4718* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 4719* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 4720* [Flag](flag.html): The identity of a subject to list flags for 4721* [Goal](goal.html): Who this goal is intended for 4722* [ImagingStudy](imagingstudy.html): Who the study is about 4723* [Immunization](immunization.html): The patient for the vaccination record 4724* [List](list.html): If all resources have the same subject 4725* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 4726* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 4727* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 4728* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 4729* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 4730* [Observation](observation.html): The subject that the observation is about (if patient) 4731* [Procedure](procedure.html): Search by subject - a patient 4732* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 4733* [ServiceRequest](servicerequest.html): Search by subject - a patient 4734* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 4735* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 4736</b><br> 4737 * Type: <b>reference</b><br> 4738 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is Patient) | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 4739 * </p> 4740 */ 4741 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 4742 4743/** 4744 * Constant for fluent queries to be used to add include statements. Specifies 4745 * the path value of "<b>CarePlan:patient</b>". 4746 */ 4747 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CarePlan:patient").toLocked(); 4748 4749 4750} 4751