001package org.hl7.fhir.r4b.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 Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.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 for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker. 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 = "priorRequest", type = {Reference.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> priorRequest; 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 device 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 device 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 * The details of the device to be used. 400 */ 401 @Child(name = "code", type = {Device.class, CodeableConcept.class}, order=9, min=1, max=1, modifier=false, summary=true) 402 @Description(shortDefinition="Device requested", formalDefinition="The details of the device to be used." ) 403 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-kind") 404 protected DataType code; 405 406 /** 407 * Specific parameters for the ordered item. For example, the prism value for lenses. 408 */ 409 @Child(name = "parameter", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 410 @Description(shortDefinition="Device details", formalDefinition="Specific parameters for the ordered item. For example, the prism value for lenses." ) 411 protected List<DeviceRequestParameterComponent> parameter; 412 413 /** 414 * The patient who will use the device. 415 */ 416 @Child(name = "subject", type = {Patient.class, Group.class, Location.class, Device.class}, order=11, min=1, max=1, modifier=false, summary=true) 417 @Description(shortDefinition="Focus of request", formalDefinition="The patient who will use the device." ) 418 protected Reference subject; 419 420 /** 421 * An encounter that provides additional context in which this request is made. 422 */ 423 @Child(name = "encounter", type = {Encounter.class}, order=12, min=0, max=1, modifier=false, summary=true) 424 @Description(shortDefinition="Encounter motivating request", formalDefinition="An encounter that provides additional context in which this request is made." ) 425 protected Reference encounter; 426 427 /** 428 * 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". 429 */ 430 @Child(name = "occurrence", type = {DateTimeType.class, Period.class, Timing.class}, order=13, min=0, max=1, modifier=false, summary=true) 431 @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\"." ) 432 protected DataType occurrence; 433 434 /** 435 * When the request transitioned to being actionable. 436 */ 437 @Child(name = "authoredOn", type = {DateTimeType.class}, order=14, min=0, max=1, modifier=false, summary=true) 438 @Description(shortDefinition="When recorded", formalDefinition="When the request transitioned to being actionable." ) 439 protected DateTimeType authoredOn; 440 441 /** 442 * The individual who initiated the request and has responsibility for its activation. 443 */ 444 @Child(name = "requester", type = {Device.class, Practitioner.class, PractitionerRole.class, Organization.class}, order=15, min=0, max=1, modifier=false, summary=true) 445 @Description(shortDefinition="Who/what is requesting diagnostics", formalDefinition="The individual who initiated the request and has responsibility for its activation." ) 446 protected Reference requester; 447 448 /** 449 * Desired type of performer for doing the diagnostic testing. 450 */ 451 @Child(name = "performerType", type = {CodeableConcept.class}, order=16, min=0, max=1, modifier=false, summary=true) 452 @Description(shortDefinition="Filler role", formalDefinition="Desired type of performer for doing the diagnostic testing." ) 453 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-role") 454 protected CodeableConcept performerType; 455 456 /** 457 * The desired performer for doing the diagnostic testing. 458 */ 459 @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, HealthcareService.class, Patient.class, Device.class, RelatedPerson.class}, order=17, min=0, max=1, modifier=false, summary=true) 460 @Description(shortDefinition="Requested Filler", formalDefinition="The desired performer for doing the diagnostic testing." ) 461 protected Reference performer; 462 463 /** 464 * Reason or justification for the use of this device. 465 */ 466 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 467 @Description(shortDefinition="Coded Reason for request", formalDefinition="Reason or justification for the use of this device." ) 468 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 469 protected List<CodeableConcept> reasonCode; 470 471 /** 472 * Reason or justification for the use of this device. 473 */ 474 @Child(name = "reasonReference", type = {Condition.class, Observation.class, DiagnosticReport.class, DocumentReference.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 475 @Description(shortDefinition="Linked Reason for request", formalDefinition="Reason or justification for the use of this device." ) 476 protected List<Reference> reasonReference; 477 478 /** 479 * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. 480 */ 481 @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 482 @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." ) 483 protected List<Reference> insurance; 484 485 /** 486 * 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). 487 */ 488 @Child(name = "supportingInfo", type = {Reference.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 489 @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)." ) 490 protected List<Reference> supportingInfo; 491 492 /** 493 * 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. 494 */ 495 @Child(name = "note", type = {Annotation.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 496 @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." ) 497 protected List<Annotation> note; 498 499 /** 500 * Key events in the history of the request. 501 */ 502 @Child(name = "relevantHistory", type = {Provenance.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 503 @Description(shortDefinition="Request provenance", formalDefinition="Key events in the history of the request." ) 504 protected List<Reference> relevantHistory; 505 506 private static final long serialVersionUID = 1859846276L; 507 508 /** 509 * Constructor 510 */ 511 public DeviceRequest() { 512 super(); 513 } 514 515 /** 516 * Constructor 517 */ 518 public DeviceRequest(RequestIntent intent, DataType code, Reference subject) { 519 super(); 520 this.setIntent(intent); 521 this.setCode(code); 522 this.setSubject(subject); 523 } 524 525 /** 526 * @return {@link #identifier} (Identifiers assigned to this order by the orderer or by the receiver.) 527 */ 528 public List<Identifier> getIdentifier() { 529 if (this.identifier == null) 530 this.identifier = new ArrayList<Identifier>(); 531 return this.identifier; 532 } 533 534 /** 535 * @return Returns a reference to <code>this</code> for easy method chaining 536 */ 537 public DeviceRequest setIdentifier(List<Identifier> theIdentifier) { 538 this.identifier = theIdentifier; 539 return this; 540 } 541 542 public boolean hasIdentifier() { 543 if (this.identifier == null) 544 return false; 545 for (Identifier item : this.identifier) 546 if (!item.isEmpty()) 547 return true; 548 return false; 549 } 550 551 public Identifier addIdentifier() { //3 552 Identifier t = new Identifier(); 553 if (this.identifier == null) 554 this.identifier = new ArrayList<Identifier>(); 555 this.identifier.add(t); 556 return t; 557 } 558 559 public DeviceRequest addIdentifier(Identifier t) { //3 560 if (t == null) 561 return this; 562 if (this.identifier == null) 563 this.identifier = new ArrayList<Identifier>(); 564 this.identifier.add(t); 565 return this; 566 } 567 568 /** 569 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 570 */ 571 public Identifier getIdentifierFirstRep() { 572 if (getIdentifier().isEmpty()) { 573 addIdentifier(); 574 } 575 return getIdentifier().get(0); 576 } 577 578 /** 579 * @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.) 580 */ 581 public List<CanonicalType> getInstantiatesCanonical() { 582 if (this.instantiatesCanonical == null) 583 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 584 return this.instantiatesCanonical; 585 } 586 587 /** 588 * @return Returns a reference to <code>this</code> for easy method chaining 589 */ 590 public DeviceRequest setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 591 this.instantiatesCanonical = theInstantiatesCanonical; 592 return this; 593 } 594 595 public boolean hasInstantiatesCanonical() { 596 if (this.instantiatesCanonical == null) 597 return false; 598 for (CanonicalType item : this.instantiatesCanonical) 599 if (!item.isEmpty()) 600 return true; 601 return false; 602 } 603 604 /** 605 * @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.) 606 */ 607 public CanonicalType addInstantiatesCanonicalElement() {//2 608 CanonicalType t = new CanonicalType(); 609 if (this.instantiatesCanonical == null) 610 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 611 this.instantiatesCanonical.add(t); 612 return t; 613 } 614 615 /** 616 * @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.) 617 */ 618 public DeviceRequest addInstantiatesCanonical(String value) { //1 619 CanonicalType t = new CanonicalType(); 620 t.setValue(value); 621 if (this.instantiatesCanonical == null) 622 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 623 this.instantiatesCanonical.add(t); 624 return this; 625 } 626 627 /** 628 * @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.) 629 */ 630 public boolean hasInstantiatesCanonical(String value) { 631 if (this.instantiatesCanonical == null) 632 return false; 633 for (CanonicalType v : this.instantiatesCanonical) 634 if (v.getValue().equals(value)) // canonical 635 return true; 636 return false; 637 } 638 639 /** 640 * @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.) 641 */ 642 public List<UriType> getInstantiatesUri() { 643 if (this.instantiatesUri == null) 644 this.instantiatesUri = new ArrayList<UriType>(); 645 return this.instantiatesUri; 646 } 647 648 /** 649 * @return Returns a reference to <code>this</code> for easy method chaining 650 */ 651 public DeviceRequest setInstantiatesUri(List<UriType> theInstantiatesUri) { 652 this.instantiatesUri = theInstantiatesUri; 653 return this; 654 } 655 656 public boolean hasInstantiatesUri() { 657 if (this.instantiatesUri == null) 658 return false; 659 for (UriType item : this.instantiatesUri) 660 if (!item.isEmpty()) 661 return true; 662 return false; 663 } 664 665 /** 666 * @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.) 667 */ 668 public UriType addInstantiatesUriElement() {//2 669 UriType t = new UriType(); 670 if (this.instantiatesUri == null) 671 this.instantiatesUri = new ArrayList<UriType>(); 672 this.instantiatesUri.add(t); 673 return t; 674 } 675 676 /** 677 * @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.) 678 */ 679 public DeviceRequest addInstantiatesUri(String value) { //1 680 UriType t = new UriType(); 681 t.setValue(value); 682 if (this.instantiatesUri == null) 683 this.instantiatesUri = new ArrayList<UriType>(); 684 this.instantiatesUri.add(t); 685 return this; 686 } 687 688 /** 689 * @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.) 690 */ 691 public boolean hasInstantiatesUri(String value) { 692 if (this.instantiatesUri == null) 693 return false; 694 for (UriType v : this.instantiatesUri) 695 if (v.getValue().equals(value)) // uri 696 return true; 697 return false; 698 } 699 700 /** 701 * @return {@link #basedOn} (Plan/proposal/order fulfilled by this request.) 702 */ 703 public List<Reference> getBasedOn() { 704 if (this.basedOn == null) 705 this.basedOn = new ArrayList<Reference>(); 706 return this.basedOn; 707 } 708 709 /** 710 * @return Returns a reference to <code>this</code> for easy method chaining 711 */ 712 public DeviceRequest setBasedOn(List<Reference> theBasedOn) { 713 this.basedOn = theBasedOn; 714 return this; 715 } 716 717 public boolean hasBasedOn() { 718 if (this.basedOn == null) 719 return false; 720 for (Reference item : this.basedOn) 721 if (!item.isEmpty()) 722 return true; 723 return false; 724 } 725 726 public Reference addBasedOn() { //3 727 Reference t = new Reference(); 728 if (this.basedOn == null) 729 this.basedOn = new ArrayList<Reference>(); 730 this.basedOn.add(t); 731 return t; 732 } 733 734 public DeviceRequest addBasedOn(Reference t) { //3 735 if (t == null) 736 return this; 737 if (this.basedOn == null) 738 this.basedOn = new ArrayList<Reference>(); 739 this.basedOn.add(t); 740 return this; 741 } 742 743 /** 744 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 745 */ 746 public Reference getBasedOnFirstRep() { 747 if (getBasedOn().isEmpty()) { 748 addBasedOn(); 749 } 750 return getBasedOn().get(0); 751 } 752 753 /** 754 * @return {@link #priorRequest} (The request takes the place of the referenced completed or terminated request(s).) 755 */ 756 public List<Reference> getPriorRequest() { 757 if (this.priorRequest == null) 758 this.priorRequest = new ArrayList<Reference>(); 759 return this.priorRequest; 760 } 761 762 /** 763 * @return Returns a reference to <code>this</code> for easy method chaining 764 */ 765 public DeviceRequest setPriorRequest(List<Reference> thePriorRequest) { 766 this.priorRequest = thePriorRequest; 767 return this; 768 } 769 770 public boolean hasPriorRequest() { 771 if (this.priorRequest == null) 772 return false; 773 for (Reference item : this.priorRequest) 774 if (!item.isEmpty()) 775 return true; 776 return false; 777 } 778 779 public Reference addPriorRequest() { //3 780 Reference t = new Reference(); 781 if (this.priorRequest == null) 782 this.priorRequest = new ArrayList<Reference>(); 783 this.priorRequest.add(t); 784 return t; 785 } 786 787 public DeviceRequest addPriorRequest(Reference t) { //3 788 if (t == null) 789 return this; 790 if (this.priorRequest == null) 791 this.priorRequest = new ArrayList<Reference>(); 792 this.priorRequest.add(t); 793 return this; 794 } 795 796 /** 797 * @return The first repetition of repeating field {@link #priorRequest}, creating it if it does not already exist {3} 798 */ 799 public Reference getPriorRequestFirstRep() { 800 if (getPriorRequest().isEmpty()) { 801 addPriorRequest(); 802 } 803 return getPriorRequest().get(0); 804 } 805 806 /** 807 * @return {@link #groupIdentifier} (Composite request this is part of.) 808 */ 809 public Identifier getGroupIdentifier() { 810 if (this.groupIdentifier == null) 811 if (Configuration.errorOnAutoCreate()) 812 throw new Error("Attempt to auto-create DeviceRequest.groupIdentifier"); 813 else if (Configuration.doAutoCreate()) 814 this.groupIdentifier = new Identifier(); // cc 815 return this.groupIdentifier; 816 } 817 818 public boolean hasGroupIdentifier() { 819 return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); 820 } 821 822 /** 823 * @param value {@link #groupIdentifier} (Composite request this is part of.) 824 */ 825 public DeviceRequest setGroupIdentifier(Identifier value) { 826 this.groupIdentifier = value; 827 return this; 828 } 829 830 /** 831 * @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 832 */ 833 public Enumeration<RequestStatus> getStatusElement() { 834 if (this.status == null) 835 if (Configuration.errorOnAutoCreate()) 836 throw new Error("Attempt to auto-create DeviceRequest.status"); 837 else if (Configuration.doAutoCreate()) 838 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); // bb 839 return this.status; 840 } 841 842 public boolean hasStatusElement() { 843 return this.status != null && !this.status.isEmpty(); 844 } 845 846 public boolean hasStatus() { 847 return this.status != null && !this.status.isEmpty(); 848 } 849 850 /** 851 * @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 852 */ 853 public DeviceRequest setStatusElement(Enumeration<RequestStatus> value) { 854 this.status = value; 855 return this; 856 } 857 858 /** 859 * @return The status of the request. 860 */ 861 public RequestStatus getStatus() { 862 return this.status == null ? null : this.status.getValue(); 863 } 864 865 /** 866 * @param value The status of the request. 867 */ 868 public DeviceRequest setStatus(RequestStatus value) { 869 if (value == null) 870 this.status = null; 871 else { 872 if (this.status == null) 873 this.status = new Enumeration<RequestStatus>(new RequestStatusEnumFactory()); 874 this.status.setValue(value); 875 } 876 return this; 877 } 878 879 /** 880 * @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 881 */ 882 public Enumeration<RequestIntent> getIntentElement() { 883 if (this.intent == null) 884 if (Configuration.errorOnAutoCreate()) 885 throw new Error("Attempt to auto-create DeviceRequest.intent"); 886 else if (Configuration.doAutoCreate()) 887 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 888 return this.intent; 889 } 890 891 public boolean hasIntentElement() { 892 return this.intent != null && !this.intent.isEmpty(); 893 } 894 895 public boolean hasIntent() { 896 return this.intent != null && !this.intent.isEmpty(); 897 } 898 899 /** 900 * @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 901 */ 902 public DeviceRequest setIntentElement(Enumeration<RequestIntent> value) { 903 this.intent = value; 904 return this; 905 } 906 907 /** 908 * @return Whether the request is a proposal, plan, an original order or a reflex order. 909 */ 910 public RequestIntent getIntent() { 911 return this.intent == null ? null : this.intent.getValue(); 912 } 913 914 /** 915 * @param value Whether the request is a proposal, plan, an original order or a reflex order. 916 */ 917 public DeviceRequest setIntent(RequestIntent value) { 918 if (this.intent == null) 919 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 920 this.intent.setValue(value); 921 return this; 922 } 923 924 /** 925 * @return {@link #priority} (Indicates how quickly the device 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 926 */ 927 public Enumeration<RequestPriority> getPriorityElement() { 928 if (this.priority == null) 929 if (Configuration.errorOnAutoCreate()) 930 throw new Error("Attempt to auto-create DeviceRequest.priority"); 931 else if (Configuration.doAutoCreate()) 932 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 933 return this.priority; 934 } 935 936 public boolean hasPriorityElement() { 937 return this.priority != null && !this.priority.isEmpty(); 938 } 939 940 public boolean hasPriority() { 941 return this.priority != null && !this.priority.isEmpty(); 942 } 943 944 /** 945 * @param value {@link #priority} (Indicates how quickly the device 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 946 */ 947 public DeviceRequest setPriorityElement(Enumeration<RequestPriority> value) { 948 this.priority = value; 949 return this; 950 } 951 952 /** 953 * @return Indicates how quickly the device request should be addressed with respect to other requests. 954 */ 955 public RequestPriority getPriority() { 956 return this.priority == null ? null : this.priority.getValue(); 957 } 958 959 /** 960 * @param value Indicates how quickly the device request should be addressed with respect to other requests. 961 */ 962 public DeviceRequest setPriority(RequestPriority value) { 963 if (value == null) 964 this.priority = null; 965 else { 966 if (this.priority == null) 967 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 968 this.priority.setValue(value); 969 } 970 return this; 971 } 972 973 /** 974 * @return {@link #code} (The details of the device to be used.) 975 */ 976 public DataType getCode() { 977 return this.code; 978 } 979 980 /** 981 * @return {@link #code} (The details of the device to be used.) 982 */ 983 public Reference getCodeReference() throws FHIRException { 984 if (this.code == null) 985 this.code = new Reference(); 986 if (!(this.code instanceof Reference)) 987 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.code.getClass().getName()+" was encountered"); 988 return (Reference) this.code; 989 } 990 991 public boolean hasCodeReference() { 992 return this != null && this.code instanceof Reference; 993 } 994 995 /** 996 * @return {@link #code} (The details of the device to be used.) 997 */ 998 public CodeableConcept getCodeCodeableConcept() throws FHIRException { 999 if (this.code == null) 1000 this.code = new CodeableConcept(); 1001 if (!(this.code instanceof CodeableConcept)) 1002 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.code.getClass().getName()+" was encountered"); 1003 return (CodeableConcept) this.code; 1004 } 1005 1006 public boolean hasCodeCodeableConcept() { 1007 return this != null && this.code instanceof CodeableConcept; 1008 } 1009 1010 public boolean hasCode() { 1011 return this.code != null && !this.code.isEmpty(); 1012 } 1013 1014 /** 1015 * @param value {@link #code} (The details of the device to be used.) 1016 */ 1017 public DeviceRequest setCode(DataType value) { 1018 if (value != null && !(value instanceof Reference || value instanceof CodeableConcept)) 1019 throw new Error("Not the right type for DeviceRequest.code[x]: "+value.fhirType()); 1020 this.code = value; 1021 return this; 1022 } 1023 1024 /** 1025 * @return {@link #parameter} (Specific parameters for the ordered item. For example, the prism value for lenses.) 1026 */ 1027 public List<DeviceRequestParameterComponent> getParameter() { 1028 if (this.parameter == null) 1029 this.parameter = new ArrayList<DeviceRequestParameterComponent>(); 1030 return this.parameter; 1031 } 1032 1033 /** 1034 * @return Returns a reference to <code>this</code> for easy method chaining 1035 */ 1036 public DeviceRequest setParameter(List<DeviceRequestParameterComponent> theParameter) { 1037 this.parameter = theParameter; 1038 return this; 1039 } 1040 1041 public boolean hasParameter() { 1042 if (this.parameter == null) 1043 return false; 1044 for (DeviceRequestParameterComponent item : this.parameter) 1045 if (!item.isEmpty()) 1046 return true; 1047 return false; 1048 } 1049 1050 public DeviceRequestParameterComponent addParameter() { //3 1051 DeviceRequestParameterComponent t = new DeviceRequestParameterComponent(); 1052 if (this.parameter == null) 1053 this.parameter = new ArrayList<DeviceRequestParameterComponent>(); 1054 this.parameter.add(t); 1055 return t; 1056 } 1057 1058 public DeviceRequest addParameter(DeviceRequestParameterComponent t) { //3 1059 if (t == null) 1060 return this; 1061 if (this.parameter == null) 1062 this.parameter = new ArrayList<DeviceRequestParameterComponent>(); 1063 this.parameter.add(t); 1064 return this; 1065 } 1066 1067 /** 1068 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 1069 */ 1070 public DeviceRequestParameterComponent getParameterFirstRep() { 1071 if (getParameter().isEmpty()) { 1072 addParameter(); 1073 } 1074 return getParameter().get(0); 1075 } 1076 1077 /** 1078 * @return {@link #subject} (The patient who will use the device.) 1079 */ 1080 public Reference getSubject() { 1081 if (this.subject == null) 1082 if (Configuration.errorOnAutoCreate()) 1083 throw new Error("Attempt to auto-create DeviceRequest.subject"); 1084 else if (Configuration.doAutoCreate()) 1085 this.subject = new Reference(); // cc 1086 return this.subject; 1087 } 1088 1089 public boolean hasSubject() { 1090 return this.subject != null && !this.subject.isEmpty(); 1091 } 1092 1093 /** 1094 * @param value {@link #subject} (The patient who will use the device.) 1095 */ 1096 public DeviceRequest setSubject(Reference value) { 1097 this.subject = value; 1098 return this; 1099 } 1100 1101 /** 1102 * @return {@link #encounter} (An encounter that provides additional context in which this request is made.) 1103 */ 1104 public Reference getEncounter() { 1105 if (this.encounter == null) 1106 if (Configuration.errorOnAutoCreate()) 1107 throw new Error("Attempt to auto-create DeviceRequest.encounter"); 1108 else if (Configuration.doAutoCreate()) 1109 this.encounter = new Reference(); // cc 1110 return this.encounter; 1111 } 1112 1113 public boolean hasEncounter() { 1114 return this.encounter != null && !this.encounter.isEmpty(); 1115 } 1116 1117 /** 1118 * @param value {@link #encounter} (An encounter that provides additional context in which this request is made.) 1119 */ 1120 public DeviceRequest setEncounter(Reference value) { 1121 this.encounter = value; 1122 return this; 1123 } 1124 1125 /** 1126 * @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".) 1127 */ 1128 public DataType getOccurrence() { 1129 return this.occurrence; 1130 } 1131 1132 /** 1133 * @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".) 1134 */ 1135 public DateTimeType getOccurrenceDateTimeType() throws FHIRException { 1136 if (this.occurrence == null) 1137 this.occurrence = new DateTimeType(); 1138 if (!(this.occurrence instanceof DateTimeType)) 1139 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1140 return (DateTimeType) this.occurrence; 1141 } 1142 1143 public boolean hasOccurrenceDateTimeType() { 1144 return this != null && this.occurrence instanceof DateTimeType; 1145 } 1146 1147 /** 1148 * @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".) 1149 */ 1150 public Period getOccurrencePeriod() throws FHIRException { 1151 if (this.occurrence == null) 1152 this.occurrence = new Period(); 1153 if (!(this.occurrence instanceof Period)) 1154 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1155 return (Period) this.occurrence; 1156 } 1157 1158 public boolean hasOccurrencePeriod() { 1159 return this != null && this.occurrence instanceof Period; 1160 } 1161 1162 /** 1163 * @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".) 1164 */ 1165 public Timing getOccurrenceTiming() throws FHIRException { 1166 if (this.occurrence == null) 1167 this.occurrence = new Timing(); 1168 if (!(this.occurrence instanceof Timing)) 1169 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 1170 return (Timing) this.occurrence; 1171 } 1172 1173 public boolean hasOccurrenceTiming() { 1174 return this != null && this.occurrence instanceof Timing; 1175 } 1176 1177 public boolean hasOccurrence() { 1178 return this.occurrence != null && !this.occurrence.isEmpty(); 1179 } 1180 1181 /** 1182 * @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".) 1183 */ 1184 public DeviceRequest setOccurrence(DataType value) { 1185 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Timing)) 1186 throw new Error("Not the right type for DeviceRequest.occurrence[x]: "+value.fhirType()); 1187 this.occurrence = value; 1188 return this; 1189 } 1190 1191 /** 1192 * @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 1193 */ 1194 public DateTimeType getAuthoredOnElement() { 1195 if (this.authoredOn == null) 1196 if (Configuration.errorOnAutoCreate()) 1197 throw new Error("Attempt to auto-create DeviceRequest.authoredOn"); 1198 else if (Configuration.doAutoCreate()) 1199 this.authoredOn = new DateTimeType(); // bb 1200 return this.authoredOn; 1201 } 1202 1203 public boolean hasAuthoredOnElement() { 1204 return this.authoredOn != null && !this.authoredOn.isEmpty(); 1205 } 1206 1207 public boolean hasAuthoredOn() { 1208 return this.authoredOn != null && !this.authoredOn.isEmpty(); 1209 } 1210 1211 /** 1212 * @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 1213 */ 1214 public DeviceRequest setAuthoredOnElement(DateTimeType value) { 1215 this.authoredOn = value; 1216 return this; 1217 } 1218 1219 /** 1220 * @return When the request transitioned to being actionable. 1221 */ 1222 public Date getAuthoredOn() { 1223 return this.authoredOn == null ? null : this.authoredOn.getValue(); 1224 } 1225 1226 /** 1227 * @param value When the request transitioned to being actionable. 1228 */ 1229 public DeviceRequest setAuthoredOn(Date value) { 1230 if (value == null) 1231 this.authoredOn = null; 1232 else { 1233 if (this.authoredOn == null) 1234 this.authoredOn = new DateTimeType(); 1235 this.authoredOn.setValue(value); 1236 } 1237 return this; 1238 } 1239 1240 /** 1241 * @return {@link #requester} (The individual who initiated the request and has responsibility for its activation.) 1242 */ 1243 public Reference getRequester() { 1244 if (this.requester == null) 1245 if (Configuration.errorOnAutoCreate()) 1246 throw new Error("Attempt to auto-create DeviceRequest.requester"); 1247 else if (Configuration.doAutoCreate()) 1248 this.requester = new Reference(); // cc 1249 return this.requester; 1250 } 1251 1252 public boolean hasRequester() { 1253 return this.requester != null && !this.requester.isEmpty(); 1254 } 1255 1256 /** 1257 * @param value {@link #requester} (The individual who initiated the request and has responsibility for its activation.) 1258 */ 1259 public DeviceRequest setRequester(Reference value) { 1260 this.requester = value; 1261 return this; 1262 } 1263 1264 /** 1265 * @return {@link #performerType} (Desired type of performer for doing the diagnostic testing.) 1266 */ 1267 public CodeableConcept getPerformerType() { 1268 if (this.performerType == null) 1269 if (Configuration.errorOnAutoCreate()) 1270 throw new Error("Attempt to auto-create DeviceRequest.performerType"); 1271 else if (Configuration.doAutoCreate()) 1272 this.performerType = new CodeableConcept(); // cc 1273 return this.performerType; 1274 } 1275 1276 public boolean hasPerformerType() { 1277 return this.performerType != null && !this.performerType.isEmpty(); 1278 } 1279 1280 /** 1281 * @param value {@link #performerType} (Desired type of performer for doing the diagnostic testing.) 1282 */ 1283 public DeviceRequest setPerformerType(CodeableConcept value) { 1284 this.performerType = value; 1285 return this; 1286 } 1287 1288 /** 1289 * @return {@link #performer} (The desired performer for doing the diagnostic testing.) 1290 */ 1291 public Reference getPerformer() { 1292 if (this.performer == null) 1293 if (Configuration.errorOnAutoCreate()) 1294 throw new Error("Attempt to auto-create DeviceRequest.performer"); 1295 else if (Configuration.doAutoCreate()) 1296 this.performer = new Reference(); // cc 1297 return this.performer; 1298 } 1299 1300 public boolean hasPerformer() { 1301 return this.performer != null && !this.performer.isEmpty(); 1302 } 1303 1304 /** 1305 * @param value {@link #performer} (The desired performer for doing the diagnostic testing.) 1306 */ 1307 public DeviceRequest setPerformer(Reference value) { 1308 this.performer = value; 1309 return this; 1310 } 1311 1312 /** 1313 * @return {@link #reasonCode} (Reason or justification for the use of this device.) 1314 */ 1315 public List<CodeableConcept> getReasonCode() { 1316 if (this.reasonCode == null) 1317 this.reasonCode = new ArrayList<CodeableConcept>(); 1318 return this.reasonCode; 1319 } 1320 1321 /** 1322 * @return Returns a reference to <code>this</code> for easy method chaining 1323 */ 1324 public DeviceRequest setReasonCode(List<CodeableConcept> theReasonCode) { 1325 this.reasonCode = theReasonCode; 1326 return this; 1327 } 1328 1329 public boolean hasReasonCode() { 1330 if (this.reasonCode == null) 1331 return false; 1332 for (CodeableConcept item : this.reasonCode) 1333 if (!item.isEmpty()) 1334 return true; 1335 return false; 1336 } 1337 1338 public CodeableConcept addReasonCode() { //3 1339 CodeableConcept t = new CodeableConcept(); 1340 if (this.reasonCode == null) 1341 this.reasonCode = new ArrayList<CodeableConcept>(); 1342 this.reasonCode.add(t); 1343 return t; 1344 } 1345 1346 public DeviceRequest addReasonCode(CodeableConcept t) { //3 1347 if (t == null) 1348 return this; 1349 if (this.reasonCode == null) 1350 this.reasonCode = new ArrayList<CodeableConcept>(); 1351 this.reasonCode.add(t); 1352 return this; 1353 } 1354 1355 /** 1356 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist {3} 1357 */ 1358 public CodeableConcept getReasonCodeFirstRep() { 1359 if (getReasonCode().isEmpty()) { 1360 addReasonCode(); 1361 } 1362 return getReasonCode().get(0); 1363 } 1364 1365 /** 1366 * @return {@link #reasonReference} (Reason or justification for the use of this device.) 1367 */ 1368 public List<Reference> getReasonReference() { 1369 if (this.reasonReference == null) 1370 this.reasonReference = new ArrayList<Reference>(); 1371 return this.reasonReference; 1372 } 1373 1374 /** 1375 * @return Returns a reference to <code>this</code> for easy method chaining 1376 */ 1377 public DeviceRequest setReasonReference(List<Reference> theReasonReference) { 1378 this.reasonReference = theReasonReference; 1379 return this; 1380 } 1381 1382 public boolean hasReasonReference() { 1383 if (this.reasonReference == null) 1384 return false; 1385 for (Reference item : this.reasonReference) 1386 if (!item.isEmpty()) 1387 return true; 1388 return false; 1389 } 1390 1391 public Reference addReasonReference() { //3 1392 Reference t = new Reference(); 1393 if (this.reasonReference == null) 1394 this.reasonReference = new ArrayList<Reference>(); 1395 this.reasonReference.add(t); 1396 return t; 1397 } 1398 1399 public DeviceRequest addReasonReference(Reference t) { //3 1400 if (t == null) 1401 return this; 1402 if (this.reasonReference == null) 1403 this.reasonReference = new ArrayList<Reference>(); 1404 this.reasonReference.add(t); 1405 return this; 1406 } 1407 1408 /** 1409 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist {3} 1410 */ 1411 public Reference getReasonReferenceFirstRep() { 1412 if (getReasonReference().isEmpty()) { 1413 addReasonReference(); 1414 } 1415 return getReasonReference().get(0); 1416 } 1417 1418 /** 1419 * @return {@link #insurance} (Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.) 1420 */ 1421 public List<Reference> getInsurance() { 1422 if (this.insurance == null) 1423 this.insurance = new ArrayList<Reference>(); 1424 return this.insurance; 1425 } 1426 1427 /** 1428 * @return Returns a reference to <code>this</code> for easy method chaining 1429 */ 1430 public DeviceRequest setInsurance(List<Reference> theInsurance) { 1431 this.insurance = theInsurance; 1432 return this; 1433 } 1434 1435 public boolean hasInsurance() { 1436 if (this.insurance == null) 1437 return false; 1438 for (Reference item : this.insurance) 1439 if (!item.isEmpty()) 1440 return true; 1441 return false; 1442 } 1443 1444 public Reference addInsurance() { //3 1445 Reference t = new Reference(); 1446 if (this.insurance == null) 1447 this.insurance = new ArrayList<Reference>(); 1448 this.insurance.add(t); 1449 return t; 1450 } 1451 1452 public DeviceRequest addInsurance(Reference t) { //3 1453 if (t == null) 1454 return this; 1455 if (this.insurance == null) 1456 this.insurance = new ArrayList<Reference>(); 1457 this.insurance.add(t); 1458 return this; 1459 } 1460 1461 /** 1462 * @return The first repetition of repeating field {@link #insurance}, creating it if it does not already exist {3} 1463 */ 1464 public Reference getInsuranceFirstRep() { 1465 if (getInsurance().isEmpty()) { 1466 addInsurance(); 1467 } 1468 return getInsurance().get(0); 1469 } 1470 1471 /** 1472 * @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).) 1473 */ 1474 public List<Reference> getSupportingInfo() { 1475 if (this.supportingInfo == null) 1476 this.supportingInfo = new ArrayList<Reference>(); 1477 return this.supportingInfo; 1478 } 1479 1480 /** 1481 * @return Returns a reference to <code>this</code> for easy method chaining 1482 */ 1483 public DeviceRequest setSupportingInfo(List<Reference> theSupportingInfo) { 1484 this.supportingInfo = theSupportingInfo; 1485 return this; 1486 } 1487 1488 public boolean hasSupportingInfo() { 1489 if (this.supportingInfo == null) 1490 return false; 1491 for (Reference item : this.supportingInfo) 1492 if (!item.isEmpty()) 1493 return true; 1494 return false; 1495 } 1496 1497 public Reference addSupportingInfo() { //3 1498 Reference t = new Reference(); 1499 if (this.supportingInfo == null) 1500 this.supportingInfo = new ArrayList<Reference>(); 1501 this.supportingInfo.add(t); 1502 return t; 1503 } 1504 1505 public DeviceRequest addSupportingInfo(Reference t) { //3 1506 if (t == null) 1507 return this; 1508 if (this.supportingInfo == null) 1509 this.supportingInfo = new ArrayList<Reference>(); 1510 this.supportingInfo.add(t); 1511 return this; 1512 } 1513 1514 /** 1515 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 1516 */ 1517 public Reference getSupportingInfoFirstRep() { 1518 if (getSupportingInfo().isEmpty()) { 1519 addSupportingInfo(); 1520 } 1521 return getSupportingInfo().get(0); 1522 } 1523 1524 /** 1525 * @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.) 1526 */ 1527 public List<Annotation> getNote() { 1528 if (this.note == null) 1529 this.note = new ArrayList<Annotation>(); 1530 return this.note; 1531 } 1532 1533 /** 1534 * @return Returns a reference to <code>this</code> for easy method chaining 1535 */ 1536 public DeviceRequest setNote(List<Annotation> theNote) { 1537 this.note = theNote; 1538 return this; 1539 } 1540 1541 public boolean hasNote() { 1542 if (this.note == null) 1543 return false; 1544 for (Annotation item : this.note) 1545 if (!item.isEmpty()) 1546 return true; 1547 return false; 1548 } 1549 1550 public Annotation addNote() { //3 1551 Annotation t = new Annotation(); 1552 if (this.note == null) 1553 this.note = new ArrayList<Annotation>(); 1554 this.note.add(t); 1555 return t; 1556 } 1557 1558 public DeviceRequest addNote(Annotation t) { //3 1559 if (t == null) 1560 return this; 1561 if (this.note == null) 1562 this.note = new ArrayList<Annotation>(); 1563 this.note.add(t); 1564 return this; 1565 } 1566 1567 /** 1568 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1569 */ 1570 public Annotation getNoteFirstRep() { 1571 if (getNote().isEmpty()) { 1572 addNote(); 1573 } 1574 return getNote().get(0); 1575 } 1576 1577 /** 1578 * @return {@link #relevantHistory} (Key events in the history of the request.) 1579 */ 1580 public List<Reference> getRelevantHistory() { 1581 if (this.relevantHistory == null) 1582 this.relevantHistory = new ArrayList<Reference>(); 1583 return this.relevantHistory; 1584 } 1585 1586 /** 1587 * @return Returns a reference to <code>this</code> for easy method chaining 1588 */ 1589 public DeviceRequest setRelevantHistory(List<Reference> theRelevantHistory) { 1590 this.relevantHistory = theRelevantHistory; 1591 return this; 1592 } 1593 1594 public boolean hasRelevantHistory() { 1595 if (this.relevantHistory == null) 1596 return false; 1597 for (Reference item : this.relevantHistory) 1598 if (!item.isEmpty()) 1599 return true; 1600 return false; 1601 } 1602 1603 public Reference addRelevantHistory() { //3 1604 Reference t = new Reference(); 1605 if (this.relevantHistory == null) 1606 this.relevantHistory = new ArrayList<Reference>(); 1607 this.relevantHistory.add(t); 1608 return t; 1609 } 1610 1611 public DeviceRequest addRelevantHistory(Reference t) { //3 1612 if (t == null) 1613 return this; 1614 if (this.relevantHistory == null) 1615 this.relevantHistory = new ArrayList<Reference>(); 1616 this.relevantHistory.add(t); 1617 return this; 1618 } 1619 1620 /** 1621 * @return The first repetition of repeating field {@link #relevantHistory}, creating it if it does not already exist {3} 1622 */ 1623 public Reference getRelevantHistoryFirstRep() { 1624 if (getRelevantHistory().isEmpty()) { 1625 addRelevantHistory(); 1626 } 1627 return getRelevantHistory().get(0); 1628 } 1629 1630 protected void listChildren(List<Property> children) { 1631 super.listChildren(children); 1632 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)); 1633 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)); 1634 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)); 1635 children.add(new Property("basedOn", "Reference(Any)", "Plan/proposal/order fulfilled by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 1636 children.add(new Property("priorRequest", "Reference(Any)", "The request takes the place of the referenced completed or terminated request(s).", 0, java.lang.Integer.MAX_VALUE, priorRequest)); 1637 children.add(new Property("groupIdentifier", "Identifier", "Composite request this is part of.", 0, 1, groupIdentifier)); 1638 children.add(new Property("status", "code", "The status of the request.", 0, 1, status)); 1639 children.add(new Property("intent", "code", "Whether the request is a proposal, plan, an original order or a reflex order.", 0, 1, intent)); 1640 children.add(new Property("priority", "code", "Indicates how quickly the device request should be addressed with respect to other requests.", 0, 1, priority)); 1641 children.add(new Property("code[x]", "Reference(Device)|CodeableConcept", "The details of the device to be used.", 0, 1, code)); 1642 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)); 1643 children.add(new Property("subject", "Reference(Patient|Group|Location|Device)", "The patient who will use the device.", 0, 1, subject)); 1644 children.add(new Property("encounter", "Reference(Encounter)", "An encounter that provides additional context in which this request is made.", 0, 1, encounter)); 1645 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)); 1646 children.add(new Property("authoredOn", "dateTime", "When the request transitioned to being actionable.", 0, 1, authoredOn)); 1647 children.add(new Property("requester", "Reference(Device|Practitioner|PractitionerRole|Organization)", "The individual who initiated the request and has responsibility for its activation.", 0, 1, requester)); 1648 children.add(new Property("performerType", "CodeableConcept", "Desired type of performer for doing the diagnostic testing.", 0, 1, performerType)); 1649 children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The desired performer for doing the diagnostic testing.", 0, 1, performer)); 1650 children.add(new Property("reasonCode", "CodeableConcept", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 1651 children.add(new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 1652 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)); 1653 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)); 1654 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)); 1655 children.add(new Property("relevantHistory", "Reference(Provenance)", "Key events in the history of the request.", 0, java.lang.Integer.MAX_VALUE, relevantHistory)); 1656 } 1657 1658 @Override 1659 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1660 switch (_hash) { 1661 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); 1662 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); 1663 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); 1664 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "Plan/proposal/order fulfilled by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn); 1665 case 237568101: /*priorRequest*/ return new Property("priorRequest", "Reference(Any)", "The request takes the place of the referenced completed or terminated request(s).", 0, java.lang.Integer.MAX_VALUE, priorRequest); 1666 case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "Composite request this is part of.", 0, 1, groupIdentifier); 1667 case -892481550: /*status*/ return new Property("status", "code", "The status of the request.", 0, 1, status); 1668 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); 1669 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the device request should be addressed with respect to other requests.", 0, 1, priority); 1670 case 941839219: /*code[x]*/ return new Property("code[x]", "Reference(Device)|CodeableConcept", "The details of the device to be used.", 0, 1, code); 1671 case 3059181: /*code*/ return new Property("code[x]", "Reference(Device)|CodeableConcept", "The details of the device to be used.", 0, 1, code); 1672 case 1565461470: /*codeReference*/ return new Property("code[x]", "Reference(Device)", "The details of the device to be used.", 0, 1, code); 1673 case 4899316: /*codeCodeableConcept*/ return new Property("code[x]", "CodeableConcept", "The details of the device to be used.", 0, 1, code); 1674 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); 1675 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Location|Device)", "The patient who will use the device.", 0, 1, subject); 1676 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "An encounter that provides additional context in which this request is made.", 0, 1, encounter); 1677 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); 1678 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); 1679 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); 1680 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); 1681 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); 1682 case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "When the request transitioned to being actionable.", 0, 1, authoredOn); 1683 case 693933948: /*requester*/ return new Property("requester", "Reference(Device|Practitioner|PractitionerRole|Organization)", "The individual who initiated the request and has responsibility for its activation.", 0, 1, requester); 1684 case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "Desired type of performer for doing the diagnostic testing.", 0, 1, performerType); 1685 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The desired performer for doing the diagnostic testing.", 0, 1, performer); 1686 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 1687 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation|DiagnosticReport|DocumentReference)", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 1688 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); 1689 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); 1690 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); 1691 case 1538891575: /*relevantHistory*/ return new Property("relevantHistory", "Reference(Provenance)", "Key events in the history of the request.", 0, java.lang.Integer.MAX_VALUE, relevantHistory); 1692 default: return super.getNamedProperty(_hash, _name, _checkValid); 1693 } 1694 1695 } 1696 1697 @Override 1698 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1699 switch (hash) { 1700 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1701 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 1702 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 1703 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 1704 case 237568101: /*priorRequest*/ return this.priorRequest == null ? new Base[0] : this.priorRequest.toArray(new Base[this.priorRequest.size()]); // Reference 1705 case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier 1706 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<RequestStatus> 1707 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 1708 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 1709 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // DataType 1710 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // DeviceRequestParameterComponent 1711 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1712 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1713 case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType 1714 case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType 1715 case 693933948: /*requester*/ return this.requester == null ? new Base[0] : new Base[] {this.requester}; // Reference 1716 case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : new Base[] {this.performerType}; // CodeableConcept 1717 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 1718 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 1719 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 1720 case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // Reference 1721 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference 1722 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1723 case 1538891575: /*relevantHistory*/ return this.relevantHistory == null ? new Base[0] : this.relevantHistory.toArray(new Base[this.relevantHistory.size()]); // Reference 1724 default: return super.getProperty(hash, name, checkValid); 1725 } 1726 1727 } 1728 1729 @Override 1730 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1731 switch (hash) { 1732 case -1618432855: // identifier 1733 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1734 return value; 1735 case 8911915: // instantiatesCanonical 1736 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 1737 return value; 1738 case -1926393373: // instantiatesUri 1739 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 1740 return value; 1741 case -332612366: // basedOn 1742 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 1743 return value; 1744 case 237568101: // priorRequest 1745 this.getPriorRequest().add(TypeConvertor.castToReference(value)); // Reference 1746 return value; 1747 case -445338488: // groupIdentifier 1748 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 1749 return value; 1750 case -892481550: // status 1751 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1752 this.status = (Enumeration) value; // Enumeration<RequestStatus> 1753 return value; 1754 case -1183762788: // intent 1755 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 1756 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 1757 return value; 1758 case -1165461084: // priority 1759 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1760 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1761 return value; 1762 case 3059181: // code 1763 this.code = TypeConvertor.castToType(value); // DataType 1764 return value; 1765 case 1954460585: // parameter 1766 this.getParameter().add((DeviceRequestParameterComponent) value); // DeviceRequestParameterComponent 1767 return value; 1768 case -1867885268: // subject 1769 this.subject = TypeConvertor.castToReference(value); // Reference 1770 return value; 1771 case 1524132147: // encounter 1772 this.encounter = TypeConvertor.castToReference(value); // Reference 1773 return value; 1774 case 1687874001: // occurrence 1775 this.occurrence = TypeConvertor.castToType(value); // DataType 1776 return value; 1777 case -1500852503: // authoredOn 1778 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 1779 return value; 1780 case 693933948: // requester 1781 this.requester = TypeConvertor.castToReference(value); // Reference 1782 return value; 1783 case -901444568: // performerType 1784 this.performerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1785 return value; 1786 case 481140686: // performer 1787 this.performer = TypeConvertor.castToReference(value); // Reference 1788 return value; 1789 case 722137681: // reasonCode 1790 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1791 return value; 1792 case -1146218137: // reasonReference 1793 this.getReasonReference().add(TypeConvertor.castToReference(value)); // Reference 1794 return value; 1795 case 73049818: // insurance 1796 this.getInsurance().add(TypeConvertor.castToReference(value)); // Reference 1797 return value; 1798 case 1922406657: // supportingInfo 1799 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); // Reference 1800 return value; 1801 case 3387378: // note 1802 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1803 return value; 1804 case 1538891575: // relevantHistory 1805 this.getRelevantHistory().add(TypeConvertor.castToReference(value)); // Reference 1806 return value; 1807 default: return super.setProperty(hash, name, value); 1808 } 1809 1810 } 1811 1812 @Override 1813 public Base setProperty(String name, Base value) throws FHIRException { 1814 if (name.equals("identifier")) { 1815 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1816 } else if (name.equals("instantiatesCanonical")) { 1817 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 1818 } else if (name.equals("instantiatesUri")) { 1819 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 1820 } else if (name.equals("basedOn")) { 1821 this.getBasedOn().add(TypeConvertor.castToReference(value)); 1822 } else if (name.equals("priorRequest")) { 1823 this.getPriorRequest().add(TypeConvertor.castToReference(value)); 1824 } else if (name.equals("groupIdentifier")) { 1825 this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 1826 } else if (name.equals("status")) { 1827 value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1828 this.status = (Enumeration) value; // Enumeration<RequestStatus> 1829 } else if (name.equals("intent")) { 1830 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 1831 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 1832 } else if (name.equals("priority")) { 1833 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 1834 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 1835 } else if (name.equals("code[x]")) { 1836 this.code = TypeConvertor.castToType(value); // DataType 1837 } else if (name.equals("parameter")) { 1838 this.getParameter().add((DeviceRequestParameterComponent) value); 1839 } else if (name.equals("subject")) { 1840 this.subject = TypeConvertor.castToReference(value); // Reference 1841 } else if (name.equals("encounter")) { 1842 this.encounter = TypeConvertor.castToReference(value); // Reference 1843 } else if (name.equals("occurrence[x]")) { 1844 this.occurrence = TypeConvertor.castToType(value); // DataType 1845 } else if (name.equals("authoredOn")) { 1846 this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType 1847 } else if (name.equals("requester")) { 1848 this.requester = TypeConvertor.castToReference(value); // Reference 1849 } else if (name.equals("performerType")) { 1850 this.performerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1851 } else if (name.equals("performer")) { 1852 this.performer = TypeConvertor.castToReference(value); // Reference 1853 } else if (name.equals("reasonCode")) { 1854 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); 1855 } else if (name.equals("reasonReference")) { 1856 this.getReasonReference().add(TypeConvertor.castToReference(value)); 1857 } else if (name.equals("insurance")) { 1858 this.getInsurance().add(TypeConvertor.castToReference(value)); 1859 } else if (name.equals("supportingInfo")) { 1860 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); 1861 } else if (name.equals("note")) { 1862 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1863 } else if (name.equals("relevantHistory")) { 1864 this.getRelevantHistory().add(TypeConvertor.castToReference(value)); 1865 } else 1866 return super.setProperty(name, value); 1867 return value; 1868 } 1869 1870 @Override 1871 public Base makeProperty(int hash, String name) throws FHIRException { 1872 switch (hash) { 1873 case -1618432855: return addIdentifier(); 1874 case 8911915: return addInstantiatesCanonicalElement(); 1875 case -1926393373: return addInstantiatesUriElement(); 1876 case -332612366: return addBasedOn(); 1877 case 237568101: return addPriorRequest(); 1878 case -445338488: return getGroupIdentifier(); 1879 case -892481550: return getStatusElement(); 1880 case -1183762788: return getIntentElement(); 1881 case -1165461084: return getPriorityElement(); 1882 case 941839219: return getCode(); 1883 case 3059181: return getCode(); 1884 case 1954460585: return addParameter(); 1885 case -1867885268: return getSubject(); 1886 case 1524132147: return getEncounter(); 1887 case -2022646513: return getOccurrence(); 1888 case 1687874001: return getOccurrence(); 1889 case -1500852503: return getAuthoredOnElement(); 1890 case 693933948: return getRequester(); 1891 case -901444568: return getPerformerType(); 1892 case 481140686: return getPerformer(); 1893 case 722137681: return addReasonCode(); 1894 case -1146218137: return addReasonReference(); 1895 case 73049818: return addInsurance(); 1896 case 1922406657: return addSupportingInfo(); 1897 case 3387378: return addNote(); 1898 case 1538891575: return addRelevantHistory(); 1899 default: return super.makeProperty(hash, name); 1900 } 1901 1902 } 1903 1904 @Override 1905 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1906 switch (hash) { 1907 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1908 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 1909 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 1910 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 1911 case 237568101: /*priorRequest*/ return new String[] {"Reference"}; 1912 case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; 1913 case -892481550: /*status*/ return new String[] {"code"}; 1914 case -1183762788: /*intent*/ return new String[] {"code"}; 1915 case -1165461084: /*priority*/ return new String[] {"code"}; 1916 case 3059181: /*code*/ return new String[] {"Reference", "CodeableConcept"}; 1917 case 1954460585: /*parameter*/ return new String[] {}; 1918 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1919 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1920 case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period", "Timing"}; 1921 case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; 1922 case 693933948: /*requester*/ return new String[] {"Reference"}; 1923 case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; 1924 case 481140686: /*performer*/ return new String[] {"Reference"}; 1925 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 1926 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 1927 case 73049818: /*insurance*/ return new String[] {"Reference"}; 1928 case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; 1929 case 3387378: /*note*/ return new String[] {"Annotation"}; 1930 case 1538891575: /*relevantHistory*/ return new String[] {"Reference"}; 1931 default: return super.getTypesForProperty(hash, name); 1932 } 1933 1934 } 1935 1936 @Override 1937 public Base addChild(String name) throws FHIRException { 1938 if (name.equals("identifier")) { 1939 return addIdentifier(); 1940 } 1941 else if (name.equals("instantiatesCanonical")) { 1942 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.instantiatesCanonical"); 1943 } 1944 else if (name.equals("instantiatesUri")) { 1945 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.instantiatesUri"); 1946 } 1947 else if (name.equals("basedOn")) { 1948 return addBasedOn(); 1949 } 1950 else if (name.equals("priorRequest")) { 1951 return addPriorRequest(); 1952 } 1953 else if (name.equals("groupIdentifier")) { 1954 this.groupIdentifier = new Identifier(); 1955 return this.groupIdentifier; 1956 } 1957 else if (name.equals("status")) { 1958 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.status"); 1959 } 1960 else if (name.equals("intent")) { 1961 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.intent"); 1962 } 1963 else if (name.equals("priority")) { 1964 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.priority"); 1965 } 1966 else if (name.equals("codeReference")) { 1967 this.code = new Reference(); 1968 return this.code; 1969 } 1970 else if (name.equals("codeCodeableConcept")) { 1971 this.code = new CodeableConcept(); 1972 return this.code; 1973 } 1974 else if (name.equals("parameter")) { 1975 return addParameter(); 1976 } 1977 else if (name.equals("subject")) { 1978 this.subject = new Reference(); 1979 return this.subject; 1980 } 1981 else if (name.equals("encounter")) { 1982 this.encounter = new Reference(); 1983 return this.encounter; 1984 } 1985 else if (name.equals("occurrenceDateTime")) { 1986 this.occurrence = new DateTimeType(); 1987 return this.occurrence; 1988 } 1989 else if (name.equals("occurrencePeriod")) { 1990 this.occurrence = new Period(); 1991 return this.occurrence; 1992 } 1993 else if (name.equals("occurrenceTiming")) { 1994 this.occurrence = new Timing(); 1995 return this.occurrence; 1996 } 1997 else if (name.equals("authoredOn")) { 1998 throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.authoredOn"); 1999 } 2000 else if (name.equals("requester")) { 2001 this.requester = new Reference(); 2002 return this.requester; 2003 } 2004 else if (name.equals("performerType")) { 2005 this.performerType = new CodeableConcept(); 2006 return this.performerType; 2007 } 2008 else if (name.equals("performer")) { 2009 this.performer = new Reference(); 2010 return this.performer; 2011 } 2012 else if (name.equals("reasonCode")) { 2013 return addReasonCode(); 2014 } 2015 else if (name.equals("reasonReference")) { 2016 return addReasonReference(); 2017 } 2018 else if (name.equals("insurance")) { 2019 return addInsurance(); 2020 } 2021 else if (name.equals("supportingInfo")) { 2022 return addSupportingInfo(); 2023 } 2024 else if (name.equals("note")) { 2025 return addNote(); 2026 } 2027 else if (name.equals("relevantHistory")) { 2028 return addRelevantHistory(); 2029 } 2030 else 2031 return super.addChild(name); 2032 } 2033 2034 public String fhirType() { 2035 return "DeviceRequest"; 2036 2037 } 2038 2039 public DeviceRequest copy() { 2040 DeviceRequest dst = new DeviceRequest(); 2041 copyValues(dst); 2042 return dst; 2043 } 2044 2045 public void copyValues(DeviceRequest dst) { 2046 super.copyValues(dst); 2047 if (identifier != null) { 2048 dst.identifier = new ArrayList<Identifier>(); 2049 for (Identifier i : identifier) 2050 dst.identifier.add(i.copy()); 2051 }; 2052 if (instantiatesCanonical != null) { 2053 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 2054 for (CanonicalType i : instantiatesCanonical) 2055 dst.instantiatesCanonical.add(i.copy()); 2056 }; 2057 if (instantiatesUri != null) { 2058 dst.instantiatesUri = new ArrayList<UriType>(); 2059 for (UriType i : instantiatesUri) 2060 dst.instantiatesUri.add(i.copy()); 2061 }; 2062 if (basedOn != null) { 2063 dst.basedOn = new ArrayList<Reference>(); 2064 for (Reference i : basedOn) 2065 dst.basedOn.add(i.copy()); 2066 }; 2067 if (priorRequest != null) { 2068 dst.priorRequest = new ArrayList<Reference>(); 2069 for (Reference i : priorRequest) 2070 dst.priorRequest.add(i.copy()); 2071 }; 2072 dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); 2073 dst.status = status == null ? null : status.copy(); 2074 dst.intent = intent == null ? null : intent.copy(); 2075 dst.priority = priority == null ? null : priority.copy(); 2076 dst.code = code == null ? null : code.copy(); 2077 if (parameter != null) { 2078 dst.parameter = new ArrayList<DeviceRequestParameterComponent>(); 2079 for (DeviceRequestParameterComponent i : parameter) 2080 dst.parameter.add(i.copy()); 2081 }; 2082 dst.subject = subject == null ? null : subject.copy(); 2083 dst.encounter = encounter == null ? null : encounter.copy(); 2084 dst.occurrence = occurrence == null ? null : occurrence.copy(); 2085 dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); 2086 dst.requester = requester == null ? null : requester.copy(); 2087 dst.performerType = performerType == null ? null : performerType.copy(); 2088 dst.performer = performer == null ? null : performer.copy(); 2089 if (reasonCode != null) { 2090 dst.reasonCode = new ArrayList<CodeableConcept>(); 2091 for (CodeableConcept i : reasonCode) 2092 dst.reasonCode.add(i.copy()); 2093 }; 2094 if (reasonReference != null) { 2095 dst.reasonReference = new ArrayList<Reference>(); 2096 for (Reference i : reasonReference) 2097 dst.reasonReference.add(i.copy()); 2098 }; 2099 if (insurance != null) { 2100 dst.insurance = new ArrayList<Reference>(); 2101 for (Reference i : insurance) 2102 dst.insurance.add(i.copy()); 2103 }; 2104 if (supportingInfo != null) { 2105 dst.supportingInfo = new ArrayList<Reference>(); 2106 for (Reference i : supportingInfo) 2107 dst.supportingInfo.add(i.copy()); 2108 }; 2109 if (note != null) { 2110 dst.note = new ArrayList<Annotation>(); 2111 for (Annotation i : note) 2112 dst.note.add(i.copy()); 2113 }; 2114 if (relevantHistory != null) { 2115 dst.relevantHistory = new ArrayList<Reference>(); 2116 for (Reference i : relevantHistory) 2117 dst.relevantHistory.add(i.copy()); 2118 }; 2119 } 2120 2121 protected DeviceRequest typedCopy() { 2122 return copy(); 2123 } 2124 2125 @Override 2126 public boolean equalsDeep(Base other_) { 2127 if (!super.equalsDeep(other_)) 2128 return false; 2129 if (!(other_ instanceof DeviceRequest)) 2130 return false; 2131 DeviceRequest o = (DeviceRequest) other_; 2132 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 2133 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 2134 && compareDeep(priorRequest, o.priorRequest, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) 2135 && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 2136 && compareDeep(code, o.code, true) && compareDeep(parameter, o.parameter, true) && compareDeep(subject, o.subject, true) 2137 && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(authoredOn, o.authoredOn, true) 2138 && compareDeep(requester, o.requester, true) && compareDeep(performerType, o.performerType, true) 2139 && compareDeep(performer, o.performer, true) && compareDeep(reasonCode, o.reasonCode, true) && compareDeep(reasonReference, o.reasonReference, true) 2140 && compareDeep(insurance, o.insurance, true) && compareDeep(supportingInfo, o.supportingInfo, true) 2141 && compareDeep(note, o.note, true) && compareDeep(relevantHistory, o.relevantHistory, true); 2142 } 2143 2144 @Override 2145 public boolean equalsShallow(Base other_) { 2146 if (!super.equalsShallow(other_)) 2147 return false; 2148 if (!(other_ instanceof DeviceRequest)) 2149 return false; 2150 DeviceRequest o = (DeviceRequest) other_; 2151 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 2152 && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) 2153 && compareValues(authoredOn, o.authoredOn, true); 2154 } 2155 2156 public boolean isEmpty() { 2157 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 2158 , instantiatesUri, basedOn, priorRequest, groupIdentifier, status, intent, priority 2159 , code, parameter, subject, encounter, occurrence, authoredOn, requester, performerType 2160 , performer, reasonCode, reasonReference, insurance, supportingInfo, note, relevantHistory 2161 ); 2162 } 2163 2164 @Override 2165 public ResourceType getResourceType() { 2166 return ResourceType.DeviceRequest; 2167 } 2168 2169 /** 2170 * Search parameter: <b>authored-on</b> 2171 * <p> 2172 * Description: <b>When the request transitioned to being actionable</b><br> 2173 * Type: <b>date</b><br> 2174 * Path: <b>DeviceRequest.authoredOn</b><br> 2175 * </p> 2176 */ 2177 @SearchParamDefinition(name="authored-on", path="DeviceRequest.authoredOn", description="When the request transitioned to being actionable", type="date" ) 2178 public static final String SP_AUTHORED_ON = "authored-on"; 2179 /** 2180 * <b>Fluent Client</b> search parameter constant for <b>authored-on</b> 2181 * <p> 2182 * Description: <b>When the request transitioned to being actionable</b><br> 2183 * Type: <b>date</b><br> 2184 * Path: <b>DeviceRequest.authoredOn</b><br> 2185 * </p> 2186 */ 2187 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED_ON = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED_ON); 2188 2189 /** 2190 * Search parameter: <b>based-on</b> 2191 * <p> 2192 * Description: <b>Plan/proposal/order fulfilled by this request</b><br> 2193 * Type: <b>reference</b><br> 2194 * Path: <b>DeviceRequest.basedOn</b><br> 2195 * </p> 2196 */ 2197 @SearchParamDefinition(name="based-on", path="DeviceRequest.basedOn", description="Plan/proposal/order fulfilled by this request", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.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, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.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, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.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, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.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, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2198 public static final String SP_BASED_ON = "based-on"; 2199 /** 2200 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 2201 * <p> 2202 * Description: <b>Plan/proposal/order fulfilled by this request</b><br> 2203 * Type: <b>reference</b><br> 2204 * Path: <b>DeviceRequest.basedOn</b><br> 2205 * </p> 2206 */ 2207 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 2208 2209/** 2210 * Constant for fluent queries to be used to add include statements. Specifies 2211 * the path value of "<b>DeviceRequest:based-on</b>". 2212 */ 2213 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("DeviceRequest:based-on").toLocked(); 2214 2215 /** 2216 * Search parameter: <b>device</b> 2217 * <p> 2218 * Description: <b>Reference to resource that is being requested/ordered</b><br> 2219 * Type: <b>reference</b><br> 2220 * Path: <b>(DeviceRequest.code as Reference)</b><br> 2221 * </p> 2222 */ 2223 @SearchParamDefinition(name="device", path="(DeviceRequest.code as Reference)", description="Reference to resource that is being requested/ordered", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device") }, target={Device.class } ) 2224 public static final String SP_DEVICE = "device"; 2225 /** 2226 * <b>Fluent Client</b> search parameter constant for <b>device</b> 2227 * <p> 2228 * Description: <b>Reference to resource that is being requested/ordered</b><br> 2229 * Type: <b>reference</b><br> 2230 * Path: <b>(DeviceRequest.code as Reference)</b><br> 2231 * </p> 2232 */ 2233 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEVICE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEVICE); 2234 2235/** 2236 * Constant for fluent queries to be used to add include statements. Specifies 2237 * the path value of "<b>DeviceRequest:device</b>". 2238 */ 2239 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEVICE = new ca.uhn.fhir.model.api.Include("DeviceRequest:device").toLocked(); 2240 2241 /** 2242 * Search parameter: <b>event-date</b> 2243 * <p> 2244 * Description: <b>When service should occur</b><br> 2245 * Type: <b>date</b><br> 2246 * Path: <b>(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)</b><br> 2247 * </p> 2248 */ 2249 @SearchParamDefinition(name="event-date", path="(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)", description="When service should occur", type="date" ) 2250 public static final String SP_EVENT_DATE = "event-date"; 2251 /** 2252 * <b>Fluent Client</b> search parameter constant for <b>event-date</b> 2253 * <p> 2254 * Description: <b>When service should occur</b><br> 2255 * Type: <b>date</b><br> 2256 * Path: <b>(DeviceRequest.occurrence as dateTime) | (DeviceRequest.occurrence as Period)</b><br> 2257 * </p> 2258 */ 2259 public static final ca.uhn.fhir.rest.gclient.DateClientParam EVENT_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EVENT_DATE); 2260 2261 /** 2262 * Search parameter: <b>group-identifier</b> 2263 * <p> 2264 * Description: <b>Composite request this is part of</b><br> 2265 * Type: <b>token</b><br> 2266 * Path: <b>DeviceRequest.groupIdentifier</b><br> 2267 * </p> 2268 */ 2269 @SearchParamDefinition(name="group-identifier", path="DeviceRequest.groupIdentifier", description="Composite request this is part of", type="token" ) 2270 public static final String SP_GROUP_IDENTIFIER = "group-identifier"; 2271 /** 2272 * <b>Fluent Client</b> search parameter constant for <b>group-identifier</b> 2273 * <p> 2274 * Description: <b>Composite request this is part of</b><br> 2275 * Type: <b>token</b><br> 2276 * Path: <b>DeviceRequest.groupIdentifier</b><br> 2277 * </p> 2278 */ 2279 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); 2280 2281 /** 2282 * Search parameter: <b>instantiates-canonical</b> 2283 * <p> 2284 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2285 * Type: <b>reference</b><br> 2286 * Path: <b>DeviceRequest.instantiatesCanonical</b><br> 2287 * </p> 2288 */ 2289 @SearchParamDefinition(name="instantiates-canonical", path="DeviceRequest.instantiatesCanonical", description="Instantiates FHIR protocol or definition", type="reference", target={ActivityDefinition.class, PlanDefinition.class } ) 2290 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 2291 /** 2292 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 2293 * <p> 2294 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2295 * Type: <b>reference</b><br> 2296 * Path: <b>DeviceRequest.instantiatesCanonical</b><br> 2297 * </p> 2298 */ 2299 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 2300 2301/** 2302 * Constant for fluent queries to be used to add include statements. Specifies 2303 * the path value of "<b>DeviceRequest:instantiates-canonical</b>". 2304 */ 2305 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("DeviceRequest:instantiates-canonical").toLocked(); 2306 2307 /** 2308 * Search parameter: <b>instantiates-uri</b> 2309 * <p> 2310 * Description: <b>Instantiates external protocol or definition</b><br> 2311 * Type: <b>uri</b><br> 2312 * Path: <b>DeviceRequest.instantiatesUri</b><br> 2313 * </p> 2314 */ 2315 @SearchParamDefinition(name="instantiates-uri", path="DeviceRequest.instantiatesUri", description="Instantiates external protocol or definition", type="uri" ) 2316 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 2317 /** 2318 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 2319 * <p> 2320 * Description: <b>Instantiates external protocol or definition</b><br> 2321 * Type: <b>uri</b><br> 2322 * Path: <b>DeviceRequest.instantiatesUri</b><br> 2323 * </p> 2324 */ 2325 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 2326 2327 /** 2328 * Search parameter: <b>insurance</b> 2329 * <p> 2330 * Description: <b>Associated insurance coverage</b><br> 2331 * Type: <b>reference</b><br> 2332 * Path: <b>DeviceRequest.insurance</b><br> 2333 * </p> 2334 */ 2335 @SearchParamDefinition(name="insurance", path="DeviceRequest.insurance", description="Associated insurance coverage", type="reference", target={ClaimResponse.class, Coverage.class } ) 2336 public static final String SP_INSURANCE = "insurance"; 2337 /** 2338 * <b>Fluent Client</b> search parameter constant for <b>insurance</b> 2339 * <p> 2340 * Description: <b>Associated insurance coverage</b><br> 2341 * Type: <b>reference</b><br> 2342 * Path: <b>DeviceRequest.insurance</b><br> 2343 * </p> 2344 */ 2345 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSURANCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSURANCE); 2346 2347/** 2348 * Constant for fluent queries to be used to add include statements. Specifies 2349 * the path value of "<b>DeviceRequest:insurance</b>". 2350 */ 2351 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSURANCE = new ca.uhn.fhir.model.api.Include("DeviceRequest:insurance").toLocked(); 2352 2353 /** 2354 * Search parameter: <b>intent</b> 2355 * <p> 2356 * Description: <b>proposal | plan | original-order |reflex-order</b><br> 2357 * Type: <b>token</b><br> 2358 * Path: <b>DeviceRequest.intent</b><br> 2359 * </p> 2360 */ 2361 @SearchParamDefinition(name="intent", path="DeviceRequest.intent", description="proposal | plan | original-order |reflex-order", type="token" ) 2362 public static final String SP_INTENT = "intent"; 2363 /** 2364 * <b>Fluent Client</b> search parameter constant for <b>intent</b> 2365 * <p> 2366 * Description: <b>proposal | plan | original-order |reflex-order</b><br> 2367 * Type: <b>token</b><br> 2368 * Path: <b>DeviceRequest.intent</b><br> 2369 * </p> 2370 */ 2371 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); 2372 2373 /** 2374 * Search parameter: <b>performer</b> 2375 * <p> 2376 * Description: <b>Desired performer for service</b><br> 2377 * Type: <b>reference</b><br> 2378 * Path: <b>DeviceRequest.performer</b><br> 2379 * </p> 2380 */ 2381 @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 } ) 2382 public static final String SP_PERFORMER = "performer"; 2383 /** 2384 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 2385 * <p> 2386 * Description: <b>Desired performer for service</b><br> 2387 * Type: <b>reference</b><br> 2388 * Path: <b>DeviceRequest.performer</b><br> 2389 * </p> 2390 */ 2391 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 2392 2393/** 2394 * Constant for fluent queries to be used to add include statements. Specifies 2395 * the path value of "<b>DeviceRequest:performer</b>". 2396 */ 2397 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("DeviceRequest:performer").toLocked(); 2398 2399 /** 2400 * Search parameter: <b>prior-request</b> 2401 * <p> 2402 * Description: <b>Request takes the place of referenced completed or terminated requests</b><br> 2403 * Type: <b>reference</b><br> 2404 * Path: <b>DeviceRequest.priorRequest</b><br> 2405 * </p> 2406 */ 2407 @SearchParamDefinition(name="prior-request", path="DeviceRequest.priorRequest", description="Request takes the place of referenced completed or terminated requests", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.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, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.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, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.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, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.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, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2408 public static final String SP_PRIOR_REQUEST = "prior-request"; 2409 /** 2410 * <b>Fluent Client</b> search parameter constant for <b>prior-request</b> 2411 * <p> 2412 * Description: <b>Request takes the place of referenced completed or terminated requests</b><br> 2413 * Type: <b>reference</b><br> 2414 * Path: <b>DeviceRequest.priorRequest</b><br> 2415 * </p> 2416 */ 2417 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRIOR_REQUEST = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRIOR_REQUEST); 2418 2419/** 2420 * Constant for fluent queries to be used to add include statements. Specifies 2421 * the path value of "<b>DeviceRequest:prior-request</b>". 2422 */ 2423 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRIOR_REQUEST = new ca.uhn.fhir.model.api.Include("DeviceRequest:prior-request").toLocked(); 2424 2425 /** 2426 * Search parameter: <b>requester</b> 2427 * <p> 2428 * Description: <b>Who/what is requesting service</b><br> 2429 * Type: <b>reference</b><br> 2430 * Path: <b>DeviceRequest.requester</b><br> 2431 * </p> 2432 */ 2433 @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 } ) 2434 public static final String SP_REQUESTER = "requester"; 2435 /** 2436 * <b>Fluent Client</b> search parameter constant for <b>requester</b> 2437 * <p> 2438 * Description: <b>Who/what is requesting service</b><br> 2439 * Type: <b>reference</b><br> 2440 * Path: <b>DeviceRequest.requester</b><br> 2441 * </p> 2442 */ 2443 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REQUESTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REQUESTER); 2444 2445/** 2446 * Constant for fluent queries to be used to add include statements. Specifies 2447 * the path value of "<b>DeviceRequest:requester</b>". 2448 */ 2449 public static final ca.uhn.fhir.model.api.Include INCLUDE_REQUESTER = new ca.uhn.fhir.model.api.Include("DeviceRequest:requester").toLocked(); 2450 2451 /** 2452 * Search parameter: <b>status</b> 2453 * <p> 2454 * Description: <b>entered-in-error | draft | active |suspended | completed</b><br> 2455 * Type: <b>token</b><br> 2456 * Path: <b>DeviceRequest.status</b><br> 2457 * </p> 2458 */ 2459 @SearchParamDefinition(name="status", path="DeviceRequest.status", description="entered-in-error | draft | active |suspended | completed", type="token" ) 2460 public static final String SP_STATUS = "status"; 2461 /** 2462 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2463 * <p> 2464 * Description: <b>entered-in-error | draft | active |suspended | completed</b><br> 2465 * Type: <b>token</b><br> 2466 * Path: <b>DeviceRequest.status</b><br> 2467 * </p> 2468 */ 2469 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2470 2471 /** 2472 * Search parameter: <b>subject</b> 2473 * <p> 2474 * Description: <b>Individual the service is ordered for</b><br> 2475 * Type: <b>reference</b><br> 2476 * Path: <b>DeviceRequest.subject</b><br> 2477 * </p> 2478 */ 2479 @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 } ) 2480 public static final String SP_SUBJECT = "subject"; 2481 /** 2482 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2483 * <p> 2484 * Description: <b>Individual the service is ordered for</b><br> 2485 * Type: <b>reference</b><br> 2486 * Path: <b>DeviceRequest.subject</b><br> 2487 * </p> 2488 */ 2489 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2490 2491/** 2492 * Constant for fluent queries to be used to add include statements. Specifies 2493 * the path value of "<b>DeviceRequest:subject</b>". 2494 */ 2495 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DeviceRequest:subject").toLocked(); 2496 2497 /** 2498 * Search parameter: <b>code</b> 2499 * <p> 2500 * Description: <b>Multiple Resources: 2501 2502* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2503* [Condition](condition.html): Code for the condition 2504* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2505* [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 2506* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2507* [List](list.html): What the purpose of this list is 2508* [Medication](medication.html): Returns medications for a specific code 2509* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2510* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2511* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2512* [MedicationStatement](medicationstatement.html): Return statements of this medication code 2513* [Observation](observation.html): The code of the observation type 2514* [Procedure](procedure.html): A code to identify a procedure 2515* [ServiceRequest](servicerequest.html): What is being requested/ordered 2516</b><br> 2517 * Type: <b>token</b><br> 2518 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | (DeviceRequest.code as CodeableConcept) | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | (MedicationAdministration.medication as CodeableConcept) | (MedicationDispense.medication as CodeableConcept) | (MedicationRequest.medication as CodeableConcept) | (MedicationStatement.medication as CodeableConcept) | Observation.code | Procedure.code | ServiceRequest.code</b><br> 2519 * </p> 2520 */ 2521 @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | (DeviceRequest.code as CodeableConcept) | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | (MedicationAdministration.medication as CodeableConcept) | (MedicationDispense.medication as CodeableConcept) | (MedicationRequest.medication as CodeableConcept) | (MedicationStatement.medication as CodeableConcept) | Observation.code | Procedure.code | ServiceRequest.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* [MedicationStatement](medicationstatement.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* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) 2522 public static final String SP_CODE = "code"; 2523 /** 2524 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2525 * <p> 2526 * Description: <b>Multiple Resources: 2527 2528* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2529* [Condition](condition.html): Code for the condition 2530* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2531* [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 2532* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2533* [List](list.html): What the purpose of this list is 2534* [Medication](medication.html): Returns medications for a specific code 2535* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2536* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2537* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2538* [MedicationStatement](medicationstatement.html): Return statements of this medication code 2539* [Observation](observation.html): The code of the observation type 2540* [Procedure](procedure.html): A code to identify a procedure 2541* [ServiceRequest](servicerequest.html): What is being requested/ordered 2542</b><br> 2543 * Type: <b>token</b><br> 2544 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | (DeviceRequest.code as CodeableConcept) | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | (MedicationAdministration.medication as CodeableConcept) | (MedicationDispense.medication as CodeableConcept) | (MedicationRequest.medication as CodeableConcept) | (MedicationStatement.medication as CodeableConcept) | Observation.code | Procedure.code | ServiceRequest.code</b><br> 2545 * </p> 2546 */ 2547 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2548 2549 /** 2550 * Search parameter: <b>encounter</b> 2551 * <p> 2552 * Description: <b>Multiple Resources: 2553 2554* [Composition](composition.html): Context of the Composition 2555* [DeviceRequest](devicerequest.html): Encounter during which request was created 2556* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2557* [DocumentReference](documentreference.html): Context of the document content 2558* [Flag](flag.html): Alert relevant during encounter 2559* [List](list.html): Context in which list created 2560* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2561* [Observation](observation.html): Encounter related to the observation 2562* [Procedure](procedure.html): Encounter created as part of 2563* [RiskAssessment](riskassessment.html): Where was assessment performed? 2564* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2565* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2566</b><br> 2567 * Type: <b>reference</b><br> 2568 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.context.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 2569 * </p> 2570 */ 2571 @SearchParamDefinition(name="encounter", path="Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.context.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* [DocumentReference](documentreference.html): Context of the document content\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): Encounter created as part of\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, EpisodeOfCare.class } ) 2572 public static final String SP_ENCOUNTER = "encounter"; 2573 /** 2574 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2575 * <p> 2576 * Description: <b>Multiple Resources: 2577 2578* [Composition](composition.html): Context of the Composition 2579* [DeviceRequest](devicerequest.html): Encounter during which request was created 2580* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2581* [DocumentReference](documentreference.html): Context of the document content 2582* [Flag](flag.html): Alert relevant during encounter 2583* [List](list.html): Context in which list created 2584* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2585* [Observation](observation.html): Encounter related to the observation 2586* [Procedure](procedure.html): Encounter created as part of 2587* [RiskAssessment](riskassessment.html): Where was assessment performed? 2588* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2589* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2590</b><br> 2591 * Type: <b>reference</b><br> 2592 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.context.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 2593 * </p> 2594 */ 2595 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2596 2597/** 2598 * Constant for fluent queries to be used to add include statements. Specifies 2599 * the path value of "<b>DeviceRequest:encounter</b>". 2600 */ 2601 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("DeviceRequest:encounter").toLocked(); 2602 2603 /** 2604 * Search parameter: <b>identifier</b> 2605 * <p> 2606 * Description: <b>Multiple Resources: 2607 2608* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2609* [CarePlan](careplan.html): External Ids for this plan 2610* [CareTeam](careteam.html): External Ids for this team 2611* [Composition](composition.html): Version-independent identifier for the Composition 2612* [Condition](condition.html): A unique identifier of the condition record 2613* [Consent](consent.html): Identifier for this record (external references) 2614* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2615* [DeviceRequest](devicerequest.html): Business identifier for request/order 2616* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2617* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2618* [DocumentReference](documentreference.html): Master Version Specific Identifier 2619* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2620* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2621* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2622* [Goal](goal.html): External Ids for this goal 2623* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 2624* [Immunization](immunization.html): Business identifier 2625* [List](list.html): Business identifier 2626* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2627* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2628* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2629* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2630* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2631* [Observation](observation.html): The unique id for a particular observation 2632* [Procedure](procedure.html): A unique identifier for a procedure 2633* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2634* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2635* [SupplyDelivery](supplydelivery.html): External identifier 2636* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2637* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2638</b><br> 2639 * Type: <b>token</b><br> 2640 * 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.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2641 * </p> 2642 */ 2643 @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.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.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): Master Version Specific Identifier\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 and Accession number\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* [MedicationStatement](medicationstatement.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" ) 2644 public static final String SP_IDENTIFIER = "identifier"; 2645 /** 2646 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2647 * <p> 2648 * Description: <b>Multiple Resources: 2649 2650* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2651* [CarePlan](careplan.html): External Ids for this plan 2652* [CareTeam](careteam.html): External Ids for this team 2653* [Composition](composition.html): Version-independent identifier for the Composition 2654* [Condition](condition.html): A unique identifier of the condition record 2655* [Consent](consent.html): Identifier for this record (external references) 2656* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2657* [DeviceRequest](devicerequest.html): Business identifier for request/order 2658* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2659* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2660* [DocumentReference](documentreference.html): Master Version Specific Identifier 2661* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2662* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2663* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2664* [Goal](goal.html): External Ids for this goal 2665* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 2666* [Immunization](immunization.html): Business identifier 2667* [List](list.html): Business identifier 2668* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2669* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2670* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2671* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2672* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2673* [Observation](observation.html): The unique id for a particular observation 2674* [Procedure](procedure.html): A unique identifier for a procedure 2675* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2676* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2677* [SupplyDelivery](supplydelivery.html): External identifier 2678* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2679* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2680</b><br> 2681 * Type: <b>token</b><br> 2682 * 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.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2683 * </p> 2684 */ 2685 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2686 2687 /** 2688 * Search parameter: <b>patient</b> 2689 * <p> 2690 * Description: <b>Multiple Resources: 2691 2692* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2693* [CarePlan](careplan.html): Who the care plan is for 2694* [CareTeam](careteam.html): Who care team is for 2695* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 2696* [Composition](composition.html): Who and/or what the composition is about 2697* [Condition](condition.html): Who has the condition? 2698* [Consent](consent.html): Who the consent applies to 2699* [DetectedIssue](detectedissue.html): Associated patient 2700* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2701* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 2702* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2703* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2704* [DocumentReference](documentreference.html): Who/what is the subject of the document 2705* [Encounter](encounter.html): The patient or group present at the encounter 2706* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2707* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2708* [Flag](flag.html): The identity of a subject to list flags for 2709* [Goal](goal.html): Who this goal is intended for 2710* [ImagingStudy](imagingstudy.html): Who the study is about 2711* [Immunization](immunization.html): The patient for the vaccination record 2712* [List](list.html): If all resources have the same subject 2713* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2714* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2715* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2716* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2717* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2718* [Observation](observation.html): The subject that the observation is about (if patient) 2719* [Procedure](procedure.html): Search by subject - a patient 2720* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2721* [ServiceRequest](servicerequest.html): Search by subject - a patient 2722* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2723* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2724</b><br> 2725 * Type: <b>reference</b><br> 2726 * 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.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is 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) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.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 | VisionPrescription.patient</b><br> 2727 * </p> 2728 */ 2729 @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.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is 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) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.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 | 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 or group 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* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\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 or group 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* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person 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* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.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, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.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, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.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, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.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, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2730 public static final String SP_PATIENT = "patient"; 2731 /** 2732 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2733 * <p> 2734 * Description: <b>Multiple Resources: 2735 2736* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2737* [CarePlan](careplan.html): Who the care plan is for 2738* [CareTeam](careteam.html): Who care team is for 2739* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 2740* [Composition](composition.html): Who and/or what the composition is about 2741* [Condition](condition.html): Who has the condition? 2742* [Consent](consent.html): Who the consent applies to 2743* [DetectedIssue](detectedissue.html): Associated patient 2744* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2745* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 2746* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2747* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2748* [DocumentReference](documentreference.html): Who/what is the subject of the document 2749* [Encounter](encounter.html): The patient or group present at the encounter 2750* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2751* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2752* [Flag](flag.html): The identity of a subject to list flags for 2753* [Goal](goal.html): Who this goal is intended for 2754* [ImagingStudy](imagingstudy.html): Who the study is about 2755* [Immunization](immunization.html): The patient for the vaccination record 2756* [List](list.html): If all resources have the same subject 2757* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2758* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2759* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2760* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2761* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2762* [Observation](observation.html): The subject that the observation is about (if patient) 2763* [Procedure](procedure.html): Search by subject - a patient 2764* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2765* [ServiceRequest](servicerequest.html): Search by subject - a patient 2766* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2767* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2768</b><br> 2769 * Type: <b>reference</b><br> 2770 * 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.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is 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) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.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 | VisionPrescription.patient</b><br> 2771 * </p> 2772 */ 2773 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2774 2775/** 2776 * Constant for fluent queries to be used to add include statements. Specifies 2777 * the path value of "<b>DeviceRequest:patient</b>". 2778 */ 2779 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("DeviceRequest:patient").toLocked(); 2780 2781 2782} 2783