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 * An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy. 052 */ 053@ResourceDef(name="Procedure", profile="http://hl7.org/fhir/StructureDefinition/Procedure") 054public class Procedure extends DomainResource { 055 056 @Block() 057 public static class ProcedurePerformerComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist. 060 */ 061 @Child(name = "function", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) 062 @Description(shortDefinition="Type of performance", formalDefinition="Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist." ) 063 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/performer-role") 064 protected CodeableConcept function; 065 066 /** 067 * The practitioner who was involved in the procedure. 068 */ 069 @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, Patient.class, RelatedPerson.class, Device.class}, order=2, min=1, max=1, modifier=false, summary=true) 070 @Description(shortDefinition="The reference to the practitioner", formalDefinition="The practitioner who was involved in the procedure." ) 071 protected Reference actor; 072 073 /** 074 * The organization the device or practitioner was acting on behalf of. 075 */ 076 @Child(name = "onBehalfOf", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=false) 077 @Description(shortDefinition="Organization the device or practitioner was acting for", formalDefinition="The organization the device or practitioner was acting on behalf of." ) 078 protected Reference onBehalfOf; 079 080 private static final long serialVersionUID = -1804820116L; 081 082 /** 083 * Constructor 084 */ 085 public ProcedurePerformerComponent() { 086 super(); 087 } 088 089 /** 090 * Constructor 091 */ 092 public ProcedurePerformerComponent(Reference actor) { 093 super(); 094 this.setActor(actor); 095 } 096 097 /** 098 * @return {@link #function} (Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.) 099 */ 100 public CodeableConcept getFunction() { 101 if (this.function == null) 102 if (Configuration.errorOnAutoCreate()) 103 throw new Error("Attempt to auto-create ProcedurePerformerComponent.function"); 104 else if (Configuration.doAutoCreate()) 105 this.function = new CodeableConcept(); // cc 106 return this.function; 107 } 108 109 public boolean hasFunction() { 110 return this.function != null && !this.function.isEmpty(); 111 } 112 113 /** 114 * @param value {@link #function} (Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.) 115 */ 116 public ProcedurePerformerComponent setFunction(CodeableConcept value) { 117 this.function = value; 118 return this; 119 } 120 121 /** 122 * @return {@link #actor} (The practitioner who was involved in the procedure.) 123 */ 124 public Reference getActor() { 125 if (this.actor == null) 126 if (Configuration.errorOnAutoCreate()) 127 throw new Error("Attempt to auto-create ProcedurePerformerComponent.actor"); 128 else if (Configuration.doAutoCreate()) 129 this.actor = new Reference(); // cc 130 return this.actor; 131 } 132 133 public boolean hasActor() { 134 return this.actor != null && !this.actor.isEmpty(); 135 } 136 137 /** 138 * @param value {@link #actor} (The practitioner who was involved in the procedure.) 139 */ 140 public ProcedurePerformerComponent setActor(Reference value) { 141 this.actor = value; 142 return this; 143 } 144 145 /** 146 * @return {@link #onBehalfOf} (The organization the device or practitioner was acting on behalf of.) 147 */ 148 public Reference getOnBehalfOf() { 149 if (this.onBehalfOf == null) 150 if (Configuration.errorOnAutoCreate()) 151 throw new Error("Attempt to auto-create ProcedurePerformerComponent.onBehalfOf"); 152 else if (Configuration.doAutoCreate()) 153 this.onBehalfOf = new Reference(); // cc 154 return this.onBehalfOf; 155 } 156 157 public boolean hasOnBehalfOf() { 158 return this.onBehalfOf != null && !this.onBehalfOf.isEmpty(); 159 } 160 161 /** 162 * @param value {@link #onBehalfOf} (The organization the device or practitioner was acting on behalf of.) 163 */ 164 public ProcedurePerformerComponent setOnBehalfOf(Reference value) { 165 this.onBehalfOf = value; 166 return this; 167 } 168 169 protected void listChildren(List<Property> children) { 170 super.listChildren(children); 171 children.add(new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.", 0, 1, function)); 172 children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device)", "The practitioner who was involved in the procedure.", 0, 1, actor)); 173 children.add(new Property("onBehalfOf", "Reference(Organization)", "The organization the device or practitioner was acting on behalf of.", 0, 1, onBehalfOf)); 174 } 175 176 @Override 177 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 178 switch (_hash) { 179 case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.", 0, 1, function); 180 case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device)", "The practitioner who was involved in the procedure.", 0, 1, actor); 181 case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Organization)", "The organization the device or practitioner was acting on behalf of.", 0, 1, onBehalfOf); 182 default: return super.getNamedProperty(_hash, _name, _checkValid); 183 } 184 185 } 186 187 @Override 188 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 189 switch (hash) { 190 case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept 191 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference 192 case -14402964: /*onBehalfOf*/ return this.onBehalfOf == null ? new Base[0] : new Base[] {this.onBehalfOf}; // Reference 193 default: return super.getProperty(hash, name, checkValid); 194 } 195 196 } 197 198 @Override 199 public Base setProperty(int hash, String name, Base value) throws FHIRException { 200 switch (hash) { 201 case 1380938712: // function 202 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 203 return value; 204 case 92645877: // actor 205 this.actor = TypeConvertor.castToReference(value); // Reference 206 return value; 207 case -14402964: // onBehalfOf 208 this.onBehalfOf = TypeConvertor.castToReference(value); // Reference 209 return value; 210 default: return super.setProperty(hash, name, value); 211 } 212 213 } 214 215 @Override 216 public Base setProperty(String name, Base value) throws FHIRException { 217 if (name.equals("function")) { 218 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 219 } else if (name.equals("actor")) { 220 this.actor = TypeConvertor.castToReference(value); // Reference 221 } else if (name.equals("onBehalfOf")) { 222 this.onBehalfOf = TypeConvertor.castToReference(value); // Reference 223 } else 224 return super.setProperty(name, value); 225 return value; 226 } 227 228 @Override 229 public Base makeProperty(int hash, String name) throws FHIRException { 230 switch (hash) { 231 case 1380938712: return getFunction(); 232 case 92645877: return getActor(); 233 case -14402964: return getOnBehalfOf(); 234 default: return super.makeProperty(hash, name); 235 } 236 237 } 238 239 @Override 240 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 241 switch (hash) { 242 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 243 case 92645877: /*actor*/ return new String[] {"Reference"}; 244 case -14402964: /*onBehalfOf*/ return new String[] {"Reference"}; 245 default: return super.getTypesForProperty(hash, name); 246 } 247 248 } 249 250 @Override 251 public Base addChild(String name) throws FHIRException { 252 if (name.equals("function")) { 253 this.function = new CodeableConcept(); 254 return this.function; 255 } 256 else if (name.equals("actor")) { 257 this.actor = new Reference(); 258 return this.actor; 259 } 260 else if (name.equals("onBehalfOf")) { 261 this.onBehalfOf = new Reference(); 262 return this.onBehalfOf; 263 } 264 else 265 return super.addChild(name); 266 } 267 268 public ProcedurePerformerComponent copy() { 269 ProcedurePerformerComponent dst = new ProcedurePerformerComponent(); 270 copyValues(dst); 271 return dst; 272 } 273 274 public void copyValues(ProcedurePerformerComponent dst) { 275 super.copyValues(dst); 276 dst.function = function == null ? null : function.copy(); 277 dst.actor = actor == null ? null : actor.copy(); 278 dst.onBehalfOf = onBehalfOf == null ? null : onBehalfOf.copy(); 279 } 280 281 @Override 282 public boolean equalsDeep(Base other_) { 283 if (!super.equalsDeep(other_)) 284 return false; 285 if (!(other_ instanceof ProcedurePerformerComponent)) 286 return false; 287 ProcedurePerformerComponent o = (ProcedurePerformerComponent) other_; 288 return compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true) && compareDeep(onBehalfOf, o.onBehalfOf, true) 289 ; 290 } 291 292 @Override 293 public boolean equalsShallow(Base other_) { 294 if (!super.equalsShallow(other_)) 295 return false; 296 if (!(other_ instanceof ProcedurePerformerComponent)) 297 return false; 298 ProcedurePerformerComponent o = (ProcedurePerformerComponent) other_; 299 return true; 300 } 301 302 public boolean isEmpty() { 303 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(function, actor, onBehalfOf 304 ); 305 } 306 307 public String fhirType() { 308 return "Procedure.performer"; 309 310 } 311 312 } 313 314 @Block() 315 public static class ProcedureFocalDeviceComponent extends BackboneElement implements IBaseBackboneElement { 316 /** 317 * The kind of change that happened to the device during the procedure. 318 */ 319 @Child(name = "action", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 320 @Description(shortDefinition="Kind of change to device", formalDefinition="The kind of change that happened to the device during the procedure." ) 321 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-action") 322 protected CodeableConcept action; 323 324 /** 325 * The device that was manipulated (changed) during the procedure. 326 */ 327 @Child(name = "manipulated", type = {Device.class}, order=2, min=1, max=1, modifier=false, summary=false) 328 @Description(shortDefinition="Device that was changed", formalDefinition="The device that was manipulated (changed) during the procedure." ) 329 protected Reference manipulated; 330 331 private static final long serialVersionUID = -217582010L; 332 333 /** 334 * Constructor 335 */ 336 public ProcedureFocalDeviceComponent() { 337 super(); 338 } 339 340 /** 341 * Constructor 342 */ 343 public ProcedureFocalDeviceComponent(Reference manipulated) { 344 super(); 345 this.setManipulated(manipulated); 346 } 347 348 /** 349 * @return {@link #action} (The kind of change that happened to the device during the procedure.) 350 */ 351 public CodeableConcept getAction() { 352 if (this.action == null) 353 if (Configuration.errorOnAutoCreate()) 354 throw new Error("Attempt to auto-create ProcedureFocalDeviceComponent.action"); 355 else if (Configuration.doAutoCreate()) 356 this.action = new CodeableConcept(); // cc 357 return this.action; 358 } 359 360 public boolean hasAction() { 361 return this.action != null && !this.action.isEmpty(); 362 } 363 364 /** 365 * @param value {@link #action} (The kind of change that happened to the device during the procedure.) 366 */ 367 public ProcedureFocalDeviceComponent setAction(CodeableConcept value) { 368 this.action = value; 369 return this; 370 } 371 372 /** 373 * @return {@link #manipulated} (The device that was manipulated (changed) during the procedure.) 374 */ 375 public Reference getManipulated() { 376 if (this.manipulated == null) 377 if (Configuration.errorOnAutoCreate()) 378 throw new Error("Attempt to auto-create ProcedureFocalDeviceComponent.manipulated"); 379 else if (Configuration.doAutoCreate()) 380 this.manipulated = new Reference(); // cc 381 return this.manipulated; 382 } 383 384 public boolean hasManipulated() { 385 return this.manipulated != null && !this.manipulated.isEmpty(); 386 } 387 388 /** 389 * @param value {@link #manipulated} (The device that was manipulated (changed) during the procedure.) 390 */ 391 public ProcedureFocalDeviceComponent setManipulated(Reference value) { 392 this.manipulated = value; 393 return this; 394 } 395 396 protected void listChildren(List<Property> children) { 397 super.listChildren(children); 398 children.add(new Property("action", "CodeableConcept", "The kind of change that happened to the device during the procedure.", 0, 1, action)); 399 children.add(new Property("manipulated", "Reference(Device)", "The device that was manipulated (changed) during the procedure.", 0, 1, manipulated)); 400 } 401 402 @Override 403 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 404 switch (_hash) { 405 case -1422950858: /*action*/ return new Property("action", "CodeableConcept", "The kind of change that happened to the device during the procedure.", 0, 1, action); 406 case 947372650: /*manipulated*/ return new Property("manipulated", "Reference(Device)", "The device that was manipulated (changed) during the procedure.", 0, 1, manipulated); 407 default: return super.getNamedProperty(_hash, _name, _checkValid); 408 } 409 410 } 411 412 @Override 413 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 414 switch (hash) { 415 case -1422950858: /*action*/ return this.action == null ? new Base[0] : new Base[] {this.action}; // CodeableConcept 416 case 947372650: /*manipulated*/ return this.manipulated == null ? new Base[0] : new Base[] {this.manipulated}; // Reference 417 default: return super.getProperty(hash, name, checkValid); 418 } 419 420 } 421 422 @Override 423 public Base setProperty(int hash, String name, Base value) throws FHIRException { 424 switch (hash) { 425 case -1422950858: // action 426 this.action = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 427 return value; 428 case 947372650: // manipulated 429 this.manipulated = TypeConvertor.castToReference(value); // Reference 430 return value; 431 default: return super.setProperty(hash, name, value); 432 } 433 434 } 435 436 @Override 437 public Base setProperty(String name, Base value) throws FHIRException { 438 if (name.equals("action")) { 439 this.action = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 440 } else if (name.equals("manipulated")) { 441 this.manipulated = TypeConvertor.castToReference(value); // Reference 442 } else 443 return super.setProperty(name, value); 444 return value; 445 } 446 447 @Override 448 public Base makeProperty(int hash, String name) throws FHIRException { 449 switch (hash) { 450 case -1422950858: return getAction(); 451 case 947372650: return getManipulated(); 452 default: return super.makeProperty(hash, name); 453 } 454 455 } 456 457 @Override 458 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 459 switch (hash) { 460 case -1422950858: /*action*/ return new String[] {"CodeableConcept"}; 461 case 947372650: /*manipulated*/ return new String[] {"Reference"}; 462 default: return super.getTypesForProperty(hash, name); 463 } 464 465 } 466 467 @Override 468 public Base addChild(String name) throws FHIRException { 469 if (name.equals("action")) { 470 this.action = new CodeableConcept(); 471 return this.action; 472 } 473 else if (name.equals("manipulated")) { 474 this.manipulated = new Reference(); 475 return this.manipulated; 476 } 477 else 478 return super.addChild(name); 479 } 480 481 public ProcedureFocalDeviceComponent copy() { 482 ProcedureFocalDeviceComponent dst = new ProcedureFocalDeviceComponent(); 483 copyValues(dst); 484 return dst; 485 } 486 487 public void copyValues(ProcedureFocalDeviceComponent dst) { 488 super.copyValues(dst); 489 dst.action = action == null ? null : action.copy(); 490 dst.manipulated = manipulated == null ? null : manipulated.copy(); 491 } 492 493 @Override 494 public boolean equalsDeep(Base other_) { 495 if (!super.equalsDeep(other_)) 496 return false; 497 if (!(other_ instanceof ProcedureFocalDeviceComponent)) 498 return false; 499 ProcedureFocalDeviceComponent o = (ProcedureFocalDeviceComponent) other_; 500 return compareDeep(action, o.action, true) && compareDeep(manipulated, o.manipulated, true); 501 } 502 503 @Override 504 public boolean equalsShallow(Base other_) { 505 if (!super.equalsShallow(other_)) 506 return false; 507 if (!(other_ instanceof ProcedureFocalDeviceComponent)) 508 return false; 509 ProcedureFocalDeviceComponent o = (ProcedureFocalDeviceComponent) other_; 510 return true; 511 } 512 513 public boolean isEmpty() { 514 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(action, manipulated); 515 } 516 517 public String fhirType() { 518 return "Procedure.focalDevice"; 519 520 } 521 522 } 523 524 /** 525 * Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server. 526 */ 527 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 528 @Description(shortDefinition="External Identifiers for this procedure", formalDefinition="Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server." ) 529 protected List<Identifier> identifier; 530 531 /** 532 * The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. 533 */ 534 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 535 @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure." ) 536 protected List<CanonicalType> instantiatesCanonical; 537 538 /** 539 * The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. 540 */ 541 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 542 @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure." ) 543 protected List<UriType> instantiatesUri; 544 545 /** 546 * A reference to a resource that contains details of the request for this procedure. 547 */ 548 @Child(name = "basedOn", type = {CarePlan.class, ServiceRequest.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 549 @Description(shortDefinition="A request for this procedure", formalDefinition="A reference to a resource that contains details of the request for this procedure." ) 550 protected List<Reference> basedOn; 551 552 /** 553 * A larger event of which this particular procedure is a component or step. 554 */ 555 @Child(name = "partOf", type = {Procedure.class, Observation.class, MedicationAdministration.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 556 @Description(shortDefinition="Part of referenced event", formalDefinition="A larger event of which this particular procedure is a component or step." ) 557 protected List<Reference> partOf; 558 559 /** 560 * A code specifying the state of the procedure. Generally, this will be the in-progress or completed state. 561 */ 562 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 563 @Description(shortDefinition="preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", formalDefinition="A code specifying the state of the procedure. Generally, this will be the in-progress or completed state." ) 564 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/event-status") 565 protected Enumeration<EventStatus> status; 566 567 /** 568 * Captures the reason for the current state of the procedure. 569 */ 570 @Child(name = "statusReason", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=true) 571 @Description(shortDefinition="Reason for current status", formalDefinition="Captures the reason for the current state of the procedure." ) 572 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-not-performed-reason") 573 protected CodeableConcept statusReason; 574 575 /** 576 * A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). 577 */ 578 @Child(name = "category", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=true) 579 @Description(shortDefinition="Classification of the procedure", formalDefinition="A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\")." ) 580 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-category") 581 protected CodeableConcept category; 582 583 /** 584 * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). 585 */ 586 @Child(name = "code", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=true) 587 @Description(shortDefinition="Identification of the procedure", formalDefinition="The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\")." ) 588 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-code") 589 protected CodeableConcept code; 590 591 /** 592 * The person, animal or group on which the procedure was performed. 593 */ 594 @Child(name = "subject", type = {Patient.class, Group.class}, order=9, min=1, max=1, modifier=false, summary=true) 595 @Description(shortDefinition="Who the procedure was performed on", formalDefinition="The person, animal or group on which the procedure was performed." ) 596 protected Reference subject; 597 598 /** 599 * The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated. 600 */ 601 @Child(name = "encounter", type = {Encounter.class}, order=10, min=0, max=1, modifier=false, summary=true) 602 @Description(shortDefinition="Encounter created as part of", formalDefinition="The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated." ) 603 protected Reference encounter; 604 605 /** 606 * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. 607 */ 608 @Child(name = "performed", type = {DateTimeType.class, Period.class, StringType.class, Age.class, Range.class}, order=11, min=0, max=1, modifier=false, summary=true) 609 @Description(shortDefinition="When the procedure was performed", formalDefinition="Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured." ) 610 protected DataType performed; 611 612 /** 613 * Individual who recorded the record and takes responsibility for its content. 614 */ 615 @Child(name = "recorder", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class}, order=12, min=0, max=1, modifier=false, summary=true) 616 @Description(shortDefinition="Who recorded the procedure", formalDefinition="Individual who recorded the record and takes responsibility for its content." ) 617 protected Reference recorder; 618 619 /** 620 * Individual who is making the procedure statement. 621 */ 622 @Child(name = "asserter", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class}, order=13, min=0, max=1, modifier=false, summary=true) 623 @Description(shortDefinition="Person who asserts this procedure", formalDefinition="Individual who is making the procedure statement." ) 624 protected Reference asserter; 625 626 /** 627 * Limited to "real" people rather than equipment. 628 */ 629 @Child(name = "performer", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 630 @Description(shortDefinition="The people who performed the procedure", formalDefinition="Limited to \"real\" people rather than equipment." ) 631 protected List<ProcedurePerformerComponent> performer; 632 633 /** 634 * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. 635 */ 636 @Child(name = "location", type = {Location.class}, order=15, min=0, max=1, modifier=false, summary=true) 637 @Description(shortDefinition="Where the procedure happened", formalDefinition="The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant." ) 638 protected Reference location; 639 640 /** 641 * The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text. 642 */ 643 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 644 @Description(shortDefinition="Coded reason procedure performed", formalDefinition="The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text." ) 645 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-reason") 646 protected List<CodeableConcept> reasonCode; 647 648 /** 649 * The justification of why the procedure was performed. 650 */ 651 @Child(name = "reasonReference", type = {Condition.class, Observation.class, Procedure.class, DiagnosticReport.class, DocumentReference.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 652 @Description(shortDefinition="The justification that the procedure was performed", formalDefinition="The justification of why the procedure was performed." ) 653 protected List<Reference> reasonReference; 654 655 /** 656 * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion. 657 */ 658 @Child(name = "bodySite", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 659 @Description(shortDefinition="Target body sites", formalDefinition="Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion." ) 660 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 661 protected List<CodeableConcept> bodySite; 662 663 /** 664 * The outcome of the procedure - did it resolve the reasons for the procedure being performed? 665 */ 666 @Child(name = "outcome", type = {CodeableConcept.class}, order=19, min=0, max=1, modifier=false, summary=true) 667 @Description(shortDefinition="The result of procedure", formalDefinition="The outcome of the procedure - did it resolve the reasons for the procedure being performed?" ) 668 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-outcome") 669 protected CodeableConcept outcome; 670 671 /** 672 * This could be a histology result, pathology report, surgical report, etc. 673 */ 674 @Child(name = "report", type = {DiagnosticReport.class, DocumentReference.class, Composition.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 675 @Description(shortDefinition="Any report resulting from the procedure", formalDefinition="This could be a histology result, pathology report, surgical report, etc." ) 676 protected List<Reference> report; 677 678 /** 679 * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues. 680 */ 681 @Child(name = "complication", type = {CodeableConcept.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 682 @Description(shortDefinition="Complication following the procedure", formalDefinition="Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues." ) 683 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 684 protected List<CodeableConcept> complication; 685 686 /** 687 * Any complications that occurred during the procedure, or in the immediate post-performance period. 688 */ 689 @Child(name = "complicationDetail", type = {Condition.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 690 @Description(shortDefinition="A condition that is a result of the procedure", formalDefinition="Any complications that occurred during the procedure, or in the immediate post-performance period." ) 691 protected List<Reference> complicationDetail; 692 693 /** 694 * If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. 695 */ 696 @Child(name = "followUp", type = {CodeableConcept.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 697 @Description(shortDefinition="Instructions for follow up", formalDefinition="If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used." ) 698 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-followup") 699 protected List<CodeableConcept> followUp; 700 701 /** 702 * Any other notes and comments about the procedure. 703 */ 704 @Child(name = "note", type = {Annotation.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 705 @Description(shortDefinition="Additional information about the procedure", formalDefinition="Any other notes and comments about the procedure." ) 706 protected List<Annotation> note; 707 708 /** 709 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 710 */ 711 @Child(name = "focalDevice", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 712 @Description(shortDefinition="Manipulated, implanted, or removed device", formalDefinition="A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure." ) 713 protected List<ProcedureFocalDeviceComponent> focalDevice; 714 715 /** 716 * Identifies medications, devices and any other substance used as part of the procedure. 717 */ 718 @Child(name = "usedReference", type = {Device.class, Medication.class, Substance.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 719 @Description(shortDefinition="Items used during procedure", formalDefinition="Identifies medications, devices and any other substance used as part of the procedure." ) 720 protected List<Reference> usedReference; 721 722 /** 723 * Identifies coded items that were used as part of the procedure. 724 */ 725 @Child(name = "usedCode", type = {CodeableConcept.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 726 @Description(shortDefinition="Coded items used during the procedure", formalDefinition="Identifies coded items that were used as part of the procedure." ) 727 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-kind") 728 protected List<CodeableConcept> usedCode; 729 730 private static final long serialVersionUID = 1772608158L; 731 732 /** 733 * Constructor 734 */ 735 public Procedure() { 736 super(); 737 } 738 739 /** 740 * Constructor 741 */ 742 public Procedure(EventStatus status, Reference subject) { 743 super(); 744 this.setStatus(status); 745 this.setSubject(subject); 746 } 747 748 /** 749 * @return {@link #identifier} (Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server.) 750 */ 751 public List<Identifier> getIdentifier() { 752 if (this.identifier == null) 753 this.identifier = new ArrayList<Identifier>(); 754 return this.identifier; 755 } 756 757 /** 758 * @return Returns a reference to <code>this</code> for easy method chaining 759 */ 760 public Procedure setIdentifier(List<Identifier> theIdentifier) { 761 this.identifier = theIdentifier; 762 return this; 763 } 764 765 public boolean hasIdentifier() { 766 if (this.identifier == null) 767 return false; 768 for (Identifier item : this.identifier) 769 if (!item.isEmpty()) 770 return true; 771 return false; 772 } 773 774 public Identifier addIdentifier() { //3 775 Identifier t = new Identifier(); 776 if (this.identifier == null) 777 this.identifier = new ArrayList<Identifier>(); 778 this.identifier.add(t); 779 return t; 780 } 781 782 public Procedure addIdentifier(Identifier t) { //3 783 if (t == null) 784 return this; 785 if (this.identifier == null) 786 this.identifier = new ArrayList<Identifier>(); 787 this.identifier.add(t); 788 return this; 789 } 790 791 /** 792 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 793 */ 794 public Identifier getIdentifierFirstRep() { 795 if (getIdentifier().isEmpty()) { 796 addIdentifier(); 797 } 798 return getIdentifier().get(0); 799 } 800 801 /** 802 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 803 */ 804 public List<CanonicalType> getInstantiatesCanonical() { 805 if (this.instantiatesCanonical == null) 806 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 807 return this.instantiatesCanonical; 808 } 809 810 /** 811 * @return Returns a reference to <code>this</code> for easy method chaining 812 */ 813 public Procedure setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 814 this.instantiatesCanonical = theInstantiatesCanonical; 815 return this; 816 } 817 818 public boolean hasInstantiatesCanonical() { 819 if (this.instantiatesCanonical == null) 820 return false; 821 for (CanonicalType item : this.instantiatesCanonical) 822 if (!item.isEmpty()) 823 return true; 824 return false; 825 } 826 827 /** 828 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 829 */ 830 public CanonicalType addInstantiatesCanonicalElement() {//2 831 CanonicalType t = new CanonicalType(); 832 if (this.instantiatesCanonical == null) 833 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 834 this.instantiatesCanonical.add(t); 835 return t; 836 } 837 838 /** 839 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 840 */ 841 public Procedure addInstantiatesCanonical(String value) { //1 842 CanonicalType t = new CanonicalType(); 843 t.setValue(value); 844 if (this.instantiatesCanonical == null) 845 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 846 this.instantiatesCanonical.add(t); 847 return this; 848 } 849 850 /** 851 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 852 */ 853 public boolean hasInstantiatesCanonical(String value) { 854 if (this.instantiatesCanonical == null) 855 return false; 856 for (CanonicalType v : this.instantiatesCanonical) 857 if (v.getValue().equals(value)) // canonical 858 return true; 859 return false; 860 } 861 862 /** 863 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 864 */ 865 public List<UriType> getInstantiatesUri() { 866 if (this.instantiatesUri == null) 867 this.instantiatesUri = new ArrayList<UriType>(); 868 return this.instantiatesUri; 869 } 870 871 /** 872 * @return Returns a reference to <code>this</code> for easy method chaining 873 */ 874 public Procedure setInstantiatesUri(List<UriType> theInstantiatesUri) { 875 this.instantiatesUri = theInstantiatesUri; 876 return this; 877 } 878 879 public boolean hasInstantiatesUri() { 880 if (this.instantiatesUri == null) 881 return false; 882 for (UriType item : this.instantiatesUri) 883 if (!item.isEmpty()) 884 return true; 885 return false; 886 } 887 888 /** 889 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 890 */ 891 public UriType addInstantiatesUriElement() {//2 892 UriType t = new UriType(); 893 if (this.instantiatesUri == null) 894 this.instantiatesUri = new ArrayList<UriType>(); 895 this.instantiatesUri.add(t); 896 return t; 897 } 898 899 /** 900 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 901 */ 902 public Procedure addInstantiatesUri(String value) { //1 903 UriType t = new UriType(); 904 t.setValue(value); 905 if (this.instantiatesUri == null) 906 this.instantiatesUri = new ArrayList<UriType>(); 907 this.instantiatesUri.add(t); 908 return this; 909 } 910 911 /** 912 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.) 913 */ 914 public boolean hasInstantiatesUri(String value) { 915 if (this.instantiatesUri == null) 916 return false; 917 for (UriType v : this.instantiatesUri) 918 if (v.getValue().equals(value)) // uri 919 return true; 920 return false; 921 } 922 923 /** 924 * @return {@link #basedOn} (A reference to a resource that contains details of the request for this procedure.) 925 */ 926 public List<Reference> getBasedOn() { 927 if (this.basedOn == null) 928 this.basedOn = new ArrayList<Reference>(); 929 return this.basedOn; 930 } 931 932 /** 933 * @return Returns a reference to <code>this</code> for easy method chaining 934 */ 935 public Procedure setBasedOn(List<Reference> theBasedOn) { 936 this.basedOn = theBasedOn; 937 return this; 938 } 939 940 public boolean hasBasedOn() { 941 if (this.basedOn == null) 942 return false; 943 for (Reference item : this.basedOn) 944 if (!item.isEmpty()) 945 return true; 946 return false; 947 } 948 949 public Reference addBasedOn() { //3 950 Reference t = new Reference(); 951 if (this.basedOn == null) 952 this.basedOn = new ArrayList<Reference>(); 953 this.basedOn.add(t); 954 return t; 955 } 956 957 public Procedure addBasedOn(Reference t) { //3 958 if (t == null) 959 return this; 960 if (this.basedOn == null) 961 this.basedOn = new ArrayList<Reference>(); 962 this.basedOn.add(t); 963 return this; 964 } 965 966 /** 967 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 968 */ 969 public Reference getBasedOnFirstRep() { 970 if (getBasedOn().isEmpty()) { 971 addBasedOn(); 972 } 973 return getBasedOn().get(0); 974 } 975 976 /** 977 * @return {@link #partOf} (A larger event of which this particular procedure is a component or step.) 978 */ 979 public List<Reference> getPartOf() { 980 if (this.partOf == null) 981 this.partOf = new ArrayList<Reference>(); 982 return this.partOf; 983 } 984 985 /** 986 * @return Returns a reference to <code>this</code> for easy method chaining 987 */ 988 public Procedure setPartOf(List<Reference> thePartOf) { 989 this.partOf = thePartOf; 990 return this; 991 } 992 993 public boolean hasPartOf() { 994 if (this.partOf == null) 995 return false; 996 for (Reference item : this.partOf) 997 if (!item.isEmpty()) 998 return true; 999 return false; 1000 } 1001 1002 public Reference addPartOf() { //3 1003 Reference t = new Reference(); 1004 if (this.partOf == null) 1005 this.partOf = new ArrayList<Reference>(); 1006 this.partOf.add(t); 1007 return t; 1008 } 1009 1010 public Procedure addPartOf(Reference t) { //3 1011 if (t == null) 1012 return this; 1013 if (this.partOf == null) 1014 this.partOf = new ArrayList<Reference>(); 1015 this.partOf.add(t); 1016 return this; 1017 } 1018 1019 /** 1020 * @return The first repetition of repeating field {@link #partOf}, creating it if it does not already exist {3} 1021 */ 1022 public Reference getPartOfFirstRep() { 1023 if (getPartOf().isEmpty()) { 1024 addPartOf(); 1025 } 1026 return getPartOf().get(0); 1027 } 1028 1029 /** 1030 * @return {@link #status} (A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1031 */ 1032 public Enumeration<EventStatus> getStatusElement() { 1033 if (this.status == null) 1034 if (Configuration.errorOnAutoCreate()) 1035 throw new Error("Attempt to auto-create Procedure.status"); 1036 else if (Configuration.doAutoCreate()) 1037 this.status = new Enumeration<EventStatus>(new EventStatusEnumFactory()); // bb 1038 return this.status; 1039 } 1040 1041 public boolean hasStatusElement() { 1042 return this.status != null && !this.status.isEmpty(); 1043 } 1044 1045 public boolean hasStatus() { 1046 return this.status != null && !this.status.isEmpty(); 1047 } 1048 1049 /** 1050 * @param value {@link #status} (A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1051 */ 1052 public Procedure setStatusElement(Enumeration<EventStatus> value) { 1053 this.status = value; 1054 return this; 1055 } 1056 1057 /** 1058 * @return A code specifying the state of the procedure. Generally, this will be the in-progress or completed state. 1059 */ 1060 public EventStatus getStatus() { 1061 return this.status == null ? null : this.status.getValue(); 1062 } 1063 1064 /** 1065 * @param value A code specifying the state of the procedure. Generally, this will be the in-progress or completed state. 1066 */ 1067 public Procedure setStatus(EventStatus value) { 1068 if (this.status == null) 1069 this.status = new Enumeration<EventStatus>(new EventStatusEnumFactory()); 1070 this.status.setValue(value); 1071 return this; 1072 } 1073 1074 /** 1075 * @return {@link #statusReason} (Captures the reason for the current state of the procedure.) 1076 */ 1077 public CodeableConcept getStatusReason() { 1078 if (this.statusReason == null) 1079 if (Configuration.errorOnAutoCreate()) 1080 throw new Error("Attempt to auto-create Procedure.statusReason"); 1081 else if (Configuration.doAutoCreate()) 1082 this.statusReason = new CodeableConcept(); // cc 1083 return this.statusReason; 1084 } 1085 1086 public boolean hasStatusReason() { 1087 return this.statusReason != null && !this.statusReason.isEmpty(); 1088 } 1089 1090 /** 1091 * @param value {@link #statusReason} (Captures the reason for the current state of the procedure.) 1092 */ 1093 public Procedure setStatusReason(CodeableConcept value) { 1094 this.statusReason = value; 1095 return this; 1096 } 1097 1098 /** 1099 * @return {@link #category} (A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").) 1100 */ 1101 public CodeableConcept getCategory() { 1102 if (this.category == null) 1103 if (Configuration.errorOnAutoCreate()) 1104 throw new Error("Attempt to auto-create Procedure.category"); 1105 else if (Configuration.doAutoCreate()) 1106 this.category = new CodeableConcept(); // cc 1107 return this.category; 1108 } 1109 1110 public boolean hasCategory() { 1111 return this.category != null && !this.category.isEmpty(); 1112 } 1113 1114 /** 1115 * @param value {@link #category} (A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").) 1116 */ 1117 public Procedure setCategory(CodeableConcept value) { 1118 this.category = value; 1119 return this; 1120 } 1121 1122 /** 1123 * @return {@link #code} (The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").) 1124 */ 1125 public CodeableConcept getCode() { 1126 if (this.code == null) 1127 if (Configuration.errorOnAutoCreate()) 1128 throw new Error("Attempt to auto-create Procedure.code"); 1129 else if (Configuration.doAutoCreate()) 1130 this.code = new CodeableConcept(); // cc 1131 return this.code; 1132 } 1133 1134 public boolean hasCode() { 1135 return this.code != null && !this.code.isEmpty(); 1136 } 1137 1138 /** 1139 * @param value {@link #code} (The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").) 1140 */ 1141 public Procedure setCode(CodeableConcept value) { 1142 this.code = value; 1143 return this; 1144 } 1145 1146 /** 1147 * @return {@link #subject} (The person, animal or group on which the procedure was performed.) 1148 */ 1149 public Reference getSubject() { 1150 if (this.subject == null) 1151 if (Configuration.errorOnAutoCreate()) 1152 throw new Error("Attempt to auto-create Procedure.subject"); 1153 else if (Configuration.doAutoCreate()) 1154 this.subject = new Reference(); // cc 1155 return this.subject; 1156 } 1157 1158 public boolean hasSubject() { 1159 return this.subject != null && !this.subject.isEmpty(); 1160 } 1161 1162 /** 1163 * @param value {@link #subject} (The person, animal or group on which the procedure was performed.) 1164 */ 1165 public Procedure setSubject(Reference value) { 1166 this.subject = value; 1167 return this; 1168 } 1169 1170 /** 1171 * @return {@link #encounter} (The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.) 1172 */ 1173 public Reference getEncounter() { 1174 if (this.encounter == null) 1175 if (Configuration.errorOnAutoCreate()) 1176 throw new Error("Attempt to auto-create Procedure.encounter"); 1177 else if (Configuration.doAutoCreate()) 1178 this.encounter = new Reference(); // cc 1179 return this.encounter; 1180 } 1181 1182 public boolean hasEncounter() { 1183 return this.encounter != null && !this.encounter.isEmpty(); 1184 } 1185 1186 /** 1187 * @param value {@link #encounter} (The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.) 1188 */ 1189 public Procedure setEncounter(Reference value) { 1190 this.encounter = value; 1191 return this; 1192 } 1193 1194 /** 1195 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1196 */ 1197 public DataType getPerformed() { 1198 return this.performed; 1199 } 1200 1201 /** 1202 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1203 */ 1204 public DateTimeType getPerformedDateTimeType() throws FHIRException { 1205 if (this.performed == null) 1206 this.performed = new DateTimeType(); 1207 if (!(this.performed instanceof DateTimeType)) 1208 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.performed.getClass().getName()+" was encountered"); 1209 return (DateTimeType) this.performed; 1210 } 1211 1212 public boolean hasPerformedDateTimeType() { 1213 return this != null && this.performed instanceof DateTimeType; 1214 } 1215 1216 /** 1217 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1218 */ 1219 public Period getPerformedPeriod() throws FHIRException { 1220 if (this.performed == null) 1221 this.performed = new Period(); 1222 if (!(this.performed instanceof Period)) 1223 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.performed.getClass().getName()+" was encountered"); 1224 return (Period) this.performed; 1225 } 1226 1227 public boolean hasPerformedPeriod() { 1228 return this != null && this.performed instanceof Period; 1229 } 1230 1231 /** 1232 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1233 */ 1234 public StringType getPerformedStringType() throws FHIRException { 1235 if (this.performed == null) 1236 this.performed = new StringType(); 1237 if (!(this.performed instanceof StringType)) 1238 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.performed.getClass().getName()+" was encountered"); 1239 return (StringType) this.performed; 1240 } 1241 1242 public boolean hasPerformedStringType() { 1243 return this != null && this.performed instanceof StringType; 1244 } 1245 1246 /** 1247 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1248 */ 1249 public Age getPerformedAge() throws FHIRException { 1250 if (this.performed == null) 1251 this.performed = new Age(); 1252 if (!(this.performed instanceof Age)) 1253 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.performed.getClass().getName()+" was encountered"); 1254 return (Age) this.performed; 1255 } 1256 1257 public boolean hasPerformedAge() { 1258 return this != null && this.performed instanceof Age; 1259 } 1260 1261 /** 1262 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1263 */ 1264 public Range getPerformedRange() throws FHIRException { 1265 if (this.performed == null) 1266 this.performed = new Range(); 1267 if (!(this.performed instanceof Range)) 1268 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.performed.getClass().getName()+" was encountered"); 1269 return (Range) this.performed; 1270 } 1271 1272 public boolean hasPerformedRange() { 1273 return this != null && this.performed instanceof Range; 1274 } 1275 1276 public boolean hasPerformed() { 1277 return this.performed != null && !this.performed.isEmpty(); 1278 } 1279 1280 /** 1281 * @param value {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1282 */ 1283 public Procedure setPerformed(DataType value) { 1284 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof StringType || value instanceof Age || value instanceof Range)) 1285 throw new Error("Not the right type for Procedure.performed[x]: "+value.fhirType()); 1286 this.performed = value; 1287 return this; 1288 } 1289 1290 /** 1291 * @return {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1292 */ 1293 public Reference getRecorder() { 1294 if (this.recorder == null) 1295 if (Configuration.errorOnAutoCreate()) 1296 throw new Error("Attempt to auto-create Procedure.recorder"); 1297 else if (Configuration.doAutoCreate()) 1298 this.recorder = new Reference(); // cc 1299 return this.recorder; 1300 } 1301 1302 public boolean hasRecorder() { 1303 return this.recorder != null && !this.recorder.isEmpty(); 1304 } 1305 1306 /** 1307 * @param value {@link #recorder} (Individual who recorded the record and takes responsibility for its content.) 1308 */ 1309 public Procedure setRecorder(Reference value) { 1310 this.recorder = value; 1311 return this; 1312 } 1313 1314 /** 1315 * @return {@link #asserter} (Individual who is making the procedure statement.) 1316 */ 1317 public Reference getAsserter() { 1318 if (this.asserter == null) 1319 if (Configuration.errorOnAutoCreate()) 1320 throw new Error("Attempt to auto-create Procedure.asserter"); 1321 else if (Configuration.doAutoCreate()) 1322 this.asserter = new Reference(); // cc 1323 return this.asserter; 1324 } 1325 1326 public boolean hasAsserter() { 1327 return this.asserter != null && !this.asserter.isEmpty(); 1328 } 1329 1330 /** 1331 * @param value {@link #asserter} (Individual who is making the procedure statement.) 1332 */ 1333 public Procedure setAsserter(Reference value) { 1334 this.asserter = value; 1335 return this; 1336 } 1337 1338 /** 1339 * @return {@link #performer} (Limited to "real" people rather than equipment.) 1340 */ 1341 public List<ProcedurePerformerComponent> getPerformer() { 1342 if (this.performer == null) 1343 this.performer = new ArrayList<ProcedurePerformerComponent>(); 1344 return this.performer; 1345 } 1346 1347 /** 1348 * @return Returns a reference to <code>this</code> for easy method chaining 1349 */ 1350 public Procedure setPerformer(List<ProcedurePerformerComponent> thePerformer) { 1351 this.performer = thePerformer; 1352 return this; 1353 } 1354 1355 public boolean hasPerformer() { 1356 if (this.performer == null) 1357 return false; 1358 for (ProcedurePerformerComponent item : this.performer) 1359 if (!item.isEmpty()) 1360 return true; 1361 return false; 1362 } 1363 1364 public ProcedurePerformerComponent addPerformer() { //3 1365 ProcedurePerformerComponent t = new ProcedurePerformerComponent(); 1366 if (this.performer == null) 1367 this.performer = new ArrayList<ProcedurePerformerComponent>(); 1368 this.performer.add(t); 1369 return t; 1370 } 1371 1372 public Procedure addPerformer(ProcedurePerformerComponent t) { //3 1373 if (t == null) 1374 return this; 1375 if (this.performer == null) 1376 this.performer = new ArrayList<ProcedurePerformerComponent>(); 1377 this.performer.add(t); 1378 return this; 1379 } 1380 1381 /** 1382 * @return The first repetition of repeating field {@link #performer}, creating it if it does not already exist {3} 1383 */ 1384 public ProcedurePerformerComponent getPerformerFirstRep() { 1385 if (getPerformer().isEmpty()) { 1386 addPerformer(); 1387 } 1388 return getPerformer().get(0); 1389 } 1390 1391 /** 1392 * @return {@link #location} (The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.) 1393 */ 1394 public Reference getLocation() { 1395 if (this.location == null) 1396 if (Configuration.errorOnAutoCreate()) 1397 throw new Error("Attempt to auto-create Procedure.location"); 1398 else if (Configuration.doAutoCreate()) 1399 this.location = new Reference(); // cc 1400 return this.location; 1401 } 1402 1403 public boolean hasLocation() { 1404 return this.location != null && !this.location.isEmpty(); 1405 } 1406 1407 /** 1408 * @param value {@link #location} (The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.) 1409 */ 1410 public Procedure setLocation(Reference value) { 1411 this.location = value; 1412 return this; 1413 } 1414 1415 /** 1416 * @return {@link #reasonCode} (The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text.) 1417 */ 1418 public List<CodeableConcept> getReasonCode() { 1419 if (this.reasonCode == null) 1420 this.reasonCode = new ArrayList<CodeableConcept>(); 1421 return this.reasonCode; 1422 } 1423 1424 /** 1425 * @return Returns a reference to <code>this</code> for easy method chaining 1426 */ 1427 public Procedure setReasonCode(List<CodeableConcept> theReasonCode) { 1428 this.reasonCode = theReasonCode; 1429 return this; 1430 } 1431 1432 public boolean hasReasonCode() { 1433 if (this.reasonCode == null) 1434 return false; 1435 for (CodeableConcept item : this.reasonCode) 1436 if (!item.isEmpty()) 1437 return true; 1438 return false; 1439 } 1440 1441 public CodeableConcept addReasonCode() { //3 1442 CodeableConcept t = new CodeableConcept(); 1443 if (this.reasonCode == null) 1444 this.reasonCode = new ArrayList<CodeableConcept>(); 1445 this.reasonCode.add(t); 1446 return t; 1447 } 1448 1449 public Procedure addReasonCode(CodeableConcept t) { //3 1450 if (t == null) 1451 return this; 1452 if (this.reasonCode == null) 1453 this.reasonCode = new ArrayList<CodeableConcept>(); 1454 this.reasonCode.add(t); 1455 return this; 1456 } 1457 1458 /** 1459 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist {3} 1460 */ 1461 public CodeableConcept getReasonCodeFirstRep() { 1462 if (getReasonCode().isEmpty()) { 1463 addReasonCode(); 1464 } 1465 return getReasonCode().get(0); 1466 } 1467 1468 /** 1469 * @return {@link #reasonReference} (The justification of why the procedure was performed.) 1470 */ 1471 public List<Reference> getReasonReference() { 1472 if (this.reasonReference == null) 1473 this.reasonReference = new ArrayList<Reference>(); 1474 return this.reasonReference; 1475 } 1476 1477 /** 1478 * @return Returns a reference to <code>this</code> for easy method chaining 1479 */ 1480 public Procedure setReasonReference(List<Reference> theReasonReference) { 1481 this.reasonReference = theReasonReference; 1482 return this; 1483 } 1484 1485 public boolean hasReasonReference() { 1486 if (this.reasonReference == null) 1487 return false; 1488 for (Reference item : this.reasonReference) 1489 if (!item.isEmpty()) 1490 return true; 1491 return false; 1492 } 1493 1494 public Reference addReasonReference() { //3 1495 Reference t = new Reference(); 1496 if (this.reasonReference == null) 1497 this.reasonReference = new ArrayList<Reference>(); 1498 this.reasonReference.add(t); 1499 return t; 1500 } 1501 1502 public Procedure addReasonReference(Reference t) { //3 1503 if (t == null) 1504 return this; 1505 if (this.reasonReference == null) 1506 this.reasonReference = new ArrayList<Reference>(); 1507 this.reasonReference.add(t); 1508 return this; 1509 } 1510 1511 /** 1512 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist {3} 1513 */ 1514 public Reference getReasonReferenceFirstRep() { 1515 if (getReasonReference().isEmpty()) { 1516 addReasonReference(); 1517 } 1518 return getReasonReference().get(0); 1519 } 1520 1521 /** 1522 * @return {@link #bodySite} (Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.) 1523 */ 1524 public List<CodeableConcept> getBodySite() { 1525 if (this.bodySite == null) 1526 this.bodySite = new ArrayList<CodeableConcept>(); 1527 return this.bodySite; 1528 } 1529 1530 /** 1531 * @return Returns a reference to <code>this</code> for easy method chaining 1532 */ 1533 public Procedure setBodySite(List<CodeableConcept> theBodySite) { 1534 this.bodySite = theBodySite; 1535 return this; 1536 } 1537 1538 public boolean hasBodySite() { 1539 if (this.bodySite == null) 1540 return false; 1541 for (CodeableConcept item : this.bodySite) 1542 if (!item.isEmpty()) 1543 return true; 1544 return false; 1545 } 1546 1547 public CodeableConcept addBodySite() { //3 1548 CodeableConcept t = new CodeableConcept(); 1549 if (this.bodySite == null) 1550 this.bodySite = new ArrayList<CodeableConcept>(); 1551 this.bodySite.add(t); 1552 return t; 1553 } 1554 1555 public Procedure addBodySite(CodeableConcept t) { //3 1556 if (t == null) 1557 return this; 1558 if (this.bodySite == null) 1559 this.bodySite = new ArrayList<CodeableConcept>(); 1560 this.bodySite.add(t); 1561 return this; 1562 } 1563 1564 /** 1565 * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} 1566 */ 1567 public CodeableConcept getBodySiteFirstRep() { 1568 if (getBodySite().isEmpty()) { 1569 addBodySite(); 1570 } 1571 return getBodySite().get(0); 1572 } 1573 1574 /** 1575 * @return {@link #outcome} (The outcome of the procedure - did it resolve the reasons for the procedure being performed?) 1576 */ 1577 public CodeableConcept getOutcome() { 1578 if (this.outcome == null) 1579 if (Configuration.errorOnAutoCreate()) 1580 throw new Error("Attempt to auto-create Procedure.outcome"); 1581 else if (Configuration.doAutoCreate()) 1582 this.outcome = new CodeableConcept(); // cc 1583 return this.outcome; 1584 } 1585 1586 public boolean hasOutcome() { 1587 return this.outcome != null && !this.outcome.isEmpty(); 1588 } 1589 1590 /** 1591 * @param value {@link #outcome} (The outcome of the procedure - did it resolve the reasons for the procedure being performed?) 1592 */ 1593 public Procedure setOutcome(CodeableConcept value) { 1594 this.outcome = value; 1595 return this; 1596 } 1597 1598 /** 1599 * @return {@link #report} (This could be a histology result, pathology report, surgical report, etc.) 1600 */ 1601 public List<Reference> getReport() { 1602 if (this.report == null) 1603 this.report = new ArrayList<Reference>(); 1604 return this.report; 1605 } 1606 1607 /** 1608 * @return Returns a reference to <code>this</code> for easy method chaining 1609 */ 1610 public Procedure setReport(List<Reference> theReport) { 1611 this.report = theReport; 1612 return this; 1613 } 1614 1615 public boolean hasReport() { 1616 if (this.report == null) 1617 return false; 1618 for (Reference item : this.report) 1619 if (!item.isEmpty()) 1620 return true; 1621 return false; 1622 } 1623 1624 public Reference addReport() { //3 1625 Reference t = new Reference(); 1626 if (this.report == null) 1627 this.report = new ArrayList<Reference>(); 1628 this.report.add(t); 1629 return t; 1630 } 1631 1632 public Procedure addReport(Reference t) { //3 1633 if (t == null) 1634 return this; 1635 if (this.report == null) 1636 this.report = new ArrayList<Reference>(); 1637 this.report.add(t); 1638 return this; 1639 } 1640 1641 /** 1642 * @return The first repetition of repeating field {@link #report}, creating it if it does not already exist {3} 1643 */ 1644 public Reference getReportFirstRep() { 1645 if (getReport().isEmpty()) { 1646 addReport(); 1647 } 1648 return getReport().get(0); 1649 } 1650 1651 /** 1652 * @return {@link #complication} (Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.) 1653 */ 1654 public List<CodeableConcept> getComplication() { 1655 if (this.complication == null) 1656 this.complication = new ArrayList<CodeableConcept>(); 1657 return this.complication; 1658 } 1659 1660 /** 1661 * @return Returns a reference to <code>this</code> for easy method chaining 1662 */ 1663 public Procedure setComplication(List<CodeableConcept> theComplication) { 1664 this.complication = theComplication; 1665 return this; 1666 } 1667 1668 public boolean hasComplication() { 1669 if (this.complication == null) 1670 return false; 1671 for (CodeableConcept item : this.complication) 1672 if (!item.isEmpty()) 1673 return true; 1674 return false; 1675 } 1676 1677 public CodeableConcept addComplication() { //3 1678 CodeableConcept t = new CodeableConcept(); 1679 if (this.complication == null) 1680 this.complication = new ArrayList<CodeableConcept>(); 1681 this.complication.add(t); 1682 return t; 1683 } 1684 1685 public Procedure addComplication(CodeableConcept t) { //3 1686 if (t == null) 1687 return this; 1688 if (this.complication == null) 1689 this.complication = new ArrayList<CodeableConcept>(); 1690 this.complication.add(t); 1691 return this; 1692 } 1693 1694 /** 1695 * @return The first repetition of repeating field {@link #complication}, creating it if it does not already exist {3} 1696 */ 1697 public CodeableConcept getComplicationFirstRep() { 1698 if (getComplication().isEmpty()) { 1699 addComplication(); 1700 } 1701 return getComplication().get(0); 1702 } 1703 1704 /** 1705 * @return {@link #complicationDetail} (Any complications that occurred during the procedure, or in the immediate post-performance period.) 1706 */ 1707 public List<Reference> getComplicationDetail() { 1708 if (this.complicationDetail == null) 1709 this.complicationDetail = new ArrayList<Reference>(); 1710 return this.complicationDetail; 1711 } 1712 1713 /** 1714 * @return Returns a reference to <code>this</code> for easy method chaining 1715 */ 1716 public Procedure setComplicationDetail(List<Reference> theComplicationDetail) { 1717 this.complicationDetail = theComplicationDetail; 1718 return this; 1719 } 1720 1721 public boolean hasComplicationDetail() { 1722 if (this.complicationDetail == null) 1723 return false; 1724 for (Reference item : this.complicationDetail) 1725 if (!item.isEmpty()) 1726 return true; 1727 return false; 1728 } 1729 1730 public Reference addComplicationDetail() { //3 1731 Reference t = new Reference(); 1732 if (this.complicationDetail == null) 1733 this.complicationDetail = new ArrayList<Reference>(); 1734 this.complicationDetail.add(t); 1735 return t; 1736 } 1737 1738 public Procedure addComplicationDetail(Reference t) { //3 1739 if (t == null) 1740 return this; 1741 if (this.complicationDetail == null) 1742 this.complicationDetail = new ArrayList<Reference>(); 1743 this.complicationDetail.add(t); 1744 return this; 1745 } 1746 1747 /** 1748 * @return The first repetition of repeating field {@link #complicationDetail}, creating it if it does not already exist {3} 1749 */ 1750 public Reference getComplicationDetailFirstRep() { 1751 if (getComplicationDetail().isEmpty()) { 1752 addComplicationDetail(); 1753 } 1754 return getComplicationDetail().get(0); 1755 } 1756 1757 /** 1758 * @return {@link #followUp} (If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used.) 1759 */ 1760 public List<CodeableConcept> getFollowUp() { 1761 if (this.followUp == null) 1762 this.followUp = new ArrayList<CodeableConcept>(); 1763 return this.followUp; 1764 } 1765 1766 /** 1767 * @return Returns a reference to <code>this</code> for easy method chaining 1768 */ 1769 public Procedure setFollowUp(List<CodeableConcept> theFollowUp) { 1770 this.followUp = theFollowUp; 1771 return this; 1772 } 1773 1774 public boolean hasFollowUp() { 1775 if (this.followUp == null) 1776 return false; 1777 for (CodeableConcept item : this.followUp) 1778 if (!item.isEmpty()) 1779 return true; 1780 return false; 1781 } 1782 1783 public CodeableConcept addFollowUp() { //3 1784 CodeableConcept t = new CodeableConcept(); 1785 if (this.followUp == null) 1786 this.followUp = new ArrayList<CodeableConcept>(); 1787 this.followUp.add(t); 1788 return t; 1789 } 1790 1791 public Procedure addFollowUp(CodeableConcept t) { //3 1792 if (t == null) 1793 return this; 1794 if (this.followUp == null) 1795 this.followUp = new ArrayList<CodeableConcept>(); 1796 this.followUp.add(t); 1797 return this; 1798 } 1799 1800 /** 1801 * @return The first repetition of repeating field {@link #followUp}, creating it if it does not already exist {3} 1802 */ 1803 public CodeableConcept getFollowUpFirstRep() { 1804 if (getFollowUp().isEmpty()) { 1805 addFollowUp(); 1806 } 1807 return getFollowUp().get(0); 1808 } 1809 1810 /** 1811 * @return {@link #note} (Any other notes and comments about the procedure.) 1812 */ 1813 public List<Annotation> getNote() { 1814 if (this.note == null) 1815 this.note = new ArrayList<Annotation>(); 1816 return this.note; 1817 } 1818 1819 /** 1820 * @return Returns a reference to <code>this</code> for easy method chaining 1821 */ 1822 public Procedure setNote(List<Annotation> theNote) { 1823 this.note = theNote; 1824 return this; 1825 } 1826 1827 public boolean hasNote() { 1828 if (this.note == null) 1829 return false; 1830 for (Annotation item : this.note) 1831 if (!item.isEmpty()) 1832 return true; 1833 return false; 1834 } 1835 1836 public Annotation addNote() { //3 1837 Annotation t = new Annotation(); 1838 if (this.note == null) 1839 this.note = new ArrayList<Annotation>(); 1840 this.note.add(t); 1841 return t; 1842 } 1843 1844 public Procedure addNote(Annotation t) { //3 1845 if (t == null) 1846 return this; 1847 if (this.note == null) 1848 this.note = new ArrayList<Annotation>(); 1849 this.note.add(t); 1850 return this; 1851 } 1852 1853 /** 1854 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1855 */ 1856 public Annotation getNoteFirstRep() { 1857 if (getNote().isEmpty()) { 1858 addNote(); 1859 } 1860 return getNote().get(0); 1861 } 1862 1863 /** 1864 * @return {@link #focalDevice} (A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.) 1865 */ 1866 public List<ProcedureFocalDeviceComponent> getFocalDevice() { 1867 if (this.focalDevice == null) 1868 this.focalDevice = new ArrayList<ProcedureFocalDeviceComponent>(); 1869 return this.focalDevice; 1870 } 1871 1872 /** 1873 * @return Returns a reference to <code>this</code> for easy method chaining 1874 */ 1875 public Procedure setFocalDevice(List<ProcedureFocalDeviceComponent> theFocalDevice) { 1876 this.focalDevice = theFocalDevice; 1877 return this; 1878 } 1879 1880 public boolean hasFocalDevice() { 1881 if (this.focalDevice == null) 1882 return false; 1883 for (ProcedureFocalDeviceComponent item : this.focalDevice) 1884 if (!item.isEmpty()) 1885 return true; 1886 return false; 1887 } 1888 1889 public ProcedureFocalDeviceComponent addFocalDevice() { //3 1890 ProcedureFocalDeviceComponent t = new ProcedureFocalDeviceComponent(); 1891 if (this.focalDevice == null) 1892 this.focalDevice = new ArrayList<ProcedureFocalDeviceComponent>(); 1893 this.focalDevice.add(t); 1894 return t; 1895 } 1896 1897 public Procedure addFocalDevice(ProcedureFocalDeviceComponent t) { //3 1898 if (t == null) 1899 return this; 1900 if (this.focalDevice == null) 1901 this.focalDevice = new ArrayList<ProcedureFocalDeviceComponent>(); 1902 this.focalDevice.add(t); 1903 return this; 1904 } 1905 1906 /** 1907 * @return The first repetition of repeating field {@link #focalDevice}, creating it if it does not already exist {3} 1908 */ 1909 public ProcedureFocalDeviceComponent getFocalDeviceFirstRep() { 1910 if (getFocalDevice().isEmpty()) { 1911 addFocalDevice(); 1912 } 1913 return getFocalDevice().get(0); 1914 } 1915 1916 /** 1917 * @return {@link #usedReference} (Identifies medications, devices and any other substance used as part of the procedure.) 1918 */ 1919 public List<Reference> getUsedReference() { 1920 if (this.usedReference == null) 1921 this.usedReference = new ArrayList<Reference>(); 1922 return this.usedReference; 1923 } 1924 1925 /** 1926 * @return Returns a reference to <code>this</code> for easy method chaining 1927 */ 1928 public Procedure setUsedReference(List<Reference> theUsedReference) { 1929 this.usedReference = theUsedReference; 1930 return this; 1931 } 1932 1933 public boolean hasUsedReference() { 1934 if (this.usedReference == null) 1935 return false; 1936 for (Reference item : this.usedReference) 1937 if (!item.isEmpty()) 1938 return true; 1939 return false; 1940 } 1941 1942 public Reference addUsedReference() { //3 1943 Reference t = new Reference(); 1944 if (this.usedReference == null) 1945 this.usedReference = new ArrayList<Reference>(); 1946 this.usedReference.add(t); 1947 return t; 1948 } 1949 1950 public Procedure addUsedReference(Reference t) { //3 1951 if (t == null) 1952 return this; 1953 if (this.usedReference == null) 1954 this.usedReference = new ArrayList<Reference>(); 1955 this.usedReference.add(t); 1956 return this; 1957 } 1958 1959 /** 1960 * @return The first repetition of repeating field {@link #usedReference}, creating it if it does not already exist {3} 1961 */ 1962 public Reference getUsedReferenceFirstRep() { 1963 if (getUsedReference().isEmpty()) { 1964 addUsedReference(); 1965 } 1966 return getUsedReference().get(0); 1967 } 1968 1969 /** 1970 * @return {@link #usedCode} (Identifies coded items that were used as part of the procedure.) 1971 */ 1972 public List<CodeableConcept> getUsedCode() { 1973 if (this.usedCode == null) 1974 this.usedCode = new ArrayList<CodeableConcept>(); 1975 return this.usedCode; 1976 } 1977 1978 /** 1979 * @return Returns a reference to <code>this</code> for easy method chaining 1980 */ 1981 public Procedure setUsedCode(List<CodeableConcept> theUsedCode) { 1982 this.usedCode = theUsedCode; 1983 return this; 1984 } 1985 1986 public boolean hasUsedCode() { 1987 if (this.usedCode == null) 1988 return false; 1989 for (CodeableConcept item : this.usedCode) 1990 if (!item.isEmpty()) 1991 return true; 1992 return false; 1993 } 1994 1995 public CodeableConcept addUsedCode() { //3 1996 CodeableConcept t = new CodeableConcept(); 1997 if (this.usedCode == null) 1998 this.usedCode = new ArrayList<CodeableConcept>(); 1999 this.usedCode.add(t); 2000 return t; 2001 } 2002 2003 public Procedure addUsedCode(CodeableConcept t) { //3 2004 if (t == null) 2005 return this; 2006 if (this.usedCode == null) 2007 this.usedCode = new ArrayList<CodeableConcept>(); 2008 this.usedCode.add(t); 2009 return this; 2010 } 2011 2012 /** 2013 * @return The first repetition of repeating field {@link #usedCode}, creating it if it does not already exist {3} 2014 */ 2015 public CodeableConcept getUsedCodeFirstRep() { 2016 if (getUsedCode().isEmpty()) { 2017 addUsedCode(); 2018 } 2019 return getUsedCode().get(0); 2020 } 2021 2022 protected void listChildren(List<Property> children) { 2023 super.listChildren(children); 2024 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2025 children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition|Measure|OperationDefinition|Questionnaire)", "The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); 2026 children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); 2027 children.add(new Property("basedOn", "Reference(CarePlan|ServiceRequest)", "A reference to a resource that contains details of the request for this procedure.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 2028 children.add(new Property("partOf", "Reference(Procedure|Observation|MedicationAdministration)", "A larger event of which this particular procedure is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); 2029 children.add(new Property("status", "code", "A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.", 0, 1, status)); 2030 children.add(new Property("statusReason", "CodeableConcept", "Captures the reason for the current state of the procedure.", 0, 1, statusReason)); 2031 children.add(new Property("category", "CodeableConcept", "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, 1, category)); 2032 children.add(new Property("code", "CodeableConcept", "The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\").", 0, 1, code)); 2033 children.add(new Property("subject", "Reference(Patient|Group)", "The person, animal or group on which the procedure was performed.", 0, 1, subject)); 2034 children.add(new Property("encounter", "Reference(Encounter)", "The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.", 0, 1, encounter)); 2035 children.add(new Property("performed[x]", "dateTime|Period|string|Age|Range", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed)); 2036 children.add(new Property("recorder", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder)); 2037 children.add(new Property("asserter", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole)", "Individual who is making the procedure statement.", 0, 1, asserter)); 2038 children.add(new Property("performer", "", "Limited to \"real\" people rather than equipment.", 0, java.lang.Integer.MAX_VALUE, performer)); 2039 children.add(new Property("location", "Reference(Location)", "The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.", 0, 1, location)); 2040 children.add(new Property("reasonCode", "CodeableConcept", "The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 2041 children.add(new Property("reasonReference", "Reference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference)", "The justification of why the procedure was performed.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 2042 children.add(new Property("bodySite", "CodeableConcept", "Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.", 0, java.lang.Integer.MAX_VALUE, bodySite)); 2043 children.add(new Property("outcome", "CodeableConcept", "The outcome of the procedure - did it resolve the reasons for the procedure being performed?", 0, 1, outcome)); 2044 children.add(new Property("report", "Reference(DiagnosticReport|DocumentReference|Composition)", "This could be a histology result, pathology report, surgical report, etc.", 0, java.lang.Integer.MAX_VALUE, report)); 2045 children.add(new Property("complication", "CodeableConcept", "Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.", 0, java.lang.Integer.MAX_VALUE, complication)); 2046 children.add(new Property("complicationDetail", "Reference(Condition)", "Any complications that occurred during the procedure, or in the immediate post-performance period.", 0, java.lang.Integer.MAX_VALUE, complicationDetail)); 2047 children.add(new Property("followUp", "CodeableConcept", "If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used.", 0, java.lang.Integer.MAX_VALUE, followUp)); 2048 children.add(new Property("note", "Annotation", "Any other notes and comments about the procedure.", 0, java.lang.Integer.MAX_VALUE, note)); 2049 children.add(new Property("focalDevice", "", "A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.", 0, java.lang.Integer.MAX_VALUE, focalDevice)); 2050 children.add(new Property("usedReference", "Reference(Device|Medication|Substance)", "Identifies medications, devices and any other substance used as part of the procedure.", 0, java.lang.Integer.MAX_VALUE, usedReference)); 2051 children.add(new Property("usedCode", "CodeableConcept", "Identifies coded items that were used as part of the procedure.", 0, java.lang.Integer.MAX_VALUE, usedCode)); 2052 } 2053 2054 @Override 2055 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2056 switch (_hash) { 2057 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 2058 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition|Measure|OperationDefinition|Questionnaire)", "The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); 2059 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); 2060 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|ServiceRequest)", "A reference to a resource that contains details of the request for this procedure.", 0, java.lang.Integer.MAX_VALUE, basedOn); 2061 case -995410646: /*partOf*/ return new Property("partOf", "Reference(Procedure|Observation|MedicationAdministration)", "A larger event of which this particular procedure is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); 2062 case -892481550: /*status*/ return new Property("status", "code", "A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.", 0, 1, status); 2063 case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "Captures the reason for the current state of the procedure.", 0, 1, statusReason); 2064 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, 1, category); 2065 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\").", 0, 1, code); 2066 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The person, animal or group on which the procedure was performed.", 0, 1, subject); 2067 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.", 0, 1, encounter); 2068 case 1355984064: /*performed[x]*/ return new Property("performed[x]", "dateTime|Period|string|Age|Range", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2069 case 481140672: /*performed*/ return new Property("performed[x]", "dateTime|Period|string|Age|Range", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2070 case 1118270331: /*performedDateTime*/ return new Property("performed[x]", "dateTime", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2071 case 1622094241: /*performedPeriod*/ return new Property("performed[x]", "Period", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2072 case 1721834481: /*performedString*/ return new Property("performed[x]", "string", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2073 case 1355958559: /*performedAge*/ return new Property("performed[x]", "Age", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2074 case 1716617565: /*performedRange*/ return new Property("performed[x]", "Range", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 2075 case -799233858: /*recorder*/ return new Property("recorder", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole)", "Individual who recorded the record and takes responsibility for its content.", 0, 1, recorder); 2076 case -373242253: /*asserter*/ return new Property("asserter", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole)", "Individual who is making the procedure statement.", 0, 1, asserter); 2077 case 481140686: /*performer*/ return new Property("performer", "", "Limited to \"real\" people rather than equipment.", 0, java.lang.Integer.MAX_VALUE, performer); 2078 case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.", 0, 1, location); 2079 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 2080 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference)", "The justification of why the procedure was performed.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 2081 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.", 0, java.lang.Integer.MAX_VALUE, bodySite); 2082 case -1106507950: /*outcome*/ return new Property("outcome", "CodeableConcept", "The outcome of the procedure - did it resolve the reasons for the procedure being performed?", 0, 1, outcome); 2083 case -934521548: /*report*/ return new Property("report", "Reference(DiagnosticReport|DocumentReference|Composition)", "This could be a histology result, pathology report, surgical report, etc.", 0, java.lang.Integer.MAX_VALUE, report); 2084 case -1644401602: /*complication*/ return new Property("complication", "CodeableConcept", "Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.", 0, java.lang.Integer.MAX_VALUE, complication); 2085 case -1685272017: /*complicationDetail*/ return new Property("complicationDetail", "Reference(Condition)", "Any complications that occurred during the procedure, or in the immediate post-performance period.", 0, java.lang.Integer.MAX_VALUE, complicationDetail); 2086 case 301801004: /*followUp*/ return new Property("followUp", "CodeableConcept", "If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used.", 0, java.lang.Integer.MAX_VALUE, followUp); 2087 case 3387378: /*note*/ return new Property("note", "Annotation", "Any other notes and comments about the procedure.", 0, java.lang.Integer.MAX_VALUE, note); 2088 case -1129235173: /*focalDevice*/ return new Property("focalDevice", "", "A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.", 0, java.lang.Integer.MAX_VALUE, focalDevice); 2089 case -504932338: /*usedReference*/ return new Property("usedReference", "Reference(Device|Medication|Substance)", "Identifies medications, devices and any other substance used as part of the procedure.", 0, java.lang.Integer.MAX_VALUE, usedReference); 2090 case -279910582: /*usedCode*/ return new Property("usedCode", "CodeableConcept", "Identifies coded items that were used as part of the procedure.", 0, java.lang.Integer.MAX_VALUE, usedCode); 2091 default: return super.getNamedProperty(_hash, _name, _checkValid); 2092 } 2093 2094 } 2095 2096 @Override 2097 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2098 switch (hash) { 2099 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2100 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 2101 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 2102 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 2103 case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // Reference 2104 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<EventStatus> 2105 case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // CodeableConcept 2106 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 2107 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 2108 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 2109 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 2110 case 481140672: /*performed*/ return this.performed == null ? new Base[0] : new Base[] {this.performed}; // DataType 2111 case -799233858: /*recorder*/ return this.recorder == null ? new Base[0] : new Base[] {this.recorder}; // Reference 2112 case -373242253: /*asserter*/ return this.asserter == null ? new Base[0] : new Base[] {this.asserter}; // Reference 2113 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // ProcedurePerformerComponent 2114 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference 2115 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 2116 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 2117 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept 2118 case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // CodeableConcept 2119 case -934521548: /*report*/ return this.report == null ? new Base[0] : this.report.toArray(new Base[this.report.size()]); // Reference 2120 case -1644401602: /*complication*/ return this.complication == null ? new Base[0] : this.complication.toArray(new Base[this.complication.size()]); // CodeableConcept 2121 case -1685272017: /*complicationDetail*/ return this.complicationDetail == null ? new Base[0] : this.complicationDetail.toArray(new Base[this.complicationDetail.size()]); // Reference 2122 case 301801004: /*followUp*/ return this.followUp == null ? new Base[0] : this.followUp.toArray(new Base[this.followUp.size()]); // CodeableConcept 2123 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 2124 case -1129235173: /*focalDevice*/ return this.focalDevice == null ? new Base[0] : this.focalDevice.toArray(new Base[this.focalDevice.size()]); // ProcedureFocalDeviceComponent 2125 case -504932338: /*usedReference*/ return this.usedReference == null ? new Base[0] : this.usedReference.toArray(new Base[this.usedReference.size()]); // Reference 2126 case -279910582: /*usedCode*/ return this.usedCode == null ? new Base[0] : this.usedCode.toArray(new Base[this.usedCode.size()]); // CodeableConcept 2127 default: return super.getProperty(hash, name, checkValid); 2128 } 2129 2130 } 2131 2132 @Override 2133 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2134 switch (hash) { 2135 case -1618432855: // identifier 2136 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2137 return value; 2138 case 8911915: // instantiatesCanonical 2139 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 2140 return value; 2141 case -1926393373: // instantiatesUri 2142 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 2143 return value; 2144 case -332612366: // basedOn 2145 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 2146 return value; 2147 case -995410646: // partOf 2148 this.getPartOf().add(TypeConvertor.castToReference(value)); // Reference 2149 return value; 2150 case -892481550: // status 2151 value = new EventStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2152 this.status = (Enumeration) value; // Enumeration<EventStatus> 2153 return value; 2154 case 2051346646: // statusReason 2155 this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2156 return value; 2157 case 50511102: // category 2158 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2159 return value; 2160 case 3059181: // code 2161 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2162 return value; 2163 case -1867885268: // subject 2164 this.subject = TypeConvertor.castToReference(value); // Reference 2165 return value; 2166 case 1524132147: // encounter 2167 this.encounter = TypeConvertor.castToReference(value); // Reference 2168 return value; 2169 case 481140672: // performed 2170 this.performed = TypeConvertor.castToType(value); // DataType 2171 return value; 2172 case -799233858: // recorder 2173 this.recorder = TypeConvertor.castToReference(value); // Reference 2174 return value; 2175 case -373242253: // asserter 2176 this.asserter = TypeConvertor.castToReference(value); // Reference 2177 return value; 2178 case 481140686: // performer 2179 this.getPerformer().add((ProcedurePerformerComponent) value); // ProcedurePerformerComponent 2180 return value; 2181 case 1901043637: // location 2182 this.location = TypeConvertor.castToReference(value); // Reference 2183 return value; 2184 case 722137681: // reasonCode 2185 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2186 return value; 2187 case -1146218137: // reasonReference 2188 this.getReasonReference().add(TypeConvertor.castToReference(value)); // Reference 2189 return value; 2190 case 1702620169: // bodySite 2191 this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2192 return value; 2193 case -1106507950: // outcome 2194 this.outcome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2195 return value; 2196 case -934521548: // report 2197 this.getReport().add(TypeConvertor.castToReference(value)); // Reference 2198 return value; 2199 case -1644401602: // complication 2200 this.getComplication().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2201 return value; 2202 case -1685272017: // complicationDetail 2203 this.getComplicationDetail().add(TypeConvertor.castToReference(value)); // Reference 2204 return value; 2205 case 301801004: // followUp 2206 this.getFollowUp().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2207 return value; 2208 case 3387378: // note 2209 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 2210 return value; 2211 case -1129235173: // focalDevice 2212 this.getFocalDevice().add((ProcedureFocalDeviceComponent) value); // ProcedureFocalDeviceComponent 2213 return value; 2214 case -504932338: // usedReference 2215 this.getUsedReference().add(TypeConvertor.castToReference(value)); // Reference 2216 return value; 2217 case -279910582: // usedCode 2218 this.getUsedCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2219 return value; 2220 default: return super.setProperty(hash, name, value); 2221 } 2222 2223 } 2224 2225 @Override 2226 public Base setProperty(String name, Base value) throws FHIRException { 2227 if (name.equals("identifier")) { 2228 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2229 } else if (name.equals("instantiatesCanonical")) { 2230 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 2231 } else if (name.equals("instantiatesUri")) { 2232 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 2233 } else if (name.equals("basedOn")) { 2234 this.getBasedOn().add(TypeConvertor.castToReference(value)); 2235 } else if (name.equals("partOf")) { 2236 this.getPartOf().add(TypeConvertor.castToReference(value)); 2237 } else if (name.equals("status")) { 2238 value = new EventStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2239 this.status = (Enumeration) value; // Enumeration<EventStatus> 2240 } else if (name.equals("statusReason")) { 2241 this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2242 } else if (name.equals("category")) { 2243 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2244 } else if (name.equals("code")) { 2245 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2246 } else if (name.equals("subject")) { 2247 this.subject = TypeConvertor.castToReference(value); // Reference 2248 } else if (name.equals("encounter")) { 2249 this.encounter = TypeConvertor.castToReference(value); // Reference 2250 } else if (name.equals("performed[x]")) { 2251 this.performed = TypeConvertor.castToType(value); // DataType 2252 } else if (name.equals("recorder")) { 2253 this.recorder = TypeConvertor.castToReference(value); // Reference 2254 } else if (name.equals("asserter")) { 2255 this.asserter = TypeConvertor.castToReference(value); // Reference 2256 } else if (name.equals("performer")) { 2257 this.getPerformer().add((ProcedurePerformerComponent) value); 2258 } else if (name.equals("location")) { 2259 this.location = TypeConvertor.castToReference(value); // Reference 2260 } else if (name.equals("reasonCode")) { 2261 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); 2262 } else if (name.equals("reasonReference")) { 2263 this.getReasonReference().add(TypeConvertor.castToReference(value)); 2264 } else if (name.equals("bodySite")) { 2265 this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); 2266 } else if (name.equals("outcome")) { 2267 this.outcome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2268 } else if (name.equals("report")) { 2269 this.getReport().add(TypeConvertor.castToReference(value)); 2270 } else if (name.equals("complication")) { 2271 this.getComplication().add(TypeConvertor.castToCodeableConcept(value)); 2272 } else if (name.equals("complicationDetail")) { 2273 this.getComplicationDetail().add(TypeConvertor.castToReference(value)); 2274 } else if (name.equals("followUp")) { 2275 this.getFollowUp().add(TypeConvertor.castToCodeableConcept(value)); 2276 } else if (name.equals("note")) { 2277 this.getNote().add(TypeConvertor.castToAnnotation(value)); 2278 } else if (name.equals("focalDevice")) { 2279 this.getFocalDevice().add((ProcedureFocalDeviceComponent) value); 2280 } else if (name.equals("usedReference")) { 2281 this.getUsedReference().add(TypeConvertor.castToReference(value)); 2282 } else if (name.equals("usedCode")) { 2283 this.getUsedCode().add(TypeConvertor.castToCodeableConcept(value)); 2284 } else 2285 return super.setProperty(name, value); 2286 return value; 2287 } 2288 2289 @Override 2290 public Base makeProperty(int hash, String name) throws FHIRException { 2291 switch (hash) { 2292 case -1618432855: return addIdentifier(); 2293 case 8911915: return addInstantiatesCanonicalElement(); 2294 case -1926393373: return addInstantiatesUriElement(); 2295 case -332612366: return addBasedOn(); 2296 case -995410646: return addPartOf(); 2297 case -892481550: return getStatusElement(); 2298 case 2051346646: return getStatusReason(); 2299 case 50511102: return getCategory(); 2300 case 3059181: return getCode(); 2301 case -1867885268: return getSubject(); 2302 case 1524132147: return getEncounter(); 2303 case 1355984064: return getPerformed(); 2304 case 481140672: return getPerformed(); 2305 case -799233858: return getRecorder(); 2306 case -373242253: return getAsserter(); 2307 case 481140686: return addPerformer(); 2308 case 1901043637: return getLocation(); 2309 case 722137681: return addReasonCode(); 2310 case -1146218137: return addReasonReference(); 2311 case 1702620169: return addBodySite(); 2312 case -1106507950: return getOutcome(); 2313 case -934521548: return addReport(); 2314 case -1644401602: return addComplication(); 2315 case -1685272017: return addComplicationDetail(); 2316 case 301801004: return addFollowUp(); 2317 case 3387378: return addNote(); 2318 case -1129235173: return addFocalDevice(); 2319 case -504932338: return addUsedReference(); 2320 case -279910582: return addUsedCode(); 2321 default: return super.makeProperty(hash, name); 2322 } 2323 2324 } 2325 2326 @Override 2327 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2328 switch (hash) { 2329 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2330 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 2331 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 2332 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 2333 case -995410646: /*partOf*/ return new String[] {"Reference"}; 2334 case -892481550: /*status*/ return new String[] {"code"}; 2335 case 2051346646: /*statusReason*/ return new String[] {"CodeableConcept"}; 2336 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 2337 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 2338 case -1867885268: /*subject*/ return new String[] {"Reference"}; 2339 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 2340 case 481140672: /*performed*/ return new String[] {"dateTime", "Period", "string", "Age", "Range"}; 2341 case -799233858: /*recorder*/ return new String[] {"Reference"}; 2342 case -373242253: /*asserter*/ return new String[] {"Reference"}; 2343 case 481140686: /*performer*/ return new String[] {}; 2344 case 1901043637: /*location*/ return new String[] {"Reference"}; 2345 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 2346 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 2347 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 2348 case -1106507950: /*outcome*/ return new String[] {"CodeableConcept"}; 2349 case -934521548: /*report*/ return new String[] {"Reference"}; 2350 case -1644401602: /*complication*/ return new String[] {"CodeableConcept"}; 2351 case -1685272017: /*complicationDetail*/ return new String[] {"Reference"}; 2352 case 301801004: /*followUp*/ return new String[] {"CodeableConcept"}; 2353 case 3387378: /*note*/ return new String[] {"Annotation"}; 2354 case -1129235173: /*focalDevice*/ return new String[] {}; 2355 case -504932338: /*usedReference*/ return new String[] {"Reference"}; 2356 case -279910582: /*usedCode*/ return new String[] {"CodeableConcept"}; 2357 default: return super.getTypesForProperty(hash, name); 2358 } 2359 2360 } 2361 2362 @Override 2363 public Base addChild(String name) throws FHIRException { 2364 if (name.equals("identifier")) { 2365 return addIdentifier(); 2366 } 2367 else if (name.equals("instantiatesCanonical")) { 2368 throw new FHIRException("Cannot call addChild on a primitive type Procedure.instantiatesCanonical"); 2369 } 2370 else if (name.equals("instantiatesUri")) { 2371 throw new FHIRException("Cannot call addChild on a primitive type Procedure.instantiatesUri"); 2372 } 2373 else if (name.equals("basedOn")) { 2374 return addBasedOn(); 2375 } 2376 else if (name.equals("partOf")) { 2377 return addPartOf(); 2378 } 2379 else if (name.equals("status")) { 2380 throw new FHIRException("Cannot call addChild on a primitive type Procedure.status"); 2381 } 2382 else if (name.equals("statusReason")) { 2383 this.statusReason = new CodeableConcept(); 2384 return this.statusReason; 2385 } 2386 else if (name.equals("category")) { 2387 this.category = new CodeableConcept(); 2388 return this.category; 2389 } 2390 else if (name.equals("code")) { 2391 this.code = new CodeableConcept(); 2392 return this.code; 2393 } 2394 else if (name.equals("subject")) { 2395 this.subject = new Reference(); 2396 return this.subject; 2397 } 2398 else if (name.equals("encounter")) { 2399 this.encounter = new Reference(); 2400 return this.encounter; 2401 } 2402 else if (name.equals("performedDateTime")) { 2403 this.performed = new DateTimeType(); 2404 return this.performed; 2405 } 2406 else if (name.equals("performedPeriod")) { 2407 this.performed = new Period(); 2408 return this.performed; 2409 } 2410 else if (name.equals("performedString")) { 2411 this.performed = new StringType(); 2412 return this.performed; 2413 } 2414 else if (name.equals("performedAge")) { 2415 this.performed = new Age(); 2416 return this.performed; 2417 } 2418 else if (name.equals("performedRange")) { 2419 this.performed = new Range(); 2420 return this.performed; 2421 } 2422 else if (name.equals("recorder")) { 2423 this.recorder = new Reference(); 2424 return this.recorder; 2425 } 2426 else if (name.equals("asserter")) { 2427 this.asserter = new Reference(); 2428 return this.asserter; 2429 } 2430 else if (name.equals("performer")) { 2431 return addPerformer(); 2432 } 2433 else if (name.equals("location")) { 2434 this.location = new Reference(); 2435 return this.location; 2436 } 2437 else if (name.equals("reasonCode")) { 2438 return addReasonCode(); 2439 } 2440 else if (name.equals("reasonReference")) { 2441 return addReasonReference(); 2442 } 2443 else if (name.equals("bodySite")) { 2444 return addBodySite(); 2445 } 2446 else if (name.equals("outcome")) { 2447 this.outcome = new CodeableConcept(); 2448 return this.outcome; 2449 } 2450 else if (name.equals("report")) { 2451 return addReport(); 2452 } 2453 else if (name.equals("complication")) { 2454 return addComplication(); 2455 } 2456 else if (name.equals("complicationDetail")) { 2457 return addComplicationDetail(); 2458 } 2459 else if (name.equals("followUp")) { 2460 return addFollowUp(); 2461 } 2462 else if (name.equals("note")) { 2463 return addNote(); 2464 } 2465 else if (name.equals("focalDevice")) { 2466 return addFocalDevice(); 2467 } 2468 else if (name.equals("usedReference")) { 2469 return addUsedReference(); 2470 } 2471 else if (name.equals("usedCode")) { 2472 return addUsedCode(); 2473 } 2474 else 2475 return super.addChild(name); 2476 } 2477 2478 public String fhirType() { 2479 return "Procedure"; 2480 2481 } 2482 2483 public Procedure copy() { 2484 Procedure dst = new Procedure(); 2485 copyValues(dst); 2486 return dst; 2487 } 2488 2489 public void copyValues(Procedure dst) { 2490 super.copyValues(dst); 2491 if (identifier != null) { 2492 dst.identifier = new ArrayList<Identifier>(); 2493 for (Identifier i : identifier) 2494 dst.identifier.add(i.copy()); 2495 }; 2496 if (instantiatesCanonical != null) { 2497 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 2498 for (CanonicalType i : instantiatesCanonical) 2499 dst.instantiatesCanonical.add(i.copy()); 2500 }; 2501 if (instantiatesUri != null) { 2502 dst.instantiatesUri = new ArrayList<UriType>(); 2503 for (UriType i : instantiatesUri) 2504 dst.instantiatesUri.add(i.copy()); 2505 }; 2506 if (basedOn != null) { 2507 dst.basedOn = new ArrayList<Reference>(); 2508 for (Reference i : basedOn) 2509 dst.basedOn.add(i.copy()); 2510 }; 2511 if (partOf != null) { 2512 dst.partOf = new ArrayList<Reference>(); 2513 for (Reference i : partOf) 2514 dst.partOf.add(i.copy()); 2515 }; 2516 dst.status = status == null ? null : status.copy(); 2517 dst.statusReason = statusReason == null ? null : statusReason.copy(); 2518 dst.category = category == null ? null : category.copy(); 2519 dst.code = code == null ? null : code.copy(); 2520 dst.subject = subject == null ? null : subject.copy(); 2521 dst.encounter = encounter == null ? null : encounter.copy(); 2522 dst.performed = performed == null ? null : performed.copy(); 2523 dst.recorder = recorder == null ? null : recorder.copy(); 2524 dst.asserter = asserter == null ? null : asserter.copy(); 2525 if (performer != null) { 2526 dst.performer = new ArrayList<ProcedurePerformerComponent>(); 2527 for (ProcedurePerformerComponent i : performer) 2528 dst.performer.add(i.copy()); 2529 }; 2530 dst.location = location == null ? null : location.copy(); 2531 if (reasonCode != null) { 2532 dst.reasonCode = new ArrayList<CodeableConcept>(); 2533 for (CodeableConcept i : reasonCode) 2534 dst.reasonCode.add(i.copy()); 2535 }; 2536 if (reasonReference != null) { 2537 dst.reasonReference = new ArrayList<Reference>(); 2538 for (Reference i : reasonReference) 2539 dst.reasonReference.add(i.copy()); 2540 }; 2541 if (bodySite != null) { 2542 dst.bodySite = new ArrayList<CodeableConcept>(); 2543 for (CodeableConcept i : bodySite) 2544 dst.bodySite.add(i.copy()); 2545 }; 2546 dst.outcome = outcome == null ? null : outcome.copy(); 2547 if (report != null) { 2548 dst.report = new ArrayList<Reference>(); 2549 for (Reference i : report) 2550 dst.report.add(i.copy()); 2551 }; 2552 if (complication != null) { 2553 dst.complication = new ArrayList<CodeableConcept>(); 2554 for (CodeableConcept i : complication) 2555 dst.complication.add(i.copy()); 2556 }; 2557 if (complicationDetail != null) { 2558 dst.complicationDetail = new ArrayList<Reference>(); 2559 for (Reference i : complicationDetail) 2560 dst.complicationDetail.add(i.copy()); 2561 }; 2562 if (followUp != null) { 2563 dst.followUp = new ArrayList<CodeableConcept>(); 2564 for (CodeableConcept i : followUp) 2565 dst.followUp.add(i.copy()); 2566 }; 2567 if (note != null) { 2568 dst.note = new ArrayList<Annotation>(); 2569 for (Annotation i : note) 2570 dst.note.add(i.copy()); 2571 }; 2572 if (focalDevice != null) { 2573 dst.focalDevice = new ArrayList<ProcedureFocalDeviceComponent>(); 2574 for (ProcedureFocalDeviceComponent i : focalDevice) 2575 dst.focalDevice.add(i.copy()); 2576 }; 2577 if (usedReference != null) { 2578 dst.usedReference = new ArrayList<Reference>(); 2579 for (Reference i : usedReference) 2580 dst.usedReference.add(i.copy()); 2581 }; 2582 if (usedCode != null) { 2583 dst.usedCode = new ArrayList<CodeableConcept>(); 2584 for (CodeableConcept i : usedCode) 2585 dst.usedCode.add(i.copy()); 2586 }; 2587 } 2588 2589 protected Procedure typedCopy() { 2590 return copy(); 2591 } 2592 2593 @Override 2594 public boolean equalsDeep(Base other_) { 2595 if (!super.equalsDeep(other_)) 2596 return false; 2597 if (!(other_ instanceof Procedure)) 2598 return false; 2599 Procedure o = (Procedure) other_; 2600 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 2601 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) 2602 && compareDeep(partOf, o.partOf, true) && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) 2603 && compareDeep(category, o.category, true) && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) 2604 && compareDeep(encounter, o.encounter, true) && compareDeep(performed, o.performed, true) && compareDeep(recorder, o.recorder, true) 2605 && compareDeep(asserter, o.asserter, true) && compareDeep(performer, o.performer, true) && compareDeep(location, o.location, true) 2606 && compareDeep(reasonCode, o.reasonCode, true) && compareDeep(reasonReference, o.reasonReference, true) 2607 && compareDeep(bodySite, o.bodySite, true) && compareDeep(outcome, o.outcome, true) && compareDeep(report, o.report, true) 2608 && compareDeep(complication, o.complication, true) && compareDeep(complicationDetail, o.complicationDetail, true) 2609 && compareDeep(followUp, o.followUp, true) && compareDeep(note, o.note, true) && compareDeep(focalDevice, o.focalDevice, true) 2610 && compareDeep(usedReference, o.usedReference, true) && compareDeep(usedCode, o.usedCode, true) 2611 ; 2612 } 2613 2614 @Override 2615 public boolean equalsShallow(Base other_) { 2616 if (!super.equalsShallow(other_)) 2617 return false; 2618 if (!(other_ instanceof Procedure)) 2619 return false; 2620 Procedure o = (Procedure) other_; 2621 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 2622 && compareValues(status, o.status, true); 2623 } 2624 2625 public boolean isEmpty() { 2626 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 2627 , instantiatesUri, basedOn, partOf, status, statusReason, category, code, subject 2628 , encounter, performed, recorder, asserter, performer, location, reasonCode, reasonReference 2629 , bodySite, outcome, report, complication, complicationDetail, followUp, note 2630 , focalDevice, usedReference, usedCode); 2631 } 2632 2633 @Override 2634 public ResourceType getResourceType() { 2635 return ResourceType.Procedure; 2636 } 2637 2638 /** 2639 * Search parameter: <b>based-on</b> 2640 * <p> 2641 * Description: <b>A request for this procedure</b><br> 2642 * Type: <b>reference</b><br> 2643 * Path: <b>Procedure.basedOn</b><br> 2644 * </p> 2645 */ 2646 @SearchParamDefinition(name="based-on", path="Procedure.basedOn", description="A request for this procedure", type="reference", target={CarePlan.class, ServiceRequest.class } ) 2647 public static final String SP_BASED_ON = "based-on"; 2648 /** 2649 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 2650 * <p> 2651 * Description: <b>A request for this procedure</b><br> 2652 * Type: <b>reference</b><br> 2653 * Path: <b>Procedure.basedOn</b><br> 2654 * </p> 2655 */ 2656 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 2657 2658/** 2659 * Constant for fluent queries to be used to add include statements. Specifies 2660 * the path value of "<b>Procedure:based-on</b>". 2661 */ 2662 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("Procedure:based-on").toLocked(); 2663 2664 /** 2665 * Search parameter: <b>category</b> 2666 * <p> 2667 * Description: <b>Classification of the procedure</b><br> 2668 * Type: <b>token</b><br> 2669 * Path: <b>Procedure.category</b><br> 2670 * </p> 2671 */ 2672 @SearchParamDefinition(name="category", path="Procedure.category", description="Classification of the procedure", type="token" ) 2673 public static final String SP_CATEGORY = "category"; 2674 /** 2675 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2676 * <p> 2677 * Description: <b>Classification of the procedure</b><br> 2678 * Type: <b>token</b><br> 2679 * Path: <b>Procedure.category</b><br> 2680 * </p> 2681 */ 2682 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2683 2684 /** 2685 * Search parameter: <b>instantiates-canonical</b> 2686 * <p> 2687 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2688 * Type: <b>reference</b><br> 2689 * Path: <b>Procedure.instantiatesCanonical</b><br> 2690 * </p> 2691 */ 2692 @SearchParamDefinition(name="instantiates-canonical", path="Procedure.instantiatesCanonical", description="Instantiates FHIR protocol or definition", type="reference", target={ActivityDefinition.class, Measure.class, OperationDefinition.class, PlanDefinition.class, Questionnaire.class } ) 2693 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 2694 /** 2695 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 2696 * <p> 2697 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2698 * Type: <b>reference</b><br> 2699 * Path: <b>Procedure.instantiatesCanonical</b><br> 2700 * </p> 2701 */ 2702 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 2703 2704/** 2705 * Constant for fluent queries to be used to add include statements. Specifies 2706 * the path value of "<b>Procedure:instantiates-canonical</b>". 2707 */ 2708 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("Procedure:instantiates-canonical").toLocked(); 2709 2710 /** 2711 * Search parameter: <b>instantiates-uri</b> 2712 * <p> 2713 * Description: <b>Instantiates external protocol or definition</b><br> 2714 * Type: <b>uri</b><br> 2715 * Path: <b>Procedure.instantiatesUri</b><br> 2716 * </p> 2717 */ 2718 @SearchParamDefinition(name="instantiates-uri", path="Procedure.instantiatesUri", description="Instantiates external protocol or definition", type="uri" ) 2719 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 2720 /** 2721 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 2722 * <p> 2723 * Description: <b>Instantiates external protocol or definition</b><br> 2724 * Type: <b>uri</b><br> 2725 * Path: <b>Procedure.instantiatesUri</b><br> 2726 * </p> 2727 */ 2728 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 2729 2730 /** 2731 * Search parameter: <b>location</b> 2732 * <p> 2733 * Description: <b>Where the procedure happened</b><br> 2734 * Type: <b>reference</b><br> 2735 * Path: <b>Procedure.location</b><br> 2736 * </p> 2737 */ 2738 @SearchParamDefinition(name="location", path="Procedure.location", description="Where the procedure happened", type="reference", target={Location.class } ) 2739 public static final String SP_LOCATION = "location"; 2740 /** 2741 * <b>Fluent Client</b> search parameter constant for <b>location</b> 2742 * <p> 2743 * Description: <b>Where the procedure happened</b><br> 2744 * Type: <b>reference</b><br> 2745 * Path: <b>Procedure.location</b><br> 2746 * </p> 2747 */ 2748 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LOCATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LOCATION); 2749 2750/** 2751 * Constant for fluent queries to be used to add include statements. Specifies 2752 * the path value of "<b>Procedure:location</b>". 2753 */ 2754 public static final ca.uhn.fhir.model.api.Include INCLUDE_LOCATION = new ca.uhn.fhir.model.api.Include("Procedure:location").toLocked(); 2755 2756 /** 2757 * Search parameter: <b>part-of</b> 2758 * <p> 2759 * Description: <b>Part of referenced event</b><br> 2760 * Type: <b>reference</b><br> 2761 * Path: <b>Procedure.partOf</b><br> 2762 * </p> 2763 */ 2764 @SearchParamDefinition(name="part-of", path="Procedure.partOf", description="Part of referenced event", type="reference", target={MedicationAdministration.class, Observation.class, Procedure.class } ) 2765 public static final String SP_PART_OF = "part-of"; 2766 /** 2767 * <b>Fluent Client</b> search parameter constant for <b>part-of</b> 2768 * <p> 2769 * Description: <b>Part of referenced event</b><br> 2770 * Type: <b>reference</b><br> 2771 * Path: <b>Procedure.partOf</b><br> 2772 * </p> 2773 */ 2774 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PART_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PART_OF); 2775 2776/** 2777 * Constant for fluent queries to be used to add include statements. Specifies 2778 * the path value of "<b>Procedure:part-of</b>". 2779 */ 2780 public static final ca.uhn.fhir.model.api.Include INCLUDE_PART_OF = new ca.uhn.fhir.model.api.Include("Procedure:part-of").toLocked(); 2781 2782 /** 2783 * Search parameter: <b>performer</b> 2784 * <p> 2785 * Description: <b>The reference to the practitioner</b><br> 2786 * Type: <b>reference</b><br> 2787 * Path: <b>Procedure.performer.actor</b><br> 2788 * </p> 2789 */ 2790 @SearchParamDefinition(name="performer", path="Procedure.performer.actor", description="The reference to the practitioner", type="reference", providesMembershipIn={ @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"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 2791 public static final String SP_PERFORMER = "performer"; 2792 /** 2793 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 2794 * <p> 2795 * Description: <b>The reference to the practitioner</b><br> 2796 * Type: <b>reference</b><br> 2797 * Path: <b>Procedure.performer.actor</b><br> 2798 * </p> 2799 */ 2800 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 2801 2802/** 2803 * Constant for fluent queries to be used to add include statements. Specifies 2804 * the path value of "<b>Procedure:performer</b>". 2805 */ 2806 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("Procedure:performer").toLocked(); 2807 2808 /** 2809 * Search parameter: <b>reason-code</b> 2810 * <p> 2811 * Description: <b>Coded reason procedure performed</b><br> 2812 * Type: <b>token</b><br> 2813 * Path: <b>Procedure.reasonCode</b><br> 2814 * </p> 2815 */ 2816 @SearchParamDefinition(name="reason-code", path="Procedure.reasonCode", description="Coded reason procedure performed", type="token" ) 2817 public static final String SP_REASON_CODE = "reason-code"; 2818 /** 2819 * <b>Fluent Client</b> search parameter constant for <b>reason-code</b> 2820 * <p> 2821 * Description: <b>Coded reason procedure performed</b><br> 2822 * Type: <b>token</b><br> 2823 * Path: <b>Procedure.reasonCode</b><br> 2824 * </p> 2825 */ 2826 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REASON_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REASON_CODE); 2827 2828 /** 2829 * Search parameter: <b>reason-reference</b> 2830 * <p> 2831 * Description: <b>The justification that the procedure was performed</b><br> 2832 * Type: <b>reference</b><br> 2833 * Path: <b>Procedure.reasonReference</b><br> 2834 * </p> 2835 */ 2836 @SearchParamDefinition(name="reason-reference", path="Procedure.reasonReference", description="The justification that the procedure was performed", type="reference", target={Condition.class, DiagnosticReport.class, DocumentReference.class, Observation.class, Procedure.class } ) 2837 public static final String SP_REASON_REFERENCE = "reason-reference"; 2838 /** 2839 * <b>Fluent Client</b> search parameter constant for <b>reason-reference</b> 2840 * <p> 2841 * Description: <b>The justification that the procedure was performed</b><br> 2842 * Type: <b>reference</b><br> 2843 * Path: <b>Procedure.reasonReference</b><br> 2844 * </p> 2845 */ 2846 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REASON_REFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REASON_REFERENCE); 2847 2848/** 2849 * Constant for fluent queries to be used to add include statements. Specifies 2850 * the path value of "<b>Procedure:reason-reference</b>". 2851 */ 2852 public static final ca.uhn.fhir.model.api.Include INCLUDE_REASON_REFERENCE = new ca.uhn.fhir.model.api.Include("Procedure:reason-reference").toLocked(); 2853 2854 /** 2855 * Search parameter: <b>status</b> 2856 * <p> 2857 * Description: <b>preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown</b><br> 2858 * Type: <b>token</b><br> 2859 * Path: <b>Procedure.status</b><br> 2860 * </p> 2861 */ 2862 @SearchParamDefinition(name="status", path="Procedure.status", description="preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown", type="token" ) 2863 public static final String SP_STATUS = "status"; 2864 /** 2865 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2866 * <p> 2867 * Description: <b>preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown</b><br> 2868 * Type: <b>token</b><br> 2869 * Path: <b>Procedure.status</b><br> 2870 * </p> 2871 */ 2872 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2873 2874 /** 2875 * Search parameter: <b>subject</b> 2876 * <p> 2877 * Description: <b>Search by subject</b><br> 2878 * Type: <b>reference</b><br> 2879 * Path: <b>Procedure.subject</b><br> 2880 * </p> 2881 */ 2882 @SearchParamDefinition(name="subject", path="Procedure.subject", description="Search by subject", type="reference", target={Group.class, Patient.class } ) 2883 public static final String SP_SUBJECT = "subject"; 2884 /** 2885 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2886 * <p> 2887 * Description: <b>Search by subject</b><br> 2888 * Type: <b>reference</b><br> 2889 * Path: <b>Procedure.subject</b><br> 2890 * </p> 2891 */ 2892 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2893 2894/** 2895 * Constant for fluent queries to be used to add include statements. Specifies 2896 * the path value of "<b>Procedure:subject</b>". 2897 */ 2898 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Procedure:subject").toLocked(); 2899 2900 /** 2901 * Search parameter: <b>code</b> 2902 * <p> 2903 * Description: <b>Multiple Resources: 2904 2905* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2906* [Condition](condition.html): Code for the condition 2907* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2908* [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 2909* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2910* [List](list.html): What the purpose of this list is 2911* [Medication](medication.html): Returns medications for a specific code 2912* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2913* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2914* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2915* [MedicationStatement](medicationstatement.html): Return statements of this medication code 2916* [Observation](observation.html): The code of the observation type 2917* [Procedure](procedure.html): A code to identify a procedure 2918* [ServiceRequest](servicerequest.html): What is being requested/ordered 2919</b><br> 2920 * Type: <b>token</b><br> 2921 * 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> 2922 * </p> 2923 */ 2924 @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" ) 2925 public static final String SP_CODE = "code"; 2926 /** 2927 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2928 * <p> 2929 * Description: <b>Multiple Resources: 2930 2931* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2932* [Condition](condition.html): Code for the condition 2933* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2934* [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 2935* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2936* [List](list.html): What the purpose of this list is 2937* [Medication](medication.html): Returns medications for a specific code 2938* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2939* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2940* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2941* [MedicationStatement](medicationstatement.html): Return statements of this medication code 2942* [Observation](observation.html): The code of the observation type 2943* [Procedure](procedure.html): A code to identify a procedure 2944* [ServiceRequest](servicerequest.html): What is being requested/ordered 2945</b><br> 2946 * Type: <b>token</b><br> 2947 * 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> 2948 * </p> 2949 */ 2950 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2951 2952 /** 2953 * Search parameter: <b>date</b> 2954 * <p> 2955 * Description: <b>Multiple Resources: 2956 2957* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 2958* [CarePlan](careplan.html): Time period plan covers 2959* [CareTeam](careteam.html): Time period team covers 2960* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 2961* [Composition](composition.html): Composition editing time 2962* [Consent](consent.html): When this Consent was created or indexed 2963* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 2964* [Encounter](encounter.html): A date within the period the Encounter lasted 2965* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 2966* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 2967* [Flag](flag.html): Time period when flag is active 2968* [Immunization](immunization.html): Vaccination (non)-Administration Date 2969* [List](list.html): When the list was prepared 2970* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 2971* [Procedure](procedure.html): When the procedure was performed 2972* [RiskAssessment](riskassessment.html): When was assessment made? 2973* [SupplyRequest](supplyrequest.html): When the request was made 2974</b><br> 2975 * Type: <b>date</b><br> 2976 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | CareTeam.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.period | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | Immunization.occurrence | List.date | Observation.effective | Procedure.performed | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 2977 * </p> 2978 */ 2979 @SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate | CarePlan.period | CareTeam.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.period | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | Immunization.occurrence | List.date | Observation.effective | Procedure.performed | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): Time period team covers\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When this Consent was created or indexed\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the period the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure was performed\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 2980 public static final String SP_DATE = "date"; 2981 /** 2982 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2983 * <p> 2984 * Description: <b>Multiple Resources: 2985 2986* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 2987* [CarePlan](careplan.html): Time period plan covers 2988* [CareTeam](careteam.html): Time period team covers 2989* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 2990* [Composition](composition.html): Composition editing time 2991* [Consent](consent.html): When this Consent was created or indexed 2992* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 2993* [Encounter](encounter.html): A date within the period the Encounter lasted 2994* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 2995* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 2996* [Flag](flag.html): Time period when flag is active 2997* [Immunization](immunization.html): Vaccination (non)-Administration Date 2998* [List](list.html): When the list was prepared 2999* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 3000* [Procedure](procedure.html): When the procedure was performed 3001* [RiskAssessment](riskassessment.html): When was assessment made? 3002* [SupplyRequest](supplyrequest.html): When the request was made 3003</b><br> 3004 * Type: <b>date</b><br> 3005 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | CareTeam.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.period | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | Immunization.occurrence | List.date | Observation.effective | Procedure.performed | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 3006 * </p> 3007 */ 3008 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 3009 3010 /** 3011 * Search parameter: <b>encounter</b> 3012 * <p> 3013 * Description: <b>Multiple Resources: 3014 3015* [Composition](composition.html): Context of the Composition 3016* [DeviceRequest](devicerequest.html): Encounter during which request was created 3017* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 3018* [DocumentReference](documentreference.html): Context of the document content 3019* [Flag](flag.html): Alert relevant during encounter 3020* [List](list.html): Context in which list created 3021* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 3022* [Observation](observation.html): Encounter related to the observation 3023* [Procedure](procedure.html): Encounter created as part of 3024* [RiskAssessment](riskassessment.html): Where was assessment performed? 3025* [ServiceRequest](servicerequest.html): An encounter in which this request is made 3026* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 3027</b><br> 3028 * Type: <b>reference</b><br> 3029 * 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> 3030 * </p> 3031 */ 3032 @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 } ) 3033 public static final String SP_ENCOUNTER = "encounter"; 3034 /** 3035 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 3036 * <p> 3037 * Description: <b>Multiple Resources: 3038 3039* [Composition](composition.html): Context of the Composition 3040* [DeviceRequest](devicerequest.html): Encounter during which request was created 3041* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 3042* [DocumentReference](documentreference.html): Context of the document content 3043* [Flag](flag.html): Alert relevant during encounter 3044* [List](list.html): Context in which list created 3045* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 3046* [Observation](observation.html): Encounter related to the observation 3047* [Procedure](procedure.html): Encounter created as part of 3048* [RiskAssessment](riskassessment.html): Where was assessment performed? 3049* [ServiceRequest](servicerequest.html): An encounter in which this request is made 3050* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 3051</b><br> 3052 * Type: <b>reference</b><br> 3053 * 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> 3054 * </p> 3055 */ 3056 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 3057 3058/** 3059 * Constant for fluent queries to be used to add include statements. Specifies 3060 * the path value of "<b>Procedure:encounter</b>". 3061 */ 3062 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("Procedure:encounter").toLocked(); 3063 3064 /** 3065 * Search parameter: <b>identifier</b> 3066 * <p> 3067 * Description: <b>Multiple Resources: 3068 3069* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3070* [CarePlan](careplan.html): External Ids for this plan 3071* [CareTeam](careteam.html): External Ids for this team 3072* [Composition](composition.html): Version-independent identifier for the Composition 3073* [Condition](condition.html): A unique identifier of the condition record 3074* [Consent](consent.html): Identifier for this record (external references) 3075* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3076* [DeviceRequest](devicerequest.html): Business identifier for request/order 3077* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3078* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 3079* [DocumentReference](documentreference.html): Master Version Specific Identifier 3080* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3081* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3082* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3083* [Goal](goal.html): External Ids for this goal 3084* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 3085* [Immunization](immunization.html): Business identifier 3086* [List](list.html): Business identifier 3087* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3088* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3089* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3090* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3091* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3092* [Observation](observation.html): The unique id for a particular observation 3093* [Procedure](procedure.html): A unique identifier for a procedure 3094* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3095* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3096* [SupplyDelivery](supplydelivery.html): External identifier 3097* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3098* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3099</b><br> 3100 * Type: <b>token</b><br> 3101 * 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> 3102 * </p> 3103 */ 3104 @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" ) 3105 public static final String SP_IDENTIFIER = "identifier"; 3106 /** 3107 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3108 * <p> 3109 * Description: <b>Multiple Resources: 3110 3111* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3112* [CarePlan](careplan.html): External Ids for this plan 3113* [CareTeam](careteam.html): External Ids for this team 3114* [Composition](composition.html): Version-independent identifier for the Composition 3115* [Condition](condition.html): A unique identifier of the condition record 3116* [Consent](consent.html): Identifier for this record (external references) 3117* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3118* [DeviceRequest](devicerequest.html): Business identifier for request/order 3119* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3120* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 3121* [DocumentReference](documentreference.html): Master Version Specific Identifier 3122* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3123* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3124* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3125* [Goal](goal.html): External Ids for this goal 3126* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 3127* [Immunization](immunization.html): Business identifier 3128* [List](list.html): Business identifier 3129* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3130* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3131* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3132* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3133* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3134* [Observation](observation.html): The unique id for a particular observation 3135* [Procedure](procedure.html): A unique identifier for a procedure 3136* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3137* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3138* [SupplyDelivery](supplydelivery.html): External identifier 3139* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3140* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3141</b><br> 3142 * Type: <b>token</b><br> 3143 * 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> 3144 * </p> 3145 */ 3146 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3147 3148 /** 3149 * Search parameter: <b>patient</b> 3150 * <p> 3151 * Description: <b>Multiple Resources: 3152 3153* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3154* [CarePlan](careplan.html): Who the care plan is for 3155* [CareTeam](careteam.html): Who care team is for 3156* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 3157* [Composition](composition.html): Who and/or what the composition is about 3158* [Condition](condition.html): Who has the condition? 3159* [Consent](consent.html): Who the consent applies to 3160* [DetectedIssue](detectedissue.html): Associated patient 3161* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3162* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 3163* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3164* [DocumentManifest](documentmanifest.html): The subject of the set of documents 3165* [DocumentReference](documentreference.html): Who/what is the subject of the document 3166* [Encounter](encounter.html): The patient or group present at the encounter 3167* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3168* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3169* [Flag](flag.html): The identity of a subject to list flags for 3170* [Goal](goal.html): Who this goal is intended for 3171* [ImagingStudy](imagingstudy.html): Who the study is about 3172* [Immunization](immunization.html): The patient for the vaccination record 3173* [List](list.html): If all resources have the same subject 3174* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3175* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3176* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3177* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3178* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 3179* [Observation](observation.html): The subject that the observation is about (if patient) 3180* [Procedure](procedure.html): Search by subject - a patient 3181* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3182* [ServiceRequest](servicerequest.html): Search by subject - a patient 3183* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3184* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3185</b><br> 3186 * Type: <b>reference</b><br> 3187 * 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> 3188 * </p> 3189 */ 3190 @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", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, 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 } ) 3191 public static final String SP_PATIENT = "patient"; 3192 /** 3193 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3194 * <p> 3195 * Description: <b>Multiple Resources: 3196 3197* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3198* [CarePlan](careplan.html): Who the care plan is for 3199* [CareTeam](careteam.html): Who care team is for 3200* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 3201* [Composition](composition.html): Who and/or what the composition is about 3202* [Condition](condition.html): Who has the condition? 3203* [Consent](consent.html): Who the consent applies to 3204* [DetectedIssue](detectedissue.html): Associated patient 3205* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3206* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 3207* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3208* [DocumentManifest](documentmanifest.html): The subject of the set of documents 3209* [DocumentReference](documentreference.html): Who/what is the subject of the document 3210* [Encounter](encounter.html): The patient or group present at the encounter 3211* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3212* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3213* [Flag](flag.html): The identity of a subject to list flags for 3214* [Goal](goal.html): Who this goal is intended for 3215* [ImagingStudy](imagingstudy.html): Who the study is about 3216* [Immunization](immunization.html): The patient for the vaccination record 3217* [List](list.html): If all resources have the same subject 3218* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3219* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3220* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3221* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3222* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 3223* [Observation](observation.html): The subject that the observation is about (if patient) 3224* [Procedure](procedure.html): Search by subject - a patient 3225* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3226* [ServiceRequest](servicerequest.html): Search by subject - a patient 3227* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3228* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3229</b><br> 3230 * Type: <b>reference</b><br> 3231 * 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> 3232 * </p> 3233 */ 3234 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3235 3236/** 3237 * Constant for fluent queries to be used to add include statements. Specifies 3238 * the path value of "<b>Procedure:patient</b>". 3239 */ 3240 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Procedure:patient").toLocked(); 3241 3242 3243} 3244