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