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 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.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 group 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="RequestGroup", profile="http://hl7.org/fhir/StructureDefinition/RequestGroup") 054public class RequestGroup extends DomainResource { 055 056 @Block() 057 public static class RequestGroupActionComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup 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 RequestGroup 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<RequestGroupActionConditionComponent> condition; 129 130 /** 131 * A relationship to another action such as "before" or "30-60 minutes after start of". 132 */ 133 @Child(name = "relatedAction", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 134 @Description(shortDefinition="Relationship to another action", formalDefinition="A relationship to another action such as \"before\" or \"30-60 minutes after start of\"." ) 135 protected List<RequestGroupActionRelatedActionComponent> relatedAction; 136 137 /** 138 * An optional value describing when the action should be performed. 139 */ 140 @Child(name = "timing", type = {DateTimeType.class, Age.class, Period.class, Duration.class, Range.class, Timing.class}, order=12, min=0, max=1, modifier=false, summary=false) 141 @Description(shortDefinition="When the action should take place", formalDefinition="An optional value describing when the action should be performed." ) 142 protected DataType timing; 143 144 /** 145 * Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc. 146 */ 147 @Child(name = "location", type = {CodeableReference.class}, order=13, min=0, max=1, modifier=false, summary=false) 148 @Description(shortDefinition="Where it should happen", formalDefinition="Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc." ) 149 protected CodeableReference location; 150 151 /** 152 * The participant that should perform or be responsible for this action. 153 */ 154 @Child(name = "participant", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 155 @Description(shortDefinition="Who should perform the action", formalDefinition="The participant that should perform or be responsible for this action." ) 156 protected List<RequestGroupActionParticipantComponent> participant; 157 158 /** 159 * The type of action to perform (create, update, remove). 160 */ 161 @Child(name = "type", type = {CodeableConcept.class}, order=15, min=0, max=1, modifier=false, summary=false) 162 @Description(shortDefinition="create | update | remove | fire-event", formalDefinition="The type of action to perform (create, update, remove)." ) 163 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-type") 164 protected CodeableConcept type; 165 166 /** 167 * Defines the grouping behavior for the action and its children. 168 */ 169 @Child(name = "groupingBehavior", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=false) 170 @Description(shortDefinition="visual-group | logical-group | sentence-group", formalDefinition="Defines the grouping behavior for the action and its children." ) 171 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-grouping-behavior") 172 protected Enumeration<ActionGroupingBehavior> groupingBehavior; 173 174 /** 175 * Defines the selection behavior for the action and its children. 176 */ 177 @Child(name = "selectionBehavior", type = {CodeType.class}, order=17, min=0, max=1, modifier=false, summary=false) 178 @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." ) 179 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-selection-behavior") 180 protected Enumeration<ActionSelectionBehavior> selectionBehavior; 181 182 /** 183 * Defines expectations around whether an action is required. 184 */ 185 @Child(name = "requiredBehavior", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=false) 186 @Description(shortDefinition="must | could | must-unless-documented", formalDefinition="Defines expectations around whether an action is required." ) 187 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-required-behavior") 188 protected Enumeration<ActionRequiredBehavior> requiredBehavior; 189 190 /** 191 * Defines whether the action should usually be preselected. 192 */ 193 @Child(name = "precheckBehavior", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false) 194 @Description(shortDefinition="yes | no", formalDefinition="Defines whether the action should usually be preselected." ) 195 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-precheck-behavior") 196 protected Enumeration<ActionPrecheckBehavior> precheckBehavior; 197 198 /** 199 * Defines whether the action can be selected multiple times. 200 */ 201 @Child(name = "cardinalityBehavior", type = {CodeType.class}, order=20, min=0, max=1, modifier=false, summary=false) 202 @Description(shortDefinition="single | multiple", formalDefinition="Defines whether the action can be selected multiple times." ) 203 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-cardinality-behavior") 204 protected Enumeration<ActionCardinalityBehavior> cardinalityBehavior; 205 206 /** 207 * The resource that is the target of the action (e.g. CommunicationRequest). 208 */ 209 @Child(name = "resource", type = {Reference.class}, order=21, min=0, max=1, modifier=false, summary=false) 210 @Description(shortDefinition="The target of the action", formalDefinition="The resource that is the target of the action (e.g. CommunicationRequest)." ) 211 protected Reference resource; 212 213 /** 214 * Sub actions. 215 */ 216 @Child(name = "action", type = {RequestGroupActionComponent.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 217 @Description(shortDefinition="Sub action", formalDefinition="Sub actions." ) 218 protected List<RequestGroupActionComponent> action; 219 220 private static final long serialVersionUID = 969411112L; 221 222 /** 223 * Constructor 224 */ 225 public RequestGroupActionComponent() { 226 super(); 227 } 228 229 /** 230 * @return {@link #linkId} (The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup resource.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value 231 */ 232 public StringType getLinkIdElement() { 233 if (this.linkId == null) 234 if (Configuration.errorOnAutoCreate()) 235 throw new Error("Attempt to auto-create RequestGroupActionComponent.linkId"); 236 else if (Configuration.doAutoCreate()) 237 this.linkId = new StringType(); // bb 238 return this.linkId; 239 } 240 241 public boolean hasLinkIdElement() { 242 return this.linkId != null && !this.linkId.isEmpty(); 243 } 244 245 public boolean hasLinkId() { 246 return this.linkId != null && !this.linkId.isEmpty(); 247 } 248 249 /** 250 * @param value {@link #linkId} (The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup resource.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value 251 */ 252 public RequestGroupActionComponent setLinkIdElement(StringType value) { 253 this.linkId = value; 254 return this; 255 } 256 257 /** 258 * @return The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup resource. 259 */ 260 public String getLinkId() { 261 return this.linkId == null ? null : this.linkId.getValue(); 262 } 263 264 /** 265 * @param value The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup resource. 266 */ 267 public RequestGroupActionComponent setLinkId(String value) { 268 if (Utilities.noString(value)) 269 this.linkId = null; 270 else { 271 if (this.linkId == null) 272 this.linkId = new StringType(); 273 this.linkId.setValue(value); 274 } 275 return this; 276 } 277 278 /** 279 * @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 280 */ 281 public StringType getPrefixElement() { 282 if (this.prefix == null) 283 if (Configuration.errorOnAutoCreate()) 284 throw new Error("Attempt to auto-create RequestGroupActionComponent.prefix"); 285 else if (Configuration.doAutoCreate()) 286 this.prefix = new StringType(); // bb 287 return this.prefix; 288 } 289 290 public boolean hasPrefixElement() { 291 return this.prefix != null && !this.prefix.isEmpty(); 292 } 293 294 public boolean hasPrefix() { 295 return this.prefix != null && !this.prefix.isEmpty(); 296 } 297 298 /** 299 * @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 300 */ 301 public RequestGroupActionComponent setPrefixElement(StringType value) { 302 this.prefix = value; 303 return this; 304 } 305 306 /** 307 * @return A user-visible prefix for the action. For example a section or item numbering such as 1. or A. 308 */ 309 public String getPrefix() { 310 return this.prefix == null ? null : this.prefix.getValue(); 311 } 312 313 /** 314 * @param value A user-visible prefix for the action. For example a section or item numbering such as 1. or A. 315 */ 316 public RequestGroupActionComponent setPrefix(String value) { 317 if (Utilities.noString(value)) 318 this.prefix = null; 319 else { 320 if (this.prefix == null) 321 this.prefix = new StringType(); 322 this.prefix.setValue(value); 323 } 324 return this; 325 } 326 327 /** 328 * @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 329 */ 330 public StringType getTitleElement() { 331 if (this.title == null) 332 if (Configuration.errorOnAutoCreate()) 333 throw new Error("Attempt to auto-create RequestGroupActionComponent.title"); 334 else if (Configuration.doAutoCreate()) 335 this.title = new StringType(); // bb 336 return this.title; 337 } 338 339 public boolean hasTitleElement() { 340 return this.title != null && !this.title.isEmpty(); 341 } 342 343 public boolean hasTitle() { 344 return this.title != null && !this.title.isEmpty(); 345 } 346 347 /** 348 * @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 349 */ 350 public RequestGroupActionComponent setTitleElement(StringType value) { 351 this.title = value; 352 return this; 353 } 354 355 /** 356 * @return The title of the action displayed to a user. 357 */ 358 public String getTitle() { 359 return this.title == null ? null : this.title.getValue(); 360 } 361 362 /** 363 * @param value The title of the action displayed to a user. 364 */ 365 public RequestGroupActionComponent setTitle(String value) { 366 if (Utilities.noString(value)) 367 this.title = null; 368 else { 369 if (this.title == null) 370 this.title = new StringType(); 371 this.title.setValue(value); 372 } 373 return this; 374 } 375 376 /** 377 * @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 378 */ 379 public StringType getDescriptionElement() { 380 if (this.description == null) 381 if (Configuration.errorOnAutoCreate()) 382 throw new Error("Attempt to auto-create RequestGroupActionComponent.description"); 383 else if (Configuration.doAutoCreate()) 384 this.description = new StringType(); // bb 385 return this.description; 386 } 387 388 public boolean hasDescriptionElement() { 389 return this.description != null && !this.description.isEmpty(); 390 } 391 392 public boolean hasDescription() { 393 return this.description != null && !this.description.isEmpty(); 394 } 395 396 /** 397 * @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 398 */ 399 public RequestGroupActionComponent setDescriptionElement(StringType value) { 400 this.description = value; 401 return this; 402 } 403 404 /** 405 * @return A short description of the action used to provide a summary to display to the user. 406 */ 407 public String getDescription() { 408 return this.description == null ? null : this.description.getValue(); 409 } 410 411 /** 412 * @param value A short description of the action used to provide a summary to display to the user. 413 */ 414 public RequestGroupActionComponent setDescription(String value) { 415 if (Utilities.noString(value)) 416 this.description = null; 417 else { 418 if (this.description == null) 419 this.description = new StringType(); 420 this.description.setValue(value); 421 } 422 return this; 423 } 424 425 /** 426 * @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 427 */ 428 public StringType getTextEquivalentElement() { 429 if (this.textEquivalent == null) 430 if (Configuration.errorOnAutoCreate()) 431 throw new Error("Attempt to auto-create RequestGroupActionComponent.textEquivalent"); 432 else if (Configuration.doAutoCreate()) 433 this.textEquivalent = new StringType(); // bb 434 return this.textEquivalent; 435 } 436 437 public boolean hasTextEquivalentElement() { 438 return this.textEquivalent != null && !this.textEquivalent.isEmpty(); 439 } 440 441 public boolean hasTextEquivalent() { 442 return this.textEquivalent != null && !this.textEquivalent.isEmpty(); 443 } 444 445 /** 446 * @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 447 */ 448 public RequestGroupActionComponent setTextEquivalentElement(StringType value) { 449 this.textEquivalent = value; 450 return this; 451 } 452 453 /** 454 * @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. 455 */ 456 public String getTextEquivalent() { 457 return this.textEquivalent == null ? null : this.textEquivalent.getValue(); 458 } 459 460 /** 461 * @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. 462 */ 463 public RequestGroupActionComponent setTextEquivalent(String value) { 464 if (Utilities.noString(value)) 465 this.textEquivalent = null; 466 else { 467 if (this.textEquivalent == null) 468 this.textEquivalent = new StringType(); 469 this.textEquivalent.setValue(value); 470 } 471 return this; 472 } 473 474 /** 475 * @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 476 */ 477 public Enumeration<RequestPriority> getPriorityElement() { 478 if (this.priority == null) 479 if (Configuration.errorOnAutoCreate()) 480 throw new Error("Attempt to auto-create RequestGroupActionComponent.priority"); 481 else if (Configuration.doAutoCreate()) 482 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 483 return this.priority; 484 } 485 486 public boolean hasPriorityElement() { 487 return this.priority != null && !this.priority.isEmpty(); 488 } 489 490 public boolean hasPriority() { 491 return this.priority != null && !this.priority.isEmpty(); 492 } 493 494 /** 495 * @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 496 */ 497 public RequestGroupActionComponent setPriorityElement(Enumeration<RequestPriority> value) { 498 this.priority = value; 499 return this; 500 } 501 502 /** 503 * @return Indicates how quickly the action should be addressed with respect to other actions. 504 */ 505 public RequestPriority getPriority() { 506 return this.priority == null ? null : this.priority.getValue(); 507 } 508 509 /** 510 * @param value Indicates how quickly the action should be addressed with respect to other actions. 511 */ 512 public RequestGroupActionComponent setPriority(RequestPriority value) { 513 if (value == null) 514 this.priority = null; 515 else { 516 if (this.priority == null) 517 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 518 this.priority.setValue(value); 519 } 520 return this; 521 } 522 523 /** 524 * @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.) 525 */ 526 public List<CodeableConcept> getCode() { 527 if (this.code == null) 528 this.code = new ArrayList<CodeableConcept>(); 529 return this.code; 530 } 531 532 /** 533 * @return Returns a reference to <code>this</code> for easy method chaining 534 */ 535 public RequestGroupActionComponent setCode(List<CodeableConcept> theCode) { 536 this.code = theCode; 537 return this; 538 } 539 540 public boolean hasCode() { 541 if (this.code == null) 542 return false; 543 for (CodeableConcept item : this.code) 544 if (!item.isEmpty()) 545 return true; 546 return false; 547 } 548 549 public CodeableConcept addCode() { //3 550 CodeableConcept t = new CodeableConcept(); 551 if (this.code == null) 552 this.code = new ArrayList<CodeableConcept>(); 553 this.code.add(t); 554 return t; 555 } 556 557 public RequestGroupActionComponent addCode(CodeableConcept t) { //3 558 if (t == null) 559 return this; 560 if (this.code == null) 561 this.code = new ArrayList<CodeableConcept>(); 562 this.code.add(t); 563 return this; 564 } 565 566 /** 567 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3} 568 */ 569 public CodeableConcept getCodeFirstRep() { 570 if (getCode().isEmpty()) { 571 addCode(); 572 } 573 return getCode().get(0); 574 } 575 576 /** 577 * @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.) 578 */ 579 public List<RelatedArtifact> getDocumentation() { 580 if (this.documentation == null) 581 this.documentation = new ArrayList<RelatedArtifact>(); 582 return this.documentation; 583 } 584 585 /** 586 * @return Returns a reference to <code>this</code> for easy method chaining 587 */ 588 public RequestGroupActionComponent setDocumentation(List<RelatedArtifact> theDocumentation) { 589 this.documentation = theDocumentation; 590 return this; 591 } 592 593 public boolean hasDocumentation() { 594 if (this.documentation == null) 595 return false; 596 for (RelatedArtifact item : this.documentation) 597 if (!item.isEmpty()) 598 return true; 599 return false; 600 } 601 602 public RelatedArtifact addDocumentation() { //3 603 RelatedArtifact t = new RelatedArtifact(); 604 if (this.documentation == null) 605 this.documentation = new ArrayList<RelatedArtifact>(); 606 this.documentation.add(t); 607 return t; 608 } 609 610 public RequestGroupActionComponent addDocumentation(RelatedArtifact t) { //3 611 if (t == null) 612 return this; 613 if (this.documentation == null) 614 this.documentation = new ArrayList<RelatedArtifact>(); 615 this.documentation.add(t); 616 return this; 617 } 618 619 /** 620 * @return The first repetition of repeating field {@link #documentation}, creating it if it does not already exist {3} 621 */ 622 public RelatedArtifact getDocumentationFirstRep() { 623 if (getDocumentation().isEmpty()) { 624 addDocumentation(); 625 } 626 return getDocumentation().get(0); 627 } 628 629 /** 630 * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this action.) 631 */ 632 public List<Reference> getGoal() { 633 if (this.goal == null) 634 this.goal = new ArrayList<Reference>(); 635 return this.goal; 636 } 637 638 /** 639 * @return Returns a reference to <code>this</code> for easy method chaining 640 */ 641 public RequestGroupActionComponent setGoal(List<Reference> theGoal) { 642 this.goal = theGoal; 643 return this; 644 } 645 646 public boolean hasGoal() { 647 if (this.goal == null) 648 return false; 649 for (Reference item : this.goal) 650 if (!item.isEmpty()) 651 return true; 652 return false; 653 } 654 655 public Reference addGoal() { //3 656 Reference t = new Reference(); 657 if (this.goal == null) 658 this.goal = new ArrayList<Reference>(); 659 this.goal.add(t); 660 return t; 661 } 662 663 public RequestGroupActionComponent addGoal(Reference t) { //3 664 if (t == null) 665 return this; 666 if (this.goal == null) 667 this.goal = new ArrayList<Reference>(); 668 this.goal.add(t); 669 return this; 670 } 671 672 /** 673 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 674 */ 675 public Reference getGoalFirstRep() { 676 if (getGoal().isEmpty()) { 677 addGoal(); 678 } 679 return getGoal().get(0); 680 } 681 682 /** 683 * @return {@link #condition} (An expression that describes applicability criteria, or start/stop conditions for the action.) 684 */ 685 public List<RequestGroupActionConditionComponent> getCondition() { 686 if (this.condition == null) 687 this.condition = new ArrayList<RequestGroupActionConditionComponent>(); 688 return this.condition; 689 } 690 691 /** 692 * @return Returns a reference to <code>this</code> for easy method chaining 693 */ 694 public RequestGroupActionComponent setCondition(List<RequestGroupActionConditionComponent> theCondition) { 695 this.condition = theCondition; 696 return this; 697 } 698 699 public boolean hasCondition() { 700 if (this.condition == null) 701 return false; 702 for (RequestGroupActionConditionComponent item : this.condition) 703 if (!item.isEmpty()) 704 return true; 705 return false; 706 } 707 708 public RequestGroupActionConditionComponent addCondition() { //3 709 RequestGroupActionConditionComponent t = new RequestGroupActionConditionComponent(); 710 if (this.condition == null) 711 this.condition = new ArrayList<RequestGroupActionConditionComponent>(); 712 this.condition.add(t); 713 return t; 714 } 715 716 public RequestGroupActionComponent addCondition(RequestGroupActionConditionComponent t) { //3 717 if (t == null) 718 return this; 719 if (this.condition == null) 720 this.condition = new ArrayList<RequestGroupActionConditionComponent>(); 721 this.condition.add(t); 722 return this; 723 } 724 725 /** 726 * @return The first repetition of repeating field {@link #condition}, creating it if it does not already exist {3} 727 */ 728 public RequestGroupActionConditionComponent getConditionFirstRep() { 729 if (getCondition().isEmpty()) { 730 addCondition(); 731 } 732 return getCondition().get(0); 733 } 734 735 /** 736 * @return {@link #relatedAction} (A relationship to another action such as "before" or "30-60 minutes after start of".) 737 */ 738 public List<RequestGroupActionRelatedActionComponent> getRelatedAction() { 739 if (this.relatedAction == null) 740 this.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 741 return this.relatedAction; 742 } 743 744 /** 745 * @return Returns a reference to <code>this</code> for easy method chaining 746 */ 747 public RequestGroupActionComponent setRelatedAction(List<RequestGroupActionRelatedActionComponent> theRelatedAction) { 748 this.relatedAction = theRelatedAction; 749 return this; 750 } 751 752 public boolean hasRelatedAction() { 753 if (this.relatedAction == null) 754 return false; 755 for (RequestGroupActionRelatedActionComponent item : this.relatedAction) 756 if (!item.isEmpty()) 757 return true; 758 return false; 759 } 760 761 public RequestGroupActionRelatedActionComponent addRelatedAction() { //3 762 RequestGroupActionRelatedActionComponent t = new RequestGroupActionRelatedActionComponent(); 763 if (this.relatedAction == null) 764 this.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 765 this.relatedAction.add(t); 766 return t; 767 } 768 769 public RequestGroupActionComponent addRelatedAction(RequestGroupActionRelatedActionComponent t) { //3 770 if (t == null) 771 return this; 772 if (this.relatedAction == null) 773 this.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 774 this.relatedAction.add(t); 775 return this; 776 } 777 778 /** 779 * @return The first repetition of repeating field {@link #relatedAction}, creating it if it does not already exist {3} 780 */ 781 public RequestGroupActionRelatedActionComponent getRelatedActionFirstRep() { 782 if (getRelatedAction().isEmpty()) { 783 addRelatedAction(); 784 } 785 return getRelatedAction().get(0); 786 } 787 788 /** 789 * @return {@link #timing} (An optional value describing when the action should be performed.) 790 */ 791 public DataType getTiming() { 792 return this.timing; 793 } 794 795 /** 796 * @return {@link #timing} (An optional value describing when the action should be performed.) 797 */ 798 public DateTimeType getTimingDateTimeType() throws FHIRException { 799 if (this.timing == null) 800 this.timing = new DateTimeType(); 801 if (!(this.timing instanceof DateTimeType)) 802 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.timing.getClass().getName()+" was encountered"); 803 return (DateTimeType) this.timing; 804 } 805 806 public boolean hasTimingDateTimeType() { 807 return this != null && this.timing instanceof DateTimeType; 808 } 809 810 /** 811 * @return {@link #timing} (An optional value describing when the action should be performed.) 812 */ 813 public Age getTimingAge() throws FHIRException { 814 if (this.timing == null) 815 this.timing = new Age(); 816 if (!(this.timing instanceof Age)) 817 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.timing.getClass().getName()+" was encountered"); 818 return (Age) this.timing; 819 } 820 821 public boolean hasTimingAge() { 822 return this != null && this.timing instanceof Age; 823 } 824 825 /** 826 * @return {@link #timing} (An optional value describing when the action should be performed.) 827 */ 828 public Period getTimingPeriod() throws FHIRException { 829 if (this.timing == null) 830 this.timing = new Period(); 831 if (!(this.timing instanceof Period)) 832 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.timing.getClass().getName()+" was encountered"); 833 return (Period) this.timing; 834 } 835 836 public boolean hasTimingPeriod() { 837 return this != null && this.timing instanceof Period; 838 } 839 840 /** 841 * @return {@link #timing} (An optional value describing when the action should be performed.) 842 */ 843 public Duration getTimingDuration() throws FHIRException { 844 if (this.timing == null) 845 this.timing = new Duration(); 846 if (!(this.timing instanceof Duration)) 847 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.timing.getClass().getName()+" was encountered"); 848 return (Duration) this.timing; 849 } 850 851 public boolean hasTimingDuration() { 852 return this != null && this.timing instanceof Duration; 853 } 854 855 /** 856 * @return {@link #timing} (An optional value describing when the action should be performed.) 857 */ 858 public Range getTimingRange() throws FHIRException { 859 if (this.timing == null) 860 this.timing = new Range(); 861 if (!(this.timing instanceof Range)) 862 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.timing.getClass().getName()+" was encountered"); 863 return (Range) this.timing; 864 } 865 866 public boolean hasTimingRange() { 867 return this != null && this.timing instanceof Range; 868 } 869 870 /** 871 * @return {@link #timing} (An optional value describing when the action should be performed.) 872 */ 873 public Timing getTimingTiming() throws FHIRException { 874 if (this.timing == null) 875 this.timing = new Timing(); 876 if (!(this.timing instanceof Timing)) 877 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.timing.getClass().getName()+" was encountered"); 878 return (Timing) this.timing; 879 } 880 881 public boolean hasTimingTiming() { 882 return this != null && this.timing instanceof Timing; 883 } 884 885 public boolean hasTiming() { 886 return this.timing != null && !this.timing.isEmpty(); 887 } 888 889 /** 890 * @param value {@link #timing} (An optional value describing when the action should be performed.) 891 */ 892 public RequestGroupActionComponent setTiming(DataType value) { 893 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Duration || value instanceof Range || value instanceof Timing)) 894 throw new Error("Not the right type for RequestGroup.action.timing[x]: "+value.fhirType()); 895 this.timing = value; 896 return this; 897 } 898 899 /** 900 * @return {@link #location} (Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.) 901 */ 902 public CodeableReference getLocation() { 903 if (this.location == null) 904 if (Configuration.errorOnAutoCreate()) 905 throw new Error("Attempt to auto-create RequestGroupActionComponent.location"); 906 else if (Configuration.doAutoCreate()) 907 this.location = new CodeableReference(); // cc 908 return this.location; 909 } 910 911 public boolean hasLocation() { 912 return this.location != null && !this.location.isEmpty(); 913 } 914 915 /** 916 * @param value {@link #location} (Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.) 917 */ 918 public RequestGroupActionComponent setLocation(CodeableReference value) { 919 this.location = value; 920 return this; 921 } 922 923 /** 924 * @return {@link #participant} (The participant that should perform or be responsible for this action.) 925 */ 926 public List<RequestGroupActionParticipantComponent> getParticipant() { 927 if (this.participant == null) 928 this.participant = new ArrayList<RequestGroupActionParticipantComponent>(); 929 return this.participant; 930 } 931 932 /** 933 * @return Returns a reference to <code>this</code> for easy method chaining 934 */ 935 public RequestGroupActionComponent setParticipant(List<RequestGroupActionParticipantComponent> theParticipant) { 936 this.participant = theParticipant; 937 return this; 938 } 939 940 public boolean hasParticipant() { 941 if (this.participant == null) 942 return false; 943 for (RequestGroupActionParticipantComponent item : this.participant) 944 if (!item.isEmpty()) 945 return true; 946 return false; 947 } 948 949 public RequestGroupActionParticipantComponent addParticipant() { //3 950 RequestGroupActionParticipantComponent t = new RequestGroupActionParticipantComponent(); 951 if (this.participant == null) 952 this.participant = new ArrayList<RequestGroupActionParticipantComponent>(); 953 this.participant.add(t); 954 return t; 955 } 956 957 public RequestGroupActionComponent addParticipant(RequestGroupActionParticipantComponent t) { //3 958 if (t == null) 959 return this; 960 if (this.participant == null) 961 this.participant = new ArrayList<RequestGroupActionParticipantComponent>(); 962 this.participant.add(t); 963 return this; 964 } 965 966 /** 967 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist {3} 968 */ 969 public RequestGroupActionParticipantComponent getParticipantFirstRep() { 970 if (getParticipant().isEmpty()) { 971 addParticipant(); 972 } 973 return getParticipant().get(0); 974 } 975 976 /** 977 * @return {@link #type} (The type of action to perform (create, update, remove).) 978 */ 979 public CodeableConcept getType() { 980 if (this.type == null) 981 if (Configuration.errorOnAutoCreate()) 982 throw new Error("Attempt to auto-create RequestGroupActionComponent.type"); 983 else if (Configuration.doAutoCreate()) 984 this.type = new CodeableConcept(); // cc 985 return this.type; 986 } 987 988 public boolean hasType() { 989 return this.type != null && !this.type.isEmpty(); 990 } 991 992 /** 993 * @param value {@link #type} (The type of action to perform (create, update, remove).) 994 */ 995 public RequestGroupActionComponent setType(CodeableConcept value) { 996 this.type = value; 997 return this; 998 } 999 1000 /** 1001 * @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 1002 */ 1003 public Enumeration<ActionGroupingBehavior> getGroupingBehaviorElement() { 1004 if (this.groupingBehavior == null) 1005 if (Configuration.errorOnAutoCreate()) 1006 throw new Error("Attempt to auto-create RequestGroupActionComponent.groupingBehavior"); 1007 else if (Configuration.doAutoCreate()) 1008 this.groupingBehavior = new Enumeration<ActionGroupingBehavior>(new ActionGroupingBehaviorEnumFactory()); // bb 1009 return this.groupingBehavior; 1010 } 1011 1012 public boolean hasGroupingBehaviorElement() { 1013 return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); 1014 } 1015 1016 public boolean hasGroupingBehavior() { 1017 return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); 1018 } 1019 1020 /** 1021 * @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 1022 */ 1023 public RequestGroupActionComponent setGroupingBehaviorElement(Enumeration<ActionGroupingBehavior> value) { 1024 this.groupingBehavior = value; 1025 return this; 1026 } 1027 1028 /** 1029 * @return Defines the grouping behavior for the action and its children. 1030 */ 1031 public ActionGroupingBehavior getGroupingBehavior() { 1032 return this.groupingBehavior == null ? null : this.groupingBehavior.getValue(); 1033 } 1034 1035 /** 1036 * @param value Defines the grouping behavior for the action and its children. 1037 */ 1038 public RequestGroupActionComponent setGroupingBehavior(ActionGroupingBehavior value) { 1039 if (value == null) 1040 this.groupingBehavior = null; 1041 else { 1042 if (this.groupingBehavior == null) 1043 this.groupingBehavior = new Enumeration<ActionGroupingBehavior>(new ActionGroupingBehaviorEnumFactory()); 1044 this.groupingBehavior.setValue(value); 1045 } 1046 return this; 1047 } 1048 1049 /** 1050 * @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 1051 */ 1052 public Enumeration<ActionSelectionBehavior> getSelectionBehaviorElement() { 1053 if (this.selectionBehavior == null) 1054 if (Configuration.errorOnAutoCreate()) 1055 throw new Error("Attempt to auto-create RequestGroupActionComponent.selectionBehavior"); 1056 else if (Configuration.doAutoCreate()) 1057 this.selectionBehavior = new Enumeration<ActionSelectionBehavior>(new ActionSelectionBehaviorEnumFactory()); // bb 1058 return this.selectionBehavior; 1059 } 1060 1061 public boolean hasSelectionBehaviorElement() { 1062 return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); 1063 } 1064 1065 public boolean hasSelectionBehavior() { 1066 return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); 1067 } 1068 1069 /** 1070 * @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 1071 */ 1072 public RequestGroupActionComponent setSelectionBehaviorElement(Enumeration<ActionSelectionBehavior> value) { 1073 this.selectionBehavior = value; 1074 return this; 1075 } 1076 1077 /** 1078 * @return Defines the selection behavior for the action and its children. 1079 */ 1080 public ActionSelectionBehavior getSelectionBehavior() { 1081 return this.selectionBehavior == null ? null : this.selectionBehavior.getValue(); 1082 } 1083 1084 /** 1085 * @param value Defines the selection behavior for the action and its children. 1086 */ 1087 public RequestGroupActionComponent setSelectionBehavior(ActionSelectionBehavior value) { 1088 if (value == null) 1089 this.selectionBehavior = null; 1090 else { 1091 if (this.selectionBehavior == null) 1092 this.selectionBehavior = new Enumeration<ActionSelectionBehavior>(new ActionSelectionBehaviorEnumFactory()); 1093 this.selectionBehavior.setValue(value); 1094 } 1095 return this; 1096 } 1097 1098 /** 1099 * @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 1100 */ 1101 public Enumeration<ActionRequiredBehavior> getRequiredBehaviorElement() { 1102 if (this.requiredBehavior == null) 1103 if (Configuration.errorOnAutoCreate()) 1104 throw new Error("Attempt to auto-create RequestGroupActionComponent.requiredBehavior"); 1105 else if (Configuration.doAutoCreate()) 1106 this.requiredBehavior = new Enumeration<ActionRequiredBehavior>(new ActionRequiredBehaviorEnumFactory()); // bb 1107 return this.requiredBehavior; 1108 } 1109 1110 public boolean hasRequiredBehaviorElement() { 1111 return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); 1112 } 1113 1114 public boolean hasRequiredBehavior() { 1115 return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); 1116 } 1117 1118 /** 1119 * @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 1120 */ 1121 public RequestGroupActionComponent setRequiredBehaviorElement(Enumeration<ActionRequiredBehavior> value) { 1122 this.requiredBehavior = value; 1123 return this; 1124 } 1125 1126 /** 1127 * @return Defines expectations around whether an action is required. 1128 */ 1129 public ActionRequiredBehavior getRequiredBehavior() { 1130 return this.requiredBehavior == null ? null : this.requiredBehavior.getValue(); 1131 } 1132 1133 /** 1134 * @param value Defines expectations around whether an action is required. 1135 */ 1136 public RequestGroupActionComponent setRequiredBehavior(ActionRequiredBehavior value) { 1137 if (value == null) 1138 this.requiredBehavior = null; 1139 else { 1140 if (this.requiredBehavior == null) 1141 this.requiredBehavior = new Enumeration<ActionRequiredBehavior>(new ActionRequiredBehaviorEnumFactory()); 1142 this.requiredBehavior.setValue(value); 1143 } 1144 return this; 1145 } 1146 1147 /** 1148 * @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 1149 */ 1150 public Enumeration<ActionPrecheckBehavior> getPrecheckBehaviorElement() { 1151 if (this.precheckBehavior == null) 1152 if (Configuration.errorOnAutoCreate()) 1153 throw new Error("Attempt to auto-create RequestGroupActionComponent.precheckBehavior"); 1154 else if (Configuration.doAutoCreate()) 1155 this.precheckBehavior = new Enumeration<ActionPrecheckBehavior>(new ActionPrecheckBehaviorEnumFactory()); // bb 1156 return this.precheckBehavior; 1157 } 1158 1159 public boolean hasPrecheckBehaviorElement() { 1160 return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); 1161 } 1162 1163 public boolean hasPrecheckBehavior() { 1164 return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); 1165 } 1166 1167 /** 1168 * @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 1169 */ 1170 public RequestGroupActionComponent setPrecheckBehaviorElement(Enumeration<ActionPrecheckBehavior> value) { 1171 this.precheckBehavior = value; 1172 return this; 1173 } 1174 1175 /** 1176 * @return Defines whether the action should usually be preselected. 1177 */ 1178 public ActionPrecheckBehavior getPrecheckBehavior() { 1179 return this.precheckBehavior == null ? null : this.precheckBehavior.getValue(); 1180 } 1181 1182 /** 1183 * @param value Defines whether the action should usually be preselected. 1184 */ 1185 public RequestGroupActionComponent setPrecheckBehavior(ActionPrecheckBehavior value) { 1186 if (value == null) 1187 this.precheckBehavior = null; 1188 else { 1189 if (this.precheckBehavior == null) 1190 this.precheckBehavior = new Enumeration<ActionPrecheckBehavior>(new ActionPrecheckBehaviorEnumFactory()); 1191 this.precheckBehavior.setValue(value); 1192 } 1193 return this; 1194 } 1195 1196 /** 1197 * @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 1198 */ 1199 public Enumeration<ActionCardinalityBehavior> getCardinalityBehaviorElement() { 1200 if (this.cardinalityBehavior == null) 1201 if (Configuration.errorOnAutoCreate()) 1202 throw new Error("Attempt to auto-create RequestGroupActionComponent.cardinalityBehavior"); 1203 else if (Configuration.doAutoCreate()) 1204 this.cardinalityBehavior = new Enumeration<ActionCardinalityBehavior>(new ActionCardinalityBehaviorEnumFactory()); // bb 1205 return this.cardinalityBehavior; 1206 } 1207 1208 public boolean hasCardinalityBehaviorElement() { 1209 return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); 1210 } 1211 1212 public boolean hasCardinalityBehavior() { 1213 return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); 1214 } 1215 1216 /** 1217 * @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 1218 */ 1219 public RequestGroupActionComponent setCardinalityBehaviorElement(Enumeration<ActionCardinalityBehavior> value) { 1220 this.cardinalityBehavior = value; 1221 return this; 1222 } 1223 1224 /** 1225 * @return Defines whether the action can be selected multiple times. 1226 */ 1227 public ActionCardinalityBehavior getCardinalityBehavior() { 1228 return this.cardinalityBehavior == null ? null : this.cardinalityBehavior.getValue(); 1229 } 1230 1231 /** 1232 * @param value Defines whether the action can be selected multiple times. 1233 */ 1234 public RequestGroupActionComponent setCardinalityBehavior(ActionCardinalityBehavior value) { 1235 if (value == null) 1236 this.cardinalityBehavior = null; 1237 else { 1238 if (this.cardinalityBehavior == null) 1239 this.cardinalityBehavior = new Enumeration<ActionCardinalityBehavior>(new ActionCardinalityBehaviorEnumFactory()); 1240 this.cardinalityBehavior.setValue(value); 1241 } 1242 return this; 1243 } 1244 1245 /** 1246 * @return {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) 1247 */ 1248 public Reference getResource() { 1249 if (this.resource == null) 1250 if (Configuration.errorOnAutoCreate()) 1251 throw new Error("Attempt to auto-create RequestGroupActionComponent.resource"); 1252 else if (Configuration.doAutoCreate()) 1253 this.resource = new Reference(); // cc 1254 return this.resource; 1255 } 1256 1257 public boolean hasResource() { 1258 return this.resource != null && !this.resource.isEmpty(); 1259 } 1260 1261 /** 1262 * @param value {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) 1263 */ 1264 public RequestGroupActionComponent setResource(Reference value) { 1265 this.resource = value; 1266 return this; 1267 } 1268 1269 /** 1270 * @return {@link #action} (Sub actions.) 1271 */ 1272 public List<RequestGroupActionComponent> getAction() { 1273 if (this.action == null) 1274 this.action = new ArrayList<RequestGroupActionComponent>(); 1275 return this.action; 1276 } 1277 1278 /** 1279 * @return Returns a reference to <code>this</code> for easy method chaining 1280 */ 1281 public RequestGroupActionComponent setAction(List<RequestGroupActionComponent> theAction) { 1282 this.action = theAction; 1283 return this; 1284 } 1285 1286 public boolean hasAction() { 1287 if (this.action == null) 1288 return false; 1289 for (RequestGroupActionComponent item : this.action) 1290 if (!item.isEmpty()) 1291 return true; 1292 return false; 1293 } 1294 1295 public RequestGroupActionComponent addAction() { //3 1296 RequestGroupActionComponent t = new RequestGroupActionComponent(); 1297 if (this.action == null) 1298 this.action = new ArrayList<RequestGroupActionComponent>(); 1299 this.action.add(t); 1300 return t; 1301 } 1302 1303 public RequestGroupActionComponent addAction(RequestGroupActionComponent t) { //3 1304 if (t == null) 1305 return this; 1306 if (this.action == null) 1307 this.action = new ArrayList<RequestGroupActionComponent>(); 1308 this.action.add(t); 1309 return this; 1310 } 1311 1312 /** 1313 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 1314 */ 1315 public RequestGroupActionComponent getActionFirstRep() { 1316 if (getAction().isEmpty()) { 1317 addAction(); 1318 } 1319 return getAction().get(0); 1320 } 1321 1322 protected void listChildren(List<Property> children) { 1323 super.listChildren(children); 1324 children.add(new Property("linkId", "string", "The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup resource.", 0, 1, linkId)); 1325 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)); 1326 children.add(new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title)); 1327 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)); 1328 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)); 1329 children.add(new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority)); 1330 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)); 1331 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)); 1332 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)); 1333 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)); 1334 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)); 1335 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)); 1336 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)); 1337 children.add(new Property("participant", "", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant)); 1338 children.add(new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type)); 1339 children.add(new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior)); 1340 children.add(new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior)); 1341 children.add(new Property("requiredBehavior", "code", "Defines expectations around whether an action is required.", 0, 1, requiredBehavior)); 1342 children.add(new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior)); 1343 children.add(new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior)); 1344 children.add(new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource)); 1345 children.add(new Property("action", "@RequestGroup.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action)); 1346 } 1347 1348 @Override 1349 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1350 switch (_hash) { 1351 case -1102667083: /*linkId*/ return new Property("linkId", "string", "The linkId of the action from the PlanDefinition that corresponds to this action in the RequestGroup resource.", 0, 1, linkId); 1352 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); 1353 case 110371416: /*title*/ return new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title); 1354 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); 1355 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); 1356 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority); 1357 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); 1358 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); 1359 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); 1360 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); 1361 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); 1362 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); 1363 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); 1364 case -1837458939: /*timingDateTime*/ return new Property("timing[x]", "dateTime", "An optional value describing when the action should be performed.", 0, 1, timing); 1365 case 164607061: /*timingAge*/ return new Property("timing[x]", "Age", "An optional value describing when the action should be performed.", 0, 1, timing); 1366 case -615615829: /*timingPeriod*/ return new Property("timing[x]", "Period", "An optional value describing when the action should be performed.", 0, 1, timing); 1367 case -1327253506: /*timingDuration*/ return new Property("timing[x]", "Duration", "An optional value describing when the action should be performed.", 0, 1, timing); 1368 case -710871277: /*timingRange*/ return new Property("timing[x]", "Range", "An optional value describing when the action should be performed.", 0, 1, timing); 1369 case -497554124: /*timingTiming*/ return new Property("timing[x]", "Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 1370 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); 1371 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); 1372 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type); 1373 case 586678389: /*groupingBehavior*/ return new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior); 1374 case 168639486: /*selectionBehavior*/ return new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior); 1375 case -1163906287: /*requiredBehavior*/ return new Property("requiredBehavior", "code", "Defines expectations around whether an action is required.", 0, 1, requiredBehavior); 1376 case -1174249033: /*precheckBehavior*/ return new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior); 1377 case -922577408: /*cardinalityBehavior*/ return new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior); 1378 case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource); 1379 case -1422950858: /*action*/ return new Property("action", "@RequestGroup.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action); 1380 default: return super.getNamedProperty(_hash, _name, _checkValid); 1381 } 1382 1383 } 1384 1385 @Override 1386 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1387 switch (hash) { 1388 case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : new Base[] {this.linkId}; // StringType 1389 case -980110702: /*prefix*/ return this.prefix == null ? new Base[0] : new Base[] {this.prefix}; // StringType 1390 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 1391 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1392 case -900391049: /*textEquivalent*/ return this.textEquivalent == null ? new Base[0] : new Base[] {this.textEquivalent}; // StringType 1393 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 1394 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 1395 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : this.documentation.toArray(new Base[this.documentation.size()]); // RelatedArtifact 1396 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 1397 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : this.condition.toArray(new Base[this.condition.size()]); // RequestGroupActionConditionComponent 1398 case -384107967: /*relatedAction*/ return this.relatedAction == null ? new Base[0] : this.relatedAction.toArray(new Base[this.relatedAction.size()]); // RequestGroupActionRelatedActionComponent 1399 case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // DataType 1400 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // CodeableReference 1401 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // RequestGroupActionParticipantComponent 1402 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1403 case 586678389: /*groupingBehavior*/ return this.groupingBehavior == null ? new Base[0] : new Base[] {this.groupingBehavior}; // Enumeration<ActionGroupingBehavior> 1404 case 168639486: /*selectionBehavior*/ return this.selectionBehavior == null ? new Base[0] : new Base[] {this.selectionBehavior}; // Enumeration<ActionSelectionBehavior> 1405 case -1163906287: /*requiredBehavior*/ return this.requiredBehavior == null ? new Base[0] : new Base[] {this.requiredBehavior}; // Enumeration<ActionRequiredBehavior> 1406 case -1174249033: /*precheckBehavior*/ return this.precheckBehavior == null ? new Base[0] : new Base[] {this.precheckBehavior}; // Enumeration<ActionPrecheckBehavior> 1407 case -922577408: /*cardinalityBehavior*/ return this.cardinalityBehavior == null ? new Base[0] : new Base[] {this.cardinalityBehavior}; // Enumeration<ActionCardinalityBehavior> 1408 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Reference 1409 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestGroupActionComponent 1410 default: return super.getProperty(hash, name, checkValid); 1411 } 1412 1413 } 1414 1415 @Override 1416 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1417 switch (hash) { 1418 case -1102667083: // linkId 1419 this.linkId = TypeConvertor.castToString(value); // StringType 1420 return value; 1421 case -980110702: // prefix 1422 this.prefix = TypeConvertor.castToString(value); // StringType 1423 return value; 1424 case 110371416: // title 1425 this.title = TypeConvertor.castToString(value); // StringType 1426 return value; 1427 case -1724546052: // description 1428 this.description = TypeConvertor.castToString(value); // StringType 1429 return value; 1430 case -900391049: // textEquivalent 1431 this.textEquivalent = TypeConvertor.castToString(value); // StringType 1432 return value; 1433 case -1165461084: // priority 1434 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1435 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1436 return value; 1437 case 3059181: // code 1438 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1439 return value; 1440 case 1587405498: // documentation 1441 this.getDocumentation().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact 1442 return value; 1443 case 3178259: // goal 1444 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 1445 return value; 1446 case -861311717: // condition 1447 this.getCondition().add((RequestGroupActionConditionComponent) value); // RequestGroupActionConditionComponent 1448 return value; 1449 case -384107967: // relatedAction 1450 this.getRelatedAction().add((RequestGroupActionRelatedActionComponent) value); // RequestGroupActionRelatedActionComponent 1451 return value; 1452 case -873664438: // timing 1453 this.timing = TypeConvertor.castToType(value); // DataType 1454 return value; 1455 case 1901043637: // location 1456 this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference 1457 return value; 1458 case 767422259: // participant 1459 this.getParticipant().add((RequestGroupActionParticipantComponent) value); // RequestGroupActionParticipantComponent 1460 return value; 1461 case 3575610: // type 1462 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1463 return value; 1464 case 586678389: // groupingBehavior 1465 value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1466 this.groupingBehavior = (Enumeration) value; // Enumeration<ActionGroupingBehavior> 1467 return value; 1468 case 168639486: // selectionBehavior 1469 value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1470 this.selectionBehavior = (Enumeration) value; // Enumeration<ActionSelectionBehavior> 1471 return value; 1472 case -1163906287: // requiredBehavior 1473 value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1474 this.requiredBehavior = (Enumeration) value; // Enumeration<ActionRequiredBehavior> 1475 return value; 1476 case -1174249033: // precheckBehavior 1477 value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1478 this.precheckBehavior = (Enumeration) value; // Enumeration<ActionPrecheckBehavior> 1479 return value; 1480 case -922577408: // cardinalityBehavior 1481 value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1482 this.cardinalityBehavior = (Enumeration) value; // Enumeration<ActionCardinalityBehavior> 1483 return value; 1484 case -341064690: // resource 1485 this.resource = TypeConvertor.castToReference(value); // Reference 1486 return value; 1487 case -1422950858: // action 1488 this.getAction().add((RequestGroupActionComponent) value); // RequestGroupActionComponent 1489 return value; 1490 default: return super.setProperty(hash, name, value); 1491 } 1492 1493 } 1494 1495 @Override 1496 public Base setProperty(String name, Base value) throws FHIRException { 1497 if (name.equals("linkId")) { 1498 this.linkId = TypeConvertor.castToString(value); // StringType 1499 } else if (name.equals("prefix")) { 1500 this.prefix = TypeConvertor.castToString(value); // StringType 1501 } else if (name.equals("title")) { 1502 this.title = TypeConvertor.castToString(value); // StringType 1503 } else if (name.equals("description")) { 1504 this.description = TypeConvertor.castToString(value); // StringType 1505 } else if (name.equals("textEquivalent")) { 1506 this.textEquivalent = TypeConvertor.castToString(value); // StringType 1507 } else if (name.equals("priority")) { 1508 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1509 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1510 } else if (name.equals("code")) { 1511 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); 1512 } else if (name.equals("documentation")) { 1513 this.getDocumentation().add(TypeConvertor.castToRelatedArtifact(value)); 1514 } else if (name.equals("goal")) { 1515 this.getGoal().add(TypeConvertor.castToReference(value)); 1516 } else if (name.equals("condition")) { 1517 this.getCondition().add((RequestGroupActionConditionComponent) value); 1518 } else if (name.equals("relatedAction")) { 1519 this.getRelatedAction().add((RequestGroupActionRelatedActionComponent) value); 1520 } else if (name.equals("timing[x]")) { 1521 this.timing = TypeConvertor.castToType(value); // DataType 1522 } else if (name.equals("location")) { 1523 this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference 1524 } else if (name.equals("participant")) { 1525 this.getParticipant().add((RequestGroupActionParticipantComponent) value); 1526 } else if (name.equals("type")) { 1527 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1528 } else if (name.equals("groupingBehavior")) { 1529 value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1530 this.groupingBehavior = (Enumeration) value; // Enumeration<ActionGroupingBehavior> 1531 } else if (name.equals("selectionBehavior")) { 1532 value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1533 this.selectionBehavior = (Enumeration) value; // Enumeration<ActionSelectionBehavior> 1534 } else if (name.equals("requiredBehavior")) { 1535 value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1536 this.requiredBehavior = (Enumeration) value; // Enumeration<ActionRequiredBehavior> 1537 } else if (name.equals("precheckBehavior")) { 1538 value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1539 this.precheckBehavior = (Enumeration) value; // Enumeration<ActionPrecheckBehavior> 1540 } else if (name.equals("cardinalityBehavior")) { 1541 value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); 1542 this.cardinalityBehavior = (Enumeration) value; // Enumeration<ActionCardinalityBehavior> 1543 } else if (name.equals("resource")) { 1544 this.resource = TypeConvertor.castToReference(value); // Reference 1545 } else if (name.equals("action")) { 1546 this.getAction().add((RequestGroupActionComponent) value); 1547 } else 1548 return super.setProperty(name, value); 1549 return value; 1550 } 1551 1552 @Override 1553 public Base makeProperty(int hash, String name) throws FHIRException { 1554 switch (hash) { 1555 case -1102667083: return getLinkIdElement(); 1556 case -980110702: return getPrefixElement(); 1557 case 110371416: return getTitleElement(); 1558 case -1724546052: return getDescriptionElement(); 1559 case -900391049: return getTextEquivalentElement(); 1560 case -1165461084: return getPriorityElement(); 1561 case 3059181: return addCode(); 1562 case 1587405498: return addDocumentation(); 1563 case 3178259: return addGoal(); 1564 case -861311717: return addCondition(); 1565 case -384107967: return addRelatedAction(); 1566 case 164632566: return getTiming(); 1567 case -873664438: return getTiming(); 1568 case 1901043637: return getLocation(); 1569 case 767422259: return addParticipant(); 1570 case 3575610: return getType(); 1571 case 586678389: return getGroupingBehaviorElement(); 1572 case 168639486: return getSelectionBehaviorElement(); 1573 case -1163906287: return getRequiredBehaviorElement(); 1574 case -1174249033: return getPrecheckBehaviorElement(); 1575 case -922577408: return getCardinalityBehaviorElement(); 1576 case -341064690: return getResource(); 1577 case -1422950858: return addAction(); 1578 default: return super.makeProperty(hash, name); 1579 } 1580 1581 } 1582 1583 @Override 1584 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1585 switch (hash) { 1586 case -1102667083: /*linkId*/ return new String[] {"string"}; 1587 case -980110702: /*prefix*/ return new String[] {"string"}; 1588 case 110371416: /*title*/ return new String[] {"string"}; 1589 case -1724546052: /*description*/ return new String[] {"string"}; 1590 case -900391049: /*textEquivalent*/ return new String[] {"string"}; 1591 case -1165461084: /*priority*/ return new String[] {"code"}; 1592 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1593 case 1587405498: /*documentation*/ return new String[] {"RelatedArtifact"}; 1594 case 3178259: /*goal*/ return new String[] {"Reference"}; 1595 case -861311717: /*condition*/ return new String[] {}; 1596 case -384107967: /*relatedAction*/ return new String[] {}; 1597 case -873664438: /*timing*/ return new String[] {"dateTime", "Age", "Period", "Duration", "Range", "Timing"}; 1598 case 1901043637: /*location*/ return new String[] {"CodeableReference"}; 1599 case 767422259: /*participant*/ return new String[] {}; 1600 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1601 case 586678389: /*groupingBehavior*/ return new String[] {"code"}; 1602 case 168639486: /*selectionBehavior*/ return new String[] {"code"}; 1603 case -1163906287: /*requiredBehavior*/ return new String[] {"code"}; 1604 case -1174249033: /*precheckBehavior*/ return new String[] {"code"}; 1605 case -922577408: /*cardinalityBehavior*/ return new String[] {"code"}; 1606 case -341064690: /*resource*/ return new String[] {"Reference"}; 1607 case -1422950858: /*action*/ return new String[] {"@RequestGroup.action"}; 1608 default: return super.getTypesForProperty(hash, name); 1609 } 1610 1611 } 1612 1613 @Override 1614 public Base addChild(String name) throws FHIRException { 1615 if (name.equals("linkId")) { 1616 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.linkId"); 1617 } 1618 else if (name.equals("prefix")) { 1619 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.prefix"); 1620 } 1621 else if (name.equals("title")) { 1622 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.title"); 1623 } 1624 else if (name.equals("description")) { 1625 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.description"); 1626 } 1627 else if (name.equals("textEquivalent")) { 1628 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.textEquivalent"); 1629 } 1630 else if (name.equals("priority")) { 1631 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.priority"); 1632 } 1633 else if (name.equals("code")) { 1634 return addCode(); 1635 } 1636 else if (name.equals("documentation")) { 1637 return addDocumentation(); 1638 } 1639 else if (name.equals("goal")) { 1640 return addGoal(); 1641 } 1642 else if (name.equals("condition")) { 1643 return addCondition(); 1644 } 1645 else if (name.equals("relatedAction")) { 1646 return addRelatedAction(); 1647 } 1648 else if (name.equals("timingDateTime")) { 1649 this.timing = new DateTimeType(); 1650 return this.timing; 1651 } 1652 else if (name.equals("timingAge")) { 1653 this.timing = new Age(); 1654 return this.timing; 1655 } 1656 else if (name.equals("timingPeriod")) { 1657 this.timing = new Period(); 1658 return this.timing; 1659 } 1660 else if (name.equals("timingDuration")) { 1661 this.timing = new Duration(); 1662 return this.timing; 1663 } 1664 else if (name.equals("timingRange")) { 1665 this.timing = new Range(); 1666 return this.timing; 1667 } 1668 else if (name.equals("timingTiming")) { 1669 this.timing = new Timing(); 1670 return this.timing; 1671 } 1672 else if (name.equals("location")) { 1673 this.location = new CodeableReference(); 1674 return this.location; 1675 } 1676 else if (name.equals("participant")) { 1677 return addParticipant(); 1678 } 1679 else if (name.equals("type")) { 1680 this.type = new CodeableConcept(); 1681 return this.type; 1682 } 1683 else if (name.equals("groupingBehavior")) { 1684 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.groupingBehavior"); 1685 } 1686 else if (name.equals("selectionBehavior")) { 1687 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.selectionBehavior"); 1688 } 1689 else if (name.equals("requiredBehavior")) { 1690 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.requiredBehavior"); 1691 } 1692 else if (name.equals("precheckBehavior")) { 1693 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.precheckBehavior"); 1694 } 1695 else if (name.equals("cardinalityBehavior")) { 1696 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.cardinalityBehavior"); 1697 } 1698 else if (name.equals("resource")) { 1699 this.resource = new Reference(); 1700 return this.resource; 1701 } 1702 else if (name.equals("action")) { 1703 return addAction(); 1704 } 1705 else 1706 return super.addChild(name); 1707 } 1708 1709 public RequestGroupActionComponent copy() { 1710 RequestGroupActionComponent dst = new RequestGroupActionComponent(); 1711 copyValues(dst); 1712 return dst; 1713 } 1714 1715 public void copyValues(RequestGroupActionComponent dst) { 1716 super.copyValues(dst); 1717 dst.linkId = linkId == null ? null : linkId.copy(); 1718 dst.prefix = prefix == null ? null : prefix.copy(); 1719 dst.title = title == null ? null : title.copy(); 1720 dst.description = description == null ? null : description.copy(); 1721 dst.textEquivalent = textEquivalent == null ? null : textEquivalent.copy(); 1722 dst.priority = priority == null ? null : priority.copy(); 1723 if (code != null) { 1724 dst.code = new ArrayList<CodeableConcept>(); 1725 for (CodeableConcept i : code) 1726 dst.code.add(i.copy()); 1727 }; 1728 if (documentation != null) { 1729 dst.documentation = new ArrayList<RelatedArtifact>(); 1730 for (RelatedArtifact i : documentation) 1731 dst.documentation.add(i.copy()); 1732 }; 1733 if (goal != null) { 1734 dst.goal = new ArrayList<Reference>(); 1735 for (Reference i : goal) 1736 dst.goal.add(i.copy()); 1737 }; 1738 if (condition != null) { 1739 dst.condition = new ArrayList<RequestGroupActionConditionComponent>(); 1740 for (RequestGroupActionConditionComponent i : condition) 1741 dst.condition.add(i.copy()); 1742 }; 1743 if (relatedAction != null) { 1744 dst.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 1745 for (RequestGroupActionRelatedActionComponent i : relatedAction) 1746 dst.relatedAction.add(i.copy()); 1747 }; 1748 dst.timing = timing == null ? null : timing.copy(); 1749 dst.location = location == null ? null : location.copy(); 1750 if (participant != null) { 1751 dst.participant = new ArrayList<RequestGroupActionParticipantComponent>(); 1752 for (RequestGroupActionParticipantComponent i : participant) 1753 dst.participant.add(i.copy()); 1754 }; 1755 dst.type = type == null ? null : type.copy(); 1756 dst.groupingBehavior = groupingBehavior == null ? null : groupingBehavior.copy(); 1757 dst.selectionBehavior = selectionBehavior == null ? null : selectionBehavior.copy(); 1758 dst.requiredBehavior = requiredBehavior == null ? null : requiredBehavior.copy(); 1759 dst.precheckBehavior = precheckBehavior == null ? null : precheckBehavior.copy(); 1760 dst.cardinalityBehavior = cardinalityBehavior == null ? null : cardinalityBehavior.copy(); 1761 dst.resource = resource == null ? null : resource.copy(); 1762 if (action != null) { 1763 dst.action = new ArrayList<RequestGroupActionComponent>(); 1764 for (RequestGroupActionComponent i : action) 1765 dst.action.add(i.copy()); 1766 }; 1767 } 1768 1769 @Override 1770 public boolean equalsDeep(Base other_) { 1771 if (!super.equalsDeep(other_)) 1772 return false; 1773 if (!(other_ instanceof RequestGroupActionComponent)) 1774 return false; 1775 RequestGroupActionComponent o = (RequestGroupActionComponent) other_; 1776 return compareDeep(linkId, o.linkId, true) && compareDeep(prefix, o.prefix, true) && compareDeep(title, o.title, true) 1777 && compareDeep(description, o.description, true) && compareDeep(textEquivalent, o.textEquivalent, true) 1778 && compareDeep(priority, o.priority, true) && compareDeep(code, o.code, true) && compareDeep(documentation, o.documentation, true) 1779 && compareDeep(goal, o.goal, true) && compareDeep(condition, o.condition, true) && compareDeep(relatedAction, o.relatedAction, true) 1780 && compareDeep(timing, o.timing, true) && compareDeep(location, o.location, true) && compareDeep(participant, o.participant, true) 1781 && compareDeep(type, o.type, true) && compareDeep(groupingBehavior, o.groupingBehavior, true) && compareDeep(selectionBehavior, o.selectionBehavior, true) 1782 && compareDeep(requiredBehavior, o.requiredBehavior, true) && compareDeep(precheckBehavior, o.precheckBehavior, true) 1783 && compareDeep(cardinalityBehavior, o.cardinalityBehavior, true) && compareDeep(resource, o.resource, true) 1784 && compareDeep(action, o.action, true); 1785 } 1786 1787 @Override 1788 public boolean equalsShallow(Base other_) { 1789 if (!super.equalsShallow(other_)) 1790 return false; 1791 if (!(other_ instanceof RequestGroupActionComponent)) 1792 return false; 1793 RequestGroupActionComponent o = (RequestGroupActionComponent) other_; 1794 return compareValues(linkId, o.linkId, true) && compareValues(prefix, o.prefix, true) && compareValues(title, o.title, true) 1795 && compareValues(description, o.description, true) && compareValues(textEquivalent, o.textEquivalent, true) 1796 && compareValues(priority, o.priority, true) && compareValues(groupingBehavior, o.groupingBehavior, true) 1797 && compareValues(selectionBehavior, o.selectionBehavior, true) && compareValues(requiredBehavior, o.requiredBehavior, true) 1798 && compareValues(precheckBehavior, o.precheckBehavior, true) && compareValues(cardinalityBehavior, o.cardinalityBehavior, true) 1799 ; 1800 } 1801 1802 public boolean isEmpty() { 1803 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(linkId, prefix, title, description 1804 , textEquivalent, priority, code, documentation, goal, condition, relatedAction 1805 , timing, location, participant, type, groupingBehavior, selectionBehavior, requiredBehavior 1806 , precheckBehavior, cardinalityBehavior, resource, action); 1807 } 1808 1809 public String fhirType() { 1810 return "RequestGroup.action"; 1811 1812 } 1813 1814 } 1815 1816 @Block() 1817 public static class RequestGroupActionConditionComponent extends BackboneElement implements IBaseBackboneElement { 1818 /** 1819 * The kind of condition. 1820 */ 1821 @Child(name = "kind", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1822 @Description(shortDefinition="applicability | start | stop", formalDefinition="The kind of condition." ) 1823 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-condition-kind") 1824 protected Enumeration<ActionConditionKind> kind; 1825 1826 /** 1827 * An expression that returns true or false, indicating whether or not the condition is satisfied. 1828 */ 1829 @Child(name = "expression", type = {Expression.class}, order=2, min=0, max=1, modifier=false, summary=false) 1830 @Description(shortDefinition="Boolean-valued expression", formalDefinition="An expression that returns true or false, indicating whether or not the condition is satisfied." ) 1831 protected Expression expression; 1832 1833 private static final long serialVersionUID = -455150438L; 1834 1835 /** 1836 * Constructor 1837 */ 1838 public RequestGroupActionConditionComponent() { 1839 super(); 1840 } 1841 1842 /** 1843 * Constructor 1844 */ 1845 public RequestGroupActionConditionComponent(ActionConditionKind kind) { 1846 super(); 1847 this.setKind(kind); 1848 } 1849 1850 /** 1851 * @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 1852 */ 1853 public Enumeration<ActionConditionKind> getKindElement() { 1854 if (this.kind == null) 1855 if (Configuration.errorOnAutoCreate()) 1856 throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.kind"); 1857 else if (Configuration.doAutoCreate()) 1858 this.kind = new Enumeration<ActionConditionKind>(new ActionConditionKindEnumFactory()); // bb 1859 return this.kind; 1860 } 1861 1862 public boolean hasKindElement() { 1863 return this.kind != null && !this.kind.isEmpty(); 1864 } 1865 1866 public boolean hasKind() { 1867 return this.kind != null && !this.kind.isEmpty(); 1868 } 1869 1870 /** 1871 * @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 1872 */ 1873 public RequestGroupActionConditionComponent setKindElement(Enumeration<ActionConditionKind> value) { 1874 this.kind = value; 1875 return this; 1876 } 1877 1878 /** 1879 * @return The kind of condition. 1880 */ 1881 public ActionConditionKind getKind() { 1882 return this.kind == null ? null : this.kind.getValue(); 1883 } 1884 1885 /** 1886 * @param value The kind of condition. 1887 */ 1888 public RequestGroupActionConditionComponent setKind(ActionConditionKind value) { 1889 if (this.kind == null) 1890 this.kind = new Enumeration<ActionConditionKind>(new ActionConditionKindEnumFactory()); 1891 this.kind.setValue(value); 1892 return this; 1893 } 1894 1895 /** 1896 * @return {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.) 1897 */ 1898 public Expression getExpression() { 1899 if (this.expression == null) 1900 if (Configuration.errorOnAutoCreate()) 1901 throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.expression"); 1902 else if (Configuration.doAutoCreate()) 1903 this.expression = new Expression(); // cc 1904 return this.expression; 1905 } 1906 1907 public boolean hasExpression() { 1908 return this.expression != null && !this.expression.isEmpty(); 1909 } 1910 1911 /** 1912 * @param value {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.) 1913 */ 1914 public RequestGroupActionConditionComponent setExpression(Expression value) { 1915 this.expression = value; 1916 return this; 1917 } 1918 1919 protected void listChildren(List<Property> children) { 1920 super.listChildren(children); 1921 children.add(new Property("kind", "code", "The kind of condition.", 0, 1, kind)); 1922 children.add(new Property("expression", "Expression", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression)); 1923 } 1924 1925 @Override 1926 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1927 switch (_hash) { 1928 case 3292052: /*kind*/ return new Property("kind", "code", "The kind of condition.", 0, 1, kind); 1929 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); 1930 default: return super.getNamedProperty(_hash, _name, _checkValid); 1931 } 1932 1933 } 1934 1935 @Override 1936 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1937 switch (hash) { 1938 case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<ActionConditionKind> 1939 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression 1940 default: return super.getProperty(hash, name, checkValid); 1941 } 1942 1943 } 1944 1945 @Override 1946 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1947 switch (hash) { 1948 case 3292052: // kind 1949 value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 1950 this.kind = (Enumeration) value; // Enumeration<ActionConditionKind> 1951 return value; 1952 case -1795452264: // expression 1953 this.expression = TypeConvertor.castToExpression(value); // Expression 1954 return value; 1955 default: return super.setProperty(hash, name, value); 1956 } 1957 1958 } 1959 1960 @Override 1961 public Base setProperty(String name, Base value) throws FHIRException { 1962 if (name.equals("kind")) { 1963 value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 1964 this.kind = (Enumeration) value; // Enumeration<ActionConditionKind> 1965 } else if (name.equals("expression")) { 1966 this.expression = TypeConvertor.castToExpression(value); // Expression 1967 } else 1968 return super.setProperty(name, value); 1969 return value; 1970 } 1971 1972 @Override 1973 public Base makeProperty(int hash, String name) throws FHIRException { 1974 switch (hash) { 1975 case 3292052: return getKindElement(); 1976 case -1795452264: return getExpression(); 1977 default: return super.makeProperty(hash, name); 1978 } 1979 1980 } 1981 1982 @Override 1983 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1984 switch (hash) { 1985 case 3292052: /*kind*/ return new String[] {"code"}; 1986 case -1795452264: /*expression*/ return new String[] {"Expression"}; 1987 default: return super.getTypesForProperty(hash, name); 1988 } 1989 1990 } 1991 1992 @Override 1993 public Base addChild(String name) throws FHIRException { 1994 if (name.equals("kind")) { 1995 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.condition.kind"); 1996 } 1997 else if (name.equals("expression")) { 1998 this.expression = new Expression(); 1999 return this.expression; 2000 } 2001 else 2002 return super.addChild(name); 2003 } 2004 2005 public RequestGroupActionConditionComponent copy() { 2006 RequestGroupActionConditionComponent dst = new RequestGroupActionConditionComponent(); 2007 copyValues(dst); 2008 return dst; 2009 } 2010 2011 public void copyValues(RequestGroupActionConditionComponent dst) { 2012 super.copyValues(dst); 2013 dst.kind = kind == null ? null : kind.copy(); 2014 dst.expression = expression == null ? null : expression.copy(); 2015 } 2016 2017 @Override 2018 public boolean equalsDeep(Base other_) { 2019 if (!super.equalsDeep(other_)) 2020 return false; 2021 if (!(other_ instanceof RequestGroupActionConditionComponent)) 2022 return false; 2023 RequestGroupActionConditionComponent o = (RequestGroupActionConditionComponent) other_; 2024 return compareDeep(kind, o.kind, true) && compareDeep(expression, o.expression, true); 2025 } 2026 2027 @Override 2028 public boolean equalsShallow(Base other_) { 2029 if (!super.equalsShallow(other_)) 2030 return false; 2031 if (!(other_ instanceof RequestGroupActionConditionComponent)) 2032 return false; 2033 RequestGroupActionConditionComponent o = (RequestGroupActionConditionComponent) other_; 2034 return compareValues(kind, o.kind, true); 2035 } 2036 2037 public boolean isEmpty() { 2038 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(kind, expression); 2039 } 2040 2041 public String fhirType() { 2042 return "RequestGroup.action.condition"; 2043 2044 } 2045 2046 } 2047 2048 @Block() 2049 public static class RequestGroupActionRelatedActionComponent extends BackboneElement implements IBaseBackboneElement { 2050 /** 2051 * The element id of the target related action. 2052 */ 2053 @Child(name = "targetId", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2054 @Description(shortDefinition="What action this is related to", formalDefinition="The element id of the target related action." ) 2055 protected IdType targetId; 2056 2057 /** 2058 * The relationship of this action to the related action. 2059 */ 2060 @Child(name = "relationship", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 2061 @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." ) 2062 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-relationship-type") 2063 protected Enumeration<ActionRelationshipType> relationship; 2064 2065 /** 2066 * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. 2067 */ 2068 @Child(name = "offset", type = {Duration.class, Range.class}, order=3, min=0, max=1, modifier=false, summary=false) 2069 @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." ) 2070 protected DataType offset; 2071 2072 private static final long serialVersionUID = -462773513L; 2073 2074 /** 2075 * Constructor 2076 */ 2077 public RequestGroupActionRelatedActionComponent() { 2078 super(); 2079 } 2080 2081 /** 2082 * Constructor 2083 */ 2084 public RequestGroupActionRelatedActionComponent(String targetId, ActionRelationshipType relationship) { 2085 super(); 2086 this.setTargetId(targetId); 2087 this.setRelationship(relationship); 2088 } 2089 2090 /** 2091 * @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 2092 */ 2093 public IdType getTargetIdElement() { 2094 if (this.targetId == null) 2095 if (Configuration.errorOnAutoCreate()) 2096 throw new Error("Attempt to auto-create RequestGroupActionRelatedActionComponent.targetId"); 2097 else if (Configuration.doAutoCreate()) 2098 this.targetId = new IdType(); // bb 2099 return this.targetId; 2100 } 2101 2102 public boolean hasTargetIdElement() { 2103 return this.targetId != null && !this.targetId.isEmpty(); 2104 } 2105 2106 public boolean hasTargetId() { 2107 return this.targetId != null && !this.targetId.isEmpty(); 2108 } 2109 2110 /** 2111 * @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 2112 */ 2113 public RequestGroupActionRelatedActionComponent setTargetIdElement(IdType value) { 2114 this.targetId = value; 2115 return this; 2116 } 2117 2118 /** 2119 * @return The element id of the target related action. 2120 */ 2121 public String getTargetId() { 2122 return this.targetId == null ? null : this.targetId.getValue(); 2123 } 2124 2125 /** 2126 * @param value The element id of the target related action. 2127 */ 2128 public RequestGroupActionRelatedActionComponent setTargetId(String value) { 2129 if (this.targetId == null) 2130 this.targetId = new IdType(); 2131 this.targetId.setValue(value); 2132 return this; 2133 } 2134 2135 /** 2136 * @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 2137 */ 2138 public Enumeration<ActionRelationshipType> getRelationshipElement() { 2139 if (this.relationship == null) 2140 if (Configuration.errorOnAutoCreate()) 2141 throw new Error("Attempt to auto-create RequestGroupActionRelatedActionComponent.relationship"); 2142 else if (Configuration.doAutoCreate()) 2143 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); // bb 2144 return this.relationship; 2145 } 2146 2147 public boolean hasRelationshipElement() { 2148 return this.relationship != null && !this.relationship.isEmpty(); 2149 } 2150 2151 public boolean hasRelationship() { 2152 return this.relationship != null && !this.relationship.isEmpty(); 2153 } 2154 2155 /** 2156 * @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 2157 */ 2158 public RequestGroupActionRelatedActionComponent setRelationshipElement(Enumeration<ActionRelationshipType> value) { 2159 this.relationship = value; 2160 return this; 2161 } 2162 2163 /** 2164 * @return The relationship of this action to the related action. 2165 */ 2166 public ActionRelationshipType getRelationship() { 2167 return this.relationship == null ? null : this.relationship.getValue(); 2168 } 2169 2170 /** 2171 * @param value The relationship of this action to the related action. 2172 */ 2173 public RequestGroupActionRelatedActionComponent setRelationship(ActionRelationshipType value) { 2174 if (this.relationship == null) 2175 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); 2176 this.relationship.setValue(value); 2177 return this; 2178 } 2179 2180 /** 2181 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 2182 */ 2183 public DataType getOffset() { 2184 return this.offset; 2185 } 2186 2187 /** 2188 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 2189 */ 2190 public Duration getOffsetDuration() throws FHIRException { 2191 if (this.offset == null) 2192 this.offset = new Duration(); 2193 if (!(this.offset instanceof Duration)) 2194 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.offset.getClass().getName()+" was encountered"); 2195 return (Duration) this.offset; 2196 } 2197 2198 public boolean hasOffsetDuration() { 2199 return this != null && this.offset instanceof Duration; 2200 } 2201 2202 /** 2203 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 2204 */ 2205 public Range getOffsetRange() throws FHIRException { 2206 if (this.offset == null) 2207 this.offset = new Range(); 2208 if (!(this.offset instanceof Range)) 2209 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.offset.getClass().getName()+" was encountered"); 2210 return (Range) this.offset; 2211 } 2212 2213 public boolean hasOffsetRange() { 2214 return this != null && this.offset instanceof Range; 2215 } 2216 2217 public boolean hasOffset() { 2218 return this.offset != null && !this.offset.isEmpty(); 2219 } 2220 2221 /** 2222 * @param value {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 2223 */ 2224 public RequestGroupActionRelatedActionComponent setOffset(DataType value) { 2225 if (value != null && !(value instanceof Duration || value instanceof Range)) 2226 throw new Error("Not the right type for RequestGroup.action.relatedAction.offset[x]: "+value.fhirType()); 2227 this.offset = value; 2228 return this; 2229 } 2230 2231 protected void listChildren(List<Property> children) { 2232 super.listChildren(children); 2233 children.add(new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId)); 2234 children.add(new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship)); 2235 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)); 2236 } 2237 2238 @Override 2239 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2240 switch (_hash) { 2241 case -441951604: /*targetId*/ return new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId); 2242 case -261851592: /*relationship*/ return new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship); 2243 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); 2244 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); 2245 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); 2246 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); 2247 default: return super.getNamedProperty(_hash, _name, _checkValid); 2248 } 2249 2250 } 2251 2252 @Override 2253 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2254 switch (hash) { 2255 case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType 2256 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Enumeration<ActionRelationshipType> 2257 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // DataType 2258 default: return super.getProperty(hash, name, checkValid); 2259 } 2260 2261 } 2262 2263 @Override 2264 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2265 switch (hash) { 2266 case -441951604: // targetId 2267 this.targetId = TypeConvertor.castToId(value); // IdType 2268 return value; 2269 case -261851592: // relationship 2270 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2271 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 2272 return value; 2273 case -1019779949: // offset 2274 this.offset = TypeConvertor.castToType(value); // DataType 2275 return value; 2276 default: return super.setProperty(hash, name, value); 2277 } 2278 2279 } 2280 2281 @Override 2282 public Base setProperty(String name, Base value) throws FHIRException { 2283 if (name.equals("targetId")) { 2284 this.targetId = TypeConvertor.castToId(value); // IdType 2285 } else if (name.equals("relationship")) { 2286 value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2287 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 2288 } else if (name.equals("offset[x]")) { 2289 this.offset = TypeConvertor.castToType(value); // DataType 2290 } else 2291 return super.setProperty(name, value); 2292 return value; 2293 } 2294 2295 @Override 2296 public Base makeProperty(int hash, String name) throws FHIRException { 2297 switch (hash) { 2298 case -441951604: return getTargetIdElement(); 2299 case -261851592: return getRelationshipElement(); 2300 case -1960684787: return getOffset(); 2301 case -1019779949: return getOffset(); 2302 default: return super.makeProperty(hash, name); 2303 } 2304 2305 } 2306 2307 @Override 2308 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2309 switch (hash) { 2310 case -441951604: /*targetId*/ return new String[] {"id"}; 2311 case -261851592: /*relationship*/ return new String[] {"code"}; 2312 case -1019779949: /*offset*/ return new String[] {"Duration", "Range"}; 2313 default: return super.getTypesForProperty(hash, name); 2314 } 2315 2316 } 2317 2318 @Override 2319 public Base addChild(String name) throws FHIRException { 2320 if (name.equals("targetId")) { 2321 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.relatedAction.targetId"); 2322 } 2323 else if (name.equals("relationship")) { 2324 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.relatedAction.relationship"); 2325 } 2326 else if (name.equals("offsetDuration")) { 2327 this.offset = new Duration(); 2328 return this.offset; 2329 } 2330 else if (name.equals("offsetRange")) { 2331 this.offset = new Range(); 2332 return this.offset; 2333 } 2334 else 2335 return super.addChild(name); 2336 } 2337 2338 public RequestGroupActionRelatedActionComponent copy() { 2339 RequestGroupActionRelatedActionComponent dst = new RequestGroupActionRelatedActionComponent(); 2340 copyValues(dst); 2341 return dst; 2342 } 2343 2344 public void copyValues(RequestGroupActionRelatedActionComponent dst) { 2345 super.copyValues(dst); 2346 dst.targetId = targetId == null ? null : targetId.copy(); 2347 dst.relationship = relationship == null ? null : relationship.copy(); 2348 dst.offset = offset == null ? null : offset.copy(); 2349 } 2350 2351 @Override 2352 public boolean equalsDeep(Base other_) { 2353 if (!super.equalsDeep(other_)) 2354 return false; 2355 if (!(other_ instanceof RequestGroupActionRelatedActionComponent)) 2356 return false; 2357 RequestGroupActionRelatedActionComponent o = (RequestGroupActionRelatedActionComponent) other_; 2358 return compareDeep(targetId, o.targetId, true) && compareDeep(relationship, o.relationship, true) 2359 && compareDeep(offset, o.offset, true); 2360 } 2361 2362 @Override 2363 public boolean equalsShallow(Base other_) { 2364 if (!super.equalsShallow(other_)) 2365 return false; 2366 if (!(other_ instanceof RequestGroupActionRelatedActionComponent)) 2367 return false; 2368 RequestGroupActionRelatedActionComponent o = (RequestGroupActionRelatedActionComponent) other_; 2369 return compareValues(targetId, o.targetId, true) && compareValues(relationship, o.relationship, true) 2370 ; 2371 } 2372 2373 public boolean isEmpty() { 2374 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(targetId, relationship, offset 2375 ); 2376 } 2377 2378 public String fhirType() { 2379 return "RequestGroup.action.relatedAction"; 2380 2381 } 2382 2383 } 2384 2385 @Block() 2386 public static class RequestGroupActionParticipantComponent extends BackboneElement implements IBaseBackboneElement { 2387 /** 2388 * The type of participant in the action. 2389 */ 2390 @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2391 @Description(shortDefinition="careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson", formalDefinition="The type of participant in the action." ) 2392 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-type") 2393 protected Enumeration<ActionParticipantType> type; 2394 2395 /** 2396 * The type of participant in the action. 2397 */ 2398 @Child(name = "typeReference", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=2, min=0, max=1, modifier=false, summary=false) 2399 @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) 2400 protected Reference typeReference; 2401 2402 /** 2403 * The role the participant should play in performing the described action. 2404 */ 2405 @Child(name = "role", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 2406 @Description(shortDefinition="E.g. Nurse, Surgeon, Parent, etc.", formalDefinition="The role the participant should play in performing the described action." ) 2407 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") 2408 protected CodeableConcept role; 2409 2410 /** 2411 * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. 2412 */ 2413 @Child(name = "function", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 2414 @Description(shortDefinition="E.g. Author, Reviewer, Witness, etc.", formalDefinition="Indicates how the actor will be involved in the action - author, reviewer, witness, etc." ) 2415 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-function") 2416 protected CodeableConcept function; 2417 2418 /** 2419 * A reference to the actual participant. 2420 */ 2421 @Child(name = "actor", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=5, min=0, max=1, modifier=false, summary=false) 2422 @Description(shortDefinition="Who/what is participating?", formalDefinition="A reference to the actual participant." ) 2423 protected Reference actor; 2424 2425 private static final long serialVersionUID = -2026277374L; 2426 2427 /** 2428 * Constructor 2429 */ 2430 public RequestGroupActionParticipantComponent() { 2431 super(); 2432 } 2433 2434 /** 2435 * @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 2436 */ 2437 public Enumeration<ActionParticipantType> getTypeElement() { 2438 if (this.type == null) 2439 if (Configuration.errorOnAutoCreate()) 2440 throw new Error("Attempt to auto-create RequestGroupActionParticipantComponent.type"); 2441 else if (Configuration.doAutoCreate()) 2442 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); // bb 2443 return this.type; 2444 } 2445 2446 public boolean hasTypeElement() { 2447 return this.type != null && !this.type.isEmpty(); 2448 } 2449 2450 public boolean hasType() { 2451 return this.type != null && !this.type.isEmpty(); 2452 } 2453 2454 /** 2455 * @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 2456 */ 2457 public RequestGroupActionParticipantComponent setTypeElement(Enumeration<ActionParticipantType> value) { 2458 this.type = value; 2459 return this; 2460 } 2461 2462 /** 2463 * @return The type of participant in the action. 2464 */ 2465 public ActionParticipantType getType() { 2466 return this.type == null ? null : this.type.getValue(); 2467 } 2468 2469 /** 2470 * @param value The type of participant in the action. 2471 */ 2472 public RequestGroupActionParticipantComponent setType(ActionParticipantType value) { 2473 if (value == null) 2474 this.type = null; 2475 else { 2476 if (this.type == null) 2477 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); 2478 this.type.setValue(value); 2479 } 2480 return this; 2481 } 2482 2483 /** 2484 * @return {@link #typeReference} (The type of participant in the action.) 2485 */ 2486 public Reference getTypeReference() { 2487 if (this.typeReference == null) 2488 if (Configuration.errorOnAutoCreate()) 2489 throw new Error("Attempt to auto-create RequestGroupActionParticipantComponent.typeReference"); 2490 else if (Configuration.doAutoCreate()) 2491 this.typeReference = new Reference(); // cc 2492 return this.typeReference; 2493 } 2494 2495 public boolean hasTypeReference() { 2496 return this.typeReference != null && !this.typeReference.isEmpty(); 2497 } 2498 2499 /** 2500 * @param value {@link #typeReference} (The type of participant in the action.) 2501 */ 2502 public RequestGroupActionParticipantComponent setTypeReference(Reference value) { 2503 this.typeReference = value; 2504 return this; 2505 } 2506 2507 /** 2508 * @return {@link #role} (The role the participant should play in performing the described action.) 2509 */ 2510 public CodeableConcept getRole() { 2511 if (this.role == null) 2512 if (Configuration.errorOnAutoCreate()) 2513 throw new Error("Attempt to auto-create RequestGroupActionParticipantComponent.role"); 2514 else if (Configuration.doAutoCreate()) 2515 this.role = new CodeableConcept(); // cc 2516 return this.role; 2517 } 2518 2519 public boolean hasRole() { 2520 return this.role != null && !this.role.isEmpty(); 2521 } 2522 2523 /** 2524 * @param value {@link #role} (The role the participant should play in performing the described action.) 2525 */ 2526 public RequestGroupActionParticipantComponent setRole(CodeableConcept value) { 2527 this.role = value; 2528 return this; 2529 } 2530 2531 /** 2532 * @return {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) 2533 */ 2534 public CodeableConcept getFunction() { 2535 if (this.function == null) 2536 if (Configuration.errorOnAutoCreate()) 2537 throw new Error("Attempt to auto-create RequestGroupActionParticipantComponent.function"); 2538 else if (Configuration.doAutoCreate()) 2539 this.function = new CodeableConcept(); // cc 2540 return this.function; 2541 } 2542 2543 public boolean hasFunction() { 2544 return this.function != null && !this.function.isEmpty(); 2545 } 2546 2547 /** 2548 * @param value {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) 2549 */ 2550 public RequestGroupActionParticipantComponent setFunction(CodeableConcept value) { 2551 this.function = value; 2552 return this; 2553 } 2554 2555 /** 2556 * @return {@link #actor} (A reference to the actual participant.) 2557 */ 2558 public Reference getActor() { 2559 if (this.actor == null) 2560 if (Configuration.errorOnAutoCreate()) 2561 throw new Error("Attempt to auto-create RequestGroupActionParticipantComponent.actor"); 2562 else if (Configuration.doAutoCreate()) 2563 this.actor = new Reference(); // cc 2564 return this.actor; 2565 } 2566 2567 public boolean hasActor() { 2568 return this.actor != null && !this.actor.isEmpty(); 2569 } 2570 2571 /** 2572 * @param value {@link #actor} (A reference to the actual participant.) 2573 */ 2574 public RequestGroupActionParticipantComponent setActor(Reference value) { 2575 this.actor = value; 2576 return this; 2577 } 2578 2579 protected void listChildren(List<Property> children) { 2580 super.listChildren(children); 2581 children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); 2582 children.add(new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); 2583 children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); 2584 children.add(new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function)); 2585 children.add(new Property("actor", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor)); 2586 } 2587 2588 @Override 2589 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2590 switch (_hash) { 2591 case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); 2592 case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); 2593 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); 2594 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); 2595 case 92645877: /*actor*/ return new Property("actor", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); 2596 default: return super.getNamedProperty(_hash, _name, _checkValid); 2597 } 2598 2599 } 2600 2601 @Override 2602 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2603 switch (hash) { 2604 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ActionParticipantType> 2605 case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference 2606 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 2607 case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept 2608 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference 2609 default: return super.getProperty(hash, name, checkValid); 2610 } 2611 2612 } 2613 2614 @Override 2615 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2616 switch (hash) { 2617 case 3575610: // type 2618 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2619 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 2620 return value; 2621 case 2074825009: // typeReference 2622 this.typeReference = TypeConvertor.castToReference(value); // Reference 2623 return value; 2624 case 3506294: // role 2625 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2626 return value; 2627 case 1380938712: // function 2628 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2629 return value; 2630 case 92645877: // actor 2631 this.actor = TypeConvertor.castToReference(value); // Reference 2632 return value; 2633 default: return super.setProperty(hash, name, value); 2634 } 2635 2636 } 2637 2638 @Override 2639 public Base setProperty(String name, Base value) throws FHIRException { 2640 if (name.equals("type")) { 2641 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2642 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 2643 } else if (name.equals("typeReference")) { 2644 this.typeReference = TypeConvertor.castToReference(value); // Reference 2645 } else if (name.equals("role")) { 2646 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2647 } else if (name.equals("function")) { 2648 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2649 } else if (name.equals("actor")) { 2650 this.actor = TypeConvertor.castToReference(value); // Reference 2651 } else 2652 return super.setProperty(name, value); 2653 return value; 2654 } 2655 2656 @Override 2657 public Base makeProperty(int hash, String name) throws FHIRException { 2658 switch (hash) { 2659 case 3575610: return getTypeElement(); 2660 case 2074825009: return getTypeReference(); 2661 case 3506294: return getRole(); 2662 case 1380938712: return getFunction(); 2663 case 92645877: return getActor(); 2664 default: return super.makeProperty(hash, name); 2665 } 2666 2667 } 2668 2669 @Override 2670 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2671 switch (hash) { 2672 case 3575610: /*type*/ return new String[] {"code"}; 2673 case 2074825009: /*typeReference*/ return new String[] {"Reference"}; 2674 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 2675 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 2676 case 92645877: /*actor*/ return new String[] {"Reference"}; 2677 default: return super.getTypesForProperty(hash, name); 2678 } 2679 2680 } 2681 2682 @Override 2683 public Base addChild(String name) throws FHIRException { 2684 if (name.equals("type")) { 2685 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.action.participant.type"); 2686 } 2687 else if (name.equals("typeReference")) { 2688 this.typeReference = new Reference(); 2689 return this.typeReference; 2690 } 2691 else if (name.equals("role")) { 2692 this.role = new CodeableConcept(); 2693 return this.role; 2694 } 2695 else if (name.equals("function")) { 2696 this.function = new CodeableConcept(); 2697 return this.function; 2698 } 2699 else if (name.equals("actor")) { 2700 this.actor = new Reference(); 2701 return this.actor; 2702 } 2703 else 2704 return super.addChild(name); 2705 } 2706 2707 public RequestGroupActionParticipantComponent copy() { 2708 RequestGroupActionParticipantComponent dst = new RequestGroupActionParticipantComponent(); 2709 copyValues(dst); 2710 return dst; 2711 } 2712 2713 public void copyValues(RequestGroupActionParticipantComponent dst) { 2714 super.copyValues(dst); 2715 dst.type = type == null ? null : type.copy(); 2716 dst.typeReference = typeReference == null ? null : typeReference.copy(); 2717 dst.role = role == null ? null : role.copy(); 2718 dst.function = function == null ? null : function.copy(); 2719 dst.actor = actor == null ? null : actor.copy(); 2720 } 2721 2722 @Override 2723 public boolean equalsDeep(Base other_) { 2724 if (!super.equalsDeep(other_)) 2725 return false; 2726 if (!(other_ instanceof RequestGroupActionParticipantComponent)) 2727 return false; 2728 RequestGroupActionParticipantComponent o = (RequestGroupActionParticipantComponent) other_; 2729 return compareDeep(type, o.type, true) && compareDeep(typeReference, o.typeReference, true) && compareDeep(role, o.role, true) 2730 && compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true); 2731 } 2732 2733 @Override 2734 public boolean equalsShallow(Base other_) { 2735 if (!super.equalsShallow(other_)) 2736 return false; 2737 if (!(other_ instanceof RequestGroupActionParticipantComponent)) 2738 return false; 2739 RequestGroupActionParticipantComponent o = (RequestGroupActionParticipantComponent) other_; 2740 return compareValues(type, o.type, true); 2741 } 2742 2743 public boolean isEmpty() { 2744 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeReference, role 2745 , function, actor); 2746 } 2747 2748 public String fhirType() { 2749 return "RequestGroup.action.participant"; 2750 2751 } 2752 2753 } 2754 2755 /** 2756 * Allows a service to provide a unique, business identifier for the request. 2757 */ 2758 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2759 @Description(shortDefinition="Business identifier", formalDefinition="Allows a service to provide a unique, business identifier for the request." ) 2760 protected List<Identifier> identifier; 2761 2762 /** 2763 * 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. 2764 */ 2765 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2766 @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." ) 2767 protected List<CanonicalType> instantiatesCanonical; 2768 2769 /** 2770 * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. 2771 */ 2772 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2773 @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." ) 2774 protected List<UriType> instantiatesUri; 2775 2776 /** 2777 * A plan, proposal or order that is fulfilled in whole or in part by this request. 2778 */ 2779 @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2780 @Description(shortDefinition="Fulfills plan, proposal, or order", formalDefinition="A plan, proposal or order that is fulfilled in whole or in part by this request." ) 2781 protected List<Reference> basedOn; 2782 2783 /** 2784 * Completed or terminated request(s) whose function is taken by this new request. 2785 */ 2786 @Child(name = "replaces", type = {Reference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2787 @Description(shortDefinition="Request(s) replaced by this request", formalDefinition="Completed or terminated request(s) whose function is taken by this new request." ) 2788 protected List<Reference> replaces; 2789 2790 /** 2791 * 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. 2792 */ 2793 @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) 2794 @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." ) 2795 protected Identifier groupIdentifier; 2796 2797 /** 2798 * The current state of the request. For request groups, the status reflects the status of all the requests in the group. 2799 */ 2800 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 2801 @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="The current state of the request. For request groups, the status reflects the status of all the requests in the group." ) 2802 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 2803 protected Enumeration<RequestStatus> status; 2804 2805 /** 2806 * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 2807 */ 2808 @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 2809 @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." ) 2810 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 2811 protected Enumeration<RequestIntent> intent; 2812 2813 /** 2814 * Indicates how quickly the request should be addressed with respect to other requests. 2815 */ 2816 @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 2817 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) 2818 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 2819 protected Enumeration<RequestPriority> priority; 2820 2821 /** 2822 * A code that identifies what the overall request group is. 2823 */ 2824 @Child(name = "code", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 2825 @Description(shortDefinition="What's being requested/ordered", formalDefinition="A code that identifies what the overall request group is." ) 2826 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-code") 2827 protected CodeableConcept code; 2828 2829 /** 2830 * The subject for which the request group was created. 2831 */ 2832 @Child(name = "subject", type = {Patient.class, Group.class}, order=10, min=0, max=1, modifier=false, summary=false) 2833 @Description(shortDefinition="Who the request group is about", formalDefinition="The subject for which the request group was created." ) 2834 protected Reference subject; 2835 2836 /** 2837 * Describes the context of the request group, if any. 2838 */ 2839 @Child(name = "encounter", type = {Encounter.class}, order=11, min=0, max=1, modifier=false, summary=false) 2840 @Description(shortDefinition="Created as part of", formalDefinition="Describes the context of the request group, if any." ) 2841 protected Reference encounter; 2842 2843 /** 2844 * Indicates when the request group was created. 2845 */ 2846 @Child(name = "authoredOn", type = {DateTimeType.class}, order=12, min=0, max=1, modifier=false, summary=false) 2847 @Description(shortDefinition="When the request group was authored", formalDefinition="Indicates when the request group was created." ) 2848 protected DateTimeType authoredOn; 2849 2850 /** 2851 * Provides a reference to the author of the request group. 2852 */ 2853 @Child(name = "author", type = {Device.class, Practitioner.class, PractitionerRole.class}, order=13, min=0, max=1, modifier=false, summary=false) 2854 @Description(shortDefinition="Device or practitioner that authored the request group", formalDefinition="Provides a reference to the author of the request group." ) 2855 protected Reference author; 2856 2857 /** 2858 * Describes the reason for the request group in coded or textual form. 2859 */ 2860 @Child(name = "reason", type = {CodeableReference.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2861 @Description(shortDefinition="Why the request group is needed", formalDefinition="Describes the reason for the request group in coded or textual form." ) 2862 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-reason-code") 2863 protected List<CodeableReference> reason; 2864 2865 /** 2866 * Goals that are intended to be achieved by following the requests in this RequestGroup. 2867 */ 2868 @Child(name = "goal", type = {Goal.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2869 @Description(shortDefinition="What goals", formalDefinition="Goals that are intended to be achieved by following the requests in this RequestGroup." ) 2870 protected List<Reference> goal; 2871 2872 /** 2873 * Provides a mechanism to communicate additional information about the response. 2874 */ 2875 @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2876 @Description(shortDefinition="Additional notes about the response", formalDefinition="Provides a mechanism to communicate additional information about the response." ) 2877 protected List<Annotation> note; 2878 2879 /** 2880 * The actions, if any, produced by the evaluation of the artifact. 2881 */ 2882 @Child(name = "action", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2883 @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) 2884 protected List<RequestGroupActionComponent> action; 2885 2886 private static final long serialVersionUID = -2038374873L; 2887 2888 /** 2889 * Constructor 2890 */ 2891 public RequestGroup() { 2892 super(); 2893 } 2894 2895 /** 2896 * Constructor 2897 */ 2898 public RequestGroup(RequestStatus status, RequestIntent intent) { 2899 super(); 2900 this.setStatus(status); 2901 this.setIntent(intent); 2902 } 2903 2904 /** 2905 * @return {@link #identifier} (Allows a service to provide a unique, business identifier for the request.) 2906 */ 2907 public List<Identifier> getIdentifier() { 2908 if (this.identifier == null) 2909 this.identifier = new ArrayList<Identifier>(); 2910 return this.identifier; 2911 } 2912 2913 /** 2914 * @return Returns a reference to <code>this</code> for easy method chaining 2915 */ 2916 public RequestGroup setIdentifier(List<Identifier> theIdentifier) { 2917 this.identifier = theIdentifier; 2918 return this; 2919 } 2920 2921 public boolean hasIdentifier() { 2922 if (this.identifier == null) 2923 return false; 2924 for (Identifier item : this.identifier) 2925 if (!item.isEmpty()) 2926 return true; 2927 return false; 2928 } 2929 2930 public Identifier addIdentifier() { //3 2931 Identifier t = new Identifier(); 2932 if (this.identifier == null) 2933 this.identifier = new ArrayList<Identifier>(); 2934 this.identifier.add(t); 2935 return t; 2936 } 2937 2938 public RequestGroup addIdentifier(Identifier t) { //3 2939 if (t == null) 2940 return this; 2941 if (this.identifier == null) 2942 this.identifier = new ArrayList<Identifier>(); 2943 this.identifier.add(t); 2944 return this; 2945 } 2946 2947 /** 2948 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2949 */ 2950 public Identifier getIdentifierFirstRep() { 2951 if (getIdentifier().isEmpty()) { 2952 addIdentifier(); 2953 } 2954 return getIdentifier().get(0); 2955 } 2956 2957 /** 2958 * @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.) 2959 */ 2960 public List<CanonicalType> getInstantiatesCanonical() { 2961 if (this.instantiatesCanonical == null) 2962 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 2963 return this.instantiatesCanonical; 2964 } 2965 2966 /** 2967 * @return Returns a reference to <code>this</code> for easy method chaining 2968 */ 2969 public RequestGroup setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 2970 this.instantiatesCanonical = theInstantiatesCanonical; 2971 return this; 2972 } 2973 2974 public boolean hasInstantiatesCanonical() { 2975 if (this.instantiatesCanonical == null) 2976 return false; 2977 for (CanonicalType item : this.instantiatesCanonical) 2978 if (!item.isEmpty()) 2979 return true; 2980 return false; 2981 } 2982 2983 /** 2984 * @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.) 2985 */ 2986 public CanonicalType addInstantiatesCanonicalElement() {//2 2987 CanonicalType t = new CanonicalType(); 2988 if (this.instantiatesCanonical == null) 2989 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 2990 this.instantiatesCanonical.add(t); 2991 return t; 2992 } 2993 2994 /** 2995 * @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.) 2996 */ 2997 public RequestGroup addInstantiatesCanonical(String value) { //1 2998 CanonicalType t = new CanonicalType(); 2999 t.setValue(value); 3000 if (this.instantiatesCanonical == null) 3001 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 3002 this.instantiatesCanonical.add(t); 3003 return this; 3004 } 3005 3006 /** 3007 * @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.) 3008 */ 3009 public boolean hasInstantiatesCanonical(String value) { 3010 if (this.instantiatesCanonical == null) 3011 return false; 3012 for (CanonicalType v : this.instantiatesCanonical) 3013 if (v.getValue().equals(value)) // canonical 3014 return true; 3015 return false; 3016 } 3017 3018 /** 3019 * @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.) 3020 */ 3021 public List<UriType> getInstantiatesUri() { 3022 if (this.instantiatesUri == null) 3023 this.instantiatesUri = new ArrayList<UriType>(); 3024 return this.instantiatesUri; 3025 } 3026 3027 /** 3028 * @return Returns a reference to <code>this</code> for easy method chaining 3029 */ 3030 public RequestGroup setInstantiatesUri(List<UriType> theInstantiatesUri) { 3031 this.instantiatesUri = theInstantiatesUri; 3032 return this; 3033 } 3034 3035 public boolean hasInstantiatesUri() { 3036 if (this.instantiatesUri == null) 3037 return false; 3038 for (UriType item : this.instantiatesUri) 3039 if (!item.isEmpty()) 3040 return true; 3041 return false; 3042 } 3043 3044 /** 3045 * @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.) 3046 */ 3047 public UriType addInstantiatesUriElement() {//2 3048 UriType t = new UriType(); 3049 if (this.instantiatesUri == null) 3050 this.instantiatesUri = new ArrayList<UriType>(); 3051 this.instantiatesUri.add(t); 3052 return t; 3053 } 3054 3055 /** 3056 * @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.) 3057 */ 3058 public RequestGroup addInstantiatesUri(String value) { //1 3059 UriType t = new UriType(); 3060 t.setValue(value); 3061 if (this.instantiatesUri == null) 3062 this.instantiatesUri = new ArrayList<UriType>(); 3063 this.instantiatesUri.add(t); 3064 return this; 3065 } 3066 3067 /** 3068 * @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.) 3069 */ 3070 public boolean hasInstantiatesUri(String value) { 3071 if (this.instantiatesUri == null) 3072 return false; 3073 for (UriType v : this.instantiatesUri) 3074 if (v.getValue().equals(value)) // uri 3075 return true; 3076 return false; 3077 } 3078 3079 /** 3080 * @return {@link #basedOn} (A plan, proposal or order that is fulfilled in whole or in part by this request.) 3081 */ 3082 public List<Reference> getBasedOn() { 3083 if (this.basedOn == null) 3084 this.basedOn = new ArrayList<Reference>(); 3085 return this.basedOn; 3086 } 3087 3088 /** 3089 * @return Returns a reference to <code>this</code> for easy method chaining 3090 */ 3091 public RequestGroup setBasedOn(List<Reference> theBasedOn) { 3092 this.basedOn = theBasedOn; 3093 return this; 3094 } 3095 3096 public boolean hasBasedOn() { 3097 if (this.basedOn == null) 3098 return false; 3099 for (Reference item : this.basedOn) 3100 if (!item.isEmpty()) 3101 return true; 3102 return false; 3103 } 3104 3105 public Reference addBasedOn() { //3 3106 Reference t = new Reference(); 3107 if (this.basedOn == null) 3108 this.basedOn = new ArrayList<Reference>(); 3109 this.basedOn.add(t); 3110 return t; 3111 } 3112 3113 public RequestGroup addBasedOn(Reference t) { //3 3114 if (t == null) 3115 return this; 3116 if (this.basedOn == null) 3117 this.basedOn = new ArrayList<Reference>(); 3118 this.basedOn.add(t); 3119 return this; 3120 } 3121 3122 /** 3123 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 3124 */ 3125 public Reference getBasedOnFirstRep() { 3126 if (getBasedOn().isEmpty()) { 3127 addBasedOn(); 3128 } 3129 return getBasedOn().get(0); 3130 } 3131 3132 /** 3133 * @return {@link #replaces} (Completed or terminated request(s) whose function is taken by this new request.) 3134 */ 3135 public List<Reference> getReplaces() { 3136 if (this.replaces == null) 3137 this.replaces = new ArrayList<Reference>(); 3138 return this.replaces; 3139 } 3140 3141 /** 3142 * @return Returns a reference to <code>this</code> for easy method chaining 3143 */ 3144 public RequestGroup setReplaces(List<Reference> theReplaces) { 3145 this.replaces = theReplaces; 3146 return this; 3147 } 3148 3149 public boolean hasReplaces() { 3150 if (this.replaces == null) 3151 return false; 3152 for (Reference item : this.replaces) 3153 if (!item.isEmpty()) 3154 return true; 3155 return false; 3156 } 3157 3158 public Reference addReplaces() { //3 3159 Reference t = new Reference(); 3160 if (this.replaces == null) 3161 this.replaces = new ArrayList<Reference>(); 3162 this.replaces.add(t); 3163 return t; 3164 } 3165 3166 public RequestGroup addReplaces(Reference t) { //3 3167 if (t == null) 3168 return this; 3169 if (this.replaces == null) 3170 this.replaces = new ArrayList<Reference>(); 3171 this.replaces.add(t); 3172 return this; 3173 } 3174 3175 /** 3176 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist {3} 3177 */ 3178 public Reference getReplacesFirstRep() { 3179 if (getReplaces().isEmpty()) { 3180 addReplaces(); 3181 } 3182 return getReplaces().get(0); 3183 } 3184 3185 /** 3186 * @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.) 3187 */ 3188 public Identifier getGroupIdentifier() { 3189 if (this.groupIdentifier == null) 3190 if (Configuration.errorOnAutoCreate()) 3191 throw new Error("Attempt to auto-create RequestGroup.groupIdentifier"); 3192 else if (Configuration.doAutoCreate()) 3193 this.groupIdentifier = new Identifier(); // cc 3194 return this.groupIdentifier; 3195 } 3196 3197 public boolean hasGroupIdentifier() { 3198 return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); 3199 } 3200 3201 /** 3202 * @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.) 3203 */ 3204 public RequestGroup setGroupIdentifier(Identifier value) { 3205 this.groupIdentifier = value; 3206 return this; 3207 } 3208 3209 /** 3210 * @return {@link #status} (The current state of the request. For request groups, the status reflects the status of all the requests in the group.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3211 */ 3212 public Enumeration<RequestStatus> getStatusElement() { 3213 if (this.status == null) 3214 if (Configuration.errorOnAutoCreate()) 3215 throw new Error("Attempt to auto-create RequestGroup.status"); 3216 else if (Configuration.doAutoCreate()) 3217 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 3218 return this.status; 3219 } 3220 3221 public boolean hasStatusElement() { 3222 return this.status != null && !this.status.isEmpty(); 3223 } 3224 3225 public boolean hasStatus() { 3226 return this.status != null && !this.status.isEmpty(); 3227 } 3228 3229 /** 3230 * @param value {@link #status} (The current state of the request. For request groups, the status reflects the status of all the requests in the group.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3231 */ 3232 public RequestGroup setStatusElement(Enumeration<RequestStatus> value) { 3233 this.status = value; 3234 return this; 3235 } 3236 3237 /** 3238 * @return The current state of the request. For request groups, the status reflects the status of all the requests in the group. 3239 */ 3240 public RequestStatus getStatus() { 3241 return this.status == null ? null : this.status.getValue(); 3242 } 3243 3244 /** 3245 * @param value The current state of the request. For request groups, the status reflects the status of all the requests in the group. 3246 */ 3247 public RequestGroup setStatus(RequestStatus value) { 3248 if (this.status == null) 3249 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 3250 this.status.setValue(value); 3251 return this; 3252 } 3253 3254 /** 3255 * @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 3256 */ 3257 public Enumeration<RequestIntent> getIntentElement() { 3258 if (this.intent == null) 3259 if (Configuration.errorOnAutoCreate()) 3260 throw new Error("Attempt to auto-create RequestGroup.intent"); 3261 else if (Configuration.doAutoCreate()) 3262 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 3263 return this.intent; 3264 } 3265 3266 public boolean hasIntentElement() { 3267 return this.intent != null && !this.intent.isEmpty(); 3268 } 3269 3270 public boolean hasIntent() { 3271 return this.intent != null && !this.intent.isEmpty(); 3272 } 3273 3274 /** 3275 * @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 3276 */ 3277 public RequestGroup setIntentElement(Enumeration<RequestIntent> value) { 3278 this.intent = value; 3279 return this; 3280 } 3281 3282 /** 3283 * @return Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 3284 */ 3285 public RequestIntent getIntent() { 3286 return this.intent == null ? null : this.intent.getValue(); 3287 } 3288 3289 /** 3290 * @param value Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 3291 */ 3292 public RequestGroup setIntent(RequestIntent value) { 3293 if (this.intent == null) 3294 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 3295 this.intent.setValue(value); 3296 return this; 3297 } 3298 3299 /** 3300 * @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 3301 */ 3302 public Enumeration<RequestPriority> getPriorityElement() { 3303 if (this.priority == null) 3304 if (Configuration.errorOnAutoCreate()) 3305 throw new Error("Attempt to auto-create RequestGroup.priority"); 3306 else if (Configuration.doAutoCreate()) 3307 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 3308 return this.priority; 3309 } 3310 3311 public boolean hasPriorityElement() { 3312 return this.priority != null && !this.priority.isEmpty(); 3313 } 3314 3315 public boolean hasPriority() { 3316 return this.priority != null && !this.priority.isEmpty(); 3317 } 3318 3319 /** 3320 * @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 3321 */ 3322 public RequestGroup setPriorityElement(Enumeration<RequestPriority> value) { 3323 this.priority = value; 3324 return this; 3325 } 3326 3327 /** 3328 * @return Indicates how quickly the request should be addressed with respect to other requests. 3329 */ 3330 public RequestPriority getPriority() { 3331 return this.priority == null ? null : this.priority.getValue(); 3332 } 3333 3334 /** 3335 * @param value Indicates how quickly the request should be addressed with respect to other requests. 3336 */ 3337 public RequestGroup setPriority(RequestPriority value) { 3338 if (value == null) 3339 this.priority = null; 3340 else { 3341 if (this.priority == null) 3342 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 3343 this.priority.setValue(value); 3344 } 3345 return this; 3346 } 3347 3348 /** 3349 * @return {@link #code} (A code that identifies what the overall request group is.) 3350 */ 3351 public CodeableConcept getCode() { 3352 if (this.code == null) 3353 if (Configuration.errorOnAutoCreate()) 3354 throw new Error("Attempt to auto-create RequestGroup.code"); 3355 else if (Configuration.doAutoCreate()) 3356 this.code = new CodeableConcept(); // cc 3357 return this.code; 3358 } 3359 3360 public boolean hasCode() { 3361 return this.code != null && !this.code.isEmpty(); 3362 } 3363 3364 /** 3365 * @param value {@link #code} (A code that identifies what the overall request group is.) 3366 */ 3367 public RequestGroup setCode(CodeableConcept value) { 3368 this.code = value; 3369 return this; 3370 } 3371 3372 /** 3373 * @return {@link #subject} (The subject for which the request group was created.) 3374 */ 3375 public Reference getSubject() { 3376 if (this.subject == null) 3377 if (Configuration.errorOnAutoCreate()) 3378 throw new Error("Attempt to auto-create RequestGroup.subject"); 3379 else if (Configuration.doAutoCreate()) 3380 this.subject = new Reference(); // cc 3381 return this.subject; 3382 } 3383 3384 public boolean hasSubject() { 3385 return this.subject != null && !this.subject.isEmpty(); 3386 } 3387 3388 /** 3389 * @param value {@link #subject} (The subject for which the request group was created.) 3390 */ 3391 public RequestGroup setSubject(Reference value) { 3392 this.subject = value; 3393 return this; 3394 } 3395 3396 /** 3397 * @return {@link #encounter} (Describes the context of the request group, if any.) 3398 */ 3399 public Reference getEncounter() { 3400 if (this.encounter == null) 3401 if (Configuration.errorOnAutoCreate()) 3402 throw new Error("Attempt to auto-create RequestGroup.encounter"); 3403 else if (Configuration.doAutoCreate()) 3404 this.encounter = new Reference(); // cc 3405 return this.encounter; 3406 } 3407 3408 public boolean hasEncounter() { 3409 return this.encounter != null && !this.encounter.isEmpty(); 3410 } 3411 3412 /** 3413 * @param value {@link #encounter} (Describes the context of the request group, if any.) 3414 */ 3415 public RequestGroup setEncounter(Reference value) { 3416 this.encounter = value; 3417 return this; 3418 } 3419 3420 /** 3421 * @return {@link #authoredOn} (Indicates when the request group was created.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 3422 */ 3423 public DateTimeType getAuthoredOnElement() { 3424 if (this.authoredOn == null) 3425 if (Configuration.errorOnAutoCreate()) 3426 throw new Error("Attempt to auto-create RequestGroup.authoredOn"); 3427 else if (Configuration.doAutoCreate()) 3428 this.authoredOn = new DateTimeType(); // bb 3429 return this.authoredOn; 3430 } 3431 3432 public boolean hasAuthoredOnElement() { 3433 return this.authoredOn != null && !this.authoredOn.isEmpty(); 3434 } 3435 3436 public boolean hasAuthoredOn() { 3437 return this.authoredOn != null && !this.authoredOn.isEmpty(); 3438 } 3439 3440 /** 3441 * @param value {@link #authoredOn} (Indicates when the request group was created.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 3442 */ 3443 public RequestGroup setAuthoredOnElement(DateTimeType value) { 3444 this.authoredOn = value; 3445 return this; 3446 } 3447 3448 /** 3449 * @return Indicates when the request group was created. 3450 */ 3451 public Date getAuthoredOn() { 3452 return this.authoredOn == null ? null : this.authoredOn.getValue(); 3453 } 3454 3455 /** 3456 * @param value Indicates when the request group was created. 3457 */ 3458 public RequestGroup setAuthoredOn(Date value) { 3459 if (value == null) 3460 this.authoredOn = null; 3461 else { 3462 if (this.authoredOn == null) 3463 this.authoredOn = new DateTimeType(); 3464 this.authoredOn.setValue(value); 3465 } 3466 return this; 3467 } 3468 3469 /** 3470 * @return {@link #author} (Provides a reference to the author of the request group.) 3471 */ 3472 public Reference getAuthor() { 3473 if (this.author == null) 3474 if (Configuration.errorOnAutoCreate()) 3475 throw new Error("Attempt to auto-create RequestGroup.author"); 3476 else if (Configuration.doAutoCreate()) 3477 this.author = new Reference(); // cc 3478 return this.author; 3479 } 3480 3481 public boolean hasAuthor() { 3482 return this.author != null && !this.author.isEmpty(); 3483 } 3484 3485 /** 3486 * @param value {@link #author} (Provides a reference to the author of the request group.) 3487 */ 3488 public RequestGroup setAuthor(Reference value) { 3489 this.author = value; 3490 return this; 3491 } 3492 3493 /** 3494 * @return {@link #reason} (Describes the reason for the request group in coded or textual form.) 3495 */ 3496 public List<CodeableReference> getReason() { 3497 if (this.reason == null) 3498 this.reason = new ArrayList<CodeableReference>(); 3499 return this.reason; 3500 } 3501 3502 /** 3503 * @return Returns a reference to <code>this</code> for easy method chaining 3504 */ 3505 public RequestGroup setReason(List<CodeableReference> theReason) { 3506 this.reason = theReason; 3507 return this; 3508 } 3509 3510 public boolean hasReason() { 3511 if (this.reason == null) 3512 return false; 3513 for (CodeableReference item : this.reason) 3514 if (!item.isEmpty()) 3515 return true; 3516 return false; 3517 } 3518 3519 public CodeableReference addReason() { //3 3520 CodeableReference t = new CodeableReference(); 3521 if (this.reason == null) 3522 this.reason = new ArrayList<CodeableReference>(); 3523 this.reason.add(t); 3524 return t; 3525 } 3526 3527 public RequestGroup addReason(CodeableReference t) { //3 3528 if (t == null) 3529 return this; 3530 if (this.reason == null) 3531 this.reason = new ArrayList<CodeableReference>(); 3532 this.reason.add(t); 3533 return this; 3534 } 3535 3536 /** 3537 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 3538 */ 3539 public CodeableReference getReasonFirstRep() { 3540 if (getReason().isEmpty()) { 3541 addReason(); 3542 } 3543 return getReason().get(0); 3544 } 3545 3546 /** 3547 * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this RequestGroup.) 3548 */ 3549 public List<Reference> getGoal() { 3550 if (this.goal == null) 3551 this.goal = new ArrayList<Reference>(); 3552 return this.goal; 3553 } 3554 3555 /** 3556 * @return Returns a reference to <code>this</code> for easy method chaining 3557 */ 3558 public RequestGroup setGoal(List<Reference> theGoal) { 3559 this.goal = theGoal; 3560 return this; 3561 } 3562 3563 public boolean hasGoal() { 3564 if (this.goal == null) 3565 return false; 3566 for (Reference item : this.goal) 3567 if (!item.isEmpty()) 3568 return true; 3569 return false; 3570 } 3571 3572 public Reference addGoal() { //3 3573 Reference t = new Reference(); 3574 if (this.goal == null) 3575 this.goal = new ArrayList<Reference>(); 3576 this.goal.add(t); 3577 return t; 3578 } 3579 3580 public RequestGroup addGoal(Reference t) { //3 3581 if (t == null) 3582 return this; 3583 if (this.goal == null) 3584 this.goal = new ArrayList<Reference>(); 3585 this.goal.add(t); 3586 return this; 3587 } 3588 3589 /** 3590 * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} 3591 */ 3592 public Reference getGoalFirstRep() { 3593 if (getGoal().isEmpty()) { 3594 addGoal(); 3595 } 3596 return getGoal().get(0); 3597 } 3598 3599 /** 3600 * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) 3601 */ 3602 public List<Annotation> getNote() { 3603 if (this.note == null) 3604 this.note = new ArrayList<Annotation>(); 3605 return this.note; 3606 } 3607 3608 /** 3609 * @return Returns a reference to <code>this</code> for easy method chaining 3610 */ 3611 public RequestGroup setNote(List<Annotation> theNote) { 3612 this.note = theNote; 3613 return this; 3614 } 3615 3616 public boolean hasNote() { 3617 if (this.note == null) 3618 return false; 3619 for (Annotation item : this.note) 3620 if (!item.isEmpty()) 3621 return true; 3622 return false; 3623 } 3624 3625 public Annotation addNote() { //3 3626 Annotation t = new Annotation(); 3627 if (this.note == null) 3628 this.note = new ArrayList<Annotation>(); 3629 this.note.add(t); 3630 return t; 3631 } 3632 3633 public RequestGroup addNote(Annotation t) { //3 3634 if (t == null) 3635 return this; 3636 if (this.note == null) 3637 this.note = new ArrayList<Annotation>(); 3638 this.note.add(t); 3639 return this; 3640 } 3641 3642 /** 3643 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 3644 */ 3645 public Annotation getNoteFirstRep() { 3646 if (getNote().isEmpty()) { 3647 addNote(); 3648 } 3649 return getNote().get(0); 3650 } 3651 3652 /** 3653 * @return {@link #action} (The actions, if any, produced by the evaluation of the artifact.) 3654 */ 3655 public List<RequestGroupActionComponent> getAction() { 3656 if (this.action == null) 3657 this.action = new ArrayList<RequestGroupActionComponent>(); 3658 return this.action; 3659 } 3660 3661 /** 3662 * @return Returns a reference to <code>this</code> for easy method chaining 3663 */ 3664 public RequestGroup setAction(List<RequestGroupActionComponent> theAction) { 3665 this.action = theAction; 3666 return this; 3667 } 3668 3669 public boolean hasAction() { 3670 if (this.action == null) 3671 return false; 3672 for (RequestGroupActionComponent item : this.action) 3673 if (!item.isEmpty()) 3674 return true; 3675 return false; 3676 } 3677 3678 public RequestGroupActionComponent addAction() { //3 3679 RequestGroupActionComponent t = new RequestGroupActionComponent(); 3680 if (this.action == null) 3681 this.action = new ArrayList<RequestGroupActionComponent>(); 3682 this.action.add(t); 3683 return t; 3684 } 3685 3686 public RequestGroup addAction(RequestGroupActionComponent t) { //3 3687 if (t == null) 3688 return this; 3689 if (this.action == null) 3690 this.action = new ArrayList<RequestGroupActionComponent>(); 3691 this.action.add(t); 3692 return this; 3693 } 3694 3695 /** 3696 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 3697 */ 3698 public RequestGroupActionComponent getActionFirstRep() { 3699 if (getAction().isEmpty()) { 3700 addAction(); 3701 } 3702 return getAction().get(0); 3703 } 3704 3705 protected void listChildren(List<Property> children) { 3706 super.listChildren(children); 3707 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)); 3708 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)); 3709 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)); 3710 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)); 3711 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)); 3712 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)); 3713 children.add(new Property("status", "code", "The current state of the request. For request groups, the status reflects the status of all the requests in the group.", 0, 1, status)); 3714 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)); 3715 children.add(new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority)); 3716 children.add(new Property("code", "CodeableConcept", "A code that identifies what the overall request group is.", 0, 1, code)); 3717 children.add(new Property("subject", "Reference(Patient|Group)", "The subject for which the request group was created.", 0, 1, subject)); 3718 children.add(new Property("encounter", "Reference(Encounter)", "Describes the context of the request group, if any.", 0, 1, encounter)); 3719 children.add(new Property("authoredOn", "dateTime", "Indicates when the request group was created.", 0, 1, authoredOn)); 3720 children.add(new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request group.", 0, 1, author)); 3721 children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the request group in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason)); 3722 children.add(new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this RequestGroup.", 0, java.lang.Integer.MAX_VALUE, goal)); 3723 children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); 3724 children.add(new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action)); 3725 } 3726 3727 @Override 3728 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3729 switch (_hash) { 3730 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); 3731 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); 3732 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); 3733 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); 3734 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); 3735 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); 3736 case -892481550: /*status*/ return new Property("status", "code", "The current state of the request. For request groups, the status reflects the status of all the requests in the group.", 0, 1, status); 3737 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); 3738 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority); 3739 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies what the overall request group is.", 0, 1, code); 3740 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The subject for which the request group was created.", 0, 1, subject); 3741 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "Describes the context of the request group, if any.", 0, 1, encounter); 3742 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "Indicates when the request group was created.", 0, 1, authoredOn); 3743 case -1406328437: /*author*/ return new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request group.", 0, 1, author); 3744 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the request group in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason); 3745 case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this RequestGroup.", 0, java.lang.Integer.MAX_VALUE, goal); 3746 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); 3747 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); 3748 default: return super.getNamedProperty(_hash, _name, _checkValid); 3749 } 3750 3751 } 3752 3753 @Override 3754 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3755 switch (hash) { 3756 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3757 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 3758 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 3759 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 3760 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 3761 case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier 3762 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 3763 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 3764 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 3765 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 3766 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 3767 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 3768 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 3769 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 3770 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 3771 case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference 3772 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 3773 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestGroupActionComponent 3774 default: return super.getProperty(hash, name, checkValid); 3775 } 3776 3777 } 3778 3779 @Override 3780 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3781 switch (hash) { 3782 case -1618432855: // identifier 3783 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3784 return value; 3785 case 8911915: // instantiatesCanonical 3786 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 3787 return value; 3788 case -1926393373: // instantiatesUri 3789 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 3790 return value; 3791 case -332612366: // basedOn 3792 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 3793 return value; 3794 case -430332865: // replaces 3795 this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference 3796 return value; 3797 case -445338488: // groupIdentifier 3798 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 3799 return value; 3800 case -892481550: // status 3801 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3802 this.status = (Enumeration) value; // Enumeration<RequestStatus> 3803 return value; 3804 case -1183762788: // intent 3805 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 3806 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 3807 return value; 3808 case -1165461084: // priority 3809 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 3810 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 3811 return value; 3812 case 3059181: // code 3813 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3814 return value; 3815 case -1867885268: // subject 3816 this.subject = TypeConvertor.castToReference(value); // Reference 3817 return value; 3818 case 1524132147: // encounter 3819 this.encounter = TypeConvertor.castToReference(value); // Reference 3820 return value; 3821 case -1500852503: // authoredOn 3822 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 3823 return value; 3824 case -1406328437: // author 3825 this.author = TypeConvertor.castToReference(value); // Reference 3826 return value; 3827 case -934964668: // reason 3828 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 3829 return value; 3830 case 3178259: // goal 3831 this.getGoal().add(TypeConvertor.castToReference(value)); // Reference 3832 return value; 3833 case 3387378: // note 3834 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 3835 return value; 3836 case -1422950858: // action 3837 this.getAction().add((RequestGroupActionComponent) value); // RequestGroupActionComponent 3838 return value; 3839 default: return super.setProperty(hash, name, value); 3840 } 3841 3842 } 3843 3844 @Override 3845 public Base setProperty(String name, Base value) throws FHIRException { 3846 if (name.equals("identifier")) { 3847 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3848 } else if (name.equals("instantiatesCanonical")) { 3849 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 3850 } else if (name.equals("instantiatesUri")) { 3851 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 3852 } else if (name.equals("basedOn")) { 3853 this.getBasedOn().add(TypeConvertor.castToReference(value)); 3854 } else if (name.equals("replaces")) { 3855 this.getReplaces().add(TypeConvertor.castToReference(value)); 3856 } else if (name.equals("groupIdentifier")) { 3857 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 3858 } else if (name.equals("status")) { 3859 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3860 this.status = (Enumeration) value; // Enumeration<RequestStatus> 3861 } else if (name.equals("intent")) { 3862 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 3863 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 3864 } else if (name.equals("priority")) { 3865 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 3866 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 3867 } else if (name.equals("code")) { 3868 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3869 } else if (name.equals("subject")) { 3870 this.subject = TypeConvertor.castToReference(value); // Reference 3871 } else if (name.equals("encounter")) { 3872 this.encounter = TypeConvertor.castToReference(value); // Reference 3873 } else if (name.equals("authoredOn")) { 3874 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 3875 } else if (name.equals("author")) { 3876 this.author = TypeConvertor.castToReference(value); // Reference 3877 } else if (name.equals("reason")) { 3878 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 3879 } else if (name.equals("goal")) { 3880 this.getGoal().add(TypeConvertor.castToReference(value)); 3881 } else if (name.equals("note")) { 3882 this.getNote().add(TypeConvertor.castToAnnotation(value)); 3883 } else if (name.equals("action")) { 3884 this.getAction().add((RequestGroupActionComponent) value); 3885 } else 3886 return super.setProperty(name, value); 3887 return value; 3888 } 3889 3890 @Override 3891 public Base makeProperty(int hash, String name) throws FHIRException { 3892 switch (hash) { 3893 case -1618432855: return addIdentifier(); 3894 case 8911915: return addInstantiatesCanonicalElement(); 3895 case -1926393373: return addInstantiatesUriElement(); 3896 case -332612366: return addBasedOn(); 3897 case -430332865: return addReplaces(); 3898 case -445338488: return getGroupIdentifier(); 3899 case -892481550: return getStatusElement(); 3900 case -1183762788: return getIntentElement(); 3901 case -1165461084: return getPriorityElement(); 3902 case 3059181: return getCode(); 3903 case -1867885268: return getSubject(); 3904 case 1524132147: return getEncounter(); 3905 case -1500852503: return getAuthoredOnElement(); 3906 case -1406328437: return getAuthor(); 3907 case -934964668: return addReason(); 3908 case 3178259: return addGoal(); 3909 case 3387378: return addNote(); 3910 case -1422950858: return addAction(); 3911 default: return super.makeProperty(hash, name); 3912 } 3913 3914 } 3915 3916 @Override 3917 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3918 switch (hash) { 3919 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3920 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 3921 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 3922 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 3923 case -430332865: /*replaces*/ return new String[] {"Reference"}; 3924 case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; 3925 case -892481550: /*status*/ return new String[] {"code"}; 3926 case -1183762788: /*intent*/ return new String[] {"code"}; 3927 case -1165461084: /*priority*/ return new String[] {"code"}; 3928 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 3929 case -1867885268: /*subject*/ return new String[] {"Reference"}; 3930 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 3931 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 3932 case -1406328437: /*author*/ return new String[] {"Reference"}; 3933 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 3934 case 3178259: /*goal*/ return new String[] {"Reference"}; 3935 case 3387378: /*note*/ return new String[] {"Annotation"}; 3936 case -1422950858: /*action*/ return new String[] {}; 3937 default: return super.getTypesForProperty(hash, name); 3938 } 3939 3940 } 3941 3942 @Override 3943 public Base addChild(String name) throws FHIRException { 3944 if (name.equals("identifier")) { 3945 return addIdentifier(); 3946 } 3947 else if (name.equals("instantiatesCanonical")) { 3948 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.instantiatesCanonical"); 3949 } 3950 else if (name.equals("instantiatesUri")) { 3951 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.instantiatesUri"); 3952 } 3953 else if (name.equals("basedOn")) { 3954 return addBasedOn(); 3955 } 3956 else if (name.equals("replaces")) { 3957 return addReplaces(); 3958 } 3959 else if (name.equals("groupIdentifier")) { 3960 this.groupIdentifier = new Identifier(); 3961 return this.groupIdentifier; 3962 } 3963 else if (name.equals("status")) { 3964 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.status"); 3965 } 3966 else if (name.equals("intent")) { 3967 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.intent"); 3968 } 3969 else if (name.equals("priority")) { 3970 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.priority"); 3971 } 3972 else if (name.equals("code")) { 3973 this.code = new CodeableConcept(); 3974 return this.code; 3975 } 3976 else if (name.equals("subject")) { 3977 this.subject = new Reference(); 3978 return this.subject; 3979 } 3980 else if (name.equals("encounter")) { 3981 this.encounter = new Reference(); 3982 return this.encounter; 3983 } 3984 else if (name.equals("authoredOn")) { 3985 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.authoredOn"); 3986 } 3987 else if (name.equals("author")) { 3988 this.author = new Reference(); 3989 return this.author; 3990 } 3991 else if (name.equals("reason")) { 3992 return addReason(); 3993 } 3994 else if (name.equals("goal")) { 3995 return addGoal(); 3996 } 3997 else if (name.equals("note")) { 3998 return addNote(); 3999 } 4000 else if (name.equals("action")) { 4001 return addAction(); 4002 } 4003 else 4004 return super.addChild(name); 4005 } 4006 4007 public String fhirType() { 4008 return "RequestGroup"; 4009 4010 } 4011 4012 public RequestGroup copy() { 4013 RequestGroup dst = new RequestGroup(); 4014 copyValues(dst); 4015 return dst; 4016 } 4017 4018 public void copyValues(RequestGroup dst) { 4019 super.copyValues(dst); 4020 if (identifier != null) { 4021 dst.identifier = new ArrayList<Identifier>(); 4022 for (Identifier i : identifier) 4023 dst.identifier.add(i.copy()); 4024 }; 4025 if (instantiatesCanonical != null) { 4026 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 4027 for (CanonicalType i : instantiatesCanonical) 4028 dst.instantiatesCanonical.add(i.copy()); 4029 }; 4030 if (instantiatesUri != null) { 4031 dst.instantiatesUri = new ArrayList<UriType>(); 4032 for (UriType i : instantiatesUri) 4033 dst.instantiatesUri.add(i.copy()); 4034 }; 4035 if (basedOn != null) { 4036 dst.basedOn = new ArrayList<Reference>(); 4037 for (Reference i : basedOn) 4038 dst.basedOn.add(i.copy()); 4039 }; 4040 if (replaces != null) { 4041 dst.replaces = new ArrayList<Reference>(); 4042 for (Reference i : replaces) 4043 dst.replaces.add(i.copy()); 4044 }; 4045 dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); 4046 dst.status = status == null ? null : status.copy(); 4047 dst.intent = intent == null ? null : intent.copy(); 4048 dst.priority = priority == null ? null : priority.copy(); 4049 dst.code = code == null ? null : code.copy(); 4050 dst.subject = subject == null ? null : subject.copy(); 4051 dst.encounter = encounter == null ? null : encounter.copy(); 4052 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 4053 dst.author = author == null ? null : author.copy(); 4054 if (reason != null) { 4055 dst.reason = new ArrayList<CodeableReference>(); 4056 for (CodeableReference i : reason) 4057 dst.reason.add(i.copy()); 4058 }; 4059 if (goal != null) { 4060 dst.goal = new ArrayList<Reference>(); 4061 for (Reference i : goal) 4062 dst.goal.add(i.copy()); 4063 }; 4064 if (note != null) { 4065 dst.note = new ArrayList<Annotation>(); 4066 for (Annotation i : note) 4067 dst.note.add(i.copy()); 4068 }; 4069 if (action != null) { 4070 dst.action = new ArrayList<RequestGroupActionComponent>(); 4071 for (RequestGroupActionComponent i : action) 4072 dst.action.add(i.copy()); 4073 }; 4074 } 4075 4076 protected RequestGroup typedCopy() { 4077 return copy(); 4078 } 4079 4080 @Override 4081 public boolean equalsDeep(Base other_) { 4082 if (!super.equalsDeep(other_)) 4083 return false; 4084 if (!(other_ instanceof RequestGroup)) 4085 return false; 4086 RequestGroup o = (RequestGroup) other_; 4087 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 4088 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 4089 && compareDeep(replaces, o.replaces, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) 4090 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 4091 && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) 4092 && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(author, o.author, true) && compareDeep(reason, o.reason, true) 4093 && compareDeep(goal, o.goal, true) && compareDeep(note, o.note, true) && compareDeep(action, o.action, true) 4094 ; 4095 } 4096 4097 @Override 4098 public boolean equalsShallow(Base other_) { 4099 if (!super.equalsShallow(other_)) 4100 return false; 4101 if (!(other_ instanceof RequestGroup)) 4102 return false; 4103 RequestGroup o = (RequestGroup) other_; 4104 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 4105 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 4106 && compareValues(authoredOn, o.authoredOn, true); 4107 } 4108 4109 public boolean isEmpty() { 4110 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 4111 , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority 4112 , code, subject, encounter, authoredOn, author, reason, goal, note, action 4113 ); 4114 } 4115 4116 @Override 4117 public ResourceType getResourceType() { 4118 return ResourceType.RequestGroup; 4119 } 4120 4121 /** 4122 * Search parameter: <b>author</b> 4123 * <p> 4124 * Description: <b>The author of the request group</b><br> 4125 * Type: <b>reference</b><br> 4126 * Path: <b>RequestGroup.author</b><br> 4127 * </p> 4128 */ 4129 @SearchParamDefinition(name="author", path="RequestGroup.author", description="The author of the request group", 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 } ) 4130 public static final String SP_AUTHOR = "author"; 4131 /** 4132 * <b>Fluent Client</b> search parameter constant for <b>author</b> 4133 * <p> 4134 * Description: <b>The author of the request group</b><br> 4135 * Type: <b>reference</b><br> 4136 * Path: <b>RequestGroup.author</b><br> 4137 * </p> 4138 */ 4139 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 4140 4141/** 4142 * Constant for fluent queries to be used to add include statements. Specifies 4143 * the path value of "<b>RequestGroup:author</b>". 4144 */ 4145 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("RequestGroup:author").toLocked(); 4146 4147 /** 4148 * Search parameter: <b>authored</b> 4149 * <p> 4150 * Description: <b>The date the request group was authored</b><br> 4151 * Type: <b>date</b><br> 4152 * Path: <b>RequestGroup.authoredOn</b><br> 4153 * </p> 4154 */ 4155 @SearchParamDefinition(name="authored", path="RequestGroup.authoredOn", description="The date the request group was authored", type="date" ) 4156 public static final String SP_AUTHORED = "authored"; 4157 /** 4158 * <b>Fluent Client</b> search parameter constant for <b>authored</b> 4159 * <p> 4160 * Description: <b>The date the request group was authored</b><br> 4161 * Type: <b>date</b><br> 4162 * Path: <b>RequestGroup.authoredOn</b><br> 4163 * </p> 4164 */ 4165 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); 4166 4167 /** 4168 * Search parameter: <b>code</b> 4169 * <p> 4170 * Description: <b>The code of the request group</b><br> 4171 * Type: <b>token</b><br> 4172 * Path: <b>RequestGroup.code</b><br> 4173 * </p> 4174 */ 4175 @SearchParamDefinition(name="code", path="RequestGroup.code", description="The code of the request group", type="token" ) 4176 public static final String SP_CODE = "code"; 4177 /** 4178 * <b>Fluent Client</b> search parameter constant for <b>code</b> 4179 * <p> 4180 * Description: <b>The code of the request group</b><br> 4181 * Type: <b>token</b><br> 4182 * Path: <b>RequestGroup.code</b><br> 4183 * </p> 4184 */ 4185 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 4186 4187 /** 4188 * Search parameter: <b>encounter</b> 4189 * <p> 4190 * Description: <b>The encounter the request group applies to</b><br> 4191 * Type: <b>reference</b><br> 4192 * Path: <b>RequestGroup.encounter</b><br> 4193 * </p> 4194 */ 4195 @SearchParamDefinition(name="encounter", path="RequestGroup.encounter", description="The encounter the request group applies to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 4196 public static final String SP_ENCOUNTER = "encounter"; 4197 /** 4198 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 4199 * <p> 4200 * Description: <b>The encounter the request group applies to</b><br> 4201 * Type: <b>reference</b><br> 4202 * Path: <b>RequestGroup.encounter</b><br> 4203 * </p> 4204 */ 4205 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 4206 4207/** 4208 * Constant for fluent queries to be used to add include statements. Specifies 4209 * the path value of "<b>RequestGroup:encounter</b>". 4210 */ 4211 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RequestGroup:encounter").toLocked(); 4212 4213 /** 4214 * Search parameter: <b>group-identifier</b> 4215 * <p> 4216 * Description: <b>The group identifier for the request group</b><br> 4217 * Type: <b>token</b><br> 4218 * Path: <b>RequestGroup.groupIdentifier</b><br> 4219 * </p> 4220 */ 4221 @SearchParamDefinition(name="group-identifier", path="RequestGroup.groupIdentifier", description="The group identifier for the request group", type="token" ) 4222 public static final String SP_GROUP_IDENTIFIER = "group-identifier"; 4223 /** 4224 * <b>Fluent Client</b> search parameter constant for <b>group-identifier</b> 4225 * <p> 4226 * Description: <b>The group identifier for the request group</b><br> 4227 * Type: <b>token</b><br> 4228 * Path: <b>RequestGroup.groupIdentifier</b><br> 4229 * </p> 4230 */ 4231 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); 4232 4233 /** 4234 * Search parameter: <b>identifier</b> 4235 * <p> 4236 * Description: <b>External identifiers for the request group</b><br> 4237 * Type: <b>token</b><br> 4238 * Path: <b>RequestGroup.identifier</b><br> 4239 * </p> 4240 */ 4241 @SearchParamDefinition(name="identifier", path="RequestGroup.identifier", description="External identifiers for the request group", type="token" ) 4242 public static final String SP_IDENTIFIER = "identifier"; 4243 /** 4244 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4245 * <p> 4246 * Description: <b>External identifiers for the request group</b><br> 4247 * Type: <b>token</b><br> 4248 * Path: <b>RequestGroup.identifier</b><br> 4249 * </p> 4250 */ 4251 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4252 4253 /** 4254 * Search parameter: <b>instantiates-canonical</b> 4255 * <p> 4256 * Description: <b>The FHIR-based definition from which the request group is realized</b><br> 4257 * Type: <b>reference</b><br> 4258 * Path: <b>RequestGroup.instantiatesCanonical</b><br> 4259 * </p> 4260 */ 4261 @SearchParamDefinition(name="instantiates-canonical", path="RequestGroup.instantiatesCanonical", description="The FHIR-based definition from which the request group is realized", type="reference" ) 4262 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 4263 /** 4264 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 4265 * <p> 4266 * Description: <b>The FHIR-based definition from which the request group is realized</b><br> 4267 * Type: <b>reference</b><br> 4268 * Path: <b>RequestGroup.instantiatesCanonical</b><br> 4269 * </p> 4270 */ 4271 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 4272 4273/** 4274 * Constant for fluent queries to be used to add include statements. Specifies 4275 * the path value of "<b>RequestGroup:instantiates-canonical</b>". 4276 */ 4277 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("RequestGroup:instantiates-canonical").toLocked(); 4278 4279 /** 4280 * Search parameter: <b>instantiates-uri</b> 4281 * <p> 4282 * Description: <b>The external definition from which the request group is realized</b><br> 4283 * Type: <b>uri</b><br> 4284 * Path: <b>RequestGroup.instantiatesUri</b><br> 4285 * </p> 4286 */ 4287 @SearchParamDefinition(name="instantiates-uri", path="RequestGroup.instantiatesUri", description="The external definition from which the request group is realized", type="uri" ) 4288 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 4289 /** 4290 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 4291 * <p> 4292 * Description: <b>The external definition from which the request group is realized</b><br> 4293 * Type: <b>uri</b><br> 4294 * Path: <b>RequestGroup.instantiatesUri</b><br> 4295 * </p> 4296 */ 4297 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 4298 4299 /** 4300 * Search parameter: <b>intent</b> 4301 * <p> 4302 * Description: <b>The intent of the request group</b><br> 4303 * Type: <b>token</b><br> 4304 * Path: <b>RequestGroup.intent</b><br> 4305 * </p> 4306 */ 4307 @SearchParamDefinition(name="intent", path="RequestGroup.intent", description="The intent of the request group", type="token" ) 4308 public static final String SP_INTENT = "intent"; 4309 /** 4310 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 4311 * <p> 4312 * Description: <b>The intent of the request group</b><br> 4313 * Type: <b>token</b><br> 4314 * Path: <b>RequestGroup.intent</b><br> 4315 * </p> 4316 */ 4317 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 4318 4319 /** 4320 * Search parameter: <b>participant</b> 4321 * <p> 4322 * Description: <b>The participant in the requests in the group</b><br> 4323 * Type: <b>reference</b><br> 4324 * Path: <b>RequestGroup.action.participant.actor</b><br> 4325 * </p> 4326 */ 4327 @SearchParamDefinition(name="participant", path="RequestGroup.action.participant.actor", description="The participant in the requests in the group", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 4328 public static final String SP_PARTICIPANT = "participant"; 4329 /** 4330 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 4331 * <p> 4332 * Description: <b>The participant in the requests in the group</b><br> 4333 * Type: <b>reference</b><br> 4334 * Path: <b>RequestGroup.action.participant.actor</b><br> 4335 * </p> 4336 */ 4337 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); 4338 4339/** 4340 * Constant for fluent queries to be used to add include statements. Specifies 4341 * the path value of "<b>RequestGroup:participant</b>". 4342 */ 4343 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("RequestGroup:participant").toLocked(); 4344 4345 /** 4346 * Search parameter: <b>patient</b> 4347 * <p> 4348 * Description: <b>The identity of a patient to search for request groups</b><br> 4349 * Type: <b>reference</b><br> 4350 * Path: <b>RequestGroup.subject.where(resolve() is Patient)</b><br> 4351 * </p> 4352 */ 4353 @SearchParamDefinition(name="patient", path="RequestGroup.subject.where(resolve() is Patient)", description="The identity of a patient to search for request groups", type="reference", target={Group.class, Patient.class } ) 4354 public static final String SP_PATIENT = "patient"; 4355 /** 4356 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 4357 * <p> 4358 * Description: <b>The identity of a patient to search for request groups</b><br> 4359 * Type: <b>reference</b><br> 4360 * Path: <b>RequestGroup.subject.where(resolve() is Patient)</b><br> 4361 * </p> 4362 */ 4363 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 4364 4365/** 4366 * Constant for fluent queries to be used to add include statements. Specifies 4367 * the path value of "<b>RequestGroup:patient</b>". 4368 */ 4369 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RequestGroup:patient").toLocked(); 4370 4371 /** 4372 * Search parameter: <b>priority</b> 4373 * <p> 4374 * Description: <b>The priority of the request group</b><br> 4375 * Type: <b>token</b><br> 4376 * Path: <b>RequestGroup.priority</b><br> 4377 * </p> 4378 */ 4379 @SearchParamDefinition(name="priority", path="RequestGroup.priority", description="The priority of the request group", type="token" ) 4380 public static final String SP_PRIORITY = "priority"; 4381 /** 4382 * <b>Fluent Client</b> search parameter constant for <b>priority</b> 4383 * <p> 4384 * Description: <b>The priority of the request group</b><br> 4385 * Type: <b>token</b><br> 4386 * Path: <b>RequestGroup.priority</b><br> 4387 * </p> 4388 */ 4389 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); 4390 4391 /** 4392 * Search parameter: <b>status</b> 4393 * <p> 4394 * Description: <b>The status of the request group</b><br> 4395 * Type: <b>token</b><br> 4396 * Path: <b>RequestGroup.status</b><br> 4397 * </p> 4398 */ 4399 @SearchParamDefinition(name="status", path="RequestGroup.status", description="The status of the request group", type="token" ) 4400 public static final String SP_STATUS = "status"; 4401 /** 4402 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4403 * <p> 4404 * Description: <b>The status of the request group</b><br> 4405 * Type: <b>token</b><br> 4406 * Path: <b>RequestGroup.status</b><br> 4407 * </p> 4408 */ 4409 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4410 4411 /** 4412 * Search parameter: <b>subject</b> 4413 * <p> 4414 * Description: <b>The subject that the request group is about</b><br> 4415 * Type: <b>reference</b><br> 4416 * Path: <b>RequestGroup.subject</b><br> 4417 * </p> 4418 */ 4419 @SearchParamDefinition(name="subject", path="RequestGroup.subject", description="The subject that the request group is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class } ) 4420 public static final String SP_SUBJECT = "subject"; 4421 /** 4422 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 4423 * <p> 4424 * Description: <b>The subject that the request group is about</b><br> 4425 * Type: <b>reference</b><br> 4426 * Path: <b>RequestGroup.subject</b><br> 4427 * </p> 4428 */ 4429 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 4430 4431/** 4432 * Constant for fluent queries to be used to add include statements. Specifies 4433 * the path value of "<b>RequestGroup:subject</b>". 4434 */ 4435 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RequestGroup:subject").toLocked(); 4436 4437 4438} 4439