001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used. 052 */ 053@ResourceDef(name="DeviceRequest", profile="http://hl7.org/fhir/StructureDefinition/DeviceRequest") 054public class DeviceRequest extends DomainResource { 055 056 @Block() 057 public static class DeviceRequestParameterComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * A code or string that identifies the device detail being asserted. 060 */ 061 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 062 @Description(shortDefinition="Device detail", formalDefinition="A code or string that identifies the device detail being asserted." ) 063 protected CodeableConcept code; 064 065 /** 066 * The value of the device detail. 067 */ 068 @Child(name = "value", type = {CodeableConcept.class, Quantity.class, Range.class, BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 069 @Description(shortDefinition="Value of detail", formalDefinition="The value of the device detail." ) 070 protected DataType value; 071 072 private static final long serialVersionUID = -1950789033L; 073 074 /** 075 * Constructor 076 */ 077 public DeviceRequestParameterComponent() { 078 super(); 079 } 080 081 /** 082 * @return {@link #code} (A code or string that identifies the device detail being asserted.) 083 */ 084 public CodeableConcept getCode() { 085 if (this.code == null) 086 if (Configuration.errorOnAutoCreate()) 087 throw new Error("Attempt to auto-create DeviceRequestParameterComponent.code"); 088 else if (Configuration.doAutoCreate()) 089 this.code = new CodeableConcept(); // cc 090 return this.code; 091 } 092 093 public boolean hasCode() { 094 return this.code != null && !this.code.isEmpty(); 095 } 096 097 /** 098 * @param value {@link #code} (A code or string that identifies the device detail being asserted.) 099 */ 100 public DeviceRequestParameterComponent setCode(CodeableConcept value) { 101 this.code = value; 102 return this; 103 } 104 105 /** 106 * @return {@link #value} (The value of the device detail.) 107 */ 108 public DataType getValue() { 109 return this.value; 110 } 111 112 /** 113 * @return {@link #value} (The value of the device detail.) 114 */ 115 public CodeableConcept getValueCodeableConcept() throws FHIRException { 116 if (this.value == null) 117 this.value = new CodeableConcept(); 118 if (!(this.value instanceof CodeableConcept)) 119 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.value.getClass().getName()+" was encountered"); 120 return (CodeableConcept) this.value; 121 } 122 123 public boolean hasValueCodeableConcept() { 124 return this != null && this.value instanceof CodeableConcept; 125 } 126 127 /** 128 * @return {@link #value} (The value of the device detail.) 129 */ 130 public Quantity getValueQuantity() throws FHIRException { 131 if (this.value == null) 132 this.value = new Quantity(); 133 if (!(this.value instanceof Quantity)) 134 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered"); 135 return (Quantity) this.value; 136 } 137 138 public boolean hasValueQuantity() { 139 return this != null && this.value instanceof Quantity; 140 } 141 142 /** 143 * @return {@link #value} (The value of the device detail.) 144 */ 145 public Range getValueRange() throws FHIRException { 146 if (this.value == null) 147 this.value = new Range(); 148 if (!(this.value instanceof Range)) 149 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.value.getClass().getName()+" was encountered"); 150 return (Range) this.value; 151 } 152 153 public boolean hasValueRange() { 154 return this != null && this.value instanceof Range; 155 } 156 157 /** 158 * @return {@link #value} (The value of the device detail.) 159 */ 160 public BooleanType getValueBooleanType() throws FHIRException { 161 if (this.value == null) 162 this.value = new BooleanType(); 163 if (!(this.value instanceof BooleanType)) 164 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 165 return (BooleanType) this.value; 166 } 167 168 public boolean hasValueBooleanType() { 169 return this != null && this.value instanceof BooleanType; 170 } 171 172 public boolean hasValue() { 173 return this.value != null && !this.value.isEmpty(); 174 } 175 176 /** 177 * @param value {@link #value} (The value of the device detail.) 178 */ 179 public DeviceRequestParameterComponent setValue(DataType value) { 180 if (value != null && !(value instanceof CodeableConcept || value instanceof Quantity || value instanceof Range || value instanceof BooleanType)) 181 throw new Error("Not the right type for DeviceRequest.parameter.value[x]: "+value.fhirType()); 182 this.value = value; 183 return this; 184 } 185 186 protected void listChildren(List<Property> children) { 187 super.listChildren(children); 188 children.add(new Property("code", "CodeableConcept", "A code or string that identifies the device detail being asserted.", 0, 1, code)); 189 children.add(new Property("value[x]", "CodeableConcept|Quantity|Range|boolean", "The value of the device detail.", 0, 1, value)); 190 } 191 192 @Override 193 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 194 switch (_hash) { 195 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code or string that identifies the device detail being asserted.", 0, 1, code); 196 case -1410166417: /*value[x]*/ return new Property("value[x]", "CodeableConcept|Quantity|Range|boolean", "The value of the device detail.", 0, 1, value); 197 case 111972721: /*value*/ return new Property("value[x]", "CodeableConcept|Quantity|Range|boolean", "The value of the device detail.", 0, 1, value); 198 case 924902896: /*valueCodeableConcept*/ return new Property("value[x]", "CodeableConcept", "The value of the device detail.", 0, 1, value); 199 case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "The value of the device detail.", 0, 1, value); 200 case 2030761548: /*valueRange*/ return new Property("value[x]", "Range", "The value of the device detail.", 0, 1, value); 201 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the device detail.", 0, 1, value); 202 default: return super.getNamedProperty(_hash, _name, _checkValid); 203 } 204 205 } 206 207 @Override 208 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 209 switch (hash) { 210 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 211 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 212 default: return super.getProperty(hash, name, checkValid); 213 } 214 215 } 216 217 @Override 218 public Base setProperty(int hash, String name, Base value) throws FHIRException { 219 switch (hash) { 220 case 3059181: // code 221 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 222 return value; 223 case 111972721: // value 224 this.value = TypeConvertor.castToType(value); // DataType 225 return value; 226 default: return super.setProperty(hash, name, value); 227 } 228 229 } 230 231 @Override 232 public Base setProperty(String name, Base value) throws FHIRException { 233 if (name.equals("code")) { 234 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 235 } else if (name.equals("value[x]")) { 236 this.value = TypeConvertor.castToType(value); // DataType 237 } else 238 return super.setProperty(name, value); 239 return value; 240 } 241 242 @Override 243 public Base makeProperty(int hash, String name) throws FHIRException { 244 switch (hash) { 245 case 3059181: return getCode(); 246 case -1410166417: return getValue(); 247 case 111972721: return getValue(); 248 default: return super.makeProperty(hash, name); 249 } 250 251 } 252 253 @Override 254 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 255 switch (hash) { 256 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 257 case 111972721: /*value*/ return new String[] {"CodeableConcept", "Quantity", "Range", "boolean"}; 258 default: return super.getTypesForProperty(hash, name); 259 } 260 261 } 262 263 @Override 264 public Base addChild(String name) throws FHIRException { 265 if (name.equals("code")) { 266 this.code = new CodeableConcept(); 267 return this.code; 268 } 269 else if (name.equals("valueCodeableConcept")) { 270 this.value = new CodeableConcept(); 271 return this.value; 272 } 273 else if (name.equals("valueQuantity")) { 274 this.value = new Quantity(); 275 return this.value; 276 } 277 else if (name.equals("valueRange")) { 278 this.value = new Range(); 279 return this.value; 280 } 281 else if (name.equals("valueBoolean")) { 282 this.value = new BooleanType(); 283 return this.value; 284 } 285 else 286 return super.addChild(name); 287 } 288 289 public DeviceRequestParameterComponent copy() { 290 DeviceRequestParameterComponent dst = new DeviceRequestParameterComponent(); 291 copyValues(dst); 292 return dst; 293 } 294 295 public void copyValues(DeviceRequestParameterComponent dst) { 296 super.copyValues(dst); 297 dst.code = code == null ? null : code.copy(); 298 dst.value = value == null ? null : value.copy(); 299 } 300 301 @Override 302 public boolean equalsDeep(Base other_) { 303 if (!super.equalsDeep(other_)) 304 return false; 305 if (!(other_ instanceof DeviceRequestParameterComponent)) 306 return false; 307 DeviceRequestParameterComponent o = (DeviceRequestParameterComponent) other_; 308 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); 309 } 310 311 @Override 312 public boolean equalsShallow(Base other_) { 313 if (!super.equalsShallow(other_)) 314 return false; 315 if (!(other_ instanceof DeviceRequestParameterComponent)) 316 return false; 317 DeviceRequestParameterComponent o = (DeviceRequestParameterComponent) other_; 318 return true; 319 } 320 321 public boolean isEmpty() { 322 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); 323 } 324 325 public String fhirType() { 326 return "DeviceRequest.parameter"; 327 328 } 329 330 } 331 332 /** 333 * Identifiers assigned to this order by the orderer or by the receiver. 334 */ 335 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 336 @Description(shortDefinition="External Request identifier", formalDefinition="Identifiers assigned to this order by the orderer or by the receiver." ) 337 protected List<Identifier> identifier; 338 339 /** 340 * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest. 341 */ 342 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 343 @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest." ) 344 protected List<CanonicalType> instantiatesCanonical; 345 346 /** 347 * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest. 348 */ 349 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 350 @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest." ) 351 protected List<UriType> instantiatesUri; 352 353 /** 354 * Plan/proposal/order fulfilled by this request. 355 */ 356 @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 357 @Description(shortDefinition="What request fulfills", formalDefinition="Plan/proposal/order fulfilled by this request." ) 358 protected List<Reference> basedOn; 359 360 /** 361 * The request takes the place of the referenced completed or terminated request(s). 362 */ 363 @Child(name = "replaces", type = {DeviceRequest.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 364 @Description(shortDefinition="What request replaces", formalDefinition="The request takes the place of the referenced completed or terminated request(s)." ) 365 protected List<Reference> replaces; 366 367 /** 368 * Composite request this is part of. 369 */ 370 @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) 371 @Description(shortDefinition="Identifier of composite request", formalDefinition="Composite request this is part of." ) 372 protected Identifier groupIdentifier; 373 374 /** 375 * The status of the request. 376 */ 377 @Child(name = "status", type = {CodeType.class}, order=6, min=0, max=1, modifier=true, summary=true) 378 @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="The status of the request." ) 379 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") 380 protected Enumeration<RequestStatus> status; 381 382 /** 383 * Whether the request is a proposal, plan, an original order or a reflex order. 384 */ 385 @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 386 @Description(shortDefinition="proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Whether the request is a proposal, plan, an original order or a reflex order." ) 387 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 388 protected Enumeration<RequestIntent> intent; 389 390 /** 391 * Indicates how quickly the request should be addressed with respect to other requests. 392 */ 393 @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 394 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) 395 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 396 protected Enumeration<RequestPriority> priority; 397 398 /** 399 * If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses. 400 */ 401 @Child(name = "doNotPerform", type = {BooleanType.class}, order=9, min=0, max=1, modifier=true, summary=true) 402 @Description(shortDefinition="True if the request is to stop or not to start using the device", formalDefinition="If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses." ) 403 protected BooleanType doNotPerform; 404 405 /** 406 * The details of the device to be used. 407 */ 408 @Child(name = "code", type = {CodeableReference.class}, order=10, min=1, max=1, modifier=false, summary=true) 409 @Description(shortDefinition="Device requested", formalDefinition="The details of the device to be used." ) 410 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-type") 411 protected CodeableReference code; 412 413 /** 414 * The number of devices to be provided. 415 */ 416 @Child(name = "quantity", type = {IntegerType.class}, order=11, min=0, max=1, modifier=false, summary=false) 417 @Description(shortDefinition="Quantity of devices to supply", formalDefinition="The number of devices to be provided." ) 418 protected IntegerType quantity; 419 420 /** 421 * Specific parameters for the ordered item. For example, the prism value for lenses. 422 */ 423 @Child(name = "parameter", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 424 @Description(shortDefinition="Device details", formalDefinition="Specific parameters for the ordered item. For example, the prism value for lenses." ) 425 protected List<DeviceRequestParameterComponent> parameter; 426 427 /** 428 * The patient who will use the device. 429 */ 430 @Child(name = "subject", type = {Patient.class, Group.class, Location.class, Device.class}, order=13, min=1, max=1, modifier=false, summary=true) 431 @Description(shortDefinition="Focus of request", formalDefinition="The patient who will use the device." ) 432 protected Reference subject; 433 434 /** 435 * An encounter that provides additional context in which this request is made. 436 */ 437 @Child(name = "encounter", type = {Encounter.class}, order=14, min=0, max=1, modifier=false, summary=true) 438 @Description(shortDefinition="Encounter motivating request", formalDefinition="An encounter that provides additional context in which this request is made." ) 439 protected Reference encounter; 440 441 /** 442 * The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". 443 */ 444 @Child(name = "occurrence", type = {DateTimeType.class, Period.class, Timing.class}, order=15, min=0, max=1, modifier=false, summary=true) 445 @Description(shortDefinition="Desired time or schedule for use", formalDefinition="The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\"." ) 446 protected DataType occurrence; 447 448 /** 449 * When the request transitioned to being actionable. 450 */ 451 @Child(name = "authoredOn", type = {DateTimeType.class}, order=16, min=0, max=1, modifier=false, summary=true) 452 @Description(shortDefinition="When recorded", formalDefinition="When the request transitioned to being actionable." ) 453 protected DateTimeType authoredOn; 454 455 /** 456 * The individual or entity who initiated the request and has responsibility for its activation. 457 */ 458 @Child(name = "requester", type = {Device.class, Practitioner.class, PractitionerRole.class, Organization.class}, order=17, min=0, max=1, modifier=false, summary=true) 459 @Description(shortDefinition="Who/what submitted the device request", formalDefinition="The individual or entity who initiated the request and has responsibility for its activation." ) 460 protected Reference requester; 461 462 /** 463 * The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location). 464 */ 465 @Child(name = "performerType", type = {CodeableConcept.class}, order=18, min=0, max=1, modifier=false, summary=true) 466 @Description(shortDefinition="Filler role", formalDefinition="The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location)." ) 467 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-role") 468 protected CodeableConcept performerType; 469 470 /** 471 * The desired individual or entity to provide the device to the subject of the request (e.g., patient, location). 472 */ 473 @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, HealthcareService.class, Patient.class, Device.class, RelatedPerson.class}, order=19, min=0, max=1, modifier=false, summary=true) 474 @Description(shortDefinition="Requested Filler", formalDefinition="The desired individual or entity to provide the device to the subject of the request (e.g., patient, location)." ) 475 protected Reference performer; 476 477 /** 478 * Reason or justification for the use of this device. 479 */ 480 @Child(name = "reason", type = {CodeableReference.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 481 @Description(shortDefinition="Coded/Linked Reason for request", formalDefinition="Reason or justification for the use of this device." ) 482 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 483 protected List<CodeableReference> reason; 484 485 /** 486 * This status is to indicate whether the request is a PRN or may be given as needed. 487 */ 488 @Child(name = "asNeeded", type = {BooleanType.class}, order=21, min=0, max=1, modifier=false, summary=false) 489 @Description(shortDefinition="PRN status of request", formalDefinition="This status is to indicate whether the request is a PRN or may be given as needed." ) 490 protected BooleanType asNeeded; 491 492 /** 493 * The reason for using the device. 494 */ 495 @Child(name = "asNeededFor", type = {CodeableConcept.class}, order=22, min=0, max=1, modifier=false, summary=false) 496 @Description(shortDefinition="Device usage reason", formalDefinition="The reason for using the device." ) 497 protected CodeableConcept asNeededFor; 498 499 /** 500 * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. 501 */ 502 @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 503 @Description(shortDefinition="Associated insurance coverage", formalDefinition="Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service." ) 504 protected List<Reference> insurance; 505 506 /** 507 * Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site). 508 */ 509 @Child(name = "supportingInfo", type = {Reference.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 510 @Description(shortDefinition="Additional clinical information", formalDefinition="Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site)." ) 511 protected List<Reference> supportingInfo; 512 513 /** 514 * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 515 */ 516 @Child(name = "note", type = {Annotation.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 517 @Description(shortDefinition="Notes or comments", formalDefinition="Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement." ) 518 protected List<Annotation> note; 519 520 /** 521 * Key events in the history of the request. 522 */ 523 @Child(name = "relevantHistory", type = {Provenance.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 524 @Description(shortDefinition="Request provenance", formalDefinition="Key events in the history of the request." ) 525 protected List<Reference> relevantHistory; 526 527 private static final long serialVersionUID = 1696730842L; 528 529 /** 530 * Constructor 531 */ 532 public DeviceRequest() { 533 super(); 534 } 535 536 /** 537 * Constructor 538 */ 539 public DeviceRequest(RequestIntent intent, CodeableReference code, Reference subject) { 540 super(); 541 this.setIntent(intent); 542 this.setCode(code); 543 this.setSubject(subject); 544 } 545 546 /** 547 * @return {@link #identifier} (Identifiers assigned to this order by the orderer or by the receiver.) 548 */ 549 public List<Identifier> getIdentifier() { 550 if (this.identifier == null) 551 this.identifier = new ArrayList<Identifier>(); 552 return this.identifier; 553 } 554 555 /** 556 * @return Returns a reference to <code>this</code> for easy method chaining 557 */ 558 public DeviceRequest setIdentifier(List<Identifier> theIdentifier) { 559 this.identifier = theIdentifier; 560 return this; 561 } 562 563 public boolean hasIdentifier() { 564 if (this.identifier == null) 565 return false; 566 for (Identifier item : this.identifier) 567 if (!item.isEmpty()) 568 return true; 569 return false; 570 } 571 572 public Identifier addIdentifier() { //3 573 Identifier t = new Identifier(); 574 if (this.identifier == null) 575 this.identifier = new ArrayList<Identifier>(); 576 this.identifier.add(t); 577 return t; 578 } 579 580 public DeviceRequest addIdentifier(Identifier t) { //3 581 if (t == null) 582 return this; 583 if (this.identifier == null) 584 this.identifier = new ArrayList<Identifier>(); 585 this.identifier.add(t); 586 return this; 587 } 588 589 /** 590 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 591 */ 592 public Identifier getIdentifierFirstRep() { 593 if (getIdentifier().isEmpty()) { 594 addIdentifier(); 595 } 596 return getIdentifier().get(0); 597 } 598 599 /** 600 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 601 */ 602 public List<CanonicalType> getInstantiatesCanonical() { 603 if (this.instantiatesCanonical == null) 604 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 605 return this.instantiatesCanonical; 606 } 607 608 /** 609 * @return Returns a reference to <code>this</code> for easy method chaining 610 */ 611 public DeviceRequest setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 612 this.instantiatesCanonical = theInstantiatesCanonical; 613 return this; 614 } 615 616 public boolean hasInstantiatesCanonical() { 617 if (this.instantiatesCanonical == null) 618 return false; 619 for (CanonicalType item : this.instantiatesCanonical) 620 if (!item.isEmpty()) 621 return true; 622 return false; 623 } 624 625 /** 626 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 627 */ 628 public CanonicalType addInstantiatesCanonicalElement() {//2 629 CanonicalType t = new CanonicalType(); 630 if (this.instantiatesCanonical == null) 631 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 632 this.instantiatesCanonical.add(t); 633 return t; 634 } 635 636 /** 637 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 638 */ 639 public DeviceRequest addInstantiatesCanonical(String value) { //1 640 CanonicalType t = new CanonicalType(); 641 t.setValue(value); 642 if (this.instantiatesCanonical == null) 643 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 644 this.instantiatesCanonical.add(t); 645 return this; 646 } 647 648 /** 649 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 650 */ 651 public boolean hasInstantiatesCanonical(String value) { 652 if (this.instantiatesCanonical == null) 653 return false; 654 for (CanonicalType v : this.instantiatesCanonical) 655 if (v.getValue().equals(value)) // canonical 656 return true; 657 return false; 658 } 659 660 /** 661 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 662 */ 663 public List<UriType> getInstantiatesUri() { 664 if (this.instantiatesUri == null) 665 this.instantiatesUri = new ArrayList<UriType>(); 666 return this.instantiatesUri; 667 } 668 669 /** 670 * @return Returns a reference to <code>this</code> for easy method chaining 671 */ 672 public DeviceRequest setInstantiatesUri(List<UriType> theInstantiatesUri) { 673 this.instantiatesUri = theInstantiatesUri; 674 return this; 675 } 676 677 public boolean hasInstantiatesUri() { 678 if (this.instantiatesUri == null) 679 return false; 680 for (UriType item : this.instantiatesUri) 681 if (!item.isEmpty()) 682 return true; 683 return false; 684 } 685 686 /** 687 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 688 */ 689 public UriType addInstantiatesUriElement() {//2 690 UriType t = new UriType(); 691 if (this.instantiatesUri == null) 692 this.instantiatesUri = new ArrayList<UriType>(); 693 this.instantiatesUri.add(t); 694 return t; 695 } 696 697 /** 698 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 699 */ 700 public DeviceRequest addInstantiatesUri(String value) { //1 701 UriType t = new UriType(); 702 t.setValue(value); 703 if (this.instantiatesUri == null) 704 this.instantiatesUri = new ArrayList<UriType>(); 705 this.instantiatesUri.add(t); 706 return this; 707 } 708 709 /** 710 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.) 711 */ 712 public boolean hasInstantiatesUri(String value) { 713 if (this.instantiatesUri == null) 714 return false; 715 for (UriType v : this.instantiatesUri) 716 if (v.getValue().equals(value)) // uri 717 return true; 718 return false; 719 } 720 721 /** 722 * @return {@link #basedOn} (Plan/proposal/order fulfilled by this request.) 723 */ 724 public List<Reference> getBasedOn() { 725 if (this.basedOn == null) 726 this.basedOn = new ArrayList<Reference>(); 727 return this.basedOn; 728 } 729 730 /** 731 * @return Returns a reference to <code>this</code> for easy method chaining 732 */ 733 public DeviceRequest setBasedOn(List<Reference> theBasedOn) { 734 this.basedOn = theBasedOn; 735 return this; 736 } 737 738 public boolean hasBasedOn() { 739 if (this.basedOn == null) 740 return false; 741 for (Reference item : this.basedOn) 742 if (!item.isEmpty()) 743 return true; 744 return false; 745 } 746 747 public Reference addBasedOn() { //3 748 Reference t = new Reference(); 749 if (this.basedOn == null) 750 this.basedOn = new ArrayList<Reference>(); 751 this.basedOn.add(t); 752 return t; 753 } 754 755 public DeviceRequest addBasedOn(Reference t) { //3 756 if (t == null) 757 return this; 758 if (this.basedOn == null) 759 this.basedOn = new ArrayList<Reference>(); 760 this.basedOn.add(t); 761 return this; 762 } 763 764 /** 765 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 766 */ 767 public Reference getBasedOnFirstRep() { 768 if (getBasedOn().isEmpty()) { 769 addBasedOn(); 770 } 771 return getBasedOn().get(0); 772 } 773 774 /** 775 * @return {@link #replaces} (The request takes the place of the referenced completed or terminated request(s).) 776 */ 777 public List<Reference> getReplaces() { 778 if (this.replaces == null) 779 this.replaces = new ArrayList<Reference>(); 780 return this.replaces; 781 } 782 783 /** 784 * @return Returns a reference to <code>this</code> for easy method chaining 785 */ 786 public DeviceRequest setReplaces(List<Reference> theReplaces) { 787 this.replaces = theReplaces; 788 return this; 789 } 790 791 public boolean hasReplaces() { 792 if (this.replaces == null) 793 return false; 794 for (Reference item : this.replaces) 795 if (!item.isEmpty()) 796 return true; 797 return false; 798 } 799 800 public Reference addReplaces() { //3 801 Reference t = new Reference(); 802 if (this.replaces == null) 803 this.replaces = new ArrayList<Reference>(); 804 this.replaces.add(t); 805 return t; 806 } 807 808 public DeviceRequest addReplaces(Reference t) { //3 809 if (t == null) 810 return this; 811 if (this.replaces == null) 812 this.replaces = new ArrayList<Reference>(); 813 this.replaces.add(t); 814 return this; 815 } 816 817 /** 818 * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist {3} 819 */ 820 public Reference getReplacesFirstRep() { 821 if (getReplaces().isEmpty()) { 822 addReplaces(); 823 } 824 return getReplaces().get(0); 825 } 826 827 /** 828 * @return {@link #groupIdentifier} (Composite request this is part of.) 829 */ 830 public Identifier getGroupIdentifier() { 831 if (this.groupIdentifier == null) 832 if (Configuration.errorOnAutoCreate()) 833 throw new Error("Attempt to auto-create DeviceRequest.groupIdentifier"); 834 else if (Configuration.doAutoCreate()) 835 this.groupIdentifier = new Identifier(); // cc 836 return this.groupIdentifier; 837 } 838 839 public boolean hasGroupIdentifier() { 840 return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); 841 } 842 843 /** 844 * @param value {@link #groupIdentifier} (Composite request this is part of.) 845 */ 846 public DeviceRequest setGroupIdentifier(Identifier value) { 847 this.groupIdentifier = value; 848 return this; 849 } 850 851 /** 852 * @return {@link #status} (The status of the request.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 853 */ 854 public Enumeration<RequestStatus> getStatusElement() { 855 if (this.status == null) 856 if (Configuration.errorOnAutoCreate()) 857 throw new Error("Attempt to auto-create DeviceRequest.status"); 858 else if (Configuration.doAutoCreate()) 859 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 860 return this.status; 861 } 862 863 public boolean hasStatusElement() { 864 return this.status != null && !this.status.isEmpty(); 865 } 866 867 public boolean hasStatus() { 868 return this.status != null && !this.status.isEmpty(); 869 } 870 871 /** 872 * @param value {@link #status} (The status of the request.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 873 */ 874 public DeviceRequest setStatusElement(Enumeration<RequestStatus> value) { 875 this.status = value; 876 return this; 877 } 878 879 /** 880 * @return The status of the request. 881 */ 882 public RequestStatus getStatus() { 883 return this.status == null ? null : this.status.getValue(); 884 } 885 886 /** 887 * @param value The status of the request. 888 */ 889 public DeviceRequest setStatus(RequestStatus value) { 890 if (value == null) 891 this.status = null; 892 else { 893 if (this.status == null) 894 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 895 this.status.setValue(value); 896 } 897 return this; 898 } 899 900 /** 901 * @return {@link #intent} (Whether the request is a proposal, plan, an original order or a reflex order.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 902 */ 903 public Enumeration<RequestIntent> getIntentElement() { 904 if (this.intent == null) 905 if (Configuration.errorOnAutoCreate()) 906 throw new Error("Attempt to auto-create DeviceRequest.intent"); 907 else if (Configuration.doAutoCreate()) 908 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 909 return this.intent; 910 } 911 912 public boolean hasIntentElement() { 913 return this.intent != null && !this.intent.isEmpty(); 914 } 915 916 public boolean hasIntent() { 917 return this.intent != null && !this.intent.isEmpty(); 918 } 919 920 /** 921 * @param value {@link #intent} (Whether the request is a proposal, plan, an original order or a reflex order.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 922 */ 923 public DeviceRequest setIntentElement(Enumeration<RequestIntent> value) { 924 this.intent = value; 925 return this; 926 } 927 928 /** 929 * @return Whether the request is a proposal, plan, an original order or a reflex order. 930 */ 931 public RequestIntent getIntent() { 932 return this.intent == null ? null : this.intent.getValue(); 933 } 934 935 /** 936 * @param value Whether the request is a proposal, plan, an original order or a reflex order. 937 */ 938 public DeviceRequest setIntent(RequestIntent value) { 939 if (this.intent == null) 940 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 941 this.intent.setValue(value); 942 return this; 943 } 944 945 /** 946 * @return {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 947 */ 948 public Enumeration<RequestPriority> getPriorityElement() { 949 if (this.priority == null) 950 if (Configuration.errorOnAutoCreate()) 951 throw new Error("Attempt to auto-create DeviceRequest.priority"); 952 else if (Configuration.doAutoCreate()) 953 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 954 return this.priority; 955 } 956 957 public boolean hasPriorityElement() { 958 return this.priority != null && !this.priority.isEmpty(); 959 } 960 961 public boolean hasPriority() { 962 return this.priority != null && !this.priority.isEmpty(); 963 } 964 965 /** 966 * @param value {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 967 */ 968 public DeviceRequest setPriorityElement(Enumeration<RequestPriority> value) { 969 this.priority = value; 970 return this; 971 } 972 973 /** 974 * @return Indicates how quickly the request should be addressed with respect to other requests. 975 */ 976 public RequestPriority getPriority() { 977 return this.priority == null ? null : this.priority.getValue(); 978 } 979 980 /** 981 * @param value Indicates how quickly the request should be addressed with respect to other requests. 982 */ 983 public DeviceRequest setPriority(RequestPriority value) { 984 if (value == null) 985 this.priority = null; 986 else { 987 if (this.priority == null) 988 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 989 this.priority.setValue(value); 990 } 991 return this; 992 } 993 994 /** 995 * @return {@link #doNotPerform} (If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 996 */ 997 public BooleanType getDoNotPerformElement() { 998 if (this.doNotPerform == null) 999 if (Configuration.errorOnAutoCreate()) 1000 throw new Error("Attempt to auto-create DeviceRequest.doNotPerform"); 1001 else if (Configuration.doAutoCreate()) 1002 this.doNotPerform = new BooleanType(); // bb 1003 return this.doNotPerform; 1004 } 1005 1006 public boolean hasDoNotPerformElement() { 1007 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 1008 } 1009 1010 public boolean hasDoNotPerform() { 1011 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 1012 } 1013 1014 /** 1015 * @param value {@link #doNotPerform} (If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 1016 */ 1017 public DeviceRequest setDoNotPerformElement(BooleanType value) { 1018 this.doNotPerform = value; 1019 return this; 1020 } 1021 1022 /** 1023 * @return If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses. 1024 */ 1025 public boolean getDoNotPerform() { 1026 return this.doNotPerform == null || this.doNotPerform.isEmpty() ? false : this.doNotPerform.getValue(); 1027 } 1028 1029 /** 1030 * @param value If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses. 1031 */ 1032 public DeviceRequest setDoNotPerform(boolean value) { 1033 if (this.doNotPerform == null) 1034 this.doNotPerform = new BooleanType(); 1035 this.doNotPerform.setValue(value); 1036 return this; 1037 } 1038 1039 /** 1040 * @return {@link #code} (The details of the device to be used.) 1041 */ 1042 public CodeableReference getCode() { 1043 if (this.code == null) 1044 if (Configuration.errorOnAutoCreate()) 1045 throw new Error("Attempt to auto-create DeviceRequest.code"); 1046 else if (Configuration.doAutoCreate()) 1047 this.code = new CodeableReference(); // cc 1048 return this.code; 1049 } 1050 1051 public boolean hasCode() { 1052 return this.code != null && !this.code.isEmpty(); 1053 } 1054 1055 /** 1056 * @param value {@link #code} (The details of the device to be used.) 1057 */ 1058 public DeviceRequest setCode(CodeableReference value) { 1059 this.code = value; 1060 return this; 1061 } 1062 1063 /** 1064 * @return {@link #quantity} (The number of devices to be provided.). This is the underlying object with id, value and extensions. The accessor "getQuantity" gives direct access to the value 1065 */ 1066 public IntegerType getQuantityElement() { 1067 if (this.quantity == null) 1068 if (Configuration.errorOnAutoCreate()) 1069 throw new Error("Attempt to auto-create DeviceRequest.quantity"); 1070 else if (Configuration.doAutoCreate()) 1071 this.quantity = new IntegerType(); // bb 1072 return this.quantity; 1073 } 1074 1075 public boolean hasQuantityElement() { 1076 return this.quantity != null && !this.quantity.isEmpty(); 1077 } 1078 1079 public boolean hasQuantity() { 1080 return this.quantity != null && !this.quantity.isEmpty(); 1081 } 1082 1083 /** 1084 * @param value {@link #quantity} (The number of devices to be provided.). This is the underlying object with id, value and extensions. The accessor "getQuantity" gives direct access to the value 1085 */ 1086 public DeviceRequest setQuantityElement(IntegerType value) { 1087 this.quantity = value; 1088 return this; 1089 } 1090 1091 /** 1092 * @return The number of devices to be provided. 1093 */ 1094 public int getQuantity() { 1095 return this.quantity == null || this.quantity.isEmpty() ? 0 : this.quantity.getValue(); 1096 } 1097 1098 /** 1099 * @param value The number of devices to be provided. 1100 */ 1101 public DeviceRequest setQuantity(int value) { 1102 if (this.quantity == null) 1103 this.quantity = new IntegerType(); 1104 this.quantity.setValue(value); 1105 return this; 1106 } 1107 1108 /** 1109 * @return {@link #parameter} (Specific parameters for the ordered item. For example, the prism value for lenses.) 1110 */ 1111 public List<DeviceRequestParameterComponent> getParameter() { 1112 if (this.parameter == null) 1113 this.parameter = new ArrayList<DeviceRequestParameterComponent>(); 1114 return this.parameter; 1115 } 1116 1117 /** 1118 * @return Returns a reference to <code>this</code> for easy method chaining 1119 */ 1120 public DeviceRequest setParameter(List<DeviceRequestParameterComponent> theParameter) { 1121 this.parameter = theParameter; 1122 return this; 1123 } 1124 1125 public boolean hasParameter() { 1126 if (this.parameter == null) 1127 return false; 1128 for (DeviceRequestParameterComponent item : this.parameter) 1129 if (!item.isEmpty()) 1130 return true; 1131 return false; 1132 } 1133 1134 public DeviceRequestParameterComponent addParameter() { //3 1135 DeviceRequestParameterComponent t = new DeviceRequestParameterComponent(); 1136 if (this.parameter == null) 1137 this.parameter = new ArrayList<DeviceRequestParameterComponent>(); 1138 this.parameter.add(t); 1139 return t; 1140 } 1141 1142 public DeviceRequest addParameter(DeviceRequestParameterComponent t) { //3 1143 if (t == null) 1144 return this; 1145 if (this.parameter == null) 1146 this.parameter = new ArrayList<DeviceRequestParameterComponent>(); 1147 this.parameter.add(t); 1148 return this; 1149 } 1150 1151 /** 1152 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 1153 */ 1154 public DeviceRequestParameterComponent getParameterFirstRep() { 1155 if (getParameter().isEmpty()) { 1156 addParameter(); 1157 } 1158 return getParameter().get(0); 1159 } 1160 1161 /** 1162 * @return {@link #subject} (The patient who will use the device.) 1163 */ 1164 public Reference getSubject() { 1165 if (this.subject == null) 1166 if (Configuration.errorOnAutoCreate()) 1167 throw new Error("Attempt to auto-create DeviceRequest.subject"); 1168 else if (Configuration.doAutoCreate()) 1169 this.subject = new Reference(); // cc 1170 return this.subject; 1171 } 1172 1173 public boolean hasSubject() { 1174 return this.subject != null && !this.subject.isEmpty(); 1175 } 1176 1177 /** 1178 * @param value {@link #subject} (The patient who will use the device.) 1179 */ 1180 public DeviceRequest setSubject(Reference value) { 1181 this.subject = value; 1182 return this; 1183 } 1184 1185 /** 1186 * @return {@link #encounter} (An encounter that provides additional context in which this request is made.) 1187 */ 1188 public Reference getEncounter() { 1189 if (this.encounter == null) 1190 if (Configuration.errorOnAutoCreate()) 1191 throw new Error("Attempt to auto-create DeviceRequest.encounter"); 1192 else if (Configuration.doAutoCreate()) 1193 this.encounter = new Reference(); // cc 1194 return this.encounter; 1195 } 1196 1197 public boolean hasEncounter() { 1198 return this.encounter != null && !this.encounter.isEmpty(); 1199 } 1200 1201 /** 1202 * @param value {@link #encounter} (An encounter that provides additional context in which this request is made.) 1203 */ 1204 public DeviceRequest setEncounter(Reference value) { 1205 this.encounter = value; 1206 return this; 1207 } 1208 1209 /** 1210 * @return {@link #occurrence} (The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".) 1211 */ 1212 public DataType getOccurrence() { 1213 return this.occurrence; 1214 } 1215 1216 /** 1217 * @return {@link #occurrence} (The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".) 1218 */ 1219 public DateTimeType getOccurrenceDateTimeType() throws FHIRException { 1220 if (this.occurrence == null) 1221 this.occurrence = new DateTimeType(); 1222 if (!(this.occurrence instanceof DateTimeType)) 1223 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1224 return (DateTimeType) this.occurrence; 1225 } 1226 1227 public boolean hasOccurrenceDateTimeType() { 1228 return this != null && this.occurrence instanceof DateTimeType; 1229 } 1230 1231 /** 1232 * @return {@link #occurrence} (The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".) 1233 */ 1234 public Period getOccurrencePeriod() throws FHIRException { 1235 if (this.occurrence == null) 1236 this.occurrence = new Period(); 1237 if (!(this.occurrence instanceof Period)) 1238 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1239 return (Period) this.occurrence; 1240 } 1241 1242 public boolean hasOccurrencePeriod() { 1243 return this != null && this.occurrence instanceof Period; 1244 } 1245 1246 /** 1247 * @return {@link #occurrence} (The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".) 1248 */ 1249 public Timing getOccurrenceTiming() throws FHIRException { 1250 if (this.occurrence == null) 1251 this.occurrence = new Timing(); 1252 if (!(this.occurrence instanceof Timing)) 1253 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1254 return (Timing) this.occurrence; 1255 } 1256 1257 public boolean hasOccurrenceTiming() { 1258 return this != null && this.occurrence instanceof Timing; 1259 } 1260 1261 public boolean hasOccurrence() { 1262 return this.occurrence != null && !this.occurrence.isEmpty(); 1263 } 1264 1265 /** 1266 * @param value {@link #occurrence} (The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".) 1267 */ 1268 public DeviceRequest setOccurrence(DataType value) { 1269 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Timing)) 1270 throw new Error("Not the right type for DeviceRequest.occurrence[x]: "+value.fhirType()); 1271 this.occurrence = value; 1272 return this; 1273 } 1274 1275 /** 1276 * @return {@link #authoredOn} (When the request transitioned to being actionable.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 1277 */ 1278 public DateTimeType getAuthoredOnElement() { 1279 if (this.authoredOn == null) 1280 if (Configuration.errorOnAutoCreate()) 1281 throw new Error("Attempt to auto-create DeviceRequest.authoredOn"); 1282 else if (Configuration.doAutoCreate()) 1283 this.authoredOn = new DateTimeType(); // bb 1284 return this.authoredOn; 1285 } 1286 1287 public boolean hasAuthoredOnElement() { 1288 return this.authoredOn != null && !this.authoredOn.isEmpty(); 1289 } 1290 1291 public boolean hasAuthoredOn() { 1292 return this.authoredOn != null && !this.authoredOn.isEmpty(); 1293 } 1294 1295 /** 1296 * @param value {@link #authoredOn} (When the request transitioned to being actionable.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value 1297 */ 1298 public DeviceRequest setAuthoredOnElement(DateTimeType value) { 1299 this.authoredOn = value; 1300 return this; 1301 } 1302 1303 /** 1304 * @return When the request transitioned to being actionable. 1305 */ 1306 public Date getAuthoredOn() { 1307 return this.authoredOn == null ? null : this.authoredOn.getValue(); 1308 } 1309 1310 /** 1311 * @param value When the request transitioned to being actionable. 1312 */ 1313 public DeviceRequest setAuthoredOn(Date value) { 1314 if (value == null) 1315 this.authoredOn = null; 1316 else { 1317 if (this.authoredOn == null) 1318 this.authoredOn = new DateTimeType(); 1319 this.authoredOn.setValue(value); 1320 } 1321 return this; 1322 } 1323 1324 /** 1325 * @return {@link #requester} (The individual or entity who initiated the request and has responsibility for its activation.) 1326 */ 1327 public Reference getRequester() { 1328 if (this.requester == null) 1329 if (Configuration.errorOnAutoCreate()) 1330 throw new Error("Attempt to auto-create DeviceRequest.requester"); 1331 else if (Configuration.doAutoCreate()) 1332 this.requester = new Reference(); // cc 1333 return this.requester; 1334 } 1335 1336 public boolean hasRequester() { 1337 return this.requester != null && !this.requester.isEmpty(); 1338 } 1339 1340 /** 1341 * @param value {@link #requester} (The individual or entity who initiated the request and has responsibility for its activation.) 1342 */ 1343 public DeviceRequest setRequester(Reference value) { 1344 this.requester = value; 1345 return this; 1346 } 1347 1348 /** 1349 * @return {@link #performerType} (The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location).) 1350 */ 1351 public CodeableConcept getPerformerType() { 1352 if (this.performerType == null) 1353 if (Configuration.errorOnAutoCreate()) 1354 throw new Error("Attempt to auto-create DeviceRequest.performerType"); 1355 else if (Configuration.doAutoCreate()) 1356 this.performerType = new CodeableConcept(); // cc 1357 return this.performerType; 1358 } 1359 1360 public boolean hasPerformerType() { 1361 return this.performerType != null && !this.performerType.isEmpty(); 1362 } 1363 1364 /** 1365 * @param value {@link #performerType} (The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location).) 1366 */ 1367 public DeviceRequest setPerformerType(CodeableConcept value) { 1368 this.performerType = value; 1369 return this; 1370 } 1371 1372 /** 1373 * @return {@link #performer} (The desired individual or entity to provide the device to the subject of the request (e.g., patient, location).) 1374 */ 1375 public Reference getPerformer() { 1376 if (this.performer == null) 1377 if (Configuration.errorOnAutoCreate()) 1378 throw new Error("Attempt to auto-create DeviceRequest.performer"); 1379 else if (Configuration.doAutoCreate()) 1380 this.performer = new Reference(); // cc 1381 return this.performer; 1382 } 1383 1384 public boolean hasPerformer() { 1385 return this.performer != null && !this.performer.isEmpty(); 1386 } 1387 1388 /** 1389 * @param value {@link #performer} (The desired individual or entity to provide the device to the subject of the request (e.g., patient, location).) 1390 */ 1391 public DeviceRequest setPerformer(Reference value) { 1392 this.performer = value; 1393 return this; 1394 } 1395 1396 /** 1397 * @return {@link #reason} (Reason or justification for the use of this device.) 1398 */ 1399 public List<CodeableReference> getReason() { 1400 if (this.reason == null) 1401 this.reason = new ArrayList<CodeableReference>(); 1402 return this.reason; 1403 } 1404 1405 /** 1406 * @return Returns a reference to <code>this</code> for easy method chaining 1407 */ 1408 public DeviceRequest setReason(List<CodeableReference> theReason) { 1409 this.reason = theReason; 1410 return this; 1411 } 1412 1413 public boolean hasReason() { 1414 if (this.reason == null) 1415 return false; 1416 for (CodeableReference item : this.reason) 1417 if (!item.isEmpty()) 1418 return true; 1419 return false; 1420 } 1421 1422 public CodeableReference addReason() { //3 1423 CodeableReference t = new CodeableReference(); 1424 if (this.reason == null) 1425 this.reason = new ArrayList<CodeableReference>(); 1426 this.reason.add(t); 1427 return t; 1428 } 1429 1430 public DeviceRequest addReason(CodeableReference t) { //3 1431 if (t == null) 1432 return this; 1433 if (this.reason == null) 1434 this.reason = new ArrayList<CodeableReference>(); 1435 this.reason.add(t); 1436 return this; 1437 } 1438 1439 /** 1440 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 1441 */ 1442 public CodeableReference getReasonFirstRep() { 1443 if (getReason().isEmpty()) { 1444 addReason(); 1445 } 1446 return getReason().get(0); 1447 } 1448 1449 /** 1450 * @return {@link #asNeeded} (This status is to indicate whether the request is a PRN or may be given as needed.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value 1451 */ 1452 public BooleanType getAsNeededElement() { 1453 if (this.asNeeded == null) 1454 if (Configuration.errorOnAutoCreate()) 1455 throw new Error("Attempt to auto-create DeviceRequest.asNeeded"); 1456 else if (Configuration.doAutoCreate()) 1457 this.asNeeded = new BooleanType(); // bb 1458 return this.asNeeded; 1459 } 1460 1461 public boolean hasAsNeededElement() { 1462 return this.asNeeded != null && !this.asNeeded.isEmpty(); 1463 } 1464 1465 public boolean hasAsNeeded() { 1466 return this.asNeeded != null && !this.asNeeded.isEmpty(); 1467 } 1468 1469 /** 1470 * @param value {@link #asNeeded} (This status is to indicate whether the request is a PRN or may be given as needed.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value 1471 */ 1472 public DeviceRequest setAsNeededElement(BooleanType value) { 1473 this.asNeeded = value; 1474 return this; 1475 } 1476 1477 /** 1478 * @return This status is to indicate whether the request is a PRN or may be given as needed. 1479 */ 1480 public boolean getAsNeeded() { 1481 return this.asNeeded == null || this.asNeeded.isEmpty() ? false : this.asNeeded.getValue(); 1482 } 1483 1484 /** 1485 * @param value This status is to indicate whether the request is a PRN or may be given as needed. 1486 */ 1487 public DeviceRequest setAsNeeded(boolean value) { 1488 if (this.asNeeded == null) 1489 this.asNeeded = new BooleanType(); 1490 this.asNeeded.setValue(value); 1491 return this; 1492 } 1493 1494 /** 1495 * @return {@link #asNeededFor} (The reason for using the device.) 1496 */ 1497 public CodeableConcept getAsNeededFor() { 1498 if (this.asNeededFor == null) 1499 if (Configuration.errorOnAutoCreate()) 1500 throw new Error("Attempt to auto-create DeviceRequest.asNeededFor"); 1501 else if (Configuration.doAutoCreate()) 1502 this.asNeededFor = new CodeableConcept(); // cc 1503 return this.asNeededFor; 1504 } 1505 1506 public boolean hasAsNeededFor() { 1507 return this.asNeededFor != null && !this.asNeededFor.isEmpty(); 1508 } 1509 1510 /** 1511 * @param value {@link #asNeededFor} (The reason for using the device.) 1512 */ 1513 public DeviceRequest setAsNeededFor(CodeableConcept value) { 1514 this.asNeededFor = value; 1515 return this; 1516 } 1517 1518 /** 1519 * @return {@link #insurance} (Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.) 1520 */ 1521 public List<Reference> getInsurance() { 1522 if (this.insurance == null) 1523 this.insurance = new ArrayList<Reference>(); 1524 return this.insurance; 1525 } 1526 1527 /** 1528 * @return Returns a reference to <code>this</code> for easy method chaining 1529 */ 1530 public DeviceRequest setInsurance(List<Reference> theInsurance) { 1531 this.insurance = theInsurance; 1532 return this; 1533 } 1534 1535 public boolean hasInsurance() { 1536 if (this.insurance == null) 1537 return false; 1538 for (Reference item : this.insurance) 1539 if (!item.isEmpty()) 1540 return true; 1541 return false; 1542 } 1543 1544 public Reference addInsurance() { //3 1545 Reference t = new Reference(); 1546 if (this.insurance == null) 1547 this.insurance = new ArrayList<Reference>(); 1548 this.insurance.add(t); 1549 return t; 1550 } 1551 1552 public DeviceRequest addInsurance(Reference t) { //3 1553 if (t == null) 1554 return this; 1555 if (this.insurance == null) 1556 this.insurance = new ArrayList<Reference>(); 1557 this.insurance.add(t); 1558 return this; 1559 } 1560 1561 /** 1562 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 1563 */ 1564 public Reference getInsuranceFirstRep() { 1565 if (getInsurance().isEmpty()) { 1566 addInsurance(); 1567 } 1568 return getInsurance().get(0); 1569 } 1570 1571 /** 1572 * @return {@link #supportingInfo} (Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site).) 1573 */ 1574 public List<Reference> getSupportingInfo() { 1575 if (this.supportingInfo == null) 1576 this.supportingInfo = new ArrayList<Reference>(); 1577 return this.supportingInfo; 1578 } 1579 1580 /** 1581 * @return Returns a reference to <code>this</code> for easy method chaining 1582 */ 1583 public DeviceRequest setSupportingInfo(List<Reference> theSupportingInfo) { 1584 this.supportingInfo = theSupportingInfo; 1585 return this; 1586 } 1587 1588 public boolean hasSupportingInfo() { 1589 if (this.supportingInfo == null) 1590 return false; 1591 for (Reference item : this.supportingInfo) 1592 if (!item.isEmpty()) 1593 return true; 1594 return false; 1595 } 1596 1597 public Reference addSupportingInfo() { //3 1598 Reference t = new Reference(); 1599 if (this.supportingInfo == null) 1600 this.supportingInfo = new ArrayList<Reference>(); 1601 this.supportingInfo.add(t); 1602 return t; 1603 } 1604 1605 public DeviceRequest addSupportingInfo(Reference t) { //3 1606 if (t == null) 1607 return this; 1608 if (this.supportingInfo == null) 1609 this.supportingInfo = new ArrayList<Reference>(); 1610 this.supportingInfo.add(t); 1611 return this; 1612 } 1613 1614 /** 1615 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 1616 */ 1617 public Reference getSupportingInfoFirstRep() { 1618 if (getSupportingInfo().isEmpty()) { 1619 addSupportingInfo(); 1620 } 1621 return getSupportingInfo().get(0); 1622 } 1623 1624 /** 1625 * @return {@link #note} (Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.) 1626 */ 1627 public List<Annotation> getNote() { 1628 if (this.note == null) 1629 this.note = new ArrayList<Annotation>(); 1630 return this.note; 1631 } 1632 1633 /** 1634 * @return Returns a reference to <code>this</code> for easy method chaining 1635 */ 1636 public DeviceRequest setNote(List<Annotation> theNote) { 1637 this.note = theNote; 1638 return this; 1639 } 1640 1641 public boolean hasNote() { 1642 if (this.note == null) 1643 return false; 1644 for (Annotation item : this.note) 1645 if (!item.isEmpty()) 1646 return true; 1647 return false; 1648 } 1649 1650 public Annotation addNote() { //3 1651 Annotation t = new Annotation(); 1652 if (this.note == null) 1653 this.note = new ArrayList<Annotation>(); 1654 this.note.add(t); 1655 return t; 1656 } 1657 1658 public DeviceRequest addNote(Annotation t) { //3 1659 if (t == null) 1660 return this; 1661 if (this.note == null) 1662 this.note = new ArrayList<Annotation>(); 1663 this.note.add(t); 1664 return this; 1665 } 1666 1667 /** 1668 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1669 */ 1670 public Annotation getNoteFirstRep() { 1671 if (getNote().isEmpty()) { 1672 addNote(); 1673 } 1674 return getNote().get(0); 1675 } 1676 1677 /** 1678 * @return {@link #relevantHistory} (Key events in the history of the request.) 1679 */ 1680 public List<Reference> getRelevantHistory() { 1681 if (this.relevantHistory == null) 1682 this.relevantHistory = new ArrayList<Reference>(); 1683 return this.relevantHistory; 1684 } 1685 1686 /** 1687 * @return Returns a reference to <code>this</code> for easy method chaining 1688 */ 1689 public DeviceRequest setRelevantHistory(List<Reference> theRelevantHistory) { 1690 this.relevantHistory = theRelevantHistory; 1691 return this; 1692 } 1693 1694 public boolean hasRelevantHistory() { 1695 if (this.relevantHistory == null) 1696 return false; 1697 for (Reference item : this.relevantHistory) 1698 if (!item.isEmpty()) 1699 return true; 1700 return false; 1701 } 1702 1703 public Reference addRelevantHistory() { //3 1704 Reference t = new Reference(); 1705 if (this.relevantHistory == null) 1706 this.relevantHistory = new ArrayList<Reference>(); 1707 this.relevantHistory.add(t); 1708 return t; 1709 } 1710 1711 public DeviceRequest addRelevantHistory(Reference t) { //3 1712 if (t == null) 1713 return this; 1714 if (this.relevantHistory == null) 1715 this.relevantHistory = new ArrayList<Reference>(); 1716 this.relevantHistory.add(t); 1717 return this; 1718 } 1719 1720 /** 1721 * @return The first repetition of repeating field {@link #relevantHistory}, creating it if it does not already exist {3} 1722 */ 1723 public Reference getRelevantHistoryFirstRep() { 1724 if (getRelevantHistory().isEmpty()) { 1725 addRelevantHistory(); 1726 } 1727 return getRelevantHistory().get(0); 1728 } 1729 1730 protected void listChildren(List<Property> children) { 1731 super.listChildren(children); 1732 children.add(new Property("identifier", "Identifier", "Identifiers assigned to this order by the orderer or by the receiver.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1733 children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition|PlanDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); 1734 children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); 1735 children.add(new Property("basedOn", "Reference(Any)", "Plan/proposal/order fulfilled by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 1736 children.add(new Property("replaces", "Reference(DeviceRequest)", "The request takes the place of the referenced completed or terminated request(s).", 0, java.lang.Integer.MAX_VALUE, replaces)); 1737 children.add(new Property("groupIdentifier", "Identifier", "Composite request this is part of.", 0, 1, groupIdentifier)); 1738 children.add(new Property("status", "code", "The status of the request.", 0, 1, status)); 1739 children.add(new Property("intent", "code", "Whether the request is a proposal, plan, an original order or a reflex order.", 0, 1, intent)); 1740 children.add(new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority)); 1741 children.add(new Property("doNotPerform", "boolean", "If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses.", 0, 1, doNotPerform)); 1742 children.add(new Property("code", "CodeableReference(Device|DeviceDefinition)", "The details of the device to be used.", 0, 1, code)); 1743 children.add(new Property("quantity", "integer", "The number of devices to be provided.", 0, 1, quantity)); 1744 children.add(new Property("parameter", "", "Specific parameters for the ordered item. For example, the prism value for lenses.", 0, java.lang.Integer.MAX_VALUE, parameter)); 1745 children.add(new Property("subject", "Reference(Patient|Group|Location|Device)", "The patient who will use the device.", 0, 1, subject)); 1746 children.add(new Property("encounter", "Reference(Encounter)", "An encounter that provides additional context in which this request is made.", 0, 1, encounter)); 1747 children.add(new Property("occurrence[x]", "dateTime|Period|Timing", "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".", 0, 1, occurrence)); 1748 children.add(new Property("authoredOn", "dateTime", "When the request transitioned to being actionable.", 0, 1, authoredOn)); 1749 children.add(new Property("requester", "Reference(Device|Practitioner|PractitionerRole|Organization)", "The individual or entity who initiated the request and has responsibility for its activation.", 0, 1, requester)); 1750 children.add(new Property("performerType", "CodeableConcept", "The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performerType)); 1751 children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The desired individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performer)); 1752 children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reason)); 1753 children.add(new Property("asNeeded", "boolean", "This status is to indicate whether the request is a PRN or may be given as needed.", 0, 1, asNeeded)); 1754 children.add(new Property("asNeededFor", "CodeableConcept", "The reason for using the device.", 0, 1, asNeededFor)); 1755 children.add(new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.", 0, java.lang.Integer.MAX_VALUE, insurance)); 1756 children.add(new Property("supportingInfo", "Reference(Any)", "Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site).", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 1757 children.add(new Property("note", "Annotation", "Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.", 0, java.lang.Integer.MAX_VALUE, note)); 1758 children.add(new Property("relevantHistory", "Reference(Provenance)", "Key events in the history of the request.", 0, java.lang.Integer.MAX_VALUE, relevantHistory)); 1759 } 1760 1761 @Override 1762 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1763 switch (_hash) { 1764 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers assigned to this order by the orderer or by the receiver.", 0, java.lang.Integer.MAX_VALUE, identifier); 1765 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition|PlanDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); 1766 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); 1767 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "Plan/proposal/order fulfilled by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn); 1768 case -430332865: /*replaces*/ return new Property("replaces", "Reference(DeviceRequest)", "The request takes the place of the referenced completed or terminated request(s).", 0, java.lang.Integer.MAX_VALUE, replaces); 1769 case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "Composite request this is part of.", 0, 1, groupIdentifier); 1770 case -892481550: /*status*/ return new Property("status", "code", "The status of the request.", 0, 1, status); 1771 case -1183762788: /*intent*/ return new Property("intent", "code", "Whether the request is a proposal, plan, an original order or a reflex order.", 0, 1, intent); 1772 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority); 1773 case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "If true, indicates that the provider is asking for the patient to either stop using or to not start using the specified device or category of devices. For example, the patient has undergone surgery and the provider is indicating that the patient should not wear contact lenses.", 0, 1, doNotPerform); 1774 case 3059181: /*code*/ return new Property("code", "CodeableReference(Device|DeviceDefinition)", "The details of the device to be used.", 0, 1, code); 1775 case -1285004149: /*quantity*/ return new Property("quantity", "integer", "The number of devices to be provided.", 0, 1, quantity); 1776 case 1954460585: /*parameter*/ return new Property("parameter", "", "Specific parameters for the ordered item. For example, the prism value for lenses.", 0, java.lang.Integer.MAX_VALUE, parameter); 1777 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Location|Device)", "The patient who will use the device.", 0, 1, subject); 1778 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "An encounter that provides additional context in which this request is made.", 0, 1, encounter); 1779 case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".", 0, 1, occurrence); 1780 case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".", 0, 1, occurrence); 1781 case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime", "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".", 0, 1, occurrence); 1782 case 1397156594: /*occurrencePeriod*/ return new Property("occurrence[x]", "Period", "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".", 0, 1, occurrence); 1783 case 1515218299: /*occurrenceTiming*/ return new Property("occurrence[x]", "Timing", "The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. \"Every 8 hours\"; \"Three times a day\"; \"1/2 an hour before breakfast for 10 days from 23-Dec 2011:\"; \"15 Oct 2013, 17 Oct 2013 and 1 Nov 2013\".", 0, 1, occurrence); 1784 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "When the request transitioned to being actionable.", 0, 1, authoredOn); 1785 case 693933948: /*requester*/ return new Property("requester", "Reference(Device|Practitioner|PractitionerRole|Organization)", "The individual or entity who initiated the request and has responsibility for its activation.", 0, 1, requester); 1786 case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performerType); 1787 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The desired individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performer); 1788 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reason); 1789 case -1432923513: /*asNeeded*/ return new Property("asNeeded", "boolean", "This status is to indicate whether the request is a PRN or may be given as needed.", 0, 1, asNeeded); 1790 case -544350014: /*asNeededFor*/ return new Property("asNeededFor", "CodeableConcept", "The reason for using the device.", 0, 1, asNeededFor); 1791 case 73049818: /*insurance*/ return new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.", 0, java.lang.Integer.MAX_VALUE, insurance); 1792 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "Reference(Any)", "Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site).", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 1793 case 3387378: /*note*/ return new Property("note", "Annotation", "Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.", 0, java.lang.Integer.MAX_VALUE, note); 1794 case 1538891575: /*relevantHistory*/ return new Property("relevantHistory", "Reference(Provenance)", "Key events in the history of the request.", 0, java.lang.Integer.MAX_VALUE, relevantHistory); 1795 default: return super.getNamedProperty(_hash, _name, _checkValid); 1796 } 1797 1798 } 1799 1800 @Override 1801 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1802 switch (hash) { 1803 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1804 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 1805 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 1806 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 1807 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference 1808 case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier 1809 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 1810 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 1811 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 1812 case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType 1813 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableReference 1814 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // IntegerType 1815 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // DeviceRequestParameterComponent 1816 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1817 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1818 case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType 1819 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 1820 case 693933948: /*requester*/ return this.requester == null ? new Base[0] : new Base[] {this.requester}; // Reference 1821 case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : new Base[] {this.performerType}; // CodeableConcept 1822 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 1823 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 1824 case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // BooleanType 1825 case -544350014: /*asNeededFor*/ return this.asNeededFor == null ? new Base[0] : new Base[] {this.asNeededFor}; // CodeableConcept 1826 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // Reference 1827 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference 1828 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1829 case 1538891575: /*relevantHistory*/ return this.relevantHistory == null ? new Base[0] : this.relevantHistory.toArray(new Base[this.relevantHistory.size()]); // Reference 1830 default: return super.getProperty(hash, name, checkValid); 1831 } 1832 1833 } 1834 1835 @Override 1836 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1837 switch (hash) { 1838 case -1618432855: // identifier 1839 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1840 return value; 1841 case 8911915: // instantiatesCanonical 1842 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 1843 return value; 1844 case -1926393373: // instantiatesUri 1845 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 1846 return value; 1847 case -332612366: // basedOn 1848 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 1849 return value; 1850 case -430332865: // replaces 1851 this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference 1852 return value; 1853 case -445338488: // groupIdentifier 1854 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 1855 return value; 1856 case -892481550: // status 1857 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1858 this.status = (Enumeration) value; // Enumeration<RequestStatus> 1859 return value; 1860 case -1183762788: // intent 1861 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 1862 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 1863 return value; 1864 case -1165461084: // priority 1865 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1866 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1867 return value; 1868 case -1788508167: // doNotPerform 1869 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 1870 return value; 1871 case 3059181: // code 1872 this.code = TypeConvertor.castToCodeableReference(value); // CodeableReference 1873 return value; 1874 case -1285004149: // quantity 1875 this.quantity = TypeConvertor.castToInteger(value); // IntegerType 1876 return value; 1877 case 1954460585: // parameter 1878 this.getParameter().add((DeviceRequestParameterComponent) value); // DeviceRequestParameterComponent 1879 return value; 1880 case -1867885268: // subject 1881 this.subject = TypeConvertor.castToReference(value); // Reference 1882 return value; 1883 case 1524132147: // encounter 1884 this.encounter = TypeConvertor.castToReference(value); // Reference 1885 return value; 1886 case 1687874001: // occurrence 1887 this.occurrence = TypeConvertor.castToType(value); // DataType 1888 return value; 1889 case -1500852503: // authoredOn 1890 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 1891 return value; 1892 case 693933948: // requester 1893 this.requester = TypeConvertor.castToReference(value); // Reference 1894 return value; 1895 case -901444568: // performerType 1896 this.performerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1897 return value; 1898 case 481140686: // performer 1899 this.performer = TypeConvertor.castToReference(value); // Reference 1900 return value; 1901 case -934964668: // reason 1902 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 1903 return value; 1904 case -1432923513: // asNeeded 1905 this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType 1906 return value; 1907 case -544350014: // asNeededFor 1908 this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1909 return value; 1910 case 73049818: // insurance 1911 this.getInsurance().add(TypeConvertor.castToReference(value)); // Reference 1912 return value; 1913 case 1922406657: // supportingInfo 1914 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); // Reference 1915 return value; 1916 case 3387378: // note 1917 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1918 return value; 1919 case 1538891575: // relevantHistory 1920 this.getRelevantHistory().add(TypeConvertor.castToReference(value)); // Reference 1921 return value; 1922 default: return super.setProperty(hash, name, value); 1923 } 1924 1925 } 1926 1927 @Override 1928 public Base setProperty(String name, Base value) throws FHIRException { 1929 if (name.equals("identifier")) { 1930 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1931 } else if (name.equals("instantiatesCanonical")) { 1932 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 1933 } else if (name.equals("instantiatesUri")) { 1934 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 1935 } else if (name.equals("basedOn")) { 1936 this.getBasedOn().add(TypeConvertor.castToReference(value)); 1937 } else if (name.equals("replaces")) { 1938 this.getReplaces().add(TypeConvertor.castToReference(value)); 1939 } else if (name.equals("groupIdentifier")) { 1940 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 1941 } else if (name.equals("status")) { 1942 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1943 this.status = (Enumeration) value; // Enumeration<RequestStatus> 1944 } else if (name.equals("intent")) { 1945 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 1946 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 1947 } else if (name.equals("priority")) { 1948 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1949 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1950 } else if (name.equals("doNotPerform")) { 1951 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 1952 } else if (name.equals("code")) { 1953 this.code = TypeConvertor.castToCodeableReference(value); // CodeableReference 1954 } else if (name.equals("quantity")) { 1955 this.quantity = TypeConvertor.castToInteger(value); // IntegerType 1956 } else if (name.equals("parameter")) { 1957 this.getParameter().add((DeviceRequestParameterComponent) value); 1958 } else if (name.equals("subject")) { 1959 this.subject = TypeConvertor.castToReference(value); // Reference 1960 } else if (name.equals("encounter")) { 1961 this.encounter = TypeConvertor.castToReference(value); // Reference 1962 } else if (name.equals("occurrence[x]")) { 1963 this.occurrence = TypeConvertor.castToType(value); // DataType 1964 } else if (name.equals("authoredOn")) { 1965 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 1966 } else if (name.equals("requester")) { 1967 this.requester = TypeConvertor.castToReference(value); // Reference 1968 } else if (name.equals("performerType")) { 1969 this.performerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1970 } else if (name.equals("performer")) { 1971 this.performer = TypeConvertor.castToReference(value); // Reference 1972 } else if (name.equals("reason")) { 1973 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 1974 } else if (name.equals("asNeeded")) { 1975 this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType 1976 } else if (name.equals("asNeededFor")) { 1977 this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1978 } else if (name.equals("insurance")) { 1979 this.getInsurance().add(TypeConvertor.castToReference(value)); 1980 } else if (name.equals("supportingInfo")) { 1981 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); 1982 } else if (name.equals("note")) { 1983 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1984 } else if (name.equals("relevantHistory")) { 1985 this.getRelevantHistory().add(TypeConvertor.castToReference(value)); 1986 } else 1987 return super.setProperty(name, value); 1988 return value; 1989 } 1990 1991 @Override 1992 public Base makeProperty(int hash, String name) throws FHIRException { 1993 switch (hash) { 1994 case -1618432855: return addIdentifier(); 1995 case 8911915: return addInstantiatesCanonicalElement(); 1996 case -1926393373: return addInstantiatesUriElement(); 1997 case -332612366: return addBasedOn(); 1998 case -430332865: return addReplaces(); 1999 case -445338488: return getGroupIdentifier(); 2000 case -892481550: return getStatusElement(); 2001 case -1183762788: return getIntentElement(); 2002 case -1165461084: return getPriorityElement(); 2003 case -1788508167: return getDoNotPerformElement(); 2004 case 3059181: return getCode(); 2005 case -1285004149: return getQuantityElement(); 2006 case 1954460585: return addParameter(); 2007 case -1867885268: return getSubject(); 2008 case 1524132147: return getEncounter(); 2009 case -2022646513: return getOccurrence(); 2010 case 1687874001: return getOccurrence(); 2011 case -1500852503: return getAuthoredOnElement(); 2012 case 693933948: return getRequester(); 2013 case -901444568: return getPerformerType(); 2014 case 481140686: return getPerformer(); 2015 case -934964668: return addReason(); 2016 case -1432923513: return getAsNeededElement(); 2017 case -544350014: return getAsNeededFor(); 2018 case 73049818: return addInsurance(); 2019 case 1922406657: return addSupportingInfo(); 2020 case 3387378: return addNote(); 2021 case 1538891575: return addRelevantHistory(); 2022 default: return super.makeProperty(hash, name); 2023 } 2024 2025 } 2026 2027 @Override 2028 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2029 switch (hash) { 2030 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2031 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 2032 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 2033 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 2034 case -430332865: /*replaces*/ return new String[] {"Reference"}; 2035 case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; 2036 case -892481550: /*status*/ return new String[] {"code"}; 2037 case -1183762788: /*intent*/ return new String[] {"code"}; 2038 case -1165461084: /*priority*/ return new String[] {"code"}; 2039 case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; 2040 case 3059181: /*code*/ return new String[] {"CodeableReference"}; 2041 case -1285004149: /*quantity*/ return new String[] {"integer"}; 2042 case 1954460585: /*parameter*/ return new String[] {}; 2043 case -1867885268: /*subject*/ return new String[] {"Reference"}; 2044 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 2045 case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period", "Timing"}; 2046 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 2047 case 693933948: /*requester*/ return new String[] {"Reference"}; 2048 case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; 2049 case 481140686: /*performer*/ return new String[] {"Reference"}; 2050 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 2051 case -1432923513: /*asNeeded*/ return new String[] {"boolean"}; 2052 case -544350014: /*asNeededFor*/ return new String[] {"CodeableConcept"}; 2053 case 73049818: /*insurance*/ return new String[] {"Reference"}; 2054 case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; 2055 case 3387378: /*note*/ return new String[] {"Annotation"}; 2056 case 1538891575: /*relevantHistory*/ return new String[] {"Reference"}; 2057 default: return super.getTypesForProperty(hash, name); 2058 } 2059 2060 } 2061 2062 @Override 2063 public Base addChild(String name) throws FHIRException { 2064 if (name.equals("identifier")) { 2065 return addIdentifier(); 2066 } 2067 else if (name.equals("instantiatesCanonical")) { 2068 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.instantiatesCanonical"); 2069 } 2070 else if (name.equals("instantiatesUri")) { 2071 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.instantiatesUri"); 2072 } 2073 else if (name.equals("basedOn")) { 2074 return addBasedOn(); 2075 } 2076 else if (name.equals("replaces")) { 2077 return addReplaces(); 2078 } 2079 else if (name.equals("groupIdentifier")) { 2080 this.groupIdentifier = new Identifier(); 2081 return this.groupIdentifier; 2082 } 2083 else if (name.equals("status")) { 2084 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.status"); 2085 } 2086 else if (name.equals("intent")) { 2087 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.intent"); 2088 } 2089 else if (name.equals("priority")) { 2090 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.priority"); 2091 } 2092 else if (name.equals("doNotPerform")) { 2093 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.doNotPerform"); 2094 } 2095 else if (name.equals("code")) { 2096 this.code = new CodeableReference(); 2097 return this.code; 2098 } 2099 else if (name.equals("quantity")) { 2100 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.quantity"); 2101 } 2102 else if (name.equals("parameter")) { 2103 return addParameter(); 2104 } 2105 else if (name.equals("subject")) { 2106 this.subject = new Reference(); 2107 return this.subject; 2108 } 2109 else if (name.equals("encounter")) { 2110 this.encounter = new Reference(); 2111 return this.encounter; 2112 } 2113 else if (name.equals("occurrenceDateTime")) { 2114 this.occurrence = new DateTimeType(); 2115 return this.occurrence; 2116 } 2117 else if (name.equals("occurrencePeriod")) { 2118 this.occurrence = new Period(); 2119 return this.occurrence; 2120 } 2121 else if (name.equals("occurrenceTiming")) { 2122 this.occurrence = new Timing(); 2123 return this.occurrence; 2124 } 2125 else if (name.equals("authoredOn")) { 2126 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.authoredOn"); 2127 } 2128 else if (name.equals("requester")) { 2129 this.requester = new Reference(); 2130 return this.requester; 2131 } 2132 else if (name.equals("performerType")) { 2133 this.performerType = new CodeableConcept(); 2134 return this.performerType; 2135 } 2136 else if (name.equals("performer")) { 2137 this.performer = new Reference(); 2138 return this.performer; 2139 } 2140 else if (name.equals("reason")) { 2141 return addReason(); 2142 } 2143 else if (name.equals("asNeeded")) { 2144 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.asNeeded"); 2145 } 2146 else if (name.equals("asNeededFor")) { 2147 this.asNeededFor = new CodeableConcept(); 2148 return this.asNeededFor; 2149 } 2150 else if (name.equals("insurance")) { 2151 return addInsurance(); 2152 } 2153 else if (name.equals("supportingInfo")) { 2154 return addSupportingInfo(); 2155 } 2156 else if (name.equals("note")) { 2157 return addNote(); 2158 } 2159 else if (name.equals("relevantHistory")) { 2160 return addRelevantHistory(); 2161 } 2162 else 2163 return super.addChild(name); 2164 } 2165 2166 public String fhirType() { 2167 return "DeviceRequest"; 2168 2169 } 2170 2171 public DeviceRequest copy() { 2172 DeviceRequest dst = new DeviceRequest(); 2173 copyValues(dst); 2174 return dst; 2175 } 2176 2177 public void copyValues(DeviceRequest dst) { 2178 super.copyValues(dst); 2179 if (identifier != null) { 2180 dst.identifier = new ArrayList<Identifier>(); 2181 for (Identifier i : identifier) 2182 dst.identifier.add(i.copy()); 2183 }; 2184 if (instantiatesCanonical != null) { 2185 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 2186 for (CanonicalType i : instantiatesCanonical) 2187 dst.instantiatesCanonical.add(i.copy()); 2188 }; 2189 if (instantiatesUri != null) { 2190 dst.instantiatesUri = new ArrayList<UriType>(); 2191 for (UriType i : instantiatesUri) 2192 dst.instantiatesUri.add(i.copy()); 2193 }; 2194 if (basedOn != null) { 2195 dst.basedOn = new ArrayList<Reference>(); 2196 for (Reference i : basedOn) 2197 dst.basedOn.add(i.copy()); 2198 }; 2199 if (replaces != null) { 2200 dst.replaces = new ArrayList<Reference>(); 2201 for (Reference i : replaces) 2202 dst.replaces.add(i.copy()); 2203 }; 2204 dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); 2205 dst.status = status == null ? null : status.copy(); 2206 dst.intent = intent == null ? null : intent.copy(); 2207 dst.priority = priority == null ? null : priority.copy(); 2208 dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); 2209 dst.code = code == null ? null : code.copy(); 2210 dst.quantity = quantity == null ? null : quantity.copy(); 2211 if (parameter != null) { 2212 dst.parameter = new ArrayList<DeviceRequestParameterComponent>(); 2213 for (DeviceRequestParameterComponent i : parameter) 2214 dst.parameter.add(i.copy()); 2215 }; 2216 dst.subject = subject == null ? null : subject.copy(); 2217 dst.encounter = encounter == null ? null : encounter.copy(); 2218 dst.occurrence = occurrence == null ? null : occurrence.copy(); 2219 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 2220 dst.requester = requester == null ? null : requester.copy(); 2221 dst.performerType = performerType == null ? null : performerType.copy(); 2222 dst.performer = performer == null ? null : performer.copy(); 2223 if (reason != null) { 2224 dst.reason = new ArrayList<CodeableReference>(); 2225 for (CodeableReference i : reason) 2226 dst.reason.add(i.copy()); 2227 }; 2228 dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); 2229 dst.asNeededFor = asNeededFor == null ? null : asNeededFor.copy(); 2230 if (insurance != null) { 2231 dst.insurance = new ArrayList<Reference>(); 2232 for (Reference i : insurance) 2233 dst.insurance.add(i.copy()); 2234 }; 2235 if (supportingInfo != null) { 2236 dst.supportingInfo = new ArrayList<Reference>(); 2237 for (Reference i : supportingInfo) 2238 dst.supportingInfo.add(i.copy()); 2239 }; 2240 if (note != null) { 2241 dst.note = new ArrayList<Annotation>(); 2242 for (Annotation i : note) 2243 dst.note.add(i.copy()); 2244 }; 2245 if (relevantHistory != null) { 2246 dst.relevantHistory = new ArrayList<Reference>(); 2247 for (Reference i : relevantHistory) 2248 dst.relevantHistory.add(i.copy()); 2249 }; 2250 } 2251 2252 protected DeviceRequest typedCopy() { 2253 return copy(); 2254 } 2255 2256 @Override 2257 public boolean equalsDeep(Base other_) { 2258 if (!super.equalsDeep(other_)) 2259 return false; 2260 if (!(other_ instanceof DeviceRequest)) 2261 return false; 2262 DeviceRequest o = (DeviceRequest) other_; 2263 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 2264 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 2265 && compareDeep(replaces, o.replaces, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) 2266 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 2267 && compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(code, o.code, true) && compareDeep(quantity, o.quantity, true) 2268 && compareDeep(parameter, o.parameter, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) 2269 && compareDeep(occurrence, o.occurrence, true) && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(requester, o.requester, true) 2270 && compareDeep(performerType, o.performerType, true) && compareDeep(performer, o.performer, true) 2271 && compareDeep(reason, o.reason, true) && compareDeep(asNeeded, o.asNeeded, true) && compareDeep(asNeededFor, o.asNeededFor, true) 2272 && compareDeep(insurance, o.insurance, true) && compareDeep(supportingInfo, o.supportingInfo, true) 2273 && compareDeep(note, o.note, true) && compareDeep(relevantHistory, o.relevantHistory, true); 2274 } 2275 2276 @Override 2277 public boolean equalsShallow(Base other_) { 2278 if (!super.equalsShallow(other_)) 2279 return false; 2280 if (!(other_ instanceof DeviceRequest)) 2281 return false; 2282 DeviceRequest o = (DeviceRequest) other_; 2283 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 2284 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 2285 && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(quantity, o.quantity, true) && compareValues(authoredOn, o.authoredOn, true) 2286 && compareValues(asNeeded, o.asNeeded, true); 2287 } 2288 2289 public boolean isEmpty() { 2290 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 2291 , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority 2292 , doNotPerform, code, quantity, parameter, subject, encounter, occurrence, authoredOn 2293 , requester, performerType, performer, reason, asNeeded, asNeededFor, insurance 2294 , supportingInfo, note, relevantHistory); 2295 } 2296 2297 @Override 2298 public ResourceType getResourceType() { 2299 return ResourceType.DeviceRequest; 2300 } 2301 2302 /** 2303 * Search parameter: <b>authored-on</b> 2304 * <p> 2305 * Description: <b>When the request transitioned to being actionable</b><br> 2306 * Type: <b>date</b><br> 2307 * Path: <b>DeviceRequest.authoredOn</b><br> 2308 * </p> 2309 */ 2310 @SearchParamDefinition(name="authored-on", path="DeviceRequest.authoredOn", description="When the request transitioned to being actionable", type="date" ) 2311 public static final String SP_AUTHORED_ON = "authored-on"; 2312 /** 2313 * <b>Fluent Client</b> search parameter constant for <b>authored-on</b> 2314 * <p> 2315 * Description: <b>When the request transitioned to being actionable</b><br> 2316 * Type: <b>date</b><br> 2317 * Path: <b>DeviceRequest.authoredOn</b><br> 2318 * </p> 2319 */ 2320 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED_ON = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED_ON); 2321 2322 /** 2323 * Search parameter: <b>based-on</b> 2324 * <p> 2325 * Description: <b>Plan/proposal/order fulfilled by this request</b><br> 2326 * Type: <b>reference</b><br> 2327 * Path: <b>DeviceRequest.basedOn</b><br> 2328 * </p> 2329 */ 2330 @SearchParamDefinition(name="based-on", path="DeviceRequest.basedOn", description="Plan/proposal/order fulfilled by this request", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2331 public static final String SP_BASED_ON = "based-on"; 2332 /** 2333 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 2334 * <p> 2335 * Description: <b>Plan/proposal/order fulfilled by this request</b><br> 2336 * Type: <b>reference</b><br> 2337 * Path: <b>DeviceRequest.basedOn</b><br> 2338 * </p> 2339 */ 2340 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 2341 2342/** 2343 * Constant for fluent queries to be used to add include statements. Specifies 2344 * the path value of "<b>DeviceRequest:based-on</b>". 2345 */ 2346 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("DeviceRequest:based-on").toLocked(); 2347 2348 /** 2349 * Search parameter: <b>device</b> 2350 * <p> 2351 * Description: <b>Reference to resource that is being requested/ordered</b><br> 2352 * Type: <b>reference</b><br> 2353 * Path: <b>DeviceRequest.code.reference</b><br> 2354 * </p> 2355 */ 2356 @SearchParamDefinition(name="device", path="DeviceRequest.code.reference", description="Reference to resource that is being requested/ordered", type="reference" ) 2357 public static final String SP_DEVICE = "device"; 2358 /** 2359 * <b>Fluent Client</b> search parameter constant for <b>device</b> 2360 * <p> 2361 * Description: <b>Reference to resource that is being requested/ordered</b><br> 2362 * Type: <b>reference</b><br> 2363 * Path: <b>DeviceRequest.code.reference</b><br> 2364 * </p> 2365 */ 2366 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEVICE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEVICE); 2367 2368/** 2369 * Constant for fluent queries to be used to add include statements. Specifies 2370 * the path value of "<b>DeviceRequest:device</b>". 2371 */ 2372 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEVICE = new ca.uhn.fhir.model.api.Include("DeviceRequest:device").toLocked(); 2373 2374 /** 2375 * Search parameter: <b>event-date</b> 2376 * <p> 2377 * Description: <b>When service should occur</b><br> 2378 * Type: <b>date</b><br> 2379 * Path: <b>(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)</b><br> 2380 * </p> 2381 */ 2382 @SearchParamDefinition(name="event-date", path="(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)", description="When service should occur", type="date" ) 2383 public static final String SP_EVENT_DATE = "event-date"; 2384 /** 2385 * <b>Fluent Client</b> search parameter constant for <b>event-date</b> 2386 * <p> 2387 * Description: <b>When service should occur</b><br> 2388 * Type: <b>date</b><br> 2389 * Path: <b>(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)</b><br> 2390 * </p> 2391 */ 2392 public static final ca.uhn.fhir.rest.gclient.DateClientParam EVENT_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EVENT_DATE); 2393 2394 /** 2395 * Search parameter: <b>group-identifier</b> 2396 * <p> 2397 * Description: <b>Composite request this is part of</b><br> 2398 * Type: <b>token</b><br> 2399 * Path: <b>DeviceRequest.groupIdentifier</b><br> 2400 * </p> 2401 */ 2402 @SearchParamDefinition(name="group-identifier", path="DeviceRequest.groupIdentifier", description="Composite request this is part of", type="token" ) 2403 public static final String SP_GROUP_IDENTIFIER = "group-identifier"; 2404 /** 2405 * <b>Fluent Client</b> search parameter constant for <b>group-identifier</b> 2406 * <p> 2407 * Description: <b>Composite request this is part of</b><br> 2408 * Type: <b>token</b><br> 2409 * Path: <b>DeviceRequest.groupIdentifier</b><br> 2410 * </p> 2411 */ 2412 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); 2413 2414 /** 2415 * Search parameter: <b>instantiates-canonical</b> 2416 * <p> 2417 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2418 * Type: <b>reference</b><br> 2419 * Path: <b>DeviceRequest.instantiatesCanonical</b><br> 2420 * </p> 2421 */ 2422 @SearchParamDefinition(name="instantiates-canonical", path="DeviceRequest.instantiatesCanonical", description="Instantiates FHIR protocol or definition", type="reference", target={ActivityDefinition.class, PlanDefinition.class } ) 2423 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 2424 /** 2425 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 2426 * <p> 2427 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2428 * Type: <b>reference</b><br> 2429 * Path: <b>DeviceRequest.instantiatesCanonical</b><br> 2430 * </p> 2431 */ 2432 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 2433 2434/** 2435 * Constant for fluent queries to be used to add include statements. Specifies 2436 * the path value of "<b>DeviceRequest:instantiates-canonical</b>". 2437 */ 2438 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("DeviceRequest:instantiates-canonical").toLocked(); 2439 2440 /** 2441 * Search parameter: <b>instantiates-uri</b> 2442 * <p> 2443 * Description: <b>Instantiates external protocol or definition</b><br> 2444 * Type: <b>uri</b><br> 2445 * Path: <b>DeviceRequest.instantiatesUri</b><br> 2446 * </p> 2447 */ 2448 @SearchParamDefinition(name="instantiates-uri", path="DeviceRequest.instantiatesUri", description="Instantiates external protocol or definition", type="uri" ) 2449 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 2450 /** 2451 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 2452 * <p> 2453 * Description: <b>Instantiates external protocol or definition</b><br> 2454 * Type: <b>uri</b><br> 2455 * Path: <b>DeviceRequest.instantiatesUri</b><br> 2456 * </p> 2457 */ 2458 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 2459 2460 /** 2461 * Search parameter: <b>insurance</b> 2462 * <p> 2463 * Description: <b>Associated insurance coverage</b><br> 2464 * Type: <b>reference</b><br> 2465 * Path: <b>DeviceRequest.insurance</b><br> 2466 * </p> 2467 */ 2468 @SearchParamDefinition(name="insurance", path="DeviceRequest.insurance", description="Associated insurance coverage", type="reference", target={ClaimResponse.class, Coverage.class } ) 2469 public static final String SP_INSURANCE = "insurance"; 2470 /** 2471 * <b>Fluent Client</b> search parameter constant for <b>insurance</b> 2472 * <p> 2473 * Description: <b>Associated insurance coverage</b><br> 2474 * Type: <b>reference</b><br> 2475 * Path: <b>DeviceRequest.insurance</b><br> 2476 * </p> 2477 */ 2478 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSURANCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSURANCE); 2479 2480/** 2481 * Constant for fluent queries to be used to add include statements. Specifies 2482 * the path value of "<b>DeviceRequest:insurance</b>". 2483 */ 2484 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSURANCE = new ca.uhn.fhir.model.api.Include("DeviceRequest:insurance").toLocked(); 2485 2486 /** 2487 * Search parameter: <b>intent</b> 2488 * <p> 2489 * Description: <b>proposal | plan | original-order |reflex-order</b><br> 2490 * Type: <b>token</b><br> 2491 * Path: <b>DeviceRequest.intent</b><br> 2492 * </p> 2493 */ 2494 @SearchParamDefinition(name="intent", path="DeviceRequest.intent", description="proposal | plan | original-order |reflex-order", type="token" ) 2495 public static final String SP_INTENT = "intent"; 2496 /** 2497 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 2498 * <p> 2499 * Description: <b>proposal | plan | original-order |reflex-order</b><br> 2500 * Type: <b>token</b><br> 2501 * Path: <b>DeviceRequest.intent</b><br> 2502 * </p> 2503 */ 2504 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 2505 2506 /** 2507 * Search parameter: <b>performer</b> 2508 * <p> 2509 * Description: <b>Desired performer for service</b><br> 2510 * Type: <b>reference</b><br> 2511 * Path: <b>DeviceRequest.performer</b><br> 2512 * </p> 2513 */ 2514 @SearchParamDefinition(name="performer", path="DeviceRequest.performer", description="Desired performer for service", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={CareTeam.class, Device.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 2515 public static final String SP_PERFORMER = "performer"; 2516 /** 2517 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 2518 * <p> 2519 * Description: <b>Desired performer for service</b><br> 2520 * Type: <b>reference</b><br> 2521 * Path: <b>DeviceRequest.performer</b><br> 2522 * </p> 2523 */ 2524 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 2525 2526/** 2527 * Constant for fluent queries to be used to add include statements. Specifies 2528 * the path value of "<b>DeviceRequest:performer</b>". 2529 */ 2530 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("DeviceRequest:performer").toLocked(); 2531 2532 /** 2533 * Search parameter: <b>prior-request</b> 2534 * <p> 2535 * Description: <b>Request takes the place of referenced completed or terminated requests</b><br> 2536 * Type: <b>reference</b><br> 2537 * Path: <b>DeviceRequest.replaces</b><br> 2538 * </p> 2539 */ 2540 @SearchParamDefinition(name="prior-request", path="DeviceRequest.replaces", description="Request takes the place of referenced completed or terminated requests", type="reference", target={DeviceRequest.class } ) 2541 public static final String SP_PRIOR_REQUEST = "prior-request"; 2542 /** 2543 * <b>Fluent Client</b> search parameter constant for <b>prior-request</b> 2544 * <p> 2545 * Description: <b>Request takes the place of referenced completed or terminated requests</b><br> 2546 * Type: <b>reference</b><br> 2547 * Path: <b>DeviceRequest.replaces</b><br> 2548 * </p> 2549 */ 2550 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRIOR_REQUEST = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRIOR_REQUEST); 2551 2552/** 2553 * Constant for fluent queries to be used to add include statements. Specifies 2554 * the path value of "<b>DeviceRequest:prior-request</b>". 2555 */ 2556 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRIOR_REQUEST = new ca.uhn.fhir.model.api.Include("DeviceRequest:prior-request").toLocked(); 2557 2558 /** 2559 * Search parameter: <b>requester</b> 2560 * <p> 2561 * Description: <b>Who/what is requesting service</b><br> 2562 * Type: <b>reference</b><br> 2563 * Path: <b>DeviceRequest.requester</b><br> 2564 * </p> 2565 */ 2566 @SearchParamDefinition(name="requester", path="DeviceRequest.requester", description="Who/what is requesting service", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Organization.class, Practitioner.class, PractitionerRole.class } ) 2567 public static final String SP_REQUESTER = "requester"; 2568 /** 2569 * <b>Fluent Client</b> search parameter constant for <b>requester</b> 2570 * <p> 2571 * Description: <b>Who/what is requesting service</b><br> 2572 * Type: <b>reference</b><br> 2573 * Path: <b>DeviceRequest.requester</b><br> 2574 * </p> 2575 */ 2576 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUESTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUESTER); 2577 2578/** 2579 * Constant for fluent queries to be used to add include statements. Specifies 2580 * the path value of "<b>DeviceRequest:requester</b>". 2581 */ 2582 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUESTER = new ca.uhn.fhir.model.api.Include("DeviceRequest:requester").toLocked(); 2583 2584 /** 2585 * Search parameter: <b>status</b> 2586 * <p> 2587 * Description: <b>entered-in-error | draft | active |suspended | completed</b><br> 2588 * Type: <b>token</b><br> 2589 * Path: <b>DeviceRequest.status</b><br> 2590 * </p> 2591 */ 2592 @SearchParamDefinition(name="status", path="DeviceRequest.status", description="entered-in-error | draft | active |suspended | completed", type="token" ) 2593 public static final String SP_STATUS = "status"; 2594 /** 2595 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2596 * <p> 2597 * Description: <b>entered-in-error | draft | active |suspended | completed</b><br> 2598 * Type: <b>token</b><br> 2599 * Path: <b>DeviceRequest.status</b><br> 2600 * </p> 2601 */ 2602 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2603 2604 /** 2605 * Search parameter: <b>subject</b> 2606 * <p> 2607 * Description: <b>Individual the service is ordered for</b><br> 2608 * Type: <b>reference</b><br> 2609 * Path: <b>DeviceRequest.subject</b><br> 2610 * </p> 2611 */ 2612 @SearchParamDefinition(name="subject", path="DeviceRequest.subject", description="Individual the service is ordered for", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Device.class, Group.class, Location.class, Patient.class } ) 2613 public static final String SP_SUBJECT = "subject"; 2614 /** 2615 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2616 * <p> 2617 * Description: <b>Individual the service is ordered for</b><br> 2618 * Type: <b>reference</b><br> 2619 * Path: <b>DeviceRequest.subject</b><br> 2620 * </p> 2621 */ 2622 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2623 2624/** 2625 * Constant for fluent queries to be used to add include statements. Specifies 2626 * the path value of "<b>DeviceRequest:subject</b>". 2627 */ 2628 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DeviceRequest:subject").toLocked(); 2629 2630 /** 2631 * Search parameter: <b>code</b> 2632 * <p> 2633 * Description: <b>Multiple Resources: 2634 2635* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2636* [Condition](condition.html): Code for the condition 2637* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2638* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 2639* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2640* [List](list.html): What the purpose of this list is 2641* [Medication](medication.html): Returns medications for a specific code 2642* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2643* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2644* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2645* [MedicationUsage](medicationusage.html): Return statements of this medication code 2646* [Observation](observation.html): The code of the observation type 2647* [Procedure](procedure.html): A code to identify a procedure 2648</b><br> 2649 * Type: <b>token</b><br> 2650 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code</b><br> 2651 * </p> 2652 */ 2653 @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) 2654 public static final String SP_CODE = "code"; 2655 /** 2656 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2657 * <p> 2658 * Description: <b>Multiple Resources: 2659 2660* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2661* [Condition](condition.html): Code for the condition 2662* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2663* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 2664* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2665* [List](list.html): What the purpose of this list is 2666* [Medication](medication.html): Returns medications for a specific code 2667* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2668* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2669* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2670* [MedicationUsage](medicationusage.html): Return statements of this medication code 2671* [Observation](observation.html): The code of the observation type 2672* [Procedure](procedure.html): A code to identify a procedure 2673</b><br> 2674 * Type: <b>token</b><br> 2675 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code</b><br> 2676 * </p> 2677 */ 2678 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2679 2680 /** 2681 * Search parameter: <b>encounter</b> 2682 * <p> 2683 * Description: <b>Multiple Resources: 2684 2685* [Composition](composition.html): Context of the Composition 2686* [DeviceRequest](devicerequest.html): Encounter during which request was created 2687* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2688* [Flag](flag.html): Alert relevant during encounter 2689* [List](list.html): Context in which list created 2690* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2691* [Observation](observation.html): Encounter related to the observation 2692* [Procedure](procedure.html): The Encounter during which this Procedure was created 2693* [RiskAssessment](riskassessment.html): Where was assessment performed? 2694* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2695* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2696</b><br> 2697 * Type: <b>reference</b><br> 2698 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 2699 * </p> 2700 */ 2701 @SearchParamDefinition(name="encounter", path="Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter", description="Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): The Encounter during which this Procedure was created\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 2702 public static final String SP_ENCOUNTER = "encounter"; 2703 /** 2704 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2705 * <p> 2706 * Description: <b>Multiple Resources: 2707 2708* [Composition](composition.html): Context of the Composition 2709* [DeviceRequest](devicerequest.html): Encounter during which request was created 2710* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2711* [Flag](flag.html): Alert relevant during encounter 2712* [List](list.html): Context in which list created 2713* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2714* [Observation](observation.html): Encounter related to the observation 2715* [Procedure](procedure.html): The Encounter during which this Procedure was created 2716* [RiskAssessment](riskassessment.html): Where was assessment performed? 2717* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2718* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2719</b><br> 2720 * Type: <b>reference</b><br> 2721 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 2722 * </p> 2723 */ 2724 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2725 2726/** 2727 * Constant for fluent queries to be used to add include statements. Specifies 2728 * the path value of "<b>DeviceRequest:encounter</b>". 2729 */ 2730 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("DeviceRequest:encounter").toLocked(); 2731 2732 /** 2733 * Search parameter: <b>identifier</b> 2734 * <p> 2735 * Description: <b>Multiple Resources: 2736 2737* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2738* [CarePlan](careplan.html): External Ids for this plan 2739* [CareTeam](careteam.html): External Ids for this team 2740* [Composition](composition.html): Version-independent identifier for the Composition 2741* [Condition](condition.html): A unique identifier of the condition record 2742* [Consent](consent.html): Identifier for this record (external references) 2743* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2744* [DeviceRequest](devicerequest.html): Business identifier for request/order 2745* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2746* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2747* [DocumentReference](documentreference.html): Identifier of the attachment binary 2748* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2749* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2750* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2751* [Goal](goal.html): External Ids for this goal 2752* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2753* [Immunization](immunization.html): Business identifier 2754* [List](list.html): Business identifier 2755* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2756* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2757* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2758* [MedicationUsage](medicationusage.html): Return statements with this external identifier 2759* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2760* [Observation](observation.html): The unique id for a particular observation 2761* [Procedure](procedure.html): A unique identifier for a procedure 2762* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2763* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2764* [SupplyDelivery](supplydelivery.html): External identifier 2765* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2766* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2767</b><br> 2768 * Type: <b>token</b><br> 2769 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2770 * </p> 2771 */ 2772 @SearchParamDefinition(name="identifier", path="AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationUsage](medicationusage.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 2773 public static final String SP_IDENTIFIER = "identifier"; 2774 /** 2775 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2776 * <p> 2777 * Description: <b>Multiple Resources: 2778 2779* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2780* [CarePlan](careplan.html): External Ids for this plan 2781* [CareTeam](careteam.html): External Ids for this team 2782* [Composition](composition.html): Version-independent identifier for the Composition 2783* [Condition](condition.html): A unique identifier of the condition record 2784* [Consent](consent.html): Identifier for this record (external references) 2785* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2786* [DeviceRequest](devicerequest.html): Business identifier for request/order 2787* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2788* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2789* [DocumentReference](documentreference.html): Identifier of the attachment binary 2790* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2791* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2792* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2793* [Goal](goal.html): External Ids for this goal 2794* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2795* [Immunization](immunization.html): Business identifier 2796* [List](list.html): Business identifier 2797* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2798* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2799* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2800* [MedicationUsage](medicationusage.html): Return statements with this external identifier 2801* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2802* [Observation](observation.html): The unique id for a particular observation 2803* [Procedure](procedure.html): A unique identifier for a procedure 2804* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2805* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2806* [SupplyDelivery](supplydelivery.html): External identifier 2807* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2808* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2809</b><br> 2810 * Type: <b>token</b><br> 2811 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2812 * </p> 2813 */ 2814 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2815 2816 /** 2817 * Search parameter: <b>patient</b> 2818 * <p> 2819 * Description: <b>Multiple Resources: 2820 2821* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2822* [CarePlan](careplan.html): Who the care plan is for 2823* [CareTeam](careteam.html): Who care team is for 2824* [ClinicalImpression](clinicalimpression.html): Patient assessed 2825* [Composition](composition.html): Who and/or what the composition is about 2826* [Condition](condition.html): Who has the condition? 2827* [Consent](consent.html): Who the consent applies to 2828* [DetectedIssue](detectedissue.html): Associated patient 2829* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2830* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2831* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2832* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2833* [DocumentReference](documentreference.html): Who/what is the subject of the document 2834* [Encounter](encounter.html): The patient present at the encounter 2835* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2836* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2837* [Flag](flag.html): The identity of a subject to list flags for 2838* [Goal](goal.html): Who this goal is intended for 2839* [ImagingStudy](imagingstudy.html): Who the study is about 2840* [Immunization](immunization.html): The patient for the vaccination record 2841* [List](list.html): If all resources have the same subject 2842* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2843* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2844* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2845* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2846* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 2847* [Observation](observation.html): The subject that the observation is about (if patient) 2848* [Procedure](procedure.html): Search by subject - a patient 2849* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2850* [ServiceRequest](servicerequest.html): Search by subject - a patient 2851* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2852* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 2853* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2854</b><br> 2855 * Type: <b>reference</b><br> 2856 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | VisionPrescription.patient</b><br> 2857 * </p> 2858 */ 2859 @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) 2860 public static final String SP_PATIENT = "patient"; 2861 /** 2862 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2863 * <p> 2864 * Description: <b>Multiple Resources: 2865 2866* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2867* [CarePlan](careplan.html): Who the care plan is for 2868* [CareTeam](careteam.html): Who care team is for 2869* [ClinicalImpression](clinicalimpression.html): Patient assessed 2870* [Composition](composition.html): Who and/or what the composition is about 2871* [Condition](condition.html): Who has the condition? 2872* [Consent](consent.html): Who the consent applies to 2873* [DetectedIssue](detectedissue.html): Associated patient 2874* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2875* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2876* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2877* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2878* [DocumentReference](documentreference.html): Who/what is the subject of the document 2879* [Encounter](encounter.html): The patient present at the encounter 2880* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2881* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2882* [Flag](flag.html): The identity of a subject to list flags for 2883* [Goal](goal.html): Who this goal is intended for 2884* [ImagingStudy](imagingstudy.html): Who the study is about 2885* [Immunization](immunization.html): The patient for the vaccination record 2886* [List](list.html): If all resources have the same subject 2887* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2888* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2889* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2890* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2891* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 2892* [Observation](observation.html): The subject that the observation is about (if patient) 2893* [Procedure](procedure.html): Search by subject - a patient 2894* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2895* [ServiceRequest](servicerequest.html): Search by subject - a patient 2896* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2897* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 2898* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2899</b><br> 2900 * Type: <b>reference</b><br> 2901 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | VisionPrescription.patient</b><br> 2902 * </p> 2903 */ 2904 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2905 2906/** 2907 * Constant for fluent queries to be used to add include statements. Specifies 2908 * the path value of "<b>DeviceRequest:patient</b>". 2909 */ 2910 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("DeviceRequest:patient").toLocked(); 2911 2912 2913} 2914