001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.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 * Prospective warnings of potential issues when providing care to the patient. 052 */ 053@ResourceDef(name="Flag", profile="http://hl7.org/fhir/StructureDefinition/Flag") 054public class Flag extends DomainResource { 055 056 public enum FlagStatus { 057 /** 058 * A current flag that should be displayed to a user. A system may use the category to determine which user roles should view the flag. 059 */ 060 ACTIVE, 061 /** 062 * The flag no longer needs to be displayed. 063 */ 064 INACTIVE, 065 /** 066 * The flag was added in error and should no longer be displayed. 067 */ 068 ENTEREDINERROR, 069 /** 070 * added to help the parsers with the generic types 071 */ 072 NULL; 073 public static FlagStatus fromCode(String codeString) throws FHIRException { 074 if (codeString == null || "".equals(codeString)) 075 return null; 076 if ("active".equals(codeString)) 077 return ACTIVE; 078 if ("inactive".equals(codeString)) 079 return INACTIVE; 080 if ("entered-in-error".equals(codeString)) 081 return ENTEREDINERROR; 082 if (Configuration.isAcceptInvalidEnums()) 083 return null; 084 else 085 throw new FHIRException("Unknown FlagStatus code '"+codeString+"'"); 086 } 087 public String toCode() { 088 switch (this) { 089 case ACTIVE: return "active"; 090 case INACTIVE: return "inactive"; 091 case ENTEREDINERROR: return "entered-in-error"; 092 default: return "?"; 093 } 094 } 095 public String getSystem() { 096 switch (this) { 097 case ACTIVE: return "http://hl7.org/fhir/flag-status"; 098 case INACTIVE: return "http://hl7.org/fhir/flag-status"; 099 case ENTEREDINERROR: return "http://hl7.org/fhir/flag-status"; 100 default: return "?"; 101 } 102 } 103 public String getDefinition() { 104 switch (this) { 105 case ACTIVE: return "A current flag that should be displayed to a user. A system may use the category to determine which user roles should view the flag."; 106 case INACTIVE: return "The flag no longer needs to be displayed."; 107 case ENTEREDINERROR: return "The flag was added in error and should no longer be displayed."; 108 default: return "?"; 109 } 110 } 111 public String getDisplay() { 112 switch (this) { 113 case ACTIVE: return "Active"; 114 case INACTIVE: return "Inactive"; 115 case ENTEREDINERROR: return "Entered in Error"; 116 default: return "?"; 117 } 118 } 119 } 120 121 public static class FlagStatusEnumFactory implements EnumFactory<FlagStatus> { 122 public FlagStatus fromCode(String codeString) throws IllegalArgumentException { 123 if (codeString == null || "".equals(codeString)) 124 if (codeString == null || "".equals(codeString)) 125 return null; 126 if ("active".equals(codeString)) 127 return FlagStatus.ACTIVE; 128 if ("inactive".equals(codeString)) 129 return FlagStatus.INACTIVE; 130 if ("entered-in-error".equals(codeString)) 131 return FlagStatus.ENTEREDINERROR; 132 throw new IllegalArgumentException("Unknown FlagStatus code '"+codeString+"'"); 133 } 134 public Enumeration<FlagStatus> fromType(Base code) throws FHIRException { 135 if (code == null) 136 return null; 137 if (code.isEmpty()) 138 return new Enumeration<FlagStatus>(this); 139 String codeString = ((PrimitiveType) code).asStringValue(); 140 if (codeString == null || "".equals(codeString)) 141 return null; 142 if ("active".equals(codeString)) 143 return new Enumeration<FlagStatus>(this, FlagStatus.ACTIVE); 144 if ("inactive".equals(codeString)) 145 return new Enumeration<FlagStatus>(this, FlagStatus.INACTIVE); 146 if ("entered-in-error".equals(codeString)) 147 return new Enumeration<FlagStatus>(this, FlagStatus.ENTEREDINERROR); 148 throw new FHIRException("Unknown FlagStatus code '"+codeString+"'"); 149 } 150 public String toCode(FlagStatus code) { 151 if (code == FlagStatus.ACTIVE) 152 return "active"; 153 if (code == FlagStatus.INACTIVE) 154 return "inactive"; 155 if (code == FlagStatus.ENTEREDINERROR) 156 return "entered-in-error"; 157 return "?"; 158 } 159 public String toSystem(FlagStatus code) { 160 return code.getSystem(); 161 } 162 } 163 164 /** 165 * Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 166 */ 167 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 168 @Description(shortDefinition="Business identifier", formalDefinition="Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 169 protected List<Identifier> identifier; 170 171 /** 172 * Supports basic workflow. 173 */ 174 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 175 @Description(shortDefinition="active | inactive | entered-in-error", formalDefinition="Supports basic workflow." ) 176 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/flag-status") 177 protected Enumeration<FlagStatus> status; 178 179 /** 180 * Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context. 181 */ 182 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 183 @Description(shortDefinition="Clinical, administrative, etc.", formalDefinition="Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context." ) 184 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/flag-category") 185 protected List<CodeableConcept> category; 186 187 /** 188 * The coded value or textual component of the flag to display to the user. 189 */ 190 @Child(name = "code", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=true) 191 @Description(shortDefinition="Coded or textual message to display to user", formalDefinition="The coded value or textual component of the flag to display to the user." ) 192 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/flag-code") 193 protected CodeableConcept code; 194 195 /** 196 * The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with. 197 */ 198 @Child(name = "subject", type = {Patient.class, Location.class, Group.class, Organization.class, Practitioner.class, PractitionerRole.class, PlanDefinition.class, Medication.class, Procedure.class}, order=4, min=1, max=1, modifier=false, summary=true) 199 @Description(shortDefinition="Who/What is flag about?", formalDefinition="The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with." ) 200 protected Reference subject; 201 202 /** 203 * The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified. 204 */ 205 @Child(name = "period", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=true) 206 @Description(shortDefinition="Time period when flag is active", formalDefinition="The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified." ) 207 protected Period period; 208 209 /** 210 * This alert is only relevant during the encounter. 211 */ 212 @Child(name = "encounter", type = {Encounter.class}, order=6, min=0, max=1, modifier=false, summary=true) 213 @Description(shortDefinition="Alert relevant during encounter", formalDefinition="This alert is only relevant during the encounter." ) 214 protected Reference encounter; 215 216 /** 217 * The person, organization or device that created the flag. 218 */ 219 @Child(name = "author", type = {Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class}, order=7, min=0, max=1, modifier=false, summary=true) 220 @Description(shortDefinition="Flag creator", formalDefinition="The person, organization or device that created the flag." ) 221 protected Reference author; 222 223 private static final long serialVersionUID = -901823137L; 224 225 /** 226 * Constructor 227 */ 228 public Flag() { 229 super(); 230 } 231 232 /** 233 * Constructor 234 */ 235 public Flag(FlagStatus status, CodeableConcept code, Reference subject) { 236 super(); 237 this.setStatus(status); 238 this.setCode(code); 239 this.setSubject(subject); 240 } 241 242 /** 243 * @return {@link #identifier} (Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 244 */ 245 public List<Identifier> getIdentifier() { 246 if (this.identifier == null) 247 this.identifier = new ArrayList<Identifier>(); 248 return this.identifier; 249 } 250 251 /** 252 * @return Returns a reference to <code>this</code> for easy method chaining 253 */ 254 public Flag setIdentifier(List<Identifier> theIdentifier) { 255 this.identifier = theIdentifier; 256 return this; 257 } 258 259 public boolean hasIdentifier() { 260 if (this.identifier == null) 261 return false; 262 for (Identifier item : this.identifier) 263 if (!item.isEmpty()) 264 return true; 265 return false; 266 } 267 268 public Identifier addIdentifier() { //3 269 Identifier t = new Identifier(); 270 if (this.identifier == null) 271 this.identifier = new ArrayList<Identifier>(); 272 this.identifier.add(t); 273 return t; 274 } 275 276 public Flag addIdentifier(Identifier t) { //3 277 if (t == null) 278 return this; 279 if (this.identifier == null) 280 this.identifier = new ArrayList<Identifier>(); 281 this.identifier.add(t); 282 return this; 283 } 284 285 /** 286 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 287 */ 288 public Identifier getIdentifierFirstRep() { 289 if (getIdentifier().isEmpty()) { 290 addIdentifier(); 291 } 292 return getIdentifier().get(0); 293 } 294 295 /** 296 * @return {@link #status} (Supports basic workflow.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 297 */ 298 public Enumeration<FlagStatus> getStatusElement() { 299 if (this.status == null) 300 if (Configuration.errorOnAutoCreate()) 301 throw new Error("Attempt to auto-create Flag.status"); 302 else if (Configuration.doAutoCreate()) 303 this.status = new Enumeration<FlagStatus>(new FlagStatusEnumFactory()); // bb 304 return this.status; 305 } 306 307 public boolean hasStatusElement() { 308 return this.status != null && !this.status.isEmpty(); 309 } 310 311 public boolean hasStatus() { 312 return this.status != null && !this.status.isEmpty(); 313 } 314 315 /** 316 * @param value {@link #status} (Supports basic workflow.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 317 */ 318 public Flag setStatusElement(Enumeration<FlagStatus> value) { 319 this.status = value; 320 return this; 321 } 322 323 /** 324 * @return Supports basic workflow. 325 */ 326 public FlagStatus getStatus() { 327 return this.status == null ? null : this.status.getValue(); 328 } 329 330 /** 331 * @param value Supports basic workflow. 332 */ 333 public Flag setStatus(FlagStatus value) { 334 if (this.status == null) 335 this.status = new Enumeration<FlagStatus>(new FlagStatusEnumFactory()); 336 this.status.setValue(value); 337 return this; 338 } 339 340 /** 341 * @return {@link #category} (Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context.) 342 */ 343 public List<CodeableConcept> getCategory() { 344 if (this.category == null) 345 this.category = new ArrayList<CodeableConcept>(); 346 return this.category; 347 } 348 349 /** 350 * @return Returns a reference to <code>this</code> for easy method chaining 351 */ 352 public Flag setCategory(List<CodeableConcept> theCategory) { 353 this.category = theCategory; 354 return this; 355 } 356 357 public boolean hasCategory() { 358 if (this.category == null) 359 return false; 360 for (CodeableConcept item : this.category) 361 if (!item.isEmpty()) 362 return true; 363 return false; 364 } 365 366 public CodeableConcept addCategory() { //3 367 CodeableConcept t = new CodeableConcept(); 368 if (this.category == null) 369 this.category = new ArrayList<CodeableConcept>(); 370 this.category.add(t); 371 return t; 372 } 373 374 public Flag addCategory(CodeableConcept t) { //3 375 if (t == null) 376 return this; 377 if (this.category == null) 378 this.category = new ArrayList<CodeableConcept>(); 379 this.category.add(t); 380 return this; 381 } 382 383 /** 384 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 385 */ 386 public CodeableConcept getCategoryFirstRep() { 387 if (getCategory().isEmpty()) { 388 addCategory(); 389 } 390 return getCategory().get(0); 391 } 392 393 /** 394 * @return {@link #code} (The coded value or textual component of the flag to display to the user.) 395 */ 396 public CodeableConcept getCode() { 397 if (this.code == null) 398 if (Configuration.errorOnAutoCreate()) 399 throw new Error("Attempt to auto-create Flag.code"); 400 else if (Configuration.doAutoCreate()) 401 this.code = new CodeableConcept(); // cc 402 return this.code; 403 } 404 405 public boolean hasCode() { 406 return this.code != null && !this.code.isEmpty(); 407 } 408 409 /** 410 * @param value {@link #code} (The coded value or textual component of the flag to display to the user.) 411 */ 412 public Flag setCode(CodeableConcept value) { 413 this.code = value; 414 return this; 415 } 416 417 /** 418 * @return {@link #subject} (The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with.) 419 */ 420 public Reference getSubject() { 421 if (this.subject == null) 422 if (Configuration.errorOnAutoCreate()) 423 throw new Error("Attempt to auto-create Flag.subject"); 424 else if (Configuration.doAutoCreate()) 425 this.subject = new Reference(); // cc 426 return this.subject; 427 } 428 429 public boolean hasSubject() { 430 return this.subject != null && !this.subject.isEmpty(); 431 } 432 433 /** 434 * @param value {@link #subject} (The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with.) 435 */ 436 public Flag setSubject(Reference value) { 437 this.subject = value; 438 return this; 439 } 440 441 /** 442 * @return {@link #period} (The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.) 443 */ 444 public Period getPeriod() { 445 if (this.period == null) 446 if (Configuration.errorOnAutoCreate()) 447 throw new Error("Attempt to auto-create Flag.period"); 448 else if (Configuration.doAutoCreate()) 449 this.period = new Period(); // cc 450 return this.period; 451 } 452 453 public boolean hasPeriod() { 454 return this.period != null && !this.period.isEmpty(); 455 } 456 457 /** 458 * @param value {@link #period} (The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.) 459 */ 460 public Flag setPeriod(Period value) { 461 this.period = value; 462 return this; 463 } 464 465 /** 466 * @return {@link #encounter} (This alert is only relevant during the encounter.) 467 */ 468 public Reference getEncounter() { 469 if (this.encounter == null) 470 if (Configuration.errorOnAutoCreate()) 471 throw new Error("Attempt to auto-create Flag.encounter"); 472 else if (Configuration.doAutoCreate()) 473 this.encounter = new Reference(); // cc 474 return this.encounter; 475 } 476 477 public boolean hasEncounter() { 478 return this.encounter != null && !this.encounter.isEmpty(); 479 } 480 481 /** 482 * @param value {@link #encounter} (This alert is only relevant during the encounter.) 483 */ 484 public Flag setEncounter(Reference value) { 485 this.encounter = value; 486 return this; 487 } 488 489 /** 490 * @return {@link #author} (The person, organization or device that created the flag.) 491 */ 492 public Reference getAuthor() { 493 if (this.author == null) 494 if (Configuration.errorOnAutoCreate()) 495 throw new Error("Attempt to auto-create Flag.author"); 496 else if (Configuration.doAutoCreate()) 497 this.author = new Reference(); // cc 498 return this.author; 499 } 500 501 public boolean hasAuthor() { 502 return this.author != null && !this.author.isEmpty(); 503 } 504 505 /** 506 * @param value {@link #author} (The person, organization or device that created the flag.) 507 */ 508 public Flag setAuthor(Reference value) { 509 this.author = value; 510 return this; 511 } 512 513 protected void listChildren(List<Property> children) { 514 super.listChildren(children); 515 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 516 children.add(new Property("status", "code", "Supports basic workflow.", 0, 1, status)); 517 children.add(new Property("category", "CodeableConcept", "Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context.", 0, java.lang.Integer.MAX_VALUE, category)); 518 children.add(new Property("code", "CodeableConcept", "The coded value or textual component of the flag to display to the user.", 0, 1, code)); 519 children.add(new Property("subject", "Reference(Patient|Location|Group|Organization|Practitioner|PractitionerRole|PlanDefinition|Medication|Procedure)", "The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with.", 0, 1, subject)); 520 children.add(new Property("period", "Period", "The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.", 0, 1, period)); 521 children.add(new Property("encounter", "Reference(Encounter)", "This alert is only relevant during the encounter.", 0, 1, encounter)); 522 children.add(new Property("author", "Reference(Device|Organization|Patient|Practitioner|PractitionerRole)", "The person, organization or device that created the flag.", 0, 1, author)); 523 } 524 525 @Override 526 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 527 switch (_hash) { 528 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 529 case -892481550: /*status*/ return new Property("status", "code", "Supports basic workflow.", 0, 1, status); 530 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context.", 0, java.lang.Integer.MAX_VALUE, category); 531 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The coded value or textual component of the flag to display to the user.", 0, 1, code); 532 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Location|Group|Organization|Practitioner|PractitionerRole|PlanDefinition|Medication|Procedure)", "The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with.", 0, 1, subject); 533 case -991726143: /*period*/ return new Property("period", "Period", "The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.", 0, 1, period); 534 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "This alert is only relevant during the encounter.", 0, 1, encounter); 535 case -1406328437: /*author*/ return new Property("author", "Reference(Device|Organization|Patient|Practitioner|PractitionerRole)", "The person, organization or device that created the flag.", 0, 1, author); 536 default: return super.getNamedProperty(_hash, _name, _checkValid); 537 } 538 539 } 540 541 @Override 542 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 543 switch (hash) { 544 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 545 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FlagStatus> 546 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 547 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 548 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 549 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 550 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 551 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 552 default: return super.getProperty(hash, name, checkValid); 553 } 554 555 } 556 557 @Override 558 public Base setProperty(int hash, String name, Base value) throws FHIRException { 559 switch (hash) { 560 case -1618432855: // identifier 561 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 562 return value; 563 case -892481550: // status 564 value = new FlagStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 565 this.status = (Enumeration) value; // Enumeration<FlagStatus> 566 return value; 567 case 50511102: // category 568 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 569 return value; 570 case 3059181: // code 571 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 572 return value; 573 case -1867885268: // subject 574 this.subject = TypeConvertor.castToReference(value); // Reference 575 return value; 576 case -991726143: // period 577 this.period = TypeConvertor.castToPeriod(value); // Period 578 return value; 579 case 1524132147: // encounter 580 this.encounter = TypeConvertor.castToReference(value); // Reference 581 return value; 582 case -1406328437: // author 583 this.author = TypeConvertor.castToReference(value); // Reference 584 return value; 585 default: return super.setProperty(hash, name, value); 586 } 587 588 } 589 590 @Override 591 public Base setProperty(String name, Base value) throws FHIRException { 592 if (name.equals("identifier")) { 593 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 594 } else if (name.equals("status")) { 595 value = new FlagStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 596 this.status = (Enumeration) value; // Enumeration<FlagStatus> 597 } else if (name.equals("category")) { 598 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 599 } else if (name.equals("code")) { 600 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 601 } else if (name.equals("subject")) { 602 this.subject = TypeConvertor.castToReference(value); // Reference 603 } else if (name.equals("period")) { 604 this.period = TypeConvertor.castToPeriod(value); // Period 605 } else if (name.equals("encounter")) { 606 this.encounter = TypeConvertor.castToReference(value); // Reference 607 } else if (name.equals("author")) { 608 this.author = TypeConvertor.castToReference(value); // Reference 609 } else 610 return super.setProperty(name, value); 611 return value; 612 } 613 614 @Override 615 public Base makeProperty(int hash, String name) throws FHIRException { 616 switch (hash) { 617 case -1618432855: return addIdentifier(); 618 case -892481550: return getStatusElement(); 619 case 50511102: return addCategory(); 620 case 3059181: return getCode(); 621 case -1867885268: return getSubject(); 622 case -991726143: return getPeriod(); 623 case 1524132147: return getEncounter(); 624 case -1406328437: return getAuthor(); 625 default: return super.makeProperty(hash, name); 626 } 627 628 } 629 630 @Override 631 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 632 switch (hash) { 633 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 634 case -892481550: /*status*/ return new String[] {"code"}; 635 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 636 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 637 case -1867885268: /*subject*/ return new String[] {"Reference"}; 638 case -991726143: /*period*/ return new String[] {"Period"}; 639 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 640 case -1406328437: /*author*/ return new String[] {"Reference"}; 641 default: return super.getTypesForProperty(hash, name); 642 } 643 644 } 645 646 @Override 647 public Base addChild(String name) throws FHIRException { 648 if (name.equals("identifier")) { 649 return addIdentifier(); 650 } 651 else if (name.equals("status")) { 652 throw new FHIRException("Cannot call addChild on a primitive type Flag.status"); 653 } 654 else if (name.equals("category")) { 655 return addCategory(); 656 } 657 else if (name.equals("code")) { 658 this.code = new CodeableConcept(); 659 return this.code; 660 } 661 else if (name.equals("subject")) { 662 this.subject = new Reference(); 663 return this.subject; 664 } 665 else if (name.equals("period")) { 666 this.period = new Period(); 667 return this.period; 668 } 669 else if (name.equals("encounter")) { 670 this.encounter = new Reference(); 671 return this.encounter; 672 } 673 else if (name.equals("author")) { 674 this.author = new Reference(); 675 return this.author; 676 } 677 else 678 return super.addChild(name); 679 } 680 681 public String fhirType() { 682 return "Flag"; 683 684 } 685 686 public Flag copy() { 687 Flag dst = new Flag(); 688 copyValues(dst); 689 return dst; 690 } 691 692 public void copyValues(Flag dst) { 693 super.copyValues(dst); 694 if (identifier != null) { 695 dst.identifier = new ArrayList<Identifier>(); 696 for (Identifier i : identifier) 697 dst.identifier.add(i.copy()); 698 }; 699 dst.status = status == null ? null : status.copy(); 700 if (category != null) { 701 dst.category = new ArrayList<CodeableConcept>(); 702 for (CodeableConcept i : category) 703 dst.category.add(i.copy()); 704 }; 705 dst.code = code == null ? null : code.copy(); 706 dst.subject = subject == null ? null : subject.copy(); 707 dst.period = period == null ? null : period.copy(); 708 dst.encounter = encounter == null ? null : encounter.copy(); 709 dst.author = author == null ? null : author.copy(); 710 } 711 712 protected Flag typedCopy() { 713 return copy(); 714 } 715 716 @Override 717 public boolean equalsDeep(Base other_) { 718 if (!super.equalsDeep(other_)) 719 return false; 720 if (!(other_ instanceof Flag)) 721 return false; 722 Flag o = (Flag) other_; 723 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true) 724 && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(period, o.period, true) 725 && compareDeep(encounter, o.encounter, true) && compareDeep(author, o.author, true); 726 } 727 728 @Override 729 public boolean equalsShallow(Base other_) { 730 if (!super.equalsShallow(other_)) 731 return false; 732 if (!(other_ instanceof Flag)) 733 return false; 734 Flag o = (Flag) other_; 735 return compareValues(status, o.status, true); 736 } 737 738 public boolean isEmpty() { 739 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category 740 , code, subject, period, encounter, author); 741 } 742 743 @Override 744 public ResourceType getResourceType() { 745 return ResourceType.Flag; 746 } 747 748 /** 749 * Search parameter: <b>author</b> 750 * <p> 751 * Description: <b>Flag creator</b><br> 752 * Type: <b>reference</b><br> 753 * Path: <b>Flag.author</b><br> 754 * </p> 755 */ 756 @SearchParamDefinition(name="author", path="Flag.author", description="Flag creator", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class } ) 757 public static final String SP_AUTHOR = "author"; 758 /** 759 * <b>Fluent Client</b> search parameter constant for <b>author</b> 760 * <p> 761 * Description: <b>Flag creator</b><br> 762 * Type: <b>reference</b><br> 763 * Path: <b>Flag.author</b><br> 764 * </p> 765 */ 766 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 767 768/** 769 * Constant for fluent queries to be used to add include statements. Specifies 770 * the path value of "<b>Flag:author</b>". 771 */ 772 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("Flag:author").toLocked(); 773 774 /** 775 * Search parameter: <b>identifier</b> 776 * <p> 777 * Description: <b>Business identifier</b><br> 778 * Type: <b>token</b><br> 779 * Path: <b>Flag.identifier</b><br> 780 * </p> 781 */ 782 @SearchParamDefinition(name="identifier", path="Flag.identifier", description="Business identifier", type="token" ) 783 public static final String SP_IDENTIFIER = "identifier"; 784 /** 785 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 786 * <p> 787 * Description: <b>Business identifier</b><br> 788 * Type: <b>token</b><br> 789 * Path: <b>Flag.identifier</b><br> 790 * </p> 791 */ 792 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 793 794 /** 795 * Search parameter: <b>status</b> 796 * <p> 797 * Description: <b>active | inactive | entered-in-error</b><br> 798 * Type: <b>token</b><br> 799 * Path: <b>Flag.status</b><br> 800 * </p> 801 */ 802 @SearchParamDefinition(name="status", path="Flag.status", description="active | inactive | entered-in-error", type="token" ) 803 public static final String SP_STATUS = "status"; 804 /** 805 * <b>Fluent Client</b> search parameter constant for <b>status</b> 806 * <p> 807 * Description: <b>active | inactive | entered-in-error</b><br> 808 * Type: <b>token</b><br> 809 * Path: <b>Flag.status</b><br> 810 * </p> 811 */ 812 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 813 814 /** 815 * Search parameter: <b>subject</b> 816 * <p> 817 * Description: <b>The identity of a subject to list flags for</b><br> 818 * Type: <b>reference</b><br> 819 * Path: <b>Flag.subject</b><br> 820 * </p> 821 */ 822 @SearchParamDefinition(name="subject", path="Flag.subject", description="The identity of a subject to list flags for", type="reference", target={Group.class, Location.class, Medication.class, Organization.class, Patient.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class } ) 823 public static final String SP_SUBJECT = "subject"; 824 /** 825 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 826 * <p> 827 * Description: <b>The identity of a subject to list flags for</b><br> 828 * Type: <b>reference</b><br> 829 * Path: <b>Flag.subject</b><br> 830 * </p> 831 */ 832 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 833 834/** 835 * Constant for fluent queries to be used to add include statements. Specifies 836 * the path value of "<b>Flag:subject</b>". 837 */ 838 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Flag:subject").toLocked(); 839 840 /** 841 * Search parameter: <b>date</b> 842 * <p> 843 * Description: <b>Multiple Resources: 844 845* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 846* [CarePlan](careplan.html): Time period plan covers 847* [CareTeam](careteam.html): A date within the coverage time period. 848* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 849* [Composition](composition.html): Composition editing time 850* [Consent](consent.html): When consent was agreed to 851* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 852* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 853* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 854* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 855* [Flag](flag.html): Time period when flag is active 856* [Immunization](immunization.html): Vaccination (non)-Administration Date 857* [List](list.html): When the list was prepared 858* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 859* [Procedure](procedure.html): When the procedure occurred or is occurring 860* [RiskAssessment](riskassessment.html): When was assessment made? 861* [SupplyRequest](supplyrequest.html): When the request was made 862</b><br> 863 * Type: <b>date</b><br> 864 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 865 * </p> 866 */ 867 @SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): 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* [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* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure occurred or is occurring\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 868 public static final String SP_DATE = "date"; 869 /** 870 * <b>Fluent Client</b> search parameter constant for <b>date</b> 871 * <p> 872 * Description: <b>Multiple Resources: 873 874* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 875* [CarePlan](careplan.html): Time period plan covers 876* [CareTeam](careteam.html): A date within the coverage time period. 877* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 878* [Composition](composition.html): Composition editing time 879* [Consent](consent.html): When consent was agreed to 880* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 881* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 882* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 883* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 884* [Flag](flag.html): Time period when flag is active 885* [Immunization](immunization.html): Vaccination (non)-Administration Date 886* [List](list.html): When the list was prepared 887* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 888* [Procedure](procedure.html): When the procedure occurred or is occurring 889* [RiskAssessment](riskassessment.html): When was assessment made? 890* [SupplyRequest](supplyrequest.html): When the request was made 891</b><br> 892 * Type: <b>date</b><br> 893 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 894 * </p> 895 */ 896 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 897 898 /** 899 * Search parameter: <b>encounter</b> 900 * <p> 901 * Description: <b>Multiple Resources: 902 903* [Composition](composition.html): Context of the Composition 904* [DeviceRequest](devicerequest.html): Encounter during which request was created 905* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 906* [DocumentReference](documentreference.html): Context of the document content 907* [Flag](flag.html): Alert relevant during encounter 908* [List](list.html): Context in which list created 909* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 910* [Observation](observation.html): Encounter related to the observation 911* [Procedure](procedure.html): The Encounter during which this Procedure was created 912* [RiskAssessment](riskassessment.html): Where was assessment performed? 913* [ServiceRequest](servicerequest.html): An encounter in which this request is made 914* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 915</b><br> 916 * Type: <b>reference</b><br> 917 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 918 * </p> 919 */ 920 @SearchParamDefinition(name="encounter", path="Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter", description="Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): The Encounter during which this Procedure was created\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", type="reference", target={Encounter.class } ) 921 public static final String SP_ENCOUNTER = "encounter"; 922 /** 923 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 924 * <p> 925 * Description: <b>Multiple Resources: 926 927* [Composition](composition.html): Context of the Composition 928* [DeviceRequest](devicerequest.html): Encounter during which request was created 929* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 930* [DocumentReference](documentreference.html): Context of the document content 931* [Flag](flag.html): Alert relevant during encounter 932* [List](list.html): Context in which list created 933* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 934* [Observation](observation.html): Encounter related to the observation 935* [Procedure](procedure.html): The Encounter during which this Procedure was created 936* [RiskAssessment](riskassessment.html): Where was assessment performed? 937* [ServiceRequest](servicerequest.html): An encounter in which this request is made 938* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 939</b><br> 940 * Type: <b>reference</b><br> 941 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 942 * </p> 943 */ 944 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 945 946/** 947 * Constant for fluent queries to be used to add include statements. Specifies 948 * the path value of "<b>Flag:encounter</b>". 949 */ 950 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("Flag:encounter").toLocked(); 951 952 /** 953 * Search parameter: <b>patient</b> 954 * <p> 955 * Description: <b>Multiple Resources: 956 957* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 958* [CarePlan](careplan.html): Who the care plan is for 959* [CareTeam](careteam.html): Who care team is for 960* [ClinicalImpression](clinicalimpression.html): Patient assessed 961* [Composition](composition.html): Who and/or what the composition is about 962* [Condition](condition.html): Who has the condition? 963* [Consent](consent.html): Who the consent applies to 964* [DetectedIssue](detectedissue.html): Associated patient 965* [DeviceRequest](devicerequest.html): Individual the service is ordered for 966* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 967* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 968* [DocumentManifest](documentmanifest.html): The subject of the set of documents 969* [DocumentReference](documentreference.html): Who/what is the subject of the document 970* [Encounter](encounter.html): The patient present at the encounter 971* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 972* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 973* [Flag](flag.html): The identity of a subject to list flags for 974* [Goal](goal.html): Who this goal is intended for 975* [ImagingStudy](imagingstudy.html): Who the study is about 976* [Immunization](immunization.html): The patient for the vaccination record 977* [List](list.html): If all resources have the same subject 978* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 979* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 980* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 981* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 982* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 983* [Observation](observation.html): The subject that the observation is about (if patient) 984* [Procedure](procedure.html): Search by subject - a patient 985* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 986* [ServiceRequest](servicerequest.html): Search by subject - a patient 987* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 988* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 989</b><br> 990 * Type: <b>reference</b><br> 991 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 992 * </p> 993 */ 994 @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 995 public static final String SP_PATIENT = "patient"; 996 /** 997 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 998 * <p> 999 * Description: <b>Multiple Resources: 1000 1001* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 1002* [CarePlan](careplan.html): Who the care plan is for 1003* [CareTeam](careteam.html): Who care team is for 1004* [ClinicalImpression](clinicalimpression.html): Patient assessed 1005* [Composition](composition.html): Who and/or what the composition is about 1006* [Condition](condition.html): Who has the condition? 1007* [Consent](consent.html): Who the consent applies to 1008* [DetectedIssue](detectedissue.html): Associated patient 1009* [DeviceRequest](devicerequest.html): Individual the service is ordered for 1010* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 1011* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 1012* [DocumentManifest](documentmanifest.html): The subject of the set of documents 1013* [DocumentReference](documentreference.html): Who/what is the subject of the document 1014* [Encounter](encounter.html): The patient present at the encounter 1015* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 1016* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 1017* [Flag](flag.html): The identity of a subject to list flags for 1018* [Goal](goal.html): Who this goal is intended for 1019* [ImagingStudy](imagingstudy.html): Who the study is about 1020* [Immunization](immunization.html): The patient for the vaccination record 1021* [List](list.html): If all resources have the same subject 1022* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 1023* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 1024* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 1025* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 1026* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 1027* [Observation](observation.html): The subject that the observation is about (if patient) 1028* [Procedure](procedure.html): Search by subject - a patient 1029* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 1030* [ServiceRequest](servicerequest.html): Search by subject - a patient 1031* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 1032* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 1033</b><br> 1034 * Type: <b>reference</b><br> 1035 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 1036 * </p> 1037 */ 1038 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1039 1040/** 1041 * Constant for fluent queries to be used to add include statements. Specifies 1042 * the path value of "<b>Flag:patient</b>". 1043 */ 1044 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Flag:patient").toLocked(); 1045 1046 1047} 1048