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