001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". 052 */ 053@ResourceDef(name="RequestOrchestration", profile="http://hl7.org/fhir/StructureDefinition/RequestOrchestration") 054public class RequestOrchestration extends DomainResource { 055 056 @Block() 057 public static class RequestOrchestrationActionComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource. 060 */ 061 @Child(name = "linkId", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 062 @Description(shortDefinition="Pointer to specific item from the PlanDefinition", formalDefinition="The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource." ) 063 protected StringType linkId; 064 065 /** 066 * A user-visible prefix for the action. For example a section or item numbering such as 1. or A. 067 */ 068 @Child(name = "prefix", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 069 @Description(shortDefinition="User-visible prefix for the action (e.g. 1. or A.)", formalDefinition="A user-visible prefix for the action. For example a section or item numbering such as 1. or A." ) 070 protected StringType prefix; 071 072 /** 073 * The title of the action displayed to a user. 074 */ 075 @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 076 @Description(shortDefinition="User-visible title", formalDefinition="The title of the action displayed to a user." ) 077 protected StringType title; 078 079 /** 080 * A short description of the action used to provide a summary to display to the user. 081 */ 082 @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=true) 083 @Description(shortDefinition="Short description of the action", formalDefinition="A short description of the action used to provide a summary to display to the user." ) 084 protected MarkdownType description; 085 086 /** 087 * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. 088 */ 089 @Child(name = "textEquivalent", type = {MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=true) 090 @Description(shortDefinition="Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system", formalDefinition="A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically." ) 091 protected MarkdownType textEquivalent; 092 093 /** 094 * Indicates how quickly the action should be addressed with respect to other actions. 095 */ 096 @Child(name = "priority", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=false) 097 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the action should be addressed with respect to other actions." ) 098 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 099 protected Enumeration<RequestPriority> priority; 100 101 /** 102 * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template. 103 */ 104 @Child(name = "code", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 105 @Description(shortDefinition="Code representing the meaning of the action or sub-actions", formalDefinition="A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template." ) 106 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-code") 107 protected List<CodeableConcept> code; 108 109 /** 110 * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. 111 */ 112 @Child(name = "documentation", type = {RelatedArtifact.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 113 @Description(shortDefinition="Supporting documentation for the intended performer of the action", formalDefinition="Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources." ) 114 protected List<RelatedArtifact> documentation; 115 116 /** 117 * Goals that are intended to be achieved by following the requests in this action. 118 */ 119 @Child(name = "goal", type = {Goal.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 120 @Description(shortDefinition="What goals", formalDefinition="Goals that are intended to be achieved by following the requests in this action." ) 121 protected List<Reference> goal; 122 123 /** 124 * An expression that describes applicability criteria, or start/stop conditions for the action. 125 */ 126 @Child(name = "condition", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 127 @Description(shortDefinition="Whether or not the action is applicable", formalDefinition="An expression that describes applicability criteria, or start/stop conditions for the action." ) 128 protected List<RequestOrchestrationActionConditionComponent> condition; 129 130 /** 131 * Defines input data requirements for the action. 132 */ 133 @Child(name = "input", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 134 @Description(shortDefinition="Input data requirements", formalDefinition="Defines input data requirements for the action." ) 135 protected List<RequestOrchestrationActionInputComponent> input; 136 137 /** 138 * Defines the outputs of the action, if any. 139 */ 140 @Child(name = "output", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 141 @Description(shortDefinition="Output data definition", formalDefinition="Defines the outputs of the action, if any." ) 142 protected List<RequestOrchestrationActionOutputComponent> output; 143 144 /** 145 * A relationship to another action such as "before" or "30-60 minutes after start of". 146 */ 147 @Child(name = "relatedAction", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 148 @Description(shortDefinition="Relationship to another action", formalDefinition="A relationship to another action such as \"before\" or \"30-60 minutes after start of\"." ) 149 protected List<RequestOrchestrationActionRelatedActionComponent> relatedAction; 150 151 /** 152 * An optional value describing when the action should be performed. 153 */ 154 @Child(name = "timing", type = {DateTimeType.class, Age.class, Period.class, Duration.class, Range.class, Timing.class}, order=14, min=0, max=1, modifier=false, summary=false) 155 @Description(shortDefinition="When the action should take place", formalDefinition="An optional value describing when the action should be performed." ) 156 protected DataType timing; 157 158 /** 159 * Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc. 160 */ 161 @Child(name = "location", type = {CodeableReference.class}, order=15, min=0, max=1, modifier=false, summary=false) 162 @Description(shortDefinition="Where it should happen", formalDefinition="Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc." ) 163 protected CodeableReference location; 164 165 /** 166 * The participant that should perform or be responsible for this action. 167 */ 168 @Child(name = "participant", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 169 @Description(shortDefinition="Who should perform the action", formalDefinition="The participant that should perform or be responsible for this action." ) 170 protected List<RequestOrchestrationActionParticipantComponent> participant; 171 172 /** 173 * The type of action to perform (create, update, remove). 174 */ 175 @Child(name = "type", type = {CodeableConcept.class}, order=17, min=0, max=1, modifier=false, summary=false) 176 @Description(shortDefinition="create | update | remove | fire-event", formalDefinition="The type of action to perform (create, update, remove)." ) 177 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-type") 178 protected CodeableConcept type; 179 180 /** 181 * Defines the grouping behavior for the action and its children. 182 */ 183 @Child(name = "groupingBehavior", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=false) 184 @Description(shortDefinition="visual-group | logical-group | sentence-group", formalDefinition="Defines the grouping behavior for the action and its children." ) 185 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-grouping-behavior") 186 protected Enumeration<ActionGroupingBehavior> groupingBehavior; 187 188 /** 189 * Defines the selection behavior for the action and its children. 190 */ 191 @Child(name = "selectionBehavior", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false) 192 @Description(shortDefinition="any | all | all-or-none | exactly-one | at-most-one | one-or-more", formalDefinition="Defines the selection behavior for the action and its children." ) 193 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-selection-behavior") 194 protected Enumeration<ActionSelectionBehavior> selectionBehavior; 195 196 /** 197 * Defines expectations around whether an action is required. 198 */ 199 @Child(name = "requiredBehavior", type = {CodeType.class}, order=20, min=0, max=1, modifier=false, summary=false) 200 @Description(shortDefinition="must | could | must-unless-documented", formalDefinition="Defines expectations around whether an action is required." ) 201 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-required-behavior") 202 protected Enumeration<ActionRequiredBehavior> requiredBehavior; 203 204 /** 205 * Defines whether the action should usually be preselected. 206 */ 207 @Child(name = "precheckBehavior", type = {CodeType.class}, order=21, min=0, max=1, modifier=false, summary=false) 208 @Description(shortDefinition="yes | no", formalDefinition="Defines whether the action should usually be preselected." ) 209 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-precheck-behavior") 210 protected Enumeration<ActionPrecheckBehavior> precheckBehavior; 211 212 /** 213 * Defines whether the action can be selected multiple times. 214 */ 215 @Child(name = "cardinalityBehavior", type = {CodeType.class}, order=22, min=0, max=1, modifier=false, summary=false) 216 @Description(shortDefinition="single | multiple", formalDefinition="Defines whether the action can be selected multiple times." ) 217 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-cardinality-behavior") 218 protected Enumeration<ActionCardinalityBehavior> cardinalityBehavior; 219 220 /** 221 * The resource that is the target of the action (e.g. CommunicationRequest). 222 */ 223 @Child(name = "resource", type = {Reference.class}, order=23, min=0, max=1, modifier=false, summary=false) 224 @Description(shortDefinition="The target of the action", formalDefinition="The resource that is the target of the action (e.g. CommunicationRequest)." ) 225 protected Reference resource; 226 227 /** 228 * A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured. 229 */ 230 @Child(name = "definition", type = {CanonicalType.class, UriType.class}, order=24, min=0, max=1, modifier=false, summary=false) 231 @Description(shortDefinition="Description of the activity to be performed", formalDefinition="A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured." ) 232 protected DataType definition; 233 234 /** 235 * A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. 236 */ 237 @Child(name = "transform", type = {CanonicalType.class}, order=25, min=0, max=1, modifier=false, summary=false) 238 @Description(shortDefinition="Transform to apply the template", formalDefinition="A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input." ) 239 protected CanonicalType transform; 240 241 /** 242 * Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result. 243 */ 244 @Child(name = "dynamicValue", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 245 @Description(shortDefinition="Dynamic aspects of the definition", formalDefinition="Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result." ) 246 protected List<RequestOrchestrationActionDynamicValueComponent> dynamicValue; 247 248 /** 249 * Sub actions. 250 */ 251 @Child(name = "action", type = {RequestOrchestrationActionComponent.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 252 @Description(shortDefinition="Sub action", formalDefinition="Sub actions." ) 253 protected List<RequestOrchestrationActionComponent> action; 254 255 private static final long serialVersionUID = -1292193514L; 256 257 /** 258 * Constructor 259 */ 260 public RequestOrchestrationActionComponent() { 261 super(); 262 } 263 264 /** 265 * @return {@link #linkId} (The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value 266 */ 267 public StringType getLinkIdElement() { 268 if (this.linkId == null) 269 if (Configuration.errorOnAutoCreate()) 270 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.linkId"); 271 else if (Configuration.doAutoCreate()) 272 this.linkId = new StringType(); // bb 273 return this.linkId; 274 } 275 276 public boolean hasLinkIdElement() { 277 return this.linkId != null && !this.linkId.isEmpty(); 278 } 279 280 public boolean hasLinkId() { 281 return this.linkId != null && !this.linkId.isEmpty(); 282 } 283 284 /** 285 * @param value {@link #linkId} (The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value 286 */ 287 public RequestOrchestrationActionComponent setLinkIdElement(StringType value) { 288 this.linkId = value; 289 return this; 290 } 291 292 /** 293 * @return The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource. 294 */ 295 public String getLinkId() { 296 return this.linkId == null ? null : this.linkId.getValue(); 297 } 298 299 /** 300 * @param value The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource. 301 */ 302 public RequestOrchestrationActionComponent setLinkId(String value) { 303 if (Utilities.noString(value)) 304 this.linkId = null; 305 else { 306 if (this.linkId == null) 307 this.linkId = new StringType(); 308 this.linkId.setValue(value); 309 } 310 return this; 311 } 312 313 /** 314 * @return {@link #prefix} (A user-visible prefix for the action. For example a section or item numbering such as 1. or A.). This is the underlying object with id, value and extensions. The accessor "getPrefix" gives direct access to the value 315 */ 316 public StringType getPrefixElement() { 317 if (this.prefix == null) 318 if (Configuration.errorOnAutoCreate()) 319 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.prefix"); 320 else if (Configuration.doAutoCreate()) 321 this.prefix = new StringType(); // bb 322 return this.prefix; 323 } 324 325 public boolean hasPrefixElement() { 326 return this.prefix != null && !this.prefix.isEmpty(); 327 } 328 329 public boolean hasPrefix() { 330 return this.prefix != null && !this.prefix.isEmpty(); 331 } 332 333 /** 334 * @param value {@link #prefix} (A user-visible prefix for the action. For example a section or item numbering such as 1. or A.). This is the underlying object with id, value and extensions. The accessor "getPrefix" gives direct access to the value 335 */ 336 public RequestOrchestrationActionComponent setPrefixElement(StringType value) { 337 this.prefix = value; 338 return this; 339 } 340 341 /** 342 * @return A user-visible prefix for the action. For example a section or item numbering such as 1. or A. 343 */ 344 public String getPrefix() { 345 return this.prefix == null ? null : this.prefix.getValue(); 346 } 347 348 /** 349 * @param value A user-visible prefix for the action. For example a section or item numbering such as 1. or A. 350 */ 351 public RequestOrchestrationActionComponent setPrefix(String value) { 352 if (Utilities.noString(value)) 353 this.prefix = null; 354 else { 355 if (this.prefix == null) 356 this.prefix = new StringType(); 357 this.prefix.setValue(value); 358 } 359 return this; 360 } 361 362 /** 363 * @return {@link #title} (The title of the action displayed to a user.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 364 */ 365 public StringType getTitleElement() { 366 if (this.title == null) 367 if (Configuration.errorOnAutoCreate()) 368 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.title"); 369 else if (Configuration.doAutoCreate()) 370 this.title = new StringType(); // bb 371 return this.title; 372 } 373 374 public boolean hasTitleElement() { 375 return this.title != null && !this.title.isEmpty(); 376 } 377 378 public boolean hasTitle() { 379 return this.title != null && !this.title.isEmpty(); 380 } 381 382 /** 383 * @param value {@link #title} (The title of the action displayed to a user.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 384 */ 385 public RequestOrchestrationActionComponent setTitleElement(StringType value) { 386 this.title = value; 387 return this; 388 } 389 390 /** 391 * @return The title of the action displayed to a user. 392 */ 393 public String getTitle() { 394 return this.title == null ? null : this.title.getValue(); 395 } 396 397 /** 398 * @param value The title of the action displayed to a user. 399 */ 400 public RequestOrchestrationActionComponent setTitle(String value) { 401 if (Utilities.noString(value)) 402 this.title = null; 403 else { 404 if (this.title == null) 405 this.title = new StringType(); 406 this.title.setValue(value); 407 } 408 return this; 409 } 410 411 /** 412 * @return {@link #description} (A short description of the action used to provide a summary to display to the user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 413 */ 414 public MarkdownType getDescriptionElement() { 415 if (this.description == null) 416 if (Configuration.errorOnAutoCreate()) 417 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.description"); 418 else if (Configuration.doAutoCreate()) 419 this.description = new MarkdownType(); // bb 420 return this.description; 421 } 422 423 public boolean hasDescriptionElement() { 424 return this.description != null && !this.description.isEmpty(); 425 } 426 427 public boolean hasDescription() { 428 return this.description != null && !this.description.isEmpty(); 429 } 430 431 /** 432 * @param value {@link #description} (A short description of the action used to provide a summary to display to the user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 433 */ 434 public RequestOrchestrationActionComponent setDescriptionElement(MarkdownType value) { 435 this.description = value; 436 return this; 437 } 438 439 /** 440 * @return A short description of the action used to provide a summary to display to the user. 441 */ 442 public String getDescription() { 443 return this.description == null ? null : this.description.getValue(); 444 } 445 446 /** 447 * @param value A short description of the action used to provide a summary to display to the user. 448 */ 449 public RequestOrchestrationActionComponent setDescription(String value) { 450 if (Utilities.noString(value)) 451 this.description = null; 452 else { 453 if (this.description == null) 454 this.description = new MarkdownType(); 455 this.description.setValue(value); 456 } 457 return this; 458 } 459 460 /** 461 * @return {@link #textEquivalent} (A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.). This is the underlying object with id, value and extensions. The accessor "getTextEquivalent" gives direct access to the value 462 */ 463 public MarkdownType getTextEquivalentElement() { 464 if (this.textEquivalent == null) 465 if (Configuration.errorOnAutoCreate()) 466 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.textEquivalent"); 467 else if (Configuration.doAutoCreate()) 468 this.textEquivalent = new MarkdownType(); // bb 469 return this.textEquivalent; 470 } 471 472 public boolean hasTextEquivalentElement() { 473 return this.textEquivalent != null && !this.textEquivalent.isEmpty(); 474 } 475 476 public boolean hasTextEquivalent() { 477 return this.textEquivalent != null && !this.textEquivalent.isEmpty(); 478 } 479 480 /** 481 * @param value {@link #textEquivalent} (A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.). This is the underlying object with id, value and extensions. The accessor "getTextEquivalent" gives direct access to the value 482 */ 483 public RequestOrchestrationActionComponent setTextEquivalentElement(MarkdownType value) { 484 this.textEquivalent = value; 485 return this; 486 } 487 488 /** 489 * @return A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. 490 */ 491 public String getTextEquivalent() { 492 return this.textEquivalent == null ? null : this.textEquivalent.getValue(); 493 } 494 495 /** 496 * @param value A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. 497 */ 498 public RequestOrchestrationActionComponent setTextEquivalent(String value) { 499 if (Utilities.noString(value)) 500 this.textEquivalent = null; 501 else { 502 if (this.textEquivalent == null) 503 this.textEquivalent = new MarkdownType(); 504 this.textEquivalent.setValue(value); 505 } 506 return this; 507 } 508 509 /** 510 * @return {@link #priority} (Indicates how quickly the action should be addressed with respect to other actions.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 511 */ 512 public Enumeration<RequestPriority> getPriorityElement() { 513 if (this.priority == null) 514 if (Configuration.errorOnAutoCreate()) 515 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.priority"); 516 else if (Configuration.doAutoCreate()) 517 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 518 return this.priority; 519 } 520 521 public boolean hasPriorityElement() { 522 return this.priority != null && !this.priority.isEmpty(); 523 } 524 525 public boolean hasPriority() { 526 return this.priority != null && !this.priority.isEmpty(); 527 } 528 529 /** 530 * @param value {@link #priority} (Indicates how quickly the action should be addressed with respect to other actions.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 531 */ 532 public RequestOrchestrationActionComponent setPriorityElement(Enumeration<RequestPriority> value) { 533 this.priority = value; 534 return this; 535 } 536 537 /** 538 * @return Indicates how quickly the action should be addressed with respect to other actions. 539 */ 540 public RequestPriority getPriority() { 541 return this.priority == null ? null : this.priority.getValue(); 542 } 543 544 /** 545 * @param value Indicates how quickly the action should be addressed with respect to other actions. 546 */ 547 public RequestOrchestrationActionComponent setPriority(RequestPriority value) { 548 if (value == null) 549 this.priority = null; 550 else { 551 if (this.priority == null) 552 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 553 this.priority.setValue(value); 554 } 555 return this; 556 } 557 558 /** 559 * @return {@link #code} (A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.) 560 */ 561 public List<CodeableConcept> getCode() { 562 if (this.code == null) 563 this.code = new ArrayList<CodeableConcept>(); 564 return this.code; 565 } 566 567 /** 568 * @return Returns a reference to <code>this</code> for easy method chaining 569 */ 570 public RequestOrchestrationActionComponent setCode(List<CodeableConcept> theCode) { 571 this.code = theCode; 572 return this; 573 } 574 575 public boolean hasCode() { 576 if (this.code == null) 577 return false; 578 for (CodeableConcept item : this.code) 579 if (!item.isEmpty()) 580 return true; 581 return false; 582 } 583 584 public CodeableConcept addCode() { //3 585 CodeableConcept t = new CodeableConcept(); 586 if (this.code == null) 587 this.code = new ArrayList<CodeableConcept>(); 588 this.code.add(t); 589 return t; 590 } 591 592 public RequestOrchestrationActionComponent addCode(CodeableConcept t) { //3 593 if (t == null) 594 return this; 595 if (this.code == null) 596 this.code = new ArrayList<CodeableConcept>(); 597 this.code.add(t); 598 return this; 599 } 600 601 /** 602 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3} 603 */ 604 public CodeableConcept getCodeFirstRep() { 605 if (getCode().isEmpty()) { 606 addCode(); 607 } 608 return getCode().get(0); 609 } 610 611 /** 612 * @return {@link #documentation} (Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.) 613 */ 614 public List<RelatedArtifact> getDocumentation() { 615 if (this.documentation == null) 616 this.documentation = new ArrayList<RelatedArtifact>(); 617 return this.documentation; 618 } 619 620 /** 621 * @return Returns a reference to <code>this</code> for easy method chaining 622 */ 623 public RequestOrchestrationActionComponent setDocumentation(List<RelatedArtifact> theDocumentation) { 624 this.documentation = theDocumentation; 625 return this; 626 } 627 628 public boolean hasDocumentation() { 629 if (this.documentation == null) 630 return false; 631 for (RelatedArtifact item : this.documentation) 632 if (!item.isEmpty()) 633 return true; 634 return false; 635 } 636 637 public RelatedArtifact addDocumentation() { //3 638 RelatedArtifact t = new RelatedArtifact(); 639 if (this.documentation == null) 640 this.documentation = new ArrayList<RelatedArtifact>(); 641 this.documentation.add(t); 642 return t; 643 } 644 645 public RequestOrchestrationActionComponent addDocumentation(RelatedArtifact t) { //3 646 if (t == null) 647 return this; 648 if (this.documentation == null) 649 this.documentation = new ArrayList<RelatedArtifact>(); 650 this.documentation.add(t); 651 return this; 652 } 653 654 /** 655 * @return The first repetition of repeating field {@link #documentation}, creating it if it does not already exist {3} 656 */ 657 public RelatedArtifact getDocumentationFirstRep() { 658 if (getDocumentation().isEmpty()) { 659 addDocumentation(); 660 } 661 return getDocumentation().get(0); 662 } 663 664 /** 665 * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this action.) 666 */ 667 public List<Reference> getGoal() { 668 if (this.goal == null) 669 this.goal = new ArrayList<Reference>(); 670 return this.goal; 671 } 672 673 /** 674 * @return Returns a reference to <code>this</code> for easy method chaining 675 */ 676 public RequestOrchestrationActionComponent setGoal(List<Reference> theGoal) { 677 this.goal = theGoal; 678 return this; 679 } 680 681 public boolean hasGoal() { 682 if (this.goal == null) 683 return false; 684 for (Reference item : this.goal) 685 if (!item.isEmpty()) 686 return true; 687 return false; 688 } 689 690 public Reference addGoal() { //3 691 Reference t = new Reference(); 692 if (this.goal == null) 693 this.goal = new ArrayList<Reference>(); 694 this.goal.add(t); 695 return t; 696 } 697 698 public RequestOrchestrationActionComponent addGoal(Reference t) { //3 699 if (t == null) 700 return this; 701 if (this.goal == null) 702 this.goal = new ArrayList<Reference>(); 703 this.goal.add(t); 704 return this; 705 } 706 707 /** 708 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 709 */ 710 public Reference getGoalFirstRep() { 711 if (getGoal().isEmpty()) { 712 addGoal(); 713 } 714 return getGoal().get(0); 715 } 716 717 /** 718 * @return {@link #condition} (An expression that describes applicability criteria, or start/stop conditions for the action.) 719 */ 720 public List<RequestOrchestrationActionConditionComponent> getCondition() { 721 if (this.condition == null) 722 this.condition = new ArrayList<RequestOrchestrationActionConditionComponent>(); 723 return this.condition; 724 } 725 726 /** 727 * @return Returns a reference to <code>this</code> for easy method chaining 728 */ 729 public RequestOrchestrationActionComponent setCondition(List<RequestOrchestrationActionConditionComponent> theCondition) { 730 this.condition = theCondition; 731 return this; 732 } 733 734 public boolean hasCondition() { 735 if (this.condition == null) 736 return false; 737 for (RequestOrchestrationActionConditionComponent item : this.condition) 738 if (!item.isEmpty()) 739 return true; 740 return false; 741 } 742 743 public RequestOrchestrationActionConditionComponent addCondition() { //3 744 RequestOrchestrationActionConditionComponent t = new RequestOrchestrationActionConditionComponent(); 745 if (this.condition == null) 746 this.condition = new ArrayList<RequestOrchestrationActionConditionComponent>(); 747 this.condition.add(t); 748 return t; 749 } 750 751 public RequestOrchestrationActionComponent addCondition(RequestOrchestrationActionConditionComponent t) { //3 752 if (t == null) 753 return this; 754 if (this.condition == null) 755 this.condition = new ArrayList<RequestOrchestrationActionConditionComponent>(); 756 this.condition.add(t); 757 return this; 758 } 759 760 /** 761 * @return The first repetition of repeating field {@link #condition}, creating it if it does not already exist {3} 762 */ 763 public RequestOrchestrationActionConditionComponent getConditionFirstRep() { 764 if (getCondition().isEmpty()) { 765 addCondition(); 766 } 767 return getCondition().get(0); 768 } 769 770 /** 771 * @return {@link #input} (Defines input data requirements for the action.) 772 */ 773 public List<RequestOrchestrationActionInputComponent> getInput() { 774 if (this.input == null) 775 this.input = new ArrayList<RequestOrchestrationActionInputComponent>(); 776 return this.input; 777 } 778 779 /** 780 * @return Returns a reference to <code>this</code> for easy method chaining 781 */ 782 public RequestOrchestrationActionComponent setInput(List<RequestOrchestrationActionInputComponent> theInput) { 783 this.input = theInput; 784 return this; 785 } 786 787 public boolean hasInput() { 788 if (this.input == null) 789 return false; 790 for (RequestOrchestrationActionInputComponent item : this.input) 791 if (!item.isEmpty()) 792 return true; 793 return false; 794 } 795 796 public RequestOrchestrationActionInputComponent addInput() { //3 797 RequestOrchestrationActionInputComponent t = new RequestOrchestrationActionInputComponent(); 798 if (this.input == null) 799 this.input = new ArrayList<RequestOrchestrationActionInputComponent>(); 800 this.input.add(t); 801 return t; 802 } 803 804 public RequestOrchestrationActionComponent addInput(RequestOrchestrationActionInputComponent t) { //3 805 if (t == null) 806 return this; 807 if (this.input == null) 808 this.input = new ArrayList<RequestOrchestrationActionInputComponent>(); 809 this.input.add(t); 810 return this; 811 } 812 813 /** 814 * @return The first repetition of repeating field {@link #input}, creating it if it does not already exist {3} 815 */ 816 public RequestOrchestrationActionInputComponent getInputFirstRep() { 817 if (getInput().isEmpty()) { 818 addInput(); 819 } 820 return getInput().get(0); 821 } 822 823 /** 824 * @return {@link #output} (Defines the outputs of the action, if any.) 825 */ 826 public List<RequestOrchestrationActionOutputComponent> getOutput() { 827 if (this.output == null) 828 this.output = new ArrayList<RequestOrchestrationActionOutputComponent>(); 829 return this.output; 830 } 831 832 /** 833 * @return Returns a reference to <code>this</code> for easy method chaining 834 */ 835 public RequestOrchestrationActionComponent setOutput(List<RequestOrchestrationActionOutputComponent> theOutput) { 836 this.output = theOutput; 837 return this; 838 } 839 840 public boolean hasOutput() { 841 if (this.output == null) 842 return false; 843 for (RequestOrchestrationActionOutputComponent item : this.output) 844 if (!item.isEmpty()) 845 return true; 846 return false; 847 } 848 849 public RequestOrchestrationActionOutputComponent addOutput() { //3 850 RequestOrchestrationActionOutputComponent t = new RequestOrchestrationActionOutputComponent(); 851 if (this.output == null) 852 this.output = new ArrayList<RequestOrchestrationActionOutputComponent>(); 853 this.output.add(t); 854 return t; 855 } 856 857 public RequestOrchestrationActionComponent addOutput(RequestOrchestrationActionOutputComponent t) { //3 858 if (t == null) 859 return this; 860 if (this.output == null) 861 this.output = new ArrayList<RequestOrchestrationActionOutputComponent>(); 862 this.output.add(t); 863 return this; 864 } 865 866 /** 867 * @return The first repetition of repeating field {@link #output}, creating it if it does not already exist {3} 868 */ 869 public RequestOrchestrationActionOutputComponent getOutputFirstRep() { 870 if (getOutput().isEmpty()) { 871 addOutput(); 872 } 873 return getOutput().get(0); 874 } 875 876 /** 877 * @return {@link #relatedAction} (A relationship to another action such as "before" or "30-60 minutes after start of".) 878 */ 879 public List<RequestOrchestrationActionRelatedActionComponent> getRelatedAction() { 880 if (this.relatedAction == null) 881 this.relatedAction = new ArrayList<RequestOrchestrationActionRelatedActionComponent>(); 882 return this.relatedAction; 883 } 884 885 /** 886 * @return Returns a reference to <code>this</code> for easy method chaining 887 */ 888 public RequestOrchestrationActionComponent setRelatedAction(List<RequestOrchestrationActionRelatedActionComponent> theRelatedAction) { 889 this.relatedAction = theRelatedAction; 890 return this; 891 } 892 893 public boolean hasRelatedAction() { 894 if (this.relatedAction == null) 895 return false; 896 for (RequestOrchestrationActionRelatedActionComponent item : this.relatedAction) 897 if (!item.isEmpty()) 898 return true; 899 return false; 900 } 901 902 public RequestOrchestrationActionRelatedActionComponent addRelatedAction() { //3 903 RequestOrchestrationActionRelatedActionComponent t = new RequestOrchestrationActionRelatedActionComponent(); 904 if (this.relatedAction == null) 905 this.relatedAction = new ArrayList<RequestOrchestrationActionRelatedActionComponent>(); 906 this.relatedAction.add(t); 907 return t; 908 } 909 910 public RequestOrchestrationActionComponent addRelatedAction(RequestOrchestrationActionRelatedActionComponent t) { //3 911 if (t == null) 912 return this; 913 if (this.relatedAction == null) 914 this.relatedAction = new ArrayList<RequestOrchestrationActionRelatedActionComponent>(); 915 this.relatedAction.add(t); 916 return this; 917 } 918 919 /** 920 * @return The first repetition of repeating field {@link #relatedAction}, creating it if it does not already exist {3} 921 */ 922 public RequestOrchestrationActionRelatedActionComponent getRelatedActionFirstRep() { 923 if (getRelatedAction().isEmpty()) { 924 addRelatedAction(); 925 } 926 return getRelatedAction().get(0); 927 } 928 929 /** 930 * @return {@link #timing} (An optional value describing when the action should be performed.) 931 */ 932 public DataType getTiming() { 933 return this.timing; 934 } 935 936 /** 937 * @return {@link #timing} (An optional value describing when the action should be performed.) 938 */ 939 public DateTimeType getTimingDateTimeType() throws FHIRException { 940 if (this.timing == null) 941 this.timing = new DateTimeType(); 942 if (!(this.timing instanceof DateTimeType)) 943 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.timing.getClass().getName()+" was encountered"); 944 return (DateTimeType) this.timing; 945 } 946 947 public boolean hasTimingDateTimeType() { 948 return this != null && this.timing instanceof DateTimeType; 949 } 950 951 /** 952 * @return {@link #timing} (An optional value describing when the action should be performed.) 953 */ 954 public Age getTimingAge() throws FHIRException { 955 if (this.timing == null) 956 this.timing = new Age(); 957 if (!(this.timing instanceof Age)) 958 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.timing.getClass().getName()+" was encountered"); 959 return (Age) this.timing; 960 } 961 962 public boolean hasTimingAge() { 963 return this != null && this.timing instanceof Age; 964 } 965 966 /** 967 * @return {@link #timing} (An optional value describing when the action should be performed.) 968 */ 969 public Period getTimingPeriod() throws FHIRException { 970 if (this.timing == null) 971 this.timing = new Period(); 972 if (!(this.timing instanceof Period)) 973 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.timing.getClass().getName()+" was encountered"); 974 return (Period) this.timing; 975 } 976 977 public boolean hasTimingPeriod() { 978 return this != null && this.timing instanceof Period; 979 } 980 981 /** 982 * @return {@link #timing} (An optional value describing when the action should be performed.) 983 */ 984 public Duration getTimingDuration() throws FHIRException { 985 if (this.timing == null) 986 this.timing = new Duration(); 987 if (!(this.timing instanceof Duration)) 988 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.timing.getClass().getName()+" was encountered"); 989 return (Duration) this.timing; 990 } 991 992 public boolean hasTimingDuration() { 993 return this != null && this.timing instanceof Duration; 994 } 995 996 /** 997 * @return {@link #timing} (An optional value describing when the action should be performed.) 998 */ 999 public Range getTimingRange() throws FHIRException { 1000 if (this.timing == null) 1001 this.timing = new Range(); 1002 if (!(this.timing instanceof Range)) 1003 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.timing.getClass().getName()+" was encountered"); 1004 return (Range) this.timing; 1005 } 1006 1007 public boolean hasTimingRange() { 1008 return this != null && this.timing instanceof Range; 1009 } 1010 1011 /** 1012 * @return {@link #timing} (An optional value describing when the action should be performed.) 1013 */ 1014 public Timing getTimingTiming() throws FHIRException { 1015 if (this.timing == null) 1016 this.timing = new Timing(); 1017 if (!(this.timing instanceof Timing)) 1018 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.timing.getClass().getName()+" was encountered"); 1019 return (Timing) this.timing; 1020 } 1021 1022 public boolean hasTimingTiming() { 1023 return this != null && this.timing instanceof Timing; 1024 } 1025 1026 public boolean hasTiming() { 1027 return this.timing != null && !this.timing.isEmpty(); 1028 } 1029 1030 /** 1031 * @param value {@link #timing} (An optional value describing when the action should be performed.) 1032 */ 1033 public RequestOrchestrationActionComponent setTiming(DataType value) { 1034 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Duration || value instanceof Range || value instanceof Timing)) 1035 throw new FHIRException("Not the right type for RequestOrchestration.action.timing[x]: "+value.fhirType()); 1036 this.timing = value; 1037 return this; 1038 } 1039 1040 /** 1041 * @return {@link #location} (Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.) 1042 */ 1043 public CodeableReference getLocation() { 1044 if (this.location == null) 1045 if (Configuration.errorOnAutoCreate()) 1046 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.location"); 1047 else if (Configuration.doAutoCreate()) 1048 this.location = new CodeableReference(); // cc 1049 return this.location; 1050 } 1051 1052 public boolean hasLocation() { 1053 return this.location != null && !this.location.isEmpty(); 1054 } 1055 1056 /** 1057 * @param value {@link #location} (Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.) 1058 */ 1059 public RequestOrchestrationActionComponent setLocation(CodeableReference value) { 1060 this.location = value; 1061 return this; 1062 } 1063 1064 /** 1065 * @return {@link #participant} (The participant that should perform or be responsible for this action.) 1066 */ 1067 public List<RequestOrchestrationActionParticipantComponent> getParticipant() { 1068 if (this.participant == null) 1069 this.participant = new ArrayList<RequestOrchestrationActionParticipantComponent>(); 1070 return this.participant; 1071 } 1072 1073 /** 1074 * @return Returns a reference to <code>this</code> for easy method chaining 1075 */ 1076 public RequestOrchestrationActionComponent setParticipant(List<RequestOrchestrationActionParticipantComponent> theParticipant) { 1077 this.participant = theParticipant; 1078 return this; 1079 } 1080 1081 public boolean hasParticipant() { 1082 if (this.participant == null) 1083 return false; 1084 for (RequestOrchestrationActionParticipantComponent item : this.participant) 1085 if (!item.isEmpty()) 1086 return true; 1087 return false; 1088 } 1089 1090 public RequestOrchestrationActionParticipantComponent addParticipant() { //3 1091 RequestOrchestrationActionParticipantComponent t = new RequestOrchestrationActionParticipantComponent(); 1092 if (this.participant == null) 1093 this.participant = new ArrayList<RequestOrchestrationActionParticipantComponent>(); 1094 this.participant.add(t); 1095 return t; 1096 } 1097 1098 public RequestOrchestrationActionComponent addParticipant(RequestOrchestrationActionParticipantComponent t) { //3 1099 if (t == null) 1100 return this; 1101 if (this.participant == null) 1102 this.participant = new ArrayList<RequestOrchestrationActionParticipantComponent>(); 1103 this.participant.add(t); 1104 return this; 1105 } 1106 1107 /** 1108 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist {3} 1109 */ 1110 public RequestOrchestrationActionParticipantComponent getParticipantFirstRep() { 1111 if (getParticipant().isEmpty()) { 1112 addParticipant(); 1113 } 1114 return getParticipant().get(0); 1115 } 1116 1117 /** 1118 * @return {@link #type} (The type of action to perform (create, update, remove).) 1119 */ 1120 public CodeableConcept getType() { 1121 if (this.type == null) 1122 if (Configuration.errorOnAutoCreate()) 1123 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.type"); 1124 else if (Configuration.doAutoCreate()) 1125 this.type = new CodeableConcept(); // cc 1126 return this.type; 1127 } 1128 1129 public boolean hasType() { 1130 return this.type != null && !this.type.isEmpty(); 1131 } 1132 1133 /** 1134 * @param value {@link #type} (The type of action to perform (create, update, remove).) 1135 */ 1136 public RequestOrchestrationActionComponent setType(CodeableConcept value) { 1137 this.type = value; 1138 return this; 1139 } 1140 1141 /** 1142 * @return {@link #groupingBehavior} (Defines the grouping behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getGroupingBehavior" gives direct access to the value 1143 */ 1144 public Enumeration<ActionGroupingBehavior> getGroupingBehaviorElement() { 1145 if (this.groupingBehavior == null) 1146 if (Configuration.errorOnAutoCreate()) 1147 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.groupingBehavior"); 1148 else if (Configuration.doAutoCreate()) 1149 this.groupingBehavior = new Enumeration<ActionGroupingBehavior>(new ActionGroupingBehaviorEnumFactory()); // bb 1150 return this.groupingBehavior; 1151 } 1152 1153 public boolean hasGroupingBehaviorElement() { 1154 return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); 1155 } 1156 1157 public boolean hasGroupingBehavior() { 1158 return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); 1159 } 1160 1161 /** 1162 * @param value {@link #groupingBehavior} (Defines the grouping behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getGroupingBehavior" gives direct access to the value 1163 */ 1164 public RequestOrchestrationActionComponent setGroupingBehaviorElement(Enumeration<ActionGroupingBehavior> value) { 1165 this.groupingBehavior = value; 1166 return this; 1167 } 1168 1169 /** 1170 * @return Defines the grouping behavior for the action and its children. 1171 */ 1172 public ActionGroupingBehavior getGroupingBehavior() { 1173 return this.groupingBehavior == null ? null : this.groupingBehavior.getValue(); 1174 } 1175 1176 /** 1177 * @param value Defines the grouping behavior for the action and its children. 1178 */ 1179 public RequestOrchestrationActionComponent setGroupingBehavior(ActionGroupingBehavior value) { 1180 if (value == null) 1181 this.groupingBehavior = null; 1182 else { 1183 if (this.groupingBehavior == null) 1184 this.groupingBehavior = new Enumeration<ActionGroupingBehavior>(new ActionGroupingBehaviorEnumFactory()); 1185 this.groupingBehavior.setValue(value); 1186 } 1187 return this; 1188 } 1189 1190 /** 1191 * @return {@link #selectionBehavior} (Defines the selection behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getSelectionBehavior" gives direct access to the value 1192 */ 1193 public Enumeration<ActionSelectionBehavior> getSelectionBehaviorElement() { 1194 if (this.selectionBehavior == null) 1195 if (Configuration.errorOnAutoCreate()) 1196 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.selectionBehavior"); 1197 else if (Configuration.doAutoCreate()) 1198 this.selectionBehavior = new Enumeration<ActionSelectionBehavior>(new ActionSelectionBehaviorEnumFactory()); // bb 1199 return this.selectionBehavior; 1200 } 1201 1202 public boolean hasSelectionBehaviorElement() { 1203 return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); 1204 } 1205 1206 public boolean hasSelectionBehavior() { 1207 return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); 1208 } 1209 1210 /** 1211 * @param value {@link #selectionBehavior} (Defines the selection behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getSelectionBehavior" gives direct access to the value 1212 */ 1213 public RequestOrchestrationActionComponent setSelectionBehaviorElement(Enumeration<ActionSelectionBehavior> value) { 1214 this.selectionBehavior = value; 1215 return this; 1216 } 1217 1218 /** 1219 * @return Defines the selection behavior for the action and its children. 1220 */ 1221 public ActionSelectionBehavior getSelectionBehavior() { 1222 return this.selectionBehavior == null ? null : this.selectionBehavior.getValue(); 1223 } 1224 1225 /** 1226 * @param value Defines the selection behavior for the action and its children. 1227 */ 1228 public RequestOrchestrationActionComponent setSelectionBehavior(ActionSelectionBehavior value) { 1229 if (value == null) 1230 this.selectionBehavior = null; 1231 else { 1232 if (this.selectionBehavior == null) 1233 this.selectionBehavior = new Enumeration<ActionSelectionBehavior>(new ActionSelectionBehaviorEnumFactory()); 1234 this.selectionBehavior.setValue(value); 1235 } 1236 return this; 1237 } 1238 1239 /** 1240 * @return {@link #requiredBehavior} (Defines expectations around whether an action is required.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value 1241 */ 1242 public Enumeration<ActionRequiredBehavior> getRequiredBehaviorElement() { 1243 if (this.requiredBehavior == null) 1244 if (Configuration.errorOnAutoCreate()) 1245 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.requiredBehavior"); 1246 else if (Configuration.doAutoCreate()) 1247 this.requiredBehavior = new Enumeration<ActionRequiredBehavior>(new ActionRequiredBehaviorEnumFactory()); // bb 1248 return this.requiredBehavior; 1249 } 1250 1251 public boolean hasRequiredBehaviorElement() { 1252 return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); 1253 } 1254 1255 public boolean hasRequiredBehavior() { 1256 return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); 1257 } 1258 1259 /** 1260 * @param value {@link #requiredBehavior} (Defines expectations around whether an action is required.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value 1261 */ 1262 public RequestOrchestrationActionComponent setRequiredBehaviorElement(Enumeration<ActionRequiredBehavior> value) { 1263 this.requiredBehavior = value; 1264 return this; 1265 } 1266 1267 /** 1268 * @return Defines expectations around whether an action is required. 1269 */ 1270 public ActionRequiredBehavior getRequiredBehavior() { 1271 return this.requiredBehavior == null ? null : this.requiredBehavior.getValue(); 1272 } 1273 1274 /** 1275 * @param value Defines expectations around whether an action is required. 1276 */ 1277 public RequestOrchestrationActionComponent setRequiredBehavior(ActionRequiredBehavior value) { 1278 if (value == null) 1279 this.requiredBehavior = null; 1280 else { 1281 if (this.requiredBehavior == null) 1282 this.requiredBehavior = new Enumeration<ActionRequiredBehavior>(new ActionRequiredBehaviorEnumFactory()); 1283 this.requiredBehavior.setValue(value); 1284 } 1285 return this; 1286 } 1287 1288 /** 1289 * @return {@link #precheckBehavior} (Defines whether the action should usually be preselected.). This is the underlying object with id, value and extensions. The accessor "getPrecheckBehavior" gives direct access to the value 1290 */ 1291 public Enumeration<ActionPrecheckBehavior> getPrecheckBehaviorElement() { 1292 if (this.precheckBehavior == null) 1293 if (Configuration.errorOnAutoCreate()) 1294 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.precheckBehavior"); 1295 else if (Configuration.doAutoCreate()) 1296 this.precheckBehavior = new Enumeration<ActionPrecheckBehavior>(new ActionPrecheckBehaviorEnumFactory()); // bb 1297 return this.precheckBehavior; 1298 } 1299 1300 public boolean hasPrecheckBehaviorElement() { 1301 return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); 1302 } 1303 1304 public boolean hasPrecheckBehavior() { 1305 return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); 1306 } 1307 1308 /** 1309 * @param value {@link #precheckBehavior} (Defines whether the action should usually be preselected.). This is the underlying object with id, value and extensions. The accessor "getPrecheckBehavior" gives direct access to the value 1310 */ 1311 public RequestOrchestrationActionComponent setPrecheckBehaviorElement(Enumeration<ActionPrecheckBehavior> value) { 1312 this.precheckBehavior = value; 1313 return this; 1314 } 1315 1316 /** 1317 * @return Defines whether the action should usually be preselected. 1318 */ 1319 public ActionPrecheckBehavior getPrecheckBehavior() { 1320 return this.precheckBehavior == null ? null : this.precheckBehavior.getValue(); 1321 } 1322 1323 /** 1324 * @param value Defines whether the action should usually be preselected. 1325 */ 1326 public RequestOrchestrationActionComponent setPrecheckBehavior(ActionPrecheckBehavior value) { 1327 if (value == null) 1328 this.precheckBehavior = null; 1329 else { 1330 if (this.precheckBehavior == null) 1331 this.precheckBehavior = new Enumeration<ActionPrecheckBehavior>(new ActionPrecheckBehaviorEnumFactory()); 1332 this.precheckBehavior.setValue(value); 1333 } 1334 return this; 1335 } 1336 1337 /** 1338 * @return {@link #cardinalityBehavior} (Defines whether the action can be selected multiple times.). This is the underlying object with id, value and extensions. The accessor "getCardinalityBehavior" gives direct access to the value 1339 */ 1340 public Enumeration<ActionCardinalityBehavior> getCardinalityBehaviorElement() { 1341 if (this.cardinalityBehavior == null) 1342 if (Configuration.errorOnAutoCreate()) 1343 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.cardinalityBehavior"); 1344 else if (Configuration.doAutoCreate()) 1345 this.cardinalityBehavior = new Enumeration<ActionCardinalityBehavior>(new ActionCardinalityBehaviorEnumFactory()); // bb 1346 return this.cardinalityBehavior; 1347 } 1348 1349 public boolean hasCardinalityBehaviorElement() { 1350 return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); 1351 } 1352 1353 public boolean hasCardinalityBehavior() { 1354 return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); 1355 } 1356 1357 /** 1358 * @param value {@link #cardinalityBehavior} (Defines whether the action can be selected multiple times.). This is the underlying object with id, value and extensions. The accessor "getCardinalityBehavior" gives direct access to the value 1359 */ 1360 public RequestOrchestrationActionComponent setCardinalityBehaviorElement(Enumeration<ActionCardinalityBehavior> value) { 1361 this.cardinalityBehavior = value; 1362 return this; 1363 } 1364 1365 /** 1366 * @return Defines whether the action can be selected multiple times. 1367 */ 1368 public ActionCardinalityBehavior getCardinalityBehavior() { 1369 return this.cardinalityBehavior == null ? null : this.cardinalityBehavior.getValue(); 1370 } 1371 1372 /** 1373 * @param value Defines whether the action can be selected multiple times. 1374 */ 1375 public RequestOrchestrationActionComponent setCardinalityBehavior(ActionCardinalityBehavior value) { 1376 if (value == null) 1377 this.cardinalityBehavior = null; 1378 else { 1379 if (this.cardinalityBehavior == null) 1380 this.cardinalityBehavior = new Enumeration<ActionCardinalityBehavior>(new ActionCardinalityBehaviorEnumFactory()); 1381 this.cardinalityBehavior.setValue(value); 1382 } 1383 return this; 1384 } 1385 1386 /** 1387 * @return {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) 1388 */ 1389 public Reference getResource() { 1390 if (this.resource == null) 1391 if (Configuration.errorOnAutoCreate()) 1392 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.resource"); 1393 else if (Configuration.doAutoCreate()) 1394 this.resource = new Reference(); // cc 1395 return this.resource; 1396 } 1397 1398 public boolean hasResource() { 1399 return this.resource != null && !this.resource.isEmpty(); 1400 } 1401 1402 /** 1403 * @param value {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) 1404 */ 1405 public RequestOrchestrationActionComponent setResource(Reference value) { 1406 this.resource = value; 1407 return this; 1408 } 1409 1410 /** 1411 * @return {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) 1412 */ 1413 public DataType getDefinition() { 1414 return this.definition; 1415 } 1416 1417 /** 1418 * @return {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) 1419 */ 1420 public CanonicalType getDefinitionCanonicalType() throws FHIRException { 1421 if (this.definition == null) 1422 this.definition = new CanonicalType(); 1423 if (!(this.definition instanceof CanonicalType)) 1424 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.definition.getClass().getName()+" was encountered"); 1425 return (CanonicalType) this.definition; 1426 } 1427 1428 public boolean hasDefinitionCanonicalType() { 1429 return this != null && this.definition instanceof CanonicalType; 1430 } 1431 1432 /** 1433 * @return {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) 1434 */ 1435 public UriType getDefinitionUriType() throws FHIRException { 1436 if (this.definition == null) 1437 this.definition = new UriType(); 1438 if (!(this.definition instanceof UriType)) 1439 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.definition.getClass().getName()+" was encountered"); 1440 return (UriType) this.definition; 1441 } 1442 1443 public boolean hasDefinitionUriType() { 1444 return this != null && this.definition instanceof UriType; 1445 } 1446 1447 public boolean hasDefinition() { 1448 return this.definition != null && !this.definition.isEmpty(); 1449 } 1450 1451 /** 1452 * @param value {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) 1453 */ 1454 public RequestOrchestrationActionComponent setDefinition(DataType value) { 1455 if (value != null && !(value instanceof CanonicalType || value instanceof UriType)) 1456 throw new FHIRException("Not the right type for RequestOrchestration.action.definition[x]: "+value.fhirType()); 1457 this.definition = value; 1458 return this; 1459 } 1460 1461 /** 1462 * @return {@link #transform} (A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value 1463 */ 1464 public CanonicalType getTransformElement() { 1465 if (this.transform == null) 1466 if (Configuration.errorOnAutoCreate()) 1467 throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.transform"); 1468 else if (Configuration.doAutoCreate()) 1469 this.transform = new CanonicalType(); // bb 1470 return this.transform; 1471 } 1472 1473 public boolean hasTransformElement() { 1474 return this.transform != null && !this.transform.isEmpty(); 1475 } 1476 1477 public boolean hasTransform() { 1478 return this.transform != null && !this.transform.isEmpty(); 1479 } 1480 1481 /** 1482 * @param value {@link #transform} (A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value 1483 */ 1484 public RequestOrchestrationActionComponent setTransformElement(CanonicalType value) { 1485 this.transform = value; 1486 return this; 1487 } 1488 1489 /** 1490 * @return A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. 1491 */ 1492 public String getTransform() { 1493 return this.transform == null ? null : this.transform.getValue(); 1494 } 1495 1496 /** 1497 * @param value A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. 1498 */ 1499 public RequestOrchestrationActionComponent setTransform(String value) { 1500 if (Utilities.noString(value)) 1501 this.transform = null; 1502 else { 1503 if (this.transform == null) 1504 this.transform = new CanonicalType(); 1505 this.transform.setValue(value); 1506 } 1507 return this; 1508 } 1509 1510 /** 1511 * @return {@link #dynamicValue} (Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.) 1512 */ 1513 public List<RequestOrchestrationActionDynamicValueComponent> getDynamicValue() { 1514 if (this.dynamicValue == null) 1515 this.dynamicValue = new ArrayList<RequestOrchestrationActionDynamicValueComponent>(); 1516 return this.dynamicValue; 1517 } 1518 1519 /** 1520 * @return Returns a reference to <code>this</code> for easy method chaining 1521 */ 1522 public RequestOrchestrationActionComponent setDynamicValue(List<RequestOrchestrationActionDynamicValueComponent> theDynamicValue) { 1523 this.dynamicValue = theDynamicValue; 1524 return this; 1525 } 1526 1527 public boolean hasDynamicValue() { 1528 if (this.dynamicValue == null) 1529 return false; 1530 for (RequestOrchestrationActionDynamicValueComponent item : this.dynamicValue) 1531 if (!item.isEmpty()) 1532 return true; 1533 return false; 1534 } 1535 1536 public RequestOrchestrationActionDynamicValueComponent addDynamicValue() { //3 1537 RequestOrchestrationActionDynamicValueComponent t = new RequestOrchestrationActionDynamicValueComponent(); 1538 if (this.dynamicValue == null) 1539 this.dynamicValue = new ArrayList<RequestOrchestrationActionDynamicValueComponent>(); 1540 this.dynamicValue.add(t); 1541 return t; 1542 } 1543 1544 public RequestOrchestrationActionComponent addDynamicValue(RequestOrchestrationActionDynamicValueComponent t) { //3 1545 if (t == null) 1546 return this; 1547 if (this.dynamicValue == null) 1548 this.dynamicValue = new ArrayList<RequestOrchestrationActionDynamicValueComponent>(); 1549 this.dynamicValue.add(t); 1550 return this; 1551 } 1552 1553 /** 1554 * @return The first repetition of repeating field {@link #dynamicValue}, creating it if it does not already exist {3} 1555 */ 1556 public RequestOrchestrationActionDynamicValueComponent getDynamicValueFirstRep() { 1557 if (getDynamicValue().isEmpty()) { 1558 addDynamicValue(); 1559 } 1560 return getDynamicValue().get(0); 1561 } 1562 1563 /** 1564 * @return {@link #action} (Sub actions.) 1565 */ 1566 public List<RequestOrchestrationActionComponent> getAction() { 1567 if (this.action == null) 1568 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 1569 return this.action; 1570 } 1571 1572 /** 1573 * @return Returns a reference to <code>this</code> for easy method chaining 1574 */ 1575 public RequestOrchestrationActionComponent setAction(List<RequestOrchestrationActionComponent> theAction) { 1576 this.action = theAction; 1577 return this; 1578 } 1579 1580 public boolean hasAction() { 1581 if (this.action == null) 1582 return false; 1583 for (RequestOrchestrationActionComponent item : this.action) 1584 if (!item.isEmpty()) 1585 return true; 1586 return false; 1587 } 1588 1589 public RequestOrchestrationActionComponent addAction() { //3 1590 RequestOrchestrationActionComponent t = new RequestOrchestrationActionComponent(); 1591 if (this.action == null) 1592 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 1593 this.action.add(t); 1594 return t; 1595 } 1596 1597 public RequestOrchestrationActionComponent addAction(RequestOrchestrationActionComponent t) { //3 1598 if (t == null) 1599 return this; 1600 if (this.action == null) 1601 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 1602 this.action.add(t); 1603 return this; 1604 } 1605 1606 /** 1607 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 1608 */ 1609 public RequestOrchestrationActionComponent getActionFirstRep() { 1610 if (getAction().isEmpty()) { 1611 addAction(); 1612 } 1613 return getAction().get(0); 1614 } 1615 1616 protected void listChildren(List<Property> children) { 1617 super.listChildren(children); 1618 children.add(new Property("linkId", "string", "The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.", 0, 1, linkId)); 1619 children.add(new Property("prefix", "string", "A user-visible prefix for the action. For example a section or item numbering such as 1. or A.", 0, 1, prefix)); 1620 children.add(new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title)); 1621 children.add(new Property("description", "markdown", "A short description of the action used to provide a summary to display to the user.", 0, 1, description)); 1622 children.add(new Property("textEquivalent", "markdown", "A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.", 0, 1, textEquivalent)); 1623 children.add(new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority)); 1624 children.add(new Property("code", "CodeableConcept", "A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.", 0, java.lang.Integer.MAX_VALUE, code)); 1625 children.add(new Property("documentation", "RelatedArtifact", "Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.", 0, java.lang.Integer.MAX_VALUE, documentation)); 1626 children.add(new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this action.", 0, java.lang.Integer.MAX_VALUE, goal)); 1627 children.add(new Property("condition", "", "An expression that describes applicability criteria, or start/stop conditions for the action.", 0, java.lang.Integer.MAX_VALUE, condition)); 1628 children.add(new Property("input", "", "Defines input data requirements for the action.", 0, java.lang.Integer.MAX_VALUE, input)); 1629 children.add(new Property("output", "", "Defines the outputs of the action, if any.", 0, java.lang.Integer.MAX_VALUE, output)); 1630 children.add(new Property("relatedAction", "", "A relationship to another action such as \"before\" or \"30-60 minutes after start of\".", 0, java.lang.Integer.MAX_VALUE, relatedAction)); 1631 children.add(new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing)); 1632 children.add(new Property("location", "CodeableReference(Location)", "Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location)); 1633 children.add(new Property("participant", "", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant)); 1634 children.add(new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type)); 1635 children.add(new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior)); 1636 children.add(new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior)); 1637 children.add(new Property("requiredBehavior", "code", "Defines expectations around whether an action is required.", 0, 1, requiredBehavior)); 1638 children.add(new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior)); 1639 children.add(new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior)); 1640 children.add(new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource)); 1641 children.add(new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition)); 1642 children.add(new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform)); 1643 children.add(new Property("dynamicValue", "", "Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue)); 1644 children.add(new Property("action", "@RequestOrchestration.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action)); 1645 } 1646 1647 @Override 1648 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1649 switch (_hash) { 1650 case -1102667083: /*linkId*/ return new Property("linkId", "string", "The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.", 0, 1, linkId); 1651 case -980110702: /*prefix*/ return new Property("prefix", "string", "A user-visible prefix for the action. For example a section or item numbering such as 1. or A.", 0, 1, prefix); 1652 case 110371416: /*title*/ return new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title); 1653 case -1724546052: /*description*/ return new Property("description", "markdown", "A short description of the action used to provide a summary to display to the user.", 0, 1, description); 1654 case -900391049: /*textEquivalent*/ return new Property("textEquivalent", "markdown", "A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.", 0, 1, textEquivalent); 1655 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority); 1656 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.", 0, java.lang.Integer.MAX_VALUE, code); 1657 case 1587405498: /*documentation*/ return new Property("documentation", "RelatedArtifact", "Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.", 0, java.lang.Integer.MAX_VALUE, documentation); 1658 case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this action.", 0, java.lang.Integer.MAX_VALUE, goal); 1659 case -861311717: /*condition*/ return new Property("condition", "", "An expression that describes applicability criteria, or start/stop conditions for the action.", 0, java.lang.Integer.MAX_VALUE, condition); 1660 case 100358090: /*input*/ return new Property("input", "", "Defines input data requirements for the action.", 0, java.lang.Integer.MAX_VALUE, input); 1661 case -1005512447: /*output*/ return new Property("output", "", "Defines the outputs of the action, if any.", 0, java.lang.Integer.MAX_VALUE, output); 1662 case -384107967: /*relatedAction*/ return new Property("relatedAction", "", "A relationship to another action such as \"before\" or \"30-60 minutes after start of\".", 0, java.lang.Integer.MAX_VALUE, relatedAction); 1663 case 164632566: /*timing[x]*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 1664 case -873664438: /*timing*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 1665 case -1837458939: /*timingDateTime*/ return new Property("timing[x]", "dateTime", "An optional value describing when the action should be performed.", 0, 1, timing); 1666 case 164607061: /*timingAge*/ return new Property("timing[x]", "Age", "An optional value describing when the action should be performed.", 0, 1, timing); 1667 case -615615829: /*timingPeriod*/ return new Property("timing[x]", "Period", "An optional value describing when the action should be performed.", 0, 1, timing); 1668 case -1327253506: /*timingDuration*/ return new Property("timing[x]", "Duration", "An optional value describing when the action should be performed.", 0, 1, timing); 1669 case -710871277: /*timingRange*/ return new Property("timing[x]", "Range", "An optional value describing when the action should be performed.", 0, 1, timing); 1670 case -497554124: /*timingTiming*/ return new Property("timing[x]", "Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 1671 case 1901043637: /*location*/ return new Property("location", "CodeableReference(Location)", "Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location); 1672 case 767422259: /*participant*/ return new Property("participant", "", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant); 1673 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type); 1674 case 586678389: /*groupingBehavior*/ return new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior); 1675 case 168639486: /*selectionBehavior*/ return new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior); 1676 case -1163906287: /*requiredBehavior*/ return new Property("requiredBehavior", "code", "Defines expectations around whether an action is required.", 0, 1, requiredBehavior); 1677 case -1174249033: /*precheckBehavior*/ return new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior); 1678 case -922577408: /*cardinalityBehavior*/ return new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior); 1679 case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource); 1680 case -1139422643: /*definition[x]*/ return new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); 1681 case -1014418093: /*definition*/ return new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); 1682 case 933485793: /*definitionCanonical*/ return new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); 1683 case -1139428583: /*definitionUri*/ return new Property("definition[x]", "uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); 1684 case 1052666732: /*transform*/ return new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform); 1685 case 572625010: /*dynamicValue*/ return new Property("dynamicValue", "", "Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue); 1686 case -1422950858: /*action*/ return new Property("action", "@RequestOrchestration.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action); 1687 default: return super.getNamedProperty(_hash, _name, _checkValid); 1688 } 1689 1690 } 1691 1692 @Override 1693 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1694 switch (hash) { 1695 case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : new Base[] {this.linkId}; // StringType 1696 case -980110702: /*prefix*/ return this.prefix == null ? new Base[0] : new Base[] {this.prefix}; // StringType 1697 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 1698 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1699 case -900391049: /*textEquivalent*/ return this.textEquivalent == null ? new Base[0] : new Base[] {this.textEquivalent}; // MarkdownType 1700 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 1701 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 1702 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : this.documentation.toArray(new Base[this.documentation.size()]); // RelatedArtifact 1703 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 1704 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : this.condition.toArray(new Base[this.condition.size()]); // RequestOrchestrationActionConditionComponent 1705 case 100358090: /*input*/ return this.input == null ? new Base[0] : this.input.toArray(new Base[this.input.size()]); // RequestOrchestrationActionInputComponent 1706 case -1005512447: /*output*/ return this.output == null ? new Base[0] : this.output.toArray(new Base[this.output.size()]); // RequestOrchestrationActionOutputComponent 1707 case -384107967: /*relatedAction*/ return this.relatedAction == null ? new Base[0] : this.relatedAction.toArray(new Base[this.relatedAction.size()]); // RequestOrchestrationActionRelatedActionComponent 1708 case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // DataType 1709 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // CodeableReference 1710 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // RequestOrchestrationActionParticipantComponent 1711 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1712 case 586678389: /*groupingBehavior*/ return this.groupingBehavior == null ? new Base[0] : new Base[] {this.groupingBehavior}; // Enumeration<ActionGroupingBehavior> 1713 case 168639486: /*selectionBehavior*/ return this.selectionBehavior == null ? new Base[0] : new Base[] {this.selectionBehavior}; // Enumeration<ActionSelectionBehavior> 1714 case -1163906287: /*requiredBehavior*/ return this.requiredBehavior == null ? new Base[0] : new Base[] {this.requiredBehavior}; // Enumeration<ActionRequiredBehavior> 1715 case -1174249033: /*precheckBehavior*/ return this.precheckBehavior == null ? new Base[0] : new Base[] {this.precheckBehavior}; // Enumeration<ActionPrecheckBehavior> 1716 case -922577408: /*cardinalityBehavior*/ return this.cardinalityBehavior == null ? new Base[0] : new Base[] {this.cardinalityBehavior}; // Enumeration<ActionCardinalityBehavior> 1717 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Reference 1718 case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // DataType 1719 case 1052666732: /*transform*/ return this.transform == null ? new Base[0] : new Base[] {this.transform}; // CanonicalType 1720 case 572625010: /*dynamicValue*/ return this.dynamicValue == null ? new Base[0] : this.dynamicValue.toArray(new Base[this.dynamicValue.size()]); // RequestOrchestrationActionDynamicValueComponent 1721 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestOrchestrationActionComponent 1722 default: return super.getProperty(hash, name, checkValid); 1723 } 1724 1725 } 1726 1727 @Override 1728 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1729 switch (hash) { 1730 case -1102667083: // linkId 1731 this.linkId = TypeConvertor.castToString(value); // StringType 1732 return value; 1733 case -980110702: // prefix 1734 this.prefix = TypeConvertor.castToString(value); // StringType 1735 return value; 1736 case 110371416: // title 1737 this.title = TypeConvertor.castToString(value); // StringType 1738 return value; 1739 case -1724546052: // description 1740 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1741 return value; 1742 case -900391049: // textEquivalent 1743 this.textEquivalent = TypeConvertor.castToMarkdown(value); // MarkdownType 1744 return value; 1745 case -1165461084: // priority 1746 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1747 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1748 return value; 1749 case 3059181: // code 1750 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1751 return value; 1752 case 1587405498: // documentation 1753 this.getDocumentation().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact 1754 return value; 1755 case 3178259: // goal 1756 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 1757 return value; 1758 case -861311717: // condition 1759 this.getCondition().add((RequestOrchestrationActionConditionComponent) value); // RequestOrchestrationActionConditionComponent 1760 return value; 1761 case 100358090: // input 1762 this.getInput().add((RequestOrchestrationActionInputComponent) value); // RequestOrchestrationActionInputComponent 1763 return value; 1764 case -1005512447: // output 1765 this.getOutput().add((RequestOrchestrationActionOutputComponent) value); // RequestOrchestrationActionOutputComponent 1766 return value; 1767 case -384107967: // relatedAction 1768 this.getRelatedAction().add((RequestOrchestrationActionRelatedActionComponent) value); // RequestOrchestrationActionRelatedActionComponent 1769 return value; 1770 case -873664438: // timing 1771 this.timing = TypeConvertor.castToType(value); // DataType 1772 return value; 1773 case 1901043637: // location 1774 this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference 1775 return value; 1776 case 767422259: // participant 1777 this.getParticipant().add((RequestOrchestrationActionParticipantComponent) value); // RequestOrchestrationActionParticipantComponent 1778 return value; 1779 case 3575610: // type 1780 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1781 return value; 1782 case 586678389: // groupingBehavior 1783 value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1784 this.groupingBehavior = (Enumeration) value; // Enumeration<ActionGroupingBehavior> 1785 return value; 1786 case 168639486: // selectionBehavior 1787 value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1788 this.selectionBehavior = (Enumeration) value; // Enumeration<ActionSelectionBehavior> 1789 return value; 1790 case -1163906287: // requiredBehavior 1791 value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1792 this.requiredBehavior = (Enumeration) value; // Enumeration<ActionRequiredBehavior> 1793 return value; 1794 case -1174249033: // precheckBehavior 1795 value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1796 this.precheckBehavior = (Enumeration) value; // Enumeration<ActionPrecheckBehavior> 1797 return value; 1798 case -922577408: // cardinalityBehavior 1799 value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1800 this.cardinalityBehavior = (Enumeration) value; // Enumeration<ActionCardinalityBehavior> 1801 return value; 1802 case -341064690: // resource 1803 this.resource = TypeConvertor.castToReference(value); // Reference 1804 return value; 1805 case -1014418093: // definition 1806 this.definition = TypeConvertor.castToType(value); // DataType 1807 return value; 1808 case 1052666732: // transform 1809 this.transform = TypeConvertor.castToCanonical(value); // CanonicalType 1810 return value; 1811 case 572625010: // dynamicValue 1812 this.getDynamicValue().add((RequestOrchestrationActionDynamicValueComponent) value); // RequestOrchestrationActionDynamicValueComponent 1813 return value; 1814 case -1422950858: // action 1815 this.getAction().add((RequestOrchestrationActionComponent) value); // RequestOrchestrationActionComponent 1816 return value; 1817 default: return super.setProperty(hash, name, value); 1818 } 1819 1820 } 1821 1822 @Override 1823 public Base setProperty(String name, Base value) throws FHIRException { 1824 if (name.equals("linkId")) { 1825 this.linkId = TypeConvertor.castToString(value); // StringType 1826 } else if (name.equals("prefix")) { 1827 this.prefix = TypeConvertor.castToString(value); // StringType 1828 } else if (name.equals("title")) { 1829 this.title = TypeConvertor.castToString(value); // StringType 1830 } else if (name.equals("description")) { 1831 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1832 } else if (name.equals("textEquivalent")) { 1833 this.textEquivalent = TypeConvertor.castToMarkdown(value); // MarkdownType 1834 } else if (name.equals("priority")) { 1835 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1836 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1837 } else if (name.equals("code")) { 1838 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); 1839 } else if (name.equals("documentation")) { 1840 this.getDocumentation().add(TypeConvertor.castToRelatedArtifact(value)); 1841 } else if (name.equals("goal")) { 1842 this.getGoal().add(TypeConvertor.castToReference(value)); 1843 } else if (name.equals("condition")) { 1844 this.getCondition().add((RequestOrchestrationActionConditionComponent) value); 1845 } else if (name.equals("input")) { 1846 this.getInput().add((RequestOrchestrationActionInputComponent) value); 1847 } else if (name.equals("output")) { 1848 this.getOutput().add((RequestOrchestrationActionOutputComponent) value); 1849 } else if (name.equals("relatedAction")) { 1850 this.getRelatedAction().add((RequestOrchestrationActionRelatedActionComponent) value); 1851 } else if (name.equals("timing[x]")) { 1852 this.timing = TypeConvertor.castToType(value); // DataType 1853 } else if (name.equals("location")) { 1854 this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference 1855 } else if (name.equals("participant")) { 1856 this.getParticipant().add((RequestOrchestrationActionParticipantComponent) value); 1857 } else if (name.equals("type")) { 1858 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1859 } else if (name.equals("groupingBehavior")) { 1860 value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1861 this.groupingBehavior = (Enumeration) value; // Enumeration<ActionGroupingBehavior> 1862 } else if (name.equals("selectionBehavior")) { 1863 value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1864 this.selectionBehavior = (Enumeration) value; // Enumeration<ActionSelectionBehavior> 1865 } else if (name.equals("requiredBehavior")) { 1866 value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1867 this.requiredBehavior = (Enumeration) value; // Enumeration<ActionRequiredBehavior> 1868 } else if (name.equals("precheckBehavior")) { 1869 value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1870 this.precheckBehavior = (Enumeration) value; // Enumeration<ActionPrecheckBehavior> 1871 } else if (name.equals("cardinalityBehavior")) { 1872 value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1873 this.cardinalityBehavior = (Enumeration) value; // Enumeration<ActionCardinalityBehavior> 1874 } else if (name.equals("resource")) { 1875 this.resource = TypeConvertor.castToReference(value); // Reference 1876 } else if (name.equals("definition[x]")) { 1877 this.definition = TypeConvertor.castToType(value); // DataType 1878 } else if (name.equals("transform")) { 1879 this.transform = TypeConvertor.castToCanonical(value); // CanonicalType 1880 } else if (name.equals("dynamicValue")) { 1881 this.getDynamicValue().add((RequestOrchestrationActionDynamicValueComponent) value); 1882 } else if (name.equals("action")) { 1883 this.getAction().add((RequestOrchestrationActionComponent) value); 1884 } else 1885 return super.setProperty(name, value); 1886 return value; 1887 } 1888 1889 @Override 1890 public Base makeProperty(int hash, String name) throws FHIRException { 1891 switch (hash) { 1892 case -1102667083: return getLinkIdElement(); 1893 case -980110702: return getPrefixElement(); 1894 case 110371416: return getTitleElement(); 1895 case -1724546052: return getDescriptionElement(); 1896 case -900391049: return getTextEquivalentElement(); 1897 case -1165461084: return getPriorityElement(); 1898 case 3059181: return addCode(); 1899 case 1587405498: return addDocumentation(); 1900 case 3178259: return addGoal(); 1901 case -861311717: return addCondition(); 1902 case 100358090: return addInput(); 1903 case -1005512447: return addOutput(); 1904 case -384107967: return addRelatedAction(); 1905 case 164632566: return getTiming(); 1906 case -873664438: return getTiming(); 1907 case 1901043637: return getLocation(); 1908 case 767422259: return addParticipant(); 1909 case 3575610: return getType(); 1910 case 586678389: return getGroupingBehaviorElement(); 1911 case 168639486: return getSelectionBehaviorElement(); 1912 case -1163906287: return getRequiredBehaviorElement(); 1913 case -1174249033: return getPrecheckBehaviorElement(); 1914 case -922577408: return getCardinalityBehaviorElement(); 1915 case -341064690: return getResource(); 1916 case -1139422643: return getDefinition(); 1917 case -1014418093: return getDefinition(); 1918 case 1052666732: return getTransformElement(); 1919 case 572625010: return addDynamicValue(); 1920 case -1422950858: return addAction(); 1921 default: return super.makeProperty(hash, name); 1922 } 1923 1924 } 1925 1926 @Override 1927 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1928 switch (hash) { 1929 case -1102667083: /*linkId*/ return new String[] {"string"}; 1930 case -980110702: /*prefix*/ return new String[] {"string"}; 1931 case 110371416: /*title*/ return new String[] {"string"}; 1932 case -1724546052: /*description*/ return new String[] {"markdown"}; 1933 case -900391049: /*textEquivalent*/ return new String[] {"markdown"}; 1934 case -1165461084: /*priority*/ return new String[] {"code"}; 1935 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1936 case 1587405498: /*documentation*/ return new String[] {"RelatedArtifact"}; 1937 case 3178259: /*goal*/ return new String[] {"Reference"}; 1938 case -861311717: /*condition*/ return new String[] {}; 1939 case 100358090: /*input*/ return new String[] {}; 1940 case -1005512447: /*output*/ return new String[] {}; 1941 case -384107967: /*relatedAction*/ return new String[] {}; 1942 case -873664438: /*timing*/ return new String[] {"dateTime", "Age", "Period", "Duration", "Range", "Timing"}; 1943 case 1901043637: /*location*/ return new String[] {"CodeableReference"}; 1944 case 767422259: /*participant*/ return new String[] {}; 1945 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1946 case 586678389: /*groupingBehavior*/ return new String[] {"code"}; 1947 case 168639486: /*selectionBehavior*/ return new String[] {"code"}; 1948 case -1163906287: /*requiredBehavior*/ return new String[] {"code"}; 1949 case -1174249033: /*precheckBehavior*/ return new String[] {"code"}; 1950 case -922577408: /*cardinalityBehavior*/ return new String[] {"code"}; 1951 case -341064690: /*resource*/ return new String[] {"Reference"}; 1952 case -1014418093: /*definition*/ return new String[] {"canonical", "uri"}; 1953 case 1052666732: /*transform*/ return new String[] {"canonical"}; 1954 case 572625010: /*dynamicValue*/ return new String[] {}; 1955 case -1422950858: /*action*/ return new String[] {"@RequestOrchestration.action"}; 1956 default: return super.getTypesForProperty(hash, name); 1957 } 1958 1959 } 1960 1961 @Override 1962 public Base addChild(String name) throws FHIRException { 1963 if (name.equals("linkId")) { 1964 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.linkId"); 1965 } 1966 else if (name.equals("prefix")) { 1967 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.prefix"); 1968 } 1969 else if (name.equals("title")) { 1970 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.title"); 1971 } 1972 else if (name.equals("description")) { 1973 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.description"); 1974 } 1975 else if (name.equals("textEquivalent")) { 1976 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.textEquivalent"); 1977 } 1978 else if (name.equals("priority")) { 1979 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.priority"); 1980 } 1981 else if (name.equals("code")) { 1982 return addCode(); 1983 } 1984 else if (name.equals("documentation")) { 1985 return addDocumentation(); 1986 } 1987 else if (name.equals("goal")) { 1988 return addGoal(); 1989 } 1990 else if (name.equals("condition")) { 1991 return addCondition(); 1992 } 1993 else if (name.equals("input")) { 1994 return addInput(); 1995 } 1996 else if (name.equals("output")) { 1997 return addOutput(); 1998 } 1999 else if (name.equals("relatedAction")) { 2000 return addRelatedAction(); 2001 } 2002 else if (name.equals("timingDateTime")) { 2003 this.timing = new DateTimeType(); 2004 return this.timing; 2005 } 2006 else if (name.equals("timingAge")) { 2007 this.timing = new Age(); 2008 return this.timing; 2009 } 2010 else if (name.equals("timingPeriod")) { 2011 this.timing = new Period(); 2012 return this.timing; 2013 } 2014 else if (name.equals("timingDuration")) { 2015 this.timing = new Duration(); 2016 return this.timing; 2017 } 2018 else if (name.equals("timingRange")) { 2019 this.timing = new Range(); 2020 return this.timing; 2021 } 2022 else if (name.equals("timingTiming")) { 2023 this.timing = new Timing(); 2024 return this.timing; 2025 } 2026 else if (name.equals("location")) { 2027 this.location = new CodeableReference(); 2028 return this.location; 2029 } 2030 else if (name.equals("participant")) { 2031 return addParticipant(); 2032 } 2033 else if (name.equals("type")) { 2034 this.type = new CodeableConcept(); 2035 return this.type; 2036 } 2037 else if (name.equals("groupingBehavior")) { 2038 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.groupingBehavior"); 2039 } 2040 else if (name.equals("selectionBehavior")) { 2041 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.selectionBehavior"); 2042 } 2043 else if (name.equals("requiredBehavior")) { 2044 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.requiredBehavior"); 2045 } 2046 else if (name.equals("precheckBehavior")) { 2047 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.precheckBehavior"); 2048 } 2049 else if (name.equals("cardinalityBehavior")) { 2050 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.cardinalityBehavior"); 2051 } 2052 else if (name.equals("resource")) { 2053 this.resource = new Reference(); 2054 return this.resource; 2055 } 2056 else if (name.equals("definitionCanonical")) { 2057 this.definition = new CanonicalType(); 2058 return this.definition; 2059 } 2060 else if (name.equals("definitionUri")) { 2061 this.definition = new UriType(); 2062 return this.definition; 2063 } 2064 else if (name.equals("transform")) { 2065 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.transform"); 2066 } 2067 else if (name.equals("dynamicValue")) { 2068 return addDynamicValue(); 2069 } 2070 else if (name.equals("action")) { 2071 return addAction(); 2072 } 2073 else 2074 return super.addChild(name); 2075 } 2076 2077 public RequestOrchestrationActionComponent copy() { 2078 RequestOrchestrationActionComponent dst = new RequestOrchestrationActionComponent(); 2079 copyValues(dst); 2080 return dst; 2081 } 2082 2083 public void copyValues(RequestOrchestrationActionComponent dst) { 2084 super.copyValues(dst); 2085 dst.linkId = linkId == null ? null : linkId.copy(); 2086 dst.prefix = prefix == null ? null : prefix.copy(); 2087 dst.title = title == null ? null : title.copy(); 2088 dst.description = description == null ? null : description.copy(); 2089 dst.textEquivalent = textEquivalent == null ? null : textEquivalent.copy(); 2090 dst.priority = priority == null ? null : priority.copy(); 2091 if (code != null) { 2092 dst.code = new ArrayList<CodeableConcept>(); 2093 for (CodeableConcept i : code) 2094 dst.code.add(i.copy()); 2095 }; 2096 if (documentation != null) { 2097 dst.documentation = new ArrayList<RelatedArtifact>(); 2098 for (RelatedArtifact i : documentation) 2099 dst.documentation.add(i.copy()); 2100 }; 2101 if (goal != null) { 2102 dst.goal = new ArrayList<Reference>(); 2103 for (Reference i : goal) 2104 dst.goal.add(i.copy()); 2105 }; 2106 if (condition != null) { 2107 dst.condition = new ArrayList<RequestOrchestrationActionConditionComponent>(); 2108 for (RequestOrchestrationActionConditionComponent i : condition) 2109 dst.condition.add(i.copy()); 2110 }; 2111 if (input != null) { 2112 dst.input = new ArrayList<RequestOrchestrationActionInputComponent>(); 2113 for (RequestOrchestrationActionInputComponent i : input) 2114 dst.input.add(i.copy()); 2115 }; 2116 if (output != null) { 2117 dst.output = new ArrayList<RequestOrchestrationActionOutputComponent>(); 2118 for (RequestOrchestrationActionOutputComponent i : output) 2119 dst.output.add(i.copy()); 2120 }; 2121 if (relatedAction != null) { 2122 dst.relatedAction = new ArrayList<RequestOrchestrationActionRelatedActionComponent>(); 2123 for (RequestOrchestrationActionRelatedActionComponent i : relatedAction) 2124 dst.relatedAction.add(i.copy()); 2125 }; 2126 dst.timing = timing == null ? null : timing.copy(); 2127 dst.location = location == null ? null : location.copy(); 2128 if (participant != null) { 2129 dst.participant = new ArrayList<RequestOrchestrationActionParticipantComponent>(); 2130 for (RequestOrchestrationActionParticipantComponent i : participant) 2131 dst.participant.add(i.copy()); 2132 }; 2133 dst.type = type == null ? null : type.copy(); 2134 dst.groupingBehavior = groupingBehavior == null ? null : groupingBehavior.copy(); 2135 dst.selectionBehavior = selectionBehavior == null ? null : selectionBehavior.copy(); 2136 dst.requiredBehavior = requiredBehavior == null ? null : requiredBehavior.copy(); 2137 dst.precheckBehavior = precheckBehavior == null ? null : precheckBehavior.copy(); 2138 dst.cardinalityBehavior = cardinalityBehavior == null ? null : cardinalityBehavior.copy(); 2139 dst.resource = resource == null ? null : resource.copy(); 2140 dst.definition = definition == null ? null : definition.copy(); 2141 dst.transform = transform == null ? null : transform.copy(); 2142 if (dynamicValue != null) { 2143 dst.dynamicValue = new ArrayList<RequestOrchestrationActionDynamicValueComponent>(); 2144 for (RequestOrchestrationActionDynamicValueComponent i : dynamicValue) 2145 dst.dynamicValue.add(i.copy()); 2146 }; 2147 if (action != null) { 2148 dst.action = new ArrayList<RequestOrchestrationActionComponent>(); 2149 for (RequestOrchestrationActionComponent i : action) 2150 dst.action.add(i.copy()); 2151 }; 2152 } 2153 2154 @Override 2155 public boolean equalsDeep(Base other_) { 2156 if (!super.equalsDeep(other_)) 2157 return false; 2158 if (!(other_ instanceof RequestOrchestrationActionComponent)) 2159 return false; 2160 RequestOrchestrationActionComponent o = (RequestOrchestrationActionComponent) other_; 2161 return compareDeep(linkId, o.linkId, true) && compareDeep(prefix, o.prefix, true) && compareDeep(title, o.title, true) 2162 && compareDeep(description, o.description, true) && compareDeep(textEquivalent, o.textEquivalent, true) 2163 && compareDeep(priority, o.priority, true) && compareDeep(code, o.code, true) && compareDeep(documentation, o.documentation, true) 2164 && compareDeep(goal, o.goal, true) && compareDeep(condition, o.condition, true) && compareDeep(input, o.input, true) 2165 && compareDeep(output, o.output, true) && compareDeep(relatedAction, o.relatedAction, true) && compareDeep(timing, o.timing, true) 2166 && compareDeep(location, o.location, true) && compareDeep(participant, o.participant, true) && compareDeep(type, o.type, true) 2167 && compareDeep(groupingBehavior, o.groupingBehavior, true) && compareDeep(selectionBehavior, o.selectionBehavior, true) 2168 && compareDeep(requiredBehavior, o.requiredBehavior, true) && compareDeep(precheckBehavior, o.precheckBehavior, true) 2169 && compareDeep(cardinalityBehavior, o.cardinalityBehavior, true) && compareDeep(resource, o.resource, true) 2170 && compareDeep(definition, o.definition, true) && compareDeep(transform, o.transform, true) && compareDeep(dynamicValue, o.dynamicValue, true) 2171 && compareDeep(action, o.action, true); 2172 } 2173 2174 @Override 2175 public boolean equalsShallow(Base other_) { 2176 if (!super.equalsShallow(other_)) 2177 return false; 2178 if (!(other_ instanceof RequestOrchestrationActionComponent)) 2179 return false; 2180 RequestOrchestrationActionComponent o = (RequestOrchestrationActionComponent) other_; 2181 return compareValues(linkId, o.linkId, true) && compareValues(prefix, o.prefix, true) && compareValues(title, o.title, true) 2182 && compareValues(description, o.description, true) && compareValues(textEquivalent, o.textEquivalent, true) 2183 && compareValues(priority, o.priority, true) && compareValues(groupingBehavior, o.groupingBehavior, true) 2184 && compareValues(selectionBehavior, o.selectionBehavior, true) && compareValues(requiredBehavior, o.requiredBehavior, true) 2185 && compareValues(precheckBehavior, o.precheckBehavior, true) && compareValues(cardinalityBehavior, o.cardinalityBehavior, true) 2186 && compareValues(transform, o.transform, true); 2187 } 2188 2189 public boolean isEmpty() { 2190 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(linkId, prefix, title, description 2191 , textEquivalent, priority, code, documentation, goal, condition, input, output 2192 , relatedAction, timing, location, participant, type, groupingBehavior, selectionBehavior 2193 , requiredBehavior, precheckBehavior, cardinalityBehavior, resource, definition, transform 2194 , dynamicValue, action); 2195 } 2196 2197 public String fhirType() { 2198 return "RequestOrchestration.action"; 2199 2200 } 2201 2202 } 2203 2204 @Block() 2205 public static class RequestOrchestrationActionConditionComponent extends BackboneElement implements IBaseBackboneElement { 2206 /** 2207 * The kind of condition. 2208 */ 2209 @Child(name = "kind", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2210 @Description(shortDefinition="applicability | start | stop", formalDefinition="The kind of condition." ) 2211 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-condition-kind") 2212 protected Enumeration<ActionConditionKind> kind; 2213 2214 /** 2215 * An expression that returns true or false, indicating whether or not the condition is satisfied. 2216 */ 2217 @Child(name = "expression", type = {Expression.class}, order=2, min=0, max=1, modifier=false, summary=false) 2218 @Description(shortDefinition="Boolean-valued expression", formalDefinition="An expression that returns true or false, indicating whether or not the condition is satisfied." ) 2219 protected Expression expression; 2220 2221 private static final long serialVersionUID = -455150438L; 2222 2223 /** 2224 * Constructor 2225 */ 2226 public RequestOrchestrationActionConditionComponent() { 2227 super(); 2228 } 2229 2230 /** 2231 * Constructor 2232 */ 2233 public RequestOrchestrationActionConditionComponent(ActionConditionKind kind) { 2234 super(); 2235 this.setKind(kind); 2236 } 2237 2238 /** 2239 * @return {@link #kind} (The kind of condition.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 2240 */ 2241 public Enumeration<ActionConditionKind> getKindElement() { 2242 if (this.kind == null) 2243 if (Configuration.errorOnAutoCreate()) 2244 throw new Error("Attempt to auto-create RequestOrchestrationActionConditionComponent.kind"); 2245 else if (Configuration.doAutoCreate()) 2246 this.kind = new Enumeration<ActionConditionKind>(new ActionConditionKindEnumFactory()); // bb 2247 return this.kind; 2248 } 2249 2250 public boolean hasKindElement() { 2251 return this.kind != null && !this.kind.isEmpty(); 2252 } 2253 2254 public boolean hasKind() { 2255 return this.kind != null && !this.kind.isEmpty(); 2256 } 2257 2258 /** 2259 * @param value {@link #kind} (The kind of condition.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 2260 */ 2261 public RequestOrchestrationActionConditionComponent setKindElement(Enumeration<ActionConditionKind> value) { 2262 this.kind = value; 2263 return this; 2264 } 2265 2266 /** 2267 * @return The kind of condition. 2268 */ 2269 public ActionConditionKind getKind() { 2270 return this.kind == null ? null : this.kind.getValue(); 2271 } 2272 2273 /** 2274 * @param value The kind of condition. 2275 */ 2276 public RequestOrchestrationActionConditionComponent setKind(ActionConditionKind value) { 2277 if (this.kind == null) 2278 this.kind = new Enumeration<ActionConditionKind>(new ActionConditionKindEnumFactory()); 2279 this.kind.setValue(value); 2280 return this; 2281 } 2282 2283 /** 2284 * @return {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.) 2285 */ 2286 public Expression getExpression() { 2287 if (this.expression == null) 2288 if (Configuration.errorOnAutoCreate()) 2289 throw new Error("Attempt to auto-create RequestOrchestrationActionConditionComponent.expression"); 2290 else if (Configuration.doAutoCreate()) 2291 this.expression = new Expression(); // cc 2292 return this.expression; 2293 } 2294 2295 public boolean hasExpression() { 2296 return this.expression != null && !this.expression.isEmpty(); 2297 } 2298 2299 /** 2300 * @param value {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.) 2301 */ 2302 public RequestOrchestrationActionConditionComponent setExpression(Expression value) { 2303 this.expression = value; 2304 return this; 2305 } 2306 2307 protected void listChildren(List<Property> children) { 2308 super.listChildren(children); 2309 children.add(new Property("kind", "code", "The kind of condition.", 0, 1, kind)); 2310 children.add(new Property("expression", "Expression", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression)); 2311 } 2312 2313 @Override 2314 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2315 switch (_hash) { 2316 case 3292052: /*kind*/ return new Property("kind", "code", "The kind of condition.", 0, 1, kind); 2317 case -1795452264: /*expression*/ return new Property("expression", "Expression", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression); 2318 default: return super.getNamedProperty(_hash, _name, _checkValid); 2319 } 2320 2321 } 2322 2323 @Override 2324 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2325 switch (hash) { 2326 case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<ActionConditionKind> 2327 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression 2328 default: return super.getProperty(hash, name, checkValid); 2329 } 2330 2331 } 2332 2333 @Override 2334 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2335 switch (hash) { 2336 case 3292052: // kind 2337 value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 2338 this.kind = (Enumeration) value; // Enumeration<ActionConditionKind> 2339 return value; 2340 case -1795452264: // expression 2341 this.expression = TypeConvertor.castToExpression(value); // Expression 2342 return value; 2343 default: return super.setProperty(hash, name, value); 2344 } 2345 2346 } 2347 2348 @Override 2349 public Base setProperty(String name, Base value) throws FHIRException { 2350 if (name.equals("kind")) { 2351 value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 2352 this.kind = (Enumeration) value; // Enumeration<ActionConditionKind> 2353 } else if (name.equals("expression")) { 2354 this.expression = TypeConvertor.castToExpression(value); // Expression 2355 } else 2356 return super.setProperty(name, value); 2357 return value; 2358 } 2359 2360 @Override 2361 public Base makeProperty(int hash, String name) throws FHIRException { 2362 switch (hash) { 2363 case 3292052: return getKindElement(); 2364 case -1795452264: return getExpression(); 2365 default: return super.makeProperty(hash, name); 2366 } 2367 2368 } 2369 2370 @Override 2371 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2372 switch (hash) { 2373 case 3292052: /*kind*/ return new String[] {"code"}; 2374 case -1795452264: /*expression*/ return new String[] {"Expression"}; 2375 default: return super.getTypesForProperty(hash, name); 2376 } 2377 2378 } 2379 2380 @Override 2381 public Base addChild(String name) throws FHIRException { 2382 if (name.equals("kind")) { 2383 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.condition.kind"); 2384 } 2385 else if (name.equals("expression")) { 2386 this.expression = new Expression(); 2387 return this.expression; 2388 } 2389 else 2390 return super.addChild(name); 2391 } 2392 2393 public RequestOrchestrationActionConditionComponent copy() { 2394 RequestOrchestrationActionConditionComponent dst = new RequestOrchestrationActionConditionComponent(); 2395 copyValues(dst); 2396 return dst; 2397 } 2398 2399 public void copyValues(RequestOrchestrationActionConditionComponent dst) { 2400 super.copyValues(dst); 2401 dst.kind = kind == null ? null : kind.copy(); 2402 dst.expression = expression == null ? null : expression.copy(); 2403 } 2404 2405 @Override 2406 public boolean equalsDeep(Base other_) { 2407 if (!super.equalsDeep(other_)) 2408 return false; 2409 if (!(other_ instanceof RequestOrchestrationActionConditionComponent)) 2410 return false; 2411 RequestOrchestrationActionConditionComponent o = (RequestOrchestrationActionConditionComponent) other_; 2412 return compareDeep(kind, o.kind, true) && compareDeep(expression, o.expression, true); 2413 } 2414 2415 @Override 2416 public boolean equalsShallow(Base other_) { 2417 if (!super.equalsShallow(other_)) 2418 return false; 2419 if (!(other_ instanceof RequestOrchestrationActionConditionComponent)) 2420 return false; 2421 RequestOrchestrationActionConditionComponent o = (RequestOrchestrationActionConditionComponent) other_; 2422 return compareValues(kind, o.kind, true); 2423 } 2424 2425 public boolean isEmpty() { 2426 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(kind, expression); 2427 } 2428 2429 public String fhirType() { 2430 return "RequestOrchestration.action.condition"; 2431 2432 } 2433 2434 } 2435 2436 @Block() 2437 public static class RequestOrchestrationActionInputComponent extends BackboneElement implements IBaseBackboneElement { 2438 /** 2439 * A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. 2440 */ 2441 @Child(name = "title", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2442 @Description(shortDefinition="User-visible title", formalDefinition="A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers." ) 2443 protected StringType title; 2444 2445 /** 2446 * Defines the data that is to be provided as input to the action. 2447 */ 2448 @Child(name = "requirement", type = {DataRequirement.class}, order=2, min=0, max=1, modifier=false, summary=false) 2449 @Description(shortDefinition="What data is provided", formalDefinition="Defines the data that is to be provided as input to the action." ) 2450 protected DataRequirement requirement; 2451 2452 /** 2453 * Points to an existing input or output element that provides data to this input. 2454 */ 2455 @Child(name = "relatedData", type = {IdType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2456 @Description(shortDefinition="What data is provided", formalDefinition="Points to an existing input or output element that provides data to this input." ) 2457 protected IdType relatedData; 2458 2459 private static final long serialVersionUID = -1064046709L; 2460 2461 /** 2462 * Constructor 2463 */ 2464 public RequestOrchestrationActionInputComponent() { 2465 super(); 2466 } 2467 2468 /** 2469 * @return {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2470 */ 2471 public StringType getTitleElement() { 2472 if (this.title == null) 2473 if (Configuration.errorOnAutoCreate()) 2474 throw new Error("Attempt to auto-create RequestOrchestrationActionInputComponent.title"); 2475 else if (Configuration.doAutoCreate()) 2476 this.title = new StringType(); // bb 2477 return this.title; 2478 } 2479 2480 public boolean hasTitleElement() { 2481 return this.title != null && !this.title.isEmpty(); 2482 } 2483 2484 public boolean hasTitle() { 2485 return this.title != null && !this.title.isEmpty(); 2486 } 2487 2488 /** 2489 * @param value {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2490 */ 2491 public RequestOrchestrationActionInputComponent setTitleElement(StringType value) { 2492 this.title = value; 2493 return this; 2494 } 2495 2496 /** 2497 * @return A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. 2498 */ 2499 public String getTitle() { 2500 return this.title == null ? null : this.title.getValue(); 2501 } 2502 2503 /** 2504 * @param value A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. 2505 */ 2506 public RequestOrchestrationActionInputComponent setTitle(String value) { 2507 if (Utilities.noString(value)) 2508 this.title = null; 2509 else { 2510 if (this.title == null) 2511 this.title = new StringType(); 2512 this.title.setValue(value); 2513 } 2514 return this; 2515 } 2516 2517 /** 2518 * @return {@link #requirement} (Defines the data that is to be provided as input to the action.) 2519 */ 2520 public DataRequirement getRequirement() { 2521 if (this.requirement == null) 2522 if (Configuration.errorOnAutoCreate()) 2523 throw new Error("Attempt to auto-create RequestOrchestrationActionInputComponent.requirement"); 2524 else if (Configuration.doAutoCreate()) 2525 this.requirement = new DataRequirement(); // cc 2526 return this.requirement; 2527 } 2528 2529 public boolean hasRequirement() { 2530 return this.requirement != null && !this.requirement.isEmpty(); 2531 } 2532 2533 /** 2534 * @param value {@link #requirement} (Defines the data that is to be provided as input to the action.) 2535 */ 2536 public RequestOrchestrationActionInputComponent setRequirement(DataRequirement value) { 2537 this.requirement = value; 2538 return this; 2539 } 2540 2541 /** 2542 * @return {@link #relatedData} (Points to an existing input or output element that provides data to this input.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value 2543 */ 2544 public IdType getRelatedDataElement() { 2545 if (this.relatedData == null) 2546 if (Configuration.errorOnAutoCreate()) 2547 throw new Error("Attempt to auto-create RequestOrchestrationActionInputComponent.relatedData"); 2548 else if (Configuration.doAutoCreate()) 2549 this.relatedData = new IdType(); // bb 2550 return this.relatedData; 2551 } 2552 2553 public boolean hasRelatedDataElement() { 2554 return this.relatedData != null && !this.relatedData.isEmpty(); 2555 } 2556 2557 public boolean hasRelatedData() { 2558 return this.relatedData != null && !this.relatedData.isEmpty(); 2559 } 2560 2561 /** 2562 * @param value {@link #relatedData} (Points to an existing input or output element that provides data to this input.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value 2563 */ 2564 public RequestOrchestrationActionInputComponent setRelatedDataElement(IdType value) { 2565 this.relatedData = value; 2566 return this; 2567 } 2568 2569 /** 2570 * @return Points to an existing input or output element that provides data to this input. 2571 */ 2572 public String getRelatedData() { 2573 return this.relatedData == null ? null : this.relatedData.getValue(); 2574 } 2575 2576 /** 2577 * @param value Points to an existing input or output element that provides data to this input. 2578 */ 2579 public RequestOrchestrationActionInputComponent setRelatedData(String value) { 2580 if (Utilities.noString(value)) 2581 this.relatedData = null; 2582 else { 2583 if (this.relatedData == null) 2584 this.relatedData = new IdType(); 2585 this.relatedData.setValue(value); 2586 } 2587 return this; 2588 } 2589 2590 protected void listChildren(List<Property> children) { 2591 super.listChildren(children); 2592 children.add(new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title)); 2593 children.add(new Property("requirement", "DataRequirement", "Defines the data that is to be provided as input to the action.", 0, 1, requirement)); 2594 children.add(new Property("relatedData", "id", "Points to an existing input or output element that provides data to this input.", 0, 1, relatedData)); 2595 } 2596 2597 @Override 2598 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2599 switch (_hash) { 2600 case 110371416: /*title*/ return new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title); 2601 case 363387971: /*requirement*/ return new Property("requirement", "DataRequirement", "Defines the data that is to be provided as input to the action.", 0, 1, requirement); 2602 case 1112535669: /*relatedData*/ return new Property("relatedData", "id", "Points to an existing input or output element that provides data to this input.", 0, 1, relatedData); 2603 default: return super.getNamedProperty(_hash, _name, _checkValid); 2604 } 2605 2606 } 2607 2608 @Override 2609 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2610 switch (hash) { 2611 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 2612 case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // DataRequirement 2613 case 1112535669: /*relatedData*/ return this.relatedData == null ? new Base[0] : new Base[] {this.relatedData}; // IdType 2614 default: return super.getProperty(hash, name, checkValid); 2615 } 2616 2617 } 2618 2619 @Override 2620 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2621 switch (hash) { 2622 case 110371416: // title 2623 this.title = TypeConvertor.castToString(value); // StringType 2624 return value; 2625 case 363387971: // requirement 2626 this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement 2627 return value; 2628 case 1112535669: // relatedData 2629 this.relatedData = TypeConvertor.castToId(value); // IdType 2630 return value; 2631 default: return super.setProperty(hash, name, value); 2632 } 2633 2634 } 2635 2636 @Override 2637 public Base setProperty(String name, Base value) throws FHIRException { 2638 if (name.equals("title")) { 2639 this.title = TypeConvertor.castToString(value); // StringType 2640 } else if (name.equals("requirement")) { 2641 this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement 2642 } else if (name.equals("relatedData")) { 2643 this.relatedData = TypeConvertor.castToId(value); // IdType 2644 } else 2645 return super.setProperty(name, value); 2646 return value; 2647 } 2648 2649 @Override 2650 public Base makeProperty(int hash, String name) throws FHIRException { 2651 switch (hash) { 2652 case 110371416: return getTitleElement(); 2653 case 363387971: return getRequirement(); 2654 case 1112535669: return getRelatedDataElement(); 2655 default: return super.makeProperty(hash, name); 2656 } 2657 2658 } 2659 2660 @Override 2661 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2662 switch (hash) { 2663 case 110371416: /*title*/ return new String[] {"string"}; 2664 case 363387971: /*requirement*/ return new String[] {"DataRequirement"}; 2665 case 1112535669: /*relatedData*/ return new String[] {"id"}; 2666 default: return super.getTypesForProperty(hash, name); 2667 } 2668 2669 } 2670 2671 @Override 2672 public Base addChild(String name) throws FHIRException { 2673 if (name.equals("title")) { 2674 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.input.title"); 2675 } 2676 else if (name.equals("requirement")) { 2677 this.requirement = new DataRequirement(); 2678 return this.requirement; 2679 } 2680 else if (name.equals("relatedData")) { 2681 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.input.relatedData"); 2682 } 2683 else 2684 return super.addChild(name); 2685 } 2686 2687 public RequestOrchestrationActionInputComponent copy() { 2688 RequestOrchestrationActionInputComponent dst = new RequestOrchestrationActionInputComponent(); 2689 copyValues(dst); 2690 return dst; 2691 } 2692 2693 public void copyValues(RequestOrchestrationActionInputComponent dst) { 2694 super.copyValues(dst); 2695 dst.title = title == null ? null : title.copy(); 2696 dst.requirement = requirement == null ? null : requirement.copy(); 2697 dst.relatedData = relatedData == null ? null : relatedData.copy(); 2698 } 2699 2700 @Override 2701 public boolean equalsDeep(Base other_) { 2702 if (!super.equalsDeep(other_)) 2703 return false; 2704 if (!(other_ instanceof RequestOrchestrationActionInputComponent)) 2705 return false; 2706 RequestOrchestrationActionInputComponent o = (RequestOrchestrationActionInputComponent) other_; 2707 return compareDeep(title, o.title, true) && compareDeep(requirement, o.requirement, true) && compareDeep(relatedData, o.relatedData, true) 2708 ; 2709 } 2710 2711 @Override 2712 public boolean equalsShallow(Base other_) { 2713 if (!super.equalsShallow(other_)) 2714 return false; 2715 if (!(other_ instanceof RequestOrchestrationActionInputComponent)) 2716 return false; 2717 RequestOrchestrationActionInputComponent o = (RequestOrchestrationActionInputComponent) other_; 2718 return compareValues(title, o.title, true) && compareValues(relatedData, o.relatedData, true); 2719 } 2720 2721 public boolean isEmpty() { 2722 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, requirement, relatedData 2723 ); 2724 } 2725 2726 public String fhirType() { 2727 return "RequestOrchestration.action.input"; 2728 2729 } 2730 2731 } 2732 2733 @Block() 2734 public static class RequestOrchestrationActionOutputComponent extends BackboneElement implements IBaseBackboneElement { 2735 /** 2736 * A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. 2737 */ 2738 @Child(name = "title", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2739 @Description(shortDefinition="User-visible title", formalDefinition="A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers." ) 2740 protected StringType title; 2741 2742 /** 2743 * Defines the data that results as output from the action. 2744 */ 2745 @Child(name = "requirement", type = {DataRequirement.class}, order=2, min=0, max=1, modifier=false, summary=false) 2746 @Description(shortDefinition="What data is provided", formalDefinition="Defines the data that results as output from the action." ) 2747 protected DataRequirement requirement; 2748 2749 /** 2750 * Points to an existing input or output element that is results as output from the action. 2751 */ 2752 @Child(name = "relatedData", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2753 @Description(shortDefinition="What data is provided", formalDefinition="Points to an existing input or output element that is results as output from the action." ) 2754 protected StringType relatedData; 2755 2756 private static final long serialVersionUID = 1822414421L; 2757 2758 /** 2759 * Constructor 2760 */ 2761 public RequestOrchestrationActionOutputComponent() { 2762 super(); 2763 } 2764 2765 /** 2766 * @return {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2767 */ 2768 public StringType getTitleElement() { 2769 if (this.title == null) 2770 if (Configuration.errorOnAutoCreate()) 2771 throw new Error("Attempt to auto-create RequestOrchestrationActionOutputComponent.title"); 2772 else if (Configuration.doAutoCreate()) 2773 this.title = new StringType(); // bb 2774 return this.title; 2775 } 2776 2777 public boolean hasTitleElement() { 2778 return this.title != null && !this.title.isEmpty(); 2779 } 2780 2781 public boolean hasTitle() { 2782 return this.title != null && !this.title.isEmpty(); 2783 } 2784 2785 /** 2786 * @param value {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2787 */ 2788 public RequestOrchestrationActionOutputComponent setTitleElement(StringType value) { 2789 this.title = value; 2790 return this; 2791 } 2792 2793 /** 2794 * @return A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. 2795 */ 2796 public String getTitle() { 2797 return this.title == null ? null : this.title.getValue(); 2798 } 2799 2800 /** 2801 * @param value A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. 2802 */ 2803 public RequestOrchestrationActionOutputComponent setTitle(String value) { 2804 if (Utilities.noString(value)) 2805 this.title = null; 2806 else { 2807 if (this.title == null) 2808 this.title = new StringType(); 2809 this.title.setValue(value); 2810 } 2811 return this; 2812 } 2813 2814 /** 2815 * @return {@link #requirement} (Defines the data that results as output from the action.) 2816 */ 2817 public DataRequirement getRequirement() { 2818 if (this.requirement == null) 2819 if (Configuration.errorOnAutoCreate()) 2820 throw new Error("Attempt to auto-create RequestOrchestrationActionOutputComponent.requirement"); 2821 else if (Configuration.doAutoCreate()) 2822 this.requirement = new DataRequirement(); // cc 2823 return this.requirement; 2824 } 2825 2826 public boolean hasRequirement() { 2827 return this.requirement != null && !this.requirement.isEmpty(); 2828 } 2829 2830 /** 2831 * @param value {@link #requirement} (Defines the data that results as output from the action.) 2832 */ 2833 public RequestOrchestrationActionOutputComponent setRequirement(DataRequirement value) { 2834 this.requirement = value; 2835 return this; 2836 } 2837 2838 /** 2839 * @return {@link #relatedData} (Points to an existing input or output element that is results as output from the action.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value 2840 */ 2841 public StringType getRelatedDataElement() { 2842 if (this.relatedData == null) 2843 if (Configuration.errorOnAutoCreate()) 2844 throw new Error("Attempt to auto-create RequestOrchestrationActionOutputComponent.relatedData"); 2845 else if (Configuration.doAutoCreate()) 2846 this.relatedData = new StringType(); // bb 2847 return this.relatedData; 2848 } 2849 2850 public boolean hasRelatedDataElement() { 2851 return this.relatedData != null && !this.relatedData.isEmpty(); 2852 } 2853 2854 public boolean hasRelatedData() { 2855 return this.relatedData != null && !this.relatedData.isEmpty(); 2856 } 2857 2858 /** 2859 * @param value {@link #relatedData} (Points to an existing input or output element that is results as output from the action.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value 2860 */ 2861 public RequestOrchestrationActionOutputComponent setRelatedDataElement(StringType value) { 2862 this.relatedData = value; 2863 return this; 2864 } 2865 2866 /** 2867 * @return Points to an existing input or output element that is results as output from the action. 2868 */ 2869 public String getRelatedData() { 2870 return this.relatedData == null ? null : this.relatedData.getValue(); 2871 } 2872 2873 /** 2874 * @param value Points to an existing input or output element that is results as output from the action. 2875 */ 2876 public RequestOrchestrationActionOutputComponent setRelatedData(String value) { 2877 if (Utilities.noString(value)) 2878 this.relatedData = null; 2879 else { 2880 if (this.relatedData == null) 2881 this.relatedData = new StringType(); 2882 this.relatedData.setValue(value); 2883 } 2884 return this; 2885 } 2886 2887 protected void listChildren(List<Property> children) { 2888 super.listChildren(children); 2889 children.add(new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title)); 2890 children.add(new Property("requirement", "DataRequirement", "Defines the data that results as output from the action.", 0, 1, requirement)); 2891 children.add(new Property("relatedData", "string", "Points to an existing input or output element that is results as output from the action.", 0, 1, relatedData)); 2892 } 2893 2894 @Override 2895 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2896 switch (_hash) { 2897 case 110371416: /*title*/ return new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title); 2898 case 363387971: /*requirement*/ return new Property("requirement", "DataRequirement", "Defines the data that results as output from the action.", 0, 1, requirement); 2899 case 1112535669: /*relatedData*/ return new Property("relatedData", "string", "Points to an existing input or output element that is results as output from the action.", 0, 1, relatedData); 2900 default: return super.getNamedProperty(_hash, _name, _checkValid); 2901 } 2902 2903 } 2904 2905 @Override 2906 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2907 switch (hash) { 2908 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 2909 case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // DataRequirement 2910 case 1112535669: /*relatedData*/ return this.relatedData == null ? new Base[0] : new Base[] {this.relatedData}; // StringType 2911 default: return super.getProperty(hash, name, checkValid); 2912 } 2913 2914 } 2915 2916 @Override 2917 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2918 switch (hash) { 2919 case 110371416: // title 2920 this.title = TypeConvertor.castToString(value); // StringType 2921 return value; 2922 case 363387971: // requirement 2923 this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement 2924 return value; 2925 case 1112535669: // relatedData 2926 this.relatedData = TypeConvertor.castToString(value); // StringType 2927 return value; 2928 default: return super.setProperty(hash, name, value); 2929 } 2930 2931 } 2932 2933 @Override 2934 public Base setProperty(String name, Base value) throws FHIRException { 2935 if (name.equals("title")) { 2936 this.title = TypeConvertor.castToString(value); // StringType 2937 } else if (name.equals("requirement")) { 2938 this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement 2939 } else if (name.equals("relatedData")) { 2940 this.relatedData = TypeConvertor.castToString(value); // StringType 2941 } else 2942 return super.setProperty(name, value); 2943 return value; 2944 } 2945 2946 @Override 2947 public Base makeProperty(int hash, String name) throws FHIRException { 2948 switch (hash) { 2949 case 110371416: return getTitleElement(); 2950 case 363387971: return getRequirement(); 2951 case 1112535669: return getRelatedDataElement(); 2952 default: return super.makeProperty(hash, name); 2953 } 2954 2955 } 2956 2957 @Override 2958 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2959 switch (hash) { 2960 case 110371416: /*title*/ return new String[] {"string"}; 2961 case 363387971: /*requirement*/ return new String[] {"DataRequirement"}; 2962 case 1112535669: /*relatedData*/ return new String[] {"string"}; 2963 default: return super.getTypesForProperty(hash, name); 2964 } 2965 2966 } 2967 2968 @Override 2969 public Base addChild(String name) throws FHIRException { 2970 if (name.equals("title")) { 2971 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.output.title"); 2972 } 2973 else if (name.equals("requirement")) { 2974 this.requirement = new DataRequirement(); 2975 return this.requirement; 2976 } 2977 else if (name.equals("relatedData")) { 2978 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.output.relatedData"); 2979 } 2980 else 2981 return super.addChild(name); 2982 } 2983 2984 public RequestOrchestrationActionOutputComponent copy() { 2985 RequestOrchestrationActionOutputComponent dst = new RequestOrchestrationActionOutputComponent(); 2986 copyValues(dst); 2987 return dst; 2988 } 2989 2990 public void copyValues(RequestOrchestrationActionOutputComponent dst) { 2991 super.copyValues(dst); 2992 dst.title = title == null ? null : title.copy(); 2993 dst.requirement = requirement == null ? null : requirement.copy(); 2994 dst.relatedData = relatedData == null ? null : relatedData.copy(); 2995 } 2996 2997 @Override 2998 public boolean equalsDeep(Base other_) { 2999 if (!super.equalsDeep(other_)) 3000 return false; 3001 if (!(other_ instanceof RequestOrchestrationActionOutputComponent)) 3002 return false; 3003 RequestOrchestrationActionOutputComponent o = (RequestOrchestrationActionOutputComponent) other_; 3004 return compareDeep(title, o.title, true) && compareDeep(requirement, o.requirement, true) && compareDeep(relatedData, o.relatedData, true) 3005 ; 3006 } 3007 3008 @Override 3009 public boolean equalsShallow(Base other_) { 3010 if (!super.equalsShallow(other_)) 3011 return false; 3012 if (!(other_ instanceof RequestOrchestrationActionOutputComponent)) 3013 return false; 3014 RequestOrchestrationActionOutputComponent o = (RequestOrchestrationActionOutputComponent) other_; 3015 return compareValues(title, o.title, true) && compareValues(relatedData, o.relatedData, true); 3016 } 3017 3018 public boolean isEmpty() { 3019 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, requirement, relatedData 3020 ); 3021 } 3022 3023 public String fhirType() { 3024 return "RequestOrchestration.action.output"; 3025 3026 } 3027 3028 } 3029 3030 @Block() 3031 public static class RequestOrchestrationActionRelatedActionComponent extends BackboneElement implements IBaseBackboneElement { 3032 /** 3033 * The element id of the target related action. 3034 */ 3035 @Child(name = "targetId", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3036 @Description(shortDefinition="What action this is related to", formalDefinition="The element id of the target related action." ) 3037 protected IdType targetId; 3038 3039 /** 3040 * The relationship of this action to the related action. 3041 */ 3042 @Child(name = "relationship", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 3043 @Description(shortDefinition="before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end", formalDefinition="The relationship of this action to the related action." ) 3044 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-relationship-type") 3045 protected Enumeration<ActionRelationshipType> relationship; 3046 3047 /** 3048 * The relationship of the end of this action to the related action. 3049 */ 3050 @Child(name = "endRelationship", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 3051 @Description(shortDefinition="before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end", formalDefinition="The relationship of the end of this action to the related action." ) 3052 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-relationship-type") 3053 protected Enumeration<ActionRelationshipType> endRelationship; 3054 3055 /** 3056 * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. 3057 */ 3058 @Child(name = "offset", type = {Duration.class, Range.class}, order=4, min=0, max=1, modifier=false, summary=false) 3059 @Description(shortDefinition="Time offset for the relationship", formalDefinition="A duration or range of durations to apply to the relationship. For example, 30-60 minutes before." ) 3060 protected DataType offset; 3061 3062 private static final long serialVersionUID = 1997058061L; 3063 3064 /** 3065 * Constructor 3066 */ 3067 public RequestOrchestrationActionRelatedActionComponent() { 3068 super(); 3069 } 3070 3071 /** 3072 * Constructor 3073 */ 3074 public RequestOrchestrationActionRelatedActionComponent(String targetId, ActionRelationshipType relationship) { 3075 super(); 3076 this.setTargetId(targetId); 3077 this.setRelationship(relationship); 3078 } 3079 3080 /** 3081 * @return {@link #targetId} (The element id of the target related action.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value 3082 */ 3083 public IdType getTargetIdElement() { 3084 if (this.targetId == null) 3085 if (Configuration.errorOnAutoCreate()) 3086 throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.targetId"); 3087 else if (Configuration.doAutoCreate()) 3088 this.targetId = new IdType(); // bb 3089 return this.targetId; 3090 } 3091 3092 public boolean hasTargetIdElement() { 3093 return this.targetId != null && !this.targetId.isEmpty(); 3094 } 3095 3096 public boolean hasTargetId() { 3097 return this.targetId != null && !this.targetId.isEmpty(); 3098 } 3099 3100 /** 3101 * @param value {@link #targetId} (The element id of the target related action.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value 3102 */ 3103 public RequestOrchestrationActionRelatedActionComponent setTargetIdElement(IdType value) { 3104 this.targetId = value; 3105 return this; 3106 } 3107 3108 /** 3109 * @return The element id of the target related action. 3110 */ 3111 public String getTargetId() { 3112 return this.targetId == null ? null : this.targetId.getValue(); 3113 } 3114 3115 /** 3116 * @param value The element id of the target related action. 3117 */ 3118 public RequestOrchestrationActionRelatedActionComponent setTargetId(String value) { 3119 if (this.targetId == null) 3120 this.targetId = new IdType(); 3121 this.targetId.setValue(value); 3122 return this; 3123 } 3124 3125 /** 3126 * @return {@link #relationship} (The relationship of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getRelationship" gives direct access to the value 3127 */ 3128 public Enumeration<ActionRelationshipType> getRelationshipElement() { 3129 if (this.relationship == null) 3130 if (Configuration.errorOnAutoCreate()) 3131 throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.relationship"); 3132 else if (Configuration.doAutoCreate()) 3133 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); // bb 3134 return this.relationship; 3135 } 3136 3137 public boolean hasRelationshipElement() { 3138 return this.relationship != null && !this.relationship.isEmpty(); 3139 } 3140 3141 public boolean hasRelationship() { 3142 return this.relationship != null && !this.relationship.isEmpty(); 3143 } 3144 3145 /** 3146 * @param value {@link #relationship} (The relationship of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getRelationship" gives direct access to the value 3147 */ 3148 public RequestOrchestrationActionRelatedActionComponent setRelationshipElement(Enumeration<ActionRelationshipType> value) { 3149 this.relationship = value; 3150 return this; 3151 } 3152 3153 /** 3154 * @return The relationship of this action to the related action. 3155 */ 3156 public ActionRelationshipType getRelationship() { 3157 return this.relationship == null ? null : this.relationship.getValue(); 3158 } 3159 3160 /** 3161 * @param value The relationship of this action to the related action. 3162 */ 3163 public RequestOrchestrationActionRelatedActionComponent setRelationship(ActionRelationshipType value) { 3164 if (this.relationship == null) 3165 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); 3166 this.relationship.setValue(value); 3167 return this; 3168 } 3169 3170 /** 3171 * @return {@link #endRelationship} (The relationship of the end of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getEndRelationship" gives direct access to the value 3172 */ 3173 public Enumeration<ActionRelationshipType> getEndRelationshipElement() { 3174 if (this.endRelationship == null) 3175 if (Configuration.errorOnAutoCreate()) 3176 throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.endRelationship"); 3177 else if (Configuration.doAutoCreate()) 3178 this.endRelationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); // bb 3179 return this.endRelationship; 3180 } 3181 3182 public boolean hasEndRelationshipElement() { 3183 return this.endRelationship != null && !this.endRelationship.isEmpty(); 3184 } 3185 3186 public boolean hasEndRelationship() { 3187 return this.endRelationship != null && !this.endRelationship.isEmpty(); 3188 } 3189 3190 /** 3191 * @param value {@link #endRelationship} (The relationship of the end of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getEndRelationship" gives direct access to the value 3192 */ 3193 public RequestOrchestrationActionRelatedActionComponent setEndRelationshipElement(Enumeration<ActionRelationshipType> value) { 3194 this.endRelationship = value; 3195 return this; 3196 } 3197 3198 /** 3199 * @return The relationship of the end of this action to the related action. 3200 */ 3201 public ActionRelationshipType getEndRelationship() { 3202 return this.endRelationship == null ? null : this.endRelationship.getValue(); 3203 } 3204 3205 /** 3206 * @param value The relationship of the end of this action to the related action. 3207 */ 3208 public RequestOrchestrationActionRelatedActionComponent setEndRelationship(ActionRelationshipType value) { 3209 if (value == null) 3210 this.endRelationship = null; 3211 else { 3212 if (this.endRelationship == null) 3213 this.endRelationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); 3214 this.endRelationship.setValue(value); 3215 } 3216 return this; 3217 } 3218 3219 /** 3220 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3221 */ 3222 public DataType getOffset() { 3223 return this.offset; 3224 } 3225 3226 /** 3227 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3228 */ 3229 public Duration getOffsetDuration() throws FHIRException { 3230 if (this.offset == null) 3231 this.offset = new Duration(); 3232 if (!(this.offset instanceof Duration)) 3233 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.offset.getClass().getName()+" was encountered"); 3234 return (Duration) this.offset; 3235 } 3236 3237 public boolean hasOffsetDuration() { 3238 return this != null && this.offset instanceof Duration; 3239 } 3240 3241 /** 3242 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3243 */ 3244 public Range getOffsetRange() throws FHIRException { 3245 if (this.offset == null) 3246 this.offset = new Range(); 3247 if (!(this.offset instanceof Range)) 3248 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.offset.getClass().getName()+" was encountered"); 3249 return (Range) this.offset; 3250 } 3251 3252 public boolean hasOffsetRange() { 3253 return this != null && this.offset instanceof Range; 3254 } 3255 3256 public boolean hasOffset() { 3257 return this.offset != null && !this.offset.isEmpty(); 3258 } 3259 3260 /** 3261 * @param value {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3262 */ 3263 public RequestOrchestrationActionRelatedActionComponent setOffset(DataType value) { 3264 if (value != null && !(value instanceof Duration || value instanceof Range)) 3265 throw new FHIRException("Not the right type for RequestOrchestration.action.relatedAction.offset[x]: "+value.fhirType()); 3266 this.offset = value; 3267 return this; 3268 } 3269 3270 protected void listChildren(List<Property> children) { 3271 super.listChildren(children); 3272 children.add(new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId)); 3273 children.add(new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship)); 3274 children.add(new Property("endRelationship", "code", "The relationship of the end of this action to the related action.", 0, 1, endRelationship)); 3275 children.add(new Property("offset[x]", "Duration|Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset)); 3276 } 3277 3278 @Override 3279 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3280 switch (_hash) { 3281 case -441951604: /*targetId*/ return new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId); 3282 case -261851592: /*relationship*/ return new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship); 3283 case -1506024781: /*endRelationship*/ return new Property("endRelationship", "code", "The relationship of the end of this action to the related action.", 0, 1, endRelationship); 3284 case -1960684787: /*offset[x]*/ return new Property("offset[x]", "Duration|Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); 3285 case -1019779949: /*offset*/ return new Property("offset[x]", "Duration|Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); 3286 case 134075207: /*offsetDuration*/ return new Property("offset[x]", "Duration", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); 3287 case 1263585386: /*offsetRange*/ return new Property("offset[x]", "Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); 3288 default: return super.getNamedProperty(_hash, _name, _checkValid); 3289 } 3290 3291 } 3292 3293 @Override 3294 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3295 switch (hash) { 3296 case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType 3297 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Enumeration<ActionRelationshipType> 3298 case -1506024781: /*endRelationship*/ return this.endRelationship == null ? new Base[0] : new Base[] {this.endRelationship}; // Enumeration<ActionRelationshipType> 3299 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // DataType 3300 default: return super.getProperty(hash, name, checkValid); 3301 } 3302 3303 } 3304 3305 @Override 3306 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3307 switch (hash) { 3308 case -441951604: // targetId 3309 this.targetId = TypeConvertor.castToId(value); // IdType 3310 return value; 3311 case -261851592: // relationship 3312 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3313 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3314 return value; 3315 case -1506024781: // endRelationship 3316 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3317 this.endRelationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3318 return value; 3319 case -1019779949: // offset 3320 this.offset = TypeConvertor.castToType(value); // DataType 3321 return value; 3322 default: return super.setProperty(hash, name, value); 3323 } 3324 3325 } 3326 3327 @Override 3328 public Base setProperty(String name, Base value) throws FHIRException { 3329 if (name.equals("targetId")) { 3330 this.targetId = TypeConvertor.castToId(value); // IdType 3331 } else if (name.equals("relationship")) { 3332 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3333 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3334 } else if (name.equals("endRelationship")) { 3335 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3336 this.endRelationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3337 } else if (name.equals("offset[x]")) { 3338 this.offset = TypeConvertor.castToType(value); // DataType 3339 } else 3340 return super.setProperty(name, value); 3341 return value; 3342 } 3343 3344 @Override 3345 public Base makeProperty(int hash, String name) throws FHIRException { 3346 switch (hash) { 3347 case -441951604: return getTargetIdElement(); 3348 case -261851592: return getRelationshipElement(); 3349 case -1506024781: return getEndRelationshipElement(); 3350 case -1960684787: return getOffset(); 3351 case -1019779949: return getOffset(); 3352 default: return super.makeProperty(hash, name); 3353 } 3354 3355 } 3356 3357 @Override 3358 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3359 switch (hash) { 3360 case -441951604: /*targetId*/ return new String[] {"id"}; 3361 case -261851592: /*relationship*/ return new String[] {"code"}; 3362 case -1506024781: /*endRelationship*/ return new String[] {"code"}; 3363 case -1019779949: /*offset*/ return new String[] {"Duration", "Range"}; 3364 default: return super.getTypesForProperty(hash, name); 3365 } 3366 3367 } 3368 3369 @Override 3370 public Base addChild(String name) throws FHIRException { 3371 if (name.equals("targetId")) { 3372 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.relatedAction.targetId"); 3373 } 3374 else if (name.equals("relationship")) { 3375 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.relatedAction.relationship"); 3376 } 3377 else if (name.equals("endRelationship")) { 3378 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.relatedAction.endRelationship"); 3379 } 3380 else if (name.equals("offsetDuration")) { 3381 this.offset = new Duration(); 3382 return this.offset; 3383 } 3384 else if (name.equals("offsetRange")) { 3385 this.offset = new Range(); 3386 return this.offset; 3387 } 3388 else 3389 return super.addChild(name); 3390 } 3391 3392 public RequestOrchestrationActionRelatedActionComponent copy() { 3393 RequestOrchestrationActionRelatedActionComponent dst = new RequestOrchestrationActionRelatedActionComponent(); 3394 copyValues(dst); 3395 return dst; 3396 } 3397 3398 public void copyValues(RequestOrchestrationActionRelatedActionComponent dst) { 3399 super.copyValues(dst); 3400 dst.targetId = targetId == null ? null : targetId.copy(); 3401 dst.relationship = relationship == null ? null : relationship.copy(); 3402 dst.endRelationship = endRelationship == null ? null : endRelationship.copy(); 3403 dst.offset = offset == null ? null : offset.copy(); 3404 } 3405 3406 @Override 3407 public boolean equalsDeep(Base other_) { 3408 if (!super.equalsDeep(other_)) 3409 return false; 3410 if (!(other_ instanceof RequestOrchestrationActionRelatedActionComponent)) 3411 return false; 3412 RequestOrchestrationActionRelatedActionComponent o = (RequestOrchestrationActionRelatedActionComponent) other_; 3413 return compareDeep(targetId, o.targetId, true) && compareDeep(relationship, o.relationship, true) 3414 && compareDeep(endRelationship, o.endRelationship, true) && compareDeep(offset, o.offset, true) 3415 ; 3416 } 3417 3418 @Override 3419 public boolean equalsShallow(Base other_) { 3420 if (!super.equalsShallow(other_)) 3421 return false; 3422 if (!(other_ instanceof RequestOrchestrationActionRelatedActionComponent)) 3423 return false; 3424 RequestOrchestrationActionRelatedActionComponent o = (RequestOrchestrationActionRelatedActionComponent) other_; 3425 return compareValues(targetId, o.targetId, true) && compareValues(relationship, o.relationship, true) 3426 && compareValues(endRelationship, o.endRelationship, true); 3427 } 3428 3429 public boolean isEmpty() { 3430 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(targetId, relationship, endRelationship 3431 , offset); 3432 } 3433 3434 public String fhirType() { 3435 return "RequestOrchestration.action.relatedAction"; 3436 3437 } 3438 3439 } 3440 3441 @Block() 3442 public static class RequestOrchestrationActionParticipantComponent extends BackboneElement implements IBaseBackboneElement { 3443 /** 3444 * The type of participant in the action. 3445 */ 3446 @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 3447 @Description(shortDefinition="careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson", formalDefinition="The type of participant in the action." ) 3448 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-type") 3449 protected Enumeration<ActionParticipantType> type; 3450 3451 /** 3452 * The type of participant in the action. 3453 */ 3454 @Child(name = "typeCanonical", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3455 @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) 3456 protected CanonicalType typeCanonical; 3457 3458 /** 3459 * The type of participant in the action. 3460 */ 3461 @Child(name = "typeReference", type = {CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=false) 3462 @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) 3463 protected Reference typeReference; 3464 3465 /** 3466 * The role the participant should play in performing the described action. 3467 */ 3468 @Child(name = "role", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 3469 @Description(shortDefinition="E.g. Nurse, Surgeon, Parent, etc", formalDefinition="The role the participant should play in performing the described action." ) 3470 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") 3471 protected CodeableConcept role; 3472 3473 /** 3474 * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. 3475 */ 3476 @Child(name = "function", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) 3477 @Description(shortDefinition="E.g. Author, Reviewer, Witness, etc", formalDefinition="Indicates how the actor will be involved in the action - author, reviewer, witness, etc." ) 3478 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-function") 3479 protected CodeableConcept function; 3480 3481 /** 3482 * A reference to the actual participant. 3483 */ 3484 @Child(name = "actor", type = {CanonicalType.class, CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=6, min=0, max=1, modifier=false, summary=false) 3485 @Description(shortDefinition="Who/what is participating?", formalDefinition="A reference to the actual participant." ) 3486 protected DataType actor; 3487 3488 private static final long serialVersionUID = -147206285L; 3489 3490 /** 3491 * Constructor 3492 */ 3493 public RequestOrchestrationActionParticipantComponent() { 3494 super(); 3495 } 3496 3497 /** 3498 * @return {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 3499 */ 3500 public Enumeration<ActionParticipantType> getTypeElement() { 3501 if (this.type == null) 3502 if (Configuration.errorOnAutoCreate()) 3503 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.type"); 3504 else if (Configuration.doAutoCreate()) 3505 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); // bb 3506 return this.type; 3507 } 3508 3509 public boolean hasTypeElement() { 3510 return this.type != null && !this.type.isEmpty(); 3511 } 3512 3513 public boolean hasType() { 3514 return this.type != null && !this.type.isEmpty(); 3515 } 3516 3517 /** 3518 * @param value {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 3519 */ 3520 public RequestOrchestrationActionParticipantComponent setTypeElement(Enumeration<ActionParticipantType> value) { 3521 this.type = value; 3522 return this; 3523 } 3524 3525 /** 3526 * @return The type of participant in the action. 3527 */ 3528 public ActionParticipantType getType() { 3529 return this.type == null ? null : this.type.getValue(); 3530 } 3531 3532 /** 3533 * @param value The type of participant in the action. 3534 */ 3535 public RequestOrchestrationActionParticipantComponent setType(ActionParticipantType value) { 3536 if (value == null) 3537 this.type = null; 3538 else { 3539 if (this.type == null) 3540 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); 3541 this.type.setValue(value); 3542 } 3543 return this; 3544 } 3545 3546 /** 3547 * @return {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value 3548 */ 3549 public CanonicalType getTypeCanonicalElement() { 3550 if (this.typeCanonical == null) 3551 if (Configuration.errorOnAutoCreate()) 3552 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.typeCanonical"); 3553 else if (Configuration.doAutoCreate()) 3554 this.typeCanonical = new CanonicalType(); // bb 3555 return this.typeCanonical; 3556 } 3557 3558 public boolean hasTypeCanonicalElement() { 3559 return this.typeCanonical != null && !this.typeCanonical.isEmpty(); 3560 } 3561 3562 public boolean hasTypeCanonical() { 3563 return this.typeCanonical != null && !this.typeCanonical.isEmpty(); 3564 } 3565 3566 /** 3567 * @param value {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value 3568 */ 3569 public RequestOrchestrationActionParticipantComponent setTypeCanonicalElement(CanonicalType value) { 3570 this.typeCanonical = value; 3571 return this; 3572 } 3573 3574 /** 3575 * @return The type of participant in the action. 3576 */ 3577 public String getTypeCanonical() { 3578 return this.typeCanonical == null ? null : this.typeCanonical.getValue(); 3579 } 3580 3581 /** 3582 * @param value The type of participant in the action. 3583 */ 3584 public RequestOrchestrationActionParticipantComponent setTypeCanonical(String value) { 3585 if (Utilities.noString(value)) 3586 this.typeCanonical = null; 3587 else { 3588 if (this.typeCanonical == null) 3589 this.typeCanonical = new CanonicalType(); 3590 this.typeCanonical.setValue(value); 3591 } 3592 return this; 3593 } 3594 3595 /** 3596 * @return {@link #typeReference} (The type of participant in the action.) 3597 */ 3598 public Reference getTypeReference() { 3599 if (this.typeReference == null) 3600 if (Configuration.errorOnAutoCreate()) 3601 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.typeReference"); 3602 else if (Configuration.doAutoCreate()) 3603 this.typeReference = new Reference(); // cc 3604 return this.typeReference; 3605 } 3606 3607 public boolean hasTypeReference() { 3608 return this.typeReference != null && !this.typeReference.isEmpty(); 3609 } 3610 3611 /** 3612 * @param value {@link #typeReference} (The type of participant in the action.) 3613 */ 3614 public RequestOrchestrationActionParticipantComponent setTypeReference(Reference value) { 3615 this.typeReference = value; 3616 return this; 3617 } 3618 3619 /** 3620 * @return {@link #role} (The role the participant should play in performing the described action.) 3621 */ 3622 public CodeableConcept getRole() { 3623 if (this.role == null) 3624 if (Configuration.errorOnAutoCreate()) 3625 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.role"); 3626 else if (Configuration.doAutoCreate()) 3627 this.role = new CodeableConcept(); // cc 3628 return this.role; 3629 } 3630 3631 public boolean hasRole() { 3632 return this.role != null && !this.role.isEmpty(); 3633 } 3634 3635 /** 3636 * @param value {@link #role} (The role the participant should play in performing the described action.) 3637 */ 3638 public RequestOrchestrationActionParticipantComponent setRole(CodeableConcept value) { 3639 this.role = value; 3640 return this; 3641 } 3642 3643 /** 3644 * @return {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) 3645 */ 3646 public CodeableConcept getFunction() { 3647 if (this.function == null) 3648 if (Configuration.errorOnAutoCreate()) 3649 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.function"); 3650 else if (Configuration.doAutoCreate()) 3651 this.function = new CodeableConcept(); // cc 3652 return this.function; 3653 } 3654 3655 public boolean hasFunction() { 3656 return this.function != null && !this.function.isEmpty(); 3657 } 3658 3659 /** 3660 * @param value {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) 3661 */ 3662 public RequestOrchestrationActionParticipantComponent setFunction(CodeableConcept value) { 3663 this.function = value; 3664 return this; 3665 } 3666 3667 /** 3668 * @return {@link #actor} (A reference to the actual participant.) 3669 */ 3670 public DataType getActor() { 3671 return this.actor; 3672 } 3673 3674 /** 3675 * @return {@link #actor} (A reference to the actual participant.) 3676 */ 3677 public CanonicalType getActorCanonicalType() throws FHIRException { 3678 if (this.actor == null) 3679 this.actor = new CanonicalType(); 3680 if (!(this.actor instanceof CanonicalType)) 3681 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.actor.getClass().getName()+" was encountered"); 3682 return (CanonicalType) this.actor; 3683 } 3684 3685 public boolean hasActorCanonicalType() { 3686 return this != null && this.actor instanceof CanonicalType; 3687 } 3688 3689 /** 3690 * @return {@link #actor} (A reference to the actual participant.) 3691 */ 3692 public Reference getActorReference() throws FHIRException { 3693 if (this.actor == null) 3694 this.actor = new Reference(); 3695 if (!(this.actor instanceof Reference)) 3696 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.actor.getClass().getName()+" was encountered"); 3697 return (Reference) this.actor; 3698 } 3699 3700 public boolean hasActorReference() { 3701 return this != null && this.actor instanceof Reference; 3702 } 3703 3704 public boolean hasActor() { 3705 return this.actor != null && !this.actor.isEmpty(); 3706 } 3707 3708 /** 3709 * @param value {@link #actor} (A reference to the actual participant.) 3710 */ 3711 public RequestOrchestrationActionParticipantComponent setActor(DataType value) { 3712 if (value != null && !(value instanceof CanonicalType || value instanceof Reference)) 3713 throw new FHIRException("Not the right type for RequestOrchestration.action.participant.actor[x]: "+value.fhirType()); 3714 this.actor = value; 3715 return this; 3716 } 3717 3718 protected void listChildren(List<Property> children) { 3719 super.listChildren(children); 3720 children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); 3721 children.add(new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical)); 3722 children.add(new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); 3723 children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); 3724 children.add(new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function)); 3725 children.add(new Property("actor[x]", "canonical(CapabilityStatement)|Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor)); 3726 } 3727 3728 @Override 3729 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3730 switch (_hash) { 3731 case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); 3732 case -466635046: /*typeCanonical*/ return new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical); 3733 case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); 3734 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); 3735 case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function); 3736 case -1650558357: /*actor[x]*/ return new Property("actor[x]", "canonical(CapabilityStatement)|Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); 3737 case 92645877: /*actor*/ return new Property("actor[x]", "canonical(CapabilityStatement)|Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); 3738 case 1323531903: /*actorCanonical*/ return new Property("actor[x]", "canonical(CapabilityStatement)", "A reference to the actual participant.", 0, 1, actor); 3739 case -429975338: /*actorReference*/ return new Property("actor[x]", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); 3740 default: return super.getNamedProperty(_hash, _name, _checkValid); 3741 } 3742 3743 } 3744 3745 @Override 3746 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3747 switch (hash) { 3748 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ActionParticipantType> 3749 case -466635046: /*typeCanonical*/ return this.typeCanonical == null ? new Base[0] : new Base[] {this.typeCanonical}; // CanonicalType 3750 case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference 3751 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 3752 case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept 3753 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // DataType 3754 default: return super.getProperty(hash, name, checkValid); 3755 } 3756 3757 } 3758 3759 @Override 3760 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3761 switch (hash) { 3762 case 3575610: // type 3763 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3764 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 3765 return value; 3766 case -466635046: // typeCanonical 3767 this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType 3768 return value; 3769 case 2074825009: // typeReference 3770 this.typeReference = TypeConvertor.castToReference(value); // Reference 3771 return value; 3772 case 3506294: // role 3773 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3774 return value; 3775 case 1380938712: // function 3776 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3777 return value; 3778 case 92645877: // actor 3779 this.actor = TypeConvertor.castToType(value); // DataType 3780 return value; 3781 default: return super.setProperty(hash, name, value); 3782 } 3783 3784 } 3785 3786 @Override 3787 public Base setProperty(String name, Base value) throws FHIRException { 3788 if (name.equals("type")) { 3789 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3790 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 3791 } else if (name.equals("typeCanonical")) { 3792 this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType 3793 } else if (name.equals("typeReference")) { 3794 this.typeReference = TypeConvertor.castToReference(value); // Reference 3795 } else if (name.equals("role")) { 3796 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3797 } else if (name.equals("function")) { 3798 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3799 } else if (name.equals("actor[x]")) { 3800 this.actor = TypeConvertor.castToType(value); // DataType 3801 } else 3802 return super.setProperty(name, value); 3803 return value; 3804 } 3805 3806 @Override 3807 public Base makeProperty(int hash, String name) throws FHIRException { 3808 switch (hash) { 3809 case 3575610: return getTypeElement(); 3810 case -466635046: return getTypeCanonicalElement(); 3811 case 2074825009: return getTypeReference(); 3812 case 3506294: return getRole(); 3813 case 1380938712: return getFunction(); 3814 case -1650558357: return getActor(); 3815 case 92645877: return getActor(); 3816 default: return super.makeProperty(hash, name); 3817 } 3818 3819 } 3820 3821 @Override 3822 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3823 switch (hash) { 3824 case 3575610: /*type*/ return new String[] {"code"}; 3825 case -466635046: /*typeCanonical*/ return new String[] {"canonical"}; 3826 case 2074825009: /*typeReference*/ return new String[] {"Reference"}; 3827 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 3828 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 3829 case 92645877: /*actor*/ return new String[] {"canonical", "Reference"}; 3830 default: return super.getTypesForProperty(hash, name); 3831 } 3832 3833 } 3834 3835 @Override 3836 public Base addChild(String name) throws FHIRException { 3837 if (name.equals("type")) { 3838 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.participant.type"); 3839 } 3840 else if (name.equals("typeCanonical")) { 3841 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.participant.typeCanonical"); 3842 } 3843 else if (name.equals("typeReference")) { 3844 this.typeReference = new Reference(); 3845 return this.typeReference; 3846 } 3847 else if (name.equals("role")) { 3848 this.role = new CodeableConcept(); 3849 return this.role; 3850 } 3851 else if (name.equals("function")) { 3852 this.function = new CodeableConcept(); 3853 return this.function; 3854 } 3855 else if (name.equals("actorCanonical")) { 3856 this.actor = new CanonicalType(); 3857 return this.actor; 3858 } 3859 else if (name.equals("actorReference")) { 3860 this.actor = new Reference(); 3861 return this.actor; 3862 } 3863 else 3864 return super.addChild(name); 3865 } 3866 3867 public RequestOrchestrationActionParticipantComponent copy() { 3868 RequestOrchestrationActionParticipantComponent dst = new RequestOrchestrationActionParticipantComponent(); 3869 copyValues(dst); 3870 return dst; 3871 } 3872 3873 public void copyValues(RequestOrchestrationActionParticipantComponent dst) { 3874 super.copyValues(dst); 3875 dst.type = type == null ? null : type.copy(); 3876 dst.typeCanonical = typeCanonical == null ? null : typeCanonical.copy(); 3877 dst.typeReference = typeReference == null ? null : typeReference.copy(); 3878 dst.role = role == null ? null : role.copy(); 3879 dst.function = function == null ? null : function.copy(); 3880 dst.actor = actor == null ? null : actor.copy(); 3881 } 3882 3883 @Override 3884 public boolean equalsDeep(Base other_) { 3885 if (!super.equalsDeep(other_)) 3886 return false; 3887 if (!(other_ instanceof RequestOrchestrationActionParticipantComponent)) 3888 return false; 3889 RequestOrchestrationActionParticipantComponent o = (RequestOrchestrationActionParticipantComponent) other_; 3890 return compareDeep(type, o.type, true) && compareDeep(typeCanonical, o.typeCanonical, true) && compareDeep(typeReference, o.typeReference, true) 3891 && compareDeep(role, o.role, true) && compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true) 3892 ; 3893 } 3894 3895 @Override 3896 public boolean equalsShallow(Base other_) { 3897 if (!super.equalsShallow(other_)) 3898 return false; 3899 if (!(other_ instanceof RequestOrchestrationActionParticipantComponent)) 3900 return false; 3901 RequestOrchestrationActionParticipantComponent o = (RequestOrchestrationActionParticipantComponent) other_; 3902 return compareValues(type, o.type, true) && compareValues(typeCanonical, o.typeCanonical, true); 3903 } 3904 3905 public boolean isEmpty() { 3906 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeCanonical, typeReference 3907 , role, function, actor); 3908 } 3909 3910 public String fhirType() { 3911 return "RequestOrchestration.action.participant"; 3912 3913 } 3914 3915 } 3916 3917 @Block() 3918 public static class RequestOrchestrationActionDynamicValueComponent extends BackboneElement implements IBaseBackboneElement { 3919 /** 3920 * The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). 3921 */ 3922 @Child(name = "path", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 3923 @Description(shortDefinition="The path to the element to be set dynamically", formalDefinition="The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." ) 3924 protected StringType path; 3925 3926 /** 3927 * An expression specifying the value of the customized element. 3928 */ 3929 @Child(name = "expression", type = {Expression.class}, order=2, min=0, max=1, modifier=false, summary=false) 3930 @Description(shortDefinition="An expression that provides the dynamic value for the customization", formalDefinition="An expression specifying the value of the customized element." ) 3931 protected Expression expression; 3932 3933 private static final long serialVersionUID = 1064529082L; 3934 3935 /** 3936 * Constructor 3937 */ 3938 public RequestOrchestrationActionDynamicValueComponent() { 3939 super(); 3940 } 3941 3942 /** 3943 * @return {@link #path} (The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 3944 */ 3945 public StringType getPathElement() { 3946 if (this.path == null) 3947 if (Configuration.errorOnAutoCreate()) 3948 throw new Error("Attempt to auto-create RequestOrchestrationActionDynamicValueComponent.path"); 3949 else if (Configuration.doAutoCreate()) 3950 this.path = new StringType(); // bb 3951 return this.path; 3952 } 3953 3954 public boolean hasPathElement() { 3955 return this.path != null && !this.path.isEmpty(); 3956 } 3957 3958 public boolean hasPath() { 3959 return this.path != null && !this.path.isEmpty(); 3960 } 3961 3962 /** 3963 * @param value {@link #path} (The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 3964 */ 3965 public RequestOrchestrationActionDynamicValueComponent setPathElement(StringType value) { 3966 this.path = value; 3967 return this; 3968 } 3969 3970 /** 3971 * @return The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). 3972 */ 3973 public String getPath() { 3974 return this.path == null ? null : this.path.getValue(); 3975 } 3976 3977 /** 3978 * @param value The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). 3979 */ 3980 public RequestOrchestrationActionDynamicValueComponent setPath(String value) { 3981 if (Utilities.noString(value)) 3982 this.path = null; 3983 else { 3984 if (this.path == null) 3985 this.path = new StringType(); 3986 this.path.setValue(value); 3987 } 3988 return this; 3989 } 3990 3991 /** 3992 * @return {@link #expression} (An expression specifying the value of the customized element.) 3993 */ 3994 public Expression getExpression() { 3995 if (this.expression == null) 3996 if (Configuration.errorOnAutoCreate()) 3997 throw new Error("Attempt to auto-create RequestOrchestrationActionDynamicValueComponent.expression"); 3998 else if (Configuration.doAutoCreate()) 3999 this.expression = new Expression(); // cc 4000 return this.expression; 4001 } 4002 4003 public boolean hasExpression() { 4004 return this.expression != null && !this.expression.isEmpty(); 4005 } 4006 4007 /** 4008 * @param value {@link #expression} (An expression specifying the value of the customized element.) 4009 */ 4010 public RequestOrchestrationActionDynamicValueComponent setExpression(Expression value) { 4011 this.expression = value; 4012 return this; 4013 } 4014 4015 protected void listChildren(List<Property> children) { 4016 super.listChildren(children); 4017 children.add(new Property("path", "string", "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, 1, path)); 4018 children.add(new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression)); 4019 } 4020 4021 @Override 4022 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4023 switch (_hash) { 4024 case 3433509: /*path*/ return new Property("path", "string", "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolvable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, 1, path); 4025 case -1795452264: /*expression*/ return new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression); 4026 default: return super.getNamedProperty(_hash, _name, _checkValid); 4027 } 4028 4029 } 4030 4031 @Override 4032 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4033 switch (hash) { 4034 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 4035 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression 4036 default: return super.getProperty(hash, name, checkValid); 4037 } 4038 4039 } 4040 4041 @Override 4042 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4043 switch (hash) { 4044 case 3433509: // path 4045 this.path = TypeConvertor.castToString(value); // StringType 4046 return value; 4047 case -1795452264: // expression 4048 this.expression = TypeConvertor.castToExpression(value); // Expression 4049 return value; 4050 default: return super.setProperty(hash, name, value); 4051 } 4052 4053 } 4054 4055 @Override 4056 public Base setProperty(String name, Base value) throws FHIRException { 4057 if (name.equals("path")) { 4058 this.path = TypeConvertor.castToString(value); // StringType 4059 } else if (name.equals("expression")) { 4060 this.expression = TypeConvertor.castToExpression(value); // Expression 4061 } else 4062 return super.setProperty(name, value); 4063 return value; 4064 } 4065 4066 @Override 4067 public Base makeProperty(int hash, String name) throws FHIRException { 4068 switch (hash) { 4069 case 3433509: return getPathElement(); 4070 case -1795452264: return getExpression(); 4071 default: return super.makeProperty(hash, name); 4072 } 4073 4074 } 4075 4076 @Override 4077 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4078 switch (hash) { 4079 case 3433509: /*path*/ return new String[] {"string"}; 4080 case -1795452264: /*expression*/ return new String[] {"Expression"}; 4081 default: return super.getTypesForProperty(hash, name); 4082 } 4083 4084 } 4085 4086 @Override 4087 public Base addChild(String name) throws FHIRException { 4088 if (name.equals("path")) { 4089 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.action.dynamicValue.path"); 4090 } 4091 else if (name.equals("expression")) { 4092 this.expression = new Expression(); 4093 return this.expression; 4094 } 4095 else 4096 return super.addChild(name); 4097 } 4098 4099 public RequestOrchestrationActionDynamicValueComponent copy() { 4100 RequestOrchestrationActionDynamicValueComponent dst = new RequestOrchestrationActionDynamicValueComponent(); 4101 copyValues(dst); 4102 return dst; 4103 } 4104 4105 public void copyValues(RequestOrchestrationActionDynamicValueComponent dst) { 4106 super.copyValues(dst); 4107 dst.path = path == null ? null : path.copy(); 4108 dst.expression = expression == null ? null : expression.copy(); 4109 } 4110 4111 @Override 4112 public boolean equalsDeep(Base other_) { 4113 if (!super.equalsDeep(other_)) 4114 return false; 4115 if (!(other_ instanceof RequestOrchestrationActionDynamicValueComponent)) 4116 return false; 4117 RequestOrchestrationActionDynamicValueComponent o = (RequestOrchestrationActionDynamicValueComponent) other_; 4118 return compareDeep(path, o.path, true) && compareDeep(expression, o.expression, true); 4119 } 4120 4121 @Override 4122 public boolean equalsShallow(Base other_) { 4123 if (!super.equalsShallow(other_)) 4124 return false; 4125 if (!(other_ instanceof RequestOrchestrationActionDynamicValueComponent)) 4126 return false; 4127 RequestOrchestrationActionDynamicValueComponent o = (RequestOrchestrationActionDynamicValueComponent) other_; 4128 return compareValues(path, o.path, true); 4129 } 4130 4131 public boolean isEmpty() { 4132 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(path, expression); 4133 } 4134 4135 public String fhirType() { 4136 return "RequestOrchestration.action.dynamicValue"; 4137 4138 } 4139 4140 } 4141 4142 /** 4143 * Allows a service to provide a unique, business identifier for the request. 4144 */ 4145 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4146 @Description(shortDefinition="Business identifier", formalDefinition="Allows a service to provide a unique, business identifier for the request." ) 4147 protected List<Identifier> identifier; 4148 4149 /** 4150 * A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. 4151 */ 4152 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4153 @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request." ) 4154 protected List<CanonicalType> instantiatesCanonical; 4155 4156 /** 4157 * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. 4158 */ 4159 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4160 @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request." ) 4161 protected List<UriType> instantiatesUri; 4162 4163 /** 4164 * A plan, proposal or order that is fulfilled in whole or in part by this request. 4165 */ 4166 @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4167 @Description(shortDefinition="Fulfills plan, proposal, or order", formalDefinition="A plan, proposal or order that is fulfilled in whole or in part by this request." ) 4168 protected List<Reference> basedOn; 4169 4170 /** 4171 * Completed or terminated request(s) whose function is taken by this new request. 4172 */ 4173 @Child(name = "replaces", type = {Reference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4174 @Description(shortDefinition="Request(s) replaced by this request", formalDefinition="Completed or terminated request(s) whose function is taken by this new request." ) 4175 protected List<Reference> replaces; 4176 4177 /** 4178 * A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time. 4179 */ 4180 @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) 4181 @Description(shortDefinition="Composite request this is part of", formalDefinition="A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time." ) 4182 protected Identifier groupIdentifier; 4183 4184 /** 4185 * The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. 4186 */ 4187 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 4188 @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration." ) 4189 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 4190 protected Enumeration<RequestStatus> status; 4191 4192 /** 4193 * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4194 */ 4195 @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 4196 @Description(shortDefinition="proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain." ) 4197 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 4198 protected Enumeration<RequestIntent> intent; 4199 4200 /** 4201 * Indicates how quickly the request should be addressed with respect to other requests. 4202 */ 4203 @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 4204 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) 4205 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 4206 protected Enumeration<RequestPriority> priority; 4207 4208 /** 4209 * A code that identifies what the overall request orchestration is. 4210 */ 4211 @Child(name = "code", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 4212 @Description(shortDefinition="What's being requested/ordered", formalDefinition="A code that identifies what the overall request orchestration is." ) 4213 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-code") 4214 protected CodeableConcept code; 4215 4216 /** 4217 * The subject for which the request orchestration was created. 4218 */ 4219 @Child(name = "subject", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=10, min=0, max=1, modifier=false, summary=false) 4220 @Description(shortDefinition="Who the request orchestration is about", formalDefinition="The subject for which the request orchestration was created." ) 4221 protected Reference subject; 4222 4223 /** 4224 * Describes the context of the request orchestration, if any. 4225 */ 4226 @Child(name = "encounter", type = {Encounter.class}, order=11, min=0, max=1, modifier=false, summary=false) 4227 @Description(shortDefinition="Created as part of", formalDefinition="Describes the context of the request orchestration, if any." ) 4228 protected Reference encounter; 4229 4230 /** 4231 * Indicates when the request orchestration was created. 4232 */ 4233 @Child(name = "authoredOn", type = {DateTimeType.class}, order=12, min=0, max=1, modifier=false, summary=false) 4234 @Description(shortDefinition="When the request orchestration was authored", formalDefinition="Indicates when the request orchestration was created." ) 4235 protected DateTimeType authoredOn; 4236 4237 /** 4238 * Provides a reference to the author of the request orchestration. 4239 */ 4240 @Child(name = "author", type = {Device.class, Practitioner.class, PractitionerRole.class}, order=13, min=0, max=1, modifier=false, summary=false) 4241 @Description(shortDefinition="Device or practitioner that authored the request orchestration", formalDefinition="Provides a reference to the author of the request orchestration." ) 4242 protected Reference author; 4243 4244 /** 4245 * Describes the reason for the request orchestration in coded or textual form. 4246 */ 4247 @Child(name = "reason", type = {CodeableReference.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4248 @Description(shortDefinition="Why the request orchestration is needed", formalDefinition="Describes the reason for the request orchestration in coded or textual form." ) 4249 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-reason-code") 4250 protected List<CodeableReference> reason; 4251 4252 /** 4253 * Goals that are intended to be achieved by following the requests in this RequestOrchestration. 4254 */ 4255 @Child(name = "goal", type = {Goal.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4256 @Description(shortDefinition="What goals", formalDefinition="Goals that are intended to be achieved by following the requests in this RequestOrchestration." ) 4257 protected List<Reference> goal; 4258 4259 /** 4260 * Provides a mechanism to communicate additional information about the response. 4261 */ 4262 @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4263 @Description(shortDefinition="Additional notes about the response", formalDefinition="Provides a mechanism to communicate additional information about the response." ) 4264 protected List<Annotation> note; 4265 4266 /** 4267 * The actions, if any, produced by the evaluation of the artifact. 4268 */ 4269 @Child(name = "action", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4270 @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) 4271 protected List<RequestOrchestrationActionComponent> action; 4272 4273 private static final long serialVersionUID = -683989911L; 4274 4275 /** 4276 * Constructor 4277 */ 4278 public RequestOrchestration() { 4279 super(); 4280 } 4281 4282 /** 4283 * Constructor 4284 */ 4285 public RequestOrchestration(RequestStatus status, RequestIntent intent) { 4286 super(); 4287 this.setStatus(status); 4288 this.setIntent(intent); 4289 } 4290 4291 /** 4292 * @return {@link #identifier} (Allows a service to provide a unique, business identifier for the request.) 4293 */ 4294 public List<Identifier> getIdentifier() { 4295 if (this.identifier == null) 4296 this.identifier = new ArrayList<Identifier>(); 4297 return this.identifier; 4298 } 4299 4300 /** 4301 * @return Returns a reference to <code>this</code> for easy method chaining 4302 */ 4303 public RequestOrchestration setIdentifier(List<Identifier> theIdentifier) { 4304 this.identifier = theIdentifier; 4305 return this; 4306 } 4307 4308 public boolean hasIdentifier() { 4309 if (this.identifier == null) 4310 return false; 4311 for (Identifier item : this.identifier) 4312 if (!item.isEmpty()) 4313 return true; 4314 return false; 4315 } 4316 4317 public Identifier addIdentifier() { //3 4318 Identifier t = new Identifier(); 4319 if (this.identifier == null) 4320 this.identifier = new ArrayList<Identifier>(); 4321 this.identifier.add(t); 4322 return t; 4323 } 4324 4325 public RequestOrchestration addIdentifier(Identifier t) { //3 4326 if (t == null) 4327 return this; 4328 if (this.identifier == null) 4329 this.identifier = new ArrayList<Identifier>(); 4330 this.identifier.add(t); 4331 return this; 4332 } 4333 4334 /** 4335 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 4336 */ 4337 public Identifier getIdentifierFirstRep() { 4338 if (getIdentifier().isEmpty()) { 4339 addIdentifier(); 4340 } 4341 return getIdentifier().get(0); 4342 } 4343 4344 /** 4345 * @return {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4346 */ 4347 public List<CanonicalType> getInstantiatesCanonical() { 4348 if (this.instantiatesCanonical == null) 4349 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4350 return this.instantiatesCanonical; 4351 } 4352 4353 /** 4354 * @return Returns a reference to <code>this</code> for easy method chaining 4355 */ 4356 public RequestOrchestration setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 4357 this.instantiatesCanonical = theInstantiatesCanonical; 4358 return this; 4359 } 4360 4361 public boolean hasInstantiatesCanonical() { 4362 if (this.instantiatesCanonical == null) 4363 return false; 4364 for (CanonicalType item : this.instantiatesCanonical) 4365 if (!item.isEmpty()) 4366 return true; 4367 return false; 4368 } 4369 4370 /** 4371 * @return {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4372 */ 4373 public CanonicalType addInstantiatesCanonicalElement() {//2 4374 CanonicalType t = new CanonicalType(); 4375 if (this.instantiatesCanonical == null) 4376 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4377 this.instantiatesCanonical.add(t); 4378 return t; 4379 } 4380 4381 /** 4382 * @param value {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4383 */ 4384 public RequestOrchestration addInstantiatesCanonical(String value) { //1 4385 CanonicalType t = new CanonicalType(); 4386 t.setValue(value); 4387 if (this.instantiatesCanonical == null) 4388 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4389 this.instantiatesCanonical.add(t); 4390 return this; 4391 } 4392 4393 /** 4394 * @param value {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4395 */ 4396 public boolean hasInstantiatesCanonical(String value) { 4397 if (this.instantiatesCanonical == null) 4398 return false; 4399 for (CanonicalType v : this.instantiatesCanonical) 4400 if (v.getValue().equals(value)) // canonical 4401 return true; 4402 return false; 4403 } 4404 4405 /** 4406 * @return {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4407 */ 4408 public List<UriType> getInstantiatesUri() { 4409 if (this.instantiatesUri == null) 4410 this.instantiatesUri = new ArrayList<UriType>(); 4411 return this.instantiatesUri; 4412 } 4413 4414 /** 4415 * @return Returns a reference to <code>this</code> for easy method chaining 4416 */ 4417 public RequestOrchestration setInstantiatesUri(List<UriType> theInstantiatesUri) { 4418 this.instantiatesUri = theInstantiatesUri; 4419 return this; 4420 } 4421 4422 public boolean hasInstantiatesUri() { 4423 if (this.instantiatesUri == null) 4424 return false; 4425 for (UriType item : this.instantiatesUri) 4426 if (!item.isEmpty()) 4427 return true; 4428 return false; 4429 } 4430 4431 /** 4432 * @return {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4433 */ 4434 public UriType addInstantiatesUriElement() {//2 4435 UriType t = new UriType(); 4436 if (this.instantiatesUri == null) 4437 this.instantiatesUri = new ArrayList<UriType>(); 4438 this.instantiatesUri.add(t); 4439 return t; 4440 } 4441 4442 /** 4443 * @param value {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4444 */ 4445 public RequestOrchestration addInstantiatesUri(String value) { //1 4446 UriType t = new UriType(); 4447 t.setValue(value); 4448 if (this.instantiatesUri == null) 4449 this.instantiatesUri = new ArrayList<UriType>(); 4450 this.instantiatesUri.add(t); 4451 return this; 4452 } 4453 4454 /** 4455 * @param value {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) 4456 */ 4457 public boolean hasInstantiatesUri(String value) { 4458 if (this.instantiatesUri == null) 4459 return false; 4460 for (UriType v : this.instantiatesUri) 4461 if (v.getValue().equals(value)) // uri 4462 return true; 4463 return false; 4464 } 4465 4466 /** 4467 * @return {@link #basedOn} (A plan, proposal or order that is fulfilled in whole or in part by this request.) 4468 */ 4469 public List<Reference> getBasedOn() { 4470 if (this.basedOn == null) 4471 this.basedOn = new ArrayList<Reference>(); 4472 return this.basedOn; 4473 } 4474 4475 /** 4476 * @return Returns a reference to <code>this</code> for easy method chaining 4477 */ 4478 public RequestOrchestration setBasedOn(List<Reference> theBasedOn) { 4479 this.basedOn = theBasedOn; 4480 return this; 4481 } 4482 4483 public boolean hasBasedOn() { 4484 if (this.basedOn == null) 4485 return false; 4486 for (Reference item : this.basedOn) 4487 if (!item.isEmpty()) 4488 return true; 4489 return false; 4490 } 4491 4492 public Reference addBasedOn() { //3 4493 Reference t = new Reference(); 4494 if (this.basedOn == null) 4495 this.basedOn = new ArrayList<Reference>(); 4496 this.basedOn.add(t); 4497 return t; 4498 } 4499 4500 public RequestOrchestration addBasedOn(Reference t) { //3 4501 if (t == null) 4502 return this; 4503 if (this.basedOn == null) 4504 this.basedOn = new ArrayList<Reference>(); 4505 this.basedOn.add(t); 4506 return this; 4507 } 4508 4509 /** 4510 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 4511 */ 4512 public Reference getBasedOnFirstRep() { 4513 if (getBasedOn().isEmpty()) { 4514 addBasedOn(); 4515 } 4516 return getBasedOn().get(0); 4517 } 4518 4519 /** 4520 * @return {@link #replaces} (Completed or terminated request(s) whose function is taken by this new request.) 4521 */ 4522 public List<Reference> getReplaces() { 4523 if (this.replaces == null) 4524 this.replaces = new ArrayList<Reference>(); 4525 return this.replaces; 4526 } 4527 4528 /** 4529 * @return Returns a reference to <code>this</code> for easy method chaining 4530 */ 4531 public RequestOrchestration setReplaces(List<Reference> theReplaces) { 4532 this.replaces = theReplaces; 4533 return this; 4534 } 4535 4536 public boolean hasReplaces() { 4537 if (this.replaces == null) 4538 return false; 4539 for (Reference item : this.replaces) 4540 if (!item.isEmpty()) 4541 return true; 4542 return false; 4543 } 4544 4545 public Reference addReplaces() { //3 4546 Reference t = new Reference(); 4547 if (this.replaces == null) 4548 this.replaces = new ArrayList<Reference>(); 4549 this.replaces.add(t); 4550 return t; 4551 } 4552 4553 public RequestOrchestration addReplaces(Reference t) { //3 4554 if (t == null) 4555 return this; 4556 if (this.replaces == null) 4557 this.replaces = new ArrayList<Reference>(); 4558 this.replaces.add(t); 4559 return this; 4560 } 4561 4562 /** 4563 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist {3} 4564 */ 4565 public Reference getReplacesFirstRep() { 4566 if (getReplaces().isEmpty()) { 4567 addReplaces(); 4568 } 4569 return getReplaces().get(0); 4570 } 4571 4572 /** 4573 * @return {@link #groupIdentifier} (A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time.) 4574 */ 4575 public Identifier getGroupIdentifier() { 4576 if (this.groupIdentifier == null) 4577 if (Configuration.errorOnAutoCreate()) 4578 throw new Error("Attempt to auto-create RequestOrchestration.groupIdentifier"); 4579 else if (Configuration.doAutoCreate()) 4580 this.groupIdentifier = new Identifier(); // cc 4581 return this.groupIdentifier; 4582 } 4583 4584 public boolean hasGroupIdentifier() { 4585 return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); 4586 } 4587 4588 /** 4589 * @param value {@link #groupIdentifier} (A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time.) 4590 */ 4591 public RequestOrchestration setGroupIdentifier(Identifier value) { 4592 this.groupIdentifier = value; 4593 return this; 4594 } 4595 4596 /** 4597 * @return {@link #status} (The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 4598 */ 4599 public Enumeration<RequestStatus> getStatusElement() { 4600 if (this.status == null) 4601 if (Configuration.errorOnAutoCreate()) 4602 throw new Error("Attempt to auto-create RequestOrchestration.status"); 4603 else if (Configuration.doAutoCreate()) 4604 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 4605 return this.status; 4606 } 4607 4608 public boolean hasStatusElement() { 4609 return this.status != null && !this.status.isEmpty(); 4610 } 4611 4612 public boolean hasStatus() { 4613 return this.status != null && !this.status.isEmpty(); 4614 } 4615 4616 /** 4617 * @param value {@link #status} (The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 4618 */ 4619 public RequestOrchestration setStatusElement(Enumeration<RequestStatus> value) { 4620 this.status = value; 4621 return this; 4622 } 4623 4624 /** 4625 * @return The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. 4626 */ 4627 public RequestStatus getStatus() { 4628 return this.status == null ? null : this.status.getValue(); 4629 } 4630 4631 /** 4632 * @param value The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. 4633 */ 4634 public RequestOrchestration setStatus(RequestStatus value) { 4635 if (this.status == null) 4636 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 4637 this.status.setValue(value); 4638 return this; 4639 } 4640 4641 /** 4642 * @return {@link #intent} (Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 4643 */ 4644 public Enumeration<RequestIntent> getIntentElement() { 4645 if (this.intent == null) 4646 if (Configuration.errorOnAutoCreate()) 4647 throw new Error("Attempt to auto-create RequestOrchestration.intent"); 4648 else if (Configuration.doAutoCreate()) 4649 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 4650 return this.intent; 4651 } 4652 4653 public boolean hasIntentElement() { 4654 return this.intent != null && !this.intent.isEmpty(); 4655 } 4656 4657 public boolean hasIntent() { 4658 return this.intent != null && !this.intent.isEmpty(); 4659 } 4660 4661 /** 4662 * @param value {@link #intent} (Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 4663 */ 4664 public RequestOrchestration setIntentElement(Enumeration<RequestIntent> value) { 4665 this.intent = value; 4666 return this; 4667 } 4668 4669 /** 4670 * @return Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4671 */ 4672 public RequestIntent getIntent() { 4673 return this.intent == null ? null : this.intent.getValue(); 4674 } 4675 4676 /** 4677 * @param value Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4678 */ 4679 public RequestOrchestration setIntent(RequestIntent value) { 4680 if (this.intent == null) 4681 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 4682 this.intent.setValue(value); 4683 return this; 4684 } 4685 4686 /** 4687 * @return {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 4688 */ 4689 public Enumeration<RequestPriority> getPriorityElement() { 4690 if (this.priority == null) 4691 if (Configuration.errorOnAutoCreate()) 4692 throw new Error("Attempt to auto-create RequestOrchestration.priority"); 4693 else if (Configuration.doAutoCreate()) 4694 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 4695 return this.priority; 4696 } 4697 4698 public boolean hasPriorityElement() { 4699 return this.priority != null && !this.priority.isEmpty(); 4700 } 4701 4702 public boolean hasPriority() { 4703 return this.priority != null && !this.priority.isEmpty(); 4704 } 4705 4706 /** 4707 * @param value {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 4708 */ 4709 public RequestOrchestration setPriorityElement(Enumeration<RequestPriority> value) { 4710 this.priority = value; 4711 return this; 4712 } 4713 4714 /** 4715 * @return Indicates how quickly the request should be addressed with respect to other requests. 4716 */ 4717 public RequestPriority getPriority() { 4718 return this.priority == null ? null : this.priority.getValue(); 4719 } 4720 4721 /** 4722 * @param value Indicates how quickly the request should be addressed with respect to other requests. 4723 */ 4724 public RequestOrchestration setPriority(RequestPriority value) { 4725 if (value == null) 4726 this.priority = null; 4727 else { 4728 if (this.priority == null) 4729 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 4730 this.priority.setValue(value); 4731 } 4732 return this; 4733 } 4734 4735 /** 4736 * @return {@link #code} (A code that identifies what the overall request orchestration is.) 4737 */ 4738 public CodeableConcept getCode() { 4739 if (this.code == null) 4740 if (Configuration.errorOnAutoCreate()) 4741 throw new Error("Attempt to auto-create RequestOrchestration.code"); 4742 else if (Configuration.doAutoCreate()) 4743 this.code = new CodeableConcept(); // cc 4744 return this.code; 4745 } 4746 4747 public boolean hasCode() { 4748 return this.code != null && !this.code.isEmpty(); 4749 } 4750 4751 /** 4752 * @param value {@link #code} (A code that identifies what the overall request orchestration is.) 4753 */ 4754 public RequestOrchestration setCode(CodeableConcept value) { 4755 this.code = value; 4756 return this; 4757 } 4758 4759 /** 4760 * @return {@link #subject} (The subject for which the request orchestration was created.) 4761 */ 4762 public Reference getSubject() { 4763 if (this.subject == null) 4764 if (Configuration.errorOnAutoCreate()) 4765 throw new Error("Attempt to auto-create RequestOrchestration.subject"); 4766 else if (Configuration.doAutoCreate()) 4767 this.subject = new Reference(); // cc 4768 return this.subject; 4769 } 4770 4771 public boolean hasSubject() { 4772 return this.subject != null && !this.subject.isEmpty(); 4773 } 4774 4775 /** 4776 * @param value {@link #subject} (The subject for which the request orchestration was created.) 4777 */ 4778 public RequestOrchestration setSubject(Reference value) { 4779 this.subject = value; 4780 return this; 4781 } 4782 4783 /** 4784 * @return {@link #encounter} (Describes the context of the request orchestration, if any.) 4785 */ 4786 public Reference getEncounter() { 4787 if (this.encounter == null) 4788 if (Configuration.errorOnAutoCreate()) 4789 throw new Error("Attempt to auto-create RequestOrchestration.encounter"); 4790 else if (Configuration.doAutoCreate()) 4791 this.encounter = new Reference(); // cc 4792 return this.encounter; 4793 } 4794 4795 public boolean hasEncounter() { 4796 return this.encounter != null && !this.encounter.isEmpty(); 4797 } 4798 4799 /** 4800 * @param value {@link #encounter} (Describes the context of the request orchestration, if any.) 4801 */ 4802 public RequestOrchestration setEncounter(Reference value) { 4803 this.encounter = value; 4804 return this; 4805 } 4806 4807 /** 4808 * @return {@link #authoredOn} (Indicates when the request orchestration was created.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 4809 */ 4810 public DateTimeType getAuthoredOnElement() { 4811 if (this.authoredOn == null) 4812 if (Configuration.errorOnAutoCreate()) 4813 throw new Error("Attempt to auto-create RequestOrchestration.authoredOn"); 4814 else if (Configuration.doAutoCreate()) 4815 this.authoredOn = new DateTimeType(); // bb 4816 return this.authoredOn; 4817 } 4818 4819 public boolean hasAuthoredOnElement() { 4820 return this.authoredOn != null && !this.authoredOn.isEmpty(); 4821 } 4822 4823 public boolean hasAuthoredOn() { 4824 return this.authoredOn != null && !this.authoredOn.isEmpty(); 4825 } 4826 4827 /** 4828 * @param value {@link #authoredOn} (Indicates when the request orchestration was created.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 4829 */ 4830 public RequestOrchestration setAuthoredOnElement(DateTimeType value) { 4831 this.authoredOn = value; 4832 return this; 4833 } 4834 4835 /** 4836 * @return Indicates when the request orchestration was created. 4837 */ 4838 public Date getAuthoredOn() { 4839 return this.authoredOn == null ? null : this.authoredOn.getValue(); 4840 } 4841 4842 /** 4843 * @param value Indicates when the request orchestration was created. 4844 */ 4845 public RequestOrchestration setAuthoredOn(Date value) { 4846 if (value == null) 4847 this.authoredOn = null; 4848 else { 4849 if (this.authoredOn == null) 4850 this.authoredOn = new DateTimeType(); 4851 this.authoredOn.setValue(value); 4852 } 4853 return this; 4854 } 4855 4856 /** 4857 * @return {@link #author} (Provides a reference to the author of the request orchestration.) 4858 */ 4859 public Reference getAuthor() { 4860 if (this.author == null) 4861 if (Configuration.errorOnAutoCreate()) 4862 throw new Error("Attempt to auto-create RequestOrchestration.author"); 4863 else if (Configuration.doAutoCreate()) 4864 this.author = new Reference(); // cc 4865 return this.author; 4866 } 4867 4868 public boolean hasAuthor() { 4869 return this.author != null && !this.author.isEmpty(); 4870 } 4871 4872 /** 4873 * @param value {@link #author} (Provides a reference to the author of the request orchestration.) 4874 */ 4875 public RequestOrchestration setAuthor(Reference value) { 4876 this.author = value; 4877 return this; 4878 } 4879 4880 /** 4881 * @return {@link #reason} (Describes the reason for the request orchestration in coded or textual form.) 4882 */ 4883 public List<CodeableReference> getReason() { 4884 if (this.reason == null) 4885 this.reason = new ArrayList<CodeableReference>(); 4886 return this.reason; 4887 } 4888 4889 /** 4890 * @return Returns a reference to <code>this</code> for easy method chaining 4891 */ 4892 public RequestOrchestration setReason(List<CodeableReference> theReason) { 4893 this.reason = theReason; 4894 return this; 4895 } 4896 4897 public boolean hasReason() { 4898 if (this.reason == null) 4899 return false; 4900 for (CodeableReference item : this.reason) 4901 if (!item.isEmpty()) 4902 return true; 4903 return false; 4904 } 4905 4906 public CodeableReference addReason() { //3 4907 CodeableReference t = new CodeableReference(); 4908 if (this.reason == null) 4909 this.reason = new ArrayList<CodeableReference>(); 4910 this.reason.add(t); 4911 return t; 4912 } 4913 4914 public RequestOrchestration addReason(CodeableReference t) { //3 4915 if (t == null) 4916 return this; 4917 if (this.reason == null) 4918 this.reason = new ArrayList<CodeableReference>(); 4919 this.reason.add(t); 4920 return this; 4921 } 4922 4923 /** 4924 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 4925 */ 4926 public CodeableReference getReasonFirstRep() { 4927 if (getReason().isEmpty()) { 4928 addReason(); 4929 } 4930 return getReason().get(0); 4931 } 4932 4933 /** 4934 * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this RequestOrchestration.) 4935 */ 4936 public List<Reference> getGoal() { 4937 if (this.goal == null) 4938 this.goal = new ArrayList<Reference>(); 4939 return this.goal; 4940 } 4941 4942 /** 4943 * @return Returns a reference to <code>this</code> for easy method chaining 4944 */ 4945 public RequestOrchestration setGoal(List<Reference> theGoal) { 4946 this.goal = theGoal; 4947 return this; 4948 } 4949 4950 public boolean hasGoal() { 4951 if (this.goal == null) 4952 return false; 4953 for (Reference item : this.goal) 4954 if (!item.isEmpty()) 4955 return true; 4956 return false; 4957 } 4958 4959 public Reference addGoal() { //3 4960 Reference t = new Reference(); 4961 if (this.goal == null) 4962 this.goal = new ArrayList<Reference>(); 4963 this.goal.add(t); 4964 return t; 4965 } 4966 4967 public RequestOrchestration addGoal(Reference t) { //3 4968 if (t == null) 4969 return this; 4970 if (this.goal == null) 4971 this.goal = new ArrayList<Reference>(); 4972 this.goal.add(t); 4973 return this; 4974 } 4975 4976 /** 4977 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 4978 */ 4979 public Reference getGoalFirstRep() { 4980 if (getGoal().isEmpty()) { 4981 addGoal(); 4982 } 4983 return getGoal().get(0); 4984 } 4985 4986 /** 4987 * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) 4988 */ 4989 public List<Annotation> getNote() { 4990 if (this.note == null) 4991 this.note = new ArrayList<Annotation>(); 4992 return this.note; 4993 } 4994 4995 /** 4996 * @return Returns a reference to <code>this</code> for easy method chaining 4997 */ 4998 public RequestOrchestration setNote(List<Annotation> theNote) { 4999 this.note = theNote; 5000 return this; 5001 } 5002 5003 public boolean hasNote() { 5004 if (this.note == null) 5005 return false; 5006 for (Annotation item : this.note) 5007 if (!item.isEmpty()) 5008 return true; 5009 return false; 5010 } 5011 5012 public Annotation addNote() { //3 5013 Annotation t = new Annotation(); 5014 if (this.note == null) 5015 this.note = new ArrayList<Annotation>(); 5016 this.note.add(t); 5017 return t; 5018 } 5019 5020 public RequestOrchestration addNote(Annotation t) { //3 5021 if (t == null) 5022 return this; 5023 if (this.note == null) 5024 this.note = new ArrayList<Annotation>(); 5025 this.note.add(t); 5026 return this; 5027 } 5028 5029 /** 5030 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 5031 */ 5032 public Annotation getNoteFirstRep() { 5033 if (getNote().isEmpty()) { 5034 addNote(); 5035 } 5036 return getNote().get(0); 5037 } 5038 5039 /** 5040 * @return {@link #action} (The actions, if any, produced by the evaluation of the artifact.) 5041 */ 5042 public List<RequestOrchestrationActionComponent> getAction() { 5043 if (this.action == null) 5044 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 5045 return this.action; 5046 } 5047 5048 /** 5049 * @return Returns a reference to <code>this</code> for easy method chaining 5050 */ 5051 public RequestOrchestration setAction(List<RequestOrchestrationActionComponent> theAction) { 5052 this.action = theAction; 5053 return this; 5054 } 5055 5056 public boolean hasAction() { 5057 if (this.action == null) 5058 return false; 5059 for (RequestOrchestrationActionComponent item : this.action) 5060 if (!item.isEmpty()) 5061 return true; 5062 return false; 5063 } 5064 5065 public RequestOrchestrationActionComponent addAction() { //3 5066 RequestOrchestrationActionComponent t = new RequestOrchestrationActionComponent(); 5067 if (this.action == null) 5068 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 5069 this.action.add(t); 5070 return t; 5071 } 5072 5073 public RequestOrchestration addAction(RequestOrchestrationActionComponent t) { //3 5074 if (t == null) 5075 return this; 5076 if (this.action == null) 5077 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 5078 this.action.add(t); 5079 return this; 5080 } 5081 5082 /** 5083 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 5084 */ 5085 public RequestOrchestrationActionComponent getActionFirstRep() { 5086 if (getAction().isEmpty()) { 5087 addAction(); 5088 } 5089 return getAction().get(0); 5090 } 5091 5092 protected void listChildren(List<Property> children) { 5093 super.listChildren(children); 5094 children.add(new Property("identifier", "Identifier", "Allows a service to provide a unique, business identifier for the request.", 0, java.lang.Integer.MAX_VALUE, identifier)); 5095 children.add(new Property("instantiatesCanonical", "canonical", "A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); 5096 children.add(new Property("instantiatesUri", "uri", "A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); 5097 children.add(new Property("basedOn", "Reference(Any)", "A plan, proposal or order that is fulfilled in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 5098 children.add(new Property("replaces", "Reference(Any)", "Completed or terminated request(s) whose function is taken by this new request.", 0, java.lang.Integer.MAX_VALUE, replaces)); 5099 children.add(new Property("groupIdentifier", "Identifier", "A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time.", 0, 1, groupIdentifier)); 5100 children.add(new Property("status", "code", "The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.", 0, 1, status)); 5101 children.add(new Property("intent", "code", "Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.", 0, 1, intent)); 5102 children.add(new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority)); 5103 children.add(new Property("code", "CodeableConcept", "A code that identifies what the overall request orchestration is.", 0, 1, code)); 5104 children.add(new Property("subject", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The subject for which the request orchestration was created.", 0, 1, subject)); 5105 children.add(new Property("encounter", "Reference(Encounter)", "Describes the context of the request orchestration, if any.", 0, 1, encounter)); 5106 children.add(new Property("authoredOn", "dateTime", "Indicates when the request orchestration was created.", 0, 1, authoredOn)); 5107 children.add(new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request orchestration.", 0, 1, author)); 5108 children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the request orchestration in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason)); 5109 children.add(new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this RequestOrchestration.", 0, java.lang.Integer.MAX_VALUE, goal)); 5110 children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); 5111 children.add(new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action)); 5112 } 5113 5114 @Override 5115 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5116 switch (_hash) { 5117 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Allows a service to provide a unique, business identifier for the request.", 0, java.lang.Integer.MAX_VALUE, identifier); 5118 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical", "A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); 5119 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); 5120 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "A plan, proposal or order that is fulfilled in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn); 5121 case -430332865: /*replaces*/ return new Property("replaces", "Reference(Any)", "Completed or terminated request(s) whose function is taken by this new request.", 0, java.lang.Integer.MAX_VALUE, replaces); 5122 case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "A shared identifier common to multiple independent Request instances that were activated/authorized more or less simultaneously by a single author. The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc. E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time.", 0, 1, groupIdentifier); 5123 case -892481550: /*status*/ return new Property("status", "code", "The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.", 0, 1, status); 5124 case -1183762788: /*intent*/ return new Property("intent", "code", "Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.", 0, 1, intent); 5125 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority); 5126 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies what the overall request orchestration is.", 0, 1, code); 5127 case -1867885268: /*subject*/ return new Property("subject", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The subject for which the request orchestration was created.", 0, 1, subject); 5128 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "Describes the context of the request orchestration, if any.", 0, 1, encounter); 5129 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "Indicates when the request orchestration was created.", 0, 1, authoredOn); 5130 case -1406328437: /*author*/ return new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request orchestration.", 0, 1, author); 5131 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the request orchestration in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason); 5132 case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this RequestOrchestration.", 0, java.lang.Integer.MAX_VALUE, goal); 5133 case 3387378: /*note*/ return new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note); 5134 case -1422950858: /*action*/ return new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action); 5135 default: return super.getNamedProperty(_hash, _name, _checkValid); 5136 } 5137 5138 } 5139 5140 @Override 5141 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5142 switch (hash) { 5143 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 5144 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 5145 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 5146 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 5147 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 5148 case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier 5149 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 5150 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 5151 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 5152 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 5153 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 5154 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 5155 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 5156 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 5157 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 5158 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 5159 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 5160 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestOrchestrationActionComponent 5161 default: return super.getProperty(hash, name, checkValid); 5162 } 5163 5164 } 5165 5166 @Override 5167 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5168 switch (hash) { 5169 case -1618432855: // identifier 5170 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 5171 return value; 5172 case 8911915: // instantiatesCanonical 5173 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 5174 return value; 5175 case -1926393373: // instantiatesUri 5176 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 5177 return value; 5178 case -332612366: // basedOn 5179 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 5180 return value; 5181 case -430332865: // replaces 5182 this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference 5183 return value; 5184 case -445338488: // groupIdentifier 5185 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 5186 return value; 5187 case -892481550: // status 5188 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5189 this.status = (Enumeration) value; // Enumeration<RequestStatus> 5190 return value; 5191 case -1183762788: // intent 5192 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 5193 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 5194 return value; 5195 case -1165461084: // priority 5196 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 5197 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 5198 return value; 5199 case 3059181: // code 5200 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 5201 return value; 5202 case -1867885268: // subject 5203 this.subject = TypeConvertor.castToReference(value); // Reference 5204 return value; 5205 case 1524132147: // encounter 5206 this.encounter = TypeConvertor.castToReference(value); // Reference 5207 return value; 5208 case -1500852503: // authoredOn 5209 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 5210 return value; 5211 case -1406328437: // author 5212 this.author = TypeConvertor.castToReference(value); // Reference 5213 return value; 5214 case -934964668: // reason 5215 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 5216 return value; 5217 case 3178259: // goal 5218 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 5219 return value; 5220 case 3387378: // note 5221 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 5222 return value; 5223 case -1422950858: // action 5224 this.getAction().add((RequestOrchestrationActionComponent) value); // RequestOrchestrationActionComponent 5225 return value; 5226 default: return super.setProperty(hash, name, value); 5227 } 5228 5229 } 5230 5231 @Override 5232 public Base setProperty(String name, Base value) throws FHIRException { 5233 if (name.equals("identifier")) { 5234 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 5235 } else if (name.equals("instantiatesCanonical")) { 5236 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 5237 } else if (name.equals("instantiatesUri")) { 5238 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 5239 } else if (name.equals("basedOn")) { 5240 this.getBasedOn().add(TypeConvertor.castToReference(value)); 5241 } else if (name.equals("replaces")) { 5242 this.getReplaces().add(TypeConvertor.castToReference(value)); 5243 } else if (name.equals("groupIdentifier")) { 5244 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 5245 } else if (name.equals("status")) { 5246 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5247 this.status = (Enumeration) value; // Enumeration<RequestStatus> 5248 } else if (name.equals("intent")) { 5249 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 5250 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 5251 } else if (name.equals("priority")) { 5252 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 5253 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 5254 } else if (name.equals("code")) { 5255 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 5256 } else if (name.equals("subject")) { 5257 this.subject = TypeConvertor.castToReference(value); // Reference 5258 } else if (name.equals("encounter")) { 5259 this.encounter = TypeConvertor.castToReference(value); // Reference 5260 } else if (name.equals("authoredOn")) { 5261 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 5262 } else if (name.equals("author")) { 5263 this.author = TypeConvertor.castToReference(value); // Reference 5264 } else if (name.equals("reason")) { 5265 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 5266 } else if (name.equals("goal")) { 5267 this.getGoal().add(TypeConvertor.castToReference(value)); 5268 } else if (name.equals("note")) { 5269 this.getNote().add(TypeConvertor.castToAnnotation(value)); 5270 } else if (name.equals("action")) { 5271 this.getAction().add((RequestOrchestrationActionComponent) value); 5272 } else 5273 return super.setProperty(name, value); 5274 return value; 5275 } 5276 5277 @Override 5278 public Base makeProperty(int hash, String name) throws FHIRException { 5279 switch (hash) { 5280 case -1618432855: return addIdentifier(); 5281 case 8911915: return addInstantiatesCanonicalElement(); 5282 case -1926393373: return addInstantiatesUriElement(); 5283 case -332612366: return addBasedOn(); 5284 case -430332865: return addReplaces(); 5285 case -445338488: return getGroupIdentifier(); 5286 case -892481550: return getStatusElement(); 5287 case -1183762788: return getIntentElement(); 5288 case -1165461084: return getPriorityElement(); 5289 case 3059181: return getCode(); 5290 case -1867885268: return getSubject(); 5291 case 1524132147: return getEncounter(); 5292 case -1500852503: return getAuthoredOnElement(); 5293 case -1406328437: return getAuthor(); 5294 case -934964668: return addReason(); 5295 case 3178259: return addGoal(); 5296 case 3387378: return addNote(); 5297 case -1422950858: return addAction(); 5298 default: return super.makeProperty(hash, name); 5299 } 5300 5301 } 5302 5303 @Override 5304 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5305 switch (hash) { 5306 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 5307 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 5308 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 5309 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 5310 case -430332865: /*replaces*/ return new String[] {"Reference"}; 5311 case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; 5312 case -892481550: /*status*/ return new String[] {"code"}; 5313 case -1183762788: /*intent*/ return new String[] {"code"}; 5314 case -1165461084: /*priority*/ return new String[] {"code"}; 5315 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 5316 case -1867885268: /*subject*/ return new String[] {"Reference"}; 5317 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 5318 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 5319 case -1406328437: /*author*/ return new String[] {"Reference"}; 5320 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 5321 case 3178259: /*goal*/ return new String[] {"Reference"}; 5322 case 3387378: /*note*/ return new String[] {"Annotation"}; 5323 case -1422950858: /*action*/ return new String[] {}; 5324 default: return super.getTypesForProperty(hash, name); 5325 } 5326 5327 } 5328 5329 @Override 5330 public Base addChild(String name) throws FHIRException { 5331 if (name.equals("identifier")) { 5332 return addIdentifier(); 5333 } 5334 else if (name.equals("instantiatesCanonical")) { 5335 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.instantiatesCanonical"); 5336 } 5337 else if (name.equals("instantiatesUri")) { 5338 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.instantiatesUri"); 5339 } 5340 else if (name.equals("basedOn")) { 5341 return addBasedOn(); 5342 } 5343 else if (name.equals("replaces")) { 5344 return addReplaces(); 5345 } 5346 else if (name.equals("groupIdentifier")) { 5347 this.groupIdentifier = new Identifier(); 5348 return this.groupIdentifier; 5349 } 5350 else if (name.equals("status")) { 5351 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.status"); 5352 } 5353 else if (name.equals("intent")) { 5354 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.intent"); 5355 } 5356 else if (name.equals("priority")) { 5357 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.priority"); 5358 } 5359 else if (name.equals("code")) { 5360 this.code = new CodeableConcept(); 5361 return this.code; 5362 } 5363 else if (name.equals("subject")) { 5364 this.subject = new Reference(); 5365 return this.subject; 5366 } 5367 else if (name.equals("encounter")) { 5368 this.encounter = new Reference(); 5369 return this.encounter; 5370 } 5371 else if (name.equals("authoredOn")) { 5372 throw new FHIRException("Cannot call addChild on a singleton property RequestOrchestration.authoredOn"); 5373 } 5374 else if (name.equals("author")) { 5375 this.author = new Reference(); 5376 return this.author; 5377 } 5378 else if (name.equals("reason")) { 5379 return addReason(); 5380 } 5381 else if (name.equals("goal")) { 5382 return addGoal(); 5383 } 5384 else if (name.equals("note")) { 5385 return addNote(); 5386 } 5387 else if (name.equals("action")) { 5388 return addAction(); 5389 } 5390 else 5391 return super.addChild(name); 5392 } 5393 5394 public String fhirType() { 5395 return "RequestOrchestration"; 5396 5397 } 5398 5399 public RequestOrchestration copy() { 5400 RequestOrchestration dst = new RequestOrchestration(); 5401 copyValues(dst); 5402 return dst; 5403 } 5404 5405 public void copyValues(RequestOrchestration dst) { 5406 super.copyValues(dst); 5407 if (identifier != null) { 5408 dst.identifier = new ArrayList<Identifier>(); 5409 for (Identifier i : identifier) 5410 dst.identifier.add(i.copy()); 5411 }; 5412 if (instantiatesCanonical != null) { 5413 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 5414 for (CanonicalType i : instantiatesCanonical) 5415 dst.instantiatesCanonical.add(i.copy()); 5416 }; 5417 if (instantiatesUri != null) { 5418 dst.instantiatesUri = new ArrayList<UriType>(); 5419 for (UriType i : instantiatesUri) 5420 dst.instantiatesUri.add(i.copy()); 5421 }; 5422 if (basedOn != null) { 5423 dst.basedOn = new ArrayList<Reference>(); 5424 for (Reference i : basedOn) 5425 dst.basedOn.add(i.copy()); 5426 }; 5427 if (replaces != null) { 5428 dst.replaces = new ArrayList<Reference>(); 5429 for (Reference i : replaces) 5430 dst.replaces.add(i.copy()); 5431 }; 5432 dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); 5433 dst.status = status == null ? null : status.copy(); 5434 dst.intent = intent == null ? null : intent.copy(); 5435 dst.priority = priority == null ? null : priority.copy(); 5436 dst.code = code == null ? null : code.copy(); 5437 dst.subject = subject == null ? null : subject.copy(); 5438 dst.encounter = encounter == null ? null : encounter.copy(); 5439 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 5440 dst.author = author == null ? null : author.copy(); 5441 if (reason != null) { 5442 dst.reason = new ArrayList<CodeableReference>(); 5443 for (CodeableReference i : reason) 5444 dst.reason.add(i.copy()); 5445 }; 5446 if (goal != null) { 5447 dst.goal = new ArrayList<Reference>(); 5448 for (Reference i : goal) 5449 dst.goal.add(i.copy()); 5450 }; 5451 if (note != null) { 5452 dst.note = new ArrayList<Annotation>(); 5453 for (Annotation i : note) 5454 dst.note.add(i.copy()); 5455 }; 5456 if (action != null) { 5457 dst.action = new ArrayList<RequestOrchestrationActionComponent>(); 5458 for (RequestOrchestrationActionComponent i : action) 5459 dst.action.add(i.copy()); 5460 }; 5461 } 5462 5463 protected RequestOrchestration typedCopy() { 5464 return copy(); 5465 } 5466 5467 @Override 5468 public boolean equalsDeep(Base other_) { 5469 if (!super.equalsDeep(other_)) 5470 return false; 5471 if (!(other_ instanceof RequestOrchestration)) 5472 return false; 5473 RequestOrchestration o = (RequestOrchestration) other_; 5474 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 5475 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 5476 && compareDeep(replaces, o.replaces, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) 5477 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 5478 && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) 5479 && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(author, o.author, true) && compareDeep(reason, o.reason, true) 5480 && compareDeep(goal, o.goal, true) && compareDeep(note, o.note, true) && compareDeep(action, o.action, true) 5481 ; 5482 } 5483 5484 @Override 5485 public boolean equalsShallow(Base other_) { 5486 if (!super.equalsShallow(other_)) 5487 return false; 5488 if (!(other_ instanceof RequestOrchestration)) 5489 return false; 5490 RequestOrchestration o = (RequestOrchestration) other_; 5491 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 5492 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 5493 && compareValues(authoredOn, o.authoredOn, true); 5494 } 5495 5496 public boolean isEmpty() { 5497 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 5498 , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority 5499 , code, subject, encounter, authoredOn, author, reason, goal, note, action 5500 ); 5501 } 5502 5503 @Override 5504 public ResourceType getResourceType() { 5505 return ResourceType.RequestOrchestration; 5506 } 5507 5508 /** 5509 * Search parameter: <b>author</b> 5510 * <p> 5511 * Description: <b>The author of the request orchestration</b><br> 5512 * Type: <b>reference</b><br> 5513 * Path: <b>RequestOrchestration.author</b><br> 5514 * </p> 5515 */ 5516 @SearchParamDefinition(name="author", path="RequestOrchestration.author", description="The author of the request orchestration", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Practitioner.class, PractitionerRole.class } ) 5517 public static final String SP_AUTHOR = "author"; 5518 /** 5519 * <b>Fluent Client</b> search parameter constant for <b>author</b> 5520 * <p> 5521 * Description: <b>The author of the request orchestration</b><br> 5522 * Type: <b>reference</b><br> 5523 * Path: <b>RequestOrchestration.author</b><br> 5524 * </p> 5525 */ 5526 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 5527 5528/** 5529 * Constant for fluent queries to be used to add include statements. Specifies 5530 * the path value of "<b>RequestOrchestration:author</b>". 5531 */ 5532 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("RequestOrchestration:author").toLocked(); 5533 5534 /** 5535 * Search parameter: <b>authored</b> 5536 * <p> 5537 * Description: <b>The date the request orchestration was authored</b><br> 5538 * Type: <b>date</b><br> 5539 * Path: <b>RequestOrchestration.authoredOn</b><br> 5540 * </p> 5541 */ 5542 @SearchParamDefinition(name="authored", path="RequestOrchestration.authoredOn", description="The date the request orchestration was authored", type="date" ) 5543 public static final String SP_AUTHORED = "authored"; 5544 /** 5545 * <b>Fluent Client</b> search parameter constant for <b>authored</b> 5546 * <p> 5547 * Description: <b>The date the request orchestration was authored</b><br> 5548 * Type: <b>date</b><br> 5549 * Path: <b>RequestOrchestration.authoredOn</b><br> 5550 * </p> 5551 */ 5552 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); 5553 5554 /** 5555 * Search parameter: <b>based-on</b> 5556 * <p> 5557 * Description: <b>What this request fullfills.</b><br> 5558 * Type: <b>reference</b><br> 5559 * Path: <b>RequestOrchestration.basedOn</b><br> 5560 * </p> 5561 */ 5562 @SearchParamDefinition(name="based-on", path="RequestOrchestration.basedOn", description="What this request fullfills.", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.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, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.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, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 5563 public static final String SP_BASED_ON = "based-on"; 5564 /** 5565 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 5566 * <p> 5567 * Description: <b>What this request fullfills.</b><br> 5568 * Type: <b>reference</b><br> 5569 * Path: <b>RequestOrchestration.basedOn</b><br> 5570 * </p> 5571 */ 5572 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 5573 5574/** 5575 * Constant for fluent queries to be used to add include statements. Specifies 5576 * the path value of "<b>RequestOrchestration:based-on</b>". 5577 */ 5578 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("RequestOrchestration:based-on").toLocked(); 5579 5580 /** 5581 * Search parameter: <b>group-identifier</b> 5582 * <p> 5583 * Description: <b>The group identifier for the request orchestration</b><br> 5584 * Type: <b>token</b><br> 5585 * Path: <b>RequestOrchestration.groupIdentifier</b><br> 5586 * </p> 5587 */ 5588 @SearchParamDefinition(name="group-identifier", path="RequestOrchestration.groupIdentifier", description="The group identifier for the request orchestration", type="token" ) 5589 public static final String SP_GROUP_IDENTIFIER = "group-identifier"; 5590 /** 5591 * <b>Fluent Client</b> search parameter constant for <b>group-identifier</b> 5592 * <p> 5593 * Description: <b>The group identifier for the request orchestration</b><br> 5594 * Type: <b>token</b><br> 5595 * Path: <b>RequestOrchestration.groupIdentifier</b><br> 5596 * </p> 5597 */ 5598 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); 5599 5600 /** 5601 * Search parameter: <b>instantiates-canonical</b> 5602 * <p> 5603 * Description: <b>The FHIR-based definition from which the request orchestration is realized</b><br> 5604 * Type: <b>reference</b><br> 5605 * Path: <b>RequestOrchestration.instantiatesCanonical</b><br> 5606 * </p> 5607 */ 5608 @SearchParamDefinition(name="instantiates-canonical", path="RequestOrchestration.instantiatesCanonical", description="The FHIR-based definition from which the request orchestration is realized", type="reference", target={ActivityDefinition.class, ActorDefinition.class, CapabilityStatement.class, ChargeItemDefinition.class, Citation.class, CodeSystem.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConditionDefinition.class, Contract.class, Device.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, GraphDefinition.class, ImplementationGuide.class, Library.class, Measure.class, MessageDefinition.class, NamingSystem.class, ObservationDefinition.class, OperationDefinition.class, PlanDefinition.class, Questionnaire.class, Requirements.class, ResearchStudy.class, SearchParameter.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, SubscriptionTopic.class, TerminologyCapabilities.class, TestPlan.class, TestScript.class, ValueSet.class } ) 5609 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 5610 /** 5611 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 5612 * <p> 5613 * Description: <b>The FHIR-based definition from which the request orchestration is realized</b><br> 5614 * Type: <b>reference</b><br> 5615 * Path: <b>RequestOrchestration.instantiatesCanonical</b><br> 5616 * </p> 5617 */ 5618 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 5619 5620/** 5621 * Constant for fluent queries to be used to add include statements. Specifies 5622 * the path value of "<b>RequestOrchestration:instantiates-canonical</b>". 5623 */ 5624 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("RequestOrchestration:instantiates-canonical").toLocked(); 5625 5626 /** 5627 * Search parameter: <b>instantiates-uri</b> 5628 * <p> 5629 * Description: <b>The external definition from which the request orchestration is realized</b><br> 5630 * Type: <b>uri</b><br> 5631 * Path: <b>RequestOrchestration.instantiatesUri</b><br> 5632 * </p> 5633 */ 5634 @SearchParamDefinition(name="instantiates-uri", path="RequestOrchestration.instantiatesUri", description="The external definition from which the request orchestration is realized", type="uri" ) 5635 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 5636 /** 5637 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 5638 * <p> 5639 * Description: <b>The external definition from which the request orchestration is realized</b><br> 5640 * Type: <b>uri</b><br> 5641 * Path: <b>RequestOrchestration.instantiatesUri</b><br> 5642 * </p> 5643 */ 5644 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 5645 5646 /** 5647 * Search parameter: <b>intent</b> 5648 * <p> 5649 * Description: <b>The intent of the request orchestration</b><br> 5650 * Type: <b>token</b><br> 5651 * Path: <b>RequestOrchestration.intent</b><br> 5652 * </p> 5653 */ 5654 @SearchParamDefinition(name="intent", path="RequestOrchestration.intent", description="The intent of the request orchestration", type="token" ) 5655 public static final String SP_INTENT = "intent"; 5656 /** 5657 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 5658 * <p> 5659 * Description: <b>The intent of the request orchestration</b><br> 5660 * Type: <b>token</b><br> 5661 * Path: <b>RequestOrchestration.intent</b><br> 5662 * </p> 5663 */ 5664 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 5665 5666 /** 5667 * Search parameter: <b>participant</b> 5668 * <p> 5669 * Description: <b>The participant in the requests in the orchestration</b><br> 5670 * Type: <b>reference</b><br> 5671 * Path: <b>RequestOrchestration.action.participant.actor.ofType(Reference) | RequestOrchestration.action.participant.actor.ofType(canonical)</b><br> 5672 * </p> 5673 */ 5674 @SearchParamDefinition(name="participant", path="RequestOrchestration.action.participant.actor.ofType(Reference) | RequestOrchestration.action.participant.actor.ofType(canonical)", description="The participant in the requests in the orchestration", 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={CapabilityStatement.class, CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 5675 public static final String SP_PARTICIPANT = "participant"; 5676 /** 5677 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 5678 * <p> 5679 * Description: <b>The participant in the requests in the orchestration</b><br> 5680 * Type: <b>reference</b><br> 5681 * Path: <b>RequestOrchestration.action.participant.actor.ofType(Reference) | RequestOrchestration.action.participant.actor.ofType(canonical)</b><br> 5682 * </p> 5683 */ 5684 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); 5685 5686/** 5687 * Constant for fluent queries to be used to add include statements. Specifies 5688 * the path value of "<b>RequestOrchestration:participant</b>". 5689 */ 5690 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:participant").toLocked(); 5691 5692 /** 5693 * Search parameter: <b>priority</b> 5694 * <p> 5695 * Description: <b>The priority of the request orchestration</b><br> 5696 * Type: <b>token</b><br> 5697 * Path: <b>RequestOrchestration.priority</b><br> 5698 * </p> 5699 */ 5700 @SearchParamDefinition(name="priority", path="RequestOrchestration.priority", description="The priority of the request orchestration", type="token" ) 5701 public static final String SP_PRIORITY = "priority"; 5702 /** 5703 * <b>Fluent Client</b> search parameter constant for <b>priority</b> 5704 * <p> 5705 * Description: <b>The priority of the request orchestration</b><br> 5706 * Type: <b>token</b><br> 5707 * Path: <b>RequestOrchestration.priority</b><br> 5708 * </p> 5709 */ 5710 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); 5711 5712 /** 5713 * Search parameter: <b>status</b> 5714 * <p> 5715 * Description: <b>The status of the request orchestration</b><br> 5716 * Type: <b>token</b><br> 5717 * Path: <b>RequestOrchestration.status</b><br> 5718 * </p> 5719 */ 5720 @SearchParamDefinition(name="status", path="RequestOrchestration.status", description="The status of the request orchestration", type="token" ) 5721 public static final String SP_STATUS = "status"; 5722 /** 5723 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5724 * <p> 5725 * Description: <b>The status of the request orchestration</b><br> 5726 * Type: <b>token</b><br> 5727 * Path: <b>RequestOrchestration.status</b><br> 5728 * </p> 5729 */ 5730 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5731 5732 /** 5733 * Search parameter: <b>subject</b> 5734 * <p> 5735 * Description: <b>The subject that the request orchestration is about</b><br> 5736 * Type: <b>reference</b><br> 5737 * Path: <b>RequestOrchestration.subject</b><br> 5738 * </p> 5739 */ 5740 @SearchParamDefinition(name="subject", path="RequestOrchestration.subject", description="The subject that the request orchestration is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 5741 public static final String SP_SUBJECT = "subject"; 5742 /** 5743 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 5744 * <p> 5745 * Description: <b>The subject that the request orchestration is about</b><br> 5746 * Type: <b>reference</b><br> 5747 * Path: <b>RequestOrchestration.subject</b><br> 5748 * </p> 5749 */ 5750 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 5751 5752/** 5753 * Constant for fluent queries to be used to add include statements. Specifies 5754 * the path value of "<b>RequestOrchestration:subject</b>". 5755 */ 5756 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:subject").toLocked(); 5757 5758 /** 5759 * Search parameter: <b>code</b> 5760 * <p> 5761 * Description: <b>Multiple Resources: 5762 5763* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted 5764* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 5765* [AuditEvent](auditevent.html): More specific code for the event 5766* [Basic](basic.html): Kind of Resource 5767* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code 5768* [Condition](condition.html): Code for the condition 5769* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc. 5770* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 5771* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 5772* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 5773* [ImagingSelection](imagingselection.html): The imaging selection status 5774* [List](list.html): What the purpose of this list is 5775* [Medication](medication.html): Returns medications for a specific code 5776* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 5777* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 5778* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 5779* [MedicationStatement](medicationstatement.html): Return statements of this medication code 5780* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake 5781* [Observation](observation.html): The code of the observation type 5782* [Procedure](procedure.html): A code to identify a procedure 5783* [RequestOrchestration](requestorchestration.html): The code of the request orchestration 5784* [Task](task.html): Search by task code 5785</b><br> 5786 * Type: <b>token</b><br> 5787 * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br> 5788 * </p> 5789 */ 5790 @SearchParamDefinition(name="code", path="AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [AuditEvent](auditevent.html): More specific code for the event\r\n* [Basic](basic.html): Kind of Resource\r\n* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code\r\n* [Condition](condition.html): Code for the condition\r\n* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc.\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [ImagingSelection](imagingselection.html): The imaging selection status\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [RequestOrchestration](requestorchestration.html): The code of the request orchestration\r\n* [Task](task.html): Search by task code\r\n", type="token" ) 5791 public static final String SP_CODE = "code"; 5792 /** 5793 * <b>Fluent Client</b> search parameter constant for <b>code</b> 5794 * <p> 5795 * Description: <b>Multiple Resources: 5796 5797* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted 5798* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 5799* [AuditEvent](auditevent.html): More specific code for the event 5800* [Basic](basic.html): Kind of Resource 5801* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code 5802* [Condition](condition.html): Code for the condition 5803* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc. 5804* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 5805* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 5806* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 5807* [ImagingSelection](imagingselection.html): The imaging selection status 5808* [List](list.html): What the purpose of this list is 5809* [Medication](medication.html): Returns medications for a specific code 5810* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 5811* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 5812* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 5813* [MedicationStatement](medicationstatement.html): Return statements of this medication code 5814* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake 5815* [Observation](observation.html): The code of the observation type 5816* [Procedure](procedure.html): A code to identify a procedure 5817* [RequestOrchestration](requestorchestration.html): The code of the request orchestration 5818* [Task](task.html): Search by task code 5819</b><br> 5820 * Type: <b>token</b><br> 5821 * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br> 5822 * </p> 5823 */ 5824 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 5825 5826 /** 5827 * Search parameter: <b>encounter</b> 5828 * <p> 5829 * Description: <b>Multiple Resources: 5830 5831* [AuditEvent](auditevent.html): Encounter related to the activity recorded in the AuditEvent 5832* [CarePlan](careplan.html): The Encounter during which this CarePlan was created 5833* [ChargeItem](chargeitem.html): Encounter associated with event 5834* [Claim](claim.html): Encounters associated with a billed line item 5835* [ClinicalImpression](clinicalimpression.html): The Encounter during which this ClinicalImpression was created 5836* [Communication](communication.html): The Encounter during which this Communication was created 5837* [CommunicationRequest](communicationrequest.html): The Encounter during which this CommunicationRequest was created 5838* [Composition](composition.html): Context of the Composition 5839* [Condition](condition.html): The Encounter during which this Condition was created 5840* [DeviceRequest](devicerequest.html): Encounter during which request was created 5841* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 5842* [EncounterHistory](encounterhistory.html): The Encounter associated with this set of history values 5843* [ExplanationOfBenefit](explanationofbenefit.html): Encounters associated with a billed line item 5844* [Flag](flag.html): Alert relevant during encounter 5845* [ImagingStudy](imagingstudy.html): The context of the study 5846* [List](list.html): Context in which list created 5847* [MedicationDispense](medicationdispense.html): Returns dispenses with a specific encounter 5848* [MedicationStatement](medicationstatement.html): Returns statements for a specific encounter 5849* [NutritionIntake](nutritionintake.html): Returns statements for a specific encounter 5850* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 5851* [Observation](observation.html): Encounter related to the observation 5852* [Procedure](procedure.html): The Encounter during which this Procedure was created 5853* [Provenance](provenance.html): Encounter related to the Provenance 5854* [QuestionnaireResponse](questionnaireresponse.html): Encounter associated with the questionnaire response 5855* [RequestOrchestration](requestorchestration.html): The encounter the request orchestration applies to 5856* [RiskAssessment](riskassessment.html): Where was assessment performed? 5857* [ServiceRequest](servicerequest.html): An encounter in which this request is made 5858* [Task](task.html): Search by encounter 5859* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 5860</b><br> 5861 * Type: <b>reference</b><br> 5862 * Path: <b>AuditEvent.encounter | CarePlan.encounter | ChargeItem.encounter | Claim.item.encounter | ClinicalImpression.encounter | Communication.encounter | CommunicationRequest.encounter | Composition.encounter | Condition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | EncounterHistory.encounter | ExplanationOfBenefit.item.encounter | Flag.encounter | ImagingStudy.encounter | List.encounter | MedicationDispense.encounter | MedicationStatement.encounter | NutritionIntake.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | Provenance.encounter | QuestionnaireResponse.encounter | RequestOrchestration.encounter | RiskAssessment.encounter | ServiceRequest.encounter | Task.encounter | VisionPrescription.encounter</b><br> 5863 * </p> 5864 */ 5865 @SearchParamDefinition(name="encounter", path="AuditEvent.encounter | CarePlan.encounter | ChargeItem.encounter | Claim.item.encounter | ClinicalImpression.encounter | Communication.encounter | CommunicationRequest.encounter | Composition.encounter | Condition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | EncounterHistory.encounter | ExplanationOfBenefit.item.encounter | Flag.encounter | ImagingStudy.encounter | List.encounter | MedicationDispense.encounter | MedicationStatement.encounter | NutritionIntake.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | Provenance.encounter | QuestionnaireResponse.encounter | RequestOrchestration.encounter | RiskAssessment.encounter | ServiceRequest.encounter | Task.encounter | VisionPrescription.encounter", description="Multiple Resources: \r\n\r\n* [AuditEvent](auditevent.html): Encounter related to the activity recorded in the AuditEvent\r\n* [CarePlan](careplan.html): The Encounter during which this CarePlan was created\r\n* [ChargeItem](chargeitem.html): Encounter associated with event\r\n* [Claim](claim.html): Encounters associated with a billed line item\r\n* [ClinicalImpression](clinicalimpression.html): The Encounter during which this ClinicalImpression was created\r\n* [Communication](communication.html): The Encounter during which this Communication was created\r\n* [CommunicationRequest](communicationrequest.html): The Encounter during which this CommunicationRequest was created\r\n* [Composition](composition.html): Context of the Composition\r\n* [Condition](condition.html): The Encounter during which this Condition was created\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [EncounterHistory](encounterhistory.html): The Encounter associated with this set of history values\r\n* [ExplanationOfBenefit](explanationofbenefit.html): Encounters associated with a billed line item\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [ImagingStudy](imagingstudy.html): The context of the study\r\n* [List](list.html): Context in which list created\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specific encounter\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific encounter\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific encounter\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): The Encounter during which this Procedure was created\r\n* [Provenance](provenance.html): Encounter related to the Provenance\r\n* [QuestionnaireResponse](questionnaireresponse.html): Encounter associated with the questionnaire response\r\n* [RequestOrchestration](requestorchestration.html): The encounter the request orchestration applies to\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [Task](task.html): Search by encounter\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 5866 public static final String SP_ENCOUNTER = "encounter"; 5867 /** 5868 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 5869 * <p> 5870 * Description: <b>Multiple Resources: 5871 5872* [AuditEvent](auditevent.html): Encounter related to the activity recorded in the AuditEvent 5873* [CarePlan](careplan.html): The Encounter during which this CarePlan was created 5874* [ChargeItem](chargeitem.html): Encounter associated with event 5875* [Claim](claim.html): Encounters associated with a billed line item 5876* [ClinicalImpression](clinicalimpression.html): The Encounter during which this ClinicalImpression was created 5877* [Communication](communication.html): The Encounter during which this Communication was created 5878* [CommunicationRequest](communicationrequest.html): The Encounter during which this CommunicationRequest was created 5879* [Composition](composition.html): Context of the Composition 5880* [Condition](condition.html): The Encounter during which this Condition was created 5881* [DeviceRequest](devicerequest.html): Encounter during which request was created 5882* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 5883* [EncounterHistory](encounterhistory.html): The Encounter associated with this set of history values 5884* [ExplanationOfBenefit](explanationofbenefit.html): Encounters associated with a billed line item 5885* [Flag](flag.html): Alert relevant during encounter 5886* [ImagingStudy](imagingstudy.html): The context of the study 5887* [List](list.html): Context in which list created 5888* [MedicationDispense](medicationdispense.html): Returns dispenses with a specific encounter 5889* [MedicationStatement](medicationstatement.html): Returns statements for a specific encounter 5890* [NutritionIntake](nutritionintake.html): Returns statements for a specific encounter 5891* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 5892* [Observation](observation.html): Encounter related to the observation 5893* [Procedure](procedure.html): The Encounter during which this Procedure was created 5894* [Provenance](provenance.html): Encounter related to the Provenance 5895* [QuestionnaireResponse](questionnaireresponse.html): Encounter associated with the questionnaire response 5896* [RequestOrchestration](requestorchestration.html): The encounter the request orchestration applies to 5897* [RiskAssessment](riskassessment.html): Where was assessment performed? 5898* [ServiceRequest](servicerequest.html): An encounter in which this request is made 5899* [Task](task.html): Search by encounter 5900* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 5901</b><br> 5902 * Type: <b>reference</b><br> 5903 * Path: <b>AuditEvent.encounter | CarePlan.encounter | ChargeItem.encounter | Claim.item.encounter | ClinicalImpression.encounter | Communication.encounter | CommunicationRequest.encounter | Composition.encounter | Condition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | EncounterHistory.encounter | ExplanationOfBenefit.item.encounter | Flag.encounter | ImagingStudy.encounter | List.encounter | MedicationDispense.encounter | MedicationStatement.encounter | NutritionIntake.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | Provenance.encounter | QuestionnaireResponse.encounter | RequestOrchestration.encounter | RiskAssessment.encounter | ServiceRequest.encounter | Task.encounter | VisionPrescription.encounter</b><br> 5904 * </p> 5905 */ 5906 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 5907 5908/** 5909 * Constant for fluent queries to be used to add include statements. Specifies 5910 * the path value of "<b>RequestOrchestration:encounter</b>". 5911 */ 5912 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RequestOrchestration:encounter").toLocked(); 5913 5914 /** 5915 * Search parameter: <b>identifier</b> 5916 * <p> 5917 * Description: <b>Multiple Resources: 5918 5919* [Account](account.html): Account number 5920* [AdverseEvent](adverseevent.html): Business identifier for the event 5921* [AllergyIntolerance](allergyintolerance.html): External ids for this item 5922* [Appointment](appointment.html): An Identifier of the Appointment 5923* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 5924* [Basic](basic.html): Business identifier 5925* [BodyStructure](bodystructure.html): Bodystructure identifier 5926* [CarePlan](careplan.html): External Ids for this plan 5927* [CareTeam](careteam.html): External Ids for this team 5928* [ChargeItem](chargeitem.html): Business Identifier for item 5929* [Claim](claim.html): The primary identifier of the financial resource 5930* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 5931* [ClinicalImpression](clinicalimpression.html): Business identifier 5932* [Communication](communication.html): Unique identifier 5933* [CommunicationRequest](communicationrequest.html): Unique identifier 5934* [Composition](composition.html): Version-independent identifier for the Composition 5935* [Condition](condition.html): A unique identifier of the condition record 5936* [Consent](consent.html): Identifier for this record (external references) 5937* [Contract](contract.html): The identity of the contract 5938* [Coverage](coverage.html): The primary identifier of the insured and the coverage 5939* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 5940* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 5941* [DetectedIssue](detectedissue.html): Unique id for the detected issue 5942* [DeviceRequest](devicerequest.html): Business identifier for request/order 5943* [DeviceUsage](deviceusage.html): Search by identifier 5944* [DiagnosticReport](diagnosticreport.html): An identifier for the report 5945* [DocumentReference](documentreference.html): Identifier of the attachment binary 5946* [Encounter](encounter.html): Identifier(s) by which this encounter is known 5947* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 5948* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 5949* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 5950* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 5951* [Flag](flag.html): Business identifier 5952* [Goal](goal.html): External Ids for this goal 5953* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 5954* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 5955* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 5956* [Immunization](immunization.html): Business identifier 5957* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 5958* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 5959* [Invoice](invoice.html): Business Identifier for item 5960* [List](list.html): Business identifier 5961* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 5962* [Medication](medication.html): Returns medications with this external identifier 5963* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 5964* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 5965* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 5966* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 5967* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 5968* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 5969* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 5970* [Observation](observation.html): The unique id for a particular observation 5971* [Person](person.html): A person Identifier 5972* [Procedure](procedure.html): A unique identifier for a procedure 5973* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 5974* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 5975* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 5976* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 5977* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 5978* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 5979* [Specimen](specimen.html): The unique identifier associated with the specimen 5980* [SupplyDelivery](supplydelivery.html): External identifier 5981* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 5982* [Task](task.html): Search for a task instance by its business identifier 5983* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 5984</b><br> 5985 * Type: <b>token</b><br> 5986 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 5987 * </p> 5988 */ 5989 @SearchParamDefinition(name="identifier", path="Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [Account](account.html): Account number\r\n* [AdverseEvent](adverseevent.html): Business identifier for the event\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [Appointment](appointment.html): An Identifier of the Appointment\r\n* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response\r\n* [Basic](basic.html): Business identifier\r\n* [BodyStructure](bodystructure.html): Bodystructure identifier\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [ChargeItem](chargeitem.html): Business Identifier for item\r\n* [Claim](claim.html): The primary identifier of the financial resource\r\n* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse\r\n* [ClinicalImpression](clinicalimpression.html): Business identifier\r\n* [Communication](communication.html): Unique identifier\r\n* [CommunicationRequest](communicationrequest.html): Unique identifier\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* [Contract](contract.html): The identity of the contract\r\n* [Coverage](coverage.html): The primary identifier of the insured and the coverage\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DeviceUsage](deviceusage.html): Search by identifier\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Flag](flag.html): Business identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response\r\n* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier\r\n* [Invoice](invoice.html): Business Identifier for item\r\n* [List](list.html): Business identifier\r\n* [MeasureReport](measurereport.html): External identifier of the measure report to be returned\r\n* [Medication](medication.html): Returns medications with this external 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* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence\r\n* [NutritionIntake](nutritionintake.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* [Person](person.html): A person Identifier\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response\r\n* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson\r\n* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration\r\n* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [Specimen](specimen.html): The unique identifier associated with the specimen\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [Task](task.html): Search for a task instance by its business identifier\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 5990 public static final String SP_IDENTIFIER = "identifier"; 5991 /** 5992 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5993 * <p> 5994 * Description: <b>Multiple Resources: 5995 5996* [Account](account.html): Account number 5997* [AdverseEvent](adverseevent.html): Business identifier for the event 5998* [AllergyIntolerance](allergyintolerance.html): External ids for this item 5999* [Appointment](appointment.html): An Identifier of the Appointment 6000* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 6001* [Basic](basic.html): Business identifier 6002* [BodyStructure](bodystructure.html): Bodystructure identifier 6003* [CarePlan](careplan.html): External Ids for this plan 6004* [CareTeam](careteam.html): External Ids for this team 6005* [ChargeItem](chargeitem.html): Business Identifier for item 6006* [Claim](claim.html): The primary identifier of the financial resource 6007* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 6008* [ClinicalImpression](clinicalimpression.html): Business identifier 6009* [Communication](communication.html): Unique identifier 6010* [CommunicationRequest](communicationrequest.html): Unique identifier 6011* [Composition](composition.html): Version-independent identifier for the Composition 6012* [Condition](condition.html): A unique identifier of the condition record 6013* [Consent](consent.html): Identifier for this record (external references) 6014* [Contract](contract.html): The identity of the contract 6015* [Coverage](coverage.html): The primary identifier of the insured and the coverage 6016* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 6017* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 6018* [DetectedIssue](detectedissue.html): Unique id for the detected issue 6019* [DeviceRequest](devicerequest.html): Business identifier for request/order 6020* [DeviceUsage](deviceusage.html): Search by identifier 6021* [DiagnosticReport](diagnosticreport.html): An identifier for the report 6022* [DocumentReference](documentreference.html): Identifier of the attachment binary 6023* [Encounter](encounter.html): Identifier(s) by which this encounter is known 6024* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 6025* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 6026* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 6027* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 6028* [Flag](flag.html): Business identifier 6029* [Goal](goal.html): External Ids for this goal 6030* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 6031* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 6032* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 6033* [Immunization](immunization.html): Business identifier 6034* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 6035* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 6036* [Invoice](invoice.html): Business Identifier for item 6037* [List](list.html): Business identifier 6038* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 6039* [Medication](medication.html): Returns medications with this external identifier 6040* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 6041* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 6042* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 6043* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 6044* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 6045* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 6046* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 6047* [Observation](observation.html): The unique id for a particular observation 6048* [Person](person.html): A person Identifier 6049* [Procedure](procedure.html): A unique identifier for a procedure 6050* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 6051* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 6052* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 6053* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 6054* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 6055* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 6056* [Specimen](specimen.html): The unique identifier associated with the specimen 6057* [SupplyDelivery](supplydelivery.html): External identifier 6058* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 6059* [Task](task.html): Search for a task instance by its business identifier 6060* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 6061</b><br> 6062 * Type: <b>token</b><br> 6063 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 6064 * </p> 6065 */ 6066 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 6067 6068 /** 6069 * Search parameter: <b>patient</b> 6070 * <p> 6071 * Description: <b>Multiple Resources: 6072 6073* [Account](account.html): The entity that caused the expenses 6074* [AdverseEvent](adverseevent.html): Subject impacted by event 6075* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 6076* [Appointment](appointment.html): One of the individuals of the appointment is this patient 6077* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 6078* [AuditEvent](auditevent.html): Where the activity involved patient data 6079* [Basic](basic.html): Identifies the focus of this resource 6080* [BodyStructure](bodystructure.html): Who this is about 6081* [CarePlan](careplan.html): Who the care plan is for 6082* [CareTeam](careteam.html): Who care team is for 6083* [ChargeItem](chargeitem.html): Individual service was done for/to 6084* [Claim](claim.html): Patient receiving the products or services 6085* [ClaimResponse](claimresponse.html): The subject of care 6086* [ClinicalImpression](clinicalimpression.html): Patient assessed 6087* [Communication](communication.html): Focus of message 6088* [CommunicationRequest](communicationrequest.html): Focus of message 6089* [Composition](composition.html): Who and/or what the composition is about 6090* [Condition](condition.html): Who has the condition? 6091* [Consent](consent.html): Who the consent applies to 6092* [Contract](contract.html): The identity of the subject of the contract (if a patient) 6093* [Coverage](coverage.html): Retrieve coverages for a patient 6094* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 6095* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 6096* [DetectedIssue](detectedissue.html): Associated patient 6097* [DeviceRequest](devicerequest.html): Individual the service is ordered for 6098* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 6099* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 6100* [DocumentReference](documentreference.html): Who/what is the subject of the document 6101* [Encounter](encounter.html): The patient present at the encounter 6102* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 6103* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 6104* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 6105* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 6106* [Flag](flag.html): The identity of a subject to list flags for 6107* [Goal](goal.html): Who this goal is intended for 6108* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 6109* [ImagingSelection](imagingselection.html): Who the study is about 6110* [ImagingStudy](imagingstudy.html): Who the study is about 6111* [Immunization](immunization.html): The patient for the vaccination record 6112* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 6113* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 6114* [Invoice](invoice.html): Recipient(s) of goods and services 6115* [List](list.html): If all resources have the same subject 6116* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 6117* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 6118* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 6119* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 6120* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 6121* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 6122* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 6123* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 6124* [Observation](observation.html): The subject that the observation is about (if patient) 6125* [Person](person.html): The Person links to this Patient 6126* [Procedure](procedure.html): Search by subject - a patient 6127* [Provenance](provenance.html): Where the activity involved patient data 6128* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 6129* [RelatedPerson](relatedperson.html): The patient this related person is related to 6130* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 6131* [ResearchSubject](researchsubject.html): Who or what is part of study 6132* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 6133* [ServiceRequest](servicerequest.html): Search by subject - a patient 6134* [Specimen](specimen.html): The patient the specimen comes from 6135* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 6136* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 6137* [Task](task.html): Search by patient 6138* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 6139</b><br> 6140 * Type: <b>reference</b><br> 6141 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.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) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 6142 * </p> 6143 */ 6144 @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.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) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [Account](account.html): The entity that caused the expenses\r\n* [AdverseEvent](adverseevent.html): Subject impacted by event\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [Appointment](appointment.html): One of the individuals of the appointment is this patient\r\n* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient\r\n* [AuditEvent](auditevent.html): Where the activity involved patient data\r\n* [Basic](basic.html): Identifies the focus of this resource\r\n* [BodyStructure](bodystructure.html): Who this is about\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ChargeItem](chargeitem.html): Individual service was done for/to\r\n* [Claim](claim.html): Patient receiving the products or services\r\n* [ClaimResponse](claimresponse.html): The subject of care\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Communication](communication.html): Focus of message\r\n* [CommunicationRequest](communicationrequest.html): Focus of message\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* [Contract](contract.html): The identity of the subject of the contract (if a patient)\r\n* [Coverage](coverage.html): Retrieve coverages for a patient\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient\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* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results\r\n* [ImagingSelection](imagingselection.html): Who the study is about\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for\r\n* [Invoice](invoice.html): Recipient(s) of goods and services\r\n* [List](list.html): If all resources have the same subject\r\n* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for\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* [MolecularSequence](molecularsequence.html): The subject that the sequence is about\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Person](person.html): The Person links to this Patient\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [Provenance](provenance.html): Where the activity involved patient data\r\n* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response\r\n* [RelatedPerson](relatedperson.html): The patient this related person is related to\r\n* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations\r\n* [ResearchSubject](researchsubject.html): Who or what is part of study\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [Specimen](specimen.html): The patient the specimen comes from\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [Task](task.html): Search by patient\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) 6145 public static final String SP_PATIENT = "patient"; 6146 /** 6147 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 6148 * <p> 6149 * Description: <b>Multiple Resources: 6150 6151* [Account](account.html): The entity that caused the expenses 6152* [AdverseEvent](adverseevent.html): Subject impacted by event 6153* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 6154* [Appointment](appointment.html): One of the individuals of the appointment is this patient 6155* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 6156* [AuditEvent](auditevent.html): Where the activity involved patient data 6157* [Basic](basic.html): Identifies the focus of this resource 6158* [BodyStructure](bodystructure.html): Who this is about 6159* [CarePlan](careplan.html): Who the care plan is for 6160* [CareTeam](careteam.html): Who care team is for 6161* [ChargeItem](chargeitem.html): Individual service was done for/to 6162* [Claim](claim.html): Patient receiving the products or services 6163* [ClaimResponse](claimresponse.html): The subject of care 6164* [ClinicalImpression](clinicalimpression.html): Patient assessed 6165* [Communication](communication.html): Focus of message 6166* [CommunicationRequest](communicationrequest.html): Focus of message 6167* [Composition](composition.html): Who and/or what the composition is about 6168* [Condition](condition.html): Who has the condition? 6169* [Consent](consent.html): Who the consent applies to 6170* [Contract](contract.html): The identity of the subject of the contract (if a patient) 6171* [Coverage](coverage.html): Retrieve coverages for a patient 6172* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 6173* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 6174* [DetectedIssue](detectedissue.html): Associated patient 6175* [DeviceRequest](devicerequest.html): Individual the service is ordered for 6176* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 6177* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 6178* [DocumentReference](documentreference.html): Who/what is the subject of the document 6179* [Encounter](encounter.html): The patient present at the encounter 6180* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 6181* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 6182* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 6183* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 6184* [Flag](flag.html): The identity of a subject to list flags for 6185* [Goal](goal.html): Who this goal is intended for 6186* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 6187* [ImagingSelection](imagingselection.html): Who the study is about 6188* [ImagingStudy](imagingstudy.html): Who the study is about 6189* [Immunization](immunization.html): The patient for the vaccination record 6190* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 6191* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 6192* [Invoice](invoice.html): Recipient(s) of goods and services 6193* [List](list.html): If all resources have the same subject 6194* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 6195* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 6196* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 6197* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 6198* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 6199* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 6200* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 6201* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 6202* [Observation](observation.html): The subject that the observation is about (if patient) 6203* [Person](person.html): The Person links to this Patient 6204* [Procedure](procedure.html): Search by subject - a patient 6205* [Provenance](provenance.html): Where the activity involved patient data 6206* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 6207* [RelatedPerson](relatedperson.html): The patient this related person is related to 6208* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 6209* [ResearchSubject](researchsubject.html): Who or what is part of study 6210* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 6211* [ServiceRequest](servicerequest.html): Search by subject - a patient 6212* [Specimen](specimen.html): The patient the specimen comes from 6213* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 6214* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 6215* [Task](task.html): Search by patient 6216* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 6217</b><br> 6218 * Type: <b>reference</b><br> 6219 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.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) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 6220 * </p> 6221 */ 6222 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 6223 6224/** 6225 * Constant for fluent queries to be used to add include statements. Specifies 6226 * the path value of "<b>RequestOrchestration:patient</b>". 6227 */ 6228 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:patient").toLocked(); 6229 6230 6231} 6232