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 13, 2022 17:53+1100 for FHIR vcurrent 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 case NULL: return null; 093 default: return "?"; 094 } 095 } 096 public String getSystem() { 097 switch (this) { 098 case ACTIVE: return "http://hl7.org/fhir/flag-status"; 099 case INACTIVE: return "http://hl7.org/fhir/flag-status"; 100 case ENTEREDINERROR: return "http://hl7.org/fhir/flag-status"; 101 case NULL: return null; 102 default: return "?"; 103 } 104 } 105 public String getDefinition() { 106 switch (this) { 107 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."; 108 case INACTIVE: return "The flag no longer needs to be displayed."; 109 case ENTEREDINERROR: return "The flag was added in error and should no longer be displayed."; 110 case NULL: return null; 111 default: return "?"; 112 } 113 } 114 public String getDisplay() { 115 switch (this) { 116 case ACTIVE: return "Active"; 117 case INACTIVE: return "Inactive"; 118 case ENTEREDINERROR: return "Entered in Error"; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 } 124 125 public static class FlagStatusEnumFactory implements EnumFactory<FlagStatus> { 126 public FlagStatus fromCode(String codeString) throws IllegalArgumentException { 127 if (codeString == null || "".equals(codeString)) 128 if (codeString == null || "".equals(codeString)) 129 return null; 130 if ("active".equals(codeString)) 131 return FlagStatus.ACTIVE; 132 if ("inactive".equals(codeString)) 133 return FlagStatus.INACTIVE; 134 if ("entered-in-error".equals(codeString)) 135 return FlagStatus.ENTEREDINERROR; 136 throw new IllegalArgumentException("Unknown FlagStatus code '"+codeString+"'"); 137 } 138 public Enumeration<FlagStatus> fromType(PrimitiveType<?> code) throws FHIRException { 139 if (code == null) 140 return null; 141 if (code.isEmpty()) 142 return new Enumeration<FlagStatus>(this, FlagStatus.NULL, code); 143 String codeString = ((PrimitiveType) code).asStringValue(); 144 if (codeString == null || "".equals(codeString)) 145 return new Enumeration<FlagStatus>(this, FlagStatus.NULL, code); 146 if ("active".equals(codeString)) 147 return new Enumeration<FlagStatus>(this, FlagStatus.ACTIVE, code); 148 if ("inactive".equals(codeString)) 149 return new Enumeration<FlagStatus>(this, FlagStatus.INACTIVE, code); 150 if ("entered-in-error".equals(codeString)) 151 return new Enumeration<FlagStatus>(this, FlagStatus.ENTEREDINERROR, code); 152 throw new FHIRException("Unknown FlagStatus code '"+codeString+"'"); 153 } 154 public String toCode(FlagStatus code) { 155 if (code == FlagStatus.ACTIVE) 156 return "active"; 157 if (code == FlagStatus.INACTIVE) 158 return "inactive"; 159 if (code == FlagStatus.ENTEREDINERROR) 160 return "entered-in-error"; 161 return "?"; 162 } 163 public String toSystem(FlagStatus code) { 164 return code.getSystem(); 165 } 166 } 167 168 /** 169 * 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. 170 */ 171 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 172 @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." ) 173 protected List<Identifier> identifier; 174 175 /** 176 * Supports basic workflow. 177 */ 178 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 179 @Description(shortDefinition="active | inactive | entered-in-error", formalDefinition="Supports basic workflow." ) 180 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/flag-status") 181 protected Enumeration<FlagStatus> status; 182 183 /** 184 * 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. 185 */ 186 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 187 @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." ) 188 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/flag-category") 189 protected List<CodeableConcept> category; 190 191 /** 192 * The coded value or textual component of the flag to display to the user. 193 */ 194 @Child(name = "code", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=true) 195 @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." ) 196 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/flag-code") 197 protected CodeableConcept code; 198 199 /** 200 * The patient, related person, location, group, organization, or practitioner etc. this is about record this flag is associated with. 201 */ 202 @Child(name = "subject", type = {Patient.class, RelatedPerson.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) 203 @Description(shortDefinition="Who/What is flag about?", formalDefinition="The patient, related person, location, group, organization, or practitioner etc. this is about record this flag is associated with." ) 204 protected Reference subject; 205 206 /** 207 * 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. 208 */ 209 @Child(name = "period", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=true) 210 @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." ) 211 protected Period period; 212 213 /** 214 * This alert is only relevant during the encounter. 215 */ 216 @Child(name = "encounter", type = {Encounter.class}, order=6, min=0, max=1, modifier=false, summary=true) 217 @Description(shortDefinition="Alert relevant during encounter", formalDefinition="This alert is only relevant during the encounter." ) 218 protected Reference encounter; 219 220 /** 221 * The person, organization or device that created the flag. 222 */ 223 @Child(name = "author", type = {Device.class, Organization.class, Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class}, order=7, min=0, max=1, modifier=false, summary=true) 224 @Description(shortDefinition="Flag creator", formalDefinition="The person, organization or device that created the flag." ) 225 protected Reference author; 226 227 private static final long serialVersionUID = -901823137L; 228 229 /** 230 * Constructor 231 */ 232 public Flag() { 233 super(); 234 } 235 236 /** 237 * Constructor 238 */ 239 public Flag(FlagStatus status, CodeableConcept code, Reference subject) { 240 super(); 241 this.setStatus(status); 242 this.setCode(code); 243 this.setSubject(subject); 244 } 245 246 /** 247 * @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.) 248 */ 249 public List<Identifier> getIdentifier() { 250 if (this.identifier == null) 251 this.identifier = new ArrayList<Identifier>(); 252 return this.identifier; 253 } 254 255 /** 256 * @return Returns a reference to <code>this</code> for easy method chaining 257 */ 258 public Flag setIdentifier(List<Identifier> theIdentifier) { 259 this.identifier = theIdentifier; 260 return this; 261 } 262 263 public boolean hasIdentifier() { 264 if (this.identifier == null) 265 return false; 266 for (Identifier item : this.identifier) 267 if (!item.isEmpty()) 268 return true; 269 return false; 270 } 271 272 public Identifier addIdentifier() { //3 273 Identifier t = new Identifier(); 274 if (this.identifier == null) 275 this.identifier = new ArrayList<Identifier>(); 276 this.identifier.add(t); 277 return t; 278 } 279 280 public Flag addIdentifier(Identifier t) { //3 281 if (t == null) 282 return this; 283 if (this.identifier == null) 284 this.identifier = new ArrayList<Identifier>(); 285 this.identifier.add(t); 286 return this; 287 } 288 289 /** 290 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 291 */ 292 public Identifier getIdentifierFirstRep() { 293 if (getIdentifier().isEmpty()) { 294 addIdentifier(); 295 } 296 return getIdentifier().get(0); 297 } 298 299 /** 300 * @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 301 */ 302 public Enumeration<FlagStatus> getStatusElement() { 303 if (this.status == null) 304 if (Configuration.errorOnAutoCreate()) 305 throw new Error("Attempt to auto-create Flag.status"); 306 else if (Configuration.doAutoCreate()) 307 this.status = new Enumeration<FlagStatus>(new FlagStatusEnumFactory()); // bb 308 return this.status; 309 } 310 311 public boolean hasStatusElement() { 312 return this.status != null && !this.status.isEmpty(); 313 } 314 315 public boolean hasStatus() { 316 return this.status != null && !this.status.isEmpty(); 317 } 318 319 /** 320 * @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 321 */ 322 public Flag setStatusElement(Enumeration<FlagStatus> value) { 323 this.status = value; 324 return this; 325 } 326 327 /** 328 * @return Supports basic workflow. 329 */ 330 public FlagStatus getStatus() { 331 return this.status == null ? null : this.status.getValue(); 332 } 333 334 /** 335 * @param value Supports basic workflow. 336 */ 337 public Flag setStatus(FlagStatus value) { 338 if (this.status == null) 339 this.status = new Enumeration<FlagStatus>(new FlagStatusEnumFactory()); 340 this.status.setValue(value); 341 return this; 342 } 343 344 /** 345 * @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.) 346 */ 347 public List<CodeableConcept> getCategory() { 348 if (this.category == null) 349 this.category = new ArrayList<CodeableConcept>(); 350 return this.category; 351 } 352 353 /** 354 * @return Returns a reference to <code>this</code> for easy method chaining 355 */ 356 public Flag setCategory(List<CodeableConcept> theCategory) { 357 this.category = theCategory; 358 return this; 359 } 360 361 public boolean hasCategory() { 362 if (this.category == null) 363 return false; 364 for (CodeableConcept item : this.category) 365 if (!item.isEmpty()) 366 return true; 367 return false; 368 } 369 370 public CodeableConcept addCategory() { //3 371 CodeableConcept t = new CodeableConcept(); 372 if (this.category == null) 373 this.category = new ArrayList<CodeableConcept>(); 374 this.category.add(t); 375 return t; 376 } 377 378 public Flag addCategory(CodeableConcept t) { //3 379 if (t == null) 380 return this; 381 if (this.category == null) 382 this.category = new ArrayList<CodeableConcept>(); 383 this.category.add(t); 384 return this; 385 } 386 387 /** 388 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 389 */ 390 public CodeableConcept getCategoryFirstRep() { 391 if (getCategory().isEmpty()) { 392 addCategory(); 393 } 394 return getCategory().get(0); 395 } 396 397 /** 398 * @return {@link #code} (The coded value or textual component of the flag to display to the user.) 399 */ 400 public CodeableConcept getCode() { 401 if (this.code == null) 402 if (Configuration.errorOnAutoCreate()) 403 throw new Error("Attempt to auto-create Flag.code"); 404 else if (Configuration.doAutoCreate()) 405 this.code = new CodeableConcept(); // cc 406 return this.code; 407 } 408 409 public boolean hasCode() { 410 return this.code != null && !this.code.isEmpty(); 411 } 412 413 /** 414 * @param value {@link #code} (The coded value or textual component of the flag to display to the user.) 415 */ 416 public Flag setCode(CodeableConcept value) { 417 this.code = value; 418 return this; 419 } 420 421 /** 422 * @return {@link #subject} (The patient, related person, location, group, organization, or practitioner etc. this is about record this flag is associated with.) 423 */ 424 public Reference getSubject() { 425 if (this.subject == null) 426 if (Configuration.errorOnAutoCreate()) 427 throw new Error("Attempt to auto-create Flag.subject"); 428 else if (Configuration.doAutoCreate()) 429 this.subject = new Reference(); // cc 430 return this.subject; 431 } 432 433 public boolean hasSubject() { 434 return this.subject != null && !this.subject.isEmpty(); 435 } 436 437 /** 438 * @param value {@link #subject} (The patient, related person, location, group, organization, or practitioner etc. this is about record this flag is associated with.) 439 */ 440 public Flag setSubject(Reference value) { 441 this.subject = value; 442 return this; 443 } 444 445 /** 446 * @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.) 447 */ 448 public Period getPeriod() { 449 if (this.period == null) 450 if (Configuration.errorOnAutoCreate()) 451 throw new Error("Attempt to auto-create Flag.period"); 452 else if (Configuration.doAutoCreate()) 453 this.period = new Period(); // cc 454 return this.period; 455 } 456 457 public boolean hasPeriod() { 458 return this.period != null && !this.period.isEmpty(); 459 } 460 461 /** 462 * @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.) 463 */ 464 public Flag setPeriod(Period value) { 465 this.period = value; 466 return this; 467 } 468 469 /** 470 * @return {@link #encounter} (This alert is only relevant during the encounter.) 471 */ 472 public Reference getEncounter() { 473 if (this.encounter == null) 474 if (Configuration.errorOnAutoCreate()) 475 throw new Error("Attempt to auto-create Flag.encounter"); 476 else if (Configuration.doAutoCreate()) 477 this.encounter = new Reference(); // cc 478 return this.encounter; 479 } 480 481 public boolean hasEncounter() { 482 return this.encounter != null && !this.encounter.isEmpty(); 483 } 484 485 /** 486 * @param value {@link #encounter} (This alert is only relevant during the encounter.) 487 */ 488 public Flag setEncounter(Reference value) { 489 this.encounter = value; 490 return this; 491 } 492 493 /** 494 * @return {@link #author} (The person, organization or device that created the flag.) 495 */ 496 public Reference getAuthor() { 497 if (this.author == null) 498 if (Configuration.errorOnAutoCreate()) 499 throw new Error("Attempt to auto-create Flag.author"); 500 else if (Configuration.doAutoCreate()) 501 this.author = new Reference(); // cc 502 return this.author; 503 } 504 505 public boolean hasAuthor() { 506 return this.author != null && !this.author.isEmpty(); 507 } 508 509 /** 510 * @param value {@link #author} (The person, organization or device that created the flag.) 511 */ 512 public Flag setAuthor(Reference value) { 513 this.author = value; 514 return this; 515 } 516 517 protected void listChildren(List<Property> children) { 518 super.listChildren(children); 519 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)); 520 children.add(new Property("status", "code", "Supports basic workflow.", 0, 1, status)); 521 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)); 522 children.add(new Property("code", "CodeableConcept", "The coded value or textual component of the flag to display to the user.", 0, 1, code)); 523 children.add(new Property("subject", "Reference(Patient|RelatedPerson|Location|Group|Organization|Practitioner|PractitionerRole|PlanDefinition|Medication|Procedure)", "The patient, related person, location, group, organization, or practitioner etc. this is about record this flag is associated with.", 0, 1, subject)); 524 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)); 525 children.add(new Property("encounter", "Reference(Encounter)", "This alert is only relevant during the encounter.", 0, 1, encounter)); 526 children.add(new Property("author", "Reference(Device|Organization|Patient|RelatedPerson|Practitioner|PractitionerRole)", "The person, organization or device that created the flag.", 0, 1, author)); 527 } 528 529 @Override 530 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 531 switch (_hash) { 532 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); 533 case -892481550: /*status*/ return new Property("status", "code", "Supports basic workflow.", 0, 1, status); 534 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); 535 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); 536 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|RelatedPerson|Location|Group|Organization|Practitioner|PractitionerRole|PlanDefinition|Medication|Procedure)", "The patient, related person, location, group, organization, or practitioner etc. this is about record this flag is associated with.", 0, 1, subject); 537 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); 538 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "This alert is only relevant during the encounter.", 0, 1, encounter); 539 case -1406328437: /*author*/ return new Property("author", "Reference(Device|Organization|Patient|RelatedPerson|Practitioner|PractitionerRole)", "The person, organization or device that created the flag.", 0, 1, author); 540 default: return super.getNamedProperty(_hash, _name, _checkValid); 541 } 542 543 } 544 545 @Override 546 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 547 switch (hash) { 548 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 549 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FlagStatus> 550 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 551 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 552 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 553 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 554 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 555 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 556 default: return super.getProperty(hash, name, checkValid); 557 } 558 559 } 560 561 @Override 562 public Base setProperty(int hash, String name, Base value) throws FHIRException { 563 switch (hash) { 564 case -1618432855: // identifier 565 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 566 return value; 567 case -892481550: // status 568 value = new FlagStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 569 this.status = (Enumeration) value; // Enumeration<FlagStatus> 570 return value; 571 case 50511102: // category 572 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 573 return value; 574 case 3059181: // code 575 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 576 return value; 577 case -1867885268: // subject 578 this.subject = TypeConvertor.castToReference(value); // Reference 579 return value; 580 case -991726143: // period 581 this.period = TypeConvertor.castToPeriod(value); // Period 582 return value; 583 case 1524132147: // encounter 584 this.encounter = TypeConvertor.castToReference(value); // Reference 585 return value; 586 case -1406328437: // author 587 this.author = TypeConvertor.castToReference(value); // Reference 588 return value; 589 default: return super.setProperty(hash, name, value); 590 } 591 592 } 593 594 @Override 595 public Base setProperty(String name, Base value) throws FHIRException { 596 if (name.equals("identifier")) { 597 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 598 } else if (name.equals("status")) { 599 value = new FlagStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 600 this.status = (Enumeration) value; // Enumeration<FlagStatus> 601 } else if (name.equals("category")) { 602 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 603 } else if (name.equals("code")) { 604 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 605 } else if (name.equals("subject")) { 606 this.subject = TypeConvertor.castToReference(value); // Reference 607 } else if (name.equals("period")) { 608 this.period = TypeConvertor.castToPeriod(value); // Period 609 } else if (name.equals("encounter")) { 610 this.encounter = TypeConvertor.castToReference(value); // Reference 611 } else if (name.equals("author")) { 612 this.author = TypeConvertor.castToReference(value); // Reference 613 } else 614 return super.setProperty(name, value); 615 return value; 616 } 617 618 @Override 619 public Base makeProperty(int hash, String name) throws FHIRException { 620 switch (hash) { 621 case -1618432855: return addIdentifier(); 622 case -892481550: return getStatusElement(); 623 case 50511102: return addCategory(); 624 case 3059181: return getCode(); 625 case -1867885268: return getSubject(); 626 case -991726143: return getPeriod(); 627 case 1524132147: return getEncounter(); 628 case -1406328437: return getAuthor(); 629 default: return super.makeProperty(hash, name); 630 } 631 632 } 633 634 @Override 635 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 636 switch (hash) { 637 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 638 case -892481550: /*status*/ return new String[] {"code"}; 639 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 640 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 641 case -1867885268: /*subject*/ return new String[] {"Reference"}; 642 case -991726143: /*period*/ return new String[] {"Period"}; 643 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 644 case -1406328437: /*author*/ return new String[] {"Reference"}; 645 default: return super.getTypesForProperty(hash, name); 646 } 647 648 } 649 650 @Override 651 public Base addChild(String name) throws FHIRException { 652 if (name.equals("identifier")) { 653 return addIdentifier(); 654 } 655 else if (name.equals("status")) { 656 throw new FHIRException("Cannot call addChild on a primitive type Flag.status"); 657 } 658 else if (name.equals("category")) { 659 return addCategory(); 660 } 661 else if (name.equals("code")) { 662 this.code = new CodeableConcept(); 663 return this.code; 664 } 665 else if (name.equals("subject")) { 666 this.subject = new Reference(); 667 return this.subject; 668 } 669 else if (name.equals("period")) { 670 this.period = new Period(); 671 return this.period; 672 } 673 else if (name.equals("encounter")) { 674 this.encounter = new Reference(); 675 return this.encounter; 676 } 677 else if (name.equals("author")) { 678 this.author = new Reference(); 679 return this.author; 680 } 681 else 682 return super.addChild(name); 683 } 684 685 public String fhirType() { 686 return "Flag"; 687 688 } 689 690 public Flag copy() { 691 Flag dst = new Flag(); 692 copyValues(dst); 693 return dst; 694 } 695 696 public void copyValues(Flag dst) { 697 super.copyValues(dst); 698 if (identifier != null) { 699 dst.identifier = new ArrayList<Identifier>(); 700 for (Identifier i : identifier) 701 dst.identifier.add(i.copy()); 702 }; 703 dst.status = status == null ? null : status.copy(); 704 if (category != null) { 705 dst.category = new ArrayList<CodeableConcept>(); 706 for (CodeableConcept i : category) 707 dst.category.add(i.copy()); 708 }; 709 dst.code = code == null ? null : code.copy(); 710 dst.subject = subject == null ? null : subject.copy(); 711 dst.period = period == null ? null : period.copy(); 712 dst.encounter = encounter == null ? null : encounter.copy(); 713 dst.author = author == null ? null : author.copy(); 714 } 715 716 protected Flag typedCopy() { 717 return copy(); 718 } 719 720 @Override 721 public boolean equalsDeep(Base other_) { 722 if (!super.equalsDeep(other_)) 723 return false; 724 if (!(other_ instanceof Flag)) 725 return false; 726 Flag o = (Flag) other_; 727 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true) 728 && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(period, o.period, true) 729 && compareDeep(encounter, o.encounter, true) && compareDeep(author, o.author, true); 730 } 731 732 @Override 733 public boolean equalsShallow(Base other_) { 734 if (!super.equalsShallow(other_)) 735 return false; 736 if (!(other_ instanceof Flag)) 737 return false; 738 Flag o = (Flag) other_; 739 return compareValues(status, o.status, true); 740 } 741 742 public boolean isEmpty() { 743 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category 744 , code, subject, period, encounter, author); 745 } 746 747 @Override 748 public ResourceType getResourceType() { 749 return ResourceType.Flag; 750 } 751 752 /** 753 * Search parameter: <b>author</b> 754 * <p> 755 * Description: <b>Flag creator</b><br> 756 * Type: <b>reference</b><br> 757 * Path: <b>Flag.author</b><br> 758 * </p> 759 */ 760 @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, RelatedPerson.class } ) 761 public static final String SP_AUTHOR = "author"; 762 /** 763 * <b>Fluent Client</b> search parameter constant for <b>author</b> 764 * <p> 765 * Description: <b>Flag creator</b><br> 766 * Type: <b>reference</b><br> 767 * Path: <b>Flag.author</b><br> 768 * </p> 769 */ 770 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 771 772/** 773 * Constant for fluent queries to be used to add include statements. Specifies 774 * the path value of "<b>Flag:author</b>". 775 */ 776 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("Flag:author").toLocked(); 777 778 /** 779 * Search parameter: <b>category</b> 780 * <p> 781 * Description: <b>The category of the flag, such as clinical, administrative, etc.</b><br> 782 * Type: <b>token</b><br> 783 * Path: <b>Flag.category</b><br> 784 * </p> 785 */ 786 @SearchParamDefinition(name="category", path="Flag.category", description="The category of the flag, such as clinical, administrative, etc.", type="token" ) 787 public static final String SP_CATEGORY = "category"; 788 /** 789 * <b>Fluent Client</b> search parameter constant for <b>category</b> 790 * <p> 791 * Description: <b>The category of the flag, such as clinical, administrative, etc.</b><br> 792 * Type: <b>token</b><br> 793 * Path: <b>Flag.category</b><br> 794 * </p> 795 */ 796 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 797 798 /** 799 * Search parameter: <b>identifier</b> 800 * <p> 801 * Description: <b>Business identifier</b><br> 802 * Type: <b>token</b><br> 803 * Path: <b>Flag.identifier</b><br> 804 * </p> 805 */ 806 @SearchParamDefinition(name="identifier", path="Flag.identifier", description="Business identifier", type="token" ) 807 public static final String SP_IDENTIFIER = "identifier"; 808 /** 809 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 810 * <p> 811 * Description: <b>Business identifier</b><br> 812 * Type: <b>token</b><br> 813 * Path: <b>Flag.identifier</b><br> 814 * </p> 815 */ 816 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 817 818 /** 819 * Search parameter: <b>status</b> 820 * <p> 821 * Description: <b>active | inactive | entered-in-error</b><br> 822 * Type: <b>token</b><br> 823 * Path: <b>Flag.status</b><br> 824 * </p> 825 */ 826 @SearchParamDefinition(name="status", path="Flag.status", description="active | inactive | entered-in-error", type="token" ) 827 public static final String SP_STATUS = "status"; 828 /** 829 * <b>Fluent Client</b> search parameter constant for <b>status</b> 830 * <p> 831 * Description: <b>active | inactive | entered-in-error</b><br> 832 * Type: <b>token</b><br> 833 * Path: <b>Flag.status</b><br> 834 * </p> 835 */ 836 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 837 838 /** 839 * Search parameter: <b>subject</b> 840 * <p> 841 * Description: <b>The identity of a subject to list flags for</b><br> 842 * Type: <b>reference</b><br> 843 * Path: <b>Flag.subject</b><br> 844 * </p> 845 */ 846 @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, RelatedPerson.class } ) 847 public static final String SP_SUBJECT = "subject"; 848 /** 849 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 850 * <p> 851 * Description: <b>The identity of a subject to list flags for</b><br> 852 * Type: <b>reference</b><br> 853 * Path: <b>Flag.subject</b><br> 854 * </p> 855 */ 856 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 857 858/** 859 * Constant for fluent queries to be used to add include statements. Specifies 860 * the path value of "<b>Flag:subject</b>". 861 */ 862 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Flag:subject").toLocked(); 863 864 /** 865 * Search parameter: <b>date</b> 866 * <p> 867 * Description: <b>Multiple Resources: 868 869* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 870* [CarePlan](careplan.html): Time period plan covers 871* [CareTeam](careteam.html): A date within the coverage time period. 872* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 873* [Composition](composition.html): Composition editing time 874* [Consent](consent.html): When consent was agreed to 875* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 876* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 877* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 878* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 879* [Flag](flag.html): Time period when flag is active 880* [Immunization](immunization.html): Vaccination (non)-Administration Date 881* [List](list.html): When the list was prepared 882* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 883* [Procedure](procedure.html): When the procedure occurred or is occurring 884* [RiskAssessment](riskassessment.html): When was assessment made? 885* [SupplyRequest](supplyrequest.html): When the request was made 886</b><br> 887 * Type: <b>date</b><br> 888 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.as(dateTime) | DiagnosticReport.effective.as(Period) | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective.as(dateTime) | Observation.effective.as(Period) | Observation.effective.as(Timing) | Observation.effective.as(instant) | Procedure.occurrence.as(dateTime) | Procedure.occurrence.as(Period) | Procedure.occurrence.as(Timing) | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 889 * </p> 890 */ 891 @SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.as(dateTime) | DiagnosticReport.effective.as(Period) | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective.as(dateTime) | Observation.effective.as(Period) | Observation.effective.as(Timing) | Observation.effective.as(instant) | Procedure.occurrence.as(dateTime) | Procedure.occurrence.as(Period) | Procedure.occurrence.as(Timing) | (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" ) 892 public static final String SP_DATE = "date"; 893 /** 894 * <b>Fluent Client</b> search parameter constant for <b>date</b> 895 * <p> 896 * Description: <b>Multiple Resources: 897 898* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 899* [CarePlan](careplan.html): Time period plan covers 900* [CareTeam](careteam.html): A date within the coverage time period. 901* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 902* [Composition](composition.html): Composition editing time 903* [Consent](consent.html): When consent was agreed to 904* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 905* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 906* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 907* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 908* [Flag](flag.html): Time period when flag is active 909* [Immunization](immunization.html): Vaccination (non)-Administration Date 910* [List](list.html): When the list was prepared 911* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 912* [Procedure](procedure.html): When the procedure occurred or is occurring 913* [RiskAssessment](riskassessment.html): When was assessment made? 914* [SupplyRequest](supplyrequest.html): When the request was made 915</b><br> 916 * Type: <b>date</b><br> 917 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.as(dateTime) | DiagnosticReport.effective.as(Period) | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective.as(dateTime) | Observation.effective.as(Period) | Observation.effective.as(Timing) | Observation.effective.as(instant) | Procedure.occurrence.as(dateTime) | Procedure.occurrence.as(Period) | Procedure.occurrence.as(Timing) | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 918 * </p> 919 */ 920 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 921 922 /** 923 * Search parameter: <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* [Flag](flag.html): Alert relevant during encounter 931* [List](list.html): Context in which list created 932* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 933* [Observation](observation.html): Encounter related to the observation 934* [Procedure](procedure.html): The Encounter during which this Procedure was created 935* [RiskAssessment](riskassessment.html): Where was assessment performed? 936* [ServiceRequest](servicerequest.html): An encounter in which this request is made 937* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 938</b><br> 939 * Type: <b>reference</b><br> 940 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 941 * </p> 942 */ 943 @SearchParamDefinition(name="encounter", path="Composition.encounter | DeviceRequest.encounter | DiagnosticReport.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* [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 } ) 944 public static final String SP_ENCOUNTER = "encounter"; 945 /** 946 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 947 * <p> 948 * Description: <b>Multiple Resources: 949 950* [Composition](composition.html): Context of the Composition 951* [DeviceRequest](devicerequest.html): Encounter during which request was created 952* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 953* [Flag](flag.html): Alert relevant during encounter 954* [List](list.html): Context in which list created 955* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 956* [Observation](observation.html): Encounter related to the observation 957* [Procedure](procedure.html): The Encounter during which this Procedure was created 958* [RiskAssessment](riskassessment.html): Where was assessment performed? 959* [ServiceRequest](servicerequest.html): An encounter in which this request is made 960* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 961</b><br> 962 * Type: <b>reference</b><br> 963 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 964 * </p> 965 */ 966 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 967 968/** 969 * Constant for fluent queries to be used to add include statements. Specifies 970 * the path value of "<b>Flag:encounter</b>". 971 */ 972 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("Flag:encounter").toLocked(); 973 974 /** 975 * Search parameter: <b>patient</b> 976 * <p> 977 * Description: <b>Multiple Resources: 978 979* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 980* [CarePlan](careplan.html): Who the care plan is for 981* [CareTeam](careteam.html): Who care team is for 982* [ClinicalImpression](clinicalimpression.html): Patient assessed 983* [Composition](composition.html): Who and/or what the composition is about 984* [Condition](condition.html): Who has the condition? 985* [Consent](consent.html): Who the consent applies to 986* [DetectedIssue](detectedissue.html): Associated patient 987* [DeviceRequest](devicerequest.html): Individual the service is ordered for 988* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 989* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 990* [DocumentManifest](documentmanifest.html): The subject of the set of documents 991* [DocumentReference](documentreference.html): Who/what is the subject of the document 992* [Encounter](encounter.html): The patient present at the encounter 993* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 994* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 995* [Flag](flag.html): The identity of a subject to list flags for 996* [Goal](goal.html): Who this goal is intended for 997* [ImagingStudy](imagingstudy.html): Who the study is about 998* [Immunization](immunization.html): The patient for the vaccination record 999* [List](list.html): If all resources have the same subject 1000* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 1001* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 1002* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 1003* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 1004* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 1005* [Observation](observation.html): The subject that the observation is about (if patient) 1006* [Procedure](procedure.html): Search by subject - a patient 1007* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 1008* [ServiceRequest](servicerequest.html): Search by subject - a patient 1009* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 1010* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 1011* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 1012</b><br> 1013 * Type: <b>reference</b><br> 1014 * 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.subject | 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.subject.where(resolve() is 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 | SupplyRequest.deliverFor | VisionPrescription.patient</b><br> 1015 * </p> 1016 */ 1017 @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.subject | 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.subject.where(resolve() is 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 | SupplyRequest.deliverFor | 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 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* [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* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\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={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) 1018 public static final String SP_PATIENT = "patient"; 1019 /** 1020 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1021 * <p> 1022 * Description: <b>Multiple Resources: 1023 1024* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 1025* [CarePlan](careplan.html): Who the care plan is for 1026* [CareTeam](careteam.html): Who care team is for 1027* [ClinicalImpression](clinicalimpression.html): Patient assessed 1028* [Composition](composition.html): Who and/or what the composition is about 1029* [Condition](condition.html): Who has the condition? 1030* [Consent](consent.html): Who the consent applies to 1031* [DetectedIssue](detectedissue.html): Associated patient 1032* [DeviceRequest](devicerequest.html): Individual the service is ordered for 1033* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 1034* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 1035* [DocumentManifest](documentmanifest.html): The subject of the set of documents 1036* [DocumentReference](documentreference.html): Who/what is the subject of the document 1037* [Encounter](encounter.html): The patient present at the encounter 1038* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 1039* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 1040* [Flag](flag.html): The identity of a subject to list flags for 1041* [Goal](goal.html): Who this goal is intended for 1042* [ImagingStudy](imagingstudy.html): Who the study is about 1043* [Immunization](immunization.html): The patient for the vaccination record 1044* [List](list.html): If all resources have the same subject 1045* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 1046* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 1047* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 1048* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 1049* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 1050* [Observation](observation.html): The subject that the observation is about (if patient) 1051* [Procedure](procedure.html): Search by subject - a patient 1052* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 1053* [ServiceRequest](servicerequest.html): Search by subject - a patient 1054* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 1055* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 1056* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 1057</b><br> 1058 * Type: <b>reference</b><br> 1059 * 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.subject | 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.subject.where(resolve() is 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 | SupplyRequest.deliverFor | VisionPrescription.patient</b><br> 1060 * </p> 1061 */ 1062 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1063 1064/** 1065 * Constant for fluent queries to be used to add include statements. Specifies 1066 * the path value of "<b>Flag:patient</b>". 1067 */ 1068 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Flag:patient").toLocked(); 1069 1070 1071}