001package org.hl7.fhir.dstu3.model; 002 003 004 005/* 006 Copyright (c) 2011+, HL7, Inc. 007 All rights reserved. 008 009 Redistribution and use in source and binary forms, with or without modification, 010 are permitted provided that the following conditions are met: 011 012 * Redistributions of source code must retain the above copyright notice, this 013 list of conditions and the following disclaimer. 014 * Redistributions in binary form must reproduce the above copyright notice, 015 this list of conditions and the following disclaimer in the documentation 016 and/or other materials provided with the distribution. 017 * Neither the name of HL7 nor the names of its contributors may be used to 018 endorse or promote products derived from this software without specific 019 prior written permission. 020 021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 024 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 028 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 030 POSSIBILITY OF SUCH DAMAGE. 031 032*/ 033 034// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 035import java.util.ArrayList; 036import java.util.Date; 037import java.util.List; 038 039import org.hl7.fhir.exceptions.FHIRException; 040import org.hl7.fhir.exceptions.FHIRFormatError; 041import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 042 043import ca.uhn.fhir.model.api.annotation.Block; 044import ca.uhn.fhir.model.api.annotation.Child; 045import ca.uhn.fhir.model.api.annotation.Description; 046import ca.uhn.fhir.model.api.annotation.ResourceDef; 047import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 048/** 049 * A record of a request for diagnostic investigations, treatments, or operations to be performed. 050 */ 051@ResourceDef(name="ProcedureRequest", profile="http://hl7.org/fhir/Profile/ProcedureRequest") 052public class ProcedureRequest extends DomainResource { 053 054 public enum ProcedureRequestStatus { 055 /** 056 * The request has been created but is not yet complete or ready for action 057 */ 058 DRAFT, 059 /** 060 * The request is ready to be acted upon 061 */ 062 ACTIVE, 063 /** 064 * The authorization/request to act has been temporarily withdrawn but is expected to resume in the future 065 */ 066 SUSPENDED, 067 /** 068 * The authorization/request to act has been terminated prior to the full completion of the intended actions. No further activity should occur. 069 */ 070 CANCELLED, 071 /** 072 * Activity against the request has been sufficiently completed to the satisfaction of the requester 073 */ 074 COMPLETED, 075 /** 076 * 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".) 077 */ 078 ENTEREDINERROR, 079 /** 080 * 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 doesn't know. 081 */ 082 UNKNOWN, 083 /** 084 * added to help the parsers with the generic types 085 */ 086 NULL; 087 public static ProcedureRequestStatus fromCode(String codeString) throws FHIRException { 088 if (codeString == null || "".equals(codeString)) 089 return null; 090 if ("draft".equals(codeString)) 091 return DRAFT; 092 if ("active".equals(codeString)) 093 return ACTIVE; 094 if ("suspended".equals(codeString)) 095 return SUSPENDED; 096 if ("cancelled".equals(codeString)) 097 return CANCELLED; 098 if ("completed".equals(codeString)) 099 return COMPLETED; 100 if ("entered-in-error".equals(codeString)) 101 return ENTEREDINERROR; 102 if ("unknown".equals(codeString)) 103 return UNKNOWN; 104 if (Configuration.isAcceptInvalidEnums()) 105 return null; 106 else 107 throw new FHIRException("Unknown ProcedureRequestStatus code '"+codeString+"'"); 108 } 109 public String toCode() { 110 switch (this) { 111 case DRAFT: return "draft"; 112 case ACTIVE: return "active"; 113 case SUSPENDED: return "suspended"; 114 case CANCELLED: return "cancelled"; 115 case COMPLETED: return "completed"; 116 case ENTEREDINERROR: return "entered-in-error"; 117 case UNKNOWN: return "unknown"; 118 case NULL: return null; 119 default: return "?"; 120 } 121 } 122 public String getSystem() { 123 switch (this) { 124 case DRAFT: return "http://hl7.org/fhir/request-status"; 125 case ACTIVE: return "http://hl7.org/fhir/request-status"; 126 case SUSPENDED: return "http://hl7.org/fhir/request-status"; 127 case CANCELLED: return "http://hl7.org/fhir/request-status"; 128 case COMPLETED: return "http://hl7.org/fhir/request-status"; 129 case ENTEREDINERROR: return "http://hl7.org/fhir/request-status"; 130 case UNKNOWN: return "http://hl7.org/fhir/request-status"; 131 case NULL: return null; 132 default: return "?"; 133 } 134 } 135 public String getDefinition() { 136 switch (this) { 137 case DRAFT: return "The request has been created but is not yet complete or ready for action"; 138 case ACTIVE: return "The request is ready to be acted upon"; 139 case SUSPENDED: return "The authorization/request to act has been temporarily withdrawn but is expected to resume in the future"; 140 case CANCELLED: return "The authorization/request to act has been terminated prior to the full completion of the intended actions. No further activity should occur."; 141 case COMPLETED: return "Activity against the request has been sufficiently completed to the satisfaction of the requester"; 142 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\".)"; 143 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 doesn't know."; 144 case NULL: return null; 145 default: return "?"; 146 } 147 } 148 public String getDisplay() { 149 switch (this) { 150 case DRAFT: return "Draft"; 151 case ACTIVE: return "Active"; 152 case SUSPENDED: return "Suspended"; 153 case CANCELLED: return "Cancelled"; 154 case COMPLETED: return "Completed"; 155 case ENTEREDINERROR: return "Entered in Error"; 156 case UNKNOWN: return "Unknown"; 157 case NULL: return null; 158 default: return "?"; 159 } 160 } 161 } 162 163 public static class ProcedureRequestStatusEnumFactory implements EnumFactory<ProcedureRequestStatus> { 164 public ProcedureRequestStatus fromCode(String codeString) throws IllegalArgumentException { 165 if (codeString == null || "".equals(codeString)) 166 if (codeString == null || "".equals(codeString)) 167 return null; 168 if ("draft".equals(codeString)) 169 return ProcedureRequestStatus.DRAFT; 170 if ("active".equals(codeString)) 171 return ProcedureRequestStatus.ACTIVE; 172 if ("suspended".equals(codeString)) 173 return ProcedureRequestStatus.SUSPENDED; 174 if ("cancelled".equals(codeString)) 175 return ProcedureRequestStatus.CANCELLED; 176 if ("completed".equals(codeString)) 177 return ProcedureRequestStatus.COMPLETED; 178 if ("entered-in-error".equals(codeString)) 179 return ProcedureRequestStatus.ENTEREDINERROR; 180 if ("unknown".equals(codeString)) 181 return ProcedureRequestStatus.UNKNOWN; 182 throw new IllegalArgumentException("Unknown ProcedureRequestStatus code '"+codeString+"'"); 183 } 184 public Enumeration<ProcedureRequestStatus> fromType(PrimitiveType<?> code) throws FHIRException { 185 if (code == null) 186 return null; 187 if (code.isEmpty()) 188 return new Enumeration<ProcedureRequestStatus>(this); 189 String codeString = code.asStringValue(); 190 if (codeString == null || "".equals(codeString)) 191 return null; 192 if ("draft".equals(codeString)) 193 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.DRAFT); 194 if ("active".equals(codeString)) 195 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.ACTIVE); 196 if ("suspended".equals(codeString)) 197 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.SUSPENDED); 198 if ("cancelled".equals(codeString)) 199 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.CANCELLED); 200 if ("completed".equals(codeString)) 201 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.COMPLETED); 202 if ("entered-in-error".equals(codeString)) 203 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.ENTEREDINERROR); 204 if ("unknown".equals(codeString)) 205 return new Enumeration<ProcedureRequestStatus>(this, ProcedureRequestStatus.UNKNOWN); 206 throw new FHIRException("Unknown ProcedureRequestStatus code '"+codeString+"'"); 207 } 208 public String toCode(ProcedureRequestStatus code) { 209 if (code == ProcedureRequestStatus.DRAFT) 210 return "draft"; 211 if (code == ProcedureRequestStatus.ACTIVE) 212 return "active"; 213 if (code == ProcedureRequestStatus.SUSPENDED) 214 return "suspended"; 215 if (code == ProcedureRequestStatus.CANCELLED) 216 return "cancelled"; 217 if (code == ProcedureRequestStatus.COMPLETED) 218 return "completed"; 219 if (code == ProcedureRequestStatus.ENTEREDINERROR) 220 return "entered-in-error"; 221 if (code == ProcedureRequestStatus.UNKNOWN) 222 return "unknown"; 223 return "?"; 224 } 225 public String toSystem(ProcedureRequestStatus code) { 226 return code.getSystem(); 227 } 228 } 229 230 public enum ProcedureRequestIntent { 231 /** 232 * The request is a suggestion made by someone/something that doesn't have an intention to ensure it occurs and without providing an authorization to act 233 */ 234 PROPOSAL, 235 /** 236 * The request represents an intension to ensure something occurs without providing an authorization for others to act 237 */ 238 PLAN, 239 /** 240 * The request represents a request/demand and authorization for action 241 */ 242 ORDER, 243 /** 244 * The request represents an original authorization for action 245 */ 246 ORIGINALORDER, 247 /** 248 * 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 249 */ 250 REFLEXORDER, 251 /** 252 * 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 253 */ 254 FILLERORDER, 255 /** 256 * 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. 257 */ 258 INSTANCEORDER, 259 /** 260 * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. 261 262Refer to [[[RequestGroup]]] for additional information on how this status is used 263 */ 264 OPTION, 265 /** 266 * added to help the parsers with the generic types 267 */ 268 NULL; 269 public static ProcedureRequestIntent fromCode(String codeString) throws FHIRException { 270 if (codeString == null || "".equals(codeString)) 271 return null; 272 if ("proposal".equals(codeString)) 273 return PROPOSAL; 274 if ("plan".equals(codeString)) 275 return PLAN; 276 if ("order".equals(codeString)) 277 return ORDER; 278 if ("original-order".equals(codeString)) 279 return ORIGINALORDER; 280 if ("reflex-order".equals(codeString)) 281 return REFLEXORDER; 282 if ("filler-order".equals(codeString)) 283 return FILLERORDER; 284 if ("instance-order".equals(codeString)) 285 return INSTANCEORDER; 286 if ("option".equals(codeString)) 287 return OPTION; 288 if (Configuration.isAcceptInvalidEnums()) 289 return null; 290 else 291 throw new FHIRException("Unknown ProcedureRequestIntent code '"+codeString+"'"); 292 } 293 public String toCode() { 294 switch (this) { 295 case PROPOSAL: return "proposal"; 296 case PLAN: return "plan"; 297 case ORDER: return "order"; 298 case ORIGINALORDER: return "original-order"; 299 case REFLEXORDER: return "reflex-order"; 300 case FILLERORDER: return "filler-order"; 301 case INSTANCEORDER: return "instance-order"; 302 case OPTION: return "option"; 303 case NULL: return null; 304 default: return "?"; 305 } 306 } 307 public String getSystem() { 308 switch (this) { 309 case PROPOSAL: return "http://hl7.org/fhir/request-intent"; 310 case PLAN: return "http://hl7.org/fhir/request-intent"; 311 case ORDER: return "http://hl7.org/fhir/request-intent"; 312 case ORIGINALORDER: return "http://hl7.org/fhir/request-intent"; 313 case REFLEXORDER: return "http://hl7.org/fhir/request-intent"; 314 case FILLERORDER: return "http://hl7.org/fhir/request-intent"; 315 case INSTANCEORDER: return "http://hl7.org/fhir/request-intent"; 316 case OPTION: return "http://hl7.org/fhir/request-intent"; 317 case NULL: return null; 318 default: return "?"; 319 } 320 } 321 public String getDefinition() { 322 switch (this) { 323 case PROPOSAL: return "The request is a suggestion made by someone/something that doesn't have an intention to ensure it occurs and without providing an authorization to act"; 324 case PLAN: return "The request represents an intension to ensure something occurs without providing an authorization for others to act"; 325 case ORDER: return "The request represents a request/demand and authorization for action"; 326 case ORIGINALORDER: return "The request represents an original authorization for action"; 327 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"; 328 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"; 329 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."; 330 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.\n\nRefer to [[[RequestGroup]]] for additional information on how this status is used"; 331 case NULL: return null; 332 default: return "?"; 333 } 334 } 335 public String getDisplay() { 336 switch (this) { 337 case PROPOSAL: return "Proposal"; 338 case PLAN: return "Plan"; 339 case ORDER: return "Order"; 340 case ORIGINALORDER: return "Original Order"; 341 case REFLEXORDER: return "Reflex Order"; 342 case FILLERORDER: return "Filler Order"; 343 case INSTANCEORDER: return "Instance Order"; 344 case OPTION: return "Option"; 345 case NULL: return null; 346 default: return "?"; 347 } 348 } 349 } 350 351 public static class ProcedureRequestIntentEnumFactory implements EnumFactory<ProcedureRequestIntent> { 352 public ProcedureRequestIntent fromCode(String codeString) throws IllegalArgumentException { 353 if (codeString == null || "".equals(codeString)) 354 if (codeString == null || "".equals(codeString)) 355 return null; 356 if ("proposal".equals(codeString)) 357 return ProcedureRequestIntent.PROPOSAL; 358 if ("plan".equals(codeString)) 359 return ProcedureRequestIntent.PLAN; 360 if ("order".equals(codeString)) 361 return ProcedureRequestIntent.ORDER; 362 if ("original-order".equals(codeString)) 363 return ProcedureRequestIntent.ORIGINALORDER; 364 if ("reflex-order".equals(codeString)) 365 return ProcedureRequestIntent.REFLEXORDER; 366 if ("filler-order".equals(codeString)) 367 return ProcedureRequestIntent.FILLERORDER; 368 if ("instance-order".equals(codeString)) 369 return ProcedureRequestIntent.INSTANCEORDER; 370 if ("option".equals(codeString)) 371 return ProcedureRequestIntent.OPTION; 372 throw new IllegalArgumentException("Unknown ProcedureRequestIntent code '"+codeString+"'"); 373 } 374 public Enumeration<ProcedureRequestIntent> fromType(PrimitiveType<?> code) throws FHIRException { 375 if (code == null) 376 return null; 377 if (code.isEmpty()) 378 return new Enumeration<ProcedureRequestIntent>(this); 379 String codeString = code.asStringValue(); 380 if (codeString == null || "".equals(codeString)) 381 return null; 382 if ("proposal".equals(codeString)) 383 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.PROPOSAL); 384 if ("plan".equals(codeString)) 385 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.PLAN); 386 if ("order".equals(codeString)) 387 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.ORDER); 388 if ("original-order".equals(codeString)) 389 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.ORIGINALORDER); 390 if ("reflex-order".equals(codeString)) 391 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.REFLEXORDER); 392 if ("filler-order".equals(codeString)) 393 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.FILLERORDER); 394 if ("instance-order".equals(codeString)) 395 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.INSTANCEORDER); 396 if ("option".equals(codeString)) 397 return new Enumeration<ProcedureRequestIntent>(this, ProcedureRequestIntent.OPTION); 398 throw new FHIRException("Unknown ProcedureRequestIntent code '"+codeString+"'"); 399 } 400 public String toCode(ProcedureRequestIntent code) { 401 if (code == ProcedureRequestIntent.PROPOSAL) 402 return "proposal"; 403 if (code == ProcedureRequestIntent.PLAN) 404 return "plan"; 405 if (code == ProcedureRequestIntent.ORDER) 406 return "order"; 407 if (code == ProcedureRequestIntent.ORIGINALORDER) 408 return "original-order"; 409 if (code == ProcedureRequestIntent.REFLEXORDER) 410 return "reflex-order"; 411 if (code == ProcedureRequestIntent.FILLERORDER) 412 return "filler-order"; 413 if (code == ProcedureRequestIntent.INSTANCEORDER) 414 return "instance-order"; 415 if (code == ProcedureRequestIntent.OPTION) 416 return "option"; 417 return "?"; 418 } 419 public String toSystem(ProcedureRequestIntent code) { 420 return code.getSystem(); 421 } 422 } 423 424 public enum ProcedureRequestPriority { 425 /** 426 * The request has normal priority 427 */ 428 ROUTINE, 429 /** 430 * The request should be actioned promptly - higher priority than routine 431 */ 432 URGENT, 433 /** 434 * The request should be actioned as soon as possible - higher priority than urgent 435 */ 436 ASAP, 437 /** 438 * The request should be actioned immediately - highest possible priority. E.g. an emergency 439 */ 440 STAT, 441 /** 442 * added to help the parsers with the generic types 443 */ 444 NULL; 445 public static ProcedureRequestPriority fromCode(String codeString) throws FHIRException { 446 if (codeString == null || "".equals(codeString)) 447 return null; 448 if ("routine".equals(codeString)) 449 return ROUTINE; 450 if ("urgent".equals(codeString)) 451 return URGENT; 452 if ("asap".equals(codeString)) 453 return ASAP; 454 if ("stat".equals(codeString)) 455 return STAT; 456 if (Configuration.isAcceptInvalidEnums()) 457 return null; 458 else 459 throw new FHIRException("Unknown ProcedureRequestPriority code '"+codeString+"'"); 460 } 461 public String toCode() { 462 switch (this) { 463 case ROUTINE: return "routine"; 464 case URGENT: return "urgent"; 465 case ASAP: return "asap"; 466 case STAT: return "stat"; 467 case NULL: return null; 468 default: return "?"; 469 } 470 } 471 public String getSystem() { 472 switch (this) { 473 case ROUTINE: return "http://hl7.org/fhir/request-priority"; 474 case URGENT: return "http://hl7.org/fhir/request-priority"; 475 case ASAP: return "http://hl7.org/fhir/request-priority"; 476 case STAT: return "http://hl7.org/fhir/request-priority"; 477 case NULL: return null; 478 default: return "?"; 479 } 480 } 481 public String getDefinition() { 482 switch (this) { 483 case ROUTINE: return "The request has normal priority"; 484 case URGENT: return "The request should be actioned promptly - higher priority than routine"; 485 case ASAP: return "The request should be actioned as soon as possible - higher priority than urgent"; 486 case STAT: return "The request should be actioned immediately - highest possible priority. E.g. an emergency"; 487 case NULL: return null; 488 default: return "?"; 489 } 490 } 491 public String getDisplay() { 492 switch (this) { 493 case ROUTINE: return "Routine"; 494 case URGENT: return "Urgent"; 495 case ASAP: return "ASAP"; 496 case STAT: return "STAT"; 497 case NULL: return null; 498 default: return "?"; 499 } 500 } 501 } 502 503 public static class ProcedureRequestPriorityEnumFactory implements EnumFactory<ProcedureRequestPriority> { 504 public ProcedureRequestPriority fromCode(String codeString) throws IllegalArgumentException { 505 if (codeString == null || "".equals(codeString)) 506 if (codeString == null || "".equals(codeString)) 507 return null; 508 if ("routine".equals(codeString)) 509 return ProcedureRequestPriority.ROUTINE; 510 if ("urgent".equals(codeString)) 511 return ProcedureRequestPriority.URGENT; 512 if ("asap".equals(codeString)) 513 return ProcedureRequestPriority.ASAP; 514 if ("stat".equals(codeString)) 515 return ProcedureRequestPriority.STAT; 516 throw new IllegalArgumentException("Unknown ProcedureRequestPriority code '"+codeString+"'"); 517 } 518 public Enumeration<ProcedureRequestPriority> fromType(PrimitiveType<?> code) throws FHIRException { 519 if (code == null) 520 return null; 521 if (code.isEmpty()) 522 return new Enumeration<ProcedureRequestPriority>(this); 523 String codeString = code.asStringValue(); 524 if (codeString == null || "".equals(codeString)) 525 return null; 526 if ("routine".equals(codeString)) 527 return new Enumeration<ProcedureRequestPriority>(this, ProcedureRequestPriority.ROUTINE); 528 if ("urgent".equals(codeString)) 529 return new Enumeration<ProcedureRequestPriority>(this, ProcedureRequestPriority.URGENT); 530 if ("asap".equals(codeString)) 531 return new Enumeration<ProcedureRequestPriority>(this, ProcedureRequestPriority.ASAP); 532 if ("stat".equals(codeString)) 533 return new Enumeration<ProcedureRequestPriority>(this, ProcedureRequestPriority.STAT); 534 throw new FHIRException("Unknown ProcedureRequestPriority code '"+codeString+"'"); 535 } 536 public String toCode(ProcedureRequestPriority code) { 537 if (code == ProcedureRequestPriority.ROUTINE) 538 return "routine"; 539 if (code == ProcedureRequestPriority.URGENT) 540 return "urgent"; 541 if (code == ProcedureRequestPriority.ASAP) 542 return "asap"; 543 if (code == ProcedureRequestPriority.STAT) 544 return "stat"; 545 return "?"; 546 } 547 public String toSystem(ProcedureRequestPriority code) { 548 return code.getSystem(); 549 } 550 } 551 552 @Block() 553 public static class ProcedureRequestRequesterComponent extends BackboneElement implements IBaseBackboneElement { 554 /** 555 * The device, practitioner or organization who initiated the request. 556 */ 557 @Child(name = "agent", type = {Device.class, Practitioner.class, Organization.class}, order=1, min=1, max=1, modifier=false, summary=true) 558 @Description(shortDefinition="Individual making the request", formalDefinition="The device, practitioner or organization who initiated the request." ) 559 protected Reference agent; 560 561 /** 562 * The actual object that is the target of the reference (The device, practitioner or organization who initiated the request.) 563 */ 564 protected Resource agentTarget; 565 566 /** 567 * The organization the device or practitioner was acting on behalf of. 568 */ 569 @Child(name = "onBehalfOf", type = {Organization.class}, order=2, min=0, max=1, modifier=false, summary=true) 570 @Description(shortDefinition="Organization agent is acting for", formalDefinition="The organization the device or practitioner was acting on behalf of." ) 571 protected Reference onBehalfOf; 572 573 /** 574 * The actual object that is the target of the reference (The organization the device or practitioner was acting on behalf of.) 575 */ 576 protected Organization onBehalfOfTarget; 577 578 private static final long serialVersionUID = -71453027L; 579 580 /** 581 * Constructor 582 */ 583 public ProcedureRequestRequesterComponent() { 584 super(); 585 } 586 587 /** 588 * Constructor 589 */ 590 public ProcedureRequestRequesterComponent(Reference agent) { 591 super(); 592 this.agent = agent; 593 } 594 595 /** 596 * @return {@link #agent} (The device, practitioner or organization who initiated the request.) 597 */ 598 public Reference getAgent() { 599 if (this.agent == null) 600 if (Configuration.errorOnAutoCreate()) 601 throw new Error("Attempt to auto-create ProcedureRequestRequesterComponent.agent"); 602 else if (Configuration.doAutoCreate()) 603 this.agent = new Reference(); // cc 604 return this.agent; 605 } 606 607 public boolean hasAgent() { 608 return this.agent != null && !this.agent.isEmpty(); 609 } 610 611 /** 612 * @param value {@link #agent} (The device, practitioner or organization who initiated the request.) 613 */ 614 public ProcedureRequestRequesterComponent setAgent(Reference value) { 615 this.agent = value; 616 return this; 617 } 618 619 /** 620 * @return {@link #agent} 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 device, practitioner or organization who initiated the request.) 621 */ 622 public Resource getAgentTarget() { 623 return this.agentTarget; 624 } 625 626 /** 627 * @param value {@link #agent} 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 device, practitioner or organization who initiated the request.) 628 */ 629 public ProcedureRequestRequesterComponent setAgentTarget(Resource value) { 630 this.agentTarget = value; 631 return this; 632 } 633 634 /** 635 * @return {@link #onBehalfOf} (The organization the device or practitioner was acting on behalf of.) 636 */ 637 public Reference getOnBehalfOf() { 638 if (this.onBehalfOf == null) 639 if (Configuration.errorOnAutoCreate()) 640 throw new Error("Attempt to auto-create ProcedureRequestRequesterComponent.onBehalfOf"); 641 else if (Configuration.doAutoCreate()) 642 this.onBehalfOf = new Reference(); // cc 643 return this.onBehalfOf; 644 } 645 646 public boolean hasOnBehalfOf() { 647 return this.onBehalfOf != null && !this.onBehalfOf.isEmpty(); 648 } 649 650 /** 651 * @param value {@link #onBehalfOf} (The organization the device or practitioner was acting on behalf of.) 652 */ 653 public ProcedureRequestRequesterComponent setOnBehalfOf(Reference value) { 654 this.onBehalfOf = value; 655 return this; 656 } 657 658 /** 659 * @return {@link #onBehalfOf} 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 organization the device or practitioner was acting on behalf of.) 660 */ 661 public Organization getOnBehalfOfTarget() { 662 if (this.onBehalfOfTarget == null) 663 if (Configuration.errorOnAutoCreate()) 664 throw new Error("Attempt to auto-create ProcedureRequestRequesterComponent.onBehalfOf"); 665 else if (Configuration.doAutoCreate()) 666 this.onBehalfOfTarget = new Organization(); // aa 667 return this.onBehalfOfTarget; 668 } 669 670 /** 671 * @param value {@link #onBehalfOf} 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 organization the device or practitioner was acting on behalf of.) 672 */ 673 public ProcedureRequestRequesterComponent setOnBehalfOfTarget(Organization value) { 674 this.onBehalfOfTarget = value; 675 return this; 676 } 677 678 protected void listChildren(List<Property> children) { 679 super.listChildren(children); 680 children.add(new Property("agent", "Reference(Device|Practitioner|Organization)", "The device, practitioner or organization who initiated the request.", 0, 1, agent)); 681 children.add(new Property("onBehalfOf", "Reference(Organization)", "The organization the device or practitioner was acting on behalf of.", 0, 1, onBehalfOf)); 682 } 683 684 @Override 685 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 686 switch (_hash) { 687 case 92750597: /*agent*/ return new Property("agent", "Reference(Device|Practitioner|Organization)", "The device, practitioner or organization who initiated the request.", 0, 1, agent); 688 case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Organization)", "The organization the device or practitioner was acting on behalf of.", 0, 1, onBehalfOf); 689 default: return super.getNamedProperty(_hash, _name, _checkValid); 690 } 691 692 } 693 694 @Override 695 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 696 switch (hash) { 697 case 92750597: /*agent*/ return this.agent == null ? new Base[0] : new Base[] {this.agent}; // Reference 698 case -14402964: /*onBehalfOf*/ return this.onBehalfOf == null ? new Base[0] : new Base[] {this.onBehalfOf}; // Reference 699 default: return super.getProperty(hash, name, checkValid); 700 } 701 702 } 703 704 @Override 705 public Base setProperty(int hash, String name, Base value) throws FHIRException { 706 switch (hash) { 707 case 92750597: // agent 708 this.agent = castToReference(value); // Reference 709 return value; 710 case -14402964: // onBehalfOf 711 this.onBehalfOf = castToReference(value); // Reference 712 return value; 713 default: return super.setProperty(hash, name, value); 714 } 715 716 } 717 718 @Override 719 public Base setProperty(String name, Base value) throws FHIRException { 720 if (name.equals("agent")) { 721 this.agent = castToReference(value); // Reference 722 } else if (name.equals("onBehalfOf")) { 723 this.onBehalfOf = castToReference(value); // Reference 724 } else 725 return super.setProperty(name, value); 726 return value; 727 } 728 729 @Override 730 public Base makeProperty(int hash, String name) throws FHIRException { 731 switch (hash) { 732 case 92750597: return getAgent(); 733 case -14402964: return getOnBehalfOf(); 734 default: return super.makeProperty(hash, name); 735 } 736 737 } 738 739 @Override 740 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 741 switch (hash) { 742 case 92750597: /*agent*/ return new String[] {"Reference"}; 743 case -14402964: /*onBehalfOf*/ return new String[] {"Reference"}; 744 default: return super.getTypesForProperty(hash, name); 745 } 746 747 } 748 749 @Override 750 public Base addChild(String name) throws FHIRException { 751 if (name.equals("agent")) { 752 this.agent = new Reference(); 753 return this.agent; 754 } 755 else if (name.equals("onBehalfOf")) { 756 this.onBehalfOf = new Reference(); 757 return this.onBehalfOf; 758 } 759 else 760 return super.addChild(name); 761 } 762 763 public ProcedureRequestRequesterComponent copy() { 764 ProcedureRequestRequesterComponent dst = new ProcedureRequestRequesterComponent(); 765 copyValues(dst); 766 dst.agent = agent == null ? null : agent.copy(); 767 dst.onBehalfOf = onBehalfOf == null ? null : onBehalfOf.copy(); 768 return dst; 769 } 770 771 @Override 772 public boolean equalsDeep(Base other_) { 773 if (!super.equalsDeep(other_)) 774 return false; 775 if (!(other_ instanceof ProcedureRequestRequesterComponent)) 776 return false; 777 ProcedureRequestRequesterComponent o = (ProcedureRequestRequesterComponent) other_; 778 return compareDeep(agent, o.agent, true) && compareDeep(onBehalfOf, o.onBehalfOf, true); 779 } 780 781 @Override 782 public boolean equalsShallow(Base other_) { 783 if (!super.equalsShallow(other_)) 784 return false; 785 if (!(other_ instanceof ProcedureRequestRequesterComponent)) 786 return false; 787 ProcedureRequestRequesterComponent o = (ProcedureRequestRequesterComponent) other_; 788 return true; 789 } 790 791 public boolean isEmpty() { 792 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(agent, onBehalfOf); 793 } 794 795 public String fhirType() { 796 return "ProcedureRequest.requester"; 797 798 } 799 800 } 801 802 /** 803 * Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. 804 */ 805 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 806 @Description(shortDefinition="Identifiers assigned to this order", formalDefinition="Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller." ) 807 protected List<Identifier> identifier; 808 809 /** 810 * Protocol or definition followed by this request. 811 */ 812 @Child(name = "definition", type = {ActivityDefinition.class, PlanDefinition.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 813 @Description(shortDefinition="Protocol or definition", formalDefinition="Protocol or definition followed by this request." ) 814 protected List<Reference> definition; 815 /** 816 * The actual objects that are the target of the reference (Protocol or definition followed by this request.) 817 */ 818 protected List<Resource> definitionTarget; 819 820 821 /** 822 * Plan/proposal/order fulfilled by this request. 823 */ 824 @Child(name = "basedOn", type = {Reference.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 825 @Description(shortDefinition="What request fulfills", formalDefinition="Plan/proposal/order fulfilled by this request." ) 826 protected List<Reference> basedOn; 827 /** 828 * The actual objects that are the target of the reference (Plan/proposal/order fulfilled by this request.) 829 */ 830 protected List<Resource> basedOnTarget; 831 832 833 /** 834 * The request takes the place of the referenced completed or terminated request(s). 835 */ 836 @Child(name = "replaces", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 837 @Description(shortDefinition="What request replaces", formalDefinition="The request takes the place of the referenced completed or terminated request(s)." ) 838 protected List<Reference> replaces; 839 /** 840 * The actual objects that are the target of the reference (The request takes the place of the referenced completed or terminated request(s).) 841 */ 842 protected List<Resource> replacesTarget; 843 844 845 /** 846 * A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier. 847 */ 848 @Child(name = "requisition", type = {Identifier.class}, order=4, min=0, max=1, modifier=false, summary=true) 849 @Description(shortDefinition="Composite Request ID", formalDefinition="A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier." ) 850 protected Identifier requisition; 851 852 /** 853 * The status of the order. 854 */ 855 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 856 @Description(shortDefinition="draft | active | suspended | completed | entered-in-error | cancelled", formalDefinition="The status of the order." ) 857 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 858 protected Enumeration<ProcedureRequestStatus> status; 859 860 /** 861 * Whether the request is a proposal, plan, an original order or a reflex order. 862 */ 863 @Child(name = "intent", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 864 @Description(shortDefinition="proposal | plan | order +", formalDefinition="Whether the request is a proposal, plan, an original order or a reflex order." ) 865 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 866 protected Enumeration<ProcedureRequestIntent> intent; 867 868 /** 869 * Indicates how quickly the ProcedureRequest should be addressed with respect to other requests. 870 */ 871 @Child(name = "priority", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 872 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the ProcedureRequest should be addressed with respect to other requests." ) 873 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 874 protected Enumeration<ProcedureRequestPriority> priority; 875 876 /** 877 * Set this to true if the record is saying that the procedure should NOT be performed. 878 */ 879 @Child(name = "doNotPerform", type = {BooleanType.class}, order=8, min=0, max=1, modifier=true, summary=true) 880 @Description(shortDefinition="True if procedure should not be performed", formalDefinition="Set this to true if the record is saying that the procedure should NOT be performed." ) 881 protected BooleanType doNotPerform; 882 883 /** 884 * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). 885 */ 886 @Child(name = "category", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 887 @Description(shortDefinition="Classification of procedure", formalDefinition="A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\")." ) 888 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-category") 889 protected List<CodeableConcept> category; 890 891 /** 892 * A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested. 893 */ 894 @Child(name = "code", type = {CodeableConcept.class}, order=10, min=1, max=1, modifier=false, summary=true) 895 @Description(shortDefinition="What is being requested/ordered", formalDefinition="A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested." ) 896 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-code") 897 protected CodeableConcept code; 898 899 /** 900 * On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). 901 */ 902 @Child(name = "subject", type = {Patient.class, Group.class, Location.class, Device.class}, order=11, min=1, max=1, modifier=false, summary=true) 903 @Description(shortDefinition="Individual the service is ordered for", formalDefinition="On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)." ) 904 protected Reference subject; 905 906 /** 907 * The actual object that is the target of the reference (On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).) 908 */ 909 protected Resource subjectTarget; 910 911 /** 912 * An encounter or episode of care that provides additional information about the healthcare context in which this request is made. 913 */ 914 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=12, min=0, max=1, modifier=false, summary=true) 915 @Description(shortDefinition="Encounter or Episode during which request was created", formalDefinition="An encounter or episode of care that provides additional information about the healthcare context in which this request is made." ) 916 protected Reference context; 917 918 /** 919 * The actual object that is the target of the reference (An encounter or episode of care that provides additional information about the healthcare context in which this request is made.) 920 */ 921 protected Resource contextTarget; 922 923 /** 924 * The date/time at which the diagnostic testing should occur. 925 */ 926 @Child(name = "occurrence", type = {DateTimeType.class, Period.class, Timing.class}, order=13, min=0, max=1, modifier=false, summary=true) 927 @Description(shortDefinition="When procedure should occur", formalDefinition="The date/time at which the diagnostic testing should occur." ) 928 protected Type occurrence; 929 930 /** 931 * If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc. 932 */ 933 @Child(name = "asNeeded", type = {BooleanType.class, CodeableConcept.class}, order=14, min=0, max=1, modifier=false, summary=true) 934 @Description(shortDefinition="Preconditions for procedure or diagnostic", formalDefinition="If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example \"pain\", \"on flare-up\", etc." ) 935 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-as-needed-reason") 936 protected Type asNeeded; 937 938 /** 939 * When the request transitioned to being actionable. 940 */ 941 @Child(name = "authoredOn", type = {DateTimeType.class}, order=15, min=0, max=1, modifier=false, summary=true) 942 @Description(shortDefinition="Date request signed", formalDefinition="When the request transitioned to being actionable." ) 943 protected DateTimeType authoredOn; 944 945 /** 946 * The individual who initiated the request and has responsibility for its activation. 947 */ 948 @Child(name = "requester", type = {}, order=16, min=0, max=1, modifier=false, summary=true) 949 @Description(shortDefinition="Who/what is requesting procedure or diagnostic", formalDefinition="The individual who initiated the request and has responsibility for its activation." ) 950 protected ProcedureRequestRequesterComponent requester; 951 952 /** 953 * Desired type of performer for doing the diagnostic testing. 954 */ 955 @Child(name = "performerType", type = {CodeableConcept.class}, order=17, min=0, max=1, modifier=false, summary=true) 956 @Description(shortDefinition="Performer role", formalDefinition="Desired type of performer for doing the diagnostic testing." ) 957 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-role") 958 protected CodeableConcept performerType; 959 960 /** 961 * The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc. 962 */ 963 @Child(name = "performer", type = {Practitioner.class, Organization.class, Patient.class, Device.class, RelatedPerson.class, HealthcareService.class}, order=18, min=0, max=1, modifier=false, summary=true) 964 @Description(shortDefinition="Requested perfomer", formalDefinition="The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc." ) 965 protected Reference performer; 966 967 /** 968 * The actual object that is the target of the reference (The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.) 969 */ 970 protected Resource performerTarget; 971 972 /** 973 * An explanation or justification for why this diagnostic investigation is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformation. 974 */ 975 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 976 @Description(shortDefinition="Explanation/Justification for test", formalDefinition="An explanation or justification for why this diagnostic investigation is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformation." ) 977 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-reason") 978 protected List<CodeableConcept> reasonCode; 979 980 /** 981 * Indicates another resource that provides a justification for why this diagnostic investigation is being requested. May relate to the resources referred to in supportingInformation. 982 */ 983 @Child(name = "reasonReference", type = {Condition.class, Observation.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 984 @Description(shortDefinition="Explanation/Justification for test", formalDefinition="Indicates another resource that provides a justification for why this diagnostic investigation is being requested. May relate to the resources referred to in supportingInformation." ) 985 protected List<Reference> reasonReference; 986 /** 987 * The actual objects that are the target of the reference (Indicates another resource that provides a justification for why this diagnostic investigation is being requested. May relate to the resources referred to in supportingInformation.) 988 */ 989 protected List<Resource> reasonReferenceTarget; 990 991 992 /** 993 * Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements. 994 */ 995 @Child(name = "supportingInfo", type = {Reference.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 996 @Description(shortDefinition="Additional clinical information", formalDefinition="Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements." ) 997 protected List<Reference> supportingInfo; 998 /** 999 * The actual objects that are the target of the reference (Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements.) 1000 */ 1001 protected List<Resource> supportingInfoTarget; 1002 1003 1004 /** 1005 * One or more specimens that the laboratory procedure will use. 1006 */ 1007 @Child(name = "specimen", type = {Specimen.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1008 @Description(shortDefinition="Procedure Samples", formalDefinition="One or more specimens that the laboratory procedure will use." ) 1009 protected List<Reference> specimen; 1010 /** 1011 * The actual objects that are the target of the reference (One or more specimens that the laboratory procedure will use.) 1012 */ 1013 protected List<Specimen> specimenTarget; 1014 1015 1016 /** 1017 * Anatomic location where the procedure should be performed. This is the target site. 1018 */ 1019 @Child(name = "bodySite", type = {CodeableConcept.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1020 @Description(shortDefinition="Location on Body", formalDefinition="Anatomic location where the procedure should be performed. This is the target site." ) 1021 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 1022 protected List<CodeableConcept> bodySite; 1023 1024 /** 1025 * Any other notes and comments made about the service request. For example, letting provider know that "patient hates needles" or other provider instructions. 1026 */ 1027 @Child(name = "note", type = {Annotation.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1028 @Description(shortDefinition="Comments", formalDefinition="Any other notes and comments made about the service request. For example, letting provider know that \"patient hates needles\" or other provider instructions." ) 1029 protected List<Annotation> note; 1030 1031 /** 1032 * Key events in the history of the request. 1033 */ 1034 @Child(name = "relevantHistory", type = {Provenance.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1035 @Description(shortDefinition="Request provenance", formalDefinition="Key events in the history of the request." ) 1036 protected List<Reference> relevantHistory; 1037 /** 1038 * The actual objects that are the target of the reference (Key events in the history of the request.) 1039 */ 1040 protected List<Provenance> relevantHistoryTarget; 1041 1042 1043 private static final long serialVersionUID = 184396216L; 1044 1045 /** 1046 * Constructor 1047 */ 1048 public ProcedureRequest() { 1049 super(); 1050 } 1051 1052 /** 1053 * Constructor 1054 */ 1055 public ProcedureRequest(Enumeration<ProcedureRequestStatus> status, Enumeration<ProcedureRequestIntent> intent, CodeableConcept code, Reference subject) { 1056 super(); 1057 this.status = status; 1058 this.intent = intent; 1059 this.code = code; 1060 this.subject = subject; 1061 } 1062 1063 /** 1064 * @return {@link #identifier} (Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.) 1065 */ 1066 public List<Identifier> getIdentifier() { 1067 if (this.identifier == null) 1068 this.identifier = new ArrayList<Identifier>(); 1069 return this.identifier; 1070 } 1071 1072 /** 1073 * @return Returns a reference to <code>this</code> for easy method chaining 1074 */ 1075 public ProcedureRequest setIdentifier(List<Identifier> theIdentifier) { 1076 this.identifier = theIdentifier; 1077 return this; 1078 } 1079 1080 public boolean hasIdentifier() { 1081 if (this.identifier == null) 1082 return false; 1083 for (Identifier item : this.identifier) 1084 if (!item.isEmpty()) 1085 return true; 1086 return false; 1087 } 1088 1089 public Identifier addIdentifier() { //3 1090 Identifier t = new Identifier(); 1091 if (this.identifier == null) 1092 this.identifier = new ArrayList<Identifier>(); 1093 this.identifier.add(t); 1094 return t; 1095 } 1096 1097 public ProcedureRequest addIdentifier(Identifier t) { //3 1098 if (t == null) 1099 return this; 1100 if (this.identifier == null) 1101 this.identifier = new ArrayList<Identifier>(); 1102 this.identifier.add(t); 1103 return this; 1104 } 1105 1106 /** 1107 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1108 */ 1109 public Identifier getIdentifierFirstRep() { 1110 if (getIdentifier().isEmpty()) { 1111 addIdentifier(); 1112 } 1113 return getIdentifier().get(0); 1114 } 1115 1116 /** 1117 * @return {@link #definition} (Protocol or definition followed by this request.) 1118 */ 1119 public List<Reference> getDefinition() { 1120 if (this.definition == null) 1121 this.definition = new ArrayList<Reference>(); 1122 return this.definition; 1123 } 1124 1125 /** 1126 * @return Returns a reference to <code>this</code> for easy method chaining 1127 */ 1128 public ProcedureRequest setDefinition(List<Reference> theDefinition) { 1129 this.definition = theDefinition; 1130 return this; 1131 } 1132 1133 public boolean hasDefinition() { 1134 if (this.definition == null) 1135 return false; 1136 for (Reference item : this.definition) 1137 if (!item.isEmpty()) 1138 return true; 1139 return false; 1140 } 1141 1142 public Reference addDefinition() { //3 1143 Reference t = new Reference(); 1144 if (this.definition == null) 1145 this.definition = new ArrayList<Reference>(); 1146 this.definition.add(t); 1147 return t; 1148 } 1149 1150 public ProcedureRequest addDefinition(Reference t) { //3 1151 if (t == null) 1152 return this; 1153 if (this.definition == null) 1154 this.definition = new ArrayList<Reference>(); 1155 this.definition.add(t); 1156 return this; 1157 } 1158 1159 /** 1160 * @return The first repetition of repeating field {@link #definition}, creating it if it does not already exist 1161 */ 1162 public Reference getDefinitionFirstRep() { 1163 if (getDefinition().isEmpty()) { 1164 addDefinition(); 1165 } 1166 return getDefinition().get(0); 1167 } 1168 1169 /** 1170 * @deprecated Use Reference#setResource(IBaseResource) instead 1171 */ 1172 @Deprecated 1173 public List<Resource> getDefinitionTarget() { 1174 if (this.definitionTarget == null) 1175 this.definitionTarget = new ArrayList<Resource>(); 1176 return this.definitionTarget; 1177 } 1178 1179 /** 1180 * @return {@link #basedOn} (Plan/proposal/order fulfilled by this request.) 1181 */ 1182 public List<Reference> getBasedOn() { 1183 if (this.basedOn == null) 1184 this.basedOn = new ArrayList<Reference>(); 1185 return this.basedOn; 1186 } 1187 1188 /** 1189 * @return Returns a reference to <code>this</code> for easy method chaining 1190 */ 1191 public ProcedureRequest setBasedOn(List<Reference> theBasedOn) { 1192 this.basedOn = theBasedOn; 1193 return this; 1194 } 1195 1196 public boolean hasBasedOn() { 1197 if (this.basedOn == null) 1198 return false; 1199 for (Reference item : this.basedOn) 1200 if (!item.isEmpty()) 1201 return true; 1202 return false; 1203 } 1204 1205 public Reference addBasedOn() { //3 1206 Reference t = new Reference(); 1207 if (this.basedOn == null) 1208 this.basedOn = new ArrayList<Reference>(); 1209 this.basedOn.add(t); 1210 return t; 1211 } 1212 1213 public ProcedureRequest addBasedOn(Reference t) { //3 1214 if (t == null) 1215 return this; 1216 if (this.basedOn == null) 1217 this.basedOn = new ArrayList<Reference>(); 1218 this.basedOn.add(t); 1219 return this; 1220 } 1221 1222 /** 1223 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist 1224 */ 1225 public Reference getBasedOnFirstRep() { 1226 if (getBasedOn().isEmpty()) { 1227 addBasedOn(); 1228 } 1229 return getBasedOn().get(0); 1230 } 1231 1232 /** 1233 * @deprecated Use Reference#setResource(IBaseResource) instead 1234 */ 1235 @Deprecated 1236 public List<Resource> getBasedOnTarget() { 1237 if (this.basedOnTarget == null) 1238 this.basedOnTarget = new ArrayList<Resource>(); 1239 return this.basedOnTarget; 1240 } 1241 1242 /** 1243 * @return {@link #replaces} (The request takes the place of the referenced completed or terminated request(s).) 1244 */ 1245 public List<Reference> getReplaces() { 1246 if (this.replaces == null) 1247 this.replaces = new ArrayList<Reference>(); 1248 return this.replaces; 1249 } 1250 1251 /** 1252 * @return Returns a reference to <code>this</code> for easy method chaining 1253 */ 1254 public ProcedureRequest setReplaces(List<Reference> theReplaces) { 1255 this.replaces = theReplaces; 1256 return this; 1257 } 1258 1259 public boolean hasReplaces() { 1260 if (this.replaces == null) 1261 return false; 1262 for (Reference item : this.replaces) 1263 if (!item.isEmpty()) 1264 return true; 1265 return false; 1266 } 1267 1268 public Reference addReplaces() { //3 1269 Reference t = new Reference(); 1270 if (this.replaces == null) 1271 this.replaces = new ArrayList<Reference>(); 1272 this.replaces.add(t); 1273 return t; 1274 } 1275 1276 public ProcedureRequest addReplaces(Reference t) { //3 1277 if (t == null) 1278 return this; 1279 if (this.replaces == null) 1280 this.replaces = new ArrayList<Reference>(); 1281 this.replaces.add(t); 1282 return this; 1283 } 1284 1285 /** 1286 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist 1287 */ 1288 public Reference getReplacesFirstRep() { 1289 if (getReplaces().isEmpty()) { 1290 addReplaces(); 1291 } 1292 return getReplaces().get(0); 1293 } 1294 1295 /** 1296 * @deprecated Use Reference#setResource(IBaseResource) instead 1297 */ 1298 @Deprecated 1299 public List<Resource> getReplacesTarget() { 1300 if (this.replacesTarget == null) 1301 this.replacesTarget = new ArrayList<Resource>(); 1302 return this.replacesTarget; 1303 } 1304 1305 /** 1306 * @return {@link #requisition} (A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.) 1307 */ 1308 public Identifier getRequisition() { 1309 if (this.requisition == null) 1310 if (Configuration.errorOnAutoCreate()) 1311 throw new Error("Attempt to auto-create ProcedureRequest.requisition"); 1312 else if (Configuration.doAutoCreate()) 1313 this.requisition = new Identifier(); // cc 1314 return this.requisition; 1315 } 1316 1317 public boolean hasRequisition() { 1318 return this.requisition != null && !this.requisition.isEmpty(); 1319 } 1320 1321 /** 1322 * @param value {@link #requisition} (A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.) 1323 */ 1324 public ProcedureRequest setRequisition(Identifier value) { 1325 this.requisition = value; 1326 return this; 1327 } 1328 1329 /** 1330 * @return {@link #status} (The status of the order.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1331 */ 1332 public Enumeration<ProcedureRequestStatus> getStatusElement() { 1333 if (this.status == null) 1334 if (Configuration.errorOnAutoCreate()) 1335 throw new Error("Attempt to auto-create ProcedureRequest.status"); 1336 else if (Configuration.doAutoCreate()) 1337 this.status = new Enumeration<ProcedureRequestStatus>(new ProcedureRequestStatusEnumFactory()); // bb 1338 return this.status; 1339 } 1340 1341 public boolean hasStatusElement() { 1342 return this.status != null && !this.status.isEmpty(); 1343 } 1344 1345 public boolean hasStatus() { 1346 return this.status != null && !this.status.isEmpty(); 1347 } 1348 1349 /** 1350 * @param value {@link #status} (The status of the order.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1351 */ 1352 public ProcedureRequest setStatusElement(Enumeration<ProcedureRequestStatus> value) { 1353 this.status = value; 1354 return this; 1355 } 1356 1357 /** 1358 * @return The status of the order. 1359 */ 1360 public ProcedureRequestStatus getStatus() { 1361 return this.status == null ? null : this.status.getValue(); 1362 } 1363 1364 /** 1365 * @param value The status of the order. 1366 */ 1367 public ProcedureRequest setStatus(ProcedureRequestStatus value) { 1368 if (this.status == null) 1369 this.status = new Enumeration<ProcedureRequestStatus>(new ProcedureRequestStatusEnumFactory()); 1370 this.status.setValue(value); 1371 return this; 1372 } 1373 1374 /** 1375 * @return {@link #intent} (Whether the request is a proposal, plan, an original order or a reflex order.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 1376 */ 1377 public Enumeration<ProcedureRequestIntent> getIntentElement() { 1378 if (this.intent == null) 1379 if (Configuration.errorOnAutoCreate()) 1380 throw new Error("Attempt to auto-create ProcedureRequest.intent"); 1381 else if (Configuration.doAutoCreate()) 1382 this.intent = new Enumeration<ProcedureRequestIntent>(new ProcedureRequestIntentEnumFactory()); // bb 1383 return this.intent; 1384 } 1385 1386 public boolean hasIntentElement() { 1387 return this.intent != null && !this.intent.isEmpty(); 1388 } 1389 1390 public boolean hasIntent() { 1391 return this.intent != null && !this.intent.isEmpty(); 1392 } 1393 1394 /** 1395 * @param value {@link #intent} (Whether the request is a proposal, plan, an original order or a reflex order.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 1396 */ 1397 public ProcedureRequest setIntentElement(Enumeration<ProcedureRequestIntent> value) { 1398 this.intent = value; 1399 return this; 1400 } 1401 1402 /** 1403 * @return Whether the request is a proposal, plan, an original order or a reflex order. 1404 */ 1405 public ProcedureRequestIntent getIntent() { 1406 return this.intent == null ? null : this.intent.getValue(); 1407 } 1408 1409 /** 1410 * @param value Whether the request is a proposal, plan, an original order or a reflex order. 1411 */ 1412 public ProcedureRequest setIntent(ProcedureRequestIntent value) { 1413 if (this.intent == null) 1414 this.intent = new Enumeration<ProcedureRequestIntent>(new ProcedureRequestIntentEnumFactory()); 1415 this.intent.setValue(value); 1416 return this; 1417 } 1418 1419 /** 1420 * @return {@link #priority} (Indicates how quickly the ProcedureRequest 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 1421 */ 1422 public Enumeration<ProcedureRequestPriority> getPriorityElement() { 1423 if (this.priority == null) 1424 if (Configuration.errorOnAutoCreate()) 1425 throw new Error("Attempt to auto-create ProcedureRequest.priority"); 1426 else if (Configuration.doAutoCreate()) 1427 this.priority = new Enumeration<ProcedureRequestPriority>(new ProcedureRequestPriorityEnumFactory()); // bb 1428 return this.priority; 1429 } 1430 1431 public boolean hasPriorityElement() { 1432 return this.priority != null && !this.priority.isEmpty(); 1433 } 1434 1435 public boolean hasPriority() { 1436 return this.priority != null && !this.priority.isEmpty(); 1437 } 1438 1439 /** 1440 * @param value {@link #priority} (Indicates how quickly the ProcedureRequest 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 1441 */ 1442 public ProcedureRequest setPriorityElement(Enumeration<ProcedureRequestPriority> value) { 1443 this.priority = value; 1444 return this; 1445 } 1446 1447 /** 1448 * @return Indicates how quickly the ProcedureRequest should be addressed with respect to other requests. 1449 */ 1450 public ProcedureRequestPriority getPriority() { 1451 return this.priority == null ? null : this.priority.getValue(); 1452 } 1453 1454 /** 1455 * @param value Indicates how quickly the ProcedureRequest should be addressed with respect to other requests. 1456 */ 1457 public ProcedureRequest setPriority(ProcedureRequestPriority value) { 1458 if (value == null) 1459 this.priority = null; 1460 else { 1461 if (this.priority == null) 1462 this.priority = new Enumeration<ProcedureRequestPriority>(new ProcedureRequestPriorityEnumFactory()); 1463 this.priority.setValue(value); 1464 } 1465 return this; 1466 } 1467 1468 /** 1469 * @return {@link #doNotPerform} (Set this to true if the record is saying that the procedure should NOT be performed.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 1470 */ 1471 public BooleanType getDoNotPerformElement() { 1472 if (this.doNotPerform == null) 1473 if (Configuration.errorOnAutoCreate()) 1474 throw new Error("Attempt to auto-create ProcedureRequest.doNotPerform"); 1475 else if (Configuration.doAutoCreate()) 1476 this.doNotPerform = new BooleanType(); // bb 1477 return this.doNotPerform; 1478 } 1479 1480 public boolean hasDoNotPerformElement() { 1481 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 1482 } 1483 1484 public boolean hasDoNotPerform() { 1485 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 1486 } 1487 1488 /** 1489 * @param value {@link #doNotPerform} (Set this to true if the record is saying that the procedure should NOT be performed.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 1490 */ 1491 public ProcedureRequest setDoNotPerformElement(BooleanType value) { 1492 this.doNotPerform = value; 1493 return this; 1494 } 1495 1496 /** 1497 * @return Set this to true if the record is saying that the procedure should NOT be performed. 1498 */ 1499 public boolean getDoNotPerform() { 1500 return this.doNotPerform == null || this.doNotPerform.isEmpty() ? false : this.doNotPerform.getValue(); 1501 } 1502 1503 /** 1504 * @param value Set this to true if the record is saying that the procedure should NOT be performed. 1505 */ 1506 public ProcedureRequest setDoNotPerform(boolean value) { 1507 if (this.doNotPerform == null) 1508 this.doNotPerform = new BooleanType(); 1509 this.doNotPerform.setValue(value); 1510 return this; 1511 } 1512 1513 /** 1514 * @return {@link #category} (A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").) 1515 */ 1516 public List<CodeableConcept> getCategory() { 1517 if (this.category == null) 1518 this.category = new ArrayList<CodeableConcept>(); 1519 return this.category; 1520 } 1521 1522 /** 1523 * @return Returns a reference to <code>this</code> for easy method chaining 1524 */ 1525 public ProcedureRequest setCategory(List<CodeableConcept> theCategory) { 1526 this.category = theCategory; 1527 return this; 1528 } 1529 1530 public boolean hasCategory() { 1531 if (this.category == null) 1532 return false; 1533 for (CodeableConcept item : this.category) 1534 if (!item.isEmpty()) 1535 return true; 1536 return false; 1537 } 1538 1539 public CodeableConcept addCategory() { //3 1540 CodeableConcept t = new CodeableConcept(); 1541 if (this.category == null) 1542 this.category = new ArrayList<CodeableConcept>(); 1543 this.category.add(t); 1544 return t; 1545 } 1546 1547 public ProcedureRequest addCategory(CodeableConcept t) { //3 1548 if (t == null) 1549 return this; 1550 if (this.category == null) 1551 this.category = new ArrayList<CodeableConcept>(); 1552 this.category.add(t); 1553 return this; 1554 } 1555 1556 /** 1557 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist 1558 */ 1559 public CodeableConcept getCategoryFirstRep() { 1560 if (getCategory().isEmpty()) { 1561 addCategory(); 1562 } 1563 return getCategory().get(0); 1564 } 1565 1566 /** 1567 * @return {@link #code} (A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested.) 1568 */ 1569 public CodeableConcept getCode() { 1570 if (this.code == null) 1571 if (Configuration.errorOnAutoCreate()) 1572 throw new Error("Attempt to auto-create ProcedureRequest.code"); 1573 else if (Configuration.doAutoCreate()) 1574 this.code = new CodeableConcept(); // cc 1575 return this.code; 1576 } 1577 1578 public boolean hasCode() { 1579 return this.code != null && !this.code.isEmpty(); 1580 } 1581 1582 /** 1583 * @param value {@link #code} (A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested.) 1584 */ 1585 public ProcedureRequest setCode(CodeableConcept value) { 1586 this.code = value; 1587 return this; 1588 } 1589 1590 /** 1591 * @return {@link #subject} (On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).) 1592 */ 1593 public Reference getSubject() { 1594 if (this.subject == null) 1595 if (Configuration.errorOnAutoCreate()) 1596 throw new Error("Attempt to auto-create ProcedureRequest.subject"); 1597 else if (Configuration.doAutoCreate()) 1598 this.subject = new Reference(); // cc 1599 return this.subject; 1600 } 1601 1602 public boolean hasSubject() { 1603 return this.subject != null && !this.subject.isEmpty(); 1604 } 1605 1606 /** 1607 * @param value {@link #subject} (On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).) 1608 */ 1609 public ProcedureRequest setSubject(Reference value) { 1610 this.subject = value; 1611 return this; 1612 } 1613 1614 /** 1615 * @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. (On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).) 1616 */ 1617 public Resource getSubjectTarget() { 1618 return this.subjectTarget; 1619 } 1620 1621 /** 1622 * @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. (On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).) 1623 */ 1624 public ProcedureRequest setSubjectTarget(Resource value) { 1625 this.subjectTarget = value; 1626 return this; 1627 } 1628 1629 /** 1630 * @return {@link #context} (An encounter or episode of care that provides additional information about the healthcare context in which this request is made.) 1631 */ 1632 public Reference getContext() { 1633 if (this.context == null) 1634 if (Configuration.errorOnAutoCreate()) 1635 throw new Error("Attempt to auto-create ProcedureRequest.context"); 1636 else if (Configuration.doAutoCreate()) 1637 this.context = new Reference(); // cc 1638 return this.context; 1639 } 1640 1641 public boolean hasContext() { 1642 return this.context != null && !this.context.isEmpty(); 1643 } 1644 1645 /** 1646 * @param value {@link #context} (An encounter or episode of care that provides additional information about the healthcare context in which this request is made.) 1647 */ 1648 public ProcedureRequest setContext(Reference value) { 1649 this.context = value; 1650 return this; 1651 } 1652 1653 /** 1654 * @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. (An encounter or episode of care that provides additional information about the healthcare context in which this request is made.) 1655 */ 1656 public Resource getContextTarget() { 1657 return this.contextTarget; 1658 } 1659 1660 /** 1661 * @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. (An encounter or episode of care that provides additional information about the healthcare context in which this request is made.) 1662 */ 1663 public ProcedureRequest setContextTarget(Resource value) { 1664 this.contextTarget = value; 1665 return this; 1666 } 1667 1668 /** 1669 * @return {@link #occurrence} (The date/time at which the diagnostic testing should occur.) 1670 */ 1671 public Type getOccurrence() { 1672 return this.occurrence; 1673 } 1674 1675 /** 1676 * @return {@link #occurrence} (The date/time at which the diagnostic testing should occur.) 1677 */ 1678 public DateTimeType getOccurrenceDateTimeType() throws FHIRException { 1679 if (this.occurrence == null) 1680 return null; 1681 if (!(this.occurrence instanceof DateTimeType)) 1682 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1683 return (DateTimeType) this.occurrence; 1684 } 1685 1686 public boolean hasOccurrenceDateTimeType() { 1687 return this != null && this.occurrence instanceof DateTimeType; 1688 } 1689 1690 /** 1691 * @return {@link #occurrence} (The date/time at which the diagnostic testing should occur.) 1692 */ 1693 public Period getOccurrencePeriod() throws FHIRException { 1694 if (this.occurrence == null) 1695 return null; 1696 if (!(this.occurrence instanceof Period)) 1697 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1698 return (Period) this.occurrence; 1699 } 1700 1701 public boolean hasOccurrencePeriod() { 1702 return this != null && this.occurrence instanceof Period; 1703 } 1704 1705 /** 1706 * @return {@link #occurrence} (The date/time at which the diagnostic testing should occur.) 1707 */ 1708 public Timing getOccurrenceTiming() throws FHIRException { 1709 if (this.occurrence == null) 1710 return null; 1711 if (!(this.occurrence instanceof Timing)) 1712 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1713 return (Timing) this.occurrence; 1714 } 1715 1716 public boolean hasOccurrenceTiming() { 1717 return this != null && this.occurrence instanceof Timing; 1718 } 1719 1720 public boolean hasOccurrence() { 1721 return this.occurrence != null && !this.occurrence.isEmpty(); 1722 } 1723 1724 /** 1725 * @param value {@link #occurrence} (The date/time at which the diagnostic testing should occur.) 1726 */ 1727 public ProcedureRequest setOccurrence(Type value) throws FHIRFormatError { 1728 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Timing)) 1729 throw new FHIRFormatError("Not the right type for ProcedureRequest.occurrence[x]: "+value.fhirType()); 1730 this.occurrence = value; 1731 return this; 1732 } 1733 1734 /** 1735 * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc.) 1736 */ 1737 public Type getAsNeeded() { 1738 return this.asNeeded; 1739 } 1740 1741 /** 1742 * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc.) 1743 */ 1744 public BooleanType getAsNeededBooleanType() throws FHIRException { 1745 if (this.asNeeded == null) 1746 return null; 1747 if (!(this.asNeeded instanceof BooleanType)) 1748 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.asNeeded.getClass().getName()+" was encountered"); 1749 return (BooleanType) this.asNeeded; 1750 } 1751 1752 public boolean hasAsNeededBooleanType() { 1753 return this != null && this.asNeeded instanceof BooleanType; 1754 } 1755 1756 /** 1757 * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc.) 1758 */ 1759 public CodeableConcept getAsNeededCodeableConcept() throws FHIRException { 1760 if (this.asNeeded == null) 1761 return null; 1762 if (!(this.asNeeded instanceof CodeableConcept)) 1763 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.asNeeded.getClass().getName()+" was encountered"); 1764 return (CodeableConcept) this.asNeeded; 1765 } 1766 1767 public boolean hasAsNeededCodeableConcept() { 1768 return this != null && this.asNeeded instanceof CodeableConcept; 1769 } 1770 1771 public boolean hasAsNeeded() { 1772 return this.asNeeded != null && !this.asNeeded.isEmpty(); 1773 } 1774 1775 /** 1776 * @param value {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example "pain", "on flare-up", etc.) 1777 */ 1778 public ProcedureRequest setAsNeeded(Type value) throws FHIRFormatError { 1779 if (value != null && !(value instanceof BooleanType || value instanceof CodeableConcept)) 1780 throw new FHIRFormatError("Not the right type for ProcedureRequest.asNeeded[x]: "+value.fhirType()); 1781 this.asNeeded = value; 1782 return this; 1783 } 1784 1785 /** 1786 * @return {@link #authoredOn} (When the request transitioned to being actionable.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 1787 */ 1788 public DateTimeType getAuthoredOnElement() { 1789 if (this.authoredOn == null) 1790 if (Configuration.errorOnAutoCreate()) 1791 throw new Error("Attempt to auto-create ProcedureRequest.authoredOn"); 1792 else if (Configuration.doAutoCreate()) 1793 this.authoredOn = new DateTimeType(); // bb 1794 return this.authoredOn; 1795 } 1796 1797 public boolean hasAuthoredOnElement() { 1798 return this.authoredOn != null && !this.authoredOn.isEmpty(); 1799 } 1800 1801 public boolean hasAuthoredOn() { 1802 return this.authoredOn != null && !this.authoredOn.isEmpty(); 1803 } 1804 1805 /** 1806 * @param value {@link #authoredOn} (When the request transitioned to being actionable.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 1807 */ 1808 public ProcedureRequest setAuthoredOnElement(DateTimeType value) { 1809 this.authoredOn = value; 1810 return this; 1811 } 1812 1813 /** 1814 * @return When the request transitioned to being actionable. 1815 */ 1816 public Date getAuthoredOn() { 1817 return this.authoredOn == null ? null : this.authoredOn.getValue(); 1818 } 1819 1820 /** 1821 * @param value When the request transitioned to being actionable. 1822 */ 1823 public ProcedureRequest setAuthoredOn(Date value) { 1824 if (value == null) 1825 this.authoredOn = null; 1826 else { 1827 if (this.authoredOn == null) 1828 this.authoredOn = new DateTimeType(); 1829 this.authoredOn.setValue(value); 1830 } 1831 return this; 1832 } 1833 1834 /** 1835 * @return {@link #requester} (The individual who initiated the request and has responsibility for its activation.) 1836 */ 1837 public ProcedureRequestRequesterComponent getRequester() { 1838 if (this.requester == null) 1839 if (Configuration.errorOnAutoCreate()) 1840 throw new Error("Attempt to auto-create ProcedureRequest.requester"); 1841 else if (Configuration.doAutoCreate()) 1842 this.requester = new ProcedureRequestRequesterComponent(); // cc 1843 return this.requester; 1844 } 1845 1846 public boolean hasRequester() { 1847 return this.requester != null && !this.requester.isEmpty(); 1848 } 1849 1850 /** 1851 * @param value {@link #requester} (The individual who initiated the request and has responsibility for its activation.) 1852 */ 1853 public ProcedureRequest setRequester(ProcedureRequestRequesterComponent value) { 1854 this.requester = value; 1855 return this; 1856 } 1857 1858 /** 1859 * @return {@link #performerType} (Desired type of performer for doing the diagnostic testing.) 1860 */ 1861 public CodeableConcept getPerformerType() { 1862 if (this.performerType == null) 1863 if (Configuration.errorOnAutoCreate()) 1864 throw new Error("Attempt to auto-create ProcedureRequest.performerType"); 1865 else if (Configuration.doAutoCreate()) 1866 this.performerType = new CodeableConcept(); // cc 1867 return this.performerType; 1868 } 1869 1870 public boolean hasPerformerType() { 1871 return this.performerType != null && !this.performerType.isEmpty(); 1872 } 1873 1874 /** 1875 * @param value {@link #performerType} (Desired type of performer for doing the diagnostic testing.) 1876 */ 1877 public ProcedureRequest setPerformerType(CodeableConcept value) { 1878 this.performerType = value; 1879 return this; 1880 } 1881 1882 /** 1883 * @return {@link #performer} (The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.) 1884 */ 1885 public Reference getPerformer() { 1886 if (this.performer == null) 1887 if (Configuration.errorOnAutoCreate()) 1888 throw new Error("Attempt to auto-create ProcedureRequest.performer"); 1889 else if (Configuration.doAutoCreate()) 1890 this.performer = new Reference(); // cc 1891 return this.performer; 1892 } 1893 1894 public boolean hasPerformer() { 1895 return this.performer != null && !this.performer.isEmpty(); 1896 } 1897 1898 /** 1899 * @param value {@link #performer} (The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.) 1900 */ 1901 public ProcedureRequest setPerformer(Reference value) { 1902 this.performer = value; 1903 return this; 1904 } 1905 1906 /** 1907 * @return {@link #performer} 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 desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.) 1908 */ 1909 public Resource getPerformerTarget() { 1910 return this.performerTarget; 1911 } 1912 1913 /** 1914 * @param value {@link #performer} 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 desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.) 1915 */ 1916 public ProcedureRequest setPerformerTarget(Resource value) { 1917 this.performerTarget = value; 1918 return this; 1919 } 1920 1921 /** 1922 * @return {@link #reasonCode} (An explanation or justification for why this diagnostic investigation is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformation.) 1923 */ 1924 public List<CodeableConcept> getReasonCode() { 1925 if (this.reasonCode == null) 1926 this.reasonCode = new ArrayList<CodeableConcept>(); 1927 return this.reasonCode; 1928 } 1929 1930 /** 1931 * @return Returns a reference to <code>this</code> for easy method chaining 1932 */ 1933 public ProcedureRequest setReasonCode(List<CodeableConcept> theReasonCode) { 1934 this.reasonCode = theReasonCode; 1935 return this; 1936 } 1937 1938 public boolean hasReasonCode() { 1939 if (this.reasonCode == null) 1940 return false; 1941 for (CodeableConcept item : this.reasonCode) 1942 if (!item.isEmpty()) 1943 return true; 1944 return false; 1945 } 1946 1947 public CodeableConcept addReasonCode() { //3 1948 CodeableConcept t = new CodeableConcept(); 1949 if (this.reasonCode == null) 1950 this.reasonCode = new ArrayList<CodeableConcept>(); 1951 this.reasonCode.add(t); 1952 return t; 1953 } 1954 1955 public ProcedureRequest addReasonCode(CodeableConcept t) { //3 1956 if (t == null) 1957 return this; 1958 if (this.reasonCode == null) 1959 this.reasonCode = new ArrayList<CodeableConcept>(); 1960 this.reasonCode.add(t); 1961 return this; 1962 } 1963 1964 /** 1965 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist 1966 */ 1967 public CodeableConcept getReasonCodeFirstRep() { 1968 if (getReasonCode().isEmpty()) { 1969 addReasonCode(); 1970 } 1971 return getReasonCode().get(0); 1972 } 1973 1974 /** 1975 * @return {@link #reasonReference} (Indicates another resource that provides a justification for why this diagnostic investigation is being requested. May relate to the resources referred to in supportingInformation.) 1976 */ 1977 public List<Reference> getReasonReference() { 1978 if (this.reasonReference == null) 1979 this.reasonReference = new ArrayList<Reference>(); 1980 return this.reasonReference; 1981 } 1982 1983 /** 1984 * @return Returns a reference to <code>this</code> for easy method chaining 1985 */ 1986 public ProcedureRequest setReasonReference(List<Reference> theReasonReference) { 1987 this.reasonReference = theReasonReference; 1988 return this; 1989 } 1990 1991 public boolean hasReasonReference() { 1992 if (this.reasonReference == null) 1993 return false; 1994 for (Reference item : this.reasonReference) 1995 if (!item.isEmpty()) 1996 return true; 1997 return false; 1998 } 1999 2000 public Reference addReasonReference() { //3 2001 Reference t = new Reference(); 2002 if (this.reasonReference == null) 2003 this.reasonReference = new ArrayList<Reference>(); 2004 this.reasonReference.add(t); 2005 return t; 2006 } 2007 2008 public ProcedureRequest addReasonReference(Reference t) { //3 2009 if (t == null) 2010 return this; 2011 if (this.reasonReference == null) 2012 this.reasonReference = new ArrayList<Reference>(); 2013 this.reasonReference.add(t); 2014 return this; 2015 } 2016 2017 /** 2018 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist 2019 */ 2020 public Reference getReasonReferenceFirstRep() { 2021 if (getReasonReference().isEmpty()) { 2022 addReasonReference(); 2023 } 2024 return getReasonReference().get(0); 2025 } 2026 2027 /** 2028 * @deprecated Use Reference#setResource(IBaseResource) instead 2029 */ 2030 @Deprecated 2031 public List<Resource> getReasonReferenceTarget() { 2032 if (this.reasonReferenceTarget == null) 2033 this.reasonReferenceTarget = new ArrayList<Resource>(); 2034 return this.reasonReferenceTarget; 2035 } 2036 2037 /** 2038 * @return {@link #supportingInfo} (Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements.) 2039 */ 2040 public List<Reference> getSupportingInfo() { 2041 if (this.supportingInfo == null) 2042 this.supportingInfo = new ArrayList<Reference>(); 2043 return this.supportingInfo; 2044 } 2045 2046 /** 2047 * @return Returns a reference to <code>this</code> for easy method chaining 2048 */ 2049 public ProcedureRequest setSupportingInfo(List<Reference> theSupportingInfo) { 2050 this.supportingInfo = theSupportingInfo; 2051 return this; 2052 } 2053 2054 public boolean hasSupportingInfo() { 2055 if (this.supportingInfo == null) 2056 return false; 2057 for (Reference item : this.supportingInfo) 2058 if (!item.isEmpty()) 2059 return true; 2060 return false; 2061 } 2062 2063 public Reference addSupportingInfo() { //3 2064 Reference t = new Reference(); 2065 if (this.supportingInfo == null) 2066 this.supportingInfo = new ArrayList<Reference>(); 2067 this.supportingInfo.add(t); 2068 return t; 2069 } 2070 2071 public ProcedureRequest addSupportingInfo(Reference t) { //3 2072 if (t == null) 2073 return this; 2074 if (this.supportingInfo == null) 2075 this.supportingInfo = new ArrayList<Reference>(); 2076 this.supportingInfo.add(t); 2077 return this; 2078 } 2079 2080 /** 2081 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist 2082 */ 2083 public Reference getSupportingInfoFirstRep() { 2084 if (getSupportingInfo().isEmpty()) { 2085 addSupportingInfo(); 2086 } 2087 return getSupportingInfo().get(0); 2088 } 2089 2090 /** 2091 * @deprecated Use Reference#setResource(IBaseResource) instead 2092 */ 2093 @Deprecated 2094 public List<Resource> getSupportingInfoTarget() { 2095 if (this.supportingInfoTarget == null) 2096 this.supportingInfoTarget = new ArrayList<Resource>(); 2097 return this.supportingInfoTarget; 2098 } 2099 2100 /** 2101 * @return {@link #specimen} (One or more specimens that the laboratory procedure will use.) 2102 */ 2103 public List<Reference> getSpecimen() { 2104 if (this.specimen == null) 2105 this.specimen = new ArrayList<Reference>(); 2106 return this.specimen; 2107 } 2108 2109 /** 2110 * @return Returns a reference to <code>this</code> for easy method chaining 2111 */ 2112 public ProcedureRequest setSpecimen(List<Reference> theSpecimen) { 2113 this.specimen = theSpecimen; 2114 return this; 2115 } 2116 2117 public boolean hasSpecimen() { 2118 if (this.specimen == null) 2119 return false; 2120 for (Reference item : this.specimen) 2121 if (!item.isEmpty()) 2122 return true; 2123 return false; 2124 } 2125 2126 public Reference addSpecimen() { //3 2127 Reference t = new Reference(); 2128 if (this.specimen == null) 2129 this.specimen = new ArrayList<Reference>(); 2130 this.specimen.add(t); 2131 return t; 2132 } 2133 2134 public ProcedureRequest addSpecimen(Reference t) { //3 2135 if (t == null) 2136 return this; 2137 if (this.specimen == null) 2138 this.specimen = new ArrayList<Reference>(); 2139 this.specimen.add(t); 2140 return this; 2141 } 2142 2143 /** 2144 * @return The first repetition of repeating field {@link #specimen}, creating it if it does not already exist 2145 */ 2146 public Reference getSpecimenFirstRep() { 2147 if (getSpecimen().isEmpty()) { 2148 addSpecimen(); 2149 } 2150 return getSpecimen().get(0); 2151 } 2152 2153 /** 2154 * @deprecated Use Reference#setResource(IBaseResource) instead 2155 */ 2156 @Deprecated 2157 public List<Specimen> getSpecimenTarget() { 2158 if (this.specimenTarget == null) 2159 this.specimenTarget = new ArrayList<Specimen>(); 2160 return this.specimenTarget; 2161 } 2162 2163 /** 2164 * @deprecated Use Reference#setResource(IBaseResource) instead 2165 */ 2166 @Deprecated 2167 public Specimen addSpecimenTarget() { 2168 Specimen r = new Specimen(); 2169 if (this.specimenTarget == null) 2170 this.specimenTarget = new ArrayList<Specimen>(); 2171 this.specimenTarget.add(r); 2172 return r; 2173 } 2174 2175 /** 2176 * @return {@link #bodySite} (Anatomic location where the procedure should be performed. This is the target site.) 2177 */ 2178 public List<CodeableConcept> getBodySite() { 2179 if (this.bodySite == null) 2180 this.bodySite = new ArrayList<CodeableConcept>(); 2181 return this.bodySite; 2182 } 2183 2184 /** 2185 * @return Returns a reference to <code>this</code> for easy method chaining 2186 */ 2187 public ProcedureRequest setBodySite(List<CodeableConcept> theBodySite) { 2188 this.bodySite = theBodySite; 2189 return this; 2190 } 2191 2192 public boolean hasBodySite() { 2193 if (this.bodySite == null) 2194 return false; 2195 for (CodeableConcept item : this.bodySite) 2196 if (!item.isEmpty()) 2197 return true; 2198 return false; 2199 } 2200 2201 public CodeableConcept addBodySite() { //3 2202 CodeableConcept t = new CodeableConcept(); 2203 if (this.bodySite == null) 2204 this.bodySite = new ArrayList<CodeableConcept>(); 2205 this.bodySite.add(t); 2206 return t; 2207 } 2208 2209 public ProcedureRequest addBodySite(CodeableConcept t) { //3 2210 if (t == null) 2211 return this; 2212 if (this.bodySite == null) 2213 this.bodySite = new ArrayList<CodeableConcept>(); 2214 this.bodySite.add(t); 2215 return this; 2216 } 2217 2218 /** 2219 * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist 2220 */ 2221 public CodeableConcept getBodySiteFirstRep() { 2222 if (getBodySite().isEmpty()) { 2223 addBodySite(); 2224 } 2225 return getBodySite().get(0); 2226 } 2227 2228 /** 2229 * @return {@link #note} (Any other notes and comments made about the service request. For example, letting provider know that "patient hates needles" or other provider instructions.) 2230 */ 2231 public List<Annotation> getNote() { 2232 if (this.note == null) 2233 this.note = new ArrayList<Annotation>(); 2234 return this.note; 2235 } 2236 2237 /** 2238 * @return Returns a reference to <code>this</code> for easy method chaining 2239 */ 2240 public ProcedureRequest setNote(List<Annotation> theNote) { 2241 this.note = theNote; 2242 return this; 2243 } 2244 2245 public boolean hasNote() { 2246 if (this.note == null) 2247 return false; 2248 for (Annotation item : this.note) 2249 if (!item.isEmpty()) 2250 return true; 2251 return false; 2252 } 2253 2254 public Annotation addNote() { //3 2255 Annotation t = new Annotation(); 2256 if (this.note == null) 2257 this.note = new ArrayList<Annotation>(); 2258 this.note.add(t); 2259 return t; 2260 } 2261 2262 public ProcedureRequest addNote(Annotation t) { //3 2263 if (t == null) 2264 return this; 2265 if (this.note == null) 2266 this.note = new ArrayList<Annotation>(); 2267 this.note.add(t); 2268 return this; 2269 } 2270 2271 /** 2272 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 2273 */ 2274 public Annotation getNoteFirstRep() { 2275 if (getNote().isEmpty()) { 2276 addNote(); 2277 } 2278 return getNote().get(0); 2279 } 2280 2281 /** 2282 * @return {@link #relevantHistory} (Key events in the history of the request.) 2283 */ 2284 public List<Reference> getRelevantHistory() { 2285 if (this.relevantHistory == null) 2286 this.relevantHistory = new ArrayList<Reference>(); 2287 return this.relevantHistory; 2288 } 2289 2290 /** 2291 * @return Returns a reference to <code>this</code> for easy method chaining 2292 */ 2293 public ProcedureRequest setRelevantHistory(List<Reference> theRelevantHistory) { 2294 this.relevantHistory = theRelevantHistory; 2295 return this; 2296 } 2297 2298 public boolean hasRelevantHistory() { 2299 if (this.relevantHistory == null) 2300 return false; 2301 for (Reference item : this.relevantHistory) 2302 if (!item.isEmpty()) 2303 return true; 2304 return false; 2305 } 2306 2307 public Reference addRelevantHistory() { //3 2308 Reference t = new Reference(); 2309 if (this.relevantHistory == null) 2310 this.relevantHistory = new ArrayList<Reference>(); 2311 this.relevantHistory.add(t); 2312 return t; 2313 } 2314 2315 public ProcedureRequest addRelevantHistory(Reference t) { //3 2316 if (t == null) 2317 return this; 2318 if (this.relevantHistory == null) 2319 this.relevantHistory = new ArrayList<Reference>(); 2320 this.relevantHistory.add(t); 2321 return this; 2322 } 2323 2324 /** 2325 * @return The first repetition of repeating field {@link #relevantHistory}, creating it if it does not already exist 2326 */ 2327 public Reference getRelevantHistoryFirstRep() { 2328 if (getRelevantHistory().isEmpty()) { 2329 addRelevantHistory(); 2330 } 2331 return getRelevantHistory().get(0); 2332 } 2333 2334 /** 2335 * @deprecated Use Reference#setResource(IBaseResource) instead 2336 */ 2337 @Deprecated 2338 public List<Provenance> getRelevantHistoryTarget() { 2339 if (this.relevantHistoryTarget == null) 2340 this.relevantHistoryTarget = new ArrayList<Provenance>(); 2341 return this.relevantHistoryTarget; 2342 } 2343 2344 /** 2345 * @deprecated Use Reference#setResource(IBaseResource) instead 2346 */ 2347 @Deprecated 2348 public Provenance addRelevantHistoryTarget() { 2349 Provenance r = new Provenance(); 2350 if (this.relevantHistoryTarget == null) 2351 this.relevantHistoryTarget = new ArrayList<Provenance>(); 2352 this.relevantHistoryTarget.add(r); 2353 return r; 2354 } 2355 2356 protected void listChildren(List<Property> children) { 2357 super.listChildren(children); 2358 children.add(new Property("identifier", "Identifier", "Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2359 children.add(new Property("definition", "Reference(ActivityDefinition|PlanDefinition)", "Protocol or definition followed by this request.", 0, java.lang.Integer.MAX_VALUE, definition)); 2360 children.add(new Property("basedOn", "Reference(Any)", "Plan/proposal/order fulfilled by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 2361 children.add(new Property("replaces", "Reference(Any)", "The request takes the place of the referenced completed or terminated request(s).", 0, java.lang.Integer.MAX_VALUE, replaces)); 2362 children.add(new Property("requisition", "Identifier", "A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.", 0, 1, requisition)); 2363 children.add(new Property("status", "code", "The status of the order.", 0, 1, status)); 2364 children.add(new Property("intent", "code", "Whether the request is a proposal, plan, an original order or a reflex order.", 0, 1, intent)); 2365 children.add(new Property("priority", "code", "Indicates how quickly the ProcedureRequest should be addressed with respect to other requests.", 0, 1, priority)); 2366 children.add(new Property("doNotPerform", "boolean", "Set this to true if the record is saying that the procedure should NOT be performed.", 0, 1, doNotPerform)); 2367 children.add(new Property("category", "CodeableConcept", "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, java.lang.Integer.MAX_VALUE, category)); 2368 children.add(new Property("code", "CodeableConcept", "A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested.", 0, 1, code)); 2369 children.add(new Property("subject", "Reference(Patient|Group|Location|Device)", "On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).", 0, 1, subject)); 2370 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "An encounter or episode of care that provides additional information about the healthcare context in which this request is made.", 0, 1, context)); 2371 children.add(new Property("occurrence[x]", "dateTime|Period|Timing", "The date/time at which the diagnostic testing should occur.", 0, 1, occurrence)); 2372 children.add(new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded)); 2373 children.add(new Property("authoredOn", "dateTime", "When the request transitioned to being actionable.", 0, 1, authoredOn)); 2374 children.add(new Property("requester", "", "The individual who initiated the request and has responsibility for its activation.", 0, 1, requester)); 2375 children.add(new Property("performerType", "CodeableConcept", "Desired type of performer for doing the diagnostic testing.", 0, 1, performerType)); 2376 children.add(new Property("performer", "Reference(Practitioner|Organization|Patient|Device|RelatedPerson|HealthcareService)", "The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.", 0, 1, performer)); 2377 children.add(new Property("reasonCode", "CodeableConcept", "An explanation or justification for why this diagnostic investigation is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformation.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 2378 children.add(new Property("reasonReference", "Reference(Condition|Observation)", "Indicates another resource that provides a justification for why this diagnostic investigation is being requested. May relate to the resources referred to in supportingInformation.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 2379 children.add(new Property("supportingInfo", "Reference(Any)", "Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 2380 children.add(new Property("specimen", "Reference(Specimen)", "One or more specimens that the laboratory procedure will use.", 0, java.lang.Integer.MAX_VALUE, specimen)); 2381 children.add(new Property("bodySite", "CodeableConcept", "Anatomic location where the procedure should be performed. This is the target site.", 0, java.lang.Integer.MAX_VALUE, bodySite)); 2382 children.add(new Property("note", "Annotation", "Any other notes and comments made about the service request. For example, letting provider know that \"patient hates needles\" or other provider instructions.", 0, java.lang.Integer.MAX_VALUE, note)); 2383 children.add(new Property("relevantHistory", "Reference(Provenance)", "Key events in the history of the request.", 0, java.lang.Integer.MAX_VALUE, relevantHistory)); 2384 } 2385 2386 @Override 2387 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2388 switch (_hash) { 2389 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.", 0, java.lang.Integer.MAX_VALUE, identifier); 2390 case -1014418093: /*definition*/ return new Property("definition", "Reference(ActivityDefinition|PlanDefinition)", "Protocol or definition followed by this request.", 0, java.lang.Integer.MAX_VALUE, definition); 2391 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "Plan/proposal/order fulfilled by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn); 2392 case -430332865: /*replaces*/ return new Property("replaces", "Reference(Any)", "The request takes the place of the referenced completed or terminated request(s).", 0, java.lang.Integer.MAX_VALUE, replaces); 2393 case 395923612: /*requisition*/ return new Property("requisition", "Identifier", "A shared identifier common to all procedure or diagnostic requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.", 0, 1, requisition); 2394 case -892481550: /*status*/ return new Property("status", "code", "The status of the order.", 0, 1, status); 2395 case -1183762788: /*intent*/ return new Property("intent", "code", "Whether the request is a proposal, plan, an original order or a reflex order.", 0, 1, intent); 2396 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the ProcedureRequest should be addressed with respect to other requests.", 0, 1, priority); 2397 case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "Set this to true if the record is saying that the procedure should NOT be performed.", 0, 1, doNotPerform); 2398 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, java.lang.Integer.MAX_VALUE, category); 2399 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies a particular procedure, diagnostic investigation, or panel of investigations, that have been requested.", 0, 1, code); 2400 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Location|Device)", "On whom or what the procedure or diagnostic is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).", 0, 1, subject); 2401 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "An encounter or episode of care that provides additional information about the healthcare context in which this request is made.", 0, 1, context); 2402 case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date/time at which the diagnostic testing should occur.", 0, 1, occurrence); 2403 case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date/time at which the diagnostic testing should occur.", 0, 1, occurrence); 2404 case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date/time at which the diagnostic testing should occur.", 0, 1, occurrence); 2405 case 1397156594: /*occurrencePeriod*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date/time at which the diagnostic testing should occur.", 0, 1, occurrence); 2406 case 1515218299: /*occurrenceTiming*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date/time at which the diagnostic testing should occur.", 0, 1, occurrence); 2407 case -544329575: /*asNeeded[x]*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); 2408 case -1432923513: /*asNeeded*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); 2409 case -591717471: /*asNeededBoolean*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); 2410 case 1556420122: /*asNeededCodeableConcept*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the procedure. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); 2411 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "When the request transitioned to being actionable.", 0, 1, authoredOn); 2412 case 693933948: /*requester*/ return new Property("requester", "", "The individual who initiated the request and has responsibility for its activation.", 0, 1, requester); 2413 case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "Desired type of performer for doing the diagnostic testing.", 0, 1, performerType); 2414 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|Organization|Patient|Device|RelatedPerson|HealthcareService)", "The desired perfomer for doing the diagnostic testing. For example, the surgeon, dermatopathologist, endoscopist, etc.", 0, 1, performer); 2415 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "An explanation or justification for why this diagnostic investigation is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformation.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 2416 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation)", "Indicates another resource that provides a justification for why this diagnostic investigation is being requested. May relate to the resources referred to in supportingInformation.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 2417 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "Reference(Any)", "Additional clinical information about the patient or specimen that may influence the procedure or diagnostics or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 2418 case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "One or more specimens that the laboratory procedure will use.", 0, java.lang.Integer.MAX_VALUE, specimen); 2419 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Anatomic location where the procedure should be performed. This is the target site.", 0, java.lang.Integer.MAX_VALUE, bodySite); 2420 case 3387378: /*note*/ return new Property("note", "Annotation", "Any other notes and comments made about the service request. For example, letting provider know that \"patient hates needles\" or other provider instructions.", 0, java.lang.Integer.MAX_VALUE, note); 2421 case 1538891575: /*relevantHistory*/ return new Property("relevantHistory", "Reference(Provenance)", "Key events in the history of the request.", 0, java.lang.Integer.MAX_VALUE, relevantHistory); 2422 default: return super.getNamedProperty(_hash, _name, _checkValid); 2423 } 2424 2425 } 2426 2427 @Override 2428 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2429 switch (hash) { 2430 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2431 case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : this.definition.toArray(new Base[this.definition.size()]); // Reference 2432 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 2433 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 2434 case 395923612: /*requisition*/ return this.requisition == null ? new Base[0] : new Base[] {this.requisition}; // Identifier 2435 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ProcedureRequestStatus> 2436 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<ProcedureRequestIntent> 2437 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<ProcedureRequestPriority> 2438 case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType 2439 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 2440 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 2441 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 2442 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 2443 case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // Type 2444 case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // Type 2445 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 2446 case 693933948: /*requester*/ return this.requester == null ? new Base[0] : new Base[] {this.requester}; // ProcedureRequestRequesterComponent 2447 case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : new Base[] {this.performerType}; // CodeableConcept 2448 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 2449 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 2450 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 2451 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference 2452 case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : this.specimen.toArray(new Base[this.specimen.size()]); // Reference 2453 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept 2454 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 2455 case 1538891575: /*relevantHistory*/ return this.relevantHistory == null ? new Base[0] : this.relevantHistory.toArray(new Base[this.relevantHistory.size()]); // Reference 2456 default: return super.getProperty(hash, name, checkValid); 2457 } 2458 2459 } 2460 2461 @Override 2462 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2463 switch (hash) { 2464 case -1618432855: // identifier 2465 this.getIdentifier().add(castToIdentifier(value)); // Identifier 2466 return value; 2467 case -1014418093: // definition 2468 this.getDefinition().add(castToReference(value)); // Reference 2469 return value; 2470 case -332612366: // basedOn 2471 this.getBasedOn().add(castToReference(value)); // Reference 2472 return value; 2473 case -430332865: // replaces 2474 this.getReplaces().add(castToReference(value)); // Reference 2475 return value; 2476 case 395923612: // requisition 2477 this.requisition = castToIdentifier(value); // Identifier 2478 return value; 2479 case -892481550: // status 2480 value = new ProcedureRequestStatusEnumFactory().fromType(castToCode(value)); 2481 this.status = (Enumeration) value; // Enumeration<ProcedureRequestStatus> 2482 return value; 2483 case -1183762788: // intent 2484 value = new ProcedureRequestIntentEnumFactory().fromType(castToCode(value)); 2485 this.intent = (Enumeration) value; // Enumeration<ProcedureRequestIntent> 2486 return value; 2487 case -1165461084: // priority 2488 value = new ProcedureRequestPriorityEnumFactory().fromType(castToCode(value)); 2489 this.priority = (Enumeration) value; // Enumeration<ProcedureRequestPriority> 2490 return value; 2491 case -1788508167: // doNotPerform 2492 this.doNotPerform = castToBoolean(value); // BooleanType 2493 return value; 2494 case 50511102: // category 2495 this.getCategory().add(castToCodeableConcept(value)); // CodeableConcept 2496 return value; 2497 case 3059181: // code 2498 this.code = castToCodeableConcept(value); // CodeableConcept 2499 return value; 2500 case -1867885268: // subject 2501 this.subject = castToReference(value); // Reference 2502 return value; 2503 case 951530927: // context 2504 this.context = castToReference(value); // Reference 2505 return value; 2506 case 1687874001: // occurrence 2507 this.occurrence = castToType(value); // Type 2508 return value; 2509 case -1432923513: // asNeeded 2510 this.asNeeded = castToType(value); // Type 2511 return value; 2512 case -1500852503: // authoredOn 2513 this.authoredOn = castToDateTime(value); // DateTimeType 2514 return value; 2515 case 693933948: // requester 2516 this.requester = (ProcedureRequestRequesterComponent) value; // ProcedureRequestRequesterComponent 2517 return value; 2518 case -901444568: // performerType 2519 this.performerType = castToCodeableConcept(value); // CodeableConcept 2520 return value; 2521 case 481140686: // performer 2522 this.performer = castToReference(value); // Reference 2523 return value; 2524 case 722137681: // reasonCode 2525 this.getReasonCode().add(castToCodeableConcept(value)); // CodeableConcept 2526 return value; 2527 case -1146218137: // reasonReference 2528 this.getReasonReference().add(castToReference(value)); // Reference 2529 return value; 2530 case 1922406657: // supportingInfo 2531 this.getSupportingInfo().add(castToReference(value)); // Reference 2532 return value; 2533 case -2132868344: // specimen 2534 this.getSpecimen().add(castToReference(value)); // Reference 2535 return value; 2536 case 1702620169: // bodySite 2537 this.getBodySite().add(castToCodeableConcept(value)); // CodeableConcept 2538 return value; 2539 case 3387378: // note 2540 this.getNote().add(castToAnnotation(value)); // Annotation 2541 return value; 2542 case 1538891575: // relevantHistory 2543 this.getRelevantHistory().add(castToReference(value)); // Reference 2544 return value; 2545 default: return super.setProperty(hash, name, value); 2546 } 2547 2548 } 2549 2550 @Override 2551 public Base setProperty(String name, Base value) throws FHIRException { 2552 if (name.equals("identifier")) { 2553 this.getIdentifier().add(castToIdentifier(value)); 2554 } else if (name.equals("definition")) { 2555 this.getDefinition().add(castToReference(value)); 2556 } else if (name.equals("basedOn")) { 2557 this.getBasedOn().add(castToReference(value)); 2558 } else if (name.equals("replaces")) { 2559 this.getReplaces().add(castToReference(value)); 2560 } else if (name.equals("requisition")) { 2561 this.requisition = castToIdentifier(value); // Identifier 2562 } else if (name.equals("status")) { 2563 value = new ProcedureRequestStatusEnumFactory().fromType(castToCode(value)); 2564 this.status = (Enumeration) value; // Enumeration<ProcedureRequestStatus> 2565 } else if (name.equals("intent")) { 2566 value = new ProcedureRequestIntentEnumFactory().fromType(castToCode(value)); 2567 this.intent = (Enumeration) value; // Enumeration<ProcedureRequestIntent> 2568 } else if (name.equals("priority")) { 2569 value = new ProcedureRequestPriorityEnumFactory().fromType(castToCode(value)); 2570 this.priority = (Enumeration) value; // Enumeration<ProcedureRequestPriority> 2571 } else if (name.equals("doNotPerform")) { 2572 this.doNotPerform = castToBoolean(value); // BooleanType 2573 } else if (name.equals("category")) { 2574 this.getCategory().add(castToCodeableConcept(value)); 2575 } else if (name.equals("code")) { 2576 this.code = castToCodeableConcept(value); // CodeableConcept 2577 } else if (name.equals("subject")) { 2578 this.subject = castToReference(value); // Reference 2579 } else if (name.equals("context")) { 2580 this.context = castToReference(value); // Reference 2581 } else if (name.equals("occurrence[x]")) { 2582 this.occurrence = castToType(value); // Type 2583 } else if (name.equals("asNeeded[x]")) { 2584 this.asNeeded = castToType(value); // Type 2585 } else if (name.equals("authoredOn")) { 2586 this.authoredOn = castToDateTime(value); // DateTimeType 2587 } else if (name.equals("requester")) { 2588 this.requester = (ProcedureRequestRequesterComponent) value; // ProcedureRequestRequesterComponent 2589 } else if (name.equals("performerType")) { 2590 this.performerType = castToCodeableConcept(value); // CodeableConcept 2591 } else if (name.equals("performer")) { 2592 this.performer = castToReference(value); // Reference 2593 } else if (name.equals("reasonCode")) { 2594 this.getReasonCode().add(castToCodeableConcept(value)); 2595 } else if (name.equals("reasonReference")) { 2596 this.getReasonReference().add(castToReference(value)); 2597 } else if (name.equals("supportingInfo")) { 2598 this.getSupportingInfo().add(castToReference(value)); 2599 } else if (name.equals("specimen")) { 2600 this.getSpecimen().add(castToReference(value)); 2601 } else if (name.equals("bodySite")) { 2602 this.getBodySite().add(castToCodeableConcept(value)); 2603 } else if (name.equals("note")) { 2604 this.getNote().add(castToAnnotation(value)); 2605 } else if (name.equals("relevantHistory")) { 2606 this.getRelevantHistory().add(castToReference(value)); 2607 } else 2608 return super.setProperty(name, value); 2609 return value; 2610 } 2611 2612 @Override 2613 public Base makeProperty(int hash, String name) throws FHIRException { 2614 switch (hash) { 2615 case -1618432855: return addIdentifier(); 2616 case -1014418093: return addDefinition(); 2617 case -332612366: return addBasedOn(); 2618 case -430332865: return addReplaces(); 2619 case 395923612: return getRequisition(); 2620 case -892481550: return getStatusElement(); 2621 case -1183762788: return getIntentElement(); 2622 case -1165461084: return getPriorityElement(); 2623 case -1788508167: return getDoNotPerformElement(); 2624 case 50511102: return addCategory(); 2625 case 3059181: return getCode(); 2626 case -1867885268: return getSubject(); 2627 case 951530927: return getContext(); 2628 case -2022646513: return getOccurrence(); 2629 case 1687874001: return getOccurrence(); 2630 case -544329575: return getAsNeeded(); 2631 case -1432923513: return getAsNeeded(); 2632 case -1500852503: return getAuthoredOnElement(); 2633 case 693933948: return getRequester(); 2634 case -901444568: return getPerformerType(); 2635 case 481140686: return getPerformer(); 2636 case 722137681: return addReasonCode(); 2637 case -1146218137: return addReasonReference(); 2638 case 1922406657: return addSupportingInfo(); 2639 case -2132868344: return addSpecimen(); 2640 case 1702620169: return addBodySite(); 2641 case 3387378: return addNote(); 2642 case 1538891575: return addRelevantHistory(); 2643 default: return super.makeProperty(hash, name); 2644 } 2645 2646 } 2647 2648 @Override 2649 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2650 switch (hash) { 2651 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2652 case -1014418093: /*definition*/ return new String[] {"Reference"}; 2653 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 2654 case -430332865: /*replaces*/ return new String[] {"Reference"}; 2655 case 395923612: /*requisition*/ return new String[] {"Identifier"}; 2656 case -892481550: /*status*/ return new String[] {"code"}; 2657 case -1183762788: /*intent*/ return new String[] {"code"}; 2658 case -1165461084: /*priority*/ return new String[] {"code"}; 2659 case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; 2660 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 2661 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 2662 case -1867885268: /*subject*/ return new String[] {"Reference"}; 2663 case 951530927: /*context*/ return new String[] {"Reference"}; 2664 case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period", "Timing"}; 2665 case -1432923513: /*asNeeded*/ return new String[] {"boolean", "CodeableConcept"}; 2666 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 2667 case 693933948: /*requester*/ return new String[] {}; 2668 case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; 2669 case 481140686: /*performer*/ return new String[] {"Reference"}; 2670 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 2671 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 2672 case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; 2673 case -2132868344: /*specimen*/ return new String[] {"Reference"}; 2674 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 2675 case 3387378: /*note*/ return new String[] {"Annotation"}; 2676 case 1538891575: /*relevantHistory*/ return new String[] {"Reference"}; 2677 default: return super.getTypesForProperty(hash, name); 2678 } 2679 2680 } 2681 2682 @Override 2683 public Base addChild(String name) throws FHIRException { 2684 if (name.equals("identifier")) { 2685 return addIdentifier(); 2686 } 2687 else if (name.equals("definition")) { 2688 return addDefinition(); 2689 } 2690 else if (name.equals("basedOn")) { 2691 return addBasedOn(); 2692 } 2693 else if (name.equals("replaces")) { 2694 return addReplaces(); 2695 } 2696 else if (name.equals("requisition")) { 2697 this.requisition = new Identifier(); 2698 return this.requisition; 2699 } 2700 else if (name.equals("status")) { 2701 throw new FHIRException("Cannot call addChild on a singleton property ProcedureRequest.status"); 2702 } 2703 else if (name.equals("intent")) { 2704 throw new FHIRException("Cannot call addChild on a singleton property ProcedureRequest.intent"); 2705 } 2706 else if (name.equals("priority")) { 2707 throw new FHIRException("Cannot call addChild on a singleton property ProcedureRequest.priority"); 2708 } 2709 else if (name.equals("doNotPerform")) { 2710 throw new FHIRException("Cannot call addChild on a singleton property ProcedureRequest.doNotPerform"); 2711 } 2712 else if (name.equals("category")) { 2713 return addCategory(); 2714 } 2715 else if (name.equals("code")) { 2716 this.code = new CodeableConcept(); 2717 return this.code; 2718 } 2719 else if (name.equals("subject")) { 2720 this.subject = new Reference(); 2721 return this.subject; 2722 } 2723 else if (name.equals("context")) { 2724 this.context = new Reference(); 2725 return this.context; 2726 } 2727 else if (name.equals("occurrenceDateTime")) { 2728 this.occurrence = new DateTimeType(); 2729 return this.occurrence; 2730 } 2731 else if (name.equals("occurrencePeriod")) { 2732 this.occurrence = new Period(); 2733 return this.occurrence; 2734 } 2735 else if (name.equals("occurrenceTiming")) { 2736 this.occurrence = new Timing(); 2737 return this.occurrence; 2738 } 2739 else if (name.equals("asNeededBoolean")) { 2740 this.asNeeded = new BooleanType(); 2741 return this.asNeeded; 2742 } 2743 else if (name.equals("asNeededCodeableConcept")) { 2744 this.asNeeded = new CodeableConcept(); 2745 return this.asNeeded; 2746 } 2747 else if (name.equals("authoredOn")) { 2748 throw new FHIRException("Cannot call addChild on a singleton property ProcedureRequest.authoredOn"); 2749 } 2750 else if (name.equals("requester")) { 2751 this.requester = new ProcedureRequestRequesterComponent(); 2752 return this.requester; 2753 } 2754 else if (name.equals("performerType")) { 2755 this.performerType = new CodeableConcept(); 2756 return this.performerType; 2757 } 2758 else if (name.equals("performer")) { 2759 this.performer = new Reference(); 2760 return this.performer; 2761 } 2762 else if (name.equals("reasonCode")) { 2763 return addReasonCode(); 2764 } 2765 else if (name.equals("reasonReference")) { 2766 return addReasonReference(); 2767 } 2768 else if (name.equals("supportingInfo")) { 2769 return addSupportingInfo(); 2770 } 2771 else if (name.equals("specimen")) { 2772 return addSpecimen(); 2773 } 2774 else if (name.equals("bodySite")) { 2775 return addBodySite(); 2776 } 2777 else if (name.equals("note")) { 2778 return addNote(); 2779 } 2780 else if (name.equals("relevantHistory")) { 2781 return addRelevantHistory(); 2782 } 2783 else 2784 return super.addChild(name); 2785 } 2786 2787 public String fhirType() { 2788 return "ProcedureRequest"; 2789 2790 } 2791 2792 public ProcedureRequest copy() { 2793 ProcedureRequest dst = new ProcedureRequest(); 2794 copyValues(dst); 2795 if (identifier != null) { 2796 dst.identifier = new ArrayList<Identifier>(); 2797 for (Identifier i : identifier) 2798 dst.identifier.add(i.copy()); 2799 }; 2800 if (definition != null) { 2801 dst.definition = new ArrayList<Reference>(); 2802 for (Reference i : definition) 2803 dst.definition.add(i.copy()); 2804 }; 2805 if (basedOn != null) { 2806 dst.basedOn = new ArrayList<Reference>(); 2807 for (Reference i : basedOn) 2808 dst.basedOn.add(i.copy()); 2809 }; 2810 if (replaces != null) { 2811 dst.replaces = new ArrayList<Reference>(); 2812 for (Reference i : replaces) 2813 dst.replaces.add(i.copy()); 2814 }; 2815 dst.requisition = requisition == null ? null : requisition.copy(); 2816 dst.status = status == null ? null : status.copy(); 2817 dst.intent = intent == null ? null : intent.copy(); 2818 dst.priority = priority == null ? null : priority.copy(); 2819 dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); 2820 if (category != null) { 2821 dst.category = new ArrayList<CodeableConcept>(); 2822 for (CodeableConcept i : category) 2823 dst.category.add(i.copy()); 2824 }; 2825 dst.code = code == null ? null : code.copy(); 2826 dst.subject = subject == null ? null : subject.copy(); 2827 dst.context = context == null ? null : context.copy(); 2828 dst.occurrence = occurrence == null ? null : occurrence.copy(); 2829 dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); 2830 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 2831 dst.requester = requester == null ? null : requester.copy(); 2832 dst.performerType = performerType == null ? null : performerType.copy(); 2833 dst.performer = performer == null ? null : performer.copy(); 2834 if (reasonCode != null) { 2835 dst.reasonCode = new ArrayList<CodeableConcept>(); 2836 for (CodeableConcept i : reasonCode) 2837 dst.reasonCode.add(i.copy()); 2838 }; 2839 if (reasonReference != null) { 2840 dst.reasonReference = new ArrayList<Reference>(); 2841 for (Reference i : reasonReference) 2842 dst.reasonReference.add(i.copy()); 2843 }; 2844 if (supportingInfo != null) { 2845 dst.supportingInfo = new ArrayList<Reference>(); 2846 for (Reference i : supportingInfo) 2847 dst.supportingInfo.add(i.copy()); 2848 }; 2849 if (specimen != null) { 2850 dst.specimen = new ArrayList<Reference>(); 2851 for (Reference i : specimen) 2852 dst.specimen.add(i.copy()); 2853 }; 2854 if (bodySite != null) { 2855 dst.bodySite = new ArrayList<CodeableConcept>(); 2856 for (CodeableConcept i : bodySite) 2857 dst.bodySite.add(i.copy()); 2858 }; 2859 if (note != null) { 2860 dst.note = new ArrayList<Annotation>(); 2861 for (Annotation i : note) 2862 dst.note.add(i.copy()); 2863 }; 2864 if (relevantHistory != null) { 2865 dst.relevantHistory = new ArrayList<Reference>(); 2866 for (Reference i : relevantHistory) 2867 dst.relevantHistory.add(i.copy()); 2868 }; 2869 return dst; 2870 } 2871 2872 protected ProcedureRequest typedCopy() { 2873 return copy(); 2874 } 2875 2876 @Override 2877 public boolean equalsDeep(Base other_) { 2878 if (!super.equalsDeep(other_)) 2879 return false; 2880 if (!(other_ instanceof ProcedureRequest)) 2881 return false; 2882 ProcedureRequest o = (ProcedureRequest) other_; 2883 return compareDeep(identifier, o.identifier, true) && compareDeep(definition, o.definition, true) 2884 && compareDeep(basedOn, o.basedOn, true) && compareDeep(replaces, o.replaces, true) && compareDeep(requisition, o.requisition, true) 2885 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 2886 && compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(category, o.category, true) && compareDeep(code, o.code, true) 2887 && compareDeep(subject, o.subject, true) && compareDeep(context, o.context, true) && compareDeep(occurrence, o.occurrence, true) 2888 && compareDeep(asNeeded, o.asNeeded, true) && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(requester, o.requester, true) 2889 && compareDeep(performerType, o.performerType, true) && compareDeep(performer, o.performer, true) 2890 && compareDeep(reasonCode, o.reasonCode, true) && compareDeep(reasonReference, o.reasonReference, true) 2891 && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(specimen, o.specimen, true) 2892 && compareDeep(bodySite, o.bodySite, true) && compareDeep(note, o.note, true) && compareDeep(relevantHistory, o.relevantHistory, true) 2893 ; 2894 } 2895 2896 @Override 2897 public boolean equalsShallow(Base other_) { 2898 if (!super.equalsShallow(other_)) 2899 return false; 2900 if (!(other_ instanceof ProcedureRequest)) 2901 return false; 2902 ProcedureRequest o = (ProcedureRequest) other_; 2903 return compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 2904 && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(authoredOn, o.authoredOn, true) 2905 ; 2906 } 2907 2908 public boolean isEmpty() { 2909 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, definition, basedOn 2910 , replaces, requisition, status, intent, priority, doNotPerform, category, code 2911 , subject, context, occurrence, asNeeded, authoredOn, requester, performerType 2912 , performer, reasonCode, reasonReference, supportingInfo, specimen, bodySite, note 2913 , relevantHistory); 2914 } 2915 2916 @Override 2917 public ResourceType getResourceType() { 2918 return ResourceType.ProcedureRequest; 2919 } 2920 2921 /** 2922 * Search parameter: <b>authored</b> 2923 * <p> 2924 * Description: <b>Date request signed</b><br> 2925 * Type: <b>date</b><br> 2926 * Path: <b>ProcedureRequest.authoredOn</b><br> 2927 * </p> 2928 */ 2929 @SearchParamDefinition(name="authored", path="ProcedureRequest.authoredOn", description="Date request signed", type="date" ) 2930 public static final String SP_AUTHORED = "authored"; 2931 /** 2932 * <b>Fluent Client</b> search parameter constant for <b>authored</b> 2933 * <p> 2934 * Description: <b>Date request signed</b><br> 2935 * Type: <b>date</b><br> 2936 * Path: <b>ProcedureRequest.authoredOn</b><br> 2937 * </p> 2938 */ 2939 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); 2940 2941 /** 2942 * Search parameter: <b>requester</b> 2943 * <p> 2944 * Description: <b>Individual making the request</b><br> 2945 * Type: <b>reference</b><br> 2946 * Path: <b>ProcedureRequest.requester.agent</b><br> 2947 * </p> 2948 */ 2949 @SearchParamDefinition(name="requester", path="ProcedureRequest.requester.agent", description="Individual making the request", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Device.class, Organization.class, Practitioner.class } ) 2950 public static final String SP_REQUESTER = "requester"; 2951 /** 2952 * <b>Fluent Client</b> search parameter constant for <b>requester</b> 2953 * <p> 2954 * Description: <b>Individual making the request</b><br> 2955 * Type: <b>reference</b><br> 2956 * Path: <b>ProcedureRequest.requester.agent</b><br> 2957 * </p> 2958 */ 2959 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUESTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUESTER); 2960 2961/** 2962 * Constant for fluent queries to be used to add include statements. Specifies 2963 * the path value of "<b>ProcedureRequest:requester</b>". 2964 */ 2965 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUESTER = new ca.uhn.fhir.model.api.Include("ProcedureRequest:requester").toLocked(); 2966 2967 /** 2968 * Search parameter: <b>identifier</b> 2969 * <p> 2970 * Description: <b>Identifiers assigned to this order</b><br> 2971 * Type: <b>token</b><br> 2972 * Path: <b>ProcedureRequest.identifier</b><br> 2973 * </p> 2974 */ 2975 @SearchParamDefinition(name="identifier", path="ProcedureRequest.identifier", description="Identifiers assigned to this order", type="token" ) 2976 public static final String SP_IDENTIFIER = "identifier"; 2977 /** 2978 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2979 * <p> 2980 * Description: <b>Identifiers assigned to this order</b><br> 2981 * Type: <b>token</b><br> 2982 * Path: <b>ProcedureRequest.identifier</b><br> 2983 * </p> 2984 */ 2985 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2986 2987 /** 2988 * Search parameter: <b>code</b> 2989 * <p> 2990 * Description: <b>What is being requested/ordered</b><br> 2991 * Type: <b>token</b><br> 2992 * Path: <b>ProcedureRequest.code</b><br> 2993 * </p> 2994 */ 2995 @SearchParamDefinition(name="code", path="ProcedureRequest.code", description="What is being requested/ordered", type="token" ) 2996 public static final String SP_CODE = "code"; 2997 /** 2998 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2999 * <p> 3000 * Description: <b>What is being requested/ordered</b><br> 3001 * Type: <b>token</b><br> 3002 * Path: <b>ProcedureRequest.code</b><br> 3003 * </p> 3004 */ 3005 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 3006 3007 /** 3008 * Search parameter: <b>performer</b> 3009 * <p> 3010 * Description: <b>Requested perfomer</b><br> 3011 * Type: <b>reference</b><br> 3012 * Path: <b>ProcedureRequest.performer</b><br> 3013 * </p> 3014 */ 3015 @SearchParamDefinition(name="performer", path="ProcedureRequest.performer", description="Requested perfomer", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @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={Device.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, RelatedPerson.class } ) 3016 public static final String SP_PERFORMER = "performer"; 3017 /** 3018 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 3019 * <p> 3020 * Description: <b>Requested perfomer</b><br> 3021 * Type: <b>reference</b><br> 3022 * Path: <b>ProcedureRequest.performer</b><br> 3023 * </p> 3024 */ 3025 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 3026 3027/** 3028 * Constant for fluent queries to be used to add include statements. Specifies 3029 * the path value of "<b>ProcedureRequest:performer</b>". 3030 */ 3031 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("ProcedureRequest:performer").toLocked(); 3032 3033 /** 3034 * Search parameter: <b>requisition</b> 3035 * <p> 3036 * Description: <b>Composite Request ID</b><br> 3037 * Type: <b>token</b><br> 3038 * Path: <b>ProcedureRequest.requisition</b><br> 3039 * </p> 3040 */ 3041 @SearchParamDefinition(name="requisition", path="ProcedureRequest.requisition", description="Composite Request ID", type="token" ) 3042 public static final String SP_REQUISITION = "requisition"; 3043 /** 3044 * <b>Fluent Client</b> search parameter constant for <b>requisition</b> 3045 * <p> 3046 * Description: <b>Composite Request ID</b><br> 3047 * Type: <b>token</b><br> 3048 * Path: <b>ProcedureRequest.requisition</b><br> 3049 * </p> 3050 */ 3051 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REQUISITION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REQUISITION); 3052 3053 /** 3054 * Search parameter: <b>replaces</b> 3055 * <p> 3056 * Description: <b>What request replaces</b><br> 3057 * Type: <b>reference</b><br> 3058 * Path: <b>ProcedureRequest.replaces</b><br> 3059 * </p> 3060 */ 3061 @SearchParamDefinition(name="replaces", path="ProcedureRequest.replaces", description="What request replaces", type="reference" ) 3062 public static final String SP_REPLACES = "replaces"; 3063 /** 3064 * <b>Fluent Client</b> search parameter constant for <b>replaces</b> 3065 * <p> 3066 * Description: <b>What request replaces</b><br> 3067 * Type: <b>reference</b><br> 3068 * Path: <b>ProcedureRequest.replaces</b><br> 3069 * </p> 3070 */ 3071 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REPLACES = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REPLACES); 3072 3073/** 3074 * Constant for fluent queries to be used to add include statements. Specifies 3075 * the path value of "<b>ProcedureRequest:replaces</b>". 3076 */ 3077 public static final ca.uhn.fhir.model.api.Include INCLUDE_REPLACES = new ca.uhn.fhir.model.api.Include("ProcedureRequest:replaces").toLocked(); 3078 3079 /** 3080 * Search parameter: <b>subject</b> 3081 * <p> 3082 * Description: <b>Search by subject</b><br> 3083 * Type: <b>reference</b><br> 3084 * Path: <b>ProcedureRequest.subject</b><br> 3085 * </p> 3086 */ 3087 @SearchParamDefinition(name="subject", path="ProcedureRequest.subject", description="Search by subject", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Device.class, Group.class, Location.class, Patient.class } ) 3088 public static final String SP_SUBJECT = "subject"; 3089 /** 3090 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 3091 * <p> 3092 * Description: <b>Search by subject</b><br> 3093 * Type: <b>reference</b><br> 3094 * Path: <b>ProcedureRequest.subject</b><br> 3095 * </p> 3096 */ 3097 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 3098 3099/** 3100 * Constant for fluent queries to be used to add include statements. Specifies 3101 * the path value of "<b>ProcedureRequest:subject</b>". 3102 */ 3103 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("ProcedureRequest:subject").toLocked(); 3104 3105 /** 3106 * Search parameter: <b>encounter</b> 3107 * <p> 3108 * Description: <b>An encounter in which this request is made</b><br> 3109 * Type: <b>reference</b><br> 3110 * Path: <b>ProcedureRequest.context</b><br> 3111 * </p> 3112 */ 3113 @SearchParamDefinition(name="encounter", path="ProcedureRequest.context", description="An encounter in which this request is made", type="reference", target={Encounter.class } ) 3114 public static final String SP_ENCOUNTER = "encounter"; 3115 /** 3116 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 3117 * <p> 3118 * Description: <b>An encounter in which this request is made</b><br> 3119 * Type: <b>reference</b><br> 3120 * Path: <b>ProcedureRequest.context</b><br> 3121 * </p> 3122 */ 3123 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 3124 3125/** 3126 * Constant for fluent queries to be used to add include statements. Specifies 3127 * the path value of "<b>ProcedureRequest:encounter</b>". 3128 */ 3129 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("ProcedureRequest:encounter").toLocked(); 3130 3131 /** 3132 * Search parameter: <b>occurrence</b> 3133 * <p> 3134 * Description: <b>When procedure should occur</b><br> 3135 * Type: <b>date</b><br> 3136 * Path: <b>ProcedureRequest.occurrence[x]</b><br> 3137 * </p> 3138 */ 3139 @SearchParamDefinition(name="occurrence", path="ProcedureRequest.occurrence", description="When procedure should occur", type="date" ) 3140 public static final String SP_OCCURRENCE = "occurrence"; 3141 /** 3142 * <b>Fluent Client</b> search parameter constant for <b>occurrence</b> 3143 * <p> 3144 * Description: <b>When procedure should occur</b><br> 3145 * Type: <b>date</b><br> 3146 * Path: <b>ProcedureRequest.occurrence[x]</b><br> 3147 * </p> 3148 */ 3149 public static final ca.uhn.fhir.rest.gclient.DateClientParam OCCURRENCE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_OCCURRENCE); 3150 3151 /** 3152 * Search parameter: <b>priority</b> 3153 * <p> 3154 * Description: <b>routine | urgent | asap | stat</b><br> 3155 * Type: <b>token</b><br> 3156 * Path: <b>ProcedureRequest.priority</b><br> 3157 * </p> 3158 */ 3159 @SearchParamDefinition(name="priority", path="ProcedureRequest.priority", description="routine | urgent | asap | stat", type="token" ) 3160 public static final String SP_PRIORITY = "priority"; 3161 /** 3162 * <b>Fluent Client</b> search parameter constant for <b>priority</b> 3163 * <p> 3164 * Description: <b>routine | urgent | asap | stat</b><br> 3165 * Type: <b>token</b><br> 3166 * Path: <b>ProcedureRequest.priority</b><br> 3167 * </p> 3168 */ 3169 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); 3170 3171 /** 3172 * Search parameter: <b>intent</b> 3173 * <p> 3174 * Description: <b>proposal | plan | order +</b><br> 3175 * Type: <b>token</b><br> 3176 * Path: <b>ProcedureRequest.intent</b><br> 3177 * </p> 3178 */ 3179 @SearchParamDefinition(name="intent", path="ProcedureRequest.intent", description="proposal | plan | order +", type="token" ) 3180 public static final String SP_INTENT = "intent"; 3181 /** 3182 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 3183 * <p> 3184 * Description: <b>proposal | plan | order +</b><br> 3185 * Type: <b>token</b><br> 3186 * Path: <b>ProcedureRequest.intent</b><br> 3187 * </p> 3188 */ 3189 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 3190 3191 /** 3192 * Search parameter: <b>performer-type</b> 3193 * <p> 3194 * Description: <b>Performer role</b><br> 3195 * Type: <b>token</b><br> 3196 * Path: <b>ProcedureRequest.performerType</b><br> 3197 * </p> 3198 */ 3199 @SearchParamDefinition(name="performer-type", path="ProcedureRequest.performerType", description="Performer role", type="token" ) 3200 public static final String SP_PERFORMER_TYPE = "performer-type"; 3201 /** 3202 * <b>Fluent Client</b> search parameter constant for <b>performer-type</b> 3203 * <p> 3204 * Description: <b>Performer role</b><br> 3205 * Type: <b>token</b><br> 3206 * Path: <b>ProcedureRequest.performerType</b><br> 3207 * </p> 3208 */ 3209 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PERFORMER_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PERFORMER_TYPE); 3210 3211 /** 3212 * Search parameter: <b>based-on</b> 3213 * <p> 3214 * Description: <b>What request fulfills</b><br> 3215 * Type: <b>reference</b><br> 3216 * Path: <b>ProcedureRequest.basedOn</b><br> 3217 * </p> 3218 */ 3219 @SearchParamDefinition(name="based-on", path="ProcedureRequest.basedOn", description="What request fulfills", type="reference" ) 3220 public static final String SP_BASED_ON = "based-on"; 3221 /** 3222 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 3223 * <p> 3224 * Description: <b>What request fulfills</b><br> 3225 * Type: <b>reference</b><br> 3226 * Path: <b>ProcedureRequest.basedOn</b><br> 3227 * </p> 3228 */ 3229 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 3230 3231/** 3232 * Constant for fluent queries to be used to add include statements. Specifies 3233 * the path value of "<b>ProcedureRequest:based-on</b>". 3234 */ 3235 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("ProcedureRequest:based-on").toLocked(); 3236 3237 /** 3238 * Search parameter: <b>patient</b> 3239 * <p> 3240 * Description: <b>Search by subject - a patient</b><br> 3241 * Type: <b>reference</b><br> 3242 * Path: <b>ProcedureRequest.subject</b><br> 3243 * </p> 3244 */ 3245 @SearchParamDefinition(name="patient", path="ProcedureRequest.subject", description="Search by subject - a patient", type="reference", target={Patient.class } ) 3246 public static final String SP_PATIENT = "patient"; 3247 /** 3248 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3249 * <p> 3250 * Description: <b>Search by subject - a patient</b><br> 3251 * Type: <b>reference</b><br> 3252 * Path: <b>ProcedureRequest.subject</b><br> 3253 * </p> 3254 */ 3255 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3256 3257/** 3258 * Constant for fluent queries to be used to add include statements. Specifies 3259 * the path value of "<b>ProcedureRequest:patient</b>". 3260 */ 3261 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ProcedureRequest:patient").toLocked(); 3262 3263 /** 3264 * Search parameter: <b>specimen</b> 3265 * <p> 3266 * Description: <b>Specimen to be tested</b><br> 3267 * Type: <b>reference</b><br> 3268 * Path: <b>ProcedureRequest.specimen</b><br> 3269 * </p> 3270 */ 3271 @SearchParamDefinition(name="specimen", path="ProcedureRequest.specimen", description="Specimen to be tested", type="reference", target={Specimen.class } ) 3272 public static final String SP_SPECIMEN = "specimen"; 3273 /** 3274 * <b>Fluent Client</b> search parameter constant for <b>specimen</b> 3275 * <p> 3276 * Description: <b>Specimen to be tested</b><br> 3277 * Type: <b>reference</b><br> 3278 * Path: <b>ProcedureRequest.specimen</b><br> 3279 * </p> 3280 */ 3281 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SPECIMEN = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SPECIMEN); 3282 3283/** 3284 * Constant for fluent queries to be used to add include statements. Specifies 3285 * the path value of "<b>ProcedureRequest:specimen</b>". 3286 */ 3287 public static final ca.uhn.fhir.model.api.Include INCLUDE_SPECIMEN = new ca.uhn.fhir.model.api.Include("ProcedureRequest:specimen").toLocked(); 3288 3289 /** 3290 * Search parameter: <b>context</b> 3291 * <p> 3292 * Description: <b>Encounter or Episode during which request was created</b><br> 3293 * Type: <b>reference</b><br> 3294 * Path: <b>ProcedureRequest.context</b><br> 3295 * </p> 3296 */ 3297 @SearchParamDefinition(name="context", path="ProcedureRequest.context", description="Encounter or Episode during which request was created", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Encounter") }, target={Encounter.class, EpisodeOfCare.class } ) 3298 public static final String SP_CONTEXT = "context"; 3299 /** 3300 * <b>Fluent Client</b> search parameter constant for <b>context</b> 3301 * <p> 3302 * Description: <b>Encounter or Episode during which request was created</b><br> 3303 * Type: <b>reference</b><br> 3304 * Path: <b>ProcedureRequest.context</b><br> 3305 * </p> 3306 */ 3307 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTEXT); 3308 3309/** 3310 * Constant for fluent queries to be used to add include statements. Specifies 3311 * the path value of "<b>ProcedureRequest:context</b>". 3312 */ 3313 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTEXT = new ca.uhn.fhir.model.api.Include("ProcedureRequest:context").toLocked(); 3314 3315 /** 3316 * Search parameter: <b>definition</b> 3317 * <p> 3318 * Description: <b>Protocol or definition</b><br> 3319 * Type: <b>reference</b><br> 3320 * Path: <b>ProcedureRequest.definition</b><br> 3321 * </p> 3322 */ 3323 @SearchParamDefinition(name="definition", path="ProcedureRequest.definition", description="Protocol or definition", type="reference", target={ActivityDefinition.class, PlanDefinition.class } ) 3324 public static final String SP_DEFINITION = "definition"; 3325 /** 3326 * <b>Fluent Client</b> search parameter constant for <b>definition</b> 3327 * <p> 3328 * Description: <b>Protocol or definition</b><br> 3329 * Type: <b>reference</b><br> 3330 * Path: <b>ProcedureRequest.definition</b><br> 3331 * </p> 3332 */ 3333 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEFINITION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEFINITION); 3334 3335/** 3336 * Constant for fluent queries to be used to add include statements. Specifies 3337 * the path value of "<b>ProcedureRequest:definition</b>". 3338 */ 3339 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEFINITION = new ca.uhn.fhir.model.api.Include("ProcedureRequest:definition").toLocked(); 3340 3341 /** 3342 * Search parameter: <b>body-site</b> 3343 * <p> 3344 * Description: <b>Where procedure is going to be done</b><br> 3345 * Type: <b>token</b><br> 3346 * Path: <b>ProcedureRequest.bodySite</b><br> 3347 * </p> 3348 */ 3349 @SearchParamDefinition(name="body-site", path="ProcedureRequest.bodySite", description="Where procedure is going to be done", type="token" ) 3350 public static final String SP_BODY_SITE = "body-site"; 3351 /** 3352 * <b>Fluent Client</b> search parameter constant for <b>body-site</b> 3353 * <p> 3354 * Description: <b>Where procedure is going to be done</b><br> 3355 * Type: <b>token</b><br> 3356 * Path: <b>ProcedureRequest.bodySite</b><br> 3357 * </p> 3358 */ 3359 public static final ca.uhn.fhir.rest.gclient.TokenClientParam BODY_SITE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BODY_SITE); 3360 3361 /** 3362 * Search parameter: <b>status</b> 3363 * <p> 3364 * Description: <b>draft | active | suspended | completed | entered-in-error | cancelled</b><br> 3365 * Type: <b>token</b><br> 3366 * Path: <b>ProcedureRequest.status</b><br> 3367 * </p> 3368 */ 3369 @SearchParamDefinition(name="status", path="ProcedureRequest.status", description="draft | active | suspended | completed | entered-in-error | cancelled", type="token" ) 3370 public static final String SP_STATUS = "status"; 3371 /** 3372 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3373 * <p> 3374 * Description: <b>draft | active | suspended | completed | entered-in-error | cancelled</b><br> 3375 * Type: <b>token</b><br> 3376 * Path: <b>ProcedureRequest.status</b><br> 3377 * </p> 3378 */ 3379 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3380 3381 3382}