001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import ca.uhn.fhir.model.api.annotation.ResourceDef; 038import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.ChildOrder; 041import ca.uhn.fhir.model.api.annotation.Description; 042import ca.uhn.fhir.model.api.annotation.Block; 043import org.hl7.fhir.instance.model.api.*; 044import org.hl7.fhir.exceptions.FHIRException; 045/** 046 * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken. 047 */ 048@ResourceDef(name="GuidanceResponse", profile="http://hl7.org/fhir/Profile/GuidanceResponse") 049public class GuidanceResponse extends DomainResource { 050 051 public enum GuidanceResponseStatus { 052 /** 053 * The request was processed successfully 054 */ 055 SUCCESS, 056 /** 057 * The request was processed successfully, but more data may result in a more complete evaluation 058 */ 059 DATAREQUESTED, 060 /** 061 * The request was processed, but more data is required to complete the evaluation 062 */ 063 DATAREQUIRED, 064 /** 065 * The request is currently being processed 066 */ 067 INPROGRESS, 068 /** 069 * The request was not processed successfully 070 */ 071 FAILURE, 072 /** 073 * The response was entered in error 074 */ 075 ENTEREDINERROR, 076 /** 077 * added to help the parsers with the generic types 078 */ 079 NULL; 080 public static GuidanceResponseStatus fromCode(String codeString) throws FHIRException { 081 if (codeString == null || "".equals(codeString)) 082 return null; 083 if ("success".equals(codeString)) 084 return SUCCESS; 085 if ("data-requested".equals(codeString)) 086 return DATAREQUESTED; 087 if ("data-required".equals(codeString)) 088 return DATAREQUIRED; 089 if ("in-progress".equals(codeString)) 090 return INPROGRESS; 091 if ("failure".equals(codeString)) 092 return FAILURE; 093 if ("entered-in-error".equals(codeString)) 094 return ENTEREDINERROR; 095 if (Configuration.isAcceptInvalidEnums()) 096 return null; 097 else 098 throw new FHIRException("Unknown GuidanceResponseStatus code '"+codeString+"'"); 099 } 100 public String toCode() { 101 switch (this) { 102 case SUCCESS: return "success"; 103 case DATAREQUESTED: return "data-requested"; 104 case DATAREQUIRED: return "data-required"; 105 case INPROGRESS: return "in-progress"; 106 case FAILURE: return "failure"; 107 case ENTEREDINERROR: return "entered-in-error"; 108 default: return "?"; 109 } 110 } 111 public String getSystem() { 112 switch (this) { 113 case SUCCESS: return "http://hl7.org/fhir/guidance-response-status"; 114 case DATAREQUESTED: return "http://hl7.org/fhir/guidance-response-status"; 115 case DATAREQUIRED: return "http://hl7.org/fhir/guidance-response-status"; 116 case INPROGRESS: return "http://hl7.org/fhir/guidance-response-status"; 117 case FAILURE: return "http://hl7.org/fhir/guidance-response-status"; 118 case ENTEREDINERROR: return "http://hl7.org/fhir/guidance-response-status"; 119 default: return "?"; 120 } 121 } 122 public String getDefinition() { 123 switch (this) { 124 case SUCCESS: return "The request was processed successfully"; 125 case DATAREQUESTED: return "The request was processed successfully, but more data may result in a more complete evaluation"; 126 case DATAREQUIRED: return "The request was processed, but more data is required to complete the evaluation"; 127 case INPROGRESS: return "The request is currently being processed"; 128 case FAILURE: return "The request was not processed successfully"; 129 case ENTEREDINERROR: return "The response was entered in error"; 130 default: return "?"; 131 } 132 } 133 public String getDisplay() { 134 switch (this) { 135 case SUCCESS: return "Success"; 136 case DATAREQUESTED: return "Data Requested"; 137 case DATAREQUIRED: return "Data Required"; 138 case INPROGRESS: return "In Progress"; 139 case FAILURE: return "Failure"; 140 case ENTEREDINERROR: return "Entered In Error"; 141 default: return "?"; 142 } 143 } 144 } 145 146 public static class GuidanceResponseStatusEnumFactory implements EnumFactory<GuidanceResponseStatus> { 147 public GuidanceResponseStatus fromCode(String codeString) throws IllegalArgumentException { 148 if (codeString == null || "".equals(codeString)) 149 if (codeString == null || "".equals(codeString)) 150 return null; 151 if ("success".equals(codeString)) 152 return GuidanceResponseStatus.SUCCESS; 153 if ("data-requested".equals(codeString)) 154 return GuidanceResponseStatus.DATAREQUESTED; 155 if ("data-required".equals(codeString)) 156 return GuidanceResponseStatus.DATAREQUIRED; 157 if ("in-progress".equals(codeString)) 158 return GuidanceResponseStatus.INPROGRESS; 159 if ("failure".equals(codeString)) 160 return GuidanceResponseStatus.FAILURE; 161 if ("entered-in-error".equals(codeString)) 162 return GuidanceResponseStatus.ENTEREDINERROR; 163 throw new IllegalArgumentException("Unknown GuidanceResponseStatus code '"+codeString+"'"); 164 } 165 public Enumeration<GuidanceResponseStatus> fromType(Base code) throws FHIRException { 166 if (code == null) 167 return null; 168 if (code.isEmpty()) 169 return new Enumeration<GuidanceResponseStatus>(this); 170 String codeString = ((PrimitiveType) code).asStringValue(); 171 if (codeString == null || "".equals(codeString)) 172 return null; 173 if ("success".equals(codeString)) 174 return new Enumeration<GuidanceResponseStatus>(this, GuidanceResponseStatus.SUCCESS); 175 if ("data-requested".equals(codeString)) 176 return new Enumeration<GuidanceResponseStatus>(this, GuidanceResponseStatus.DATAREQUESTED); 177 if ("data-required".equals(codeString)) 178 return new Enumeration<GuidanceResponseStatus>(this, GuidanceResponseStatus.DATAREQUIRED); 179 if ("in-progress".equals(codeString)) 180 return new Enumeration<GuidanceResponseStatus>(this, GuidanceResponseStatus.INPROGRESS); 181 if ("failure".equals(codeString)) 182 return new Enumeration<GuidanceResponseStatus>(this, GuidanceResponseStatus.FAILURE); 183 if ("entered-in-error".equals(codeString)) 184 return new Enumeration<GuidanceResponseStatus>(this, GuidanceResponseStatus.ENTEREDINERROR); 185 throw new FHIRException("Unknown GuidanceResponseStatus code '"+codeString+"'"); 186 } 187 public String toCode(GuidanceResponseStatus code) { 188 if (code == GuidanceResponseStatus.SUCCESS) 189 return "success"; 190 if (code == GuidanceResponseStatus.DATAREQUESTED) 191 return "data-requested"; 192 if (code == GuidanceResponseStatus.DATAREQUIRED) 193 return "data-required"; 194 if (code == GuidanceResponseStatus.INPROGRESS) 195 return "in-progress"; 196 if (code == GuidanceResponseStatus.FAILURE) 197 return "failure"; 198 if (code == GuidanceResponseStatus.ENTEREDINERROR) 199 return "entered-in-error"; 200 return "?"; 201 } 202 public String toSystem(GuidanceResponseStatus code) { 203 return code.getSystem(); 204 } 205 } 206 207 /** 208 * The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. 209 */ 210 @Child(name = "requestId", type = {IdType.class}, order=0, min=0, max=1, modifier=false, summary=true) 211 @Description(shortDefinition="The id of the request associated with this response, if any", formalDefinition="The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario." ) 212 protected IdType requestId; 213 214 /** 215 * Allows a service to provide unique, business identifiers for the response. 216 */ 217 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 218 @Description(shortDefinition="Business identifier", formalDefinition="Allows a service to provide unique, business identifiers for the response." ) 219 protected List<Identifier> identifier; 220 221 /** 222 * An identifier, CodeableConcept or canonical reference to the guidance that was requested. 223 */ 224 @Child(name = "module", type = {UriType.class, CanonicalType.class, CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=true) 225 @Description(shortDefinition="What guidance was requested", formalDefinition="An identifier, CodeableConcept or canonical reference to the guidance that was requested." ) 226 protected Type module; 227 228 /** 229 * The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information. 230 */ 231 @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=true, summary=true) 232 @Description(shortDefinition="success | data-requested | data-required | in-progress | failure | entered-in-error", formalDefinition="The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information." ) 233 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guidance-response-status") 234 protected Enumeration<GuidanceResponseStatus> status; 235 236 /** 237 * The patient for which the request was processed. 238 */ 239 @Child(name = "subject", type = {Patient.class, Group.class}, order=4, min=0, max=1, modifier=false, summary=false) 240 @Description(shortDefinition="Patient the request was performed for", formalDefinition="The patient for which the request was processed." ) 241 protected Reference subject; 242 243 /** 244 * The actual object that is the target of the reference (The patient for which the request was processed.) 245 */ 246 protected Resource subjectTarget; 247 248 /** 249 * Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable. 250 */ 251 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=5, min=0, max=1, modifier=false, summary=false) 252 @Description(shortDefinition="Encounter or Episode during which the response was returned", formalDefinition="Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable." ) 253 protected Reference context; 254 255 /** 256 * The actual object that is the target of the reference (Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.) 257 */ 258 protected Resource contextTarget; 259 260 /** 261 * Indicates when the guidance response was processed. 262 */ 263 @Child(name = "occurrenceDateTime", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=false) 264 @Description(shortDefinition="When the guidance response was processed", formalDefinition="Indicates when the guidance response was processed." ) 265 protected DateTimeType occurrenceDateTime; 266 267 /** 268 * Provides a reference to the device that performed the guidance. 269 */ 270 @Child(name = "performer", type = {Device.class}, order=7, min=0, max=1, modifier=false, summary=false) 271 @Description(shortDefinition="Device returning the guidance", formalDefinition="Provides a reference to the device that performed the guidance." ) 272 protected Reference performer; 273 274 /** 275 * The actual object that is the target of the reference (Provides a reference to the device that performed the guidance.) 276 */ 277 protected Device performerTarget; 278 279 /** 280 * Describes the reason for the guidance response in coded or textual form. 281 */ 282 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 283 @Description(shortDefinition="Why guidance is needed", formalDefinition="Describes the reason for the guidance response in coded or textual form." ) 284 protected List<CodeableConcept> reasonCode; 285 286 /** 287 * Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response. 288 */ 289 @Child(name = "reasonReference", type = {Condition.class, Observation.class, DiagnosticReport.class, DocumentReference.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 290 @Description(shortDefinition="Why guidance is needed", formalDefinition="Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response." ) 291 protected List<Reference> reasonReference; 292 /** 293 * The actual objects that are the target of the reference (Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.) 294 */ 295 protected List<Resource> reasonReferenceTarget; 296 297 298 /** 299 * Provides a mechanism to communicate additional information about the response. 300 */ 301 @Child(name = "note", type = {Annotation.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 302 @Description(shortDefinition="Additional notes about the response", formalDefinition="Provides a mechanism to communicate additional information about the response." ) 303 protected List<Annotation> note; 304 305 /** 306 * Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element. 307 */ 308 @Child(name = "evaluationMessage", type = {OperationOutcome.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 309 @Description(shortDefinition="Messages resulting from the evaluation of the artifact or artifacts", formalDefinition="Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element." ) 310 protected List<Reference> evaluationMessage; 311 /** 312 * The actual objects that are the target of the reference (Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.) 313 */ 314 protected List<OperationOutcome> evaluationMessageTarget; 315 316 317 /** 318 * The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element. 319 */ 320 @Child(name = "outputParameters", type = {Parameters.class}, order=12, min=0, max=1, modifier=false, summary=false) 321 @Description(shortDefinition="The output parameters of the evaluation, if any", formalDefinition="The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element." ) 322 protected Reference outputParameters; 323 324 /** 325 * The actual object that is the target of the reference (The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.) 326 */ 327 protected Parameters outputParametersTarget; 328 329 /** 330 * The actions, if any, produced by the evaluation of the artifact. 331 */ 332 @Child(name = "result", type = {CarePlan.class, RequestGroup.class}, order=13, min=0, max=1, modifier=false, summary=false) 333 @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) 334 protected Reference result; 335 336 /** 337 * The actual object that is the target of the reference (The actions, if any, produced by the evaluation of the artifact.) 338 */ 339 protected Resource resultTarget; 340 341 /** 342 * If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data. 343 */ 344 @Child(name = "dataRequirement", type = {DataRequirement.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 345 @Description(shortDefinition="Additional required data", formalDefinition="If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data." ) 346 protected List<DataRequirement> dataRequirement; 347 348 private static final long serialVersionUID = -1809604960L; 349 350 /** 351 * Constructor 352 */ 353 public GuidanceResponse() { 354 super(); 355 } 356 357 /** 358 * Constructor 359 */ 360 public GuidanceResponse(Type module, Enumeration<GuidanceResponseStatus> status) { 361 super(); 362 this.module = module; 363 this.status = status; 364 } 365 366 /** 367 * @return {@link #requestId} (The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario.). This is the underlying object with id, value and extensions. The accessor "getRequestId" gives direct access to the value 368 */ 369 public IdType getRequestIdElement() { 370 if (this.requestId == null) 371 if (Configuration.errorOnAutoCreate()) 372 throw new Error("Attempt to auto-create GuidanceResponse.requestId"); 373 else if (Configuration.doAutoCreate()) 374 this.requestId = new IdType(); // bb 375 return this.requestId; 376 } 377 378 public boolean hasRequestIdElement() { 379 return this.requestId != null && !this.requestId.isEmpty(); 380 } 381 382 public boolean hasRequestId() { 383 return this.requestId != null && !this.requestId.isEmpty(); 384 } 385 386 /** 387 * @param value {@link #requestId} (The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario.). This is the underlying object with id, value and extensions. The accessor "getRequestId" gives direct access to the value 388 */ 389 public GuidanceResponse setRequestIdElement(IdType value) { 390 this.requestId = value; 391 return this; 392 } 393 394 /** 395 * @return The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. 396 */ 397 public String getRequestId() { 398 return this.requestId == null ? null : this.requestId.getValue(); 399 } 400 401 /** 402 * @param value The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario. 403 */ 404 public GuidanceResponse setRequestId(String value) { 405 if (Utilities.noString(value)) 406 this.requestId = null; 407 else { 408 if (this.requestId == null) 409 this.requestId = new IdType(); 410 this.requestId.setValue(value); 411 } 412 return this; 413 } 414 415 /** 416 * @return {@link #identifier} (Allows a service to provide unique, business identifiers for the response.) 417 */ 418 public List<Identifier> getIdentifier() { 419 if (this.identifier == null) 420 this.identifier = new ArrayList<Identifier>(); 421 return this.identifier; 422 } 423 424 /** 425 * @return Returns a reference to <code>this</code> for easy method chaining 426 */ 427 public GuidanceResponse setIdentifier(List<Identifier> theIdentifier) { 428 this.identifier = theIdentifier; 429 return this; 430 } 431 432 public boolean hasIdentifier() { 433 if (this.identifier == null) 434 return false; 435 for (Identifier item : this.identifier) 436 if (!item.isEmpty()) 437 return true; 438 return false; 439 } 440 441 public Identifier addIdentifier() { //3 442 Identifier t = new Identifier(); 443 if (this.identifier == null) 444 this.identifier = new ArrayList<Identifier>(); 445 this.identifier.add(t); 446 return t; 447 } 448 449 public GuidanceResponse addIdentifier(Identifier t) { //3 450 if (t == null) 451 return this; 452 if (this.identifier == null) 453 this.identifier = new ArrayList<Identifier>(); 454 this.identifier.add(t); 455 return this; 456 } 457 458 /** 459 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 460 */ 461 public Identifier getIdentifierFirstRep() { 462 if (getIdentifier().isEmpty()) { 463 addIdentifier(); 464 } 465 return getIdentifier().get(0); 466 } 467 468 /** 469 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 470 */ 471 public Type getModule() { 472 return this.module; 473 } 474 475 /** 476 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 477 */ 478 public UriType getModuleUriType() throws FHIRException { 479 if (this.module == null) 480 return null; 481 if (!(this.module instanceof UriType)) 482 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.module.getClass().getName()+" was encountered"); 483 return (UriType) this.module; 484 } 485 486 public boolean hasModuleUriType() { 487 return this != null && this.module instanceof UriType; 488 } 489 490 /** 491 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 492 */ 493 public CanonicalType getModuleCanonicalType() throws FHIRException { 494 if (this.module == null) 495 return null; 496 if (!(this.module instanceof CanonicalType)) 497 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.module.getClass().getName()+" was encountered"); 498 return (CanonicalType) this.module; 499 } 500 501 public boolean hasModuleCanonicalType() { 502 return this != null && this.module instanceof CanonicalType; 503 } 504 505 /** 506 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 507 */ 508 public CodeableConcept getModuleCodeableConcept() throws FHIRException { 509 if (this.module == null) 510 return null; 511 if (!(this.module instanceof CodeableConcept)) 512 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.module.getClass().getName()+" was encountered"); 513 return (CodeableConcept) this.module; 514 } 515 516 public boolean hasModuleCodeableConcept() { 517 return this != null && this.module instanceof CodeableConcept; 518 } 519 520 public boolean hasModule() { 521 return this.module != null && !this.module.isEmpty(); 522 } 523 524 /** 525 * @param value {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 526 */ 527 public GuidanceResponse setModule(Type value) { 528 if (value != null && !(value instanceof UriType || value instanceof CanonicalType || value instanceof CodeableConcept)) 529 throw new Error("Not the right type for GuidanceResponse.module[x]: "+value.fhirType()); 530 this.module = value; 531 return this; 532 } 533 534 /** 535 * @return {@link #status} (The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 536 */ 537 public Enumeration<GuidanceResponseStatus> getStatusElement() { 538 if (this.status == null) 539 if (Configuration.errorOnAutoCreate()) 540 throw new Error("Attempt to auto-create GuidanceResponse.status"); 541 else if (Configuration.doAutoCreate()) 542 this.status = new Enumeration<GuidanceResponseStatus>(new GuidanceResponseStatusEnumFactory()); // bb 543 return this.status; 544 } 545 546 public boolean hasStatusElement() { 547 return this.status != null && !this.status.isEmpty(); 548 } 549 550 public boolean hasStatus() { 551 return this.status != null && !this.status.isEmpty(); 552 } 553 554 /** 555 * @param value {@link #status} (The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 556 */ 557 public GuidanceResponse setStatusElement(Enumeration<GuidanceResponseStatus> value) { 558 this.status = value; 559 return this; 560 } 561 562 /** 563 * @return The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information. 564 */ 565 public GuidanceResponseStatus getStatus() { 566 return this.status == null ? null : this.status.getValue(); 567 } 568 569 /** 570 * @param value The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information. 571 */ 572 public GuidanceResponse setStatus(GuidanceResponseStatus value) { 573 if (this.status == null) 574 this.status = new Enumeration<GuidanceResponseStatus>(new GuidanceResponseStatusEnumFactory()); 575 this.status.setValue(value); 576 return this; 577 } 578 579 /** 580 * @return {@link #subject} (The patient for which the request was processed.) 581 */ 582 public Reference getSubject() { 583 if (this.subject == null) 584 if (Configuration.errorOnAutoCreate()) 585 throw new Error("Attempt to auto-create GuidanceResponse.subject"); 586 else if (Configuration.doAutoCreate()) 587 this.subject = new Reference(); // cc 588 return this.subject; 589 } 590 591 public boolean hasSubject() { 592 return this.subject != null && !this.subject.isEmpty(); 593 } 594 595 /** 596 * @param value {@link #subject} (The patient for which the request was processed.) 597 */ 598 public GuidanceResponse setSubject(Reference value) { 599 this.subject = value; 600 return this; 601 } 602 603 /** 604 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The patient for which the request was processed.) 605 */ 606 public Resource getSubjectTarget() { 607 return this.subjectTarget; 608 } 609 610 /** 611 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The patient for which the request was processed.) 612 */ 613 public GuidanceResponse setSubjectTarget(Resource value) { 614 this.subjectTarget = value; 615 return this; 616 } 617 618 /** 619 * @return {@link #context} (Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.) 620 */ 621 public Reference getContext() { 622 if (this.context == null) 623 if (Configuration.errorOnAutoCreate()) 624 throw new Error("Attempt to auto-create GuidanceResponse.context"); 625 else if (Configuration.doAutoCreate()) 626 this.context = new Reference(); // cc 627 return this.context; 628 } 629 630 public boolean hasContext() { 631 return this.context != null && !this.context.isEmpty(); 632 } 633 634 /** 635 * @param value {@link #context} (Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.) 636 */ 637 public GuidanceResponse setContext(Reference value) { 638 this.context = value; 639 return this; 640 } 641 642 /** 643 * @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. (Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.) 644 */ 645 public Resource getContextTarget() { 646 return this.contextTarget; 647 } 648 649 /** 650 * @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. (Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.) 651 */ 652 public GuidanceResponse setContextTarget(Resource value) { 653 this.contextTarget = value; 654 return this; 655 } 656 657 /** 658 * @return {@link #occurrenceDateTime} (Indicates when the guidance response was processed.). This is the underlying object with id, value and extensions. The accessor "getOccurrenceDateTime" gives direct access to the value 659 */ 660 public DateTimeType getOccurrenceDateTimeElement() { 661 if (this.occurrenceDateTime == null) 662 if (Configuration.errorOnAutoCreate()) 663 throw new Error("Attempt to auto-create GuidanceResponse.occurrenceDateTime"); 664 else if (Configuration.doAutoCreate()) 665 this.occurrenceDateTime = new DateTimeType(); // bb 666 return this.occurrenceDateTime; 667 } 668 669 public boolean hasOccurrenceDateTimeElement() { 670 return this.occurrenceDateTime != null && !this.occurrenceDateTime.isEmpty(); 671 } 672 673 public boolean hasOccurrenceDateTime() { 674 return this.occurrenceDateTime != null && !this.occurrenceDateTime.isEmpty(); 675 } 676 677 /** 678 * @param value {@link #occurrenceDateTime} (Indicates when the guidance response was processed.). This is the underlying object with id, value and extensions. The accessor "getOccurrenceDateTime" gives direct access to the value 679 */ 680 public GuidanceResponse setOccurrenceDateTimeElement(DateTimeType value) { 681 this.occurrenceDateTime = value; 682 return this; 683 } 684 685 /** 686 * @return Indicates when the guidance response was processed. 687 */ 688 public Date getOccurrenceDateTime() { 689 return this.occurrenceDateTime == null ? null : this.occurrenceDateTime.getValue(); 690 } 691 692 /** 693 * @param value Indicates when the guidance response was processed. 694 */ 695 public GuidanceResponse setOccurrenceDateTime(Date value) { 696 if (value == null) 697 this.occurrenceDateTime = null; 698 else { 699 if (this.occurrenceDateTime == null) 700 this.occurrenceDateTime = new DateTimeType(); 701 this.occurrenceDateTime.setValue(value); 702 } 703 return this; 704 } 705 706 /** 707 * @return {@link #performer} (Provides a reference to the device that performed the guidance.) 708 */ 709 public Reference getPerformer() { 710 if (this.performer == null) 711 if (Configuration.errorOnAutoCreate()) 712 throw new Error("Attempt to auto-create GuidanceResponse.performer"); 713 else if (Configuration.doAutoCreate()) 714 this.performer = new Reference(); // cc 715 return this.performer; 716 } 717 718 public boolean hasPerformer() { 719 return this.performer != null && !this.performer.isEmpty(); 720 } 721 722 /** 723 * @param value {@link #performer} (Provides a reference to the device that performed the guidance.) 724 */ 725 public GuidanceResponse setPerformer(Reference value) { 726 this.performer = value; 727 return this; 728 } 729 730 /** 731 * @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. (Provides a reference to the device that performed the guidance.) 732 */ 733 public Device getPerformerTarget() { 734 if (this.performerTarget == null) 735 if (Configuration.errorOnAutoCreate()) 736 throw new Error("Attempt to auto-create GuidanceResponse.performer"); 737 else if (Configuration.doAutoCreate()) 738 this.performerTarget = new Device(); // aa 739 return this.performerTarget; 740 } 741 742 /** 743 * @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. (Provides a reference to the device that performed the guidance.) 744 */ 745 public GuidanceResponse setPerformerTarget(Device value) { 746 this.performerTarget = value; 747 return this; 748 } 749 750 /** 751 * @return {@link #reasonCode} (Describes the reason for the guidance response in coded or textual form.) 752 */ 753 public List<CodeableConcept> getReasonCode() { 754 if (this.reasonCode == null) 755 this.reasonCode = new ArrayList<CodeableConcept>(); 756 return this.reasonCode; 757 } 758 759 /** 760 * @return Returns a reference to <code>this</code> for easy method chaining 761 */ 762 public GuidanceResponse setReasonCode(List<CodeableConcept> theReasonCode) { 763 this.reasonCode = theReasonCode; 764 return this; 765 } 766 767 public boolean hasReasonCode() { 768 if (this.reasonCode == null) 769 return false; 770 for (CodeableConcept item : this.reasonCode) 771 if (!item.isEmpty()) 772 return true; 773 return false; 774 } 775 776 public CodeableConcept addReasonCode() { //3 777 CodeableConcept t = new CodeableConcept(); 778 if (this.reasonCode == null) 779 this.reasonCode = new ArrayList<CodeableConcept>(); 780 this.reasonCode.add(t); 781 return t; 782 } 783 784 public GuidanceResponse addReasonCode(CodeableConcept t) { //3 785 if (t == null) 786 return this; 787 if (this.reasonCode == null) 788 this.reasonCode = new ArrayList<CodeableConcept>(); 789 this.reasonCode.add(t); 790 return this; 791 } 792 793 /** 794 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist 795 */ 796 public CodeableConcept getReasonCodeFirstRep() { 797 if (getReasonCode().isEmpty()) { 798 addReasonCode(); 799 } 800 return getReasonCode().get(0); 801 } 802 803 /** 804 * @return {@link #reasonReference} (Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.) 805 */ 806 public List<Reference> getReasonReference() { 807 if (this.reasonReference == null) 808 this.reasonReference = new ArrayList<Reference>(); 809 return this.reasonReference; 810 } 811 812 /** 813 * @return Returns a reference to <code>this</code> for easy method chaining 814 */ 815 public GuidanceResponse setReasonReference(List<Reference> theReasonReference) { 816 this.reasonReference = theReasonReference; 817 return this; 818 } 819 820 public boolean hasReasonReference() { 821 if (this.reasonReference == null) 822 return false; 823 for (Reference item : this.reasonReference) 824 if (!item.isEmpty()) 825 return true; 826 return false; 827 } 828 829 public Reference addReasonReference() { //3 830 Reference t = new Reference(); 831 if (this.reasonReference == null) 832 this.reasonReference = new ArrayList<Reference>(); 833 this.reasonReference.add(t); 834 return t; 835 } 836 837 public GuidanceResponse addReasonReference(Reference t) { //3 838 if (t == null) 839 return this; 840 if (this.reasonReference == null) 841 this.reasonReference = new ArrayList<Reference>(); 842 this.reasonReference.add(t); 843 return this; 844 } 845 846 /** 847 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist 848 */ 849 public Reference getReasonReferenceFirstRep() { 850 if (getReasonReference().isEmpty()) { 851 addReasonReference(); 852 } 853 return getReasonReference().get(0); 854 } 855 856 /** 857 * @deprecated Use Reference#setResource(IBaseResource) instead 858 */ 859 @Deprecated 860 public List<Resource> getReasonReferenceTarget() { 861 if (this.reasonReferenceTarget == null) 862 this.reasonReferenceTarget = new ArrayList<Resource>(); 863 return this.reasonReferenceTarget; 864 } 865 866 /** 867 * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) 868 */ 869 public List<Annotation> getNote() { 870 if (this.note == null) 871 this.note = new ArrayList<Annotation>(); 872 return this.note; 873 } 874 875 /** 876 * @return Returns a reference to <code>this</code> for easy method chaining 877 */ 878 public GuidanceResponse setNote(List<Annotation> theNote) { 879 this.note = theNote; 880 return this; 881 } 882 883 public boolean hasNote() { 884 if (this.note == null) 885 return false; 886 for (Annotation item : this.note) 887 if (!item.isEmpty()) 888 return true; 889 return false; 890 } 891 892 public Annotation addNote() { //3 893 Annotation t = new Annotation(); 894 if (this.note == null) 895 this.note = new ArrayList<Annotation>(); 896 this.note.add(t); 897 return t; 898 } 899 900 public GuidanceResponse addNote(Annotation t) { //3 901 if (t == null) 902 return this; 903 if (this.note == null) 904 this.note = new ArrayList<Annotation>(); 905 this.note.add(t); 906 return this; 907 } 908 909 /** 910 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 911 */ 912 public Annotation getNoteFirstRep() { 913 if (getNote().isEmpty()) { 914 addNote(); 915 } 916 return getNote().get(0); 917 } 918 919 /** 920 * @return {@link #evaluationMessage} (Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.) 921 */ 922 public List<Reference> getEvaluationMessage() { 923 if (this.evaluationMessage == null) 924 this.evaluationMessage = new ArrayList<Reference>(); 925 return this.evaluationMessage; 926 } 927 928 /** 929 * @return Returns a reference to <code>this</code> for easy method chaining 930 */ 931 public GuidanceResponse setEvaluationMessage(List<Reference> theEvaluationMessage) { 932 this.evaluationMessage = theEvaluationMessage; 933 return this; 934 } 935 936 public boolean hasEvaluationMessage() { 937 if (this.evaluationMessage == null) 938 return false; 939 for (Reference item : this.evaluationMessage) 940 if (!item.isEmpty()) 941 return true; 942 return false; 943 } 944 945 public Reference addEvaluationMessage() { //3 946 Reference t = new Reference(); 947 if (this.evaluationMessage == null) 948 this.evaluationMessage = new ArrayList<Reference>(); 949 this.evaluationMessage.add(t); 950 return t; 951 } 952 953 public GuidanceResponse addEvaluationMessage(Reference t) { //3 954 if (t == null) 955 return this; 956 if (this.evaluationMessage == null) 957 this.evaluationMessage = new ArrayList<Reference>(); 958 this.evaluationMessage.add(t); 959 return this; 960 } 961 962 /** 963 * @return The first repetition of repeating field {@link #evaluationMessage}, creating it if it does not already exist 964 */ 965 public Reference getEvaluationMessageFirstRep() { 966 if (getEvaluationMessage().isEmpty()) { 967 addEvaluationMessage(); 968 } 969 return getEvaluationMessage().get(0); 970 } 971 972 /** 973 * @deprecated Use Reference#setResource(IBaseResource) instead 974 */ 975 @Deprecated 976 public List<OperationOutcome> getEvaluationMessageTarget() { 977 if (this.evaluationMessageTarget == null) 978 this.evaluationMessageTarget = new ArrayList<OperationOutcome>(); 979 return this.evaluationMessageTarget; 980 } 981 982 /** 983 * @deprecated Use Reference#setResource(IBaseResource) instead 984 */ 985 @Deprecated 986 public OperationOutcome addEvaluationMessageTarget() { 987 OperationOutcome r = new OperationOutcome(); 988 if (this.evaluationMessageTarget == null) 989 this.evaluationMessageTarget = new ArrayList<OperationOutcome>(); 990 this.evaluationMessageTarget.add(r); 991 return r; 992 } 993 994 /** 995 * @return {@link #outputParameters} (The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.) 996 */ 997 public Reference getOutputParameters() { 998 if (this.outputParameters == null) 999 if (Configuration.errorOnAutoCreate()) 1000 throw new Error("Attempt to auto-create GuidanceResponse.outputParameters"); 1001 else if (Configuration.doAutoCreate()) 1002 this.outputParameters = new Reference(); // cc 1003 return this.outputParameters; 1004 } 1005 1006 public boolean hasOutputParameters() { 1007 return this.outputParameters != null && !this.outputParameters.isEmpty(); 1008 } 1009 1010 /** 1011 * @param value {@link #outputParameters} (The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.) 1012 */ 1013 public GuidanceResponse setOutputParameters(Reference value) { 1014 this.outputParameters = value; 1015 return this; 1016 } 1017 1018 /** 1019 * @return {@link #outputParameters} 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 output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.) 1020 */ 1021 public Parameters getOutputParametersTarget() { 1022 if (this.outputParametersTarget == null) 1023 if (Configuration.errorOnAutoCreate()) 1024 throw new Error("Attempt to auto-create GuidanceResponse.outputParameters"); 1025 else if (Configuration.doAutoCreate()) 1026 this.outputParametersTarget = new Parameters(); // aa 1027 return this.outputParametersTarget; 1028 } 1029 1030 /** 1031 * @param value {@link #outputParameters} 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 output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.) 1032 */ 1033 public GuidanceResponse setOutputParametersTarget(Parameters value) { 1034 this.outputParametersTarget = value; 1035 return this; 1036 } 1037 1038 /** 1039 * @return {@link #result} (The actions, if any, produced by the evaluation of the artifact.) 1040 */ 1041 public Reference getResult() { 1042 if (this.result == null) 1043 if (Configuration.errorOnAutoCreate()) 1044 throw new Error("Attempt to auto-create GuidanceResponse.result"); 1045 else if (Configuration.doAutoCreate()) 1046 this.result = new Reference(); // cc 1047 return this.result; 1048 } 1049 1050 public boolean hasResult() { 1051 return this.result != null && !this.result.isEmpty(); 1052 } 1053 1054 /** 1055 * @param value {@link #result} (The actions, if any, produced by the evaluation of the artifact.) 1056 */ 1057 public GuidanceResponse setResult(Reference value) { 1058 this.result = value; 1059 return this; 1060 } 1061 1062 /** 1063 * @return {@link #result} 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 actions, if any, produced by the evaluation of the artifact.) 1064 */ 1065 public Resource getResultTarget() { 1066 return this.resultTarget; 1067 } 1068 1069 /** 1070 * @param value {@link #result} 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 actions, if any, produced by the evaluation of the artifact.) 1071 */ 1072 public GuidanceResponse setResultTarget(Resource value) { 1073 this.resultTarget = value; 1074 return this; 1075 } 1076 1077 /** 1078 * @return {@link #dataRequirement} (If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.) 1079 */ 1080 public List<DataRequirement> getDataRequirement() { 1081 if (this.dataRequirement == null) 1082 this.dataRequirement = new ArrayList<DataRequirement>(); 1083 return this.dataRequirement; 1084 } 1085 1086 /** 1087 * @return Returns a reference to <code>this</code> for easy method chaining 1088 */ 1089 public GuidanceResponse setDataRequirement(List<DataRequirement> theDataRequirement) { 1090 this.dataRequirement = theDataRequirement; 1091 return this; 1092 } 1093 1094 public boolean hasDataRequirement() { 1095 if (this.dataRequirement == null) 1096 return false; 1097 for (DataRequirement item : this.dataRequirement) 1098 if (!item.isEmpty()) 1099 return true; 1100 return false; 1101 } 1102 1103 public DataRequirement addDataRequirement() { //3 1104 DataRequirement t = new DataRequirement(); 1105 if (this.dataRequirement == null) 1106 this.dataRequirement = new ArrayList<DataRequirement>(); 1107 this.dataRequirement.add(t); 1108 return t; 1109 } 1110 1111 public GuidanceResponse addDataRequirement(DataRequirement t) { //3 1112 if (t == null) 1113 return this; 1114 if (this.dataRequirement == null) 1115 this.dataRequirement = new ArrayList<DataRequirement>(); 1116 this.dataRequirement.add(t); 1117 return this; 1118 } 1119 1120 /** 1121 * @return The first repetition of repeating field {@link #dataRequirement}, creating it if it does not already exist 1122 */ 1123 public DataRequirement getDataRequirementFirstRep() { 1124 if (getDataRequirement().isEmpty()) { 1125 addDataRequirement(); 1126 } 1127 return getDataRequirement().get(0); 1128 } 1129 1130 protected void listChildren(List<Property> children) { 1131 super.listChildren(children); 1132 children.add(new Property("requestId", "id", "The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario.", 0, 1, requestId)); 1133 children.add(new Property("identifier", "Identifier", "Allows a service to provide unique, business identifiers for the response.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1134 children.add(new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module)); 1135 children.add(new Property("status", "code", "The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information.", 0, 1, status)); 1136 children.add(new Property("subject", "Reference(Patient|Group)", "The patient for which the request was processed.", 0, 1, subject)); 1137 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.", 0, 1, context)); 1138 children.add(new Property("occurrenceDateTime", "dateTime", "Indicates when the guidance response was processed.", 0, 1, occurrenceDateTime)); 1139 children.add(new Property("performer", "Reference(Device)", "Provides a reference to the device that performed the guidance.", 0, 1, performer)); 1140 children.add(new Property("reasonCode", "CodeableConcept", "Describes the reason for the guidance response in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 1141 children.add(new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 1142 children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); 1143 children.add(new Property("evaluationMessage", "Reference(OperationOutcome)", "Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.", 0, java.lang.Integer.MAX_VALUE, evaluationMessage)); 1144 children.add(new Property("outputParameters", "Reference(Parameters)", "The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.", 0, 1, outputParameters)); 1145 children.add(new Property("result", "Reference(CarePlan|RequestGroup)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result)); 1146 children.add(new Property("dataRequirement", "DataRequirement", "If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.", 0, java.lang.Integer.MAX_VALUE, dataRequirement)); 1147 } 1148 1149 @Override 1150 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1151 switch (_hash) { 1152 case 693933066: /*requestId*/ return new Property("requestId", "id", "The id of the request associated with this response. If an id was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario.", 0, 1, requestId); 1153 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Allows a service to provide unique, business identifiers for the response.", 0, java.lang.Integer.MAX_VALUE, identifier); 1154 case -1552083308: /*module[x]*/ return new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module); 1155 case -1068784020: /*module*/ return new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module); 1156 case -1552089248: /*moduleUri*/ return new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module); 1157 case -1153656856: /*moduleCanonical*/ return new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module); 1158 case -1157899371: /*moduleCodeableConcept*/ return new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module); 1159 case -892481550: /*status*/ return new Property("status", "code", "The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information.", 0, 1, status); 1160 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The patient for which the request was processed.", 0, 1, subject); 1161 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "Allows the context of the guidance response to be provided if available. In a service context, this would likely be unavailable.", 0, 1, context); 1162 case -298443636: /*occurrenceDateTime*/ return new Property("occurrenceDateTime", "dateTime", "Indicates when the guidance response was processed.", 0, 1, occurrenceDateTime); 1163 case 481140686: /*performer*/ return new Property("performer", "Reference(Device)", "Provides a reference to the device that performed the guidance.", 0, 1, performer); 1164 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "Describes the reason for the guidance response in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 1165 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 1166 case 3387378: /*note*/ return new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note); 1167 case 1081619755: /*evaluationMessage*/ return new Property("evaluationMessage", "Reference(OperationOutcome)", "Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.", 0, java.lang.Integer.MAX_VALUE, evaluationMessage); 1168 case 525609419: /*outputParameters*/ return new Property("outputParameters", "Reference(Parameters)", "The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.", 0, 1, outputParameters); 1169 case -934426595: /*result*/ return new Property("result", "Reference(CarePlan|RequestGroup)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result); 1170 case 629147193: /*dataRequirement*/ return new Property("dataRequirement", "DataRequirement", "If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.", 0, java.lang.Integer.MAX_VALUE, dataRequirement); 1171 default: return super.getNamedProperty(_hash, _name, _checkValid); 1172 } 1173 1174 } 1175 1176 @Override 1177 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1178 switch (hash) { 1179 case 693933066: /*requestId*/ return this.requestId == null ? new Base[0] : new Base[] {this.requestId}; // IdType 1180 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1181 case -1068784020: /*module*/ return this.module == null ? new Base[0] : new Base[] {this.module}; // Type 1182 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<GuidanceResponseStatus> 1183 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1184 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 1185 case -298443636: /*occurrenceDateTime*/ return this.occurrenceDateTime == null ? new Base[0] : new Base[] {this.occurrenceDateTime}; // DateTimeType 1186 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 1187 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 1188 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 1189 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1190 case 1081619755: /*evaluationMessage*/ return this.evaluationMessage == null ? new Base[0] : this.evaluationMessage.toArray(new Base[this.evaluationMessage.size()]); // Reference 1191 case 525609419: /*outputParameters*/ return this.outputParameters == null ? new Base[0] : new Base[] {this.outputParameters}; // Reference 1192 case -934426595: /*result*/ return this.result == null ? new Base[0] : new Base[] {this.result}; // Reference 1193 case 629147193: /*dataRequirement*/ return this.dataRequirement == null ? new Base[0] : this.dataRequirement.toArray(new Base[this.dataRequirement.size()]); // DataRequirement 1194 default: return super.getProperty(hash, name, checkValid); 1195 } 1196 1197 } 1198 1199 @Override 1200 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1201 switch (hash) { 1202 case 693933066: // requestId 1203 this.requestId = castToId(value); // IdType 1204 return value; 1205 case -1618432855: // identifier 1206 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1207 return value; 1208 case -1068784020: // module 1209 this.module = castToType(value); // Type 1210 return value; 1211 case -892481550: // status 1212 value = new GuidanceResponseStatusEnumFactory().fromType(castToCode(value)); 1213 this.status = (Enumeration) value; // Enumeration<GuidanceResponseStatus> 1214 return value; 1215 case -1867885268: // subject 1216 this.subject = castToReference(value); // Reference 1217 return value; 1218 case 951530927: // context 1219 this.context = castToReference(value); // Reference 1220 return value; 1221 case -298443636: // occurrenceDateTime 1222 this.occurrenceDateTime = castToDateTime(value); // DateTimeType 1223 return value; 1224 case 481140686: // performer 1225 this.performer = castToReference(value); // Reference 1226 return value; 1227 case 722137681: // reasonCode 1228 this.getReasonCode().add(castToCodeableConcept(value)); // CodeableConcept 1229 return value; 1230 case -1146218137: // reasonReference 1231 this.getReasonReference().add(castToReference(value)); // Reference 1232 return value; 1233 case 3387378: // note 1234 this.getNote().add(castToAnnotation(value)); // Annotation 1235 return value; 1236 case 1081619755: // evaluationMessage 1237 this.getEvaluationMessage().add(castToReference(value)); // Reference 1238 return value; 1239 case 525609419: // outputParameters 1240 this.outputParameters = castToReference(value); // Reference 1241 return value; 1242 case -934426595: // result 1243 this.result = castToReference(value); // Reference 1244 return value; 1245 case 629147193: // dataRequirement 1246 this.getDataRequirement().add(castToDataRequirement(value)); // DataRequirement 1247 return value; 1248 default: return super.setProperty(hash, name, value); 1249 } 1250 1251 } 1252 1253 @Override 1254 public Base setProperty(String name, Base value) throws FHIRException { 1255 if (name.equals("requestId")) { 1256 this.requestId = castToId(value); // IdType 1257 } else if (name.equals("identifier")) { 1258 this.getIdentifier().add(castToIdentifier(value)); 1259 } else if (name.equals("module[x]")) { 1260 this.module = castToType(value); // Type 1261 } else if (name.equals("status")) { 1262 value = new GuidanceResponseStatusEnumFactory().fromType(castToCode(value)); 1263 this.status = (Enumeration) value; // Enumeration<GuidanceResponseStatus> 1264 } else if (name.equals("subject")) { 1265 this.subject = castToReference(value); // Reference 1266 } else if (name.equals("context")) { 1267 this.context = castToReference(value); // Reference 1268 } else if (name.equals("occurrenceDateTime")) { 1269 this.occurrenceDateTime = castToDateTime(value); // DateTimeType 1270 } else if (name.equals("performer")) { 1271 this.performer = castToReference(value); // Reference 1272 } else if (name.equals("reasonCode")) { 1273 this.getReasonCode().add(castToCodeableConcept(value)); 1274 } else if (name.equals("reasonReference")) { 1275 this.getReasonReference().add(castToReference(value)); 1276 } else if (name.equals("note")) { 1277 this.getNote().add(castToAnnotation(value)); 1278 } else if (name.equals("evaluationMessage")) { 1279 this.getEvaluationMessage().add(castToReference(value)); 1280 } else if (name.equals("outputParameters")) { 1281 this.outputParameters = castToReference(value); // Reference 1282 } else if (name.equals("result")) { 1283 this.result = castToReference(value); // Reference 1284 } else if (name.equals("dataRequirement")) { 1285 this.getDataRequirement().add(castToDataRequirement(value)); 1286 } else 1287 return super.setProperty(name, value); 1288 return value; 1289 } 1290 1291 @Override 1292 public Base makeProperty(int hash, String name) throws FHIRException { 1293 switch (hash) { 1294 case 693933066: return getRequestIdElement(); 1295 case -1618432855: return addIdentifier(); 1296 case -1552083308: return getModule(); 1297 case -1068784020: return getModule(); 1298 case -892481550: return getStatusElement(); 1299 case -1867885268: return getSubject(); 1300 case 951530927: return getContext(); 1301 case -298443636: return getOccurrenceDateTimeElement(); 1302 case 481140686: return getPerformer(); 1303 case 722137681: return addReasonCode(); 1304 case -1146218137: return addReasonReference(); 1305 case 3387378: return addNote(); 1306 case 1081619755: return addEvaluationMessage(); 1307 case 525609419: return getOutputParameters(); 1308 case -934426595: return getResult(); 1309 case 629147193: return addDataRequirement(); 1310 default: return super.makeProperty(hash, name); 1311 } 1312 1313 } 1314 1315 @Override 1316 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1317 switch (hash) { 1318 case 693933066: /*requestId*/ return new String[] {"id"}; 1319 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1320 case -1068784020: /*module*/ return new String[] {"uri", "canonical", "CodeableConcept"}; 1321 case -892481550: /*status*/ return new String[] {"code"}; 1322 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1323 case 951530927: /*context*/ return new String[] {"Reference"}; 1324 case -298443636: /*occurrenceDateTime*/ return new String[] {"dateTime"}; 1325 case 481140686: /*performer*/ return new String[] {"Reference"}; 1326 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 1327 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 1328 case 3387378: /*note*/ return new String[] {"Annotation"}; 1329 case 1081619755: /*evaluationMessage*/ return new String[] {"Reference"}; 1330 case 525609419: /*outputParameters*/ return new String[] {"Reference"}; 1331 case -934426595: /*result*/ return new String[] {"Reference"}; 1332 case 629147193: /*dataRequirement*/ return new String[] {"DataRequirement"}; 1333 default: return super.getTypesForProperty(hash, name); 1334 } 1335 1336 } 1337 1338 @Override 1339 public Base addChild(String name) throws FHIRException { 1340 if (name.equals("requestId")) { 1341 throw new FHIRException("Cannot call addChild on a primitive type GuidanceResponse.requestId"); 1342 } 1343 else if (name.equals("identifier")) { 1344 return addIdentifier(); 1345 } 1346 else if (name.equals("moduleUri")) { 1347 this.module = new UriType(); 1348 return this.module; 1349 } 1350 else if (name.equals("moduleCanonical")) { 1351 this.module = new CanonicalType(); 1352 return this.module; 1353 } 1354 else if (name.equals("moduleCodeableConcept")) { 1355 this.module = new CodeableConcept(); 1356 return this.module; 1357 } 1358 else if (name.equals("status")) { 1359 throw new FHIRException("Cannot call addChild on a primitive type GuidanceResponse.status"); 1360 } 1361 else if (name.equals("subject")) { 1362 this.subject = new Reference(); 1363 return this.subject; 1364 } 1365 else if (name.equals("context")) { 1366 this.context = new Reference(); 1367 return this.context; 1368 } 1369 else if (name.equals("occurrenceDateTime")) { 1370 throw new FHIRException("Cannot call addChild on a primitive type GuidanceResponse.occurrenceDateTime"); 1371 } 1372 else if (name.equals("performer")) { 1373 this.performer = new Reference(); 1374 return this.performer; 1375 } 1376 else if (name.equals("reasonCode")) { 1377 return addReasonCode(); 1378 } 1379 else if (name.equals("reasonReference")) { 1380 return addReasonReference(); 1381 } 1382 else if (name.equals("note")) { 1383 return addNote(); 1384 } 1385 else if (name.equals("evaluationMessage")) { 1386 return addEvaluationMessage(); 1387 } 1388 else if (name.equals("outputParameters")) { 1389 this.outputParameters = new Reference(); 1390 return this.outputParameters; 1391 } 1392 else if (name.equals("result")) { 1393 this.result = new Reference(); 1394 return this.result; 1395 } 1396 else if (name.equals("dataRequirement")) { 1397 return addDataRequirement(); 1398 } 1399 else 1400 return super.addChild(name); 1401 } 1402 1403 public String fhirType() { 1404 return "GuidanceResponse"; 1405 1406 } 1407 1408 public GuidanceResponse copy() { 1409 GuidanceResponse dst = new GuidanceResponse(); 1410 copyValues(dst); 1411 dst.requestId = requestId == null ? null : requestId.copy(); 1412 if (identifier != null) { 1413 dst.identifier = new ArrayList<Identifier>(); 1414 for (Identifier i : identifier) 1415 dst.identifier.add(i.copy()); 1416 }; 1417 dst.module = module == null ? null : module.copy(); 1418 dst.status = status == null ? null : status.copy(); 1419 dst.subject = subject == null ? null : subject.copy(); 1420 dst.context = context == null ? null : context.copy(); 1421 dst.occurrenceDateTime = occurrenceDateTime == null ? null : occurrenceDateTime.copy(); 1422 dst.performer = performer == null ? null : performer.copy(); 1423 if (reasonCode != null) { 1424 dst.reasonCode = new ArrayList<CodeableConcept>(); 1425 for (CodeableConcept i : reasonCode) 1426 dst.reasonCode.add(i.copy()); 1427 }; 1428 if (reasonReference != null) { 1429 dst.reasonReference = new ArrayList<Reference>(); 1430 for (Reference i : reasonReference) 1431 dst.reasonReference.add(i.copy()); 1432 }; 1433 if (note != null) { 1434 dst.note = new ArrayList<Annotation>(); 1435 for (Annotation i : note) 1436 dst.note.add(i.copy()); 1437 }; 1438 if (evaluationMessage != null) { 1439 dst.evaluationMessage = new ArrayList<Reference>(); 1440 for (Reference i : evaluationMessage) 1441 dst.evaluationMessage.add(i.copy()); 1442 }; 1443 dst.outputParameters = outputParameters == null ? null : outputParameters.copy(); 1444 dst.result = result == null ? null : result.copy(); 1445 if (dataRequirement != null) { 1446 dst.dataRequirement = new ArrayList<DataRequirement>(); 1447 for (DataRequirement i : dataRequirement) 1448 dst.dataRequirement.add(i.copy()); 1449 }; 1450 return dst; 1451 } 1452 1453 protected GuidanceResponse typedCopy() { 1454 return copy(); 1455 } 1456 1457 @Override 1458 public boolean equalsDeep(Base other_) { 1459 if (!super.equalsDeep(other_)) 1460 return false; 1461 if (!(other_ instanceof GuidanceResponse)) 1462 return false; 1463 GuidanceResponse o = (GuidanceResponse) other_; 1464 return compareDeep(requestId, o.requestId, true) && compareDeep(identifier, o.identifier, true) 1465 && compareDeep(module, o.module, true) && compareDeep(status, o.status, true) && compareDeep(subject, o.subject, true) 1466 && compareDeep(context, o.context, true) && compareDeep(occurrenceDateTime, o.occurrenceDateTime, true) 1467 && compareDeep(performer, o.performer, true) && compareDeep(reasonCode, o.reasonCode, true) && compareDeep(reasonReference, o.reasonReference, true) 1468 && compareDeep(note, o.note, true) && compareDeep(evaluationMessage, o.evaluationMessage, true) 1469 && compareDeep(outputParameters, o.outputParameters, true) && compareDeep(result, o.result, true) 1470 && compareDeep(dataRequirement, o.dataRequirement, true); 1471 } 1472 1473 @Override 1474 public boolean equalsShallow(Base other_) { 1475 if (!super.equalsShallow(other_)) 1476 return false; 1477 if (!(other_ instanceof GuidanceResponse)) 1478 return false; 1479 GuidanceResponse o = (GuidanceResponse) other_; 1480 return compareValues(requestId, o.requestId, true) && compareValues(status, o.status, true) && compareValues(occurrenceDateTime, o.occurrenceDateTime, true) 1481 ; 1482 } 1483 1484 public boolean isEmpty() { 1485 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(requestId, identifier, module 1486 , status, subject, context, occurrenceDateTime, performer, reasonCode, reasonReference 1487 , note, evaluationMessage, outputParameters, result, dataRequirement); 1488 } 1489 1490 @Override 1491 public ResourceType getResourceType() { 1492 return ResourceType.GuidanceResponse; 1493 } 1494 1495 /** 1496 * Search parameter: <b>request</b> 1497 * <p> 1498 * Description: <b>The identifier of the request associated with the response</b><br> 1499 * Type: <b>token</b><br> 1500 * Path: <b>GuidanceResponse.requestId</b><br> 1501 * </p> 1502 */ 1503 @SearchParamDefinition(name="request", path="GuidanceResponse.requestId", description="The identifier of the request associated with the response", type="token" ) 1504 public static final String SP_REQUEST = "request"; 1505 /** 1506 * <b>Fluent Client</b> search parameter constant for <b>request</b> 1507 * <p> 1508 * Description: <b>The identifier of the request associated with the response</b><br> 1509 * Type: <b>token</b><br> 1510 * Path: <b>GuidanceResponse.requestId</b><br> 1511 * </p> 1512 */ 1513 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REQUEST = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REQUEST); 1514 1515 /** 1516 * Search parameter: <b>identifier</b> 1517 * <p> 1518 * Description: <b>The identifier of the guidance response</b><br> 1519 * Type: <b>token</b><br> 1520 * Path: <b>GuidanceResponse.identifier</b><br> 1521 * </p> 1522 */ 1523 @SearchParamDefinition(name="identifier", path="GuidanceResponse.identifier", description="The identifier of the guidance response", type="token" ) 1524 public static final String SP_IDENTIFIER = "identifier"; 1525 /** 1526 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1527 * <p> 1528 * Description: <b>The identifier of the guidance response</b><br> 1529 * Type: <b>token</b><br> 1530 * Path: <b>GuidanceResponse.identifier</b><br> 1531 * </p> 1532 */ 1533 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1534 1535 /** 1536 * Search parameter: <b>patient</b> 1537 * <p> 1538 * Description: <b>The identity of a patient to search for guidance response results</b><br> 1539 * Type: <b>reference</b><br> 1540 * Path: <b>GuidanceResponse.subject</b><br> 1541 * </p> 1542 */ 1543 @SearchParamDefinition(name="patient", path="GuidanceResponse.subject", description="The identity of a patient to search for guidance response results", type="reference", target={Patient.class } ) 1544 public static final String SP_PATIENT = "patient"; 1545 /** 1546 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1547 * <p> 1548 * Description: <b>The identity of a patient to search for guidance response results</b><br> 1549 * Type: <b>reference</b><br> 1550 * Path: <b>GuidanceResponse.subject</b><br> 1551 * </p> 1552 */ 1553 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1554 1555/** 1556 * Constant for fluent queries to be used to add include statements. Specifies 1557 * the path value of "<b>GuidanceResponse:patient</b>". 1558 */ 1559 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("GuidanceResponse:patient").toLocked(); 1560 1561 /** 1562 * Search parameter: <b>subject</b> 1563 * <p> 1564 * Description: <b>The subject that the guidance response is about</b><br> 1565 * Type: <b>reference</b><br> 1566 * Path: <b>GuidanceResponse.subject</b><br> 1567 * </p> 1568 */ 1569 @SearchParamDefinition(name="subject", path="GuidanceResponse.subject", description="The subject that the guidance response is about", type="reference", target={Group.class, Patient.class } ) 1570 public static final String SP_SUBJECT = "subject"; 1571 /** 1572 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1573 * <p> 1574 * Description: <b>The subject that the guidance response is about</b><br> 1575 * Type: <b>reference</b><br> 1576 * Path: <b>GuidanceResponse.subject</b><br> 1577 * </p> 1578 */ 1579 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1580 1581/** 1582 * Constant for fluent queries to be used to add include statements. Specifies 1583 * the path value of "<b>GuidanceResponse:subject</b>". 1584 */ 1585 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("GuidanceResponse:subject").toLocked(); 1586 1587 1588} 1589