001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import ca.uhn.fhir.model.api.annotation.ResourceDef; 038import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.ChildOrder; 041import ca.uhn.fhir.model.api.annotation.Description; 042import ca.uhn.fhir.model.api.annotation.Block; 043import org.hl7.fhir.instance.model.api.*; 044import org.hl7.fhir.exceptions.FHIRException; 045/** 046 * 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". 047 */ 048@ResourceDef(name="RequestGroup", profile="http://hl7.org/fhir/StructureDefinition/RequestGroup") 049public class RequestGroup extends DomainResource { 050 051 public enum RequestStatus { 052 /** 053 * The request has been created but is not yet complete or ready for action. 054 */ 055 DRAFT, 056 /** 057 * The request is in force and ready to be acted upon. 058 */ 059 ACTIVE, 060 /** 061 * The authorization/request to act has been temporarily withdrawn but is expected to resume in the future. 062 */ 063 ONHOLD, 064 /** 065 * The authorization/request to act has been terminated prior to the known full completion of the intended actions. No further activity should occur. 066 */ 067 REVOKED, 068 /** 069 * Activity against the request has been sufficiently completed to the satisfaction of the requester. 070 */ 071 COMPLETED, 072 /** 073 * This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be "cancelled" rather than "entered-in-error".). 074 */ 075 ENTEREDINERROR, 076 /** 077 * The authoring system does not know which of the status values currently applies for this request. Note: This concept is not to be used for "other" . One of the listed statuses is presumed to apply, but the system creating the request does not know. 078 */ 079 UNKNOWN, 080 /** 081 * added to help the parsers with the generic types 082 */ 083 NULL; 084 public static RequestStatus fromCode(String codeString) throws FHIRException { 085 if (codeString == null || "".equals(codeString)) 086 return null; 087 if ("draft".equals(codeString)) 088 return DRAFT; 089 if ("active".equals(codeString)) 090 return ACTIVE; 091 if ("on-hold".equals(codeString)) 092 return ONHOLD; 093 if ("revoked".equals(codeString)) 094 return REVOKED; 095 if ("completed".equals(codeString)) 096 return COMPLETED; 097 if ("entered-in-error".equals(codeString)) 098 return ENTEREDINERROR; 099 if ("unknown".equals(codeString)) 100 return UNKNOWN; 101 if (Configuration.isAcceptInvalidEnums()) 102 return null; 103 else 104 throw new FHIRException("Unknown RequestStatus code '"+codeString+"'"); 105 } 106 public String toCode() { 107 switch (this) { 108 case DRAFT: return "draft"; 109 case ACTIVE: return "active"; 110 case ONHOLD: return "on-hold"; 111 case REVOKED: return "revoked"; 112 case COMPLETED: return "completed"; 113 case ENTEREDINERROR: return "entered-in-error"; 114 case UNKNOWN: return "unknown"; 115 default: return "?"; 116 } 117 } 118 public String getSystem() { 119 switch (this) { 120 case DRAFT: return "http://hl7.org/fhir/request-status"; 121 case ACTIVE: return "http://hl7.org/fhir/request-status"; 122 case ONHOLD: return "http://hl7.org/fhir/request-status"; 123 case REVOKED: return "http://hl7.org/fhir/request-status"; 124 case COMPLETED: return "http://hl7.org/fhir/request-status"; 125 case ENTEREDINERROR: return "http://hl7.org/fhir/request-status"; 126 case UNKNOWN: return "http://hl7.org/fhir/request-status"; 127 default: return "?"; 128 } 129 } 130 public String getDefinition() { 131 switch (this) { 132 case DRAFT: return "The request has been created but is not yet complete or ready for action."; 133 case ACTIVE: return "The request is in force and ready to be acted upon."; 134 case ONHOLD: return "The authorization/request to act has been temporarily withdrawn but is expected to resume in the future."; 135 case REVOKED: return "The authorization/request to act has been terminated prior to the known full completion of the intended actions. No further activity should occur."; 136 case COMPLETED: return "Activity against the request has been sufficiently completed to the satisfaction of the requester."; 137 case ENTEREDINERROR: return "This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".)."; 138 case UNKNOWN: return "The authoring system does not know which of the status values currently applies for this request. Note: This concept is not to be used for \"other\" . One of the listed statuses is presumed to apply, but the system creating the request does not know."; 139 default: return "?"; 140 } 141 } 142 public String getDisplay() { 143 switch (this) { 144 case DRAFT: return "Draft"; 145 case ACTIVE: return "Active"; 146 case ONHOLD: return "On Hold"; 147 case REVOKED: return "Revoked"; 148 case COMPLETED: return "Completed"; 149 case ENTEREDINERROR: return "Entered in Error"; 150 case UNKNOWN: return "Unknown"; 151 default: return "?"; 152 } 153 } 154 } 155 156 public static class RequestStatusEnumFactory implements EnumFactory<RequestStatus> { 157 public RequestStatus fromCode(String codeString) throws IllegalArgumentException { 158 if (codeString == null || "".equals(codeString)) 159 if (codeString == null || "".equals(codeString)) 160 return null; 161 if ("draft".equals(codeString)) 162 return RequestStatus.DRAFT; 163 if ("active".equals(codeString)) 164 return RequestStatus.ACTIVE; 165 if ("on-hold".equals(codeString)) 166 return RequestStatus.ONHOLD; 167 if ("revoked".equals(codeString)) 168 return RequestStatus.REVOKED; 169 if ("completed".equals(codeString)) 170 return RequestStatus.COMPLETED; 171 if ("entered-in-error".equals(codeString)) 172 return RequestStatus.ENTEREDINERROR; 173 if ("unknown".equals(codeString)) 174 return RequestStatus.UNKNOWN; 175 throw new IllegalArgumentException("Unknown RequestStatus code '"+codeString+"'"); 176 } 177 public Enumeration<RequestStatus> fromType(Base code) throws FHIRException { 178 if (code == null) 179 return null; 180 if (code.isEmpty()) 181 return new Enumeration<RequestStatus>(this); 182 String codeString = ((PrimitiveType) code).asStringValue(); 183 if (codeString == null || "".equals(codeString)) 184 return null; 185 if ("draft".equals(codeString)) 186 return new Enumeration<RequestStatus>(this, RequestStatus.DRAFT); 187 if ("active".equals(codeString)) 188 return new Enumeration<RequestStatus>(this, RequestStatus.ACTIVE); 189 if ("on-hold".equals(codeString)) 190 return new Enumeration<RequestStatus>(this, RequestStatus.ONHOLD); 191 if ("revoked".equals(codeString)) 192 return new Enumeration<RequestStatus>(this, RequestStatus.REVOKED); 193 if ("completed".equals(codeString)) 194 return new Enumeration<RequestStatus>(this, RequestStatus.COMPLETED); 195 if ("entered-in-error".equals(codeString)) 196 return new Enumeration<RequestStatus>(this, RequestStatus.ENTEREDINERROR); 197 if ("unknown".equals(codeString)) 198 return new Enumeration<RequestStatus>(this, RequestStatus.UNKNOWN); 199 throw new FHIRException("Unknown RequestStatus code '"+codeString+"'"); 200 } 201 public String toCode(RequestStatus code) { 202 if (code == RequestStatus.DRAFT) 203 return "draft"; 204 if (code == RequestStatus.ACTIVE) 205 return "active"; 206 if (code == RequestStatus.ONHOLD) 207 return "on-hold"; 208 if (code == RequestStatus.REVOKED) 209 return "revoked"; 210 if (code == RequestStatus.COMPLETED) 211 return "completed"; 212 if (code == RequestStatus.ENTEREDINERROR) 213 return "entered-in-error"; 214 if (code == RequestStatus.UNKNOWN) 215 return "unknown"; 216 return "?"; 217 } 218 public String toSystem(RequestStatus code) { 219 return code.getSystem(); 220 } 221 } 222 223 public enum RequestIntent { 224 /** 225 * The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act. 226 */ 227 PROPOSAL, 228 /** 229 * The request represents an intention to ensure something occurs without providing an authorization for others to act. 230 */ 231 PLAN, 232 /** 233 * The request represents a request/demand and authorization for action. 234 */ 235 ORDER, 236 /** 237 * The request represents an original authorization for action. 238 */ 239 ORIGINALORDER, 240 /** 241 * The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization. 242 */ 243 REFLEXORDER, 244 /** 245 * The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order. 246 */ 247 FILLERORDER, 248 /** 249 * An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence. E.g. The administration of a single dose of a drug. 250 */ 251 INSTANCEORDER, 252 /** 253 * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used. 254 */ 255 OPTION, 256 /** 257 * added to help the parsers with the generic types 258 */ 259 NULL; 260 public static RequestIntent fromCode(String codeString) throws FHIRException { 261 if (codeString == null || "".equals(codeString)) 262 return null; 263 if ("proposal".equals(codeString)) 264 return PROPOSAL; 265 if ("plan".equals(codeString)) 266 return PLAN; 267 if ("order".equals(codeString)) 268 return ORDER; 269 if ("original-order".equals(codeString)) 270 return ORIGINALORDER; 271 if ("reflex-order".equals(codeString)) 272 return REFLEXORDER; 273 if ("filler-order".equals(codeString)) 274 return FILLERORDER; 275 if ("instance-order".equals(codeString)) 276 return INSTANCEORDER; 277 if ("option".equals(codeString)) 278 return OPTION; 279 if (Configuration.isAcceptInvalidEnums()) 280 return null; 281 else 282 throw new FHIRException("Unknown RequestIntent code '"+codeString+"'"); 283 } 284 public String toCode() { 285 switch (this) { 286 case PROPOSAL: return "proposal"; 287 case PLAN: return "plan"; 288 case ORDER: return "order"; 289 case ORIGINALORDER: return "original-order"; 290 case REFLEXORDER: return "reflex-order"; 291 case FILLERORDER: return "filler-order"; 292 case INSTANCEORDER: return "instance-order"; 293 case OPTION: return "option"; 294 default: return "?"; 295 } 296 } 297 public String getSystem() { 298 switch (this) { 299 case PROPOSAL: return "http://hl7.org/fhir/request-intent"; 300 case PLAN: return "http://hl7.org/fhir/request-intent"; 301 case ORDER: return "http://hl7.org/fhir/request-intent"; 302 case ORIGINALORDER: return "http://hl7.org/fhir/request-intent"; 303 case REFLEXORDER: return "http://hl7.org/fhir/request-intent"; 304 case FILLERORDER: return "http://hl7.org/fhir/request-intent"; 305 case INSTANCEORDER: return "http://hl7.org/fhir/request-intent"; 306 case OPTION: return "http://hl7.org/fhir/request-intent"; 307 default: return "?"; 308 } 309 } 310 public String getDefinition() { 311 switch (this) { 312 case PROPOSAL: return "The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act."; 313 case PLAN: return "The request represents an intention to ensure something occurs without providing an authorization for others to act."; 314 case ORDER: return "The request represents a request/demand and authorization for action."; 315 case ORIGINALORDER: return "The request represents an original authorization for action."; 316 case REFLEXORDER: return "The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization."; 317 case FILLERORDER: return "The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order."; 318 case INSTANCEORDER: return "An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence. E.g. The administration of a single dose of a drug."; 319 case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used."; 320 default: return "?"; 321 } 322 } 323 public String getDisplay() { 324 switch (this) { 325 case PROPOSAL: return "Proposal"; 326 case PLAN: return "Plan"; 327 case ORDER: return "Order"; 328 case ORIGINALORDER: return "Original Order"; 329 case REFLEXORDER: return "Reflex Order"; 330 case FILLERORDER: return "Filler Order"; 331 case INSTANCEORDER: return "Instance Order"; 332 case OPTION: return "Option"; 333 default: return "?"; 334 } 335 } 336 } 337 338 public static class RequestIntentEnumFactory implements EnumFactory<RequestIntent> { 339 public RequestIntent fromCode(String codeString) throws IllegalArgumentException { 340 if (codeString == null || "".equals(codeString)) 341 if (codeString == null || "".equals(codeString)) 342 return null; 343 if ("proposal".equals(codeString)) 344 return RequestIntent.PROPOSAL; 345 if ("plan".equals(codeString)) 346 return RequestIntent.PLAN; 347 if ("order".equals(codeString)) 348 return RequestIntent.ORDER; 349 if ("original-order".equals(codeString)) 350 return RequestIntent.ORIGINALORDER; 351 if ("reflex-order".equals(codeString)) 352 return RequestIntent.REFLEXORDER; 353 if ("filler-order".equals(codeString)) 354 return RequestIntent.FILLERORDER; 355 if ("instance-order".equals(codeString)) 356 return RequestIntent.INSTANCEORDER; 357 if ("option".equals(codeString)) 358 return RequestIntent.OPTION; 359 throw new IllegalArgumentException("Unknown RequestIntent code '"+codeString+"'"); 360 } 361 public Enumeration<RequestIntent> fromType(Base code) throws FHIRException { 362 if (code == null) 363 return null; 364 if (code.isEmpty()) 365 return new Enumeration<RequestIntent>(this); 366 String codeString = ((PrimitiveType) code).asStringValue(); 367 if (codeString == null || "".equals(codeString)) 368 return null; 369 if ("proposal".equals(codeString)) 370 return new Enumeration<RequestIntent>(this, RequestIntent.PROPOSAL); 371 if ("plan".equals(codeString)) 372 return new Enumeration<RequestIntent>(this, RequestIntent.PLAN); 373 if ("order".equals(codeString)) 374 return new Enumeration<RequestIntent>(this, RequestIntent.ORDER); 375 if ("original-order".equals(codeString)) 376 return new Enumeration<RequestIntent>(this, RequestIntent.ORIGINALORDER); 377 if ("reflex-order".equals(codeString)) 378 return new Enumeration<RequestIntent>(this, RequestIntent.REFLEXORDER); 379 if ("filler-order".equals(codeString)) 380 return new Enumeration<RequestIntent>(this, RequestIntent.FILLERORDER); 381 if ("instance-order".equals(codeString)) 382 return new Enumeration<RequestIntent>(this, RequestIntent.INSTANCEORDER); 383 if ("option".equals(codeString)) 384 return new Enumeration<RequestIntent>(this, RequestIntent.OPTION); 385 throw new FHIRException("Unknown RequestIntent code '"+codeString+"'"); 386 } 387 public String toCode(RequestIntent code) { 388 if (code == RequestIntent.PROPOSAL) 389 return "proposal"; 390 if (code == RequestIntent.PLAN) 391 return "plan"; 392 if (code == RequestIntent.ORDER) 393 return "order"; 394 if (code == RequestIntent.ORIGINALORDER) 395 return "original-order"; 396 if (code == RequestIntent.REFLEXORDER) 397 return "reflex-order"; 398 if (code == RequestIntent.FILLERORDER) 399 return "filler-order"; 400 if (code == RequestIntent.INSTANCEORDER) 401 return "instance-order"; 402 if (code == RequestIntent.OPTION) 403 return "option"; 404 return "?"; 405 } 406 public String toSystem(RequestIntent code) { 407 return code.getSystem(); 408 } 409 } 410 411 public enum RequestPriority { 412 /** 413 * The request has normal priority. 414 */ 415 ROUTINE, 416 /** 417 * The request should be actioned promptly - higher priority than routine. 418 */ 419 URGENT, 420 /** 421 * The request should be actioned as soon as possible - higher priority than urgent. 422 */ 423 ASAP, 424 /** 425 * The request should be actioned immediately - highest possible priority. E.g. an emergency. 426 */ 427 STAT, 428 /** 429 * added to help the parsers with the generic types 430 */ 431 NULL; 432 public static RequestPriority fromCode(String codeString) throws FHIRException { 433 if (codeString == null || "".equals(codeString)) 434 return null; 435 if ("routine".equals(codeString)) 436 return ROUTINE; 437 if ("urgent".equals(codeString)) 438 return URGENT; 439 if ("asap".equals(codeString)) 440 return ASAP; 441 if ("stat".equals(codeString)) 442 return STAT; 443 if (Configuration.isAcceptInvalidEnums()) 444 return null; 445 else 446 throw new FHIRException("Unknown RequestPriority code '"+codeString+"'"); 447 } 448 public String toCode() { 449 switch (this) { 450 case ROUTINE: return "routine"; 451 case URGENT: return "urgent"; 452 case ASAP: return "asap"; 453 case STAT: return "stat"; 454 default: return "?"; 455 } 456 } 457 public String getSystem() { 458 switch (this) { 459 case ROUTINE: return "http://hl7.org/fhir/request-priority"; 460 case URGENT: return "http://hl7.org/fhir/request-priority"; 461 case ASAP: return "http://hl7.org/fhir/request-priority"; 462 case STAT: return "http://hl7.org/fhir/request-priority"; 463 default: return "?"; 464 } 465 } 466 public String getDefinition() { 467 switch (this) { 468 case ROUTINE: return "The request has normal priority."; 469 case URGENT: return "The request should be actioned promptly - higher priority than routine."; 470 case ASAP: return "The request should be actioned as soon as possible - higher priority than urgent."; 471 case STAT: return "The request should be actioned immediately - highest possible priority. E.g. an emergency."; 472 default: return "?"; 473 } 474 } 475 public String getDisplay() { 476 switch (this) { 477 case ROUTINE: return "Routine"; 478 case URGENT: return "Urgent"; 479 case ASAP: return "ASAP"; 480 case STAT: return "STAT"; 481 default: return "?"; 482 } 483 } 484 } 485 486 public static class RequestPriorityEnumFactory implements EnumFactory<RequestPriority> { 487 public RequestPriority fromCode(String codeString) throws IllegalArgumentException { 488 if (codeString == null || "".equals(codeString)) 489 if (codeString == null || "".equals(codeString)) 490 return null; 491 if ("routine".equals(codeString)) 492 return RequestPriority.ROUTINE; 493 if ("urgent".equals(codeString)) 494 return RequestPriority.URGENT; 495 if ("asap".equals(codeString)) 496 return RequestPriority.ASAP; 497 if ("stat".equals(codeString)) 498 return RequestPriority.STAT; 499 throw new IllegalArgumentException("Unknown RequestPriority code '"+codeString+"'"); 500 } 501 public Enumeration<RequestPriority> fromType(Base code) throws FHIRException { 502 if (code == null) 503 return null; 504 if (code.isEmpty()) 505 return new Enumeration<RequestPriority>(this); 506 String codeString = ((PrimitiveType) code).asStringValue(); 507 if (codeString == null || "".equals(codeString)) 508 return null; 509 if ("routine".equals(codeString)) 510 return new Enumeration<RequestPriority>(this, RequestPriority.ROUTINE); 511 if ("urgent".equals(codeString)) 512 return new Enumeration<RequestPriority>(this, RequestPriority.URGENT); 513 if ("asap".equals(codeString)) 514 return new Enumeration<RequestPriority>(this, RequestPriority.ASAP); 515 if ("stat".equals(codeString)) 516 return new Enumeration<RequestPriority>(this, RequestPriority.STAT); 517 throw new FHIRException("Unknown RequestPriority code '"+codeString+"'"); 518 } 519 public String toCode(RequestPriority code) { 520 if (code == RequestPriority.ROUTINE) 521 return "routine"; 522 if (code == RequestPriority.URGENT) 523 return "urgent"; 524 if (code == RequestPriority.ASAP) 525 return "asap"; 526 if (code == RequestPriority.STAT) 527 return "stat"; 528 return "?"; 529 } 530 public String toSystem(RequestPriority code) { 531 return code.getSystem(); 532 } 533 } 534 535 public enum ActionConditionKind { 536 /** 537 * The condition describes whether or not a given action is applicable. 538 */ 539 APPLICABILITY, 540 /** 541 * The condition is a starting condition for the action. 542 */ 543 START, 544 /** 545 * The condition is a stop, or exit condition for the action. 546 */ 547 STOP, 548 /** 549 * added to help the parsers with the generic types 550 */ 551 NULL; 552 public static ActionConditionKind fromCode(String codeString) throws FHIRException { 553 if (codeString == null || "".equals(codeString)) 554 return null; 555 if ("applicability".equals(codeString)) 556 return APPLICABILITY; 557 if ("start".equals(codeString)) 558 return START; 559 if ("stop".equals(codeString)) 560 return STOP; 561 if (Configuration.isAcceptInvalidEnums()) 562 return null; 563 else 564 throw new FHIRException("Unknown ActionConditionKind code '"+codeString+"'"); 565 } 566 public String toCode() { 567 switch (this) { 568 case APPLICABILITY: return "applicability"; 569 case START: return "start"; 570 case STOP: return "stop"; 571 default: return "?"; 572 } 573 } 574 public String getSystem() { 575 switch (this) { 576 case APPLICABILITY: return "http://hl7.org/fhir/action-condition-kind"; 577 case START: return "http://hl7.org/fhir/action-condition-kind"; 578 case STOP: return "http://hl7.org/fhir/action-condition-kind"; 579 default: return "?"; 580 } 581 } 582 public String getDefinition() { 583 switch (this) { 584 case APPLICABILITY: return "The condition describes whether or not a given action is applicable."; 585 case START: return "The condition is a starting condition for the action."; 586 case STOP: return "The condition is a stop, or exit condition for the action."; 587 default: return "?"; 588 } 589 } 590 public String getDisplay() { 591 switch (this) { 592 case APPLICABILITY: return "Applicability"; 593 case START: return "Start"; 594 case STOP: return "Stop"; 595 default: return "?"; 596 } 597 } 598 } 599 600 public static class ActionConditionKindEnumFactory implements EnumFactory<ActionConditionKind> { 601 public ActionConditionKind fromCode(String codeString) throws IllegalArgumentException { 602 if (codeString == null || "".equals(codeString)) 603 if (codeString == null || "".equals(codeString)) 604 return null; 605 if ("applicability".equals(codeString)) 606 return ActionConditionKind.APPLICABILITY; 607 if ("start".equals(codeString)) 608 return ActionConditionKind.START; 609 if ("stop".equals(codeString)) 610 return ActionConditionKind.STOP; 611 throw new IllegalArgumentException("Unknown ActionConditionKind code '"+codeString+"'"); 612 } 613 public Enumeration<ActionConditionKind> fromType(Base code) throws FHIRException { 614 if (code == null) 615 return null; 616 if (code.isEmpty()) 617 return new Enumeration<ActionConditionKind>(this); 618 String codeString = ((PrimitiveType) code).asStringValue(); 619 if (codeString == null || "".equals(codeString)) 620 return null; 621 if ("applicability".equals(codeString)) 622 return new Enumeration<ActionConditionKind>(this, ActionConditionKind.APPLICABILITY); 623 if ("start".equals(codeString)) 624 return new Enumeration<ActionConditionKind>(this, ActionConditionKind.START); 625 if ("stop".equals(codeString)) 626 return new Enumeration<ActionConditionKind>(this, ActionConditionKind.STOP); 627 throw new FHIRException("Unknown ActionConditionKind code '"+codeString+"'"); 628 } 629 public String toCode(ActionConditionKind code) { 630 if (code == ActionConditionKind.APPLICABILITY) 631 return "applicability"; 632 if (code == ActionConditionKind.START) 633 return "start"; 634 if (code == ActionConditionKind.STOP) 635 return "stop"; 636 return "?"; 637 } 638 public String toSystem(ActionConditionKind code) { 639 return code.getSystem(); 640 } 641 } 642 643 public enum ActionRelationshipType { 644 /** 645 * The action must be performed before the start of the related action. 646 */ 647 BEFORESTART, 648 /** 649 * The action must be performed before the related action. 650 */ 651 BEFORE, 652 /** 653 * The action must be performed before the end of the related action. 654 */ 655 BEFOREEND, 656 /** 657 * The action must be performed concurrent with the start of the related action. 658 */ 659 CONCURRENTWITHSTART, 660 /** 661 * The action must be performed concurrent with the related action. 662 */ 663 CONCURRENT, 664 /** 665 * The action must be performed concurrent with the end of the related action. 666 */ 667 CONCURRENTWITHEND, 668 /** 669 * The action must be performed after the start of the related action. 670 */ 671 AFTERSTART, 672 /** 673 * The action must be performed after the related action. 674 */ 675 AFTER, 676 /** 677 * The action must be performed after the end of the related action. 678 */ 679 AFTEREND, 680 /** 681 * added to help the parsers with the generic types 682 */ 683 NULL; 684 public static ActionRelationshipType fromCode(String codeString) throws FHIRException { 685 if (codeString == null || "".equals(codeString)) 686 return null; 687 if ("before-start".equals(codeString)) 688 return BEFORESTART; 689 if ("before".equals(codeString)) 690 return BEFORE; 691 if ("before-end".equals(codeString)) 692 return BEFOREEND; 693 if ("concurrent-with-start".equals(codeString)) 694 return CONCURRENTWITHSTART; 695 if ("concurrent".equals(codeString)) 696 return CONCURRENT; 697 if ("concurrent-with-end".equals(codeString)) 698 return CONCURRENTWITHEND; 699 if ("after-start".equals(codeString)) 700 return AFTERSTART; 701 if ("after".equals(codeString)) 702 return AFTER; 703 if ("after-end".equals(codeString)) 704 return AFTEREND; 705 if (Configuration.isAcceptInvalidEnums()) 706 return null; 707 else 708 throw new FHIRException("Unknown ActionRelationshipType code '"+codeString+"'"); 709 } 710 public String toCode() { 711 switch (this) { 712 case BEFORESTART: return "before-start"; 713 case BEFORE: return "before"; 714 case BEFOREEND: return "before-end"; 715 case CONCURRENTWITHSTART: return "concurrent-with-start"; 716 case CONCURRENT: return "concurrent"; 717 case CONCURRENTWITHEND: return "concurrent-with-end"; 718 case AFTERSTART: return "after-start"; 719 case AFTER: return "after"; 720 case AFTEREND: return "after-end"; 721 default: return "?"; 722 } 723 } 724 public String getSystem() { 725 switch (this) { 726 case BEFORESTART: return "http://hl7.org/fhir/action-relationship-type"; 727 case BEFORE: return "http://hl7.org/fhir/action-relationship-type"; 728 case BEFOREEND: return "http://hl7.org/fhir/action-relationship-type"; 729 case CONCURRENTWITHSTART: return "http://hl7.org/fhir/action-relationship-type"; 730 case CONCURRENT: return "http://hl7.org/fhir/action-relationship-type"; 731 case CONCURRENTWITHEND: return "http://hl7.org/fhir/action-relationship-type"; 732 case AFTERSTART: return "http://hl7.org/fhir/action-relationship-type"; 733 case AFTER: return "http://hl7.org/fhir/action-relationship-type"; 734 case AFTEREND: return "http://hl7.org/fhir/action-relationship-type"; 735 default: return "?"; 736 } 737 } 738 public String getDefinition() { 739 switch (this) { 740 case BEFORESTART: return "The action must be performed before the start of the related action."; 741 case BEFORE: return "The action must be performed before the related action."; 742 case BEFOREEND: return "The action must be performed before the end of the related action."; 743 case CONCURRENTWITHSTART: return "The action must be performed concurrent with the start of the related action."; 744 case CONCURRENT: return "The action must be performed concurrent with the related action."; 745 case CONCURRENTWITHEND: return "The action must be performed concurrent with the end of the related action."; 746 case AFTERSTART: return "The action must be performed after the start of the related action."; 747 case AFTER: return "The action must be performed after the related action."; 748 case AFTEREND: return "The action must be performed after the end of the related action."; 749 default: return "?"; 750 } 751 } 752 public String getDisplay() { 753 switch (this) { 754 case BEFORESTART: return "Before Start"; 755 case BEFORE: return "Before"; 756 case BEFOREEND: return "Before End"; 757 case CONCURRENTWITHSTART: return "Concurrent With Start"; 758 case CONCURRENT: return "Concurrent"; 759 case CONCURRENTWITHEND: return "Concurrent With End"; 760 case AFTERSTART: return "After Start"; 761 case AFTER: return "After"; 762 case AFTEREND: return "After End"; 763 default: return "?"; 764 } 765 } 766 } 767 768 public static class ActionRelationshipTypeEnumFactory implements EnumFactory<ActionRelationshipType> { 769 public ActionRelationshipType fromCode(String codeString) throws IllegalArgumentException { 770 if (codeString == null || "".equals(codeString)) 771 if (codeString == null || "".equals(codeString)) 772 return null; 773 if ("before-start".equals(codeString)) 774 return ActionRelationshipType.BEFORESTART; 775 if ("before".equals(codeString)) 776 return ActionRelationshipType.BEFORE; 777 if ("before-end".equals(codeString)) 778 return ActionRelationshipType.BEFOREEND; 779 if ("concurrent-with-start".equals(codeString)) 780 return ActionRelationshipType.CONCURRENTWITHSTART; 781 if ("concurrent".equals(codeString)) 782 return ActionRelationshipType.CONCURRENT; 783 if ("concurrent-with-end".equals(codeString)) 784 return ActionRelationshipType.CONCURRENTWITHEND; 785 if ("after-start".equals(codeString)) 786 return ActionRelationshipType.AFTERSTART; 787 if ("after".equals(codeString)) 788 return ActionRelationshipType.AFTER; 789 if ("after-end".equals(codeString)) 790 return ActionRelationshipType.AFTEREND; 791 throw new IllegalArgumentException("Unknown ActionRelationshipType code '"+codeString+"'"); 792 } 793 public Enumeration<ActionRelationshipType> fromType(Base code) throws FHIRException { 794 if (code == null) 795 return null; 796 if (code.isEmpty()) 797 return new Enumeration<ActionRelationshipType>(this); 798 String codeString = ((PrimitiveType) code).asStringValue(); 799 if (codeString == null || "".equals(codeString)) 800 return null; 801 if ("before-start".equals(codeString)) 802 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.BEFORESTART); 803 if ("before".equals(codeString)) 804 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.BEFORE); 805 if ("before-end".equals(codeString)) 806 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.BEFOREEND); 807 if ("concurrent-with-start".equals(codeString)) 808 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.CONCURRENTWITHSTART); 809 if ("concurrent".equals(codeString)) 810 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.CONCURRENT); 811 if ("concurrent-with-end".equals(codeString)) 812 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.CONCURRENTWITHEND); 813 if ("after-start".equals(codeString)) 814 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.AFTERSTART); 815 if ("after".equals(codeString)) 816 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.AFTER); 817 if ("after-end".equals(codeString)) 818 return new Enumeration<ActionRelationshipType>(this, ActionRelationshipType.AFTEREND); 819 throw new FHIRException("Unknown ActionRelationshipType code '"+codeString+"'"); 820 } 821 public String toCode(ActionRelationshipType code) { 822 if (code == ActionRelationshipType.BEFORESTART) 823 return "before-start"; 824 if (code == ActionRelationshipType.BEFORE) 825 return "before"; 826 if (code == ActionRelationshipType.BEFOREEND) 827 return "before-end"; 828 if (code == ActionRelationshipType.CONCURRENTWITHSTART) 829 return "concurrent-with-start"; 830 if (code == ActionRelationshipType.CONCURRENT) 831 return "concurrent"; 832 if (code == ActionRelationshipType.CONCURRENTWITHEND) 833 return "concurrent-with-end"; 834 if (code == ActionRelationshipType.AFTERSTART) 835 return "after-start"; 836 if (code == ActionRelationshipType.AFTER) 837 return "after"; 838 if (code == ActionRelationshipType.AFTEREND) 839 return "after-end"; 840 return "?"; 841 } 842 public String toSystem(ActionRelationshipType code) { 843 return code.getSystem(); 844 } 845 } 846 847 public enum ActionGroupingBehavior { 848 /** 849 * Any group marked with this behavior should be displayed as a visual group to the end user. 850 */ 851 VISUALGROUP, 852 /** 853 * A group with this behavior logically groups its sub-elements, and may be shown as a visual group to the end user, but it is not required to do so. 854 */ 855 LOGICALGROUP, 856 /** 857 * A group of related alternative actions is a sentence group if the target referenced by the action is the same in all the actions and each action simply constitutes a different variation on how to specify the details for the target. For example, two actions that could be in a SentenceGroup are "aspirin, 500 mg, 2 times per day" and "aspirin, 300 mg, 3 times per day". In both cases, aspirin is the target referenced by the action, and the two actions represent different options for how aspirin might be ordered for the patient. Note that a SentenceGroup would almost always have an associated selection behavior of "AtMostOne", unless it's a required action, in which case, it would be "ExactlyOne". 858 */ 859 SENTENCEGROUP, 860 /** 861 * added to help the parsers with the generic types 862 */ 863 NULL; 864 public static ActionGroupingBehavior fromCode(String codeString) throws FHIRException { 865 if (codeString == null || "".equals(codeString)) 866 return null; 867 if ("visual-group".equals(codeString)) 868 return VISUALGROUP; 869 if ("logical-group".equals(codeString)) 870 return LOGICALGROUP; 871 if ("sentence-group".equals(codeString)) 872 return SENTENCEGROUP; 873 if (Configuration.isAcceptInvalidEnums()) 874 return null; 875 else 876 throw new FHIRException("Unknown ActionGroupingBehavior code '"+codeString+"'"); 877 } 878 public String toCode() { 879 switch (this) { 880 case VISUALGROUP: return "visual-group"; 881 case LOGICALGROUP: return "logical-group"; 882 case SENTENCEGROUP: return "sentence-group"; 883 default: return "?"; 884 } 885 } 886 public String getSystem() { 887 switch (this) { 888 case VISUALGROUP: return "http://hl7.org/fhir/action-grouping-behavior"; 889 case LOGICALGROUP: return "http://hl7.org/fhir/action-grouping-behavior"; 890 case SENTENCEGROUP: return "http://hl7.org/fhir/action-grouping-behavior"; 891 default: return "?"; 892 } 893 } 894 public String getDefinition() { 895 switch (this) { 896 case VISUALGROUP: return "Any group marked with this behavior should be displayed as a visual group to the end user."; 897 case LOGICALGROUP: return "A group with this behavior logically groups its sub-elements, and may be shown as a visual group to the end user, but it is not required to do so."; 898 case SENTENCEGROUP: return "A group of related alternative actions is a sentence group if the target referenced by the action is the same in all the actions and each action simply constitutes a different variation on how to specify the details for the target. For example, two actions that could be in a SentenceGroup are \"aspirin, 500 mg, 2 times per day\" and \"aspirin, 300 mg, 3 times per day\". In both cases, aspirin is the target referenced by the action, and the two actions represent different options for how aspirin might be ordered for the patient. Note that a SentenceGroup would almost always have an associated selection behavior of \"AtMostOne\", unless it's a required action, in which case, it would be \"ExactlyOne\"."; 899 default: return "?"; 900 } 901 } 902 public String getDisplay() { 903 switch (this) { 904 case VISUALGROUP: return "Visual Group"; 905 case LOGICALGROUP: return "Logical Group"; 906 case SENTENCEGROUP: return "Sentence Group"; 907 default: return "?"; 908 } 909 } 910 } 911 912 public static class ActionGroupingBehaviorEnumFactory implements EnumFactory<ActionGroupingBehavior> { 913 public ActionGroupingBehavior fromCode(String codeString) throws IllegalArgumentException { 914 if (codeString == null || "".equals(codeString)) 915 if (codeString == null || "".equals(codeString)) 916 return null; 917 if ("visual-group".equals(codeString)) 918 return ActionGroupingBehavior.VISUALGROUP; 919 if ("logical-group".equals(codeString)) 920 return ActionGroupingBehavior.LOGICALGROUP; 921 if ("sentence-group".equals(codeString)) 922 return ActionGroupingBehavior.SENTENCEGROUP; 923 throw new IllegalArgumentException("Unknown ActionGroupingBehavior code '"+codeString+"'"); 924 } 925 public Enumeration<ActionGroupingBehavior> fromType(Base code) throws FHIRException { 926 if (code == null) 927 return null; 928 if (code.isEmpty()) 929 return new Enumeration<ActionGroupingBehavior>(this); 930 String codeString = ((PrimitiveType) code).asStringValue(); 931 if (codeString == null || "".equals(codeString)) 932 return null; 933 if ("visual-group".equals(codeString)) 934 return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.VISUALGROUP); 935 if ("logical-group".equals(codeString)) 936 return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.LOGICALGROUP); 937 if ("sentence-group".equals(codeString)) 938 return new Enumeration<ActionGroupingBehavior>(this, ActionGroupingBehavior.SENTENCEGROUP); 939 throw new FHIRException("Unknown ActionGroupingBehavior code '"+codeString+"'"); 940 } 941 public String toCode(ActionGroupingBehavior code) { 942 if (code == ActionGroupingBehavior.VISUALGROUP) 943 return "visual-group"; 944 if (code == ActionGroupingBehavior.LOGICALGROUP) 945 return "logical-group"; 946 if (code == ActionGroupingBehavior.SENTENCEGROUP) 947 return "sentence-group"; 948 return "?"; 949 } 950 public String toSystem(ActionGroupingBehavior code) { 951 return code.getSystem(); 952 } 953 } 954 955 public enum ActionSelectionBehavior { 956 /** 957 * Any number of the actions in the group may be chosen, from zero to all. 958 */ 959 ANY, 960 /** 961 * All the actions in the group must be selected as a single unit. 962 */ 963 ALL, 964 /** 965 * All the actions in the group are meant to be chosen as a single unit: either all must be selected by the end user, or none may be selected. 966 */ 967 ALLORNONE, 968 /** 969 * The end user must choose one and only one of the selectable actions in the group. The user SHALL NOT choose none of the actions in the group. 970 */ 971 EXACTLYONE, 972 /** 973 * The end user may choose zero or at most one of the actions in the group. 974 */ 975 ATMOSTONE, 976 /** 977 * The end user must choose a minimum of one, and as many additional as desired. 978 */ 979 ONEORMORE, 980 /** 981 * added to help the parsers with the generic types 982 */ 983 NULL; 984 public static ActionSelectionBehavior fromCode(String codeString) throws FHIRException { 985 if (codeString == null || "".equals(codeString)) 986 return null; 987 if ("any".equals(codeString)) 988 return ANY; 989 if ("all".equals(codeString)) 990 return ALL; 991 if ("all-or-none".equals(codeString)) 992 return ALLORNONE; 993 if ("exactly-one".equals(codeString)) 994 return EXACTLYONE; 995 if ("at-most-one".equals(codeString)) 996 return ATMOSTONE; 997 if ("one-or-more".equals(codeString)) 998 return ONEORMORE; 999 if (Configuration.isAcceptInvalidEnums()) 1000 return null; 1001 else 1002 throw new FHIRException("Unknown ActionSelectionBehavior code '"+codeString+"'"); 1003 } 1004 public String toCode() { 1005 switch (this) { 1006 case ANY: return "any"; 1007 case ALL: return "all"; 1008 case ALLORNONE: return "all-or-none"; 1009 case EXACTLYONE: return "exactly-one"; 1010 case ATMOSTONE: return "at-most-one"; 1011 case ONEORMORE: return "one-or-more"; 1012 default: return "?"; 1013 } 1014 } 1015 public String getSystem() { 1016 switch (this) { 1017 case ANY: return "http://hl7.org/fhir/action-selection-behavior"; 1018 case ALL: return "http://hl7.org/fhir/action-selection-behavior"; 1019 case ALLORNONE: return "http://hl7.org/fhir/action-selection-behavior"; 1020 case EXACTLYONE: return "http://hl7.org/fhir/action-selection-behavior"; 1021 case ATMOSTONE: return "http://hl7.org/fhir/action-selection-behavior"; 1022 case ONEORMORE: return "http://hl7.org/fhir/action-selection-behavior"; 1023 default: return "?"; 1024 } 1025 } 1026 public String getDefinition() { 1027 switch (this) { 1028 case ANY: return "Any number of the actions in the group may be chosen, from zero to all."; 1029 case ALL: return "All the actions in the group must be selected as a single unit."; 1030 case ALLORNONE: return "All the actions in the group are meant to be chosen as a single unit: either all must be selected by the end user, or none may be selected."; 1031 case EXACTLYONE: return "The end user must choose one and only one of the selectable actions in the group. The user SHALL NOT choose none of the actions in the group."; 1032 case ATMOSTONE: return "The end user may choose zero or at most one of the actions in the group."; 1033 case ONEORMORE: return "The end user must choose a minimum of one, and as many additional as desired."; 1034 default: return "?"; 1035 } 1036 } 1037 public String getDisplay() { 1038 switch (this) { 1039 case ANY: return "Any"; 1040 case ALL: return "All"; 1041 case ALLORNONE: return "All Or None"; 1042 case EXACTLYONE: return "Exactly One"; 1043 case ATMOSTONE: return "At Most One"; 1044 case ONEORMORE: return "One Or More"; 1045 default: return "?"; 1046 } 1047 } 1048 } 1049 1050 public static class ActionSelectionBehaviorEnumFactory implements EnumFactory<ActionSelectionBehavior> { 1051 public ActionSelectionBehavior fromCode(String codeString) throws IllegalArgumentException { 1052 if (codeString == null || "".equals(codeString)) 1053 if (codeString == null || "".equals(codeString)) 1054 return null; 1055 if ("any".equals(codeString)) 1056 return ActionSelectionBehavior.ANY; 1057 if ("all".equals(codeString)) 1058 return ActionSelectionBehavior.ALL; 1059 if ("all-or-none".equals(codeString)) 1060 return ActionSelectionBehavior.ALLORNONE; 1061 if ("exactly-one".equals(codeString)) 1062 return ActionSelectionBehavior.EXACTLYONE; 1063 if ("at-most-one".equals(codeString)) 1064 return ActionSelectionBehavior.ATMOSTONE; 1065 if ("one-or-more".equals(codeString)) 1066 return ActionSelectionBehavior.ONEORMORE; 1067 throw new IllegalArgumentException("Unknown ActionSelectionBehavior code '"+codeString+"'"); 1068 } 1069 public Enumeration<ActionSelectionBehavior> fromType(Base code) throws FHIRException { 1070 if (code == null) 1071 return null; 1072 if (code.isEmpty()) 1073 return new Enumeration<ActionSelectionBehavior>(this); 1074 String codeString = ((PrimitiveType) code).asStringValue(); 1075 if (codeString == null || "".equals(codeString)) 1076 return null; 1077 if ("any".equals(codeString)) 1078 return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ANY); 1079 if ("all".equals(codeString)) 1080 return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ALL); 1081 if ("all-or-none".equals(codeString)) 1082 return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ALLORNONE); 1083 if ("exactly-one".equals(codeString)) 1084 return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.EXACTLYONE); 1085 if ("at-most-one".equals(codeString)) 1086 return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ATMOSTONE); 1087 if ("one-or-more".equals(codeString)) 1088 return new Enumeration<ActionSelectionBehavior>(this, ActionSelectionBehavior.ONEORMORE); 1089 throw new FHIRException("Unknown ActionSelectionBehavior code '"+codeString+"'"); 1090 } 1091 public String toCode(ActionSelectionBehavior code) { 1092 if (code == ActionSelectionBehavior.ANY) 1093 return "any"; 1094 if (code == ActionSelectionBehavior.ALL) 1095 return "all"; 1096 if (code == ActionSelectionBehavior.ALLORNONE) 1097 return "all-or-none"; 1098 if (code == ActionSelectionBehavior.EXACTLYONE) 1099 return "exactly-one"; 1100 if (code == ActionSelectionBehavior.ATMOSTONE) 1101 return "at-most-one"; 1102 if (code == ActionSelectionBehavior.ONEORMORE) 1103 return "one-or-more"; 1104 return "?"; 1105 } 1106 public String toSystem(ActionSelectionBehavior code) { 1107 return code.getSystem(); 1108 } 1109 } 1110 1111 public enum ActionRequiredBehavior { 1112 /** 1113 * An action with this behavior must be included in the actions processed by the end user; the end user SHALL NOT choose not to include this action. 1114 */ 1115 MUST, 1116 /** 1117 * An action with this behavior may be included in the set of actions processed by the end user. 1118 */ 1119 COULD, 1120 /** 1121 * An action with this behavior must be included in the set of actions processed by the end user, unless the end user provides documentation as to why the action was not included. 1122 */ 1123 MUSTUNLESSDOCUMENTED, 1124 /** 1125 * added to help the parsers with the generic types 1126 */ 1127 NULL; 1128 public static ActionRequiredBehavior fromCode(String codeString) throws FHIRException { 1129 if (codeString == null || "".equals(codeString)) 1130 return null; 1131 if ("must".equals(codeString)) 1132 return MUST; 1133 if ("could".equals(codeString)) 1134 return COULD; 1135 if ("must-unless-documented".equals(codeString)) 1136 return MUSTUNLESSDOCUMENTED; 1137 if (Configuration.isAcceptInvalidEnums()) 1138 return null; 1139 else 1140 throw new FHIRException("Unknown ActionRequiredBehavior code '"+codeString+"'"); 1141 } 1142 public String toCode() { 1143 switch (this) { 1144 case MUST: return "must"; 1145 case COULD: return "could"; 1146 case MUSTUNLESSDOCUMENTED: return "must-unless-documented"; 1147 default: return "?"; 1148 } 1149 } 1150 public String getSystem() { 1151 switch (this) { 1152 case MUST: return "http://hl7.org/fhir/action-required-behavior"; 1153 case COULD: return "http://hl7.org/fhir/action-required-behavior"; 1154 case MUSTUNLESSDOCUMENTED: return "http://hl7.org/fhir/action-required-behavior"; 1155 default: return "?"; 1156 } 1157 } 1158 public String getDefinition() { 1159 switch (this) { 1160 case MUST: return "An action with this behavior must be included in the actions processed by the end user; the end user SHALL NOT choose not to include this action."; 1161 case COULD: return "An action with this behavior may be included in the set of actions processed by the end user."; 1162 case MUSTUNLESSDOCUMENTED: return "An action with this behavior must be included in the set of actions processed by the end user, unless the end user provides documentation as to why the action was not included."; 1163 default: return "?"; 1164 } 1165 } 1166 public String getDisplay() { 1167 switch (this) { 1168 case MUST: return "Must"; 1169 case COULD: return "Could"; 1170 case MUSTUNLESSDOCUMENTED: return "Must Unless Documented"; 1171 default: return "?"; 1172 } 1173 } 1174 } 1175 1176 public static class ActionRequiredBehaviorEnumFactory implements EnumFactory<ActionRequiredBehavior> { 1177 public ActionRequiredBehavior fromCode(String codeString) throws IllegalArgumentException { 1178 if (codeString == null || "".equals(codeString)) 1179 if (codeString == null || "".equals(codeString)) 1180 return null; 1181 if ("must".equals(codeString)) 1182 return ActionRequiredBehavior.MUST; 1183 if ("could".equals(codeString)) 1184 return ActionRequiredBehavior.COULD; 1185 if ("must-unless-documented".equals(codeString)) 1186 return ActionRequiredBehavior.MUSTUNLESSDOCUMENTED; 1187 throw new IllegalArgumentException("Unknown ActionRequiredBehavior code '"+codeString+"'"); 1188 } 1189 public Enumeration<ActionRequiredBehavior> fromType(Base code) throws FHIRException { 1190 if (code == null) 1191 return null; 1192 if (code.isEmpty()) 1193 return new Enumeration<ActionRequiredBehavior>(this); 1194 String codeString = ((PrimitiveType) code).asStringValue(); 1195 if (codeString == null || "".equals(codeString)) 1196 return null; 1197 if ("must".equals(codeString)) 1198 return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.MUST); 1199 if ("could".equals(codeString)) 1200 return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.COULD); 1201 if ("must-unless-documented".equals(codeString)) 1202 return new Enumeration<ActionRequiredBehavior>(this, ActionRequiredBehavior.MUSTUNLESSDOCUMENTED); 1203 throw new FHIRException("Unknown ActionRequiredBehavior code '"+codeString+"'"); 1204 } 1205 public String toCode(ActionRequiredBehavior code) { 1206 if (code == ActionRequiredBehavior.MUST) 1207 return "must"; 1208 if (code == ActionRequiredBehavior.COULD) 1209 return "could"; 1210 if (code == ActionRequiredBehavior.MUSTUNLESSDOCUMENTED) 1211 return "must-unless-documented"; 1212 return "?"; 1213 } 1214 public String toSystem(ActionRequiredBehavior code) { 1215 return code.getSystem(); 1216 } 1217 } 1218 1219 public enum ActionPrecheckBehavior { 1220 /** 1221 * An action with this behavior is one of the most frequent action that is, or should be, included by an end user, for the particular context in which the action occurs. The system displaying the action to the end user should consider "pre-checking" such an action as a convenience for the user. 1222 */ 1223 YES, 1224 /** 1225 * An action with this behavior is one of the less frequent actions included by the end user, for the particular context in which the action occurs. The system displaying the actions to the end user would typically not "pre-check" such an action. 1226 */ 1227 NO, 1228 /** 1229 * added to help the parsers with the generic types 1230 */ 1231 NULL; 1232 public static ActionPrecheckBehavior fromCode(String codeString) throws FHIRException { 1233 if (codeString == null || "".equals(codeString)) 1234 return null; 1235 if ("yes".equals(codeString)) 1236 return YES; 1237 if ("no".equals(codeString)) 1238 return NO; 1239 if (Configuration.isAcceptInvalidEnums()) 1240 return null; 1241 else 1242 throw new FHIRException("Unknown ActionPrecheckBehavior code '"+codeString+"'"); 1243 } 1244 public String toCode() { 1245 switch (this) { 1246 case YES: return "yes"; 1247 case NO: return "no"; 1248 default: return "?"; 1249 } 1250 } 1251 public String getSystem() { 1252 switch (this) { 1253 case YES: return "http://hl7.org/fhir/action-precheck-behavior"; 1254 case NO: return "http://hl7.org/fhir/action-precheck-behavior"; 1255 default: return "?"; 1256 } 1257 } 1258 public String getDefinition() { 1259 switch (this) { 1260 case YES: return "An action with this behavior is one of the most frequent action that is, or should be, included by an end user, for the particular context in which the action occurs. The system displaying the action to the end user should consider \"pre-checking\" such an action as a convenience for the user."; 1261 case NO: return "An action with this behavior is one of the less frequent actions included by the end user, for the particular context in which the action occurs. The system displaying the actions to the end user would typically not \"pre-check\" such an action."; 1262 default: return "?"; 1263 } 1264 } 1265 public String getDisplay() { 1266 switch (this) { 1267 case YES: return "Yes"; 1268 case NO: return "No"; 1269 default: return "?"; 1270 } 1271 } 1272 } 1273 1274 public static class ActionPrecheckBehaviorEnumFactory implements EnumFactory<ActionPrecheckBehavior> { 1275 public ActionPrecheckBehavior fromCode(String codeString) throws IllegalArgumentException { 1276 if (codeString == null || "".equals(codeString)) 1277 if (codeString == null || "".equals(codeString)) 1278 return null; 1279 if ("yes".equals(codeString)) 1280 return ActionPrecheckBehavior.YES; 1281 if ("no".equals(codeString)) 1282 return ActionPrecheckBehavior.NO; 1283 throw new IllegalArgumentException("Unknown ActionPrecheckBehavior code '"+codeString+"'"); 1284 } 1285 public Enumeration<ActionPrecheckBehavior> fromType(Base code) throws FHIRException { 1286 if (code == null) 1287 return null; 1288 if (code.isEmpty()) 1289 return new Enumeration<ActionPrecheckBehavior>(this); 1290 String codeString = ((PrimitiveType) code).asStringValue(); 1291 if (codeString == null || "".equals(codeString)) 1292 return null; 1293 if ("yes".equals(codeString)) 1294 return new Enumeration<ActionPrecheckBehavior>(this, ActionPrecheckBehavior.YES); 1295 if ("no".equals(codeString)) 1296 return new Enumeration<ActionPrecheckBehavior>(this, ActionPrecheckBehavior.NO); 1297 throw new FHIRException("Unknown ActionPrecheckBehavior code '"+codeString+"'"); 1298 } 1299 public String toCode(ActionPrecheckBehavior code) { 1300 if (code == ActionPrecheckBehavior.YES) 1301 return "yes"; 1302 if (code == ActionPrecheckBehavior.NO) 1303 return "no"; 1304 return "?"; 1305 } 1306 public String toSystem(ActionPrecheckBehavior code) { 1307 return code.getSystem(); 1308 } 1309 } 1310 1311 public enum ActionCardinalityBehavior { 1312 /** 1313 * The action may only be selected one time. 1314 */ 1315 SINGLE, 1316 /** 1317 * The action may be selected multiple times. 1318 */ 1319 MULTIPLE, 1320 /** 1321 * added to help the parsers with the generic types 1322 */ 1323 NULL; 1324 public static ActionCardinalityBehavior fromCode(String codeString) throws FHIRException { 1325 if (codeString == null || "".equals(codeString)) 1326 return null; 1327 if ("single".equals(codeString)) 1328 return SINGLE; 1329 if ("multiple".equals(codeString)) 1330 return MULTIPLE; 1331 if (Configuration.isAcceptInvalidEnums()) 1332 return null; 1333 else 1334 throw new FHIRException("Unknown ActionCardinalityBehavior code '"+codeString+"'"); 1335 } 1336 public String toCode() { 1337 switch (this) { 1338 case SINGLE: return "single"; 1339 case MULTIPLE: return "multiple"; 1340 default: return "?"; 1341 } 1342 } 1343 public String getSystem() { 1344 switch (this) { 1345 case SINGLE: return "http://hl7.org/fhir/action-cardinality-behavior"; 1346 case MULTIPLE: return "http://hl7.org/fhir/action-cardinality-behavior"; 1347 default: return "?"; 1348 } 1349 } 1350 public String getDefinition() { 1351 switch (this) { 1352 case SINGLE: return "The action may only be selected one time."; 1353 case MULTIPLE: return "The action may be selected multiple times."; 1354 default: return "?"; 1355 } 1356 } 1357 public String getDisplay() { 1358 switch (this) { 1359 case SINGLE: return "Single"; 1360 case MULTIPLE: return "Multiple"; 1361 default: return "?"; 1362 } 1363 } 1364 } 1365 1366 public static class ActionCardinalityBehaviorEnumFactory implements EnumFactory<ActionCardinalityBehavior> { 1367 public ActionCardinalityBehavior fromCode(String codeString) throws IllegalArgumentException { 1368 if (codeString == null || "".equals(codeString)) 1369 if (codeString == null || "".equals(codeString)) 1370 return null; 1371 if ("single".equals(codeString)) 1372 return ActionCardinalityBehavior.SINGLE; 1373 if ("multiple".equals(codeString)) 1374 return ActionCardinalityBehavior.MULTIPLE; 1375 throw new IllegalArgumentException("Unknown ActionCardinalityBehavior code '"+codeString+"'"); 1376 } 1377 public Enumeration<ActionCardinalityBehavior> fromType(Base code) throws FHIRException { 1378 if (code == null) 1379 return null; 1380 if (code.isEmpty()) 1381 return new Enumeration<ActionCardinalityBehavior>(this); 1382 String codeString = ((PrimitiveType) code).asStringValue(); 1383 if (codeString == null || "".equals(codeString)) 1384 return null; 1385 if ("single".equals(codeString)) 1386 return new Enumeration<ActionCardinalityBehavior>(this, ActionCardinalityBehavior.SINGLE); 1387 if ("multiple".equals(codeString)) 1388 return new Enumeration<ActionCardinalityBehavior>(this, ActionCardinalityBehavior.MULTIPLE); 1389 throw new FHIRException("Unknown ActionCardinalityBehavior code '"+codeString+"'"); 1390 } 1391 public String toCode(ActionCardinalityBehavior code) { 1392 if (code == ActionCardinalityBehavior.SINGLE) 1393 return "single"; 1394 if (code == ActionCardinalityBehavior.MULTIPLE) 1395 return "multiple"; 1396 return "?"; 1397 } 1398 public String toSystem(ActionCardinalityBehavior code) { 1399 return code.getSystem(); 1400 } 1401 } 1402 1403 @Block() 1404 public static class RequestGroupActionComponent extends BackboneElement implements IBaseBackboneElement { 1405 /** 1406 * A user-visible prefix for the action. 1407 */ 1408 @Child(name = "prefix", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1409 @Description(shortDefinition="User-visible prefix for the action (e.g. 1. or A.)", formalDefinition="A user-visible prefix for the action." ) 1410 protected StringType prefix; 1411 1412 /** 1413 * The title of the action displayed to a user. 1414 */ 1415 @Child(name = "title", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1416 @Description(shortDefinition="User-visible title", formalDefinition="The title of the action displayed to a user." ) 1417 protected StringType title; 1418 1419 /** 1420 * A short description of the action used to provide a summary to display to the user. 1421 */ 1422 @Child(name = "description", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 1423 @Description(shortDefinition="Short description of the action", formalDefinition="A short description of the action used to provide a summary to display to the user." ) 1424 protected StringType description; 1425 1426 /** 1427 * 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. 1428 */ 1429 @Child(name = "textEquivalent", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 1430 @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." ) 1431 protected StringType textEquivalent; 1432 1433 /** 1434 * Indicates how quickly the action should be addressed with respect to other actions. 1435 */ 1436 @Child(name = "priority", type = {CodeType.class}, order=5, min=0, max=1, modifier=false, summary=false) 1437 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the action should be addressed with respect to other actions." ) 1438 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 1439 protected Enumeration<RequestPriority> priority; 1440 1441 /** 1442 * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation template. 1443 */ 1444 @Child(name = "code", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1445 @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 the section of a documentation template." ) 1446 protected List<CodeableConcept> code; 1447 1448 /** 1449 * 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. 1450 */ 1451 @Child(name = "documentation", type = {RelatedArtifact.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1452 @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." ) 1453 protected List<RelatedArtifact> documentation; 1454 1455 /** 1456 * An expression that describes applicability criteria, or start/stop conditions for the action. 1457 */ 1458 @Child(name = "condition", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1459 @Description(shortDefinition="Whether or not the action is applicable", formalDefinition="An expression that describes applicability criteria, or start/stop conditions for the action." ) 1460 protected List<RequestGroupActionConditionComponent> condition; 1461 1462 /** 1463 * A relationship to another action such as "before" or "30-60 minutes after start of". 1464 */ 1465 @Child(name = "relatedAction", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1466 @Description(shortDefinition="Relationship to another action", formalDefinition="A relationship to another action such as \"before\" or \"30-60 minutes after start of\"." ) 1467 protected List<RequestGroupActionRelatedActionComponent> relatedAction; 1468 1469 /** 1470 * An optional value describing when the action should be performed. 1471 */ 1472 @Child(name = "timing", type = {DateTimeType.class, Age.class, Period.class, Duration.class, Range.class, Timing.class}, order=10, min=0, max=1, modifier=false, summary=false) 1473 @Description(shortDefinition="When the action should take place", formalDefinition="An optional value describing when the action should be performed." ) 1474 protected Type timing; 1475 1476 /** 1477 * The participant that should perform or be responsible for this action. 1478 */ 1479 @Child(name = "participant", type = {Patient.class, Practitioner.class, RelatedPerson.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1480 @Description(shortDefinition="Who should perform the action", formalDefinition="The participant that should perform or be responsible for this action." ) 1481 protected List<Reference> participant; 1482 /** 1483 * The actual objects that are the target of the reference (The participant that should perform or be responsible for this action.) 1484 */ 1485 protected List<Resource> participantTarget; 1486 1487 1488 /** 1489 * The type of action to perform (create, update, remove). 1490 */ 1491 @Child(name = "type", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=false) 1492 @Description(shortDefinition="create | update | remove | fire-event", formalDefinition="The type of action to perform (create, update, remove)." ) 1493 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-type") 1494 protected CodeableConcept type; 1495 1496 /** 1497 * Defines the grouping behavior for the action and its children. 1498 */ 1499 @Child(name = "groupingBehavior", type = {CodeType.class}, order=13, min=0, max=1, modifier=false, summary=false) 1500 @Description(shortDefinition="visual-group | logical-group | sentence-group", formalDefinition="Defines the grouping behavior for the action and its children." ) 1501 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-grouping-behavior") 1502 protected Enumeration<ActionGroupingBehavior> groupingBehavior; 1503 1504 /** 1505 * Defines the selection behavior for the action and its children. 1506 */ 1507 @Child(name = "selectionBehavior", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=false) 1508 @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." ) 1509 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-selection-behavior") 1510 protected Enumeration<ActionSelectionBehavior> selectionBehavior; 1511 1512 /** 1513 * Defines the requiredness behavior for the action. 1514 */ 1515 @Child(name = "requiredBehavior", type = {CodeType.class}, order=15, min=0, max=1, modifier=false, summary=false) 1516 @Description(shortDefinition="must | could | must-unless-documented", formalDefinition="Defines the requiredness behavior for the action." ) 1517 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-required-behavior") 1518 protected Enumeration<ActionRequiredBehavior> requiredBehavior; 1519 1520 /** 1521 * Defines whether the action should usually be preselected. 1522 */ 1523 @Child(name = "precheckBehavior", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=false) 1524 @Description(shortDefinition="yes | no", formalDefinition="Defines whether the action should usually be preselected." ) 1525 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-precheck-behavior") 1526 protected Enumeration<ActionPrecheckBehavior> precheckBehavior; 1527 1528 /** 1529 * Defines whether the action can be selected multiple times. 1530 */ 1531 @Child(name = "cardinalityBehavior", type = {CodeType.class}, order=17, min=0, max=1, modifier=false, summary=false) 1532 @Description(shortDefinition="single | multiple", formalDefinition="Defines whether the action can be selected multiple times." ) 1533 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-cardinality-behavior") 1534 protected Enumeration<ActionCardinalityBehavior> cardinalityBehavior; 1535 1536 /** 1537 * The resource that is the target of the action (e.g. CommunicationRequest). 1538 */ 1539 @Child(name = "resource", type = {Reference.class}, order=18, min=0, max=1, modifier=false, summary=false) 1540 @Description(shortDefinition="The target of the action", formalDefinition="The resource that is the target of the action (e.g. CommunicationRequest)." ) 1541 protected Reference resource; 1542 1543 /** 1544 * The actual object that is the target of the reference (The resource that is the target of the action (e.g. CommunicationRequest).) 1545 */ 1546 protected Resource resourceTarget; 1547 1548 /** 1549 * Sub actions. 1550 */ 1551 @Child(name = "action", type = {RequestGroupActionComponent.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1552 @Description(shortDefinition="Sub action", formalDefinition="Sub actions." ) 1553 protected List<RequestGroupActionComponent> action; 1554 1555 private static final long serialVersionUID = 296752321L; 1556 1557 /** 1558 * Constructor 1559 */ 1560 public RequestGroupActionComponent() { 1561 super(); 1562 } 1563 1564 /** 1565 * @return {@link #prefix} (A user-visible prefix for the action.). This is the underlying object with id, value and extensions. The accessor "getPrefix" gives direct access to the value 1566 */ 1567 public StringType getPrefixElement() { 1568 if (this.prefix == null) 1569 if (Configuration.errorOnAutoCreate()) 1570 throw new Error("Attempt to auto-create RequestGroupActionComponent.prefix"); 1571 else if (Configuration.doAutoCreate()) 1572 this.prefix = new StringType(); // bb 1573 return this.prefix; 1574 } 1575 1576 public boolean hasPrefixElement() { 1577 return this.prefix != null && !this.prefix.isEmpty(); 1578 } 1579 1580 public boolean hasPrefix() { 1581 return this.prefix != null && !this.prefix.isEmpty(); 1582 } 1583 1584 /** 1585 * @param value {@link #prefix} (A user-visible prefix for the action.). This is the underlying object with id, value and extensions. The accessor "getPrefix" gives direct access to the value 1586 */ 1587 public RequestGroupActionComponent setPrefixElement(StringType value) { 1588 this.prefix = value; 1589 return this; 1590 } 1591 1592 /** 1593 * @return A user-visible prefix for the action. 1594 */ 1595 public String getPrefix() { 1596 return this.prefix == null ? null : this.prefix.getValue(); 1597 } 1598 1599 /** 1600 * @param value A user-visible prefix for the action. 1601 */ 1602 public RequestGroupActionComponent setPrefix(String value) { 1603 if (Utilities.noString(value)) 1604 this.prefix = null; 1605 else { 1606 if (this.prefix == null) 1607 this.prefix = new StringType(); 1608 this.prefix.setValue(value); 1609 } 1610 return this; 1611 } 1612 1613 /** 1614 * @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 1615 */ 1616 public StringType getTitleElement() { 1617 if (this.title == null) 1618 if (Configuration.errorOnAutoCreate()) 1619 throw new Error("Attempt to auto-create RequestGroupActionComponent.title"); 1620 else if (Configuration.doAutoCreate()) 1621 this.title = new StringType(); // bb 1622 return this.title; 1623 } 1624 1625 public boolean hasTitleElement() { 1626 return this.title != null && !this.title.isEmpty(); 1627 } 1628 1629 public boolean hasTitle() { 1630 return this.title != null && !this.title.isEmpty(); 1631 } 1632 1633 /** 1634 * @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 1635 */ 1636 public RequestGroupActionComponent setTitleElement(StringType value) { 1637 this.title = value; 1638 return this; 1639 } 1640 1641 /** 1642 * @return The title of the action displayed to a user. 1643 */ 1644 public String getTitle() { 1645 return this.title == null ? null : this.title.getValue(); 1646 } 1647 1648 /** 1649 * @param value The title of the action displayed to a user. 1650 */ 1651 public RequestGroupActionComponent setTitle(String value) { 1652 if (Utilities.noString(value)) 1653 this.title = null; 1654 else { 1655 if (this.title == null) 1656 this.title = new StringType(); 1657 this.title.setValue(value); 1658 } 1659 return this; 1660 } 1661 1662 /** 1663 * @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 1664 */ 1665 public StringType getDescriptionElement() { 1666 if (this.description == null) 1667 if (Configuration.errorOnAutoCreate()) 1668 throw new Error("Attempt to auto-create RequestGroupActionComponent.description"); 1669 else if (Configuration.doAutoCreate()) 1670 this.description = new StringType(); // bb 1671 return this.description; 1672 } 1673 1674 public boolean hasDescriptionElement() { 1675 return this.description != null && !this.description.isEmpty(); 1676 } 1677 1678 public boolean hasDescription() { 1679 return this.description != null && !this.description.isEmpty(); 1680 } 1681 1682 /** 1683 * @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 1684 */ 1685 public RequestGroupActionComponent setDescriptionElement(StringType value) { 1686 this.description = value; 1687 return this; 1688 } 1689 1690 /** 1691 * @return A short description of the action used to provide a summary to display to the user. 1692 */ 1693 public String getDescription() { 1694 return this.description == null ? null : this.description.getValue(); 1695 } 1696 1697 /** 1698 * @param value A short description of the action used to provide a summary to display to the user. 1699 */ 1700 public RequestGroupActionComponent setDescription(String value) { 1701 if (Utilities.noString(value)) 1702 this.description = null; 1703 else { 1704 if (this.description == null) 1705 this.description = new StringType(); 1706 this.description.setValue(value); 1707 } 1708 return this; 1709 } 1710 1711 /** 1712 * @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 1713 */ 1714 public StringType getTextEquivalentElement() { 1715 if (this.textEquivalent == null) 1716 if (Configuration.errorOnAutoCreate()) 1717 throw new Error("Attempt to auto-create RequestGroupActionComponent.textEquivalent"); 1718 else if (Configuration.doAutoCreate()) 1719 this.textEquivalent = new StringType(); // bb 1720 return this.textEquivalent; 1721 } 1722 1723 public boolean hasTextEquivalentElement() { 1724 return this.textEquivalent != null && !this.textEquivalent.isEmpty(); 1725 } 1726 1727 public boolean hasTextEquivalent() { 1728 return this.textEquivalent != null && !this.textEquivalent.isEmpty(); 1729 } 1730 1731 /** 1732 * @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 1733 */ 1734 public RequestGroupActionComponent setTextEquivalentElement(StringType value) { 1735 this.textEquivalent = value; 1736 return this; 1737 } 1738 1739 /** 1740 * @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. 1741 */ 1742 public String getTextEquivalent() { 1743 return this.textEquivalent == null ? null : this.textEquivalent.getValue(); 1744 } 1745 1746 /** 1747 * @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. 1748 */ 1749 public RequestGroupActionComponent setTextEquivalent(String value) { 1750 if (Utilities.noString(value)) 1751 this.textEquivalent = null; 1752 else { 1753 if (this.textEquivalent == null) 1754 this.textEquivalent = new StringType(); 1755 this.textEquivalent.setValue(value); 1756 } 1757 return this; 1758 } 1759 1760 /** 1761 * @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 1762 */ 1763 public Enumeration<RequestPriority> getPriorityElement() { 1764 if (this.priority == null) 1765 if (Configuration.errorOnAutoCreate()) 1766 throw new Error("Attempt to auto-create RequestGroupActionComponent.priority"); 1767 else if (Configuration.doAutoCreate()) 1768 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 1769 return this.priority; 1770 } 1771 1772 public boolean hasPriorityElement() { 1773 return this.priority != null && !this.priority.isEmpty(); 1774 } 1775 1776 public boolean hasPriority() { 1777 return this.priority != null && !this.priority.isEmpty(); 1778 } 1779 1780 /** 1781 * @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 1782 */ 1783 public RequestGroupActionComponent setPriorityElement(Enumeration<RequestPriority> value) { 1784 this.priority = value; 1785 return this; 1786 } 1787 1788 /** 1789 * @return Indicates how quickly the action should be addressed with respect to other actions. 1790 */ 1791 public RequestPriority getPriority() { 1792 return this.priority == null ? null : this.priority.getValue(); 1793 } 1794 1795 /** 1796 * @param value Indicates how quickly the action should be addressed with respect to other actions. 1797 */ 1798 public RequestGroupActionComponent setPriority(RequestPriority value) { 1799 if (value == null) 1800 this.priority = null; 1801 else { 1802 if (this.priority == null) 1803 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 1804 this.priority.setValue(value); 1805 } 1806 return this; 1807 } 1808 1809 /** 1810 * @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 the section of a documentation template.) 1811 */ 1812 public List<CodeableConcept> getCode() { 1813 if (this.code == null) 1814 this.code = new ArrayList<CodeableConcept>(); 1815 return this.code; 1816 } 1817 1818 /** 1819 * @return Returns a reference to <code>this</code> for easy method chaining 1820 */ 1821 public RequestGroupActionComponent setCode(List<CodeableConcept> theCode) { 1822 this.code = theCode; 1823 return this; 1824 } 1825 1826 public boolean hasCode() { 1827 if (this.code == null) 1828 return false; 1829 for (CodeableConcept item : this.code) 1830 if (!item.isEmpty()) 1831 return true; 1832 return false; 1833 } 1834 1835 public CodeableConcept addCode() { //3 1836 CodeableConcept t = new CodeableConcept(); 1837 if (this.code == null) 1838 this.code = new ArrayList<CodeableConcept>(); 1839 this.code.add(t); 1840 return t; 1841 } 1842 1843 public RequestGroupActionComponent addCode(CodeableConcept t) { //3 1844 if (t == null) 1845 return this; 1846 if (this.code == null) 1847 this.code = new ArrayList<CodeableConcept>(); 1848 this.code.add(t); 1849 return this; 1850 } 1851 1852 /** 1853 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist 1854 */ 1855 public CodeableConcept getCodeFirstRep() { 1856 if (getCode().isEmpty()) { 1857 addCode(); 1858 } 1859 return getCode().get(0); 1860 } 1861 1862 /** 1863 * @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.) 1864 */ 1865 public List<RelatedArtifact> getDocumentation() { 1866 if (this.documentation == null) 1867 this.documentation = new ArrayList<RelatedArtifact>(); 1868 return this.documentation; 1869 } 1870 1871 /** 1872 * @return Returns a reference to <code>this</code> for easy method chaining 1873 */ 1874 public RequestGroupActionComponent setDocumentation(List<RelatedArtifact> theDocumentation) { 1875 this.documentation = theDocumentation; 1876 return this; 1877 } 1878 1879 public boolean hasDocumentation() { 1880 if (this.documentation == null) 1881 return false; 1882 for (RelatedArtifact item : this.documentation) 1883 if (!item.isEmpty()) 1884 return true; 1885 return false; 1886 } 1887 1888 public RelatedArtifact addDocumentation() { //3 1889 RelatedArtifact t = new RelatedArtifact(); 1890 if (this.documentation == null) 1891 this.documentation = new ArrayList<RelatedArtifact>(); 1892 this.documentation.add(t); 1893 return t; 1894 } 1895 1896 public RequestGroupActionComponent addDocumentation(RelatedArtifact t) { //3 1897 if (t == null) 1898 return this; 1899 if (this.documentation == null) 1900 this.documentation = new ArrayList<RelatedArtifact>(); 1901 this.documentation.add(t); 1902 return this; 1903 } 1904 1905 /** 1906 * @return The first repetition of repeating field {@link #documentation}, creating it if it does not already exist 1907 */ 1908 public RelatedArtifact getDocumentationFirstRep() { 1909 if (getDocumentation().isEmpty()) { 1910 addDocumentation(); 1911 } 1912 return getDocumentation().get(0); 1913 } 1914 1915 /** 1916 * @return {@link #condition} (An expression that describes applicability criteria, or start/stop conditions for the action.) 1917 */ 1918 public List<RequestGroupActionConditionComponent> getCondition() { 1919 if (this.condition == null) 1920 this.condition = new ArrayList<RequestGroupActionConditionComponent>(); 1921 return this.condition; 1922 } 1923 1924 /** 1925 * @return Returns a reference to <code>this</code> for easy method chaining 1926 */ 1927 public RequestGroupActionComponent setCondition(List<RequestGroupActionConditionComponent> theCondition) { 1928 this.condition = theCondition; 1929 return this; 1930 } 1931 1932 public boolean hasCondition() { 1933 if (this.condition == null) 1934 return false; 1935 for (RequestGroupActionConditionComponent item : this.condition) 1936 if (!item.isEmpty()) 1937 return true; 1938 return false; 1939 } 1940 1941 public RequestGroupActionConditionComponent addCondition() { //3 1942 RequestGroupActionConditionComponent t = new RequestGroupActionConditionComponent(); 1943 if (this.condition == null) 1944 this.condition = new ArrayList<RequestGroupActionConditionComponent>(); 1945 this.condition.add(t); 1946 return t; 1947 } 1948 1949 public RequestGroupActionComponent addCondition(RequestGroupActionConditionComponent t) { //3 1950 if (t == null) 1951 return this; 1952 if (this.condition == null) 1953 this.condition = new ArrayList<RequestGroupActionConditionComponent>(); 1954 this.condition.add(t); 1955 return this; 1956 } 1957 1958 /** 1959 * @return The first repetition of repeating field {@link #condition}, creating it if it does not already exist 1960 */ 1961 public RequestGroupActionConditionComponent getConditionFirstRep() { 1962 if (getCondition().isEmpty()) { 1963 addCondition(); 1964 } 1965 return getCondition().get(0); 1966 } 1967 1968 /** 1969 * @return {@link #relatedAction} (A relationship to another action such as "before" or "30-60 minutes after start of".) 1970 */ 1971 public List<RequestGroupActionRelatedActionComponent> getRelatedAction() { 1972 if (this.relatedAction == null) 1973 this.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 1974 return this.relatedAction; 1975 } 1976 1977 /** 1978 * @return Returns a reference to <code>this</code> for easy method chaining 1979 */ 1980 public RequestGroupActionComponent setRelatedAction(List<RequestGroupActionRelatedActionComponent> theRelatedAction) { 1981 this.relatedAction = theRelatedAction; 1982 return this; 1983 } 1984 1985 public boolean hasRelatedAction() { 1986 if (this.relatedAction == null) 1987 return false; 1988 for (RequestGroupActionRelatedActionComponent item : this.relatedAction) 1989 if (!item.isEmpty()) 1990 return true; 1991 return false; 1992 } 1993 1994 public RequestGroupActionRelatedActionComponent addRelatedAction() { //3 1995 RequestGroupActionRelatedActionComponent t = new RequestGroupActionRelatedActionComponent(); 1996 if (this.relatedAction == null) 1997 this.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 1998 this.relatedAction.add(t); 1999 return t; 2000 } 2001 2002 public RequestGroupActionComponent addRelatedAction(RequestGroupActionRelatedActionComponent t) { //3 2003 if (t == null) 2004 return this; 2005 if (this.relatedAction == null) 2006 this.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 2007 this.relatedAction.add(t); 2008 return this; 2009 } 2010 2011 /** 2012 * @return The first repetition of repeating field {@link #relatedAction}, creating it if it does not already exist 2013 */ 2014 public RequestGroupActionRelatedActionComponent getRelatedActionFirstRep() { 2015 if (getRelatedAction().isEmpty()) { 2016 addRelatedAction(); 2017 } 2018 return getRelatedAction().get(0); 2019 } 2020 2021 /** 2022 * @return {@link #timing} (An optional value describing when the action should be performed.) 2023 */ 2024 public Type getTiming() { 2025 return this.timing; 2026 } 2027 2028 /** 2029 * @return {@link #timing} (An optional value describing when the action should be performed.) 2030 */ 2031 public DateTimeType getTimingDateTimeType() throws FHIRException { 2032 if (this.timing == null) 2033 return null; 2034 if (!(this.timing instanceof DateTimeType)) 2035 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.timing.getClass().getName()+" was encountered"); 2036 return (DateTimeType) this.timing; 2037 } 2038 2039 public boolean hasTimingDateTimeType() { 2040 return this != null && this.timing instanceof DateTimeType; 2041 } 2042 2043 /** 2044 * @return {@link #timing} (An optional value describing when the action should be performed.) 2045 */ 2046 public Age getTimingAge() throws FHIRException { 2047 if (this.timing == null) 2048 return null; 2049 if (!(this.timing instanceof Age)) 2050 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.timing.getClass().getName()+" was encountered"); 2051 return (Age) this.timing; 2052 } 2053 2054 public boolean hasTimingAge() { 2055 return this != null && this.timing instanceof Age; 2056 } 2057 2058 /** 2059 * @return {@link #timing} (An optional value describing when the action should be performed.) 2060 */ 2061 public Period getTimingPeriod() throws FHIRException { 2062 if (this.timing == null) 2063 return null; 2064 if (!(this.timing instanceof Period)) 2065 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.timing.getClass().getName()+" was encountered"); 2066 return (Period) this.timing; 2067 } 2068 2069 public boolean hasTimingPeriod() { 2070 return this != null && this.timing instanceof Period; 2071 } 2072 2073 /** 2074 * @return {@link #timing} (An optional value describing when the action should be performed.) 2075 */ 2076 public Duration getTimingDuration() throws FHIRException { 2077 if (this.timing == null) 2078 return null; 2079 if (!(this.timing instanceof Duration)) 2080 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.timing.getClass().getName()+" was encountered"); 2081 return (Duration) this.timing; 2082 } 2083 2084 public boolean hasTimingDuration() { 2085 return this != null && this.timing instanceof Duration; 2086 } 2087 2088 /** 2089 * @return {@link #timing} (An optional value describing when the action should be performed.) 2090 */ 2091 public Range getTimingRange() throws FHIRException { 2092 if (this.timing == null) 2093 return null; 2094 if (!(this.timing instanceof Range)) 2095 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.timing.getClass().getName()+" was encountered"); 2096 return (Range) this.timing; 2097 } 2098 2099 public boolean hasTimingRange() { 2100 return this != null && this.timing instanceof Range; 2101 } 2102 2103 /** 2104 * @return {@link #timing} (An optional value describing when the action should be performed.) 2105 */ 2106 public Timing getTimingTiming() throws FHIRException { 2107 if (this.timing == null) 2108 return null; 2109 if (!(this.timing instanceof Timing)) 2110 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.timing.getClass().getName()+" was encountered"); 2111 return (Timing) this.timing; 2112 } 2113 2114 public boolean hasTimingTiming() { 2115 return this != null && this.timing instanceof Timing; 2116 } 2117 2118 public boolean hasTiming() { 2119 return this.timing != null && !this.timing.isEmpty(); 2120 } 2121 2122 /** 2123 * @param value {@link #timing} (An optional value describing when the action should be performed.) 2124 */ 2125 public RequestGroupActionComponent setTiming(Type value) { 2126 if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Duration || value instanceof Range || value instanceof Timing)) 2127 throw new Error("Not the right type for RequestGroup.action.timing[x]: "+value.fhirType()); 2128 this.timing = value; 2129 return this; 2130 } 2131 2132 /** 2133 * @return {@link #participant} (The participant that should perform or be responsible for this action.) 2134 */ 2135 public List<Reference> getParticipant() { 2136 if (this.participant == null) 2137 this.participant = new ArrayList<Reference>(); 2138 return this.participant; 2139 } 2140 2141 /** 2142 * @return Returns a reference to <code>this</code> for easy method chaining 2143 */ 2144 public RequestGroupActionComponent setParticipant(List<Reference> theParticipant) { 2145 this.participant = theParticipant; 2146 return this; 2147 } 2148 2149 public boolean hasParticipant() { 2150 if (this.participant == null) 2151 return false; 2152 for (Reference item : this.participant) 2153 if (!item.isEmpty()) 2154 return true; 2155 return false; 2156 } 2157 2158 public Reference addParticipant() { //3 2159 Reference t = new Reference(); 2160 if (this.participant == null) 2161 this.participant = new ArrayList<Reference>(); 2162 this.participant.add(t); 2163 return t; 2164 } 2165 2166 public RequestGroupActionComponent addParticipant(Reference t) { //3 2167 if (t == null) 2168 return this; 2169 if (this.participant == null) 2170 this.participant = new ArrayList<Reference>(); 2171 this.participant.add(t); 2172 return this; 2173 } 2174 2175 /** 2176 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist 2177 */ 2178 public Reference getParticipantFirstRep() { 2179 if (getParticipant().isEmpty()) { 2180 addParticipant(); 2181 } 2182 return getParticipant().get(0); 2183 } 2184 2185 /** 2186 * @deprecated Use Reference#setResource(IBaseResource) instead 2187 */ 2188 @Deprecated 2189 public List<Resource> getParticipantTarget() { 2190 if (this.participantTarget == null) 2191 this.participantTarget = new ArrayList<Resource>(); 2192 return this.participantTarget; 2193 } 2194 2195 /** 2196 * @return {@link #type} (The type of action to perform (create, update, remove).) 2197 */ 2198 public CodeableConcept getType() { 2199 if (this.type == null) 2200 if (Configuration.errorOnAutoCreate()) 2201 throw new Error("Attempt to auto-create RequestGroupActionComponent.type"); 2202 else if (Configuration.doAutoCreate()) 2203 this.type = new CodeableConcept(); // cc 2204 return this.type; 2205 } 2206 2207 public boolean hasType() { 2208 return this.type != null && !this.type.isEmpty(); 2209 } 2210 2211 /** 2212 * @param value {@link #type} (The type of action to perform (create, update, remove).) 2213 */ 2214 public RequestGroupActionComponent setType(CodeableConcept value) { 2215 this.type = value; 2216 return this; 2217 } 2218 2219 /** 2220 * @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 2221 */ 2222 public Enumeration<ActionGroupingBehavior> getGroupingBehaviorElement() { 2223 if (this.groupingBehavior == null) 2224 if (Configuration.errorOnAutoCreate()) 2225 throw new Error("Attempt to auto-create RequestGroupActionComponent.groupingBehavior"); 2226 else if (Configuration.doAutoCreate()) 2227 this.groupingBehavior = new Enumeration<ActionGroupingBehavior>(new ActionGroupingBehaviorEnumFactory()); // bb 2228 return this.groupingBehavior; 2229 } 2230 2231 public boolean hasGroupingBehaviorElement() { 2232 return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); 2233 } 2234 2235 public boolean hasGroupingBehavior() { 2236 return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); 2237 } 2238 2239 /** 2240 * @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 2241 */ 2242 public RequestGroupActionComponent setGroupingBehaviorElement(Enumeration<ActionGroupingBehavior> value) { 2243 this.groupingBehavior = value; 2244 return this; 2245 } 2246 2247 /** 2248 * @return Defines the grouping behavior for the action and its children. 2249 */ 2250 public ActionGroupingBehavior getGroupingBehavior() { 2251 return this.groupingBehavior == null ? null : this.groupingBehavior.getValue(); 2252 } 2253 2254 /** 2255 * @param value Defines the grouping behavior for the action and its children. 2256 */ 2257 public RequestGroupActionComponent setGroupingBehavior(ActionGroupingBehavior value) { 2258 if (value == null) 2259 this.groupingBehavior = null; 2260 else { 2261 if (this.groupingBehavior == null) 2262 this.groupingBehavior = new Enumeration<ActionGroupingBehavior>(new ActionGroupingBehaviorEnumFactory()); 2263 this.groupingBehavior.setValue(value); 2264 } 2265 return this; 2266 } 2267 2268 /** 2269 * @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 2270 */ 2271 public Enumeration<ActionSelectionBehavior> getSelectionBehaviorElement() { 2272 if (this.selectionBehavior == null) 2273 if (Configuration.errorOnAutoCreate()) 2274 throw new Error("Attempt to auto-create RequestGroupActionComponent.selectionBehavior"); 2275 else if (Configuration.doAutoCreate()) 2276 this.selectionBehavior = new Enumeration<ActionSelectionBehavior>(new ActionSelectionBehaviorEnumFactory()); // bb 2277 return this.selectionBehavior; 2278 } 2279 2280 public boolean hasSelectionBehaviorElement() { 2281 return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); 2282 } 2283 2284 public boolean hasSelectionBehavior() { 2285 return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); 2286 } 2287 2288 /** 2289 * @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 2290 */ 2291 public RequestGroupActionComponent setSelectionBehaviorElement(Enumeration<ActionSelectionBehavior> value) { 2292 this.selectionBehavior = value; 2293 return this; 2294 } 2295 2296 /** 2297 * @return Defines the selection behavior for the action and its children. 2298 */ 2299 public ActionSelectionBehavior getSelectionBehavior() { 2300 return this.selectionBehavior == null ? null : this.selectionBehavior.getValue(); 2301 } 2302 2303 /** 2304 * @param value Defines the selection behavior for the action and its children. 2305 */ 2306 public RequestGroupActionComponent setSelectionBehavior(ActionSelectionBehavior value) { 2307 if (value == null) 2308 this.selectionBehavior = null; 2309 else { 2310 if (this.selectionBehavior == null) 2311 this.selectionBehavior = new Enumeration<ActionSelectionBehavior>(new ActionSelectionBehaviorEnumFactory()); 2312 this.selectionBehavior.setValue(value); 2313 } 2314 return this; 2315 } 2316 2317 /** 2318 * @return {@link #requiredBehavior} (Defines the requiredness behavior for the action.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value 2319 */ 2320 public Enumeration<ActionRequiredBehavior> getRequiredBehaviorElement() { 2321 if (this.requiredBehavior == null) 2322 if (Configuration.errorOnAutoCreate()) 2323 throw new Error("Attempt to auto-create RequestGroupActionComponent.requiredBehavior"); 2324 else if (Configuration.doAutoCreate()) 2325 this.requiredBehavior = new Enumeration<ActionRequiredBehavior>(new ActionRequiredBehaviorEnumFactory()); // bb 2326 return this.requiredBehavior; 2327 } 2328 2329 public boolean hasRequiredBehaviorElement() { 2330 return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); 2331 } 2332 2333 public boolean hasRequiredBehavior() { 2334 return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); 2335 } 2336 2337 /** 2338 * @param value {@link #requiredBehavior} (Defines the requiredness behavior for the action.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value 2339 */ 2340 public RequestGroupActionComponent setRequiredBehaviorElement(Enumeration<ActionRequiredBehavior> value) { 2341 this.requiredBehavior = value; 2342 return this; 2343 } 2344 2345 /** 2346 * @return Defines the requiredness behavior for the action. 2347 */ 2348 public ActionRequiredBehavior getRequiredBehavior() { 2349 return this.requiredBehavior == null ? null : this.requiredBehavior.getValue(); 2350 } 2351 2352 /** 2353 * @param value Defines the requiredness behavior for the action. 2354 */ 2355 public RequestGroupActionComponent setRequiredBehavior(ActionRequiredBehavior value) { 2356 if (value == null) 2357 this.requiredBehavior = null; 2358 else { 2359 if (this.requiredBehavior == null) 2360 this.requiredBehavior = new Enumeration<ActionRequiredBehavior>(new ActionRequiredBehaviorEnumFactory()); 2361 this.requiredBehavior.setValue(value); 2362 } 2363 return this; 2364 } 2365 2366 /** 2367 * @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 2368 */ 2369 public Enumeration<ActionPrecheckBehavior> getPrecheckBehaviorElement() { 2370 if (this.precheckBehavior == null) 2371 if (Configuration.errorOnAutoCreate()) 2372 throw new Error("Attempt to auto-create RequestGroupActionComponent.precheckBehavior"); 2373 else if (Configuration.doAutoCreate()) 2374 this.precheckBehavior = new Enumeration<ActionPrecheckBehavior>(new ActionPrecheckBehaviorEnumFactory()); // bb 2375 return this.precheckBehavior; 2376 } 2377 2378 public boolean hasPrecheckBehaviorElement() { 2379 return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); 2380 } 2381 2382 public boolean hasPrecheckBehavior() { 2383 return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); 2384 } 2385 2386 /** 2387 * @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 2388 */ 2389 public RequestGroupActionComponent setPrecheckBehaviorElement(Enumeration<ActionPrecheckBehavior> value) { 2390 this.precheckBehavior = value; 2391 return this; 2392 } 2393 2394 /** 2395 * @return Defines whether the action should usually be preselected. 2396 */ 2397 public ActionPrecheckBehavior getPrecheckBehavior() { 2398 return this.precheckBehavior == null ? null : this.precheckBehavior.getValue(); 2399 } 2400 2401 /** 2402 * @param value Defines whether the action should usually be preselected. 2403 */ 2404 public RequestGroupActionComponent setPrecheckBehavior(ActionPrecheckBehavior value) { 2405 if (value == null) 2406 this.precheckBehavior = null; 2407 else { 2408 if (this.precheckBehavior == null) 2409 this.precheckBehavior = new Enumeration<ActionPrecheckBehavior>(new ActionPrecheckBehaviorEnumFactory()); 2410 this.precheckBehavior.setValue(value); 2411 } 2412 return this; 2413 } 2414 2415 /** 2416 * @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 2417 */ 2418 public Enumeration<ActionCardinalityBehavior> getCardinalityBehaviorElement() { 2419 if (this.cardinalityBehavior == null) 2420 if (Configuration.errorOnAutoCreate()) 2421 throw new Error("Attempt to auto-create RequestGroupActionComponent.cardinalityBehavior"); 2422 else if (Configuration.doAutoCreate()) 2423 this.cardinalityBehavior = new Enumeration<ActionCardinalityBehavior>(new ActionCardinalityBehaviorEnumFactory()); // bb 2424 return this.cardinalityBehavior; 2425 } 2426 2427 public boolean hasCardinalityBehaviorElement() { 2428 return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); 2429 } 2430 2431 public boolean hasCardinalityBehavior() { 2432 return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); 2433 } 2434 2435 /** 2436 * @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 2437 */ 2438 public RequestGroupActionComponent setCardinalityBehaviorElement(Enumeration<ActionCardinalityBehavior> value) { 2439 this.cardinalityBehavior = value; 2440 return this; 2441 } 2442 2443 /** 2444 * @return Defines whether the action can be selected multiple times. 2445 */ 2446 public ActionCardinalityBehavior getCardinalityBehavior() { 2447 return this.cardinalityBehavior == null ? null : this.cardinalityBehavior.getValue(); 2448 } 2449 2450 /** 2451 * @param value Defines whether the action can be selected multiple times. 2452 */ 2453 public RequestGroupActionComponent setCardinalityBehavior(ActionCardinalityBehavior value) { 2454 if (value == null) 2455 this.cardinalityBehavior = null; 2456 else { 2457 if (this.cardinalityBehavior == null) 2458 this.cardinalityBehavior = new Enumeration<ActionCardinalityBehavior>(new ActionCardinalityBehaviorEnumFactory()); 2459 this.cardinalityBehavior.setValue(value); 2460 } 2461 return this; 2462 } 2463 2464 /** 2465 * @return {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) 2466 */ 2467 public Reference getResource() { 2468 if (this.resource == null) 2469 if (Configuration.errorOnAutoCreate()) 2470 throw new Error("Attempt to auto-create RequestGroupActionComponent.resource"); 2471 else if (Configuration.doAutoCreate()) 2472 this.resource = new Reference(); // cc 2473 return this.resource; 2474 } 2475 2476 public boolean hasResource() { 2477 return this.resource != null && !this.resource.isEmpty(); 2478 } 2479 2480 /** 2481 * @param value {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) 2482 */ 2483 public RequestGroupActionComponent setResource(Reference value) { 2484 this.resource = value; 2485 return this; 2486 } 2487 2488 /** 2489 * @return {@link #resource} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The resource that is the target of the action (e.g. CommunicationRequest).) 2490 */ 2491 public Resource getResourceTarget() { 2492 return this.resourceTarget; 2493 } 2494 2495 /** 2496 * @param value {@link #resource} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The resource that is the target of the action (e.g. CommunicationRequest).) 2497 */ 2498 public RequestGroupActionComponent setResourceTarget(Resource value) { 2499 this.resourceTarget = value; 2500 return this; 2501 } 2502 2503 /** 2504 * @return {@link #action} (Sub actions.) 2505 */ 2506 public List<RequestGroupActionComponent> getAction() { 2507 if (this.action == null) 2508 this.action = new ArrayList<RequestGroupActionComponent>(); 2509 return this.action; 2510 } 2511 2512 /** 2513 * @return Returns a reference to <code>this</code> for easy method chaining 2514 */ 2515 public RequestGroupActionComponent setAction(List<RequestGroupActionComponent> theAction) { 2516 this.action = theAction; 2517 return this; 2518 } 2519 2520 public boolean hasAction() { 2521 if (this.action == null) 2522 return false; 2523 for (RequestGroupActionComponent item : this.action) 2524 if (!item.isEmpty()) 2525 return true; 2526 return false; 2527 } 2528 2529 public RequestGroupActionComponent addAction() { //3 2530 RequestGroupActionComponent t = new RequestGroupActionComponent(); 2531 if (this.action == null) 2532 this.action = new ArrayList<RequestGroupActionComponent>(); 2533 this.action.add(t); 2534 return t; 2535 } 2536 2537 public RequestGroupActionComponent addAction(RequestGroupActionComponent t) { //3 2538 if (t == null) 2539 return this; 2540 if (this.action == null) 2541 this.action = new ArrayList<RequestGroupActionComponent>(); 2542 this.action.add(t); 2543 return this; 2544 } 2545 2546 /** 2547 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist 2548 */ 2549 public RequestGroupActionComponent getActionFirstRep() { 2550 if (getAction().isEmpty()) { 2551 addAction(); 2552 } 2553 return getAction().get(0); 2554 } 2555 2556 protected void listChildren(List<Property> children) { 2557 super.listChildren(children); 2558 children.add(new Property("prefix", "string", "A user-visible prefix for the action.", 0, 1, prefix)); 2559 children.add(new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title)); 2560 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)); 2561 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)); 2562 children.add(new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority)); 2563 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 the section of a documentation template.", 0, java.lang.Integer.MAX_VALUE, code)); 2564 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)); 2565 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)); 2566 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)); 2567 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)); 2568 children.add(new Property("participant", "Reference(Patient|Practitioner|RelatedPerson)", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant)); 2569 children.add(new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type)); 2570 children.add(new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior)); 2571 children.add(new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior)); 2572 children.add(new Property("requiredBehavior", "code", "Defines the requiredness behavior for the action.", 0, 1, requiredBehavior)); 2573 children.add(new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior)); 2574 children.add(new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior)); 2575 children.add(new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource)); 2576 children.add(new Property("action", "@RequestGroup.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action)); 2577 } 2578 2579 @Override 2580 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2581 switch (_hash) { 2582 case -980110702: /*prefix*/ return new Property("prefix", "string", "A user-visible prefix for the action.", 0, 1, prefix); 2583 case 110371416: /*title*/ return new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title); 2584 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); 2585 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); 2586 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority); 2587 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 the section of a documentation template.", 0, java.lang.Integer.MAX_VALUE, code); 2588 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); 2589 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); 2590 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); 2591 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); 2592 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); 2593 case -1837458939: /*timingDateTime*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 2594 case 164607061: /*timingAge*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 2595 case -615615829: /*timingPeriod*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 2596 case -1327253506: /*timingDuration*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 2597 case -710871277: /*timingRange*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 2598 case -497554124: /*timingTiming*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); 2599 case 767422259: /*participant*/ return new Property("participant", "Reference(Patient|Practitioner|RelatedPerson)", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant); 2600 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type); 2601 case 586678389: /*groupingBehavior*/ return new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior); 2602 case 168639486: /*selectionBehavior*/ return new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior); 2603 case -1163906287: /*requiredBehavior*/ return new Property("requiredBehavior", "code", "Defines the requiredness behavior for the action.", 0, 1, requiredBehavior); 2604 case -1174249033: /*precheckBehavior*/ return new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior); 2605 case -922577408: /*cardinalityBehavior*/ return new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior); 2606 case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource); 2607 case -1422950858: /*action*/ return new Property("action", "@RequestGroup.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action); 2608 default: return super.getNamedProperty(_hash, _name, _checkValid); 2609 } 2610 2611 } 2612 2613 @Override 2614 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2615 switch (hash) { 2616 case -980110702: /*prefix*/ return this.prefix == null ? new Base[0] : new Base[] {this.prefix}; // StringType 2617 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 2618 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 2619 case -900391049: /*textEquivalent*/ return this.textEquivalent == null ? new Base[0] : new Base[] {this.textEquivalent}; // StringType 2620 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 2621 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 2622 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : this.documentation.toArray(new Base[this.documentation.size()]); // RelatedArtifact 2623 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : this.condition.toArray(new Base[this.condition.size()]); // RequestGroupActionConditionComponent 2624 case -384107967: /*relatedAction*/ return this.relatedAction == null ? new Base[0] : this.relatedAction.toArray(new Base[this.relatedAction.size()]); // RequestGroupActionRelatedActionComponent 2625 case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // Type 2626 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // Reference 2627 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 2628 case 586678389: /*groupingBehavior*/ return this.groupingBehavior == null ? new Base[0] : new Base[] {this.groupingBehavior}; // Enumeration<ActionGroupingBehavior> 2629 case 168639486: /*selectionBehavior*/ return this.selectionBehavior == null ? new Base[0] : new Base[] {this.selectionBehavior}; // Enumeration<ActionSelectionBehavior> 2630 case -1163906287: /*requiredBehavior*/ return this.requiredBehavior == null ? new Base[0] : new Base[] {this.requiredBehavior}; // Enumeration<ActionRequiredBehavior> 2631 case -1174249033: /*precheckBehavior*/ return this.precheckBehavior == null ? new Base[0] : new Base[] {this.precheckBehavior}; // Enumeration<ActionPrecheckBehavior> 2632 case -922577408: /*cardinalityBehavior*/ return this.cardinalityBehavior == null ? new Base[0] : new Base[] {this.cardinalityBehavior}; // Enumeration<ActionCardinalityBehavior> 2633 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Reference 2634 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestGroupActionComponent 2635 default: return super.getProperty(hash, name, checkValid); 2636 } 2637 2638 } 2639 2640 @Override 2641 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2642 switch (hash) { 2643 case -980110702: // prefix 2644 this.prefix = castToString(value); // StringType 2645 return value; 2646 case 110371416: // title 2647 this.title = castToString(value); // StringType 2648 return value; 2649 case -1724546052: // description 2650 this.description = castToString(value); // StringType 2651 return value; 2652 case -900391049: // textEquivalent 2653 this.textEquivalent = castToString(value); // StringType 2654 return value; 2655 case -1165461084: // priority 2656 value = new RequestPriorityEnumFactory().fromType(castToCode(value)); 2657 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 2658 return value; 2659 case 3059181: // code 2660 this.getCode().add(castToCodeableConcept(value)); // CodeableConcept 2661 return value; 2662 case 1587405498: // documentation 2663 this.getDocumentation().add(castToRelatedArtifact(value)); // RelatedArtifact 2664 return value; 2665 case -861311717: // condition 2666 this.getCondition().add((RequestGroupActionConditionComponent) value); // RequestGroupActionConditionComponent 2667 return value; 2668 case -384107967: // relatedAction 2669 this.getRelatedAction().add((RequestGroupActionRelatedActionComponent) value); // RequestGroupActionRelatedActionComponent 2670 return value; 2671 case -873664438: // timing 2672 this.timing = castToType(value); // Type 2673 return value; 2674 case 767422259: // participant 2675 this.getParticipant().add(castToReference(value)); // Reference 2676 return value; 2677 case 3575610: // type 2678 this.type = castToCodeableConcept(value); // CodeableConcept 2679 return value; 2680 case 586678389: // groupingBehavior 2681 value = new ActionGroupingBehaviorEnumFactory().fromType(castToCode(value)); 2682 this.groupingBehavior = (Enumeration) value; // Enumeration<ActionGroupingBehavior> 2683 return value; 2684 case 168639486: // selectionBehavior 2685 value = new ActionSelectionBehaviorEnumFactory().fromType(castToCode(value)); 2686 this.selectionBehavior = (Enumeration) value; // Enumeration<ActionSelectionBehavior> 2687 return value; 2688 case -1163906287: // requiredBehavior 2689 value = new ActionRequiredBehaviorEnumFactory().fromType(castToCode(value)); 2690 this.requiredBehavior = (Enumeration) value; // Enumeration<ActionRequiredBehavior> 2691 return value; 2692 case -1174249033: // precheckBehavior 2693 value = new ActionPrecheckBehaviorEnumFactory().fromType(castToCode(value)); 2694 this.precheckBehavior = (Enumeration) value; // Enumeration<ActionPrecheckBehavior> 2695 return value; 2696 case -922577408: // cardinalityBehavior 2697 value = new ActionCardinalityBehaviorEnumFactory().fromType(castToCode(value)); 2698 this.cardinalityBehavior = (Enumeration) value; // Enumeration<ActionCardinalityBehavior> 2699 return value; 2700 case -341064690: // resource 2701 this.resource = castToReference(value); // Reference 2702 return value; 2703 case -1422950858: // action 2704 this.getAction().add((RequestGroupActionComponent) value); // RequestGroupActionComponent 2705 return value; 2706 default: return super.setProperty(hash, name, value); 2707 } 2708 2709 } 2710 2711 @Override 2712 public Base setProperty(String name, Base value) throws FHIRException { 2713 if (name.equals("prefix")) { 2714 this.prefix = castToString(value); // StringType 2715 } else if (name.equals("title")) { 2716 this.title = castToString(value); // StringType 2717 } else if (name.equals("description")) { 2718 this.description = castToString(value); // StringType 2719 } else if (name.equals("textEquivalent")) { 2720 this.textEquivalent = castToString(value); // StringType 2721 } else if (name.equals("priority")) { 2722 value = new RequestPriorityEnumFactory().fromType(castToCode(value)); 2723 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 2724 } else if (name.equals("code")) { 2725 this.getCode().add(castToCodeableConcept(value)); 2726 } else if (name.equals("documentation")) { 2727 this.getDocumentation().add(castToRelatedArtifact(value)); 2728 } else if (name.equals("condition")) { 2729 this.getCondition().add((RequestGroupActionConditionComponent) value); 2730 } else if (name.equals("relatedAction")) { 2731 this.getRelatedAction().add((RequestGroupActionRelatedActionComponent) value); 2732 } else if (name.equals("timing[x]")) { 2733 this.timing = castToType(value); // Type 2734 } else if (name.equals("participant")) { 2735 this.getParticipant().add(castToReference(value)); 2736 } else if (name.equals("type")) { 2737 this.type = castToCodeableConcept(value); // CodeableConcept 2738 } else if (name.equals("groupingBehavior")) { 2739 value = new ActionGroupingBehaviorEnumFactory().fromType(castToCode(value)); 2740 this.groupingBehavior = (Enumeration) value; // Enumeration<ActionGroupingBehavior> 2741 } else if (name.equals("selectionBehavior")) { 2742 value = new ActionSelectionBehaviorEnumFactory().fromType(castToCode(value)); 2743 this.selectionBehavior = (Enumeration) value; // Enumeration<ActionSelectionBehavior> 2744 } else if (name.equals("requiredBehavior")) { 2745 value = new ActionRequiredBehaviorEnumFactory().fromType(castToCode(value)); 2746 this.requiredBehavior = (Enumeration) value; // Enumeration<ActionRequiredBehavior> 2747 } else if (name.equals("precheckBehavior")) { 2748 value = new ActionPrecheckBehaviorEnumFactory().fromType(castToCode(value)); 2749 this.precheckBehavior = (Enumeration) value; // Enumeration<ActionPrecheckBehavior> 2750 } else if (name.equals("cardinalityBehavior")) { 2751 value = new ActionCardinalityBehaviorEnumFactory().fromType(castToCode(value)); 2752 this.cardinalityBehavior = (Enumeration) value; // Enumeration<ActionCardinalityBehavior> 2753 } else if (name.equals("resource")) { 2754 this.resource = castToReference(value); // Reference 2755 } else if (name.equals("action")) { 2756 this.getAction().add((RequestGroupActionComponent) value); 2757 } else 2758 return super.setProperty(name, value); 2759 return value; 2760 } 2761 2762 @Override 2763 public Base makeProperty(int hash, String name) throws FHIRException { 2764 switch (hash) { 2765 case -980110702: return getPrefixElement(); 2766 case 110371416: return getTitleElement(); 2767 case -1724546052: return getDescriptionElement(); 2768 case -900391049: return getTextEquivalentElement(); 2769 case -1165461084: return getPriorityElement(); 2770 case 3059181: return addCode(); 2771 case 1587405498: return addDocumentation(); 2772 case -861311717: return addCondition(); 2773 case -384107967: return addRelatedAction(); 2774 case 164632566: return getTiming(); 2775 case -873664438: return getTiming(); 2776 case 767422259: return addParticipant(); 2777 case 3575610: return getType(); 2778 case 586678389: return getGroupingBehaviorElement(); 2779 case 168639486: return getSelectionBehaviorElement(); 2780 case -1163906287: return getRequiredBehaviorElement(); 2781 case -1174249033: return getPrecheckBehaviorElement(); 2782 case -922577408: return getCardinalityBehaviorElement(); 2783 case -341064690: return getResource(); 2784 case -1422950858: return addAction(); 2785 default: return super.makeProperty(hash, name); 2786 } 2787 2788 } 2789 2790 @Override 2791 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2792 switch (hash) { 2793 case -980110702: /*prefix*/ return new String[] {"string"}; 2794 case 110371416: /*title*/ return new String[] {"string"}; 2795 case -1724546052: /*description*/ return new String[] {"string"}; 2796 case -900391049: /*textEquivalent*/ return new String[] {"string"}; 2797 case -1165461084: /*priority*/ return new String[] {"code"}; 2798 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 2799 case 1587405498: /*documentation*/ return new String[] {"RelatedArtifact"}; 2800 case -861311717: /*condition*/ return new String[] {}; 2801 case -384107967: /*relatedAction*/ return new String[] {}; 2802 case -873664438: /*timing*/ return new String[] {"dateTime", "Age", "Period", "Duration", "Range", "Timing"}; 2803 case 767422259: /*participant*/ return new String[] {"Reference"}; 2804 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 2805 case 586678389: /*groupingBehavior*/ return new String[] {"code"}; 2806 case 168639486: /*selectionBehavior*/ return new String[] {"code"}; 2807 case -1163906287: /*requiredBehavior*/ return new String[] {"code"}; 2808 case -1174249033: /*precheckBehavior*/ return new String[] {"code"}; 2809 case -922577408: /*cardinalityBehavior*/ return new String[] {"code"}; 2810 case -341064690: /*resource*/ return new String[] {"Reference"}; 2811 case -1422950858: /*action*/ return new String[] {"@RequestGroup.action"}; 2812 default: return super.getTypesForProperty(hash, name); 2813 } 2814 2815 } 2816 2817 @Override 2818 public Base addChild(String name) throws FHIRException { 2819 if (name.equals("prefix")) { 2820 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.prefix"); 2821 } 2822 else if (name.equals("title")) { 2823 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.title"); 2824 } 2825 else if (name.equals("description")) { 2826 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.description"); 2827 } 2828 else if (name.equals("textEquivalent")) { 2829 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.textEquivalent"); 2830 } 2831 else if (name.equals("priority")) { 2832 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.priority"); 2833 } 2834 else if (name.equals("code")) { 2835 return addCode(); 2836 } 2837 else if (name.equals("documentation")) { 2838 return addDocumentation(); 2839 } 2840 else if (name.equals("condition")) { 2841 return addCondition(); 2842 } 2843 else if (name.equals("relatedAction")) { 2844 return addRelatedAction(); 2845 } 2846 else if (name.equals("timingDateTime")) { 2847 this.timing = new DateTimeType(); 2848 return this.timing; 2849 } 2850 else if (name.equals("timingAge")) { 2851 this.timing = new Age(); 2852 return this.timing; 2853 } 2854 else if (name.equals("timingPeriod")) { 2855 this.timing = new Period(); 2856 return this.timing; 2857 } 2858 else if (name.equals("timingDuration")) { 2859 this.timing = new Duration(); 2860 return this.timing; 2861 } 2862 else if (name.equals("timingRange")) { 2863 this.timing = new Range(); 2864 return this.timing; 2865 } 2866 else if (name.equals("timingTiming")) { 2867 this.timing = new Timing(); 2868 return this.timing; 2869 } 2870 else if (name.equals("participant")) { 2871 return addParticipant(); 2872 } 2873 else if (name.equals("type")) { 2874 this.type = new CodeableConcept(); 2875 return this.type; 2876 } 2877 else if (name.equals("groupingBehavior")) { 2878 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.groupingBehavior"); 2879 } 2880 else if (name.equals("selectionBehavior")) { 2881 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.selectionBehavior"); 2882 } 2883 else if (name.equals("requiredBehavior")) { 2884 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.requiredBehavior"); 2885 } 2886 else if (name.equals("precheckBehavior")) { 2887 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.precheckBehavior"); 2888 } 2889 else if (name.equals("cardinalityBehavior")) { 2890 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.cardinalityBehavior"); 2891 } 2892 else if (name.equals("resource")) { 2893 this.resource = new Reference(); 2894 return this.resource; 2895 } 2896 else if (name.equals("action")) { 2897 return addAction(); 2898 } 2899 else 2900 return super.addChild(name); 2901 } 2902 2903 public RequestGroupActionComponent copy() { 2904 RequestGroupActionComponent dst = new RequestGroupActionComponent(); 2905 copyValues(dst); 2906 dst.prefix = prefix == null ? null : prefix.copy(); 2907 dst.title = title == null ? null : title.copy(); 2908 dst.description = description == null ? null : description.copy(); 2909 dst.textEquivalent = textEquivalent == null ? null : textEquivalent.copy(); 2910 dst.priority = priority == null ? null : priority.copy(); 2911 if (code != null) { 2912 dst.code = new ArrayList<CodeableConcept>(); 2913 for (CodeableConcept i : code) 2914 dst.code.add(i.copy()); 2915 }; 2916 if (documentation != null) { 2917 dst.documentation = new ArrayList<RelatedArtifact>(); 2918 for (RelatedArtifact i : documentation) 2919 dst.documentation.add(i.copy()); 2920 }; 2921 if (condition != null) { 2922 dst.condition = new ArrayList<RequestGroupActionConditionComponent>(); 2923 for (RequestGroupActionConditionComponent i : condition) 2924 dst.condition.add(i.copy()); 2925 }; 2926 if (relatedAction != null) { 2927 dst.relatedAction = new ArrayList<RequestGroupActionRelatedActionComponent>(); 2928 for (RequestGroupActionRelatedActionComponent i : relatedAction) 2929 dst.relatedAction.add(i.copy()); 2930 }; 2931 dst.timing = timing == null ? null : timing.copy(); 2932 if (participant != null) { 2933 dst.participant = new ArrayList<Reference>(); 2934 for (Reference i : participant) 2935 dst.participant.add(i.copy()); 2936 }; 2937 dst.type = type == null ? null : type.copy(); 2938 dst.groupingBehavior = groupingBehavior == null ? null : groupingBehavior.copy(); 2939 dst.selectionBehavior = selectionBehavior == null ? null : selectionBehavior.copy(); 2940 dst.requiredBehavior = requiredBehavior == null ? null : requiredBehavior.copy(); 2941 dst.precheckBehavior = precheckBehavior == null ? null : precheckBehavior.copy(); 2942 dst.cardinalityBehavior = cardinalityBehavior == null ? null : cardinalityBehavior.copy(); 2943 dst.resource = resource == null ? null : resource.copy(); 2944 if (action != null) { 2945 dst.action = new ArrayList<RequestGroupActionComponent>(); 2946 for (RequestGroupActionComponent i : action) 2947 dst.action.add(i.copy()); 2948 }; 2949 return dst; 2950 } 2951 2952 @Override 2953 public boolean equalsDeep(Base other_) { 2954 if (!super.equalsDeep(other_)) 2955 return false; 2956 if (!(other_ instanceof RequestGroupActionComponent)) 2957 return false; 2958 RequestGroupActionComponent o = (RequestGroupActionComponent) other_; 2959 return compareDeep(prefix, o.prefix, true) && compareDeep(title, o.title, true) && compareDeep(description, o.description, true) 2960 && compareDeep(textEquivalent, o.textEquivalent, true) && compareDeep(priority, o.priority, true) 2961 && compareDeep(code, o.code, true) && compareDeep(documentation, o.documentation, true) && compareDeep(condition, o.condition, true) 2962 && compareDeep(relatedAction, o.relatedAction, true) && compareDeep(timing, o.timing, true) && compareDeep(participant, o.participant, true) 2963 && compareDeep(type, o.type, true) && compareDeep(groupingBehavior, o.groupingBehavior, true) && compareDeep(selectionBehavior, o.selectionBehavior, true) 2964 && compareDeep(requiredBehavior, o.requiredBehavior, true) && compareDeep(precheckBehavior, o.precheckBehavior, true) 2965 && compareDeep(cardinalityBehavior, o.cardinalityBehavior, true) && compareDeep(resource, o.resource, true) 2966 && compareDeep(action, o.action, true); 2967 } 2968 2969 @Override 2970 public boolean equalsShallow(Base other_) { 2971 if (!super.equalsShallow(other_)) 2972 return false; 2973 if (!(other_ instanceof RequestGroupActionComponent)) 2974 return false; 2975 RequestGroupActionComponent o = (RequestGroupActionComponent) other_; 2976 return compareValues(prefix, o.prefix, true) && compareValues(title, o.title, true) && compareValues(description, o.description, true) 2977 && compareValues(textEquivalent, o.textEquivalent, true) && compareValues(priority, o.priority, true) 2978 && compareValues(groupingBehavior, o.groupingBehavior, true) && compareValues(selectionBehavior, o.selectionBehavior, true) 2979 && compareValues(requiredBehavior, o.requiredBehavior, true) && compareValues(precheckBehavior, o.precheckBehavior, true) 2980 && compareValues(cardinalityBehavior, o.cardinalityBehavior, true); 2981 } 2982 2983 public boolean isEmpty() { 2984 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(prefix, title, description 2985 , textEquivalent, priority, code, documentation, condition, relatedAction, timing 2986 , participant, type, groupingBehavior, selectionBehavior, requiredBehavior, precheckBehavior 2987 , cardinalityBehavior, resource, action); 2988 } 2989 2990 public String fhirType() { 2991 return "RequestGroup.action"; 2992 2993 } 2994 2995 } 2996 2997 @Block() 2998 public static class RequestGroupActionConditionComponent extends BackboneElement implements IBaseBackboneElement { 2999 /** 3000 * The kind of condition. 3001 */ 3002 @Child(name = "kind", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3003 @Description(shortDefinition="applicability | start | stop", formalDefinition="The kind of condition." ) 3004 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-condition-kind") 3005 protected Enumeration<ActionConditionKind> kind; 3006 3007 /** 3008 * A brief, natural language description of the condition that effectively communicates the intended semantics. 3009 */ 3010 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3011 @Description(shortDefinition="Natural language description of the condition", formalDefinition="A brief, natural language description of the condition that effectively communicates the intended semantics." ) 3012 protected StringType description; 3013 3014 /** 3015 * The media type of the language for the expression. 3016 */ 3017 @Child(name = "language", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 3018 @Description(shortDefinition="Language of the expression", formalDefinition="The media type of the language for the expression." ) 3019 protected StringType language; 3020 3021 /** 3022 * An expression that returns true or false, indicating whether or not the condition is satisfied. 3023 */ 3024 @Child(name = "expression", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 3025 @Description(shortDefinition="Boolean-valued expression", formalDefinition="An expression that returns true or false, indicating whether or not the condition is satisfied." ) 3026 protected StringType expression; 3027 3028 private static final long serialVersionUID = 944300105L; 3029 3030 /** 3031 * Constructor 3032 */ 3033 public RequestGroupActionConditionComponent() { 3034 super(); 3035 } 3036 3037 /** 3038 * Constructor 3039 */ 3040 public RequestGroupActionConditionComponent(Enumeration<ActionConditionKind> kind) { 3041 super(); 3042 this.kind = kind; 3043 } 3044 3045 /** 3046 * @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 3047 */ 3048 public Enumeration<ActionConditionKind> getKindElement() { 3049 if (this.kind == null) 3050 if (Configuration.errorOnAutoCreate()) 3051 throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.kind"); 3052 else if (Configuration.doAutoCreate()) 3053 this.kind = new Enumeration<ActionConditionKind>(new ActionConditionKindEnumFactory()); // bb 3054 return this.kind; 3055 } 3056 3057 public boolean hasKindElement() { 3058 return this.kind != null && !this.kind.isEmpty(); 3059 } 3060 3061 public boolean hasKind() { 3062 return this.kind != null && !this.kind.isEmpty(); 3063 } 3064 3065 /** 3066 * @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 3067 */ 3068 public RequestGroupActionConditionComponent setKindElement(Enumeration<ActionConditionKind> value) { 3069 this.kind = value; 3070 return this; 3071 } 3072 3073 /** 3074 * @return The kind of condition. 3075 */ 3076 public ActionConditionKind getKind() { 3077 return this.kind == null ? null : this.kind.getValue(); 3078 } 3079 3080 /** 3081 * @param value The kind of condition. 3082 */ 3083 public RequestGroupActionConditionComponent setKind(ActionConditionKind value) { 3084 if (this.kind == null) 3085 this.kind = new Enumeration<ActionConditionKind>(new ActionConditionKindEnumFactory()); 3086 this.kind.setValue(value); 3087 return this; 3088 } 3089 3090 /** 3091 * @return {@link #description} (A brief, natural language description of the condition that effectively communicates the intended semantics.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3092 */ 3093 public StringType getDescriptionElement() { 3094 if (this.description == null) 3095 if (Configuration.errorOnAutoCreate()) 3096 throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.description"); 3097 else if (Configuration.doAutoCreate()) 3098 this.description = new StringType(); // bb 3099 return this.description; 3100 } 3101 3102 public boolean hasDescriptionElement() { 3103 return this.description != null && !this.description.isEmpty(); 3104 } 3105 3106 public boolean hasDescription() { 3107 return this.description != null && !this.description.isEmpty(); 3108 } 3109 3110 /** 3111 * @param value {@link #description} (A brief, natural language description of the condition that effectively communicates the intended semantics.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3112 */ 3113 public RequestGroupActionConditionComponent setDescriptionElement(StringType value) { 3114 this.description = value; 3115 return this; 3116 } 3117 3118 /** 3119 * @return A brief, natural language description of the condition that effectively communicates the intended semantics. 3120 */ 3121 public String getDescription() { 3122 return this.description == null ? null : this.description.getValue(); 3123 } 3124 3125 /** 3126 * @param value A brief, natural language description of the condition that effectively communicates the intended semantics. 3127 */ 3128 public RequestGroupActionConditionComponent setDescription(String value) { 3129 if (Utilities.noString(value)) 3130 this.description = null; 3131 else { 3132 if (this.description == null) 3133 this.description = new StringType(); 3134 this.description.setValue(value); 3135 } 3136 return this; 3137 } 3138 3139 /** 3140 * @return {@link #language} (The media type of the language for the expression.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 3141 */ 3142 public StringType getLanguageElement() { 3143 if (this.language == null) 3144 if (Configuration.errorOnAutoCreate()) 3145 throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.language"); 3146 else if (Configuration.doAutoCreate()) 3147 this.language = new StringType(); // bb 3148 return this.language; 3149 } 3150 3151 public boolean hasLanguageElement() { 3152 return this.language != null && !this.language.isEmpty(); 3153 } 3154 3155 public boolean hasLanguage() { 3156 return this.language != null && !this.language.isEmpty(); 3157 } 3158 3159 /** 3160 * @param value {@link #language} (The media type of the language for the expression.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 3161 */ 3162 public RequestGroupActionConditionComponent setLanguageElement(StringType value) { 3163 this.language = value; 3164 return this; 3165 } 3166 3167 /** 3168 * @return The media type of the language for the expression. 3169 */ 3170 public String getLanguage() { 3171 return this.language == null ? null : this.language.getValue(); 3172 } 3173 3174 /** 3175 * @param value The media type of the language for the expression. 3176 */ 3177 public RequestGroupActionConditionComponent setLanguage(String value) { 3178 if (Utilities.noString(value)) 3179 this.language = null; 3180 else { 3181 if (this.language == null) 3182 this.language = new StringType(); 3183 this.language.setValue(value); 3184 } 3185 return this; 3186 } 3187 3188 /** 3189 * @return {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 3190 */ 3191 public StringType getExpressionElement() { 3192 if (this.expression == null) 3193 if (Configuration.errorOnAutoCreate()) 3194 throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.expression"); 3195 else if (Configuration.doAutoCreate()) 3196 this.expression = new StringType(); // bb 3197 return this.expression; 3198 } 3199 3200 public boolean hasExpressionElement() { 3201 return this.expression != null && !this.expression.isEmpty(); 3202 } 3203 3204 public boolean hasExpression() { 3205 return this.expression != null && !this.expression.isEmpty(); 3206 } 3207 3208 /** 3209 * @param value {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 3210 */ 3211 public RequestGroupActionConditionComponent setExpressionElement(StringType value) { 3212 this.expression = value; 3213 return this; 3214 } 3215 3216 /** 3217 * @return An expression that returns true or false, indicating whether or not the condition is satisfied. 3218 */ 3219 public String getExpression() { 3220 return this.expression == null ? null : this.expression.getValue(); 3221 } 3222 3223 /** 3224 * @param value An expression that returns true or false, indicating whether or not the condition is satisfied. 3225 */ 3226 public RequestGroupActionConditionComponent setExpression(String value) { 3227 if (Utilities.noString(value)) 3228 this.expression = null; 3229 else { 3230 if (this.expression == null) 3231 this.expression = new StringType(); 3232 this.expression.setValue(value); 3233 } 3234 return this; 3235 } 3236 3237 protected void listChildren(List<Property> children) { 3238 super.listChildren(children); 3239 children.add(new Property("kind", "code", "The kind of condition.", 0, 1, kind)); 3240 children.add(new Property("description", "string", "A brief, natural language description of the condition that effectively communicates the intended semantics.", 0, 1, description)); 3241 children.add(new Property("language", "string", "The media type of the language for the expression.", 0, 1, language)); 3242 children.add(new Property("expression", "string", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression)); 3243 } 3244 3245 @Override 3246 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3247 switch (_hash) { 3248 case 3292052: /*kind*/ return new Property("kind", "code", "The kind of condition.", 0, 1, kind); 3249 case -1724546052: /*description*/ return new Property("description", "string", "A brief, natural language description of the condition that effectively communicates the intended semantics.", 0, 1, description); 3250 case -1613589672: /*language*/ return new Property("language", "string", "The media type of the language for the expression.", 0, 1, language); 3251 case -1795452264: /*expression*/ return new Property("expression", "string", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression); 3252 default: return super.getNamedProperty(_hash, _name, _checkValid); 3253 } 3254 3255 } 3256 3257 @Override 3258 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3259 switch (hash) { 3260 case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<ActionConditionKind> 3261 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 3262 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // StringType 3263 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType 3264 default: return super.getProperty(hash, name, checkValid); 3265 } 3266 3267 } 3268 3269 @Override 3270 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3271 switch (hash) { 3272 case 3292052: // kind 3273 value = new ActionConditionKindEnumFactory().fromType(castToCode(value)); 3274 this.kind = (Enumeration) value; // Enumeration<ActionConditionKind> 3275 return value; 3276 case -1724546052: // description 3277 this.description = castToString(value); // StringType 3278 return value; 3279 case -1613589672: // language 3280 this.language = castToString(value); // StringType 3281 return value; 3282 case -1795452264: // expression 3283 this.expression = castToString(value); // StringType 3284 return value; 3285 default: return super.setProperty(hash, name, value); 3286 } 3287 3288 } 3289 3290 @Override 3291 public Base setProperty(String name, Base value) throws FHIRException { 3292 if (name.equals("kind")) { 3293 value = new ActionConditionKindEnumFactory().fromType(castToCode(value)); 3294 this.kind = (Enumeration) value; // Enumeration<ActionConditionKind> 3295 } else if (name.equals("description")) { 3296 this.description = castToString(value); // StringType 3297 } else if (name.equals("language")) { 3298 this.language = castToString(value); // StringType 3299 } else if (name.equals("expression")) { 3300 this.expression = castToString(value); // StringType 3301 } else 3302 return super.setProperty(name, value); 3303 return value; 3304 } 3305 3306 @Override 3307 public Base makeProperty(int hash, String name) throws FHIRException { 3308 switch (hash) { 3309 case 3292052: return getKindElement(); 3310 case -1724546052: return getDescriptionElement(); 3311 case -1613589672: return getLanguageElement(); 3312 case -1795452264: return getExpressionElement(); 3313 default: return super.makeProperty(hash, name); 3314 } 3315 3316 } 3317 3318 @Override 3319 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3320 switch (hash) { 3321 case 3292052: /*kind*/ return new String[] {"code"}; 3322 case -1724546052: /*description*/ return new String[] {"string"}; 3323 case -1613589672: /*language*/ return new String[] {"string"}; 3324 case -1795452264: /*expression*/ return new String[] {"string"}; 3325 default: return super.getTypesForProperty(hash, name); 3326 } 3327 3328 } 3329 3330 @Override 3331 public Base addChild(String name) throws FHIRException { 3332 if (name.equals("kind")) { 3333 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.kind"); 3334 } 3335 else if (name.equals("description")) { 3336 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.description"); 3337 } 3338 else if (name.equals("language")) { 3339 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.language"); 3340 } 3341 else if (name.equals("expression")) { 3342 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.expression"); 3343 } 3344 else 3345 return super.addChild(name); 3346 } 3347 3348 public RequestGroupActionConditionComponent copy() { 3349 RequestGroupActionConditionComponent dst = new RequestGroupActionConditionComponent(); 3350 copyValues(dst); 3351 dst.kind = kind == null ? null : kind.copy(); 3352 dst.description = description == null ? null : description.copy(); 3353 dst.language = language == null ? null : language.copy(); 3354 dst.expression = expression == null ? null : expression.copy(); 3355 return dst; 3356 } 3357 3358 @Override 3359 public boolean equalsDeep(Base other_) { 3360 if (!super.equalsDeep(other_)) 3361 return false; 3362 if (!(other_ instanceof RequestGroupActionConditionComponent)) 3363 return false; 3364 RequestGroupActionConditionComponent o = (RequestGroupActionConditionComponent) other_; 3365 return compareDeep(kind, o.kind, true) && compareDeep(description, o.description, true) && compareDeep(language, o.language, true) 3366 && compareDeep(expression, o.expression, true); 3367 } 3368 3369 @Override 3370 public boolean equalsShallow(Base other_) { 3371 if (!super.equalsShallow(other_)) 3372 return false; 3373 if (!(other_ instanceof RequestGroupActionConditionComponent)) 3374 return false; 3375 RequestGroupActionConditionComponent o = (RequestGroupActionConditionComponent) other_; 3376 return compareValues(kind, o.kind, true) && compareValues(description, o.description, true) && compareValues(language, o.language, true) 3377 && compareValues(expression, o.expression, true); 3378 } 3379 3380 public boolean isEmpty() { 3381 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(kind, description, language 3382 , expression); 3383 } 3384 3385 public String fhirType() { 3386 return "RequestGroup.action.condition"; 3387 3388 } 3389 3390 } 3391 3392 @Block() 3393 public static class RequestGroupActionRelatedActionComponent extends BackboneElement implements IBaseBackboneElement { 3394 /** 3395 * The element id of the action this is related to. 3396 */ 3397 @Child(name = "actionId", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3398 @Description(shortDefinition="What action this is related to", formalDefinition="The element id of the action this is related to." ) 3399 protected IdType actionId; 3400 3401 /** 3402 * The relationship of this action to the related action. 3403 */ 3404 @Child(name = "relationship", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 3405 @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." ) 3406 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-relationship-type") 3407 protected Enumeration<ActionRelationshipType> relationship; 3408 3409 /** 3410 * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. 3411 */ 3412 @Child(name = "offset", type = {Duration.class, Range.class}, order=3, min=0, max=1, modifier=false, summary=false) 3413 @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." ) 3414 protected Type offset; 3415 3416 private static final long serialVersionUID = 1063306770L; 3417 3418 /** 3419 * Constructor 3420 */ 3421 public RequestGroupActionRelatedActionComponent() { 3422 super(); 3423 } 3424 3425 /** 3426 * Constructor 3427 */ 3428 public RequestGroupActionRelatedActionComponent(IdType actionId, Enumeration<ActionRelationshipType> relationship) { 3429 super(); 3430 this.actionId = actionId; 3431 this.relationship = relationship; 3432 } 3433 3434 /** 3435 * @return {@link #actionId} (The element id of the action this is related to.). This is the underlying object with id, value and extensions. The accessor "getActionId" gives direct access to the value 3436 */ 3437 public IdType getActionIdElement() { 3438 if (this.actionId == null) 3439 if (Configuration.errorOnAutoCreate()) 3440 throw new Error("Attempt to auto-create RequestGroupActionRelatedActionComponent.actionId"); 3441 else if (Configuration.doAutoCreate()) 3442 this.actionId = new IdType(); // bb 3443 return this.actionId; 3444 } 3445 3446 public boolean hasActionIdElement() { 3447 return this.actionId != null && !this.actionId.isEmpty(); 3448 } 3449 3450 public boolean hasActionId() { 3451 return this.actionId != null && !this.actionId.isEmpty(); 3452 } 3453 3454 /** 3455 * @param value {@link #actionId} (The element id of the action this is related to.). This is the underlying object with id, value and extensions. The accessor "getActionId" gives direct access to the value 3456 */ 3457 public RequestGroupActionRelatedActionComponent setActionIdElement(IdType value) { 3458 this.actionId = value; 3459 return this; 3460 } 3461 3462 /** 3463 * @return The element id of the action this is related to. 3464 */ 3465 public String getActionId() { 3466 return this.actionId == null ? null : this.actionId.getValue(); 3467 } 3468 3469 /** 3470 * @param value The element id of the action this is related to. 3471 */ 3472 public RequestGroupActionRelatedActionComponent setActionId(String value) { 3473 if (this.actionId == null) 3474 this.actionId = new IdType(); 3475 this.actionId.setValue(value); 3476 return this; 3477 } 3478 3479 /** 3480 * @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 3481 */ 3482 public Enumeration<ActionRelationshipType> getRelationshipElement() { 3483 if (this.relationship == null) 3484 if (Configuration.errorOnAutoCreate()) 3485 throw new Error("Attempt to auto-create RequestGroupActionRelatedActionComponent.relationship"); 3486 else if (Configuration.doAutoCreate()) 3487 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); // bb 3488 return this.relationship; 3489 } 3490 3491 public boolean hasRelationshipElement() { 3492 return this.relationship != null && !this.relationship.isEmpty(); 3493 } 3494 3495 public boolean hasRelationship() { 3496 return this.relationship != null && !this.relationship.isEmpty(); 3497 } 3498 3499 /** 3500 * @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 3501 */ 3502 public RequestGroupActionRelatedActionComponent setRelationshipElement(Enumeration<ActionRelationshipType> value) { 3503 this.relationship = value; 3504 return this; 3505 } 3506 3507 /** 3508 * @return The relationship of this action to the related action. 3509 */ 3510 public ActionRelationshipType getRelationship() { 3511 return this.relationship == null ? null : this.relationship.getValue(); 3512 } 3513 3514 /** 3515 * @param value The relationship of this action to the related action. 3516 */ 3517 public RequestGroupActionRelatedActionComponent setRelationship(ActionRelationshipType value) { 3518 if (this.relationship == null) 3519 this.relationship = new Enumeration<ActionRelationshipType>(new ActionRelationshipTypeEnumFactory()); 3520 this.relationship.setValue(value); 3521 return this; 3522 } 3523 3524 /** 3525 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3526 */ 3527 public Type getOffset() { 3528 return this.offset; 3529 } 3530 3531 /** 3532 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3533 */ 3534 public Duration getOffsetDuration() throws FHIRException { 3535 if (this.offset == null) 3536 return null; 3537 if (!(this.offset instanceof Duration)) 3538 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.offset.getClass().getName()+" was encountered"); 3539 return (Duration) this.offset; 3540 } 3541 3542 public boolean hasOffsetDuration() { 3543 return this != null && this.offset instanceof Duration; 3544 } 3545 3546 /** 3547 * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3548 */ 3549 public Range getOffsetRange() throws FHIRException { 3550 if (this.offset == null) 3551 return null; 3552 if (!(this.offset instanceof Range)) 3553 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.offset.getClass().getName()+" was encountered"); 3554 return (Range) this.offset; 3555 } 3556 3557 public boolean hasOffsetRange() { 3558 return this != null && this.offset instanceof Range; 3559 } 3560 3561 public boolean hasOffset() { 3562 return this.offset != null && !this.offset.isEmpty(); 3563 } 3564 3565 /** 3566 * @param value {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) 3567 */ 3568 public RequestGroupActionRelatedActionComponent setOffset(Type value) { 3569 if (value != null && !(value instanceof Duration || value instanceof Range)) 3570 throw new Error("Not the right type for RequestGroup.action.relatedAction.offset[x]: "+value.fhirType()); 3571 this.offset = value; 3572 return this; 3573 } 3574 3575 protected void listChildren(List<Property> children) { 3576 super.listChildren(children); 3577 children.add(new Property("actionId", "id", "The element id of the action this is related to.", 0, 1, actionId)); 3578 children.add(new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship)); 3579 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)); 3580 } 3581 3582 @Override 3583 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3584 switch (_hash) { 3585 case -1656172047: /*actionId*/ return new Property("actionId", "id", "The element id of the action this is related to.", 0, 1, actionId); 3586 case -261851592: /*relationship*/ return new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship); 3587 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); 3588 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); 3589 case 134075207: /*offsetDuration*/ 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); 3590 case 1263585386: /*offsetRange*/ 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); 3591 default: return super.getNamedProperty(_hash, _name, _checkValid); 3592 } 3593 3594 } 3595 3596 @Override 3597 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3598 switch (hash) { 3599 case -1656172047: /*actionId*/ return this.actionId == null ? new Base[0] : new Base[] {this.actionId}; // IdType 3600 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Enumeration<ActionRelationshipType> 3601 case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // Type 3602 default: return super.getProperty(hash, name, checkValid); 3603 } 3604 3605 } 3606 3607 @Override 3608 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3609 switch (hash) { 3610 case -1656172047: // actionId 3611 this.actionId = castToId(value); // IdType 3612 return value; 3613 case -261851592: // relationship 3614 value = new ActionRelationshipTypeEnumFactory().fromType(castToCode(value)); 3615 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3616 return value; 3617 case -1019779949: // offset 3618 this.offset = castToType(value); // Type 3619 return value; 3620 default: return super.setProperty(hash, name, value); 3621 } 3622 3623 } 3624 3625 @Override 3626 public Base setProperty(String name, Base value) throws FHIRException { 3627 if (name.equals("actionId")) { 3628 this.actionId = castToId(value); // IdType 3629 } else if (name.equals("relationship")) { 3630 value = new ActionRelationshipTypeEnumFactory().fromType(castToCode(value)); 3631 this.relationship = (Enumeration) value; // Enumeration<ActionRelationshipType> 3632 } else if (name.equals("offset[x]")) { 3633 this.offset = castToType(value); // Type 3634 } else 3635 return super.setProperty(name, value); 3636 return value; 3637 } 3638 3639 @Override 3640 public Base makeProperty(int hash, String name) throws FHIRException { 3641 switch (hash) { 3642 case -1656172047: return getActionIdElement(); 3643 case -261851592: return getRelationshipElement(); 3644 case -1960684787: return getOffset(); 3645 case -1019779949: return getOffset(); 3646 default: return super.makeProperty(hash, name); 3647 } 3648 3649 } 3650 3651 @Override 3652 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3653 switch (hash) { 3654 case -1656172047: /*actionId*/ return new String[] {"id"}; 3655 case -261851592: /*relationship*/ return new String[] {"code"}; 3656 case -1019779949: /*offset*/ return new String[] {"Duration", "Range"}; 3657 default: return super.getTypesForProperty(hash, name); 3658 } 3659 3660 } 3661 3662 @Override 3663 public Base addChild(String name) throws FHIRException { 3664 if (name.equals("actionId")) { 3665 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.actionId"); 3666 } 3667 else if (name.equals("relationship")) { 3668 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.relationship"); 3669 } 3670 else if (name.equals("offsetDuration")) { 3671 this.offset = new Duration(); 3672 return this.offset; 3673 } 3674 else if (name.equals("offsetRange")) { 3675 this.offset = new Range(); 3676 return this.offset; 3677 } 3678 else 3679 return super.addChild(name); 3680 } 3681 3682 public RequestGroupActionRelatedActionComponent copy() { 3683 RequestGroupActionRelatedActionComponent dst = new RequestGroupActionRelatedActionComponent(); 3684 copyValues(dst); 3685 dst.actionId = actionId == null ? null : actionId.copy(); 3686 dst.relationship = relationship == null ? null : relationship.copy(); 3687 dst.offset = offset == null ? null : offset.copy(); 3688 return dst; 3689 } 3690 3691 @Override 3692 public boolean equalsDeep(Base other_) { 3693 if (!super.equalsDeep(other_)) 3694 return false; 3695 if (!(other_ instanceof RequestGroupActionRelatedActionComponent)) 3696 return false; 3697 RequestGroupActionRelatedActionComponent o = (RequestGroupActionRelatedActionComponent) other_; 3698 return compareDeep(actionId, o.actionId, true) && compareDeep(relationship, o.relationship, true) 3699 && compareDeep(offset, o.offset, true); 3700 } 3701 3702 @Override 3703 public boolean equalsShallow(Base other_) { 3704 if (!super.equalsShallow(other_)) 3705 return false; 3706 if (!(other_ instanceof RequestGroupActionRelatedActionComponent)) 3707 return false; 3708 RequestGroupActionRelatedActionComponent o = (RequestGroupActionRelatedActionComponent) other_; 3709 return compareValues(actionId, o.actionId, true) && compareValues(relationship, o.relationship, true) 3710 ; 3711 } 3712 3713 public boolean isEmpty() { 3714 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actionId, relationship, offset 3715 ); 3716 } 3717 3718 public String fhirType() { 3719 return "RequestGroup.action.relatedAction"; 3720 3721 } 3722 3723 } 3724 3725 /** 3726 * Allows a service to provide a unique, business identifier for the request. 3727 */ 3728 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3729 @Description(shortDefinition="Business identifier", formalDefinition="Allows a service to provide a unique, business identifier for the request." ) 3730 protected List<Identifier> identifier; 3731 3732 /** 3733 * 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. 3734 */ 3735 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3736 @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." ) 3737 protected List<CanonicalType> instantiatesCanonical; 3738 3739 /** 3740 * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. 3741 */ 3742 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3743 @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." ) 3744 protected List<UriType> instantiatesUri; 3745 3746 /** 3747 * A plan, proposal or order that is fulfilled in whole or in part by this request. 3748 */ 3749 @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3750 @Description(shortDefinition="Fulfills plan, proposal, or order", formalDefinition="A plan, proposal or order that is fulfilled in whole or in part by this request." ) 3751 protected List<Reference> basedOn; 3752 /** 3753 * The actual objects that are the target of the reference (A plan, proposal or order that is fulfilled in whole or in part by this request.) 3754 */ 3755 protected List<Resource> basedOnTarget; 3756 3757 3758 /** 3759 * Completed or terminated request(s) whose function is taken by this new request. 3760 */ 3761 @Child(name = "replaces", type = {Reference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3762 @Description(shortDefinition="Request(s) replaced by this request", formalDefinition="Completed or terminated request(s) whose function is taken by this new request." ) 3763 protected List<Reference> replaces; 3764 /** 3765 * The actual objects that are the target of the reference (Completed or terminated request(s) whose function is taken by this new request.) 3766 */ 3767 protected List<Resource> replacesTarget; 3768 3769 3770 /** 3771 * 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. 3772 */ 3773 @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) 3774 @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." ) 3775 protected Identifier groupIdentifier; 3776 3777 /** 3778 * The current state of the request. For request groups, the status reflects the status of all the requests in the group. 3779 */ 3780 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 3781 @Description(shortDefinition="draft | active | suspended | cancelled | 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." ) 3782 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 3783 protected Enumeration<RequestStatus> status; 3784 3785 /** 3786 * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 3787 */ 3788 @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 3789 @Description(shortDefinition="proposal | plan | order", formalDefinition="Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain." ) 3790 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 3791 protected Enumeration<RequestIntent> intent; 3792 3793 /** 3794 * Indicates how quickly the request should be addressed with respect to other requests. 3795 */ 3796 @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 3797 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) 3798 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 3799 protected Enumeration<RequestPriority> priority; 3800 3801 /** 3802 * A code that identifies what the overall request group is. 3803 */ 3804 @Child(name = "code", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 3805 @Description(shortDefinition="What's being requested/ordered", formalDefinition="A code that identifies what the overall request group is." ) 3806 protected CodeableConcept code; 3807 3808 /** 3809 * The subject for which the request group was created. 3810 */ 3811 @Child(name = "subject", type = {Patient.class, Group.class}, order=10, min=0, max=1, modifier=false, summary=false) 3812 @Description(shortDefinition="Who the request group is about", formalDefinition="The subject for which the request group was created." ) 3813 protected Reference subject; 3814 3815 /** 3816 * The actual object that is the target of the reference (The subject for which the request group was created.) 3817 */ 3818 protected Resource subjectTarget; 3819 3820 /** 3821 * Describes the context of the request group, if any. 3822 */ 3823 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=11, min=0, max=1, modifier=false, summary=false) 3824 @Description(shortDefinition="Encounter or Episode for the request group", formalDefinition="Describes the context of the request group, if any." ) 3825 protected Reference context; 3826 3827 /** 3828 * The actual object that is the target of the reference (Describes the context of the request group, if any.) 3829 */ 3830 protected Resource contextTarget; 3831 3832 /** 3833 * Indicates when the request group was created. 3834 */ 3835 @Child(name = "authoredOn", type = {DateTimeType.class}, order=12, min=0, max=1, modifier=false, summary=false) 3836 @Description(shortDefinition="When the request group was authored", formalDefinition="Indicates when the request group was created." ) 3837 protected DateTimeType authoredOn; 3838 3839 /** 3840 * Provides a reference to the author of the request group. 3841 */ 3842 @Child(name = "author", type = {Device.class, Practitioner.class}, order=13, min=0, max=1, modifier=false, summary=false) 3843 @Description(shortDefinition="Device or practitioner that authored the request group", formalDefinition="Provides a reference to the author of the request group." ) 3844 protected Reference author; 3845 3846 /** 3847 * The actual object that is the target of the reference (Provides a reference to the author of the request group.) 3848 */ 3849 protected Resource authorTarget; 3850 3851 /** 3852 * Describes the reason for the request group in coded or textual form. 3853 */ 3854 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3855 @Description(shortDefinition="Why the request group is needed", formalDefinition="Describes the reason for the request group in coded or textual form." ) 3856 protected List<CodeableConcept> reasonCode; 3857 3858 /** 3859 * Indicates another resource whose existence justifies this request group. 3860 */ 3861 @Child(name = "reasonReference", type = {Condition.class, Observation.class, DiagnosticReport.class, DocumentReference.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3862 @Description(shortDefinition="Why the request group is needed", formalDefinition="Indicates another resource whose existence justifies this request group." ) 3863 protected List<Reference> reasonReference; 3864 /** 3865 * The actual objects that are the target of the reference (Indicates another resource whose existence justifies this request group.) 3866 */ 3867 protected List<Resource> reasonReferenceTarget; 3868 3869 3870 /** 3871 * Provides a mechanism to communicate additional information about the response. 3872 */ 3873 @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3874 @Description(shortDefinition="Additional notes about the response", formalDefinition="Provides a mechanism to communicate additional information about the response." ) 3875 protected List<Annotation> note; 3876 3877 /** 3878 * The actions, if any, produced by the evaluation of the artifact. 3879 */ 3880 @Child(name = "action", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3881 @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) 3882 protected List<RequestGroupActionComponent> action; 3883 3884 private static final long serialVersionUID = 1622280601L; 3885 3886 /** 3887 * Constructor 3888 */ 3889 public RequestGroup() { 3890 super(); 3891 } 3892 3893 /** 3894 * Constructor 3895 */ 3896 public RequestGroup(Enumeration<RequestStatus> status, Enumeration<RequestIntent> intent) { 3897 super(); 3898 this.status = status; 3899 this.intent = intent; 3900 } 3901 3902 /** 3903 * @return {@link #identifier} (Allows a service to provide a unique, business identifier for the request.) 3904 */ 3905 public List<Identifier> getIdentifier() { 3906 if (this.identifier == null) 3907 this.identifier = new ArrayList<Identifier>(); 3908 return this.identifier; 3909 } 3910 3911 /** 3912 * @return Returns a reference to <code>this</code> for easy method chaining 3913 */ 3914 public RequestGroup setIdentifier(List<Identifier> theIdentifier) { 3915 this.identifier = theIdentifier; 3916 return this; 3917 } 3918 3919 public boolean hasIdentifier() { 3920 if (this.identifier == null) 3921 return false; 3922 for (Identifier item : this.identifier) 3923 if (!item.isEmpty()) 3924 return true; 3925 return false; 3926 } 3927 3928 public Identifier addIdentifier() { //3 3929 Identifier t = new Identifier(); 3930 if (this.identifier == null) 3931 this.identifier = new ArrayList<Identifier>(); 3932 this.identifier.add(t); 3933 return t; 3934 } 3935 3936 public RequestGroup addIdentifier(Identifier t) { //3 3937 if (t == null) 3938 return this; 3939 if (this.identifier == null) 3940 this.identifier = new ArrayList<Identifier>(); 3941 this.identifier.add(t); 3942 return this; 3943 } 3944 3945 /** 3946 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 3947 */ 3948 public Identifier getIdentifierFirstRep() { 3949 if (getIdentifier().isEmpty()) { 3950 addIdentifier(); 3951 } 3952 return getIdentifier().get(0); 3953 } 3954 3955 /** 3956 * @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.) 3957 */ 3958 public List<CanonicalType> getInstantiatesCanonical() { 3959 if (this.instantiatesCanonical == null) 3960 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 3961 return this.instantiatesCanonical; 3962 } 3963 3964 /** 3965 * @return Returns a reference to <code>this</code> for easy method chaining 3966 */ 3967 public RequestGroup setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 3968 this.instantiatesCanonical = theInstantiatesCanonical; 3969 return this; 3970 } 3971 3972 public boolean hasInstantiatesCanonical() { 3973 if (this.instantiatesCanonical == null) 3974 return false; 3975 for (CanonicalType item : this.instantiatesCanonical) 3976 if (!item.isEmpty()) 3977 return true; 3978 return false; 3979 } 3980 3981 /** 3982 * @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.) 3983 */ 3984 public CanonicalType addInstantiatesCanonicalElement() {//2 3985 CanonicalType t = new CanonicalType(); 3986 if (this.instantiatesCanonical == null) 3987 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 3988 this.instantiatesCanonical.add(t); 3989 return t; 3990 } 3991 3992 /** 3993 * @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.) 3994 */ 3995 public RequestGroup addInstantiatesCanonical(String value) { //1 3996 CanonicalType t = new CanonicalType(); 3997 t.setValue(value); 3998 if (this.instantiatesCanonical == null) 3999 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 4000 this.instantiatesCanonical.add(t); 4001 return this; 4002 } 4003 4004 /** 4005 * @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.) 4006 */ 4007 public boolean hasInstantiatesCanonical(String value) { 4008 if (this.instantiatesCanonical == null) 4009 return false; 4010 for (CanonicalType v : this.instantiatesCanonical) 4011 if (v.getValue().equals(value)) // canonical 4012 return true; 4013 return false; 4014 } 4015 4016 /** 4017 * @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.) 4018 */ 4019 public List<UriType> getInstantiatesUri() { 4020 if (this.instantiatesUri == null) 4021 this.instantiatesUri = new ArrayList<UriType>(); 4022 return this.instantiatesUri; 4023 } 4024 4025 /** 4026 * @return Returns a reference to <code>this</code> for easy method chaining 4027 */ 4028 public RequestGroup setInstantiatesUri(List<UriType> theInstantiatesUri) { 4029 this.instantiatesUri = theInstantiatesUri; 4030 return this; 4031 } 4032 4033 public boolean hasInstantiatesUri() { 4034 if (this.instantiatesUri == null) 4035 return false; 4036 for (UriType item : this.instantiatesUri) 4037 if (!item.isEmpty()) 4038 return true; 4039 return false; 4040 } 4041 4042 /** 4043 * @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.) 4044 */ 4045 public UriType addInstantiatesUriElement() {//2 4046 UriType t = new UriType(); 4047 if (this.instantiatesUri == null) 4048 this.instantiatesUri = new ArrayList<UriType>(); 4049 this.instantiatesUri.add(t); 4050 return t; 4051 } 4052 4053 /** 4054 * @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.) 4055 */ 4056 public RequestGroup addInstantiatesUri(String value) { //1 4057 UriType t = new UriType(); 4058 t.setValue(value); 4059 if (this.instantiatesUri == null) 4060 this.instantiatesUri = new ArrayList<UriType>(); 4061 this.instantiatesUri.add(t); 4062 return this; 4063 } 4064 4065 /** 4066 * @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.) 4067 */ 4068 public boolean hasInstantiatesUri(String value) { 4069 if (this.instantiatesUri == null) 4070 return false; 4071 for (UriType v : this.instantiatesUri) 4072 if (v.getValue().equals(value)) // uri 4073 return true; 4074 return false; 4075 } 4076 4077 /** 4078 * @return {@link #basedOn} (A plan, proposal or order that is fulfilled in whole or in part by this request.) 4079 */ 4080 public List<Reference> getBasedOn() { 4081 if (this.basedOn == null) 4082 this.basedOn = new ArrayList<Reference>(); 4083 return this.basedOn; 4084 } 4085 4086 /** 4087 * @return Returns a reference to <code>this</code> for easy method chaining 4088 */ 4089 public RequestGroup setBasedOn(List<Reference> theBasedOn) { 4090 this.basedOn = theBasedOn; 4091 return this; 4092 } 4093 4094 public boolean hasBasedOn() { 4095 if (this.basedOn == null) 4096 return false; 4097 for (Reference item : this.basedOn) 4098 if (!item.isEmpty()) 4099 return true; 4100 return false; 4101 } 4102 4103 public Reference addBasedOn() { //3 4104 Reference t = new Reference(); 4105 if (this.basedOn == null) 4106 this.basedOn = new ArrayList<Reference>(); 4107 this.basedOn.add(t); 4108 return t; 4109 } 4110 4111 public RequestGroup addBasedOn(Reference t) { //3 4112 if (t == null) 4113 return this; 4114 if (this.basedOn == null) 4115 this.basedOn = new ArrayList<Reference>(); 4116 this.basedOn.add(t); 4117 return this; 4118 } 4119 4120 /** 4121 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist 4122 */ 4123 public Reference getBasedOnFirstRep() { 4124 if (getBasedOn().isEmpty()) { 4125 addBasedOn(); 4126 } 4127 return getBasedOn().get(0); 4128 } 4129 4130 /** 4131 * @deprecated Use Reference#setResource(IBaseResource) instead 4132 */ 4133 @Deprecated 4134 public List<Resource> getBasedOnTarget() { 4135 if (this.basedOnTarget == null) 4136 this.basedOnTarget = new ArrayList<Resource>(); 4137 return this.basedOnTarget; 4138 } 4139 4140 /** 4141 * @return {@link #replaces} (Completed or terminated request(s) whose function is taken by this new request.) 4142 */ 4143 public List<Reference> getReplaces() { 4144 if (this.replaces == null) 4145 this.replaces = new ArrayList<Reference>(); 4146 return this.replaces; 4147 } 4148 4149 /** 4150 * @return Returns a reference to <code>this</code> for easy method chaining 4151 */ 4152 public RequestGroup setReplaces(List<Reference> theReplaces) { 4153 this.replaces = theReplaces; 4154 return this; 4155 } 4156 4157 public boolean hasReplaces() { 4158 if (this.replaces == null) 4159 return false; 4160 for (Reference item : this.replaces) 4161 if (!item.isEmpty()) 4162 return true; 4163 return false; 4164 } 4165 4166 public Reference addReplaces() { //3 4167 Reference t = new Reference(); 4168 if (this.replaces == null) 4169 this.replaces = new ArrayList<Reference>(); 4170 this.replaces.add(t); 4171 return t; 4172 } 4173 4174 public RequestGroup addReplaces(Reference t) { //3 4175 if (t == null) 4176 return this; 4177 if (this.replaces == null) 4178 this.replaces = new ArrayList<Reference>(); 4179 this.replaces.add(t); 4180 return this; 4181 } 4182 4183 /** 4184 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist 4185 */ 4186 public Reference getReplacesFirstRep() { 4187 if (getReplaces().isEmpty()) { 4188 addReplaces(); 4189 } 4190 return getReplaces().get(0); 4191 } 4192 4193 /** 4194 * @deprecated Use Reference#setResource(IBaseResource) instead 4195 */ 4196 @Deprecated 4197 public List<Resource> getReplacesTarget() { 4198 if (this.replacesTarget == null) 4199 this.replacesTarget = new ArrayList<Resource>(); 4200 return this.replacesTarget; 4201 } 4202 4203 /** 4204 * @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.) 4205 */ 4206 public Identifier getGroupIdentifier() { 4207 if (this.groupIdentifier == null) 4208 if (Configuration.errorOnAutoCreate()) 4209 throw new Error("Attempt to auto-create RequestGroup.groupIdentifier"); 4210 else if (Configuration.doAutoCreate()) 4211 this.groupIdentifier = new Identifier(); // cc 4212 return this.groupIdentifier; 4213 } 4214 4215 public boolean hasGroupIdentifier() { 4216 return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); 4217 } 4218 4219 /** 4220 * @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.) 4221 */ 4222 public RequestGroup setGroupIdentifier(Identifier value) { 4223 this.groupIdentifier = value; 4224 return this; 4225 } 4226 4227 /** 4228 * @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 4229 */ 4230 public Enumeration<RequestStatus> getStatusElement() { 4231 if (this.status == null) 4232 if (Configuration.errorOnAutoCreate()) 4233 throw new Error("Attempt to auto-create RequestGroup.status"); 4234 else if (Configuration.doAutoCreate()) 4235 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 4236 return this.status; 4237 } 4238 4239 public boolean hasStatusElement() { 4240 return this.status != null && !this.status.isEmpty(); 4241 } 4242 4243 public boolean hasStatus() { 4244 return this.status != null && !this.status.isEmpty(); 4245 } 4246 4247 /** 4248 * @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 4249 */ 4250 public RequestGroup setStatusElement(Enumeration<RequestStatus> value) { 4251 this.status = value; 4252 return this; 4253 } 4254 4255 /** 4256 * @return The current state of the request. For request groups, the status reflects the status of all the requests in the group. 4257 */ 4258 public RequestStatus getStatus() { 4259 return this.status == null ? null : this.status.getValue(); 4260 } 4261 4262 /** 4263 * @param value The current state of the request. For request groups, the status reflects the status of all the requests in the group. 4264 */ 4265 public RequestGroup setStatus(RequestStatus value) { 4266 if (this.status == null) 4267 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 4268 this.status.setValue(value); 4269 return this; 4270 } 4271 4272 /** 4273 * @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 4274 */ 4275 public Enumeration<RequestIntent> getIntentElement() { 4276 if (this.intent == null) 4277 if (Configuration.errorOnAutoCreate()) 4278 throw new Error("Attempt to auto-create RequestGroup.intent"); 4279 else if (Configuration.doAutoCreate()) 4280 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 4281 return this.intent; 4282 } 4283 4284 public boolean hasIntentElement() { 4285 return this.intent != null && !this.intent.isEmpty(); 4286 } 4287 4288 public boolean hasIntent() { 4289 return this.intent != null && !this.intent.isEmpty(); 4290 } 4291 4292 /** 4293 * @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 4294 */ 4295 public RequestGroup setIntentElement(Enumeration<RequestIntent> value) { 4296 this.intent = value; 4297 return this; 4298 } 4299 4300 /** 4301 * @return Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4302 */ 4303 public RequestIntent getIntent() { 4304 return this.intent == null ? null : this.intent.getValue(); 4305 } 4306 4307 /** 4308 * @param value Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. 4309 */ 4310 public RequestGroup setIntent(RequestIntent value) { 4311 if (this.intent == null) 4312 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 4313 this.intent.setValue(value); 4314 return this; 4315 } 4316 4317 /** 4318 * @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 4319 */ 4320 public Enumeration<RequestPriority> getPriorityElement() { 4321 if (this.priority == null) 4322 if (Configuration.errorOnAutoCreate()) 4323 throw new Error("Attempt to auto-create RequestGroup.priority"); 4324 else if (Configuration.doAutoCreate()) 4325 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 4326 return this.priority; 4327 } 4328 4329 public boolean hasPriorityElement() { 4330 return this.priority != null && !this.priority.isEmpty(); 4331 } 4332 4333 public boolean hasPriority() { 4334 return this.priority != null && !this.priority.isEmpty(); 4335 } 4336 4337 /** 4338 * @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 4339 */ 4340 public RequestGroup setPriorityElement(Enumeration<RequestPriority> value) { 4341 this.priority = value; 4342 return this; 4343 } 4344 4345 /** 4346 * @return Indicates how quickly the request should be addressed with respect to other requests. 4347 */ 4348 public RequestPriority getPriority() { 4349 return this.priority == null ? null : this.priority.getValue(); 4350 } 4351 4352 /** 4353 * @param value Indicates how quickly the request should be addressed with respect to other requests. 4354 */ 4355 public RequestGroup setPriority(RequestPriority value) { 4356 if (value == null) 4357 this.priority = null; 4358 else { 4359 if (this.priority == null) 4360 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 4361 this.priority.setValue(value); 4362 } 4363 return this; 4364 } 4365 4366 /** 4367 * @return {@link #code} (A code that identifies what the overall request group is.) 4368 */ 4369 public CodeableConcept getCode() { 4370 if (this.code == null) 4371 if (Configuration.errorOnAutoCreate()) 4372 throw new Error("Attempt to auto-create RequestGroup.code"); 4373 else if (Configuration.doAutoCreate()) 4374 this.code = new CodeableConcept(); // cc 4375 return this.code; 4376 } 4377 4378 public boolean hasCode() { 4379 return this.code != null && !this.code.isEmpty(); 4380 } 4381 4382 /** 4383 * @param value {@link #code} (A code that identifies what the overall request group is.) 4384 */ 4385 public RequestGroup setCode(CodeableConcept value) { 4386 this.code = value; 4387 return this; 4388 } 4389 4390 /** 4391 * @return {@link #subject} (The subject for which the request group was created.) 4392 */ 4393 public Reference getSubject() { 4394 if (this.subject == null) 4395 if (Configuration.errorOnAutoCreate()) 4396 throw new Error("Attempt to auto-create RequestGroup.subject"); 4397 else if (Configuration.doAutoCreate()) 4398 this.subject = new Reference(); // cc 4399 return this.subject; 4400 } 4401 4402 public boolean hasSubject() { 4403 return this.subject != null && !this.subject.isEmpty(); 4404 } 4405 4406 /** 4407 * @param value {@link #subject} (The subject for which the request group was created.) 4408 */ 4409 public RequestGroup setSubject(Reference value) { 4410 this.subject = value; 4411 return this; 4412 } 4413 4414 /** 4415 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The subject for which the request group was created.) 4416 */ 4417 public Resource getSubjectTarget() { 4418 return this.subjectTarget; 4419 } 4420 4421 /** 4422 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The subject for which the request group was created.) 4423 */ 4424 public RequestGroup setSubjectTarget(Resource value) { 4425 this.subjectTarget = value; 4426 return this; 4427 } 4428 4429 /** 4430 * @return {@link #context} (Describes the context of the request group, if any.) 4431 */ 4432 public Reference getContext() { 4433 if (this.context == null) 4434 if (Configuration.errorOnAutoCreate()) 4435 throw new Error("Attempt to auto-create RequestGroup.context"); 4436 else if (Configuration.doAutoCreate()) 4437 this.context = new Reference(); // cc 4438 return this.context; 4439 } 4440 4441 public boolean hasContext() { 4442 return this.context != null && !this.context.isEmpty(); 4443 } 4444 4445 /** 4446 * @param value {@link #context} (Describes the context of the request group, if any.) 4447 */ 4448 public RequestGroup setContext(Reference value) { 4449 this.context = value; 4450 return this; 4451 } 4452 4453 /** 4454 * @return {@link #context} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Describes the context of the request group, if any.) 4455 */ 4456 public Resource getContextTarget() { 4457 return this.contextTarget; 4458 } 4459 4460 /** 4461 * @param value {@link #context} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Describes the context of the request group, if any.) 4462 */ 4463 public RequestGroup setContextTarget(Resource value) { 4464 this.contextTarget = value; 4465 return this; 4466 } 4467 4468 /** 4469 * @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 4470 */ 4471 public DateTimeType getAuthoredOnElement() { 4472 if (this.authoredOn == null) 4473 if (Configuration.errorOnAutoCreate()) 4474 throw new Error("Attempt to auto-create RequestGroup.authoredOn"); 4475 else if (Configuration.doAutoCreate()) 4476 this.authoredOn = new DateTimeType(); // bb 4477 return this.authoredOn; 4478 } 4479 4480 public boolean hasAuthoredOnElement() { 4481 return this.authoredOn != null && !this.authoredOn.isEmpty(); 4482 } 4483 4484 public boolean hasAuthoredOn() { 4485 return this.authoredOn != null && !this.authoredOn.isEmpty(); 4486 } 4487 4488 /** 4489 * @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 4490 */ 4491 public RequestGroup setAuthoredOnElement(DateTimeType value) { 4492 this.authoredOn = value; 4493 return this; 4494 } 4495 4496 /** 4497 * @return Indicates when the request group was created. 4498 */ 4499 public Date getAuthoredOn() { 4500 return this.authoredOn == null ? null : this.authoredOn.getValue(); 4501 } 4502 4503 /** 4504 * @param value Indicates when the request group was created. 4505 */ 4506 public RequestGroup setAuthoredOn(Date value) { 4507 if (value == null) 4508 this.authoredOn = null; 4509 else { 4510 if (this.authoredOn == null) 4511 this.authoredOn = new DateTimeType(); 4512 this.authoredOn.setValue(value); 4513 } 4514 return this; 4515 } 4516 4517 /** 4518 * @return {@link #author} (Provides a reference to the author of the request group.) 4519 */ 4520 public Reference getAuthor() { 4521 if (this.author == null) 4522 if (Configuration.errorOnAutoCreate()) 4523 throw new Error("Attempt to auto-create RequestGroup.author"); 4524 else if (Configuration.doAutoCreate()) 4525 this.author = new Reference(); // cc 4526 return this.author; 4527 } 4528 4529 public boolean hasAuthor() { 4530 return this.author != null && !this.author.isEmpty(); 4531 } 4532 4533 /** 4534 * @param value {@link #author} (Provides a reference to the author of the request group.) 4535 */ 4536 public RequestGroup setAuthor(Reference value) { 4537 this.author = value; 4538 return this; 4539 } 4540 4541 /** 4542 * @return {@link #author} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Provides a reference to the author of the request group.) 4543 */ 4544 public Resource getAuthorTarget() { 4545 return this.authorTarget; 4546 } 4547 4548 /** 4549 * @param value {@link #author} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Provides a reference to the author of the request group.) 4550 */ 4551 public RequestGroup setAuthorTarget(Resource value) { 4552 this.authorTarget = value; 4553 return this; 4554 } 4555 4556 /** 4557 * @return {@link #reasonCode} (Describes the reason for the request group in coded or textual form.) 4558 */ 4559 public List<CodeableConcept> getReasonCode() { 4560 if (this.reasonCode == null) 4561 this.reasonCode = new ArrayList<CodeableConcept>(); 4562 return this.reasonCode; 4563 } 4564 4565 /** 4566 * @return Returns a reference to <code>this</code> for easy method chaining 4567 */ 4568 public RequestGroup setReasonCode(List<CodeableConcept> theReasonCode) { 4569 this.reasonCode = theReasonCode; 4570 return this; 4571 } 4572 4573 public boolean hasReasonCode() { 4574 if (this.reasonCode == null) 4575 return false; 4576 for (CodeableConcept item : this.reasonCode) 4577 if (!item.isEmpty()) 4578 return true; 4579 return false; 4580 } 4581 4582 public CodeableConcept addReasonCode() { //3 4583 CodeableConcept t = new CodeableConcept(); 4584 if (this.reasonCode == null) 4585 this.reasonCode = new ArrayList<CodeableConcept>(); 4586 this.reasonCode.add(t); 4587 return t; 4588 } 4589 4590 public RequestGroup addReasonCode(CodeableConcept t) { //3 4591 if (t == null) 4592 return this; 4593 if (this.reasonCode == null) 4594 this.reasonCode = new ArrayList<CodeableConcept>(); 4595 this.reasonCode.add(t); 4596 return this; 4597 } 4598 4599 /** 4600 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist 4601 */ 4602 public CodeableConcept getReasonCodeFirstRep() { 4603 if (getReasonCode().isEmpty()) { 4604 addReasonCode(); 4605 } 4606 return getReasonCode().get(0); 4607 } 4608 4609 /** 4610 * @return {@link #reasonReference} (Indicates another resource whose existence justifies this request group.) 4611 */ 4612 public List<Reference> getReasonReference() { 4613 if (this.reasonReference == null) 4614 this.reasonReference = new ArrayList<Reference>(); 4615 return this.reasonReference; 4616 } 4617 4618 /** 4619 * @return Returns a reference to <code>this</code> for easy method chaining 4620 */ 4621 public RequestGroup setReasonReference(List<Reference> theReasonReference) { 4622 this.reasonReference = theReasonReference; 4623 return this; 4624 } 4625 4626 public boolean hasReasonReference() { 4627 if (this.reasonReference == null) 4628 return false; 4629 for (Reference item : this.reasonReference) 4630 if (!item.isEmpty()) 4631 return true; 4632 return false; 4633 } 4634 4635 public Reference addReasonReference() { //3 4636 Reference t = new Reference(); 4637 if (this.reasonReference == null) 4638 this.reasonReference = new ArrayList<Reference>(); 4639 this.reasonReference.add(t); 4640 return t; 4641 } 4642 4643 public RequestGroup addReasonReference(Reference t) { //3 4644 if (t == null) 4645 return this; 4646 if (this.reasonReference == null) 4647 this.reasonReference = new ArrayList<Reference>(); 4648 this.reasonReference.add(t); 4649 return this; 4650 } 4651 4652 /** 4653 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist 4654 */ 4655 public Reference getReasonReferenceFirstRep() { 4656 if (getReasonReference().isEmpty()) { 4657 addReasonReference(); 4658 } 4659 return getReasonReference().get(0); 4660 } 4661 4662 /** 4663 * @deprecated Use Reference#setResource(IBaseResource) instead 4664 */ 4665 @Deprecated 4666 public List<Resource> getReasonReferenceTarget() { 4667 if (this.reasonReferenceTarget == null) 4668 this.reasonReferenceTarget = new ArrayList<Resource>(); 4669 return this.reasonReferenceTarget; 4670 } 4671 4672 /** 4673 * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) 4674 */ 4675 public List<Annotation> getNote() { 4676 if (this.note == null) 4677 this.note = new ArrayList<Annotation>(); 4678 return this.note; 4679 } 4680 4681 /** 4682 * @return Returns a reference to <code>this</code> for easy method chaining 4683 */ 4684 public RequestGroup setNote(List<Annotation> theNote) { 4685 this.note = theNote; 4686 return this; 4687 } 4688 4689 public boolean hasNote() { 4690 if (this.note == null) 4691 return false; 4692 for (Annotation item : this.note) 4693 if (!item.isEmpty()) 4694 return true; 4695 return false; 4696 } 4697 4698 public Annotation addNote() { //3 4699 Annotation t = new Annotation(); 4700 if (this.note == null) 4701 this.note = new ArrayList<Annotation>(); 4702 this.note.add(t); 4703 return t; 4704 } 4705 4706 public RequestGroup addNote(Annotation t) { //3 4707 if (t == null) 4708 return this; 4709 if (this.note == null) 4710 this.note = new ArrayList<Annotation>(); 4711 this.note.add(t); 4712 return this; 4713 } 4714 4715 /** 4716 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 4717 */ 4718 public Annotation getNoteFirstRep() { 4719 if (getNote().isEmpty()) { 4720 addNote(); 4721 } 4722 return getNote().get(0); 4723 } 4724 4725 /** 4726 * @return {@link #action} (The actions, if any, produced by the evaluation of the artifact.) 4727 */ 4728 public List<RequestGroupActionComponent> getAction() { 4729 if (this.action == null) 4730 this.action = new ArrayList<RequestGroupActionComponent>(); 4731 return this.action; 4732 } 4733 4734 /** 4735 * @return Returns a reference to <code>this</code> for easy method chaining 4736 */ 4737 public RequestGroup setAction(List<RequestGroupActionComponent> theAction) { 4738 this.action = theAction; 4739 return this; 4740 } 4741 4742 public boolean hasAction() { 4743 if (this.action == null) 4744 return false; 4745 for (RequestGroupActionComponent item : this.action) 4746 if (!item.isEmpty()) 4747 return true; 4748 return false; 4749 } 4750 4751 public RequestGroupActionComponent addAction() { //3 4752 RequestGroupActionComponent t = new RequestGroupActionComponent(); 4753 if (this.action == null) 4754 this.action = new ArrayList<RequestGroupActionComponent>(); 4755 this.action.add(t); 4756 return t; 4757 } 4758 4759 public RequestGroup addAction(RequestGroupActionComponent t) { //3 4760 if (t == null) 4761 return this; 4762 if (this.action == null) 4763 this.action = new ArrayList<RequestGroupActionComponent>(); 4764 this.action.add(t); 4765 return this; 4766 } 4767 4768 /** 4769 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist 4770 */ 4771 public RequestGroupActionComponent getActionFirstRep() { 4772 if (getAction().isEmpty()) { 4773 addAction(); 4774 } 4775 return getAction().get(0); 4776 } 4777 4778 protected void listChildren(List<Property> children) { 4779 super.listChildren(children); 4780 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)); 4781 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)); 4782 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)); 4783 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)); 4784 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)); 4785 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)); 4786 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)); 4787 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)); 4788 children.add(new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority)); 4789 children.add(new Property("code", "CodeableConcept", "A code that identifies what the overall request group is.", 0, 1, code)); 4790 children.add(new Property("subject", "Reference(Patient|Group)", "The subject for which the request group was created.", 0, 1, subject)); 4791 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "Describes the context of the request group, if any.", 0, 1, context)); 4792 children.add(new Property("authoredOn", "dateTime", "Indicates when the request group was created.", 0, 1, authoredOn)); 4793 children.add(new Property("author", "Reference(Device|Practitioner)", "Provides a reference to the author of the request group.", 0, 1, author)); 4794 children.add(new Property("reasonCode", "CodeableConcept", "Describes the reason for the request group in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 4795 children.add(new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Indicates another resource whose existence justifies this request group.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 4796 children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); 4797 children.add(new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action)); 4798 } 4799 4800 @Override 4801 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4802 switch (_hash) { 4803 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); 4804 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); 4805 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); 4806 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); 4807 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); 4808 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); 4809 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); 4810 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); 4811 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority); 4812 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies what the overall request group is.", 0, 1, code); 4813 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The subject for which the request group was created.", 0, 1, subject); 4814 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "Describes the context of the request group, if any.", 0, 1, context); 4815 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "Indicates when the request group was created.", 0, 1, authoredOn); 4816 case -1406328437: /*author*/ return new Property("author", "Reference(Device|Practitioner)", "Provides a reference to the author of the request group.", 0, 1, author); 4817 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "Describes the reason for the request group in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 4818 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Indicates another resource whose existence justifies this request group.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 4819 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); 4820 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); 4821 default: return super.getNamedProperty(_hash, _name, _checkValid); 4822 } 4823 4824 } 4825 4826 @Override 4827 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4828 switch (hash) { 4829 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 4830 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 4831 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 4832 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 4833 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 4834 case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier 4835 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 4836 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 4837 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 4838 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 4839 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 4840 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 4841 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 4842 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 4843 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 4844 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 4845 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 4846 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestGroupActionComponent 4847 default: return super.getProperty(hash, name, checkValid); 4848 } 4849 4850 } 4851 4852 @Override 4853 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4854 switch (hash) { 4855 case -1618432855: // identifier 4856 this.getIdentifier().add(castToIdentifier(value)); // Identifier 4857 return value; 4858 case 8911915: // instantiatesCanonical 4859 this.getInstantiatesCanonical().add(castToCanonical(value)); // CanonicalType 4860 return value; 4861 case -1926393373: // instantiatesUri 4862 this.getInstantiatesUri().add(castToUri(value)); // UriType 4863 return value; 4864 case -332612366: // basedOn 4865 this.getBasedOn().add(castToReference(value)); // Reference 4866 return value; 4867 case -430332865: // replaces 4868 this.getReplaces().add(castToReference(value)); // Reference 4869 return value; 4870 case -445338488: // groupIdentifier 4871 this.groupIdentifier = castToIdentifier(value); // Identifier 4872 return value; 4873 case -892481550: // status 4874 value = new RequestStatusEnumFactory().fromType(castToCode(value)); 4875 this.status = (Enumeration) value; // Enumeration<RequestStatus> 4876 return value; 4877 case -1183762788: // intent 4878 value = new RequestIntentEnumFactory().fromType(castToCode(value)); 4879 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 4880 return value; 4881 case -1165461084: // priority 4882 value = new RequestPriorityEnumFactory().fromType(castToCode(value)); 4883 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 4884 return value; 4885 case 3059181: // code 4886 this.code = castToCodeableConcept(value); // CodeableConcept 4887 return value; 4888 case -1867885268: // subject 4889 this.subject = castToReference(value); // Reference 4890 return value; 4891 case 951530927: // context 4892 this.context = castToReference(value); // Reference 4893 return value; 4894 case -1500852503: // authoredOn 4895 this.authoredOn = castToDateTime(value); // DateTimeType 4896 return value; 4897 case -1406328437: // author 4898 this.author = castToReference(value); // Reference 4899 return value; 4900 case 722137681: // reasonCode 4901 this.getReasonCode().add(castToCodeableConcept(value)); // CodeableConcept 4902 return value; 4903 case -1146218137: // reasonReference 4904 this.getReasonReference().add(castToReference(value)); // Reference 4905 return value; 4906 case 3387378: // note 4907 this.getNote().add(castToAnnotation(value)); // Annotation 4908 return value; 4909 case -1422950858: // action 4910 this.getAction().add((RequestGroupActionComponent) value); // RequestGroupActionComponent 4911 return value; 4912 default: return super.setProperty(hash, name, value); 4913 } 4914 4915 } 4916 4917 @Override 4918 public Base setProperty(String name, Base value) throws FHIRException { 4919 if (name.equals("identifier")) { 4920 this.getIdentifier().add(castToIdentifier(value)); 4921 } else if (name.equals("instantiatesCanonical")) { 4922 this.getInstantiatesCanonical().add(castToCanonical(value)); 4923 } else if (name.equals("instantiatesUri")) { 4924 this.getInstantiatesUri().add(castToUri(value)); 4925 } else if (name.equals("basedOn")) { 4926 this.getBasedOn().add(castToReference(value)); 4927 } else if (name.equals("replaces")) { 4928 this.getReplaces().add(castToReference(value)); 4929 } else if (name.equals("groupIdentifier")) { 4930 this.groupIdentifier = castToIdentifier(value); // Identifier 4931 } else if (name.equals("status")) { 4932 value = new RequestStatusEnumFactory().fromType(castToCode(value)); 4933 this.status = (Enumeration) value; // Enumeration<RequestStatus> 4934 } else if (name.equals("intent")) { 4935 value = new RequestIntentEnumFactory().fromType(castToCode(value)); 4936 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 4937 } else if (name.equals("priority")) { 4938 value = new RequestPriorityEnumFactory().fromType(castToCode(value)); 4939 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 4940 } else if (name.equals("code")) { 4941 this.code = castToCodeableConcept(value); // CodeableConcept 4942 } else if (name.equals("subject")) { 4943 this.subject = castToReference(value); // Reference 4944 } else if (name.equals("context")) { 4945 this.context = castToReference(value); // Reference 4946 } else if (name.equals("authoredOn")) { 4947 this.authoredOn = castToDateTime(value); // DateTimeType 4948 } else if (name.equals("author")) { 4949 this.author = castToReference(value); // Reference 4950 } else if (name.equals("reasonCode")) { 4951 this.getReasonCode().add(castToCodeableConcept(value)); 4952 } else if (name.equals("reasonReference")) { 4953 this.getReasonReference().add(castToReference(value)); 4954 } else if (name.equals("note")) { 4955 this.getNote().add(castToAnnotation(value)); 4956 } else if (name.equals("action")) { 4957 this.getAction().add((RequestGroupActionComponent) value); 4958 } else 4959 return super.setProperty(name, value); 4960 return value; 4961 } 4962 4963 @Override 4964 public Base makeProperty(int hash, String name) throws FHIRException { 4965 switch (hash) { 4966 case -1618432855: return addIdentifier(); 4967 case 8911915: return addInstantiatesCanonicalElement(); 4968 case -1926393373: return addInstantiatesUriElement(); 4969 case -332612366: return addBasedOn(); 4970 case -430332865: return addReplaces(); 4971 case -445338488: return getGroupIdentifier(); 4972 case -892481550: return getStatusElement(); 4973 case -1183762788: return getIntentElement(); 4974 case -1165461084: return getPriorityElement(); 4975 case 3059181: return getCode(); 4976 case -1867885268: return getSubject(); 4977 case 951530927: return getContext(); 4978 case -1500852503: return getAuthoredOnElement(); 4979 case -1406328437: return getAuthor(); 4980 case 722137681: return addReasonCode(); 4981 case -1146218137: return addReasonReference(); 4982 case 3387378: return addNote(); 4983 case -1422950858: return addAction(); 4984 default: return super.makeProperty(hash, name); 4985 } 4986 4987 } 4988 4989 @Override 4990 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4991 switch (hash) { 4992 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 4993 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 4994 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 4995 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 4996 case -430332865: /*replaces*/ return new String[] {"Reference"}; 4997 case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; 4998 case -892481550: /*status*/ return new String[] {"code"}; 4999 case -1183762788: /*intent*/ return new String[] {"code"}; 5000 case -1165461084: /*priority*/ return new String[] {"code"}; 5001 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 5002 case -1867885268: /*subject*/ return new String[] {"Reference"}; 5003 case 951530927: /*context*/ return new String[] {"Reference"}; 5004 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 5005 case -1406328437: /*author*/ return new String[] {"Reference"}; 5006 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 5007 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 5008 case 3387378: /*note*/ return new String[] {"Annotation"}; 5009 case -1422950858: /*action*/ return new String[] {}; 5010 default: return super.getTypesForProperty(hash, name); 5011 } 5012 5013 } 5014 5015 @Override 5016 public Base addChild(String name) throws FHIRException { 5017 if (name.equals("identifier")) { 5018 return addIdentifier(); 5019 } 5020 else if (name.equals("instantiatesCanonical")) { 5021 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.instantiatesCanonical"); 5022 } 5023 else if (name.equals("instantiatesUri")) { 5024 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.instantiatesUri"); 5025 } 5026 else if (name.equals("basedOn")) { 5027 return addBasedOn(); 5028 } 5029 else if (name.equals("replaces")) { 5030 return addReplaces(); 5031 } 5032 else if (name.equals("groupIdentifier")) { 5033 this.groupIdentifier = new Identifier(); 5034 return this.groupIdentifier; 5035 } 5036 else if (name.equals("status")) { 5037 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.status"); 5038 } 5039 else if (name.equals("intent")) { 5040 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.intent"); 5041 } 5042 else if (name.equals("priority")) { 5043 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.priority"); 5044 } 5045 else if (name.equals("code")) { 5046 this.code = new CodeableConcept(); 5047 return this.code; 5048 } 5049 else if (name.equals("subject")) { 5050 this.subject = new Reference(); 5051 return this.subject; 5052 } 5053 else if (name.equals("context")) { 5054 this.context = new Reference(); 5055 return this.context; 5056 } 5057 else if (name.equals("authoredOn")) { 5058 throw new FHIRException("Cannot call addChild on a primitive type RequestGroup.authoredOn"); 5059 } 5060 else if (name.equals("author")) { 5061 this.author = new Reference(); 5062 return this.author; 5063 } 5064 else if (name.equals("reasonCode")) { 5065 return addReasonCode(); 5066 } 5067 else if (name.equals("reasonReference")) { 5068 return addReasonReference(); 5069 } 5070 else if (name.equals("note")) { 5071 return addNote(); 5072 } 5073 else if (name.equals("action")) { 5074 return addAction(); 5075 } 5076 else 5077 return super.addChild(name); 5078 } 5079 5080 public String fhirType() { 5081 return "RequestGroup"; 5082 5083 } 5084 5085 public RequestGroup copy() { 5086 RequestGroup dst = new RequestGroup(); 5087 copyValues(dst); 5088 if (identifier != null) { 5089 dst.identifier = new ArrayList<Identifier>(); 5090 for (Identifier i : identifier) 5091 dst.identifier.add(i.copy()); 5092 }; 5093 if (instantiatesCanonical != null) { 5094 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 5095 for (CanonicalType i : instantiatesCanonical) 5096 dst.instantiatesCanonical.add(i.copy()); 5097 }; 5098 if (instantiatesUri != null) { 5099 dst.instantiatesUri = new ArrayList<UriType>(); 5100 for (UriType i : instantiatesUri) 5101 dst.instantiatesUri.add(i.copy()); 5102 }; 5103 if (basedOn != null) { 5104 dst.basedOn = new ArrayList<Reference>(); 5105 for (Reference i : basedOn) 5106 dst.basedOn.add(i.copy()); 5107 }; 5108 if (replaces != null) { 5109 dst.replaces = new ArrayList<Reference>(); 5110 for (Reference i : replaces) 5111 dst.replaces.add(i.copy()); 5112 }; 5113 dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); 5114 dst.status = status == null ? null : status.copy(); 5115 dst.intent = intent == null ? null : intent.copy(); 5116 dst.priority = priority == null ? null : priority.copy(); 5117 dst.code = code == null ? null : code.copy(); 5118 dst.subject = subject == null ? null : subject.copy(); 5119 dst.context = context == null ? null : context.copy(); 5120 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 5121 dst.author = author == null ? null : author.copy(); 5122 if (reasonCode != null) { 5123 dst.reasonCode = new ArrayList<CodeableConcept>(); 5124 for (CodeableConcept i : reasonCode) 5125 dst.reasonCode.add(i.copy()); 5126 }; 5127 if (reasonReference != null) { 5128 dst.reasonReference = new ArrayList<Reference>(); 5129 for (Reference i : reasonReference) 5130 dst.reasonReference.add(i.copy()); 5131 }; 5132 if (note != null) { 5133 dst.note = new ArrayList<Annotation>(); 5134 for (Annotation i : note) 5135 dst.note.add(i.copy()); 5136 }; 5137 if (action != null) { 5138 dst.action = new ArrayList<RequestGroupActionComponent>(); 5139 for (RequestGroupActionComponent i : action) 5140 dst.action.add(i.copy()); 5141 }; 5142 return dst; 5143 } 5144 5145 protected RequestGroup typedCopy() { 5146 return copy(); 5147 } 5148 5149 @Override 5150 public boolean equalsDeep(Base other_) { 5151 if (!super.equalsDeep(other_)) 5152 return false; 5153 if (!(other_ instanceof RequestGroup)) 5154 return false; 5155 RequestGroup o = (RequestGroup) other_; 5156 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 5157 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 5158 && compareDeep(replaces, o.replaces, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) 5159 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 5160 && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(context, o.context, true) 5161 && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(author, o.author, true) && compareDeep(reasonCode, o.reasonCode, true) 5162 && compareDeep(reasonReference, o.reasonReference, true) && compareDeep(note, o.note, true) && compareDeep(action, o.action, true) 5163 ; 5164 } 5165 5166 @Override 5167 public boolean equalsShallow(Base other_) { 5168 if (!super.equalsShallow(other_)) 5169 return false; 5170 if (!(other_ instanceof RequestGroup)) 5171 return false; 5172 RequestGroup o = (RequestGroup) other_; 5173 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 5174 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 5175 && compareValues(authoredOn, o.authoredOn, true); 5176 } 5177 5178 public boolean isEmpty() { 5179 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 5180 , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority 5181 , code, subject, context, authoredOn, author, reasonCode, reasonReference, note 5182 , action); 5183 } 5184 5185 @Override 5186 public ResourceType getResourceType() { 5187 return ResourceType.RequestGroup; 5188 } 5189 5190 /** 5191 * Search parameter: <b>authored</b> 5192 * <p> 5193 * Description: <b>The date the request group was authored</b><br> 5194 * Type: <b>date</b><br> 5195 * Path: <b>RequestGroup.authoredOn</b><br> 5196 * </p> 5197 */ 5198 @SearchParamDefinition(name="authored", path="RequestGroup.authoredOn", description="The date the request group was authored", type="date" ) 5199 public static final String SP_AUTHORED = "authored"; 5200 /** 5201 * <b>Fluent Client</b> search parameter constant for <b>authored</b> 5202 * <p> 5203 * Description: <b>The date the request group was authored</b><br> 5204 * Type: <b>date</b><br> 5205 * Path: <b>RequestGroup.authoredOn</b><br> 5206 * </p> 5207 */ 5208 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); 5209 5210 /** 5211 * Search parameter: <b>identifier</b> 5212 * <p> 5213 * Description: <b>External identifiers for the request group</b><br> 5214 * Type: <b>token</b><br> 5215 * Path: <b>RequestGroup.identifier</b><br> 5216 * </p> 5217 */ 5218 @SearchParamDefinition(name="identifier", path="RequestGroup.identifier", description="External identifiers for the request group", type="token" ) 5219 public static final String SP_IDENTIFIER = "identifier"; 5220 /** 5221 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5222 * <p> 5223 * Description: <b>External identifiers for the request group</b><br> 5224 * Type: <b>token</b><br> 5225 * Path: <b>RequestGroup.identifier</b><br> 5226 * </p> 5227 */ 5228 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 5229 5230 /** 5231 * Search parameter: <b>code</b> 5232 * <p> 5233 * Description: <b>The code of the request group</b><br> 5234 * Type: <b>token</b><br> 5235 * Path: <b>RequestGroup.code</b><br> 5236 * </p> 5237 */ 5238 @SearchParamDefinition(name="code", path="RequestGroup.code", description="The code of the request group", type="token" ) 5239 public static final String SP_CODE = "code"; 5240 /** 5241 * <b>Fluent Client</b> search parameter constant for <b>code</b> 5242 * <p> 5243 * Description: <b>The code of the request group</b><br> 5244 * Type: <b>token</b><br> 5245 * Path: <b>RequestGroup.code</b><br> 5246 * </p> 5247 */ 5248 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 5249 5250 /** 5251 * Search parameter: <b>subject</b> 5252 * <p> 5253 * Description: <b>The subject that the request group is about</b><br> 5254 * Type: <b>reference</b><br> 5255 * Path: <b>RequestGroup.subject</b><br> 5256 * </p> 5257 */ 5258 @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="Patient") }, target={Group.class, Patient.class } ) 5259 public static final String SP_SUBJECT = "subject"; 5260 /** 5261 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 5262 * <p> 5263 * Description: <b>The subject that the request group is about</b><br> 5264 * Type: <b>reference</b><br> 5265 * Path: <b>RequestGroup.subject</b><br> 5266 * </p> 5267 */ 5268 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 5269 5270/** 5271 * Constant for fluent queries to be used to add include statements. Specifies 5272 * the path value of "<b>RequestGroup:subject</b>". 5273 */ 5274 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RequestGroup:subject").toLocked(); 5275 5276 /** 5277 * Search parameter: <b>author</b> 5278 * <p> 5279 * Description: <b>The author of the request group</b><br> 5280 * Type: <b>reference</b><br> 5281 * Path: <b>RequestGroup.author</b><br> 5282 * </p> 5283 */ 5284 @SearchParamDefinition(name="author", path="RequestGroup.author", description="The author of the request group", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Device.class, Practitioner.class } ) 5285 public static final String SP_AUTHOR = "author"; 5286 /** 5287 * <b>Fluent Client</b> search parameter constant for <b>author</b> 5288 * <p> 5289 * Description: <b>The author of the request group</b><br> 5290 * Type: <b>reference</b><br> 5291 * Path: <b>RequestGroup.author</b><br> 5292 * </p> 5293 */ 5294 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 5295 5296/** 5297 * Constant for fluent queries to be used to add include statements. Specifies 5298 * the path value of "<b>RequestGroup:author</b>". 5299 */ 5300 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("RequestGroup:author").toLocked(); 5301 5302 /** 5303 * Search parameter: <b>instantiates-canonical</b> 5304 * <p> 5305 * Description: <b>The FHIR-based definition from which the request group is realized</b><br> 5306 * Type: <b>reference</b><br> 5307 * Path: <b>RequestGroup.instantiatesCanonical</b><br> 5308 * </p> 5309 */ 5310 @SearchParamDefinition(name="instantiates-canonical", path="RequestGroup.instantiatesCanonical", description="The FHIR-based definition from which the request group is realized", type="reference" ) 5311 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 5312 /** 5313 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 5314 * <p> 5315 * Description: <b>The FHIR-based definition from which the request group is realized</b><br> 5316 * Type: <b>reference</b><br> 5317 * Path: <b>RequestGroup.instantiatesCanonical</b><br> 5318 * </p> 5319 */ 5320 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 5321 5322/** 5323 * Constant for fluent queries to be used to add include statements. Specifies 5324 * the path value of "<b>RequestGroup:instantiates-canonical</b>". 5325 */ 5326 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("RequestGroup:instantiates-canonical").toLocked(); 5327 5328 /** 5329 * Search parameter: <b>encounter</b> 5330 * <p> 5331 * Description: <b>The encounter the request group applies to</b><br> 5332 * Type: <b>reference</b><br> 5333 * Path: <b>RequestGroup.context</b><br> 5334 * </p> 5335 */ 5336 @SearchParamDefinition(name="encounter", path="RequestGroup.context.where(resolve() is Encounter)", description="The encounter the request group applies to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Encounter") }, target={Encounter.class } ) 5337 public static final String SP_ENCOUNTER = "encounter"; 5338 /** 5339 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 5340 * <p> 5341 * Description: <b>The encounter the request group applies to</b><br> 5342 * Type: <b>reference</b><br> 5343 * Path: <b>RequestGroup.context</b><br> 5344 * </p> 5345 */ 5346 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 5347 5348/** 5349 * Constant for fluent queries to be used to add include statements. Specifies 5350 * the path value of "<b>RequestGroup:encounter</b>". 5351 */ 5352 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RequestGroup:encounter").toLocked(); 5353 5354 /** 5355 * Search parameter: <b>priority</b> 5356 * <p> 5357 * Description: <b>The priority of the request group</b><br> 5358 * Type: <b>token</b><br> 5359 * Path: <b>RequestGroup.priority</b><br> 5360 * </p> 5361 */ 5362 @SearchParamDefinition(name="priority", path="RequestGroup.priority", description="The priority of the request group", type="token" ) 5363 public static final String SP_PRIORITY = "priority"; 5364 /** 5365 * <b>Fluent Client</b> search parameter constant for <b>priority</b> 5366 * <p> 5367 * Description: <b>The priority of the request group</b><br> 5368 * Type: <b>token</b><br> 5369 * Path: <b>RequestGroup.priority</b><br> 5370 * </p> 5371 */ 5372 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); 5373 5374 /** 5375 * Search parameter: <b>intent</b> 5376 * <p> 5377 * Description: <b>The intent of the request group</b><br> 5378 * Type: <b>token</b><br> 5379 * Path: <b>RequestGroup.intent</b><br> 5380 * </p> 5381 */ 5382 @SearchParamDefinition(name="intent", path="RequestGroup.intent", description="The intent of the request group", type="token" ) 5383 public static final String SP_INTENT = "intent"; 5384 /** 5385 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 5386 * <p> 5387 * Description: <b>The intent of the request group</b><br> 5388 * Type: <b>token</b><br> 5389 * Path: <b>RequestGroup.intent</b><br> 5390 * </p> 5391 */ 5392 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 5393 5394 /** 5395 * Search parameter: <b>participant</b> 5396 * <p> 5397 * Description: <b>The participant in the requests in the group</b><br> 5398 * Type: <b>reference</b><br> 5399 * Path: <b>RequestGroup.action.participant</b><br> 5400 * </p> 5401 */ 5402 @SearchParamDefinition(name="participant", path="RequestGroup.action.participant", description="The participant in the requests in the group", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="RelatedPerson") }, target={Patient.class, Practitioner.class, RelatedPerson.class } ) 5403 public static final String SP_PARTICIPANT = "participant"; 5404 /** 5405 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 5406 * <p> 5407 * Description: <b>The participant in the requests in the group</b><br> 5408 * Type: <b>reference</b><br> 5409 * Path: <b>RequestGroup.action.participant</b><br> 5410 * </p> 5411 */ 5412 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); 5413 5414/** 5415 * Constant for fluent queries to be used to add include statements. Specifies 5416 * the path value of "<b>RequestGroup:participant</b>". 5417 */ 5418 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("RequestGroup:participant").toLocked(); 5419 5420 /** 5421 * Search parameter: <b>group-identifier</b> 5422 * <p> 5423 * Description: <b>The group identifier for the request group</b><br> 5424 * Type: <b>token</b><br> 5425 * Path: <b>RequestGroup.groupIdentifier</b><br> 5426 * </p> 5427 */ 5428 @SearchParamDefinition(name="group-identifier", path="RequestGroup.groupIdentifier", description="The group identifier for the request group", type="token" ) 5429 public static final String SP_GROUP_IDENTIFIER = "group-identifier"; 5430 /** 5431 * <b>Fluent Client</b> search parameter constant for <b>group-identifier</b> 5432 * <p> 5433 * Description: <b>The group identifier for the request group</b><br> 5434 * Type: <b>token</b><br> 5435 * Path: <b>RequestGroup.groupIdentifier</b><br> 5436 * </p> 5437 */ 5438 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); 5439 5440 /** 5441 * Search parameter: <b>patient</b> 5442 * <p> 5443 * Description: <b>The identity of a patient to search for request groups</b><br> 5444 * Type: <b>reference</b><br> 5445 * Path: <b>RequestGroup.subject</b><br> 5446 * </p> 5447 */ 5448 @SearchParamDefinition(name="patient", path="RequestGroup.subject.where(resolve() is Patient)", description="The identity of a patient to search for request groups", type="reference", target={Patient.class } ) 5449 public static final String SP_PATIENT = "patient"; 5450 /** 5451 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 5452 * <p> 5453 * Description: <b>The identity of a patient to search for request groups</b><br> 5454 * Type: <b>reference</b><br> 5455 * Path: <b>RequestGroup.subject</b><br> 5456 * </p> 5457 */ 5458 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 5459 5460/** 5461 * Constant for fluent queries to be used to add include statements. Specifies 5462 * the path value of "<b>RequestGroup:patient</b>". 5463 */ 5464 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RequestGroup:patient").toLocked(); 5465 5466 /** 5467 * Search parameter: <b>context</b> 5468 * <p> 5469 * Description: <b>The context the request group applies to</b><br> 5470 * Type: <b>reference</b><br> 5471 * Path: <b>RequestGroup.context</b><br> 5472 * </p> 5473 */ 5474 @SearchParamDefinition(name="context", path="RequestGroup.context", description="The context the request group applies to", type="reference", target={Encounter.class, EpisodeOfCare.class } ) 5475 public static final String SP_CONTEXT = "context"; 5476 /** 5477 * <b>Fluent Client</b> search parameter constant for <b>context</b> 5478 * <p> 5479 * Description: <b>The context the request group applies to</b><br> 5480 * Type: <b>reference</b><br> 5481 * Path: <b>RequestGroup.context</b><br> 5482 * </p> 5483 */ 5484 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTEXT); 5485 5486/** 5487 * Constant for fluent queries to be used to add include statements. Specifies 5488 * the path value of "<b>RequestGroup:context</b>". 5489 */ 5490 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTEXT = new ca.uhn.fhir.model.api.Include("RequestGroup:context").toLocked(); 5491 5492 /** 5493 * Search parameter: <b>instantiates-uri</b> 5494 * <p> 5495 * Description: <b>The external definition from which the request group is realized</b><br> 5496 * Type: <b>uri</b><br> 5497 * Path: <b>RequestGroup.instantiatesUri</b><br> 5498 * </p> 5499 */ 5500 @SearchParamDefinition(name="instantiates-uri", path="RequestGroup.instantiatesUri", description="The external definition from which the request group is realized", type="uri" ) 5501 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 5502 /** 5503 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 5504 * <p> 5505 * Description: <b>The external definition from which the request group is realized</b><br> 5506 * Type: <b>uri</b><br> 5507 * Path: <b>RequestGroup.instantiatesUri</b><br> 5508 * </p> 5509 */ 5510 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 5511 5512 /** 5513 * Search parameter: <b>status</b> 5514 * <p> 5515 * Description: <b>The status of the request group</b><br> 5516 * Type: <b>token</b><br> 5517 * Path: <b>RequestGroup.status</b><br> 5518 * </p> 5519 */ 5520 @SearchParamDefinition(name="status", path="RequestGroup.status", description="The status of the request group", type="token" ) 5521 public static final String SP_STATUS = "status"; 5522 /** 5523 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5524 * <p> 5525 * Description: <b>The status of the request group</b><br> 5526 * Type: <b>token</b><br> 5527 * Path: <b>RequestGroup.status</b><br> 5528 * </p> 5529 */ 5530 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5531 5532 5533} 5534