001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Thu, Dec 27, 2018 10:06-0500 for FHIR v4.0.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/StructureDefinition/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 identifier of the request associated with this response. If an identifier 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 = "requestIdentifier", type = {Identifier.class}, order=0, min=0, max=1, modifier=false, summary=true) 211 @Description(shortDefinition="The identifier of the request associated with this response, if any", formalDefinition="The identifier of the request associated with this response. If an identifier 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 Identifier requestIdentifier; 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 * The encounter during which this response was created or to which the creation of this record is tightly associated. 250 */ 251 @Child(name = "encounter", type = {Encounter.class}, order=5, min=0, max=1, modifier=false, summary=false) 252 @Description(shortDefinition="Encounter during which the response was returned", formalDefinition="The encounter during which this response was created or to which the creation of this record is tightly associated." ) 253 protected Reference encounter; 254 255 /** 256 * The actual object that is the target of the reference (The encounter during which this response was created or to which the creation of this record is tightly associated.) 257 */ 258 protected Encounter encounterTarget; 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 = -760182193L; 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 #requestIdentifier} (The identifier of the request associated with this response. If an identifier 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.) 368 */ 369 public Identifier getRequestIdentifier() { 370 if (this.requestIdentifier == null) 371 if (Configuration.errorOnAutoCreate()) 372 throw new Error("Attempt to auto-create GuidanceResponse.requestIdentifier"); 373 else if (Configuration.doAutoCreate()) 374 this.requestIdentifier = new Identifier(); // cc 375 return this.requestIdentifier; 376 } 377 378 public boolean hasRequestIdentifier() { 379 return this.requestIdentifier != null && !this.requestIdentifier.isEmpty(); 380 } 381 382 /** 383 * @param value {@link #requestIdentifier} (The identifier of the request associated with this response. If an identifier 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.) 384 */ 385 public GuidanceResponse setRequestIdentifier(Identifier value) { 386 this.requestIdentifier = value; 387 return this; 388 } 389 390 /** 391 * @return {@link #identifier} (Allows a service to provide unique, business identifiers for the response.) 392 */ 393 public List<Identifier> getIdentifier() { 394 if (this.identifier == null) 395 this.identifier = new ArrayList<Identifier>(); 396 return this.identifier; 397 } 398 399 /** 400 * @return Returns a reference to <code>this</code> for easy method chaining 401 */ 402 public GuidanceResponse setIdentifier(List<Identifier> theIdentifier) { 403 this.identifier = theIdentifier; 404 return this; 405 } 406 407 public boolean hasIdentifier() { 408 if (this.identifier == null) 409 return false; 410 for (Identifier item : this.identifier) 411 if (!item.isEmpty()) 412 return true; 413 return false; 414 } 415 416 public Identifier addIdentifier() { //3 417 Identifier t = new Identifier(); 418 if (this.identifier == null) 419 this.identifier = new ArrayList<Identifier>(); 420 this.identifier.add(t); 421 return t; 422 } 423 424 public GuidanceResponse addIdentifier(Identifier t) { //3 425 if (t == null) 426 return this; 427 if (this.identifier == null) 428 this.identifier = new ArrayList<Identifier>(); 429 this.identifier.add(t); 430 return this; 431 } 432 433 /** 434 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 435 */ 436 public Identifier getIdentifierFirstRep() { 437 if (getIdentifier().isEmpty()) { 438 addIdentifier(); 439 } 440 return getIdentifier().get(0); 441 } 442 443 /** 444 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 445 */ 446 public Type getModule() { 447 return this.module; 448 } 449 450 /** 451 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 452 */ 453 public UriType getModuleUriType() throws FHIRException { 454 if (this.module == null) 455 this.module = new UriType(); 456 if (!(this.module instanceof UriType)) 457 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.module.getClass().getName()+" was encountered"); 458 return (UriType) this.module; 459 } 460 461 public boolean hasModuleUriType() { 462 return this != null && this.module instanceof UriType; 463 } 464 465 /** 466 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 467 */ 468 public CanonicalType getModuleCanonicalType() throws FHIRException { 469 if (this.module == null) 470 this.module = new CanonicalType(); 471 if (!(this.module instanceof CanonicalType)) 472 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.module.getClass().getName()+" was encountered"); 473 return (CanonicalType) this.module; 474 } 475 476 public boolean hasModuleCanonicalType() { 477 return this != null && this.module instanceof CanonicalType; 478 } 479 480 /** 481 * @return {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 482 */ 483 public CodeableConcept getModuleCodeableConcept() throws FHIRException { 484 if (this.module == null) 485 this.module = new CodeableConcept(); 486 if (!(this.module instanceof CodeableConcept)) 487 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.module.getClass().getName()+" was encountered"); 488 return (CodeableConcept) this.module; 489 } 490 491 public boolean hasModuleCodeableConcept() { 492 return this != null && this.module instanceof CodeableConcept; 493 } 494 495 public boolean hasModule() { 496 return this.module != null && !this.module.isEmpty(); 497 } 498 499 /** 500 * @param value {@link #module} (An identifier, CodeableConcept or canonical reference to the guidance that was requested.) 501 */ 502 public GuidanceResponse setModule(Type value) { 503 if (value != null && !(value instanceof UriType || value instanceof CanonicalType || value instanceof CodeableConcept)) 504 throw new Error("Not the right type for GuidanceResponse.module[x]: "+value.fhirType()); 505 this.module = value; 506 return this; 507 } 508 509 /** 510 * @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 511 */ 512 public Enumeration<GuidanceResponseStatus> getStatusElement() { 513 if (this.status == null) 514 if (Configuration.errorOnAutoCreate()) 515 throw new Error("Attempt to auto-create GuidanceResponse.status"); 516 else if (Configuration.doAutoCreate()) 517 this.status = new Enumeration<GuidanceResponseStatus>(new GuidanceResponseStatusEnumFactory()); // bb 518 return this.status; 519 } 520 521 public boolean hasStatusElement() { 522 return this.status != null && !this.status.isEmpty(); 523 } 524 525 public boolean hasStatus() { 526 return this.status != null && !this.status.isEmpty(); 527 } 528 529 /** 530 * @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 531 */ 532 public GuidanceResponse setStatusElement(Enumeration<GuidanceResponseStatus> value) { 533 this.status = value; 534 return this; 535 } 536 537 /** 538 * @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. 539 */ 540 public GuidanceResponseStatus getStatus() { 541 return this.status == null ? null : this.status.getValue(); 542 } 543 544 /** 545 * @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. 546 */ 547 public GuidanceResponse setStatus(GuidanceResponseStatus value) { 548 if (this.status == null) 549 this.status = new Enumeration<GuidanceResponseStatus>(new GuidanceResponseStatusEnumFactory()); 550 this.status.setValue(value); 551 return this; 552 } 553 554 /** 555 * @return {@link #subject} (The patient for which the request was processed.) 556 */ 557 public Reference getSubject() { 558 if (this.subject == null) 559 if (Configuration.errorOnAutoCreate()) 560 throw new Error("Attempt to auto-create GuidanceResponse.subject"); 561 else if (Configuration.doAutoCreate()) 562 this.subject = new Reference(); // cc 563 return this.subject; 564 } 565 566 public boolean hasSubject() { 567 return this.subject != null && !this.subject.isEmpty(); 568 } 569 570 /** 571 * @param value {@link #subject} (The patient for which the request was processed.) 572 */ 573 public GuidanceResponse setSubject(Reference value) { 574 this.subject = value; 575 return this; 576 } 577 578 /** 579 * @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.) 580 */ 581 public Resource getSubjectTarget() { 582 return this.subjectTarget; 583 } 584 585 /** 586 * @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.) 587 */ 588 public GuidanceResponse setSubjectTarget(Resource value) { 589 this.subjectTarget = value; 590 return this; 591 } 592 593 /** 594 * @return {@link #encounter} (The encounter during which this response was created or to which the creation of this record is tightly associated.) 595 */ 596 public Reference getEncounter() { 597 if (this.encounter == null) 598 if (Configuration.errorOnAutoCreate()) 599 throw new Error("Attempt to auto-create GuidanceResponse.encounter"); 600 else if (Configuration.doAutoCreate()) 601 this.encounter = new Reference(); // cc 602 return this.encounter; 603 } 604 605 public boolean hasEncounter() { 606 return this.encounter != null && !this.encounter.isEmpty(); 607 } 608 609 /** 610 * @param value {@link #encounter} (The encounter during which this response was created or to which the creation of this record is tightly associated.) 611 */ 612 public GuidanceResponse setEncounter(Reference value) { 613 this.encounter = value; 614 return this; 615 } 616 617 /** 618 * @return {@link #encounter} 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 encounter during which this response was created or to which the creation of this record is tightly associated.) 619 */ 620 public Encounter getEncounterTarget() { 621 if (this.encounterTarget == null) 622 if (Configuration.errorOnAutoCreate()) 623 throw new Error("Attempt to auto-create GuidanceResponse.encounter"); 624 else if (Configuration.doAutoCreate()) 625 this.encounterTarget = new Encounter(); // aa 626 return this.encounterTarget; 627 } 628 629 /** 630 * @param value {@link #encounter} 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 encounter during which this response was created or to which the creation of this record is tightly associated.) 631 */ 632 public GuidanceResponse setEncounterTarget(Encounter value) { 633 this.encounterTarget = value; 634 return this; 635 } 636 637 /** 638 * @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 639 */ 640 public DateTimeType getOccurrenceDateTimeElement() { 641 if (this.occurrenceDateTime == null) 642 if (Configuration.errorOnAutoCreate()) 643 throw new Error("Attempt to auto-create GuidanceResponse.occurrenceDateTime"); 644 else if (Configuration.doAutoCreate()) 645 this.occurrenceDateTime = new DateTimeType(); // bb 646 return this.occurrenceDateTime; 647 } 648 649 public boolean hasOccurrenceDateTimeElement() { 650 return this.occurrenceDateTime != null && !this.occurrenceDateTime.isEmpty(); 651 } 652 653 public boolean hasOccurrenceDateTime() { 654 return this.occurrenceDateTime != null && !this.occurrenceDateTime.isEmpty(); 655 } 656 657 /** 658 * @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 659 */ 660 public GuidanceResponse setOccurrenceDateTimeElement(DateTimeType value) { 661 this.occurrenceDateTime = value; 662 return this; 663 } 664 665 /** 666 * @return Indicates when the guidance response was processed. 667 */ 668 public Date getOccurrenceDateTime() { 669 return this.occurrenceDateTime == null ? null : this.occurrenceDateTime.getValue(); 670 } 671 672 /** 673 * @param value Indicates when the guidance response was processed. 674 */ 675 public GuidanceResponse setOccurrenceDateTime(Date value) { 676 if (value == null) 677 this.occurrenceDateTime = null; 678 else { 679 if (this.occurrenceDateTime == null) 680 this.occurrenceDateTime = new DateTimeType(); 681 this.occurrenceDateTime.setValue(value); 682 } 683 return this; 684 } 685 686 /** 687 * @return {@link #performer} (Provides a reference to the device that performed the guidance.) 688 */ 689 public Reference getPerformer() { 690 if (this.performer == null) 691 if (Configuration.errorOnAutoCreate()) 692 throw new Error("Attempt to auto-create GuidanceResponse.performer"); 693 else if (Configuration.doAutoCreate()) 694 this.performer = new Reference(); // cc 695 return this.performer; 696 } 697 698 public boolean hasPerformer() { 699 return this.performer != null && !this.performer.isEmpty(); 700 } 701 702 /** 703 * @param value {@link #performer} (Provides a reference to the device that performed the guidance.) 704 */ 705 public GuidanceResponse setPerformer(Reference value) { 706 this.performer = value; 707 return this; 708 } 709 710 /** 711 * @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.) 712 */ 713 public Device getPerformerTarget() { 714 if (this.performerTarget == null) 715 if (Configuration.errorOnAutoCreate()) 716 throw new Error("Attempt to auto-create GuidanceResponse.performer"); 717 else if (Configuration.doAutoCreate()) 718 this.performerTarget = new Device(); // aa 719 return this.performerTarget; 720 } 721 722 /** 723 * @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.) 724 */ 725 public GuidanceResponse setPerformerTarget(Device value) { 726 this.performerTarget = value; 727 return this; 728 } 729 730 /** 731 * @return {@link #reasonCode} (Describes the reason for the guidance response in coded or textual form.) 732 */ 733 public List<CodeableConcept> getReasonCode() { 734 if (this.reasonCode == null) 735 this.reasonCode = new ArrayList<CodeableConcept>(); 736 return this.reasonCode; 737 } 738 739 /** 740 * @return Returns a reference to <code>this</code> for easy method chaining 741 */ 742 public GuidanceResponse setReasonCode(List<CodeableConcept> theReasonCode) { 743 this.reasonCode = theReasonCode; 744 return this; 745 } 746 747 public boolean hasReasonCode() { 748 if (this.reasonCode == null) 749 return false; 750 for (CodeableConcept item : this.reasonCode) 751 if (!item.isEmpty()) 752 return true; 753 return false; 754 } 755 756 public CodeableConcept addReasonCode() { //3 757 CodeableConcept t = new CodeableConcept(); 758 if (this.reasonCode == null) 759 this.reasonCode = new ArrayList<CodeableConcept>(); 760 this.reasonCode.add(t); 761 return t; 762 } 763 764 public GuidanceResponse addReasonCode(CodeableConcept t) { //3 765 if (t == null) 766 return this; 767 if (this.reasonCode == null) 768 this.reasonCode = new ArrayList<CodeableConcept>(); 769 this.reasonCode.add(t); 770 return this; 771 } 772 773 /** 774 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist 775 */ 776 public CodeableConcept getReasonCodeFirstRep() { 777 if (getReasonCode().isEmpty()) { 778 addReasonCode(); 779 } 780 return getReasonCode().get(0); 781 } 782 783 /** 784 * @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.) 785 */ 786 public List<Reference> getReasonReference() { 787 if (this.reasonReference == null) 788 this.reasonReference = new ArrayList<Reference>(); 789 return this.reasonReference; 790 } 791 792 /** 793 * @return Returns a reference to <code>this</code> for easy method chaining 794 */ 795 public GuidanceResponse setReasonReference(List<Reference> theReasonReference) { 796 this.reasonReference = theReasonReference; 797 return this; 798 } 799 800 public boolean hasReasonReference() { 801 if (this.reasonReference == null) 802 return false; 803 for (Reference item : this.reasonReference) 804 if (!item.isEmpty()) 805 return true; 806 return false; 807 } 808 809 public Reference addReasonReference() { //3 810 Reference t = new Reference(); 811 if (this.reasonReference == null) 812 this.reasonReference = new ArrayList<Reference>(); 813 this.reasonReference.add(t); 814 return t; 815 } 816 817 public GuidanceResponse addReasonReference(Reference t) { //3 818 if (t == null) 819 return this; 820 if (this.reasonReference == null) 821 this.reasonReference = new ArrayList<Reference>(); 822 this.reasonReference.add(t); 823 return this; 824 } 825 826 /** 827 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist 828 */ 829 public Reference getReasonReferenceFirstRep() { 830 if (getReasonReference().isEmpty()) { 831 addReasonReference(); 832 } 833 return getReasonReference().get(0); 834 } 835 836 /** 837 * @deprecated Use Reference#setResource(IBaseResource) instead 838 */ 839 @Deprecated 840 public List<Resource> getReasonReferenceTarget() { 841 if (this.reasonReferenceTarget == null) 842 this.reasonReferenceTarget = new ArrayList<Resource>(); 843 return this.reasonReferenceTarget; 844 } 845 846 /** 847 * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) 848 */ 849 public List<Annotation> getNote() { 850 if (this.note == null) 851 this.note = new ArrayList<Annotation>(); 852 return this.note; 853 } 854 855 /** 856 * @return Returns a reference to <code>this</code> for easy method chaining 857 */ 858 public GuidanceResponse setNote(List<Annotation> theNote) { 859 this.note = theNote; 860 return this; 861 } 862 863 public boolean hasNote() { 864 if (this.note == null) 865 return false; 866 for (Annotation item : this.note) 867 if (!item.isEmpty()) 868 return true; 869 return false; 870 } 871 872 public Annotation addNote() { //3 873 Annotation t = new Annotation(); 874 if (this.note == null) 875 this.note = new ArrayList<Annotation>(); 876 this.note.add(t); 877 return t; 878 } 879 880 public GuidanceResponse addNote(Annotation t) { //3 881 if (t == null) 882 return this; 883 if (this.note == null) 884 this.note = new ArrayList<Annotation>(); 885 this.note.add(t); 886 return this; 887 } 888 889 /** 890 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 891 */ 892 public Annotation getNoteFirstRep() { 893 if (getNote().isEmpty()) { 894 addNote(); 895 } 896 return getNote().get(0); 897 } 898 899 /** 900 * @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.) 901 */ 902 public List<Reference> getEvaluationMessage() { 903 if (this.evaluationMessage == null) 904 this.evaluationMessage = new ArrayList<Reference>(); 905 return this.evaluationMessage; 906 } 907 908 /** 909 * @return Returns a reference to <code>this</code> for easy method chaining 910 */ 911 public GuidanceResponse setEvaluationMessage(List<Reference> theEvaluationMessage) { 912 this.evaluationMessage = theEvaluationMessage; 913 return this; 914 } 915 916 public boolean hasEvaluationMessage() { 917 if (this.evaluationMessage == null) 918 return false; 919 for (Reference item : this.evaluationMessage) 920 if (!item.isEmpty()) 921 return true; 922 return false; 923 } 924 925 public Reference addEvaluationMessage() { //3 926 Reference t = new Reference(); 927 if (this.evaluationMessage == null) 928 this.evaluationMessage = new ArrayList<Reference>(); 929 this.evaluationMessage.add(t); 930 return t; 931 } 932 933 public GuidanceResponse addEvaluationMessage(Reference t) { //3 934 if (t == null) 935 return this; 936 if (this.evaluationMessage == null) 937 this.evaluationMessage = new ArrayList<Reference>(); 938 this.evaluationMessage.add(t); 939 return this; 940 } 941 942 /** 943 * @return The first repetition of repeating field {@link #evaluationMessage}, creating it if it does not already exist 944 */ 945 public Reference getEvaluationMessageFirstRep() { 946 if (getEvaluationMessage().isEmpty()) { 947 addEvaluationMessage(); 948 } 949 return getEvaluationMessage().get(0); 950 } 951 952 /** 953 * @deprecated Use Reference#setResource(IBaseResource) instead 954 */ 955 @Deprecated 956 public List<OperationOutcome> getEvaluationMessageTarget() { 957 if (this.evaluationMessageTarget == null) 958 this.evaluationMessageTarget = new ArrayList<OperationOutcome>(); 959 return this.evaluationMessageTarget; 960 } 961 962 /** 963 * @deprecated Use Reference#setResource(IBaseResource) instead 964 */ 965 @Deprecated 966 public OperationOutcome addEvaluationMessageTarget() { 967 OperationOutcome r = new OperationOutcome(); 968 if (this.evaluationMessageTarget == null) 969 this.evaluationMessageTarget = new ArrayList<OperationOutcome>(); 970 this.evaluationMessageTarget.add(r); 971 return r; 972 } 973 974 /** 975 * @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.) 976 */ 977 public Reference getOutputParameters() { 978 if (this.outputParameters == null) 979 if (Configuration.errorOnAutoCreate()) 980 throw new Error("Attempt to auto-create GuidanceResponse.outputParameters"); 981 else if (Configuration.doAutoCreate()) 982 this.outputParameters = new Reference(); // cc 983 return this.outputParameters; 984 } 985 986 public boolean hasOutputParameters() { 987 return this.outputParameters != null && !this.outputParameters.isEmpty(); 988 } 989 990 /** 991 * @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.) 992 */ 993 public GuidanceResponse setOutputParameters(Reference value) { 994 this.outputParameters = value; 995 return this; 996 } 997 998 /** 999 * @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.) 1000 */ 1001 public Parameters getOutputParametersTarget() { 1002 if (this.outputParametersTarget == null) 1003 if (Configuration.errorOnAutoCreate()) 1004 throw new Error("Attempt to auto-create GuidanceResponse.outputParameters"); 1005 else if (Configuration.doAutoCreate()) 1006 this.outputParametersTarget = new Parameters(); // aa 1007 return this.outputParametersTarget; 1008 } 1009 1010 /** 1011 * @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.) 1012 */ 1013 public GuidanceResponse setOutputParametersTarget(Parameters value) { 1014 this.outputParametersTarget = value; 1015 return this; 1016 } 1017 1018 /** 1019 * @return {@link #result} (The actions, if any, produced by the evaluation of the artifact.) 1020 */ 1021 public Reference getResult() { 1022 if (this.result == null) 1023 if (Configuration.errorOnAutoCreate()) 1024 throw new Error("Attempt to auto-create GuidanceResponse.result"); 1025 else if (Configuration.doAutoCreate()) 1026 this.result = new Reference(); // cc 1027 return this.result; 1028 } 1029 1030 public boolean hasResult() { 1031 return this.result != null && !this.result.isEmpty(); 1032 } 1033 1034 /** 1035 * @param value {@link #result} (The actions, if any, produced by the evaluation of the artifact.) 1036 */ 1037 public GuidanceResponse setResult(Reference value) { 1038 this.result = value; 1039 return this; 1040 } 1041 1042 /** 1043 * @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.) 1044 */ 1045 public Resource getResultTarget() { 1046 return this.resultTarget; 1047 } 1048 1049 /** 1050 * @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.) 1051 */ 1052 public GuidanceResponse setResultTarget(Resource value) { 1053 this.resultTarget = value; 1054 return this; 1055 } 1056 1057 /** 1058 * @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.) 1059 */ 1060 public List<DataRequirement> getDataRequirement() { 1061 if (this.dataRequirement == null) 1062 this.dataRequirement = new ArrayList<DataRequirement>(); 1063 return this.dataRequirement; 1064 } 1065 1066 /** 1067 * @return Returns a reference to <code>this</code> for easy method chaining 1068 */ 1069 public GuidanceResponse setDataRequirement(List<DataRequirement> theDataRequirement) { 1070 this.dataRequirement = theDataRequirement; 1071 return this; 1072 } 1073 1074 public boolean hasDataRequirement() { 1075 if (this.dataRequirement == null) 1076 return false; 1077 for (DataRequirement item : this.dataRequirement) 1078 if (!item.isEmpty()) 1079 return true; 1080 return false; 1081 } 1082 1083 public DataRequirement addDataRequirement() { //3 1084 DataRequirement t = new DataRequirement(); 1085 if (this.dataRequirement == null) 1086 this.dataRequirement = new ArrayList<DataRequirement>(); 1087 this.dataRequirement.add(t); 1088 return t; 1089 } 1090 1091 public GuidanceResponse addDataRequirement(DataRequirement t) { //3 1092 if (t == null) 1093 return this; 1094 if (this.dataRequirement == null) 1095 this.dataRequirement = new ArrayList<DataRequirement>(); 1096 this.dataRequirement.add(t); 1097 return this; 1098 } 1099 1100 /** 1101 * @return The first repetition of repeating field {@link #dataRequirement}, creating it if it does not already exist 1102 */ 1103 public DataRequirement getDataRequirementFirstRep() { 1104 if (getDataRequirement().isEmpty()) { 1105 addDataRequirement(); 1106 } 1107 return getDataRequirement().get(0); 1108 } 1109 1110 protected void listChildren(List<Property> children) { 1111 super.listChildren(children); 1112 children.add(new Property("requestIdentifier", "Identifier", "The identifier of the request associated with this response. If an identifier 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, requestIdentifier)); 1113 children.add(new Property("identifier", "Identifier", "Allows a service to provide unique, business identifiers for the response.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1114 children.add(new Property("module[x]", "uri|canonical|CodeableConcept", "An identifier, CodeableConcept or canonical reference to the guidance that was requested.", 0, 1, module)); 1115 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)); 1116 children.add(new Property("subject", "Reference(Patient|Group)", "The patient for which the request was processed.", 0, 1, subject)); 1117 children.add(new Property("encounter", "Reference(Encounter)", "The encounter during which this response was created or to which the creation of this record is tightly associated.", 0, 1, encounter)); 1118 children.add(new Property("occurrenceDateTime", "dateTime", "Indicates when the guidance response was processed.", 0, 1, occurrenceDateTime)); 1119 children.add(new Property("performer", "Reference(Device)", "Provides a reference to the device that performed the guidance.", 0, 1, performer)); 1120 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)); 1121 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)); 1122 children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); 1123 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)); 1124 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)); 1125 children.add(new Property("result", "Reference(CarePlan|RequestGroup)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result)); 1126 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)); 1127 } 1128 1129 @Override 1130 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1131 switch (_hash) { 1132 case -354233192: /*requestIdentifier*/ return new Property("requestIdentifier", "Identifier", "The identifier of the request associated with this response. If an identifier 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, requestIdentifier); 1133 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); 1134 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); 1135 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); 1136 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); 1137 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); 1138 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); 1139 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); 1140 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The patient for which the request was processed.", 0, 1, subject); 1141 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The encounter during which this response was created or to which the creation of this record is tightly associated.", 0, 1, encounter); 1142 case -298443636: /*occurrenceDateTime*/ return new Property("occurrenceDateTime", "dateTime", "Indicates when the guidance response was processed.", 0, 1, occurrenceDateTime); 1143 case 481140686: /*performer*/ return new Property("performer", "Reference(Device)", "Provides a reference to the device that performed the guidance.", 0, 1, performer); 1144 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); 1145 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); 1146 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); 1147 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); 1148 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); 1149 case -934426595: /*result*/ return new Property("result", "Reference(CarePlan|RequestGroup)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result); 1150 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); 1151 default: return super.getNamedProperty(_hash, _name, _checkValid); 1152 } 1153 1154 } 1155 1156 @Override 1157 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1158 switch (hash) { 1159 case -354233192: /*requestIdentifier*/ return this.requestIdentifier == null ? new Base[0] : new Base[] {this.requestIdentifier}; // Identifier 1160 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1161 case -1068784020: /*module*/ return this.module == null ? new Base[0] : new Base[] {this.module}; // Type 1162 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<GuidanceResponseStatus> 1163 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1164 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1165 case -298443636: /*occurrenceDateTime*/ return this.occurrenceDateTime == null ? new Base[0] : new Base[] {this.occurrenceDateTime}; // DateTimeType 1166 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 1167 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 1168 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 1169 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1170 case 1081619755: /*evaluationMessage*/ return this.evaluationMessage == null ? new Base[0] : this.evaluationMessage.toArray(new Base[this.evaluationMessage.size()]); // Reference 1171 case 525609419: /*outputParameters*/ return this.outputParameters == null ? new Base[0] : new Base[] {this.outputParameters}; // Reference 1172 case -934426595: /*result*/ return this.result == null ? new Base[0] : new Base[] {this.result}; // Reference 1173 case 629147193: /*dataRequirement*/ return this.dataRequirement == null ? new Base[0] : this.dataRequirement.toArray(new Base[this.dataRequirement.size()]); // DataRequirement 1174 default: return super.getProperty(hash, name, checkValid); 1175 } 1176 1177 } 1178 1179 @Override 1180 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1181 switch (hash) { 1182 case -354233192: // requestIdentifier 1183 this.requestIdentifier = castToIdentifier(value); // Identifier 1184 return value; 1185 case -1618432855: // identifier 1186 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1187 return value; 1188 case -1068784020: // module 1189 this.module = castToType(value); // Type 1190 return value; 1191 case -892481550: // status 1192 value = new GuidanceResponseStatusEnumFactory().fromType(castToCode(value)); 1193 this.status = (Enumeration) value; // Enumeration<GuidanceResponseStatus> 1194 return value; 1195 case -1867885268: // subject 1196 this.subject = castToReference(value); // Reference 1197 return value; 1198 case 1524132147: // encounter 1199 this.encounter = castToReference(value); // Reference 1200 return value; 1201 case -298443636: // occurrenceDateTime 1202 this.occurrenceDateTime = castToDateTime(value); // DateTimeType 1203 return value; 1204 case 481140686: // performer 1205 this.performer = castToReference(value); // Reference 1206 return value; 1207 case 722137681: // reasonCode 1208 this.getReasonCode().add(castToCodeableConcept(value)); // CodeableConcept 1209 return value; 1210 case -1146218137: // reasonReference 1211 this.getReasonReference().add(castToReference(value)); // Reference 1212 return value; 1213 case 3387378: // note 1214 this.getNote().add(castToAnnotation(value)); // Annotation 1215 return value; 1216 case 1081619755: // evaluationMessage 1217 this.getEvaluationMessage().add(castToReference(value)); // Reference 1218 return value; 1219 case 525609419: // outputParameters 1220 this.outputParameters = castToReference(value); // Reference 1221 return value; 1222 case -934426595: // result 1223 this.result = castToReference(value); // Reference 1224 return value; 1225 case 629147193: // dataRequirement 1226 this.getDataRequirement().add(castToDataRequirement(value)); // DataRequirement 1227 return value; 1228 default: return super.setProperty(hash, name, value); 1229 } 1230 1231 } 1232 1233 @Override 1234 public Base setProperty(String name, Base value) throws FHIRException { 1235 if (name.equals("requestIdentifier")) { 1236 this.requestIdentifier = castToIdentifier(value); // Identifier 1237 } else if (name.equals("identifier")) { 1238 this.getIdentifier().add(castToIdentifier(value)); 1239 } else if (name.equals("module[x]")) { 1240 this.module = castToType(value); // Type 1241 } else if (name.equals("status")) { 1242 value = new GuidanceResponseStatusEnumFactory().fromType(castToCode(value)); 1243 this.status = (Enumeration) value; // Enumeration<GuidanceResponseStatus> 1244 } else if (name.equals("subject")) { 1245 this.subject = castToReference(value); // Reference 1246 } else if (name.equals("encounter")) { 1247 this.encounter = castToReference(value); // Reference 1248 } else if (name.equals("occurrenceDateTime")) { 1249 this.occurrenceDateTime = castToDateTime(value); // DateTimeType 1250 } else if (name.equals("performer")) { 1251 this.performer = castToReference(value); // Reference 1252 } else if (name.equals("reasonCode")) { 1253 this.getReasonCode().add(castToCodeableConcept(value)); 1254 } else if (name.equals("reasonReference")) { 1255 this.getReasonReference().add(castToReference(value)); 1256 } else if (name.equals("note")) { 1257 this.getNote().add(castToAnnotation(value)); 1258 } else if (name.equals("evaluationMessage")) { 1259 this.getEvaluationMessage().add(castToReference(value)); 1260 } else if (name.equals("outputParameters")) { 1261 this.outputParameters = castToReference(value); // Reference 1262 } else if (name.equals("result")) { 1263 this.result = castToReference(value); // Reference 1264 } else if (name.equals("dataRequirement")) { 1265 this.getDataRequirement().add(castToDataRequirement(value)); 1266 } else 1267 return super.setProperty(name, value); 1268 return value; 1269 } 1270 1271 @Override 1272 public Base makeProperty(int hash, String name) throws FHIRException { 1273 switch (hash) { 1274 case -354233192: return getRequestIdentifier(); 1275 case -1618432855: return addIdentifier(); 1276 case -1552083308: return getModule(); 1277 case -1068784020: return getModule(); 1278 case -892481550: return getStatusElement(); 1279 case -1867885268: return getSubject(); 1280 case 1524132147: return getEncounter(); 1281 case -298443636: return getOccurrenceDateTimeElement(); 1282 case 481140686: return getPerformer(); 1283 case 722137681: return addReasonCode(); 1284 case -1146218137: return addReasonReference(); 1285 case 3387378: return addNote(); 1286 case 1081619755: return addEvaluationMessage(); 1287 case 525609419: return getOutputParameters(); 1288 case -934426595: return getResult(); 1289 case 629147193: return addDataRequirement(); 1290 default: return super.makeProperty(hash, name); 1291 } 1292 1293 } 1294 1295 @Override 1296 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1297 switch (hash) { 1298 case -354233192: /*requestIdentifier*/ return new String[] {"Identifier"}; 1299 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1300 case -1068784020: /*module*/ return new String[] {"uri", "canonical", "CodeableConcept"}; 1301 case -892481550: /*status*/ return new String[] {"code"}; 1302 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1303 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1304 case -298443636: /*occurrenceDateTime*/ return new String[] {"dateTime"}; 1305 case 481140686: /*performer*/ return new String[] {"Reference"}; 1306 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 1307 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 1308 case 3387378: /*note*/ return new String[] {"Annotation"}; 1309 case 1081619755: /*evaluationMessage*/ return new String[] {"Reference"}; 1310 case 525609419: /*outputParameters*/ return new String[] {"Reference"}; 1311 case -934426595: /*result*/ return new String[] {"Reference"}; 1312 case 629147193: /*dataRequirement*/ return new String[] {"DataRequirement"}; 1313 default: return super.getTypesForProperty(hash, name); 1314 } 1315 1316 } 1317 1318 @Override 1319 public Base addChild(String name) throws FHIRException { 1320 if (name.equals("requestIdentifier")) { 1321 this.requestIdentifier = new Identifier(); 1322 return this.requestIdentifier; 1323 } 1324 else if (name.equals("identifier")) { 1325 return addIdentifier(); 1326 } 1327 else if (name.equals("moduleUri")) { 1328 this.module = new UriType(); 1329 return this.module; 1330 } 1331 else if (name.equals("moduleCanonical")) { 1332 this.module = new CanonicalType(); 1333 return this.module; 1334 } 1335 else if (name.equals("moduleCodeableConcept")) { 1336 this.module = new CodeableConcept(); 1337 return this.module; 1338 } 1339 else if (name.equals("status")) { 1340 throw new FHIRException("Cannot call addChild on a primitive type GuidanceResponse.status"); 1341 } 1342 else if (name.equals("subject")) { 1343 this.subject = new Reference(); 1344 return this.subject; 1345 } 1346 else if (name.equals("encounter")) { 1347 this.encounter = new Reference(); 1348 return this.encounter; 1349 } 1350 else if (name.equals("occurrenceDateTime")) { 1351 throw new FHIRException("Cannot call addChild on a primitive type GuidanceResponse.occurrenceDateTime"); 1352 } 1353 else if (name.equals("performer")) { 1354 this.performer = new Reference(); 1355 return this.performer; 1356 } 1357 else if (name.equals("reasonCode")) { 1358 return addReasonCode(); 1359 } 1360 else if (name.equals("reasonReference")) { 1361 return addReasonReference(); 1362 } 1363 else if (name.equals("note")) { 1364 return addNote(); 1365 } 1366 else if (name.equals("evaluationMessage")) { 1367 return addEvaluationMessage(); 1368 } 1369 else if (name.equals("outputParameters")) { 1370 this.outputParameters = new Reference(); 1371 return this.outputParameters; 1372 } 1373 else if (name.equals("result")) { 1374 this.result = new Reference(); 1375 return this.result; 1376 } 1377 else if (name.equals("dataRequirement")) { 1378 return addDataRequirement(); 1379 } 1380 else 1381 return super.addChild(name); 1382 } 1383 1384 public String fhirType() { 1385 return "GuidanceResponse"; 1386 1387 } 1388 1389 public GuidanceResponse copy() { 1390 GuidanceResponse dst = new GuidanceResponse(); 1391 copyValues(dst); 1392 dst.requestIdentifier = requestIdentifier == null ? null : requestIdentifier.copy(); 1393 if (identifier != null) { 1394 dst.identifier = new ArrayList<Identifier>(); 1395 for (Identifier i : identifier) 1396 dst.identifier.add(i.copy()); 1397 }; 1398 dst.module = module == null ? null : module.copy(); 1399 dst.status = status == null ? null : status.copy(); 1400 dst.subject = subject == null ? null : subject.copy(); 1401 dst.encounter = encounter == null ? null : encounter.copy(); 1402 dst.occurrenceDateTime = occurrenceDateTime == null ? null : occurrenceDateTime.copy(); 1403 dst.performer = performer == null ? null : performer.copy(); 1404 if (reasonCode != null) { 1405 dst.reasonCode = new ArrayList<CodeableConcept>(); 1406 for (CodeableConcept i : reasonCode) 1407 dst.reasonCode.add(i.copy()); 1408 }; 1409 if (reasonReference != null) { 1410 dst.reasonReference = new ArrayList<Reference>(); 1411 for (Reference i : reasonReference) 1412 dst.reasonReference.add(i.copy()); 1413 }; 1414 if (note != null) { 1415 dst.note = new ArrayList<Annotation>(); 1416 for (Annotation i : note) 1417 dst.note.add(i.copy()); 1418 }; 1419 if (evaluationMessage != null) { 1420 dst.evaluationMessage = new ArrayList<Reference>(); 1421 for (Reference i : evaluationMessage) 1422 dst.evaluationMessage.add(i.copy()); 1423 }; 1424 dst.outputParameters = outputParameters == null ? null : outputParameters.copy(); 1425 dst.result = result == null ? null : result.copy(); 1426 if (dataRequirement != null) { 1427 dst.dataRequirement = new ArrayList<DataRequirement>(); 1428 for (DataRequirement i : dataRequirement) 1429 dst.dataRequirement.add(i.copy()); 1430 }; 1431 return dst; 1432 } 1433 1434 protected GuidanceResponse typedCopy() { 1435 return copy(); 1436 } 1437 1438 @Override 1439 public boolean equalsDeep(Base other_) { 1440 if (!super.equalsDeep(other_)) 1441 return false; 1442 if (!(other_ instanceof GuidanceResponse)) 1443 return false; 1444 GuidanceResponse o = (GuidanceResponse) other_; 1445 return compareDeep(requestIdentifier, o.requestIdentifier, true) && compareDeep(identifier, o.identifier, true) 1446 && compareDeep(module, o.module, true) && compareDeep(status, o.status, true) && compareDeep(subject, o.subject, true) 1447 && compareDeep(encounter, o.encounter, true) && compareDeep(occurrenceDateTime, o.occurrenceDateTime, true) 1448 && compareDeep(performer, o.performer, true) && compareDeep(reasonCode, o.reasonCode, true) && compareDeep(reasonReference, o.reasonReference, true) 1449 && compareDeep(note, o.note, true) && compareDeep(evaluationMessage, o.evaluationMessage, true) 1450 && compareDeep(outputParameters, o.outputParameters, true) && compareDeep(result, o.result, true) 1451 && compareDeep(dataRequirement, o.dataRequirement, true); 1452 } 1453 1454 @Override 1455 public boolean equalsShallow(Base other_) { 1456 if (!super.equalsShallow(other_)) 1457 return false; 1458 if (!(other_ instanceof GuidanceResponse)) 1459 return false; 1460 GuidanceResponse o = (GuidanceResponse) other_; 1461 return compareValues(status, o.status, true) && compareValues(occurrenceDateTime, o.occurrenceDateTime, true) 1462 ; 1463 } 1464 1465 public boolean isEmpty() { 1466 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(requestIdentifier, identifier 1467 , module, status, subject, encounter, occurrenceDateTime, performer, reasonCode 1468 , reasonReference, note, evaluationMessage, outputParameters, result, dataRequirement 1469 ); 1470 } 1471 1472 @Override 1473 public ResourceType getResourceType() { 1474 return ResourceType.GuidanceResponse; 1475 } 1476 1477 /** 1478 * Search parameter: <b>request</b> 1479 * <p> 1480 * Description: <b>The identifier of the request associated with the response</b><br> 1481 * Type: <b>token</b><br> 1482 * Path: <b>GuidanceResponse.requestIdentifier</b><br> 1483 * </p> 1484 */ 1485 @SearchParamDefinition(name="request", path="GuidanceResponse.requestIdentifier", description="The identifier of the request associated with the response", type="token" ) 1486 public static final String SP_REQUEST = "request"; 1487 /** 1488 * <b>Fluent Client</b> search parameter constant for <b>request</b> 1489 * <p> 1490 * Description: <b>The identifier of the request associated with the response</b><br> 1491 * Type: <b>token</b><br> 1492 * Path: <b>GuidanceResponse.requestIdentifier</b><br> 1493 * </p> 1494 */ 1495 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REQUEST = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REQUEST); 1496 1497 /** 1498 * Search parameter: <b>identifier</b> 1499 * <p> 1500 * Description: <b>The identifier of the guidance response</b><br> 1501 * Type: <b>token</b><br> 1502 * Path: <b>GuidanceResponse.identifier</b><br> 1503 * </p> 1504 */ 1505 @SearchParamDefinition(name="identifier", path="GuidanceResponse.identifier", description="The identifier of the guidance response", type="token" ) 1506 public static final String SP_IDENTIFIER = "identifier"; 1507 /** 1508 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1509 * <p> 1510 * Description: <b>The identifier of the guidance response</b><br> 1511 * Type: <b>token</b><br> 1512 * Path: <b>GuidanceResponse.identifier</b><br> 1513 * </p> 1514 */ 1515 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1516 1517 /** 1518 * Search parameter: <b>patient</b> 1519 * <p> 1520 * Description: <b>The identity of a patient to search for guidance response results</b><br> 1521 * Type: <b>reference</b><br> 1522 * Path: <b>GuidanceResponse.subject</b><br> 1523 * </p> 1524 */ 1525 @SearchParamDefinition(name="patient", path="GuidanceResponse.subject.where(resolve() is Patient)", description="The identity of a patient to search for guidance response results", type="reference", target={Patient.class } ) 1526 public static final String SP_PATIENT = "patient"; 1527 /** 1528 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1529 * <p> 1530 * Description: <b>The identity of a patient to search for guidance response results</b><br> 1531 * Type: <b>reference</b><br> 1532 * Path: <b>GuidanceResponse.subject</b><br> 1533 * </p> 1534 */ 1535 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1536 1537/** 1538 * Constant for fluent queries to be used to add include statements. Specifies 1539 * the path value of "<b>GuidanceResponse:patient</b>". 1540 */ 1541 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("GuidanceResponse:patient").toLocked(); 1542 1543 /** 1544 * Search parameter: <b>subject</b> 1545 * <p> 1546 * Description: <b>The subject that the guidance response is about</b><br> 1547 * Type: <b>reference</b><br> 1548 * Path: <b>GuidanceResponse.subject</b><br> 1549 * </p> 1550 */ 1551 @SearchParamDefinition(name="subject", path="GuidanceResponse.subject", description="The subject that the guidance response is about", type="reference", target={Group.class, Patient.class } ) 1552 public static final String SP_SUBJECT = "subject"; 1553 /** 1554 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1555 * <p> 1556 * Description: <b>The subject that the guidance response is about</b><br> 1557 * Type: <b>reference</b><br> 1558 * Path: <b>GuidanceResponse.subject</b><br> 1559 * </p> 1560 */ 1561 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1562 1563/** 1564 * Constant for fluent queries to be used to add include statements. Specifies 1565 * the path value of "<b>GuidanceResponse:subject</b>". 1566 */ 1567 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("GuidanceResponse:subject").toLocked(); 1568 1569 1570} 1571