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