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 Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent 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 = {StringType.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 StringType 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 = {StringType.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 StringType 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 = 984278550L; 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 StringType 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 StringType(); // 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(StringType 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 StringType(); 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 StringType 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 StringType(); // 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(StringType 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 StringType(); 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 Error("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 Error("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", "string", "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", "string", "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", "string", "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", "string", "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}; // StringType 1699 case -900391049: /*textEquivalent*/ return this.textEquivalent == null ? new Base[0] : new Base[] {this.textEquivalent}; // StringType 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.castToString(value); // StringType 1741 return value; 1742 case -900391049: // textEquivalent 1743 this.textEquivalent = TypeConvertor.castToString(value); // StringType 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.castToString(value); // StringType 1832 } else if (name.equals("textEquivalent")) { 1833 this.textEquivalent = TypeConvertor.castToString(value); // StringType 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[] {"string"}; 1933 case -900391049: /*textEquivalent*/ return new String[] {"string"}; 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 primitive type RequestOrchestration.action.linkId"); 1965 } 1966 else if (name.equals("prefix")) { 1967 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.prefix"); 1968 } 1969 else if (name.equals("title")) { 1970 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.title"); 1971 } 1972 else if (name.equals("description")) { 1973 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.description"); 1974 } 1975 else if (name.equals("textEquivalent")) { 1976 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.textEquivalent"); 1977 } 1978 else if (name.equals("priority")) { 1979 throw new FHIRException("Cannot call addChild on a primitive type 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 primitive type RequestOrchestration.action.groupingBehavior"); 2039 } 2040 else if (name.equals("selectionBehavior")) { 2041 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.selectionBehavior"); 2042 } 2043 else if (name.equals("requiredBehavior")) { 2044 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.requiredBehavior"); 2045 } 2046 else if (name.equals("precheckBehavior")) { 2047 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.precheckBehavior"); 2048 } 2049 else if (name.equals("cardinalityBehavior")) { 2050 throw new FHIRException("Cannot call addChild on a primitive type 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 primitive type 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 primitive type 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 primitive type 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 primitive type 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 primitive type 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 primitive type 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-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | 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 * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. 3049 */ 3050 @Child(name = "offset", type = {Duration.class, Range.class}, order=3, min=0, max=1, modifier=false, summary=false) 3051 @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." ) 3052 protected DataType offset; 3053 3054 private static final long serialVersionUID = -462773513L; 3055 3056 /** 3057 * Constructor 3058 */ 3059 public RequestOrchestrationActionRelatedActionComponent() { 3060 super(); 3061 } 3062 3063 /** 3064 * Constructor 3065 */ 3066 public RequestOrchestrationActionRelatedActionComponent(String targetId, ActionRelationshipType relationship) { 3067 super(); 3068 this.setTargetId(targetId); 3069 this.setRelationship(relationship); 3070 } 3071 3072 /** 3073 * @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 3074 */ 3075 public IdType getTargetIdElement() { 3076 if (this.targetId == null) 3077 if (Configuration.errorOnAutoCreate()) 3078 throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.targetId"); 3079 else if (Configuration.doAutoCreate()) 3080 this.targetId = new IdType(); // bb 3081 return this.targetId; 3082 } 3083 3084 public boolean hasTargetIdElement() { 3085 return this.targetId != null && !this.targetId.isEmpty(); 3086 } 3087 3088 public boolean hasTargetId() { 3089 return this.targetId != null && !this.targetId.isEmpty(); 3090 } 3091 3092 /** 3093 * @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 3094 */ 3095 public RequestOrchestrationActionRelatedActionComponent setTargetIdElement(IdType value) { 3096 this.targetId = value; 3097 return this; 3098 } 3099 3100 /** 3101 * @return The element id of the target related action. 3102 */ 3103 public String getTargetId() { 3104 return this.targetId == null ? null : this.targetId.getValue(); 3105 } 3106 3107 /** 3108 * @param value The element id of the target related action. 3109 */ 3110 public RequestOrchestrationActionRelatedActionComponent setTargetId(String value) { 3111 if (this.targetId == null) 3112 this.targetId = new IdType(); 3113 this.targetId.setValue(value); 3114 return this; 3115 } 3116 3117 /** 3118 * @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 3119 */ 3120 public Enumeration<ActionRelationshipType> getRelationshipElement() { 3121 if (this.relationship == null) 3122 if (Configuration.errorOnAutoCreate()) 3123 throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.relationship"); 3124 else if (Configuration.doAutoCreate()) 3125 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); // bb 3126 return this.relationship; 3127 } 3128 3129 public boolean hasRelationshipElement() { 3130 return this.relationship != null && !this.relationship.isEmpty(); 3131 } 3132 3133 public boolean hasRelationship() { 3134 return this.relationship != null && !this.relationship.isEmpty(); 3135 } 3136 3137 /** 3138 * @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 3139 */ 3140 public RequestOrchestrationActionRelatedActionComponent setRelationshipElement(Enumeration<ActionRelationshipType> value) { 3141 this.relationship = value; 3142 return this; 3143 } 3144 3145 /** 3146 * @return The relationship of this action to the related action. 3147 */ 3148 public ActionRelationshipType getRelationship() { 3149 return this.relationship == null ? null : this.relationship.getValue(); 3150 } 3151 3152 /** 3153 * @param value The relationship of this action to the related action. 3154 */ 3155 public RequestOrchestrationActionRelatedActionComponent setRelationship(ActionRelationshipType value) { 3156 if (this.relationship == null) 3157 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); 3158 this.relationship.setValue(value); 3159 return this; 3160 } 3161 3162 /** 3163 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3164 */ 3165 public DataType getOffset() { 3166 return this.offset; 3167 } 3168 3169 /** 3170 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3171 */ 3172 public Duration getOffsetDuration() throws FHIRException { 3173 if (this.offset == null) 3174 this.offset = new Duration(); 3175 if (!(this.offset instanceof Duration)) 3176 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.offset.getClass().getName()+" was encountered"); 3177 return (Duration) this.offset; 3178 } 3179 3180 public boolean hasOffsetDuration() { 3181 return this != null && this.offset instanceof Duration; 3182 } 3183 3184 /** 3185 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3186 */ 3187 public Range getOffsetRange() throws FHIRException { 3188 if (this.offset == null) 3189 this.offset = new Range(); 3190 if (!(this.offset instanceof Range)) 3191 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.offset.getClass().getName()+" was encountered"); 3192 return (Range) this.offset; 3193 } 3194 3195 public boolean hasOffsetRange() { 3196 return this != null && this.offset instanceof Range; 3197 } 3198 3199 public boolean hasOffset() { 3200 return this.offset != null && !this.offset.isEmpty(); 3201 } 3202 3203 /** 3204 * @param value {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3205 */ 3206 public RequestOrchestrationActionRelatedActionComponent setOffset(DataType value) { 3207 if (value != null && !(value instanceof Duration || value instanceof Range)) 3208 throw new Error("Not the right type for RequestOrchestration.action.relatedAction.offset[x]: "+value.fhirType()); 3209 this.offset = value; 3210 return this; 3211 } 3212 3213 protected void listChildren(List<Property> children) { 3214 super.listChildren(children); 3215 children.add(new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId)); 3216 children.add(new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship)); 3217 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)); 3218 } 3219 3220 @Override 3221 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3222 switch (_hash) { 3223 case -441951604: /*targetId*/ return new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId); 3224 case -261851592: /*relationship*/ return new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship); 3225 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); 3226 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); 3227 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); 3228 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); 3229 default: return super.getNamedProperty(_hash, _name, _checkValid); 3230 } 3231 3232 } 3233 3234 @Override 3235 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3236 switch (hash) { 3237 case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType 3238 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Enumeration<ActionRelationshipType> 3239 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // DataType 3240 default: return super.getProperty(hash, name, checkValid); 3241 } 3242 3243 } 3244 3245 @Override 3246 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3247 switch (hash) { 3248 case -441951604: // targetId 3249 this.targetId = TypeConvertor.castToId(value); // IdType 3250 return value; 3251 case -261851592: // relationship 3252 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3253 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3254 return value; 3255 case -1019779949: // offset 3256 this.offset = TypeConvertor.castToType(value); // DataType 3257 return value; 3258 default: return super.setProperty(hash, name, value); 3259 } 3260 3261 } 3262 3263 @Override 3264 public Base setProperty(String name, Base value) throws FHIRException { 3265 if (name.equals("targetId")) { 3266 this.targetId = TypeConvertor.castToId(value); // IdType 3267 } else if (name.equals("relationship")) { 3268 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3269 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3270 } else if (name.equals("offset[x]")) { 3271 this.offset = TypeConvertor.castToType(value); // DataType 3272 } else 3273 return super.setProperty(name, value); 3274 return value; 3275 } 3276 3277 @Override 3278 public Base makeProperty(int hash, String name) throws FHIRException { 3279 switch (hash) { 3280 case -441951604: return getTargetIdElement(); 3281 case -261851592: return getRelationshipElement(); 3282 case -1960684787: return getOffset(); 3283 case -1019779949: return getOffset(); 3284 default: return super.makeProperty(hash, name); 3285 } 3286 3287 } 3288 3289 @Override 3290 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3291 switch (hash) { 3292 case -441951604: /*targetId*/ return new String[] {"id"}; 3293 case -261851592: /*relationship*/ return new String[] {"code"}; 3294 case -1019779949: /*offset*/ return new String[] {"Duration", "Range"}; 3295 default: return super.getTypesForProperty(hash, name); 3296 } 3297 3298 } 3299 3300 @Override 3301 public Base addChild(String name) throws FHIRException { 3302 if (name.equals("targetId")) { 3303 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.relatedAction.targetId"); 3304 } 3305 else if (name.equals("relationship")) { 3306 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.relatedAction.relationship"); 3307 } 3308 else if (name.equals("offsetDuration")) { 3309 this.offset = new Duration(); 3310 return this.offset; 3311 } 3312 else if (name.equals("offsetRange")) { 3313 this.offset = new Range(); 3314 return this.offset; 3315 } 3316 else 3317 return super.addChild(name); 3318 } 3319 3320 public RequestOrchestrationActionRelatedActionComponent copy() { 3321 RequestOrchestrationActionRelatedActionComponent dst = new RequestOrchestrationActionRelatedActionComponent(); 3322 copyValues(dst); 3323 return dst; 3324 } 3325 3326 public void copyValues(RequestOrchestrationActionRelatedActionComponent dst) { 3327 super.copyValues(dst); 3328 dst.targetId = targetId == null ? null : targetId.copy(); 3329 dst.relationship = relationship == null ? null : relationship.copy(); 3330 dst.offset = offset == null ? null : offset.copy(); 3331 } 3332 3333 @Override 3334 public boolean equalsDeep(Base other_) { 3335 if (!super.equalsDeep(other_)) 3336 return false; 3337 if (!(other_ instanceof RequestOrchestrationActionRelatedActionComponent)) 3338 return false; 3339 RequestOrchestrationActionRelatedActionComponent o = (RequestOrchestrationActionRelatedActionComponent) other_; 3340 return compareDeep(targetId, o.targetId, true) && compareDeep(relationship, o.relationship, true) 3341 && compareDeep(offset, o.offset, true); 3342 } 3343 3344 @Override 3345 public boolean equalsShallow(Base other_) { 3346 if (!super.equalsShallow(other_)) 3347 return false; 3348 if (!(other_ instanceof RequestOrchestrationActionRelatedActionComponent)) 3349 return false; 3350 RequestOrchestrationActionRelatedActionComponent o = (RequestOrchestrationActionRelatedActionComponent) other_; 3351 return compareValues(targetId, o.targetId, true) && compareValues(relationship, o.relationship, true) 3352 ; 3353 } 3354 3355 public boolean isEmpty() { 3356 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(targetId, relationship, offset 3357 ); 3358 } 3359 3360 public String fhirType() { 3361 return "RequestOrchestration.action.relatedAction"; 3362 3363 } 3364 3365 } 3366 3367 @Block() 3368 public static class RequestOrchestrationActionParticipantComponent extends BackboneElement implements IBaseBackboneElement { 3369 /** 3370 * The type of participant in the action. 3371 */ 3372 @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 3373 @Description(shortDefinition="careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson", formalDefinition="The type of participant in the action." ) 3374 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-type") 3375 protected Enumeration<ActionParticipantType> type; 3376 3377 /** 3378 * The type of participant in the action. 3379 */ 3380 @Child(name = "typeCanonical", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3381 @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) 3382 protected CanonicalType typeCanonical; 3383 3384 /** 3385 * The type of participant in the action. 3386 */ 3387 @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) 3388 @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) 3389 protected Reference typeReference; 3390 3391 /** 3392 * The role the participant should play in performing the described action. 3393 */ 3394 @Child(name = "role", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 3395 @Description(shortDefinition="E.g. Nurse, Surgeon, Parent, etc.", formalDefinition="The role the participant should play in performing the described action." ) 3396 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") 3397 protected CodeableConcept role; 3398 3399 /** 3400 * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. 3401 */ 3402 @Child(name = "function", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) 3403 @Description(shortDefinition="E.g. Author, Reviewer, Witness, etc.", formalDefinition="Indicates how the actor will be involved in the action - author, reviewer, witness, etc." ) 3404 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-function") 3405 protected CodeableConcept function; 3406 3407 /** 3408 * A reference to the actual participant. 3409 */ 3410 @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) 3411 @Description(shortDefinition="Who/what is participating?", formalDefinition="A reference to the actual participant." ) 3412 protected DataType actor; 3413 3414 private static final long serialVersionUID = -147206285L; 3415 3416 /** 3417 * Constructor 3418 */ 3419 public RequestOrchestrationActionParticipantComponent() { 3420 super(); 3421 } 3422 3423 /** 3424 * @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 3425 */ 3426 public Enumeration<ActionParticipantType> getTypeElement() { 3427 if (this.type == null) 3428 if (Configuration.errorOnAutoCreate()) 3429 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.type"); 3430 else if (Configuration.doAutoCreate()) 3431 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); // bb 3432 return this.type; 3433 } 3434 3435 public boolean hasTypeElement() { 3436 return this.type != null && !this.type.isEmpty(); 3437 } 3438 3439 public boolean hasType() { 3440 return this.type != null && !this.type.isEmpty(); 3441 } 3442 3443 /** 3444 * @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 3445 */ 3446 public RequestOrchestrationActionParticipantComponent setTypeElement(Enumeration<ActionParticipantType> value) { 3447 this.type = value; 3448 return this; 3449 } 3450 3451 /** 3452 * @return The type of participant in the action. 3453 */ 3454 public ActionParticipantType getType() { 3455 return this.type == null ? null : this.type.getValue(); 3456 } 3457 3458 /** 3459 * @param value The type of participant in the action. 3460 */ 3461 public RequestOrchestrationActionParticipantComponent setType(ActionParticipantType value) { 3462 if (value == null) 3463 this.type = null; 3464 else { 3465 if (this.type == null) 3466 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); 3467 this.type.setValue(value); 3468 } 3469 return this; 3470 } 3471 3472 /** 3473 * @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 3474 */ 3475 public CanonicalType getTypeCanonicalElement() { 3476 if (this.typeCanonical == null) 3477 if (Configuration.errorOnAutoCreate()) 3478 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.typeCanonical"); 3479 else if (Configuration.doAutoCreate()) 3480 this.typeCanonical = new CanonicalType(); // bb 3481 return this.typeCanonical; 3482 } 3483 3484 public boolean hasTypeCanonicalElement() { 3485 return this.typeCanonical != null && !this.typeCanonical.isEmpty(); 3486 } 3487 3488 public boolean hasTypeCanonical() { 3489 return this.typeCanonical != null && !this.typeCanonical.isEmpty(); 3490 } 3491 3492 /** 3493 * @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 3494 */ 3495 public RequestOrchestrationActionParticipantComponent setTypeCanonicalElement(CanonicalType value) { 3496 this.typeCanonical = value; 3497 return this; 3498 } 3499 3500 /** 3501 * @return The type of participant in the action. 3502 */ 3503 public String getTypeCanonical() { 3504 return this.typeCanonical == null ? null : this.typeCanonical.getValue(); 3505 } 3506 3507 /** 3508 * @param value The type of participant in the action. 3509 */ 3510 public RequestOrchestrationActionParticipantComponent setTypeCanonical(String value) { 3511 if (Utilities.noString(value)) 3512 this.typeCanonical = null; 3513 else { 3514 if (this.typeCanonical == null) 3515 this.typeCanonical = new CanonicalType(); 3516 this.typeCanonical.setValue(value); 3517 } 3518 return this; 3519 } 3520 3521 /** 3522 * @return {@link #typeReference} (The type of participant in the action.) 3523 */ 3524 public Reference getTypeReference() { 3525 if (this.typeReference == null) 3526 if (Configuration.errorOnAutoCreate()) 3527 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.typeReference"); 3528 else if (Configuration.doAutoCreate()) 3529 this.typeReference = new Reference(); // cc 3530 return this.typeReference; 3531 } 3532 3533 public boolean hasTypeReference() { 3534 return this.typeReference != null && !this.typeReference.isEmpty(); 3535 } 3536 3537 /** 3538 * @param value {@link #typeReference} (The type of participant in the action.) 3539 */ 3540 public RequestOrchestrationActionParticipantComponent setTypeReference(Reference value) { 3541 this.typeReference = value; 3542 return this; 3543 } 3544 3545 /** 3546 * @return {@link #role} (The role the participant should play in performing the described action.) 3547 */ 3548 public CodeableConcept getRole() { 3549 if (this.role == null) 3550 if (Configuration.errorOnAutoCreate()) 3551 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.role"); 3552 else if (Configuration.doAutoCreate()) 3553 this.role = new CodeableConcept(); // cc 3554 return this.role; 3555 } 3556 3557 public boolean hasRole() { 3558 return this.role != null && !this.role.isEmpty(); 3559 } 3560 3561 /** 3562 * @param value {@link #role} (The role the participant should play in performing the described action.) 3563 */ 3564 public RequestOrchestrationActionParticipantComponent setRole(CodeableConcept value) { 3565 this.role = value; 3566 return this; 3567 } 3568 3569 /** 3570 * @return {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) 3571 */ 3572 public CodeableConcept getFunction() { 3573 if (this.function == null) 3574 if (Configuration.errorOnAutoCreate()) 3575 throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.function"); 3576 else if (Configuration.doAutoCreate()) 3577 this.function = new CodeableConcept(); // cc 3578 return this.function; 3579 } 3580 3581 public boolean hasFunction() { 3582 return this.function != null && !this.function.isEmpty(); 3583 } 3584 3585 /** 3586 * @param value {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) 3587 */ 3588 public RequestOrchestrationActionParticipantComponent setFunction(CodeableConcept value) { 3589 this.function = value; 3590 return this; 3591 } 3592 3593 /** 3594 * @return {@link #actor} (A reference to the actual participant.) 3595 */ 3596 public DataType getActor() { 3597 return this.actor; 3598 } 3599 3600 /** 3601 * @return {@link #actor} (A reference to the actual participant.) 3602 */ 3603 public CanonicalType getActorCanonicalType() throws FHIRException { 3604 if (this.actor == null) 3605 this.actor = new CanonicalType(); 3606 if (!(this.actor instanceof CanonicalType)) 3607 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.actor.getClass().getName()+" was encountered"); 3608 return (CanonicalType) this.actor; 3609 } 3610 3611 public boolean hasActorCanonicalType() { 3612 return this != null && this.actor instanceof CanonicalType; 3613 } 3614 3615 /** 3616 * @return {@link #actor} (A reference to the actual participant.) 3617 */ 3618 public Reference getActorReference() throws FHIRException { 3619 if (this.actor == null) 3620 this.actor = new Reference(); 3621 if (!(this.actor instanceof Reference)) 3622 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.actor.getClass().getName()+" was encountered"); 3623 return (Reference) this.actor; 3624 } 3625 3626 public boolean hasActorReference() { 3627 return this != null && this.actor instanceof Reference; 3628 } 3629 3630 public boolean hasActor() { 3631 return this.actor != null && !this.actor.isEmpty(); 3632 } 3633 3634 /** 3635 * @param value {@link #actor} (A reference to the actual participant.) 3636 */ 3637 public RequestOrchestrationActionParticipantComponent setActor(DataType value) { 3638 if (value != null && !(value instanceof CanonicalType || value instanceof Reference)) 3639 throw new Error("Not the right type for RequestOrchestration.action.participant.actor[x]: "+value.fhirType()); 3640 this.actor = value; 3641 return this; 3642 } 3643 3644 protected void listChildren(List<Property> children) { 3645 super.listChildren(children); 3646 children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); 3647 children.add(new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical)); 3648 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)); 3649 children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); 3650 children.add(new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function)); 3651 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)); 3652 } 3653 3654 @Override 3655 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3656 switch (_hash) { 3657 case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); 3658 case -466635046: /*typeCanonical*/ return new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical); 3659 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); 3660 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); 3661 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); 3662 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); 3663 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); 3664 case 1323531903: /*actorCanonical*/ return new Property("actor[x]", "canonical(CapabilityStatement)", "A reference to the actual participant.", 0, 1, actor); 3665 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); 3666 default: return super.getNamedProperty(_hash, _name, _checkValid); 3667 } 3668 3669 } 3670 3671 @Override 3672 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3673 switch (hash) { 3674 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ActionParticipantType> 3675 case -466635046: /*typeCanonical*/ return this.typeCanonical == null ? new Base[0] : new Base[] {this.typeCanonical}; // CanonicalType 3676 case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference 3677 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 3678 case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept 3679 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // DataType 3680 default: return super.getProperty(hash, name, checkValid); 3681 } 3682 3683 } 3684 3685 @Override 3686 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3687 switch (hash) { 3688 case 3575610: // type 3689 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3690 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 3691 return value; 3692 case -466635046: // typeCanonical 3693 this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType 3694 return value; 3695 case 2074825009: // typeReference 3696 this.typeReference = TypeConvertor.castToReference(value); // Reference 3697 return value; 3698 case 3506294: // role 3699 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3700 return value; 3701 case 1380938712: // function 3702 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3703 return value; 3704 case 92645877: // actor 3705 this.actor = TypeConvertor.castToType(value); // DataType 3706 return value; 3707 default: return super.setProperty(hash, name, value); 3708 } 3709 3710 } 3711 3712 @Override 3713 public Base setProperty(String name, Base value) throws FHIRException { 3714 if (name.equals("type")) { 3715 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3716 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 3717 } else if (name.equals("typeCanonical")) { 3718 this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType 3719 } else if (name.equals("typeReference")) { 3720 this.typeReference = TypeConvertor.castToReference(value); // Reference 3721 } else if (name.equals("role")) { 3722 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3723 } else if (name.equals("function")) { 3724 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3725 } else if (name.equals("actor[x]")) { 3726 this.actor = TypeConvertor.castToType(value); // DataType 3727 } else 3728 return super.setProperty(name, value); 3729 return value; 3730 } 3731 3732 @Override 3733 public Base makeProperty(int hash, String name) throws FHIRException { 3734 switch (hash) { 3735 case 3575610: return getTypeElement(); 3736 case -466635046: return getTypeCanonicalElement(); 3737 case 2074825009: return getTypeReference(); 3738 case 3506294: return getRole(); 3739 case 1380938712: return getFunction(); 3740 case -1650558357: return getActor(); 3741 case 92645877: return getActor(); 3742 default: return super.makeProperty(hash, name); 3743 } 3744 3745 } 3746 3747 @Override 3748 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3749 switch (hash) { 3750 case 3575610: /*type*/ return new String[] {"code"}; 3751 case -466635046: /*typeCanonical*/ return new String[] {"canonical"}; 3752 case 2074825009: /*typeReference*/ return new String[] {"Reference"}; 3753 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 3754 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 3755 case 92645877: /*actor*/ return new String[] {"canonical", "Reference"}; 3756 default: return super.getTypesForProperty(hash, name); 3757 } 3758 3759 } 3760 3761 @Override 3762 public Base addChild(String name) throws FHIRException { 3763 if (name.equals("type")) { 3764 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.participant.type"); 3765 } 3766 else if (name.equals("typeCanonical")) { 3767 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.participant.typeCanonical"); 3768 } 3769 else if (name.equals("typeReference")) { 3770 this.typeReference = new Reference(); 3771 return this.typeReference; 3772 } 3773 else if (name.equals("role")) { 3774 this.role = new CodeableConcept(); 3775 return this.role; 3776 } 3777 else if (name.equals("function")) { 3778 this.function = new CodeableConcept(); 3779 return this.function; 3780 } 3781 else if (name.equals("actorCanonical")) { 3782 this.actor = new CanonicalType(); 3783 return this.actor; 3784 } 3785 else if (name.equals("actorReference")) { 3786 this.actor = new Reference(); 3787 return this.actor; 3788 } 3789 else 3790 return super.addChild(name); 3791 } 3792 3793 public RequestOrchestrationActionParticipantComponent copy() { 3794 RequestOrchestrationActionParticipantComponent dst = new RequestOrchestrationActionParticipantComponent(); 3795 copyValues(dst); 3796 return dst; 3797 } 3798 3799 public void copyValues(RequestOrchestrationActionParticipantComponent dst) { 3800 super.copyValues(dst); 3801 dst.type = type == null ? null : type.copy(); 3802 dst.typeCanonical = typeCanonical == null ? null : typeCanonical.copy(); 3803 dst.typeReference = typeReference == null ? null : typeReference.copy(); 3804 dst.role = role == null ? null : role.copy(); 3805 dst.function = function == null ? null : function.copy(); 3806 dst.actor = actor == null ? null : actor.copy(); 3807 } 3808 3809 @Override 3810 public boolean equalsDeep(Base other_) { 3811 if (!super.equalsDeep(other_)) 3812 return false; 3813 if (!(other_ instanceof RequestOrchestrationActionParticipantComponent)) 3814 return false; 3815 RequestOrchestrationActionParticipantComponent o = (RequestOrchestrationActionParticipantComponent) other_; 3816 return compareDeep(type, o.type, true) && compareDeep(typeCanonical, o.typeCanonical, true) && compareDeep(typeReference, o.typeReference, true) 3817 && compareDeep(role, o.role, true) && compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true) 3818 ; 3819 } 3820 3821 @Override 3822 public boolean equalsShallow(Base other_) { 3823 if (!super.equalsShallow(other_)) 3824 return false; 3825 if (!(other_ instanceof RequestOrchestrationActionParticipantComponent)) 3826 return false; 3827 RequestOrchestrationActionParticipantComponent o = (RequestOrchestrationActionParticipantComponent) other_; 3828 return compareValues(type, o.type, true) && compareValues(typeCanonical, o.typeCanonical, true); 3829 } 3830 3831 public boolean isEmpty() { 3832 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeCanonical, typeReference 3833 , role, function, actor); 3834 } 3835 3836 public String fhirType() { 3837 return "RequestOrchestration.action.participant"; 3838 3839 } 3840 3841 } 3842 3843 @Block() 3844 public static class RequestOrchestrationActionDynamicValueComponent extends BackboneElement implements IBaseBackboneElement { 3845 /** 3846 * 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 resolveable 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). 3847 */ 3848 @Child(name = "path", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 3849 @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 resolveable 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)." ) 3850 protected StringType path; 3851 3852 /** 3853 * An expression specifying the value of the customized element. 3854 */ 3855 @Child(name = "expression", type = {Expression.class}, order=2, min=0, max=1, modifier=false, summary=false) 3856 @Description(shortDefinition="An expression that provides the dynamic value for the customization", formalDefinition="An expression specifying the value of the customized element." ) 3857 protected Expression expression; 3858 3859 private static final long serialVersionUID = 1064529082L; 3860 3861 /** 3862 * Constructor 3863 */ 3864 public RequestOrchestrationActionDynamicValueComponent() { 3865 super(); 3866 } 3867 3868 /** 3869 * @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 resolveable 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 3870 */ 3871 public StringType getPathElement() { 3872 if (this.path == null) 3873 if (Configuration.errorOnAutoCreate()) 3874 throw new Error("Attempt to auto-create RequestOrchestrationActionDynamicValueComponent.path"); 3875 else if (Configuration.doAutoCreate()) 3876 this.path = new StringType(); // bb 3877 return this.path; 3878 } 3879 3880 public boolean hasPathElement() { 3881 return this.path != null && !this.path.isEmpty(); 3882 } 3883 3884 public boolean hasPath() { 3885 return this.path != null && !this.path.isEmpty(); 3886 } 3887 3888 /** 3889 * @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 resolveable 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 3890 */ 3891 public RequestOrchestrationActionDynamicValueComponent setPathElement(StringType value) { 3892 this.path = value; 3893 return this; 3894 } 3895 3896 /** 3897 * @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 resolveable 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). 3898 */ 3899 public String getPath() { 3900 return this.path == null ? null : this.path.getValue(); 3901 } 3902 3903 /** 3904 * @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 resolveable 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). 3905 */ 3906 public RequestOrchestrationActionDynamicValueComponent setPath(String value) { 3907 if (Utilities.noString(value)) 3908 this.path = null; 3909 else { 3910 if (this.path == null) 3911 this.path = new StringType(); 3912 this.path.setValue(value); 3913 } 3914 return this; 3915 } 3916 3917 /** 3918 * @return {@link #expression} (An expression specifying the value of the customized element.) 3919 */ 3920 public Expression getExpression() { 3921 if (this.expression == null) 3922 if (Configuration.errorOnAutoCreate()) 3923 throw new Error("Attempt to auto-create RequestOrchestrationActionDynamicValueComponent.expression"); 3924 else if (Configuration.doAutoCreate()) 3925 this.expression = new Expression(); // cc 3926 return this.expression; 3927 } 3928 3929 public boolean hasExpression() { 3930 return this.expression != null && !this.expression.isEmpty(); 3931 } 3932 3933 /** 3934 * @param value {@link #expression} (An expression specifying the value of the customized element.) 3935 */ 3936 public RequestOrchestrationActionDynamicValueComponent setExpression(Expression value) { 3937 this.expression = value; 3938 return this; 3939 } 3940 3941 protected void listChildren(List<Property> children) { 3942 super.listChildren(children); 3943 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 resolveable 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)); 3944 children.add(new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression)); 3945 } 3946 3947 @Override 3948 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3949 switch (_hash) { 3950 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 resolveable 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); 3951 case -1795452264: /*expression*/ return new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression); 3952 default: return super.getNamedProperty(_hash, _name, _checkValid); 3953 } 3954 3955 } 3956 3957 @Override 3958 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3959 switch (hash) { 3960 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 3961 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression 3962 default: return super.getProperty(hash, name, checkValid); 3963 } 3964 3965 } 3966 3967 @Override 3968 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3969 switch (hash) { 3970 case 3433509: // path 3971 this.path = TypeConvertor.castToString(value); // StringType 3972 return value; 3973 case -1795452264: // expression 3974 this.expression = TypeConvertor.castToExpression(value); // Expression 3975 return value; 3976 default: return super.setProperty(hash, name, value); 3977 } 3978 3979 } 3980 3981 @Override 3982 public Base setProperty(String name, Base value) throws FHIRException { 3983 if (name.equals("path")) { 3984 this.path = TypeConvertor.castToString(value); // StringType 3985 } else if (name.equals("expression")) { 3986 this.expression = TypeConvertor.castToExpression(value); // Expression 3987 } else 3988 return super.setProperty(name, value); 3989 return value; 3990 } 3991 3992 @Override 3993 public Base makeProperty(int hash, String name) throws FHIRException { 3994 switch (hash) { 3995 case 3433509: return getPathElement(); 3996 case -1795452264: return getExpression(); 3997 default: return super.makeProperty(hash, name); 3998 } 3999 4000 } 4001 4002 @Override 4003 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4004 switch (hash) { 4005 case 3433509: /*path*/ return new String[] {"string"}; 4006 case -1795452264: /*expression*/ return new String[] {"Expression"}; 4007 default: return super.getTypesForProperty(hash, name); 4008 } 4009 4010 } 4011 4012 @Override 4013 public Base addChild(String name) throws FHIRException { 4014 if (name.equals("path")) { 4015 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.dynamicValue.path"); 4016 } 4017 else if (name.equals("expression")) { 4018 this.expression = new Expression(); 4019 return this.expression; 4020 } 4021 else 4022 return super.addChild(name); 4023 } 4024 4025 public RequestOrchestrationActionDynamicValueComponent copy() { 4026 RequestOrchestrationActionDynamicValueComponent dst = new RequestOrchestrationActionDynamicValueComponent(); 4027 copyValues(dst); 4028 return dst; 4029 } 4030 4031 public void copyValues(RequestOrchestrationActionDynamicValueComponent dst) { 4032 super.copyValues(dst); 4033 dst.path = path == null ? null : path.copy(); 4034 dst.expression = expression == null ? null : expression.copy(); 4035 } 4036 4037 @Override 4038 public boolean equalsDeep(Base other_) { 4039 if (!super.equalsDeep(other_)) 4040 return false; 4041 if (!(other_ instanceof RequestOrchestrationActionDynamicValueComponent)) 4042 return false; 4043 RequestOrchestrationActionDynamicValueComponent o = (RequestOrchestrationActionDynamicValueComponent) other_; 4044 return compareDeep(path, o.path, true) && compareDeep(expression, o.expression, true); 4045 } 4046 4047 @Override 4048 public boolean equalsShallow(Base other_) { 4049 if (!super.equalsShallow(other_)) 4050 return false; 4051 if (!(other_ instanceof RequestOrchestrationActionDynamicValueComponent)) 4052 return false; 4053 RequestOrchestrationActionDynamicValueComponent o = (RequestOrchestrationActionDynamicValueComponent) other_; 4054 return compareValues(path, o.path, true); 4055 } 4056 4057 public boolean isEmpty() { 4058 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(path, expression); 4059 } 4060 4061 public String fhirType() { 4062 return "RequestOrchestration.action.dynamicValue"; 4063 4064 } 4065 4066 } 4067 4068 /** 4069 * Allows a service to provide a unique, business identifier for the request. 4070 */ 4071 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4072 @Description(shortDefinition="Business identifier", formalDefinition="Allows a service to provide a unique, business identifier for the request." ) 4073 protected List<Identifier> identifier; 4074 4075 /** 4076 * 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. 4077 */ 4078 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4079 @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." ) 4080 protected List<CanonicalType> instantiatesCanonical; 4081 4082 /** 4083 * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. 4084 */ 4085 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4086 @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." ) 4087 protected List<UriType> instantiatesUri; 4088 4089 /** 4090 * A plan, proposal or order that is fulfilled in whole or in part by this request. 4091 */ 4092 @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4093 @Description(shortDefinition="Fulfills plan, proposal, or order", formalDefinition="A plan, proposal or order that is fulfilled in whole or in part by this request." ) 4094 protected List<Reference> basedOn; 4095 4096 /** 4097 * Completed or terminated request(s) whose function is taken by this new request. 4098 */ 4099 @Child(name = "replaces", type = {Reference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4100 @Description(shortDefinition="Request(s) replaced by this request", formalDefinition="Completed or terminated request(s) whose function is taken by this new request." ) 4101 protected List<Reference> replaces; 4102 4103 /** 4104 * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form. 4105 */ 4106 @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) 4107 @Description(shortDefinition="Composite request this is part of", formalDefinition="A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form." ) 4108 protected Identifier groupIdentifier; 4109 4110 /** 4111 * The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. 4112 */ 4113 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 4114 @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." ) 4115 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 4116 protected Enumeration<RequestStatus> status; 4117 4118 /** 4119 * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4120 */ 4121 @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 4122 @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." ) 4123 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 4124 protected Enumeration<RequestIntent> intent; 4125 4126 /** 4127 * Indicates how quickly the request should be addressed with respect to other requests. 4128 */ 4129 @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 4130 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) 4131 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 4132 protected Enumeration<RequestPriority> priority; 4133 4134 /** 4135 * A code that identifies what the overall request orchestration is. 4136 */ 4137 @Child(name = "code", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 4138 @Description(shortDefinition="What's being requested/ordered", formalDefinition="A code that identifies what the overall request orchestration is." ) 4139 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-code") 4140 protected CodeableConcept code; 4141 4142 /** 4143 * The subject for which the request orchestration was created. 4144 */ 4145 @Child(name = "subject", type = {Patient.class, Group.class}, order=10, min=0, max=1, modifier=false, summary=false) 4146 @Description(shortDefinition="Who the request orchestration is about", formalDefinition="The subject for which the request orchestration was created." ) 4147 protected Reference subject; 4148 4149 /** 4150 * Describes the context of the request orchestration, if any. 4151 */ 4152 @Child(name = "encounter", type = {Encounter.class}, order=11, min=0, max=1, modifier=false, summary=false) 4153 @Description(shortDefinition="Created as part of", formalDefinition="Describes the context of the request orchestration, if any." ) 4154 protected Reference encounter; 4155 4156 /** 4157 * Indicates when the request orchestration was created. 4158 */ 4159 @Child(name = "authoredOn", type = {DateTimeType.class}, order=12, min=0, max=1, modifier=false, summary=false) 4160 @Description(shortDefinition="When the request orchestration was authored", formalDefinition="Indicates when the request orchestration was created." ) 4161 protected DateTimeType authoredOn; 4162 4163 /** 4164 * Provides a reference to the author of the request orchestration. 4165 */ 4166 @Child(name = "author", type = {Device.class, Practitioner.class, PractitionerRole.class}, order=13, min=0, max=1, modifier=false, summary=false) 4167 @Description(shortDefinition="Device or practitioner that authored the request orchestration", formalDefinition="Provides a reference to the author of the request orchestration." ) 4168 protected Reference author; 4169 4170 /** 4171 * Describes the reason for the request orchestration in coded or textual form. 4172 */ 4173 @Child(name = "reason", type = {CodeableReference.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4174 @Description(shortDefinition="Why the request orchestration is needed", formalDefinition="Describes the reason for the request orchestration in coded or textual form." ) 4175 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-reason-code") 4176 protected List<CodeableReference> reason; 4177 4178 /** 4179 * Goals that are intended to be achieved by following the requests in this RequestOrchestration. 4180 */ 4181 @Child(name = "goal", type = {Goal.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4182 @Description(shortDefinition="What goals", formalDefinition="Goals that are intended to be achieved by following the requests in this RequestOrchestration." ) 4183 protected List<Reference> goal; 4184 4185 /** 4186 * Provides a mechanism to communicate additional information about the response. 4187 */ 4188 @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4189 @Description(shortDefinition="Additional notes about the response", formalDefinition="Provides a mechanism to communicate additional information about the response." ) 4190 protected List<Annotation> note; 4191 4192 /** 4193 * The actions, if any, produced by the evaluation of the artifact. 4194 */ 4195 @Child(name = "action", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4196 @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) 4197 protected List<RequestOrchestrationActionComponent> action; 4198 4199 private static final long serialVersionUID = -683989911L; 4200 4201 /** 4202 * Constructor 4203 */ 4204 public RequestOrchestration() { 4205 super(); 4206 } 4207 4208 /** 4209 * Constructor 4210 */ 4211 public RequestOrchestration(RequestStatus status, RequestIntent intent) { 4212 super(); 4213 this.setStatus(status); 4214 this.setIntent(intent); 4215 } 4216 4217 /** 4218 * @return {@link #identifier} (Allows a service to provide a unique, business identifier for the request.) 4219 */ 4220 public List<Identifier> getIdentifier() { 4221 if (this.identifier == null) 4222 this.identifier = new ArrayList<Identifier>(); 4223 return this.identifier; 4224 } 4225 4226 /** 4227 * @return Returns a reference to <code>this</code> for easy method chaining 4228 */ 4229 public RequestOrchestration setIdentifier(List<Identifier> theIdentifier) { 4230 this.identifier = theIdentifier; 4231 return this; 4232 } 4233 4234 public boolean hasIdentifier() { 4235 if (this.identifier == null) 4236 return false; 4237 for (Identifier item : this.identifier) 4238 if (!item.isEmpty()) 4239 return true; 4240 return false; 4241 } 4242 4243 public Identifier addIdentifier() { //3 4244 Identifier t = new Identifier(); 4245 if (this.identifier == null) 4246 this.identifier = new ArrayList<Identifier>(); 4247 this.identifier.add(t); 4248 return t; 4249 } 4250 4251 public RequestOrchestration addIdentifier(Identifier t) { //3 4252 if (t == null) 4253 return this; 4254 if (this.identifier == null) 4255 this.identifier = new ArrayList<Identifier>(); 4256 this.identifier.add(t); 4257 return this; 4258 } 4259 4260 /** 4261 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 4262 */ 4263 public Identifier getIdentifierFirstRep() { 4264 if (getIdentifier().isEmpty()) { 4265 addIdentifier(); 4266 } 4267 return getIdentifier().get(0); 4268 } 4269 4270 /** 4271 * @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.) 4272 */ 4273 public List<CanonicalType> getInstantiatesCanonical() { 4274 if (this.instantiatesCanonical == null) 4275 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4276 return this.instantiatesCanonical; 4277 } 4278 4279 /** 4280 * @return Returns a reference to <code>this</code> for easy method chaining 4281 */ 4282 public RequestOrchestration setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 4283 this.instantiatesCanonical = theInstantiatesCanonical; 4284 return this; 4285 } 4286 4287 public boolean hasInstantiatesCanonical() { 4288 if (this.instantiatesCanonical == null) 4289 return false; 4290 for (CanonicalType item : this.instantiatesCanonical) 4291 if (!item.isEmpty()) 4292 return true; 4293 return false; 4294 } 4295 4296 /** 4297 * @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.) 4298 */ 4299 public CanonicalType addInstantiatesCanonicalElement() {//2 4300 CanonicalType t = new CanonicalType(); 4301 if (this.instantiatesCanonical == null) 4302 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4303 this.instantiatesCanonical.add(t); 4304 return t; 4305 } 4306 4307 /** 4308 * @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.) 4309 */ 4310 public RequestOrchestration addInstantiatesCanonical(String value) { //1 4311 CanonicalType t = new CanonicalType(); 4312 t.setValue(value); 4313 if (this.instantiatesCanonical == null) 4314 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4315 this.instantiatesCanonical.add(t); 4316 return this; 4317 } 4318 4319 /** 4320 * @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.) 4321 */ 4322 public boolean hasInstantiatesCanonical(String value) { 4323 if (this.instantiatesCanonical == null) 4324 return false; 4325 for (CanonicalType v : this.instantiatesCanonical) 4326 if (v.getValue().equals(value)) // canonical 4327 return true; 4328 return false; 4329 } 4330 4331 /** 4332 * @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.) 4333 */ 4334 public List<UriType> getInstantiatesUri() { 4335 if (this.instantiatesUri == null) 4336 this.instantiatesUri = new ArrayList<UriType>(); 4337 return this.instantiatesUri; 4338 } 4339 4340 /** 4341 * @return Returns a reference to <code>this</code> for easy method chaining 4342 */ 4343 public RequestOrchestration setInstantiatesUri(List<UriType> theInstantiatesUri) { 4344 this.instantiatesUri = theInstantiatesUri; 4345 return this; 4346 } 4347 4348 public boolean hasInstantiatesUri() { 4349 if (this.instantiatesUri == null) 4350 return false; 4351 for (UriType item : this.instantiatesUri) 4352 if (!item.isEmpty()) 4353 return true; 4354 return false; 4355 } 4356 4357 /** 4358 * @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.) 4359 */ 4360 public UriType addInstantiatesUriElement() {//2 4361 UriType t = new UriType(); 4362 if (this.instantiatesUri == null) 4363 this.instantiatesUri = new ArrayList<UriType>(); 4364 this.instantiatesUri.add(t); 4365 return t; 4366 } 4367 4368 /** 4369 * @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.) 4370 */ 4371 public RequestOrchestration addInstantiatesUri(String value) { //1 4372 UriType t = new UriType(); 4373 t.setValue(value); 4374 if (this.instantiatesUri == null) 4375 this.instantiatesUri = new ArrayList<UriType>(); 4376 this.instantiatesUri.add(t); 4377 return this; 4378 } 4379 4380 /** 4381 * @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.) 4382 */ 4383 public boolean hasInstantiatesUri(String value) { 4384 if (this.instantiatesUri == null) 4385 return false; 4386 for (UriType v : this.instantiatesUri) 4387 if (v.getValue().equals(value)) // uri 4388 return true; 4389 return false; 4390 } 4391 4392 /** 4393 * @return {@link #basedOn} (A plan, proposal or order that is fulfilled in whole or in part by this request.) 4394 */ 4395 public List<Reference> getBasedOn() { 4396 if (this.basedOn == null) 4397 this.basedOn = new ArrayList<Reference>(); 4398 return this.basedOn; 4399 } 4400 4401 /** 4402 * @return Returns a reference to <code>this</code> for easy method chaining 4403 */ 4404 public RequestOrchestration setBasedOn(List<Reference> theBasedOn) { 4405 this.basedOn = theBasedOn; 4406 return this; 4407 } 4408 4409 public boolean hasBasedOn() { 4410 if (this.basedOn == null) 4411 return false; 4412 for (Reference item : this.basedOn) 4413 if (!item.isEmpty()) 4414 return true; 4415 return false; 4416 } 4417 4418 public Reference addBasedOn() { //3 4419 Reference t = new Reference(); 4420 if (this.basedOn == null) 4421 this.basedOn = new ArrayList<Reference>(); 4422 this.basedOn.add(t); 4423 return t; 4424 } 4425 4426 public RequestOrchestration addBasedOn(Reference t) { //3 4427 if (t == null) 4428 return this; 4429 if (this.basedOn == null) 4430 this.basedOn = new ArrayList<Reference>(); 4431 this.basedOn.add(t); 4432 return this; 4433 } 4434 4435 /** 4436 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 4437 */ 4438 public Reference getBasedOnFirstRep() { 4439 if (getBasedOn().isEmpty()) { 4440 addBasedOn(); 4441 } 4442 return getBasedOn().get(0); 4443 } 4444 4445 /** 4446 * @return {@link #replaces} (Completed or terminated request(s) whose function is taken by this new request.) 4447 */ 4448 public List<Reference> getReplaces() { 4449 if (this.replaces == null) 4450 this.replaces = new ArrayList<Reference>(); 4451 return this.replaces; 4452 } 4453 4454 /** 4455 * @return Returns a reference to <code>this</code> for easy method chaining 4456 */ 4457 public RequestOrchestration setReplaces(List<Reference> theReplaces) { 4458 this.replaces = theReplaces; 4459 return this; 4460 } 4461 4462 public boolean hasReplaces() { 4463 if (this.replaces == null) 4464 return false; 4465 for (Reference item : this.replaces) 4466 if (!item.isEmpty()) 4467 return true; 4468 return false; 4469 } 4470 4471 public Reference addReplaces() { //3 4472 Reference t = new Reference(); 4473 if (this.replaces == null) 4474 this.replaces = new ArrayList<Reference>(); 4475 this.replaces.add(t); 4476 return t; 4477 } 4478 4479 public RequestOrchestration addReplaces(Reference t) { //3 4480 if (t == null) 4481 return this; 4482 if (this.replaces == null) 4483 this.replaces = new ArrayList<Reference>(); 4484 this.replaces.add(t); 4485 return this; 4486 } 4487 4488 /** 4489 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist {3} 4490 */ 4491 public Reference getReplacesFirstRep() { 4492 if (getReplaces().isEmpty()) { 4493 addReplaces(); 4494 } 4495 return getReplaces().get(0); 4496 } 4497 4498 /** 4499 * @return {@link #groupIdentifier} (A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.) 4500 */ 4501 public Identifier getGroupIdentifier() { 4502 if (this.groupIdentifier == null) 4503 if (Configuration.errorOnAutoCreate()) 4504 throw new Error("Attempt to auto-create RequestOrchestration.groupIdentifier"); 4505 else if (Configuration.doAutoCreate()) 4506 this.groupIdentifier = new Identifier(); // cc 4507 return this.groupIdentifier; 4508 } 4509 4510 public boolean hasGroupIdentifier() { 4511 return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); 4512 } 4513 4514 /** 4515 * @param value {@link #groupIdentifier} (A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.) 4516 */ 4517 public RequestOrchestration setGroupIdentifier(Identifier value) { 4518 this.groupIdentifier = value; 4519 return this; 4520 } 4521 4522 /** 4523 * @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 4524 */ 4525 public Enumeration<RequestStatus> getStatusElement() { 4526 if (this.status == null) 4527 if (Configuration.errorOnAutoCreate()) 4528 throw new Error("Attempt to auto-create RequestOrchestration.status"); 4529 else if (Configuration.doAutoCreate()) 4530 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 4531 return this.status; 4532 } 4533 4534 public boolean hasStatusElement() { 4535 return this.status != null && !this.status.isEmpty(); 4536 } 4537 4538 public boolean hasStatus() { 4539 return this.status != null && !this.status.isEmpty(); 4540 } 4541 4542 /** 4543 * @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 4544 */ 4545 public RequestOrchestration setStatusElement(Enumeration<RequestStatus> value) { 4546 this.status = value; 4547 return this; 4548 } 4549 4550 /** 4551 * @return The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. 4552 */ 4553 public RequestStatus getStatus() { 4554 return this.status == null ? null : this.status.getValue(); 4555 } 4556 4557 /** 4558 * @param value The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. 4559 */ 4560 public RequestOrchestration setStatus(RequestStatus value) { 4561 if (this.status == null) 4562 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 4563 this.status.setValue(value); 4564 return this; 4565 } 4566 4567 /** 4568 * @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 4569 */ 4570 public Enumeration<RequestIntent> getIntentElement() { 4571 if (this.intent == null) 4572 if (Configuration.errorOnAutoCreate()) 4573 throw new Error("Attempt to auto-create RequestOrchestration.intent"); 4574 else if (Configuration.doAutoCreate()) 4575 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 4576 return this.intent; 4577 } 4578 4579 public boolean hasIntentElement() { 4580 return this.intent != null && !this.intent.isEmpty(); 4581 } 4582 4583 public boolean hasIntent() { 4584 return this.intent != null && !this.intent.isEmpty(); 4585 } 4586 4587 /** 4588 * @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 4589 */ 4590 public RequestOrchestration setIntentElement(Enumeration<RequestIntent> value) { 4591 this.intent = value; 4592 return this; 4593 } 4594 4595 /** 4596 * @return Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4597 */ 4598 public RequestIntent getIntent() { 4599 return this.intent == null ? null : this.intent.getValue(); 4600 } 4601 4602 /** 4603 * @param value Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4604 */ 4605 public RequestOrchestration setIntent(RequestIntent value) { 4606 if (this.intent == null) 4607 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 4608 this.intent.setValue(value); 4609 return this; 4610 } 4611 4612 /** 4613 * @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 4614 */ 4615 public Enumeration<RequestPriority> getPriorityElement() { 4616 if (this.priority == null) 4617 if (Configuration.errorOnAutoCreate()) 4618 throw new Error("Attempt to auto-create RequestOrchestration.priority"); 4619 else if (Configuration.doAutoCreate()) 4620 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 4621 return this.priority; 4622 } 4623 4624 public boolean hasPriorityElement() { 4625 return this.priority != null && !this.priority.isEmpty(); 4626 } 4627 4628 public boolean hasPriority() { 4629 return this.priority != null && !this.priority.isEmpty(); 4630 } 4631 4632 /** 4633 * @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 4634 */ 4635 public RequestOrchestration setPriorityElement(Enumeration<RequestPriority> value) { 4636 this.priority = value; 4637 return this; 4638 } 4639 4640 /** 4641 * @return Indicates how quickly the request should be addressed with respect to other requests. 4642 */ 4643 public RequestPriority getPriority() { 4644 return this.priority == null ? null : this.priority.getValue(); 4645 } 4646 4647 /** 4648 * @param value Indicates how quickly the request should be addressed with respect to other requests. 4649 */ 4650 public RequestOrchestration setPriority(RequestPriority value) { 4651 if (value == null) 4652 this.priority = null; 4653 else { 4654 if (this.priority == null) 4655 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 4656 this.priority.setValue(value); 4657 } 4658 return this; 4659 } 4660 4661 /** 4662 * @return {@link #code} (A code that identifies what the overall request orchestration is.) 4663 */ 4664 public CodeableConcept getCode() { 4665 if (this.code == null) 4666 if (Configuration.errorOnAutoCreate()) 4667 throw new Error("Attempt to auto-create RequestOrchestration.code"); 4668 else if (Configuration.doAutoCreate()) 4669 this.code = new CodeableConcept(); // cc 4670 return this.code; 4671 } 4672 4673 public boolean hasCode() { 4674 return this.code != null && !this.code.isEmpty(); 4675 } 4676 4677 /** 4678 * @param value {@link #code} (A code that identifies what the overall request orchestration is.) 4679 */ 4680 public RequestOrchestration setCode(CodeableConcept value) { 4681 this.code = value; 4682 return this; 4683 } 4684 4685 /** 4686 * @return {@link #subject} (The subject for which the request orchestration was created.) 4687 */ 4688 public Reference getSubject() { 4689 if (this.subject == null) 4690 if (Configuration.errorOnAutoCreate()) 4691 throw new Error("Attempt to auto-create RequestOrchestration.subject"); 4692 else if (Configuration.doAutoCreate()) 4693 this.subject = new Reference(); // cc 4694 return this.subject; 4695 } 4696 4697 public boolean hasSubject() { 4698 return this.subject != null && !this.subject.isEmpty(); 4699 } 4700 4701 /** 4702 * @param value {@link #subject} (The subject for which the request orchestration was created.) 4703 */ 4704 public RequestOrchestration setSubject(Reference value) { 4705 this.subject = value; 4706 return this; 4707 } 4708 4709 /** 4710 * @return {@link #encounter} (Describes the context of the request orchestration, if any.) 4711 */ 4712 public Reference getEncounter() { 4713 if (this.encounter == null) 4714 if (Configuration.errorOnAutoCreate()) 4715 throw new Error("Attempt to auto-create RequestOrchestration.encounter"); 4716 else if (Configuration.doAutoCreate()) 4717 this.encounter = new Reference(); // cc 4718 return this.encounter; 4719 } 4720 4721 public boolean hasEncounter() { 4722 return this.encounter != null && !this.encounter.isEmpty(); 4723 } 4724 4725 /** 4726 * @param value {@link #encounter} (Describes the context of the request orchestration, if any.) 4727 */ 4728 public RequestOrchestration setEncounter(Reference value) { 4729 this.encounter = value; 4730 return this; 4731 } 4732 4733 /** 4734 * @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 4735 */ 4736 public DateTimeType getAuthoredOnElement() { 4737 if (this.authoredOn == null) 4738 if (Configuration.errorOnAutoCreate()) 4739 throw new Error("Attempt to auto-create RequestOrchestration.authoredOn"); 4740 else if (Configuration.doAutoCreate()) 4741 this.authoredOn = new DateTimeType(); // bb 4742 return this.authoredOn; 4743 } 4744 4745 public boolean hasAuthoredOnElement() { 4746 return this.authoredOn != null && !this.authoredOn.isEmpty(); 4747 } 4748 4749 public boolean hasAuthoredOn() { 4750 return this.authoredOn != null && !this.authoredOn.isEmpty(); 4751 } 4752 4753 /** 4754 * @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 4755 */ 4756 public RequestOrchestration setAuthoredOnElement(DateTimeType value) { 4757 this.authoredOn = value; 4758 return this; 4759 } 4760 4761 /** 4762 * @return Indicates when the request orchestration was created. 4763 */ 4764 public Date getAuthoredOn() { 4765 return this.authoredOn == null ? null : this.authoredOn.getValue(); 4766 } 4767 4768 /** 4769 * @param value Indicates when the request orchestration was created. 4770 */ 4771 public RequestOrchestration setAuthoredOn(Date value) { 4772 if (value == null) 4773 this.authoredOn = null; 4774 else { 4775 if (this.authoredOn == null) 4776 this.authoredOn = new DateTimeType(); 4777 this.authoredOn.setValue(value); 4778 } 4779 return this; 4780 } 4781 4782 /** 4783 * @return {@link #author} (Provides a reference to the author of the request orchestration.) 4784 */ 4785 public Reference getAuthor() { 4786 if (this.author == null) 4787 if (Configuration.errorOnAutoCreate()) 4788 throw new Error("Attempt to auto-create RequestOrchestration.author"); 4789 else if (Configuration.doAutoCreate()) 4790 this.author = new Reference(); // cc 4791 return this.author; 4792 } 4793 4794 public boolean hasAuthor() { 4795 return this.author != null && !this.author.isEmpty(); 4796 } 4797 4798 /** 4799 * @param value {@link #author} (Provides a reference to the author of the request orchestration.) 4800 */ 4801 public RequestOrchestration setAuthor(Reference value) { 4802 this.author = value; 4803 return this; 4804 } 4805 4806 /** 4807 * @return {@link #reason} (Describes the reason for the request orchestration in coded or textual form.) 4808 */ 4809 public List<CodeableReference> getReason() { 4810 if (this.reason == null) 4811 this.reason = new ArrayList<CodeableReference>(); 4812 return this.reason; 4813 } 4814 4815 /** 4816 * @return Returns a reference to <code>this</code> for easy method chaining 4817 */ 4818 public RequestOrchestration setReason(List<CodeableReference> theReason) { 4819 this.reason = theReason; 4820 return this; 4821 } 4822 4823 public boolean hasReason() { 4824 if (this.reason == null) 4825 return false; 4826 for (CodeableReference item : this.reason) 4827 if (!item.isEmpty()) 4828 return true; 4829 return false; 4830 } 4831 4832 public CodeableReference addReason() { //3 4833 CodeableReference t = new CodeableReference(); 4834 if (this.reason == null) 4835 this.reason = new ArrayList<CodeableReference>(); 4836 this.reason.add(t); 4837 return t; 4838 } 4839 4840 public RequestOrchestration addReason(CodeableReference t) { //3 4841 if (t == null) 4842 return this; 4843 if (this.reason == null) 4844 this.reason = new ArrayList<CodeableReference>(); 4845 this.reason.add(t); 4846 return this; 4847 } 4848 4849 /** 4850 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 4851 */ 4852 public CodeableReference getReasonFirstRep() { 4853 if (getReason().isEmpty()) { 4854 addReason(); 4855 } 4856 return getReason().get(0); 4857 } 4858 4859 /** 4860 * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this RequestOrchestration.) 4861 */ 4862 public List<Reference> getGoal() { 4863 if (this.goal == null) 4864 this.goal = new ArrayList<Reference>(); 4865 return this.goal; 4866 } 4867 4868 /** 4869 * @return Returns a reference to <code>this</code> for easy method chaining 4870 */ 4871 public RequestOrchestration setGoal(List<Reference> theGoal) { 4872 this.goal = theGoal; 4873 return this; 4874 } 4875 4876 public boolean hasGoal() { 4877 if (this.goal == null) 4878 return false; 4879 for (Reference item : this.goal) 4880 if (!item.isEmpty()) 4881 return true; 4882 return false; 4883 } 4884 4885 public Reference addGoal() { //3 4886 Reference t = new Reference(); 4887 if (this.goal == null) 4888 this.goal = new ArrayList<Reference>(); 4889 this.goal.add(t); 4890 return t; 4891 } 4892 4893 public RequestOrchestration addGoal(Reference t) { //3 4894 if (t == null) 4895 return this; 4896 if (this.goal == null) 4897 this.goal = new ArrayList<Reference>(); 4898 this.goal.add(t); 4899 return this; 4900 } 4901 4902 /** 4903 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 4904 */ 4905 public Reference getGoalFirstRep() { 4906 if (getGoal().isEmpty()) { 4907 addGoal(); 4908 } 4909 return getGoal().get(0); 4910 } 4911 4912 /** 4913 * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) 4914 */ 4915 public List<Annotation> getNote() { 4916 if (this.note == null) 4917 this.note = new ArrayList<Annotation>(); 4918 return this.note; 4919 } 4920 4921 /** 4922 * @return Returns a reference to <code>this</code> for easy method chaining 4923 */ 4924 public RequestOrchestration setNote(List<Annotation> theNote) { 4925 this.note = theNote; 4926 return this; 4927 } 4928 4929 public boolean hasNote() { 4930 if (this.note == null) 4931 return false; 4932 for (Annotation item : this.note) 4933 if (!item.isEmpty()) 4934 return true; 4935 return false; 4936 } 4937 4938 public Annotation addNote() { //3 4939 Annotation t = new Annotation(); 4940 if (this.note == null) 4941 this.note = new ArrayList<Annotation>(); 4942 this.note.add(t); 4943 return t; 4944 } 4945 4946 public RequestOrchestration addNote(Annotation t) { //3 4947 if (t == null) 4948 return this; 4949 if (this.note == null) 4950 this.note = new ArrayList<Annotation>(); 4951 this.note.add(t); 4952 return this; 4953 } 4954 4955 /** 4956 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 4957 */ 4958 public Annotation getNoteFirstRep() { 4959 if (getNote().isEmpty()) { 4960 addNote(); 4961 } 4962 return getNote().get(0); 4963 } 4964 4965 /** 4966 * @return {@link #action} (The actions, if any, produced by the evaluation of the artifact.) 4967 */ 4968 public List<RequestOrchestrationActionComponent> getAction() { 4969 if (this.action == null) 4970 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 4971 return this.action; 4972 } 4973 4974 /** 4975 * @return Returns a reference to <code>this</code> for easy method chaining 4976 */ 4977 public RequestOrchestration setAction(List<RequestOrchestrationActionComponent> theAction) { 4978 this.action = theAction; 4979 return this; 4980 } 4981 4982 public boolean hasAction() { 4983 if (this.action == null) 4984 return false; 4985 for (RequestOrchestrationActionComponent item : this.action) 4986 if (!item.isEmpty()) 4987 return true; 4988 return false; 4989 } 4990 4991 public RequestOrchestrationActionComponent addAction() { //3 4992 RequestOrchestrationActionComponent t = new RequestOrchestrationActionComponent(); 4993 if (this.action == null) 4994 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 4995 this.action.add(t); 4996 return t; 4997 } 4998 4999 public RequestOrchestration addAction(RequestOrchestrationActionComponent t) { //3 5000 if (t == null) 5001 return this; 5002 if (this.action == null) 5003 this.action = new ArrayList<RequestOrchestrationActionComponent>(); 5004 this.action.add(t); 5005 return this; 5006 } 5007 5008 /** 5009 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 5010 */ 5011 public RequestOrchestrationActionComponent getActionFirstRep() { 5012 if (getAction().isEmpty()) { 5013 addAction(); 5014 } 5015 return getAction().get(0); 5016 } 5017 5018 protected void listChildren(List<Property> children) { 5019 super.listChildren(children); 5020 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)); 5021 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)); 5022 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)); 5023 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)); 5024 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)); 5025 children.add(new Property("groupIdentifier", "Identifier", "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.", 0, 1, groupIdentifier)); 5026 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)); 5027 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)); 5028 children.add(new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority)); 5029 children.add(new Property("code", "CodeableConcept", "A code that identifies what the overall request orchestration is.", 0, 1, code)); 5030 children.add(new Property("subject", "Reference(Patient|Group)", "The subject for which the request orchestration was created.", 0, 1, subject)); 5031 children.add(new Property("encounter", "Reference(Encounter)", "Describes the context of the request orchestration, if any.", 0, 1, encounter)); 5032 children.add(new Property("authoredOn", "dateTime", "Indicates when the request orchestration was created.", 0, 1, authoredOn)); 5033 children.add(new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request orchestration.", 0, 1, author)); 5034 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)); 5035 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)); 5036 children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); 5037 children.add(new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action)); 5038 } 5039 5040 @Override 5041 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5042 switch (_hash) { 5043 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); 5044 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); 5045 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); 5046 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); 5047 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); 5048 case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.", 0, 1, groupIdentifier); 5049 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); 5050 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); 5051 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority); 5052 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies what the overall request orchestration is.", 0, 1, code); 5053 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The subject for which the request orchestration was created.", 0, 1, subject); 5054 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "Describes the context of the request orchestration, if any.", 0, 1, encounter); 5055 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "Indicates when the request orchestration was created.", 0, 1, authoredOn); 5056 case -1406328437: /*author*/ return new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request orchestration.", 0, 1, author); 5057 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); 5058 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); 5059 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); 5060 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); 5061 default: return super.getNamedProperty(_hash, _name, _checkValid); 5062 } 5063 5064 } 5065 5066 @Override 5067 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5068 switch (hash) { 5069 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 5070 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 5071 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 5072 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 5073 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 5074 case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier 5075 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 5076 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 5077 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 5078 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 5079 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 5080 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 5081 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 5082 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 5083 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 5084 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 5085 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 5086 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestOrchestrationActionComponent 5087 default: return super.getProperty(hash, name, checkValid); 5088 } 5089 5090 } 5091 5092 @Override 5093 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5094 switch (hash) { 5095 case -1618432855: // identifier 5096 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 5097 return value; 5098 case 8911915: // instantiatesCanonical 5099 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 5100 return value; 5101 case -1926393373: // instantiatesUri 5102 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 5103 return value; 5104 case -332612366: // basedOn 5105 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 5106 return value; 5107 case -430332865: // replaces 5108 this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference 5109 return value; 5110 case -445338488: // groupIdentifier 5111 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 5112 return value; 5113 case -892481550: // status 5114 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5115 this.status = (Enumeration) value; // Enumeration<RequestStatus> 5116 return value; 5117 case -1183762788: // intent 5118 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 5119 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 5120 return value; 5121 case -1165461084: // priority 5122 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 5123 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 5124 return value; 5125 case 3059181: // code 5126 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 5127 return value; 5128 case -1867885268: // subject 5129 this.subject = TypeConvertor.castToReference(value); // Reference 5130 return value; 5131 case 1524132147: // encounter 5132 this.encounter = TypeConvertor.castToReference(value); // Reference 5133 return value; 5134 case -1500852503: // authoredOn 5135 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 5136 return value; 5137 case -1406328437: // author 5138 this.author = TypeConvertor.castToReference(value); // Reference 5139 return value; 5140 case -934964668: // reason 5141 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 5142 return value; 5143 case 3178259: // goal 5144 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 5145 return value; 5146 case 3387378: // note 5147 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 5148 return value; 5149 case -1422950858: // action 5150 this.getAction().add((RequestOrchestrationActionComponent) value); // RequestOrchestrationActionComponent 5151 return value; 5152 default: return super.setProperty(hash, name, value); 5153 } 5154 5155 } 5156 5157 @Override 5158 public Base setProperty(String name, Base value) throws FHIRException { 5159 if (name.equals("identifier")) { 5160 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 5161 } else if (name.equals("instantiatesCanonical")) { 5162 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 5163 } else if (name.equals("instantiatesUri")) { 5164 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 5165 } else if (name.equals("basedOn")) { 5166 this.getBasedOn().add(TypeConvertor.castToReference(value)); 5167 } else if (name.equals("replaces")) { 5168 this.getReplaces().add(TypeConvertor.castToReference(value)); 5169 } else if (name.equals("groupIdentifier")) { 5170 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 5171 } else if (name.equals("status")) { 5172 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5173 this.status = (Enumeration) value; // Enumeration<RequestStatus> 5174 } else if (name.equals("intent")) { 5175 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 5176 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 5177 } else if (name.equals("priority")) { 5178 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 5179 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 5180 } else if (name.equals("code")) { 5181 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 5182 } else if (name.equals("subject")) { 5183 this.subject = TypeConvertor.castToReference(value); // Reference 5184 } else if (name.equals("encounter")) { 5185 this.encounter = TypeConvertor.castToReference(value); // Reference 5186 } else if (name.equals("authoredOn")) { 5187 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 5188 } else if (name.equals("author")) { 5189 this.author = TypeConvertor.castToReference(value); // Reference 5190 } else if (name.equals("reason")) { 5191 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 5192 } else if (name.equals("goal")) { 5193 this.getGoal().add(TypeConvertor.castToReference(value)); 5194 } else if (name.equals("note")) { 5195 this.getNote().add(TypeConvertor.castToAnnotation(value)); 5196 } else if (name.equals("action")) { 5197 this.getAction().add((RequestOrchestrationActionComponent) value); 5198 } else 5199 return super.setProperty(name, value); 5200 return value; 5201 } 5202 5203 @Override 5204 public Base makeProperty(int hash, String name) throws FHIRException { 5205 switch (hash) { 5206 case -1618432855: return addIdentifier(); 5207 case 8911915: return addInstantiatesCanonicalElement(); 5208 case -1926393373: return addInstantiatesUriElement(); 5209 case -332612366: return addBasedOn(); 5210 case -430332865: return addReplaces(); 5211 case -445338488: return getGroupIdentifier(); 5212 case -892481550: return getStatusElement(); 5213 case -1183762788: return getIntentElement(); 5214 case -1165461084: return getPriorityElement(); 5215 case 3059181: return getCode(); 5216 case -1867885268: return getSubject(); 5217 case 1524132147: return getEncounter(); 5218 case -1500852503: return getAuthoredOnElement(); 5219 case -1406328437: return getAuthor(); 5220 case -934964668: return addReason(); 5221 case 3178259: return addGoal(); 5222 case 3387378: return addNote(); 5223 case -1422950858: return addAction(); 5224 default: return super.makeProperty(hash, name); 5225 } 5226 5227 } 5228 5229 @Override 5230 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5231 switch (hash) { 5232 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 5233 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 5234 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 5235 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 5236 case -430332865: /*replaces*/ return new String[] {"Reference"}; 5237 case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; 5238 case -892481550: /*status*/ return new String[] {"code"}; 5239 case -1183762788: /*intent*/ return new String[] {"code"}; 5240 case -1165461084: /*priority*/ return new String[] {"code"}; 5241 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 5242 case -1867885268: /*subject*/ return new String[] {"Reference"}; 5243 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 5244 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 5245 case -1406328437: /*author*/ return new String[] {"Reference"}; 5246 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 5247 case 3178259: /*goal*/ return new String[] {"Reference"}; 5248 case 3387378: /*note*/ return new String[] {"Annotation"}; 5249 case -1422950858: /*action*/ return new String[] {}; 5250 default: return super.getTypesForProperty(hash, name); 5251 } 5252 5253 } 5254 5255 @Override 5256 public Base addChild(String name) throws FHIRException { 5257 if (name.equals("identifier")) { 5258 return addIdentifier(); 5259 } 5260 else if (name.equals("instantiatesCanonical")) { 5261 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.instantiatesCanonical"); 5262 } 5263 else if (name.equals("instantiatesUri")) { 5264 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.instantiatesUri"); 5265 } 5266 else if (name.equals("basedOn")) { 5267 return addBasedOn(); 5268 } 5269 else if (name.equals("replaces")) { 5270 return addReplaces(); 5271 } 5272 else if (name.equals("groupIdentifier")) { 5273 this.groupIdentifier = new Identifier(); 5274 return this.groupIdentifier; 5275 } 5276 else if (name.equals("status")) { 5277 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.status"); 5278 } 5279 else if (name.equals("intent")) { 5280 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.intent"); 5281 } 5282 else if (name.equals("priority")) { 5283 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.priority"); 5284 } 5285 else if (name.equals("code")) { 5286 this.code = new CodeableConcept(); 5287 return this.code; 5288 } 5289 else if (name.equals("subject")) { 5290 this.subject = new Reference(); 5291 return this.subject; 5292 } 5293 else if (name.equals("encounter")) { 5294 this.encounter = new Reference(); 5295 return this.encounter; 5296 } 5297 else if (name.equals("authoredOn")) { 5298 throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.authoredOn"); 5299 } 5300 else if (name.equals("author")) { 5301 this.author = new Reference(); 5302 return this.author; 5303 } 5304 else if (name.equals("reason")) { 5305 return addReason(); 5306 } 5307 else if (name.equals("goal")) { 5308 return addGoal(); 5309 } 5310 else if (name.equals("note")) { 5311 return addNote(); 5312 } 5313 else if (name.equals("action")) { 5314 return addAction(); 5315 } 5316 else 5317 return super.addChild(name); 5318 } 5319 5320 public String fhirType() { 5321 return "RequestOrchestration"; 5322 5323 } 5324 5325 public RequestOrchestration copy() { 5326 RequestOrchestration dst = new RequestOrchestration(); 5327 copyValues(dst); 5328 return dst; 5329 } 5330 5331 public void copyValues(RequestOrchestration dst) { 5332 super.copyValues(dst); 5333 if (identifier != null) { 5334 dst.identifier = new ArrayList<Identifier>(); 5335 for (Identifier i : identifier) 5336 dst.identifier.add(i.copy()); 5337 }; 5338 if (instantiatesCanonical != null) { 5339 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 5340 for (CanonicalType i : instantiatesCanonical) 5341 dst.instantiatesCanonical.add(i.copy()); 5342 }; 5343 if (instantiatesUri != null) { 5344 dst.instantiatesUri = new ArrayList<UriType>(); 5345 for (UriType i : instantiatesUri) 5346 dst.instantiatesUri.add(i.copy()); 5347 }; 5348 if (basedOn != null) { 5349 dst.basedOn = new ArrayList<Reference>(); 5350 for (Reference i : basedOn) 5351 dst.basedOn.add(i.copy()); 5352 }; 5353 if (replaces != null) { 5354 dst.replaces = new ArrayList<Reference>(); 5355 for (Reference i : replaces) 5356 dst.replaces.add(i.copy()); 5357 }; 5358 dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); 5359 dst.status = status == null ? null : status.copy(); 5360 dst.intent = intent == null ? null : intent.copy(); 5361 dst.priority = priority == null ? null : priority.copy(); 5362 dst.code = code == null ? null : code.copy(); 5363 dst.subject = subject == null ? null : subject.copy(); 5364 dst.encounter = encounter == null ? null : encounter.copy(); 5365 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 5366 dst.author = author == null ? null : author.copy(); 5367 if (reason != null) { 5368 dst.reason = new ArrayList<CodeableReference>(); 5369 for (CodeableReference i : reason) 5370 dst.reason.add(i.copy()); 5371 }; 5372 if (goal != null) { 5373 dst.goal = new ArrayList<Reference>(); 5374 for (Reference i : goal) 5375 dst.goal.add(i.copy()); 5376 }; 5377 if (note != null) { 5378 dst.note = new ArrayList<Annotation>(); 5379 for (Annotation i : note) 5380 dst.note.add(i.copy()); 5381 }; 5382 if (action != null) { 5383 dst.action = new ArrayList<RequestOrchestrationActionComponent>(); 5384 for (RequestOrchestrationActionComponent i : action) 5385 dst.action.add(i.copy()); 5386 }; 5387 } 5388 5389 protected RequestOrchestration typedCopy() { 5390 return copy(); 5391 } 5392 5393 @Override 5394 public boolean equalsDeep(Base other_) { 5395 if (!super.equalsDeep(other_)) 5396 return false; 5397 if (!(other_ instanceof RequestOrchestration)) 5398 return false; 5399 RequestOrchestration o = (RequestOrchestration) other_; 5400 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 5401 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 5402 && compareDeep(replaces, o.replaces, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) 5403 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 5404 && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) 5405 && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(author, o.author, true) && compareDeep(reason, o.reason, true) 5406 && compareDeep(goal, o.goal, true) && compareDeep(note, o.note, true) && compareDeep(action, o.action, true) 5407 ; 5408 } 5409 5410 @Override 5411 public boolean equalsShallow(Base other_) { 5412 if (!super.equalsShallow(other_)) 5413 return false; 5414 if (!(other_ instanceof RequestOrchestration)) 5415 return false; 5416 RequestOrchestration o = (RequestOrchestration) other_; 5417 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 5418 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 5419 && compareValues(authoredOn, o.authoredOn, true); 5420 } 5421 5422 public boolean isEmpty() { 5423 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 5424 , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority 5425 , code, subject, encounter, authoredOn, author, reason, goal, note, action 5426 ); 5427 } 5428 5429 @Override 5430 public ResourceType getResourceType() { 5431 return ResourceType.RequestOrchestration; 5432 } 5433 5434 /** 5435 * Search parameter: <b>author</b> 5436 * <p> 5437 * Description: <b>The author of the request orchestration</b><br> 5438 * Type: <b>reference</b><br> 5439 * Path: <b>RequestOrchestration.author</b><br> 5440 * </p> 5441 */ 5442 @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 } ) 5443 public static final String SP_AUTHOR = "author"; 5444 /** 5445 * <b>Fluent Client</b> search parameter constant for <b>author</b> 5446 * <p> 5447 * Description: <b>The author of the request orchestration</b><br> 5448 * Type: <b>reference</b><br> 5449 * Path: <b>RequestOrchestration.author</b><br> 5450 * </p> 5451 */ 5452 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 5453 5454/** 5455 * Constant for fluent queries to be used to add include statements. Specifies 5456 * the path value of "<b>RequestOrchestration:author</b>". 5457 */ 5458 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("RequestOrchestration:author").toLocked(); 5459 5460 /** 5461 * Search parameter: <b>authored</b> 5462 * <p> 5463 * Description: <b>The date the request orchestration was authored</b><br> 5464 * Type: <b>date</b><br> 5465 * Path: <b>RequestOrchestration.authoredOn</b><br> 5466 * </p> 5467 */ 5468 @SearchParamDefinition(name="authored", path="RequestOrchestration.authoredOn", description="The date the request orchestration was authored", type="date" ) 5469 public static final String SP_AUTHORED = "authored"; 5470 /** 5471 * <b>Fluent Client</b> search parameter constant for <b>authored</b> 5472 * <p> 5473 * Description: <b>The date the request orchestration was authored</b><br> 5474 * Type: <b>date</b><br> 5475 * Path: <b>RequestOrchestration.authoredOn</b><br> 5476 * </p> 5477 */ 5478 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); 5479 5480 /** 5481 * Search parameter: <b>code</b> 5482 * <p> 5483 * Description: <b>The code of the request orchestration</b><br> 5484 * Type: <b>token</b><br> 5485 * Path: <b>RequestOrchestration.code</b><br> 5486 * </p> 5487 */ 5488 @SearchParamDefinition(name="code", path="RequestOrchestration.code", description="The code of the request orchestration", type="token" ) 5489 public static final String SP_CODE = "code"; 5490 /** 5491 * <b>Fluent Client</b> search parameter constant for <b>code</b> 5492 * <p> 5493 * Description: <b>The code of the request orchestration</b><br> 5494 * Type: <b>token</b><br> 5495 * Path: <b>RequestOrchestration.code</b><br> 5496 * </p> 5497 */ 5498 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 5499 5500 /** 5501 * Search parameter: <b>encounter</b> 5502 * <p> 5503 * Description: <b>The encounter the request orchestration applies to</b><br> 5504 * Type: <b>reference</b><br> 5505 * Path: <b>RequestOrchestration.encounter</b><br> 5506 * </p> 5507 */ 5508 @SearchParamDefinition(name="encounter", path="RequestOrchestration.encounter", description="The encounter the request orchestration applies to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 5509 public static final String SP_ENCOUNTER = "encounter"; 5510 /** 5511 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 5512 * <p> 5513 * Description: <b>The encounter the request orchestration applies to</b><br> 5514 * Type: <b>reference</b><br> 5515 * Path: <b>RequestOrchestration.encounter</b><br> 5516 * </p> 5517 */ 5518 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 5519 5520/** 5521 * Constant for fluent queries to be used to add include statements. Specifies 5522 * the path value of "<b>RequestOrchestration:encounter</b>". 5523 */ 5524 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RequestOrchestration:encounter").toLocked(); 5525 5526 /** 5527 * Search parameter: <b>group-identifier</b> 5528 * <p> 5529 * Description: <b>The group identifier for the request orchestration</b><br> 5530 * Type: <b>token</b><br> 5531 * Path: <b>RequestOrchestration.groupIdentifier</b><br> 5532 * </p> 5533 */ 5534 @SearchParamDefinition(name="group-identifier", path="RequestOrchestration.groupIdentifier", description="The group identifier for the request orchestration", type="token" ) 5535 public static final String SP_GROUP_IDENTIFIER = "group-identifier"; 5536 /** 5537 * <b>Fluent Client</b> search parameter constant for <b>group-identifier</b> 5538 * <p> 5539 * Description: <b>The group identifier for the request orchestration</b><br> 5540 * Type: <b>token</b><br> 5541 * Path: <b>RequestOrchestration.groupIdentifier</b><br> 5542 * </p> 5543 */ 5544 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); 5545 5546 /** 5547 * Search parameter: <b>identifier</b> 5548 * <p> 5549 * Description: <b>External identifiers for the request orchestration</b><br> 5550 * Type: <b>token</b><br> 5551 * Path: <b>RequestOrchestration.identifier</b><br> 5552 * </p> 5553 */ 5554 @SearchParamDefinition(name="identifier", path="RequestOrchestration.identifier", description="External identifiers for the request orchestration", type="token" ) 5555 public static final String SP_IDENTIFIER = "identifier"; 5556 /** 5557 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5558 * <p> 5559 * Description: <b>External identifiers for the request orchestration</b><br> 5560 * Type: <b>token</b><br> 5561 * Path: <b>RequestOrchestration.identifier</b><br> 5562 * </p> 5563 */ 5564 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 5565 5566 /** 5567 * Search parameter: <b>instantiates-canonical</b> 5568 * <p> 5569 * Description: <b>The FHIR-based definition from which the request orchestration is realized</b><br> 5570 * Type: <b>reference</b><br> 5571 * Path: <b>RequestOrchestration.instantiatesCanonical</b><br> 5572 * </p> 5573 */ 5574 @SearchParamDefinition(name="instantiates-canonical", path="RequestOrchestration.instantiatesCanonical", description="The FHIR-based definition from which the request orchestration is realized", type="reference" ) 5575 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 5576 /** 5577 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 5578 * <p> 5579 * Description: <b>The FHIR-based definition from which the request orchestration is realized</b><br> 5580 * Type: <b>reference</b><br> 5581 * Path: <b>RequestOrchestration.instantiatesCanonical</b><br> 5582 * </p> 5583 */ 5584 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 5585 5586/** 5587 * Constant for fluent queries to be used to add include statements. Specifies 5588 * the path value of "<b>RequestOrchestration:instantiates-canonical</b>". 5589 */ 5590 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("RequestOrchestration:instantiates-canonical").toLocked(); 5591 5592 /** 5593 * Search parameter: <b>instantiates-uri</b> 5594 * <p> 5595 * Description: <b>The external definition from which the request orchestration is realized</b><br> 5596 * Type: <b>uri</b><br> 5597 * Path: <b>RequestOrchestration.instantiatesUri</b><br> 5598 * </p> 5599 */ 5600 @SearchParamDefinition(name="instantiates-uri", path="RequestOrchestration.instantiatesUri", description="The external definition from which the request orchestration is realized", type="uri" ) 5601 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 5602 /** 5603 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 5604 * <p> 5605 * Description: <b>The external definition from which the request orchestration is realized</b><br> 5606 * Type: <b>uri</b><br> 5607 * Path: <b>RequestOrchestration.instantiatesUri</b><br> 5608 * </p> 5609 */ 5610 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 5611 5612 /** 5613 * Search parameter: <b>intent</b> 5614 * <p> 5615 * Description: <b>The intent of the request orchestration</b><br> 5616 * Type: <b>token</b><br> 5617 * Path: <b>RequestOrchestration.intent</b><br> 5618 * </p> 5619 */ 5620 @SearchParamDefinition(name="intent", path="RequestOrchestration.intent", description="The intent of the request orchestration", type="token" ) 5621 public static final String SP_INTENT = "intent"; 5622 /** 5623 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 5624 * <p> 5625 * Description: <b>The intent of the request orchestration</b><br> 5626 * Type: <b>token</b><br> 5627 * Path: <b>RequestOrchestration.intent</b><br> 5628 * </p> 5629 */ 5630 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 5631 5632 /** 5633 * Search parameter: <b>participant</b> 5634 * <p> 5635 * Description: <b>The participant in the requests in the orchestration</b><br> 5636 * Type: <b>reference</b><br> 5637 * Path: <b>RequestOrchestration.action.participant.actor.as(Reference) | RequestOrchestration.action.participant.actor.as(canonical)</b><br> 5638 * </p> 5639 */ 5640 @SearchParamDefinition(name="participant", path="RequestOrchestration.action.participant.actor.as(Reference) | RequestOrchestration.action.participant.actor.as(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 } ) 5641 public static final String SP_PARTICIPANT = "participant"; 5642 /** 5643 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 5644 * <p> 5645 * Description: <b>The participant in the requests in the orchestration</b><br> 5646 * Type: <b>reference</b><br> 5647 * Path: <b>RequestOrchestration.action.participant.actor.as(Reference) | RequestOrchestration.action.participant.actor.as(canonical)</b><br> 5648 * </p> 5649 */ 5650 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); 5651 5652/** 5653 * Constant for fluent queries to be used to add include statements. Specifies 5654 * the path value of "<b>RequestOrchestration:participant</b>". 5655 */ 5656 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:participant").toLocked(); 5657 5658 /** 5659 * Search parameter: <b>patient</b> 5660 * <p> 5661 * Description: <b>The identity of a patient to search for request orchestrations</b><br> 5662 * Type: <b>reference</b><br> 5663 * Path: <b>RequestOrchestration.subject.where(resolve() is Patient)</b><br> 5664 * </p> 5665 */ 5666 @SearchParamDefinition(name="patient", path="RequestOrchestration.subject.where(resolve() is Patient)", description="The identity of a patient to search for request orchestrations", type="reference", target={Patient.class } ) 5667 public static final String SP_PATIENT = "patient"; 5668 /** 5669 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 5670 * <p> 5671 * Description: <b>The identity of a patient to search for request orchestrations</b><br> 5672 * Type: <b>reference</b><br> 5673 * Path: <b>RequestOrchestration.subject.where(resolve() is Patient)</b><br> 5674 * </p> 5675 */ 5676 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 5677 5678/** 5679 * Constant for fluent queries to be used to add include statements. Specifies 5680 * the path value of "<b>RequestOrchestration:patient</b>". 5681 */ 5682 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:patient").toLocked(); 5683 5684 /** 5685 * Search parameter: <b>priority</b> 5686 * <p> 5687 * Description: <b>The priority of the request orchestration</b><br> 5688 * Type: <b>token</b><br> 5689 * Path: <b>RequestOrchestration.priority</b><br> 5690 * </p> 5691 */ 5692 @SearchParamDefinition(name="priority", path="RequestOrchestration.priority", description="The priority of the request orchestration", type="token" ) 5693 public static final String SP_PRIORITY = "priority"; 5694 /** 5695 * <b>Fluent Client</b> search parameter constant for <b>priority</b> 5696 * <p> 5697 * Description: <b>The priority of the request orchestration</b><br> 5698 * Type: <b>token</b><br> 5699 * Path: <b>RequestOrchestration.priority</b><br> 5700 * </p> 5701 */ 5702 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); 5703 5704 /** 5705 * Search parameter: <b>status</b> 5706 * <p> 5707 * Description: <b>The status of the request orchestration</b><br> 5708 * Type: <b>token</b><br> 5709 * Path: <b>RequestOrchestration.status</b><br> 5710 * </p> 5711 */ 5712 @SearchParamDefinition(name="status", path="RequestOrchestration.status", description="The status of the request orchestration", type="token" ) 5713 public static final String SP_STATUS = "status"; 5714 /** 5715 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5716 * <p> 5717 * Description: <b>The status of the request orchestration</b><br> 5718 * Type: <b>token</b><br> 5719 * Path: <b>RequestOrchestration.status</b><br> 5720 * </p> 5721 */ 5722 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5723 5724 /** 5725 * Search parameter: <b>subject</b> 5726 * <p> 5727 * Description: <b>The subject that the request orchestration is about</b><br> 5728 * Type: <b>reference</b><br> 5729 * Path: <b>RequestOrchestration.subject</b><br> 5730 * </p> 5731 */ 5732 @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={Group.class, Patient.class } ) 5733 public static final String SP_SUBJECT = "subject"; 5734 /** 5735 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 5736 * <p> 5737 * Description: <b>The subject that the request orchestration is about</b><br> 5738 * Type: <b>reference</b><br> 5739 * Path: <b>RequestOrchestration.subject</b><br> 5740 * </p> 5741 */ 5742 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 5743 5744/** 5745 * Constant for fluent queries to be used to add include statements. Specifies 5746 * the path value of "<b>RequestOrchestration:subject</b>". 5747 */ 5748 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:subject").toLocked(); 5749 5750 5751} 5752