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 * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care. 052 */ 053@ResourceDef(name="CareTeam", profile="http://hl7.org/fhir/StructureDefinition/CareTeam") 054public class CareTeam extends DomainResource { 055 056 public enum CareTeamStatus { 057 /** 058 * The care team has been drafted and proposed, but not yet participating in the coordination and delivery of patient care. 059 */ 060 PROPOSED, 061 /** 062 * The care team is currently participating in the coordination and delivery of care. 063 */ 064 ACTIVE, 065 /** 066 * The care team is temporarily on hold or suspended and not participating in the coordination and delivery of care. 067 */ 068 SUSPENDED, 069 /** 070 * The care team was, but is no longer, participating in the coordination and delivery of care. 071 */ 072 INACTIVE, 073 /** 074 * The care team should have never existed. 075 */ 076 ENTEREDINERROR, 077 /** 078 * added to help the parsers with the generic types 079 */ 080 NULL; 081 public static CareTeamStatus fromCode(String codeString) throws FHIRException { 082 if (codeString == null || "".equals(codeString)) 083 return null; 084 if ("proposed".equals(codeString)) 085 return PROPOSED; 086 if ("active".equals(codeString)) 087 return ACTIVE; 088 if ("suspended".equals(codeString)) 089 return SUSPENDED; 090 if ("inactive".equals(codeString)) 091 return INACTIVE; 092 if ("entered-in-error".equals(codeString)) 093 return ENTEREDINERROR; 094 if (Configuration.isAcceptInvalidEnums()) 095 return null; 096 else 097 throw new FHIRException("Unknown CareTeamStatus code '"+codeString+"'"); 098 } 099 public String toCode() { 100 switch (this) { 101 case PROPOSED: return "proposed"; 102 case ACTIVE: return "active"; 103 case SUSPENDED: return "suspended"; 104 case INACTIVE: return "inactive"; 105 case ENTEREDINERROR: return "entered-in-error"; 106 default: return "?"; 107 } 108 } 109 public String getSystem() { 110 switch (this) { 111 case PROPOSED: return "http://hl7.org/fhir/care-team-status"; 112 case ACTIVE: return "http://hl7.org/fhir/care-team-status"; 113 case SUSPENDED: return "http://hl7.org/fhir/care-team-status"; 114 case INACTIVE: return "http://hl7.org/fhir/care-team-status"; 115 case ENTEREDINERROR: return "http://hl7.org/fhir/care-team-status"; 116 default: return "?"; 117 } 118 } 119 public String getDefinition() { 120 switch (this) { 121 case PROPOSED: return "The care team has been drafted and proposed, but not yet participating in the coordination and delivery of patient care."; 122 case ACTIVE: return "The care team is currently participating in the coordination and delivery of care."; 123 case SUSPENDED: return "The care team is temporarily on hold or suspended and not participating in the coordination and delivery of care."; 124 case INACTIVE: return "The care team was, but is no longer, participating in the coordination and delivery of care."; 125 case ENTEREDINERROR: return "The care team should have never existed."; 126 default: return "?"; 127 } 128 } 129 public String getDisplay() { 130 switch (this) { 131 case PROPOSED: return "Proposed"; 132 case ACTIVE: return "Active"; 133 case SUSPENDED: return "Suspended"; 134 case INACTIVE: return "Inactive"; 135 case ENTEREDINERROR: return "Entered in Error"; 136 default: return "?"; 137 } 138 } 139 } 140 141 public static class CareTeamStatusEnumFactory implements EnumFactory<CareTeamStatus> { 142 public CareTeamStatus fromCode(String codeString) throws IllegalArgumentException { 143 if (codeString == null || "".equals(codeString)) 144 if (codeString == null || "".equals(codeString)) 145 return null; 146 if ("proposed".equals(codeString)) 147 return CareTeamStatus.PROPOSED; 148 if ("active".equals(codeString)) 149 return CareTeamStatus.ACTIVE; 150 if ("suspended".equals(codeString)) 151 return CareTeamStatus.SUSPENDED; 152 if ("inactive".equals(codeString)) 153 return CareTeamStatus.INACTIVE; 154 if ("entered-in-error".equals(codeString)) 155 return CareTeamStatus.ENTEREDINERROR; 156 throw new IllegalArgumentException("Unknown CareTeamStatus code '"+codeString+"'"); 157 } 158 public Enumeration<CareTeamStatus> fromType(Base code) throws FHIRException { 159 if (code == null) 160 return null; 161 if (code.isEmpty()) 162 return new Enumeration<CareTeamStatus>(this); 163 String codeString = ((PrimitiveType) code).asStringValue(); 164 if (codeString == null || "".equals(codeString)) 165 return null; 166 if ("proposed".equals(codeString)) 167 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.PROPOSED); 168 if ("active".equals(codeString)) 169 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.ACTIVE); 170 if ("suspended".equals(codeString)) 171 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.SUSPENDED); 172 if ("inactive".equals(codeString)) 173 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.INACTIVE); 174 if ("entered-in-error".equals(codeString)) 175 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.ENTEREDINERROR); 176 throw new FHIRException("Unknown CareTeamStatus code '"+codeString+"'"); 177 } 178 public String toCode(CareTeamStatus code) { 179 if (code == CareTeamStatus.PROPOSED) 180 return "proposed"; 181 if (code == CareTeamStatus.ACTIVE) 182 return "active"; 183 if (code == CareTeamStatus.SUSPENDED) 184 return "suspended"; 185 if (code == CareTeamStatus.INACTIVE) 186 return "inactive"; 187 if (code == CareTeamStatus.ENTEREDINERROR) 188 return "entered-in-error"; 189 return "?"; 190 } 191 public String toSystem(CareTeamStatus code) { 192 return code.getSystem(); 193 } 194 } 195 196 @Block() 197 public static class CareTeamParticipantComponent extends BackboneElement implements IBaseBackboneElement { 198 /** 199 * Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc. 200 */ 201 @Child(name = "role", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) 202 @Description(shortDefinition="Type of involvement", formalDefinition="Indicates specific responsibility of an individual within the care team, such as \"Primary care physician\", \"Trained social worker counselor\", \"Caregiver\", etc." ) 203 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-role") 204 protected CodeableConcept role; 205 206 /** 207 * The specific person or organization who is participating/expected to participate in the care team. 208 */ 209 @Child(name = "member", type = {Practitioner.class, PractitionerRole.class, RelatedPerson.class, Patient.class, Organization.class, CareTeam.class}, order=2, min=0, max=1, modifier=false, summary=true) 210 @Description(shortDefinition="Who is involved", formalDefinition="The specific person or organization who is participating/expected to participate in the care team." ) 211 protected Reference member; 212 213 /** 214 * The organization of the practitioner. 215 */ 216 @Child(name = "onBehalfOf", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=true) 217 @Description(shortDefinition="Organization of the practitioner", formalDefinition="The organization of the practitioner." ) 218 protected Reference onBehalfOf; 219 220 /** 221 * When the member is generally available within this care team. 222 */ 223 @Child(name = "coverage", type = {Period.class, Timing.class}, order=4, min=0, max=1, modifier=false, summary=false) 224 @Description(shortDefinition="When the member is generally available within this care team", formalDefinition="When the member is generally available within this care team." ) 225 protected DataType coverage; 226 227 private static final long serialVersionUID = 192079749L; 228 229 /** 230 * Constructor 231 */ 232 public CareTeamParticipantComponent() { 233 super(); 234 } 235 236 /** 237 * @return {@link #role} (Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc.) 238 */ 239 public CodeableConcept getRole() { 240 if (this.role == null) 241 if (Configuration.errorOnAutoCreate()) 242 throw new Error("Attempt to auto-create CareTeamParticipantComponent.role"); 243 else if (Configuration.doAutoCreate()) 244 this.role = new CodeableConcept(); // cc 245 return this.role; 246 } 247 248 public boolean hasRole() { 249 return this.role != null && !this.role.isEmpty(); 250 } 251 252 /** 253 * @param value {@link #role} (Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc.) 254 */ 255 public CareTeamParticipantComponent setRole(CodeableConcept value) { 256 this.role = value; 257 return this; 258 } 259 260 /** 261 * @return {@link #member} (The specific person or organization who is participating/expected to participate in the care team.) 262 */ 263 public Reference getMember() { 264 if (this.member == null) 265 if (Configuration.errorOnAutoCreate()) 266 throw new Error("Attempt to auto-create CareTeamParticipantComponent.member"); 267 else if (Configuration.doAutoCreate()) 268 this.member = new Reference(); // cc 269 return this.member; 270 } 271 272 public boolean hasMember() { 273 return this.member != null && !this.member.isEmpty(); 274 } 275 276 /** 277 * @param value {@link #member} (The specific person or organization who is participating/expected to participate in the care team.) 278 */ 279 public CareTeamParticipantComponent setMember(Reference value) { 280 this.member = value; 281 return this; 282 } 283 284 /** 285 * @return {@link #onBehalfOf} (The organization of the practitioner.) 286 */ 287 public Reference getOnBehalfOf() { 288 if (this.onBehalfOf == null) 289 if (Configuration.errorOnAutoCreate()) 290 throw new Error("Attempt to auto-create CareTeamParticipantComponent.onBehalfOf"); 291 else if (Configuration.doAutoCreate()) 292 this.onBehalfOf = new Reference(); // cc 293 return this.onBehalfOf; 294 } 295 296 public boolean hasOnBehalfOf() { 297 return this.onBehalfOf != null && !this.onBehalfOf.isEmpty(); 298 } 299 300 /** 301 * @param value {@link #onBehalfOf} (The organization of the practitioner.) 302 */ 303 public CareTeamParticipantComponent setOnBehalfOf(Reference value) { 304 this.onBehalfOf = value; 305 return this; 306 } 307 308 /** 309 * @return {@link #coverage} (When the member is generally available within this care team.) 310 */ 311 public DataType getCoverage() { 312 return this.coverage; 313 } 314 315 /** 316 * @return {@link #coverage} (When the member is generally available within this care team.) 317 */ 318 public Period getCoveragePeriod() throws FHIRException { 319 if (this.coverage == null) 320 this.coverage = new Period(); 321 if (!(this.coverage instanceof Period)) 322 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.coverage.getClass().getName()+" was encountered"); 323 return (Period) this.coverage; 324 } 325 326 public boolean hasCoveragePeriod() { 327 return this != null && this.coverage instanceof Period; 328 } 329 330 /** 331 * @return {@link #coverage} (When the member is generally available within this care team.) 332 */ 333 public Timing getCoverageTiming() throws FHIRException { 334 if (this.coverage == null) 335 this.coverage = new Timing(); 336 if (!(this.coverage instanceof Timing)) 337 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.coverage.getClass().getName()+" was encountered"); 338 return (Timing) this.coverage; 339 } 340 341 public boolean hasCoverageTiming() { 342 return this != null && this.coverage instanceof Timing; 343 } 344 345 public boolean hasCoverage() { 346 return this.coverage != null && !this.coverage.isEmpty(); 347 } 348 349 /** 350 * @param value {@link #coverage} (When the member is generally available within this care team.) 351 */ 352 public CareTeamParticipantComponent setCoverage(DataType value) { 353 if (value != null && !(value instanceof Period || value instanceof Timing)) 354 throw new Error("Not the right type for CareTeam.participant.coverage[x]: "+value.fhirType()); 355 this.coverage = value; 356 return this; 357 } 358 359 protected void listChildren(List<Property> children) { 360 super.listChildren(children); 361 children.add(new Property("role", "CodeableConcept", "Indicates specific responsibility of an individual within the care team, such as \"Primary care physician\", \"Trained social worker counselor\", \"Caregiver\", etc.", 0, 1, role)); 362 children.add(new Property("member", "Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|Organization|CareTeam)", "The specific person or organization who is participating/expected to participate in the care team.", 0, 1, member)); 363 children.add(new Property("onBehalfOf", "Reference(Organization)", "The organization of the practitioner.", 0, 1, onBehalfOf)); 364 children.add(new Property("coverage[x]", "Period|Timing", "When the member is generally available within this care team.", 0, 1, coverage)); 365 } 366 367 @Override 368 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 369 switch (_hash) { 370 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Indicates specific responsibility of an individual within the care team, such as \"Primary care physician\", \"Trained social worker counselor\", \"Caregiver\", etc.", 0, 1, role); 371 case -1077769574: /*member*/ return new Property("member", "Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|Organization|CareTeam)", "The specific person or organization who is participating/expected to participate in the care team.", 0, 1, member); 372 case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Organization)", "The organization of the practitioner.", 0, 1, onBehalfOf); 373 case 227689880: /*coverage[x]*/ return new Property("coverage[x]", "Period|Timing", "When the member is generally available within this care team.", 0, 1, coverage); 374 case -351767064: /*coverage*/ return new Property("coverage[x]", "Period|Timing", "When the member is generally available within this care team.", 0, 1, coverage); 375 case 1024117193: /*coveragePeriod*/ return new Property("coverage[x]", "Period", "When the member is generally available within this care team.", 0, 1, coverage); 376 case 1142178898: /*coverageTiming*/ return new Property("coverage[x]", "Timing", "When the member is generally available within this care team.", 0, 1, coverage); 377 default: return super.getNamedProperty(_hash, _name, _checkValid); 378 } 379 380 } 381 382 @Override 383 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 384 switch (hash) { 385 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 386 case -1077769574: /*member*/ return this.member == null ? new Base[0] : new Base[] {this.member}; // Reference 387 case -14402964: /*onBehalfOf*/ return this.onBehalfOf == null ? new Base[0] : new Base[] {this.onBehalfOf}; // Reference 388 case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // DataType 389 default: return super.getProperty(hash, name, checkValid); 390 } 391 392 } 393 394 @Override 395 public Base setProperty(int hash, String name, Base value) throws FHIRException { 396 switch (hash) { 397 case 3506294: // role 398 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 399 return value; 400 case -1077769574: // member 401 this.member = TypeConvertor.castToReference(value); // Reference 402 return value; 403 case -14402964: // onBehalfOf 404 this.onBehalfOf = TypeConvertor.castToReference(value); // Reference 405 return value; 406 case -351767064: // coverage 407 this.coverage = TypeConvertor.castToType(value); // DataType 408 return value; 409 default: return super.setProperty(hash, name, value); 410 } 411 412 } 413 414 @Override 415 public Base setProperty(String name, Base value) throws FHIRException { 416 if (name.equals("role")) { 417 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 418 } else if (name.equals("member")) { 419 this.member = TypeConvertor.castToReference(value); // Reference 420 } else if (name.equals("onBehalfOf")) { 421 this.onBehalfOf = TypeConvertor.castToReference(value); // Reference 422 } else if (name.equals("coverage[x]")) { 423 this.coverage = TypeConvertor.castToType(value); // DataType 424 } else 425 return super.setProperty(name, value); 426 return value; 427 } 428 429 @Override 430 public Base makeProperty(int hash, String name) throws FHIRException { 431 switch (hash) { 432 case 3506294: return getRole(); 433 case -1077769574: return getMember(); 434 case -14402964: return getOnBehalfOf(); 435 case 227689880: return getCoverage(); 436 case -351767064: return getCoverage(); 437 default: return super.makeProperty(hash, name); 438 } 439 440 } 441 442 @Override 443 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 444 switch (hash) { 445 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 446 case -1077769574: /*member*/ return new String[] {"Reference"}; 447 case -14402964: /*onBehalfOf*/ return new String[] {"Reference"}; 448 case -351767064: /*coverage*/ return new String[] {"Period", "Timing"}; 449 default: return super.getTypesForProperty(hash, name); 450 } 451 452 } 453 454 @Override 455 public Base addChild(String name) throws FHIRException { 456 if (name.equals("role")) { 457 this.role = new CodeableConcept(); 458 return this.role; 459 } 460 else if (name.equals("member")) { 461 this.member = new Reference(); 462 return this.member; 463 } 464 else if (name.equals("onBehalfOf")) { 465 this.onBehalfOf = new Reference(); 466 return this.onBehalfOf; 467 } 468 else if (name.equals("coveragePeriod")) { 469 this.coverage = new Period(); 470 return this.coverage; 471 } 472 else if (name.equals("coverageTiming")) { 473 this.coverage = new Timing(); 474 return this.coverage; 475 } 476 else 477 return super.addChild(name); 478 } 479 480 public CareTeamParticipantComponent copy() { 481 CareTeamParticipantComponent dst = new CareTeamParticipantComponent(); 482 copyValues(dst); 483 return dst; 484 } 485 486 public void copyValues(CareTeamParticipantComponent dst) { 487 super.copyValues(dst); 488 dst.role = role == null ? null : role.copy(); 489 dst.member = member == null ? null : member.copy(); 490 dst.onBehalfOf = onBehalfOf == null ? null : onBehalfOf.copy(); 491 dst.coverage = coverage == null ? null : coverage.copy(); 492 } 493 494 @Override 495 public boolean equalsDeep(Base other_) { 496 if (!super.equalsDeep(other_)) 497 return false; 498 if (!(other_ instanceof CareTeamParticipantComponent)) 499 return false; 500 CareTeamParticipantComponent o = (CareTeamParticipantComponent) other_; 501 return compareDeep(role, o.role, true) && compareDeep(member, o.member, true) && compareDeep(onBehalfOf, o.onBehalfOf, true) 502 && compareDeep(coverage, o.coverage, true); 503 } 504 505 @Override 506 public boolean equalsShallow(Base other_) { 507 if (!super.equalsShallow(other_)) 508 return false; 509 if (!(other_ instanceof CareTeamParticipantComponent)) 510 return false; 511 CareTeamParticipantComponent o = (CareTeamParticipantComponent) other_; 512 return true; 513 } 514 515 public boolean isEmpty() { 516 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(role, member, onBehalfOf 517 , coverage); 518 } 519 520 public String fhirType() { 521 return "CareTeam.participant"; 522 523 } 524 525 } 526 527 /** 528 * Business identifiers assigned to this care team by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 529 */ 530 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 531 @Description(shortDefinition="External Ids for this team", formalDefinition="Business identifiers assigned to this care team by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 532 protected List<Identifier> identifier; 533 534 /** 535 * Indicates the current state of the care team. 536 */ 537 @Child(name = "status", type = {CodeType.class}, order=1, min=0, max=1, modifier=true, summary=true) 538 @Description(shortDefinition="proposed | active | suspended | inactive | entered-in-error", formalDefinition="Indicates the current state of the care team." ) 539 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-team-status") 540 protected Enumeration<CareTeamStatus> status; 541 542 /** 543 * Identifies what kind of team. This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team. 544 */ 545 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 546 @Description(shortDefinition="Type of team", formalDefinition="Identifies what kind of team. This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team." ) 547 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-team-category") 548 protected List<CodeableConcept> category; 549 550 /** 551 * A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams. 552 */ 553 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 554 @Description(shortDefinition="Name of the team, such as crisis assessment team", formalDefinition="A label for human use intended to distinguish like teams. E.g. the \"red\" vs. \"green\" trauma teams." ) 555 protected StringType name; 556 557 /** 558 * Identifies the patient or group whose intended care is handled by the team. 559 */ 560 @Child(name = "subject", type = {Patient.class, Group.class}, order=4, min=0, max=1, modifier=false, summary=true) 561 @Description(shortDefinition="Who care team is for", formalDefinition="Identifies the patient or group whose intended care is handled by the team." ) 562 protected Reference subject; 563 564 /** 565 * Indicates when the team did (or is intended to) come into effect and end. 566 */ 567 @Child(name = "period", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=true) 568 @Description(shortDefinition="Time period team covers", formalDefinition="Indicates when the team did (or is intended to) come into effect and end." ) 569 protected Period period; 570 571 /** 572 * Identifies all people and organizations who are expected to be involved in the care team. 573 */ 574 @Child(name = "participant", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 575 @Description(shortDefinition="Members of the team", formalDefinition="Identifies all people and organizations who are expected to be involved in the care team." ) 576 protected List<CareTeamParticipantComponent> participant; 577 578 /** 579 * Describes why the care team exists. 580 */ 581 @Child(name = "reason", type = {CodeableReference.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 582 @Description(shortDefinition="Why the care team exists", formalDefinition="Describes why the care team exists." ) 583 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 584 protected List<CodeableReference> reason; 585 586 /** 587 * The organization responsible for the care team. 588 */ 589 @Child(name = "managingOrganization", type = {Organization.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 590 @Description(shortDefinition="Organization responsible for the care team", formalDefinition="The organization responsible for the care team." ) 591 protected List<Reference> managingOrganization; 592 593 /** 594 * A central contact detail for the care team (that applies to all members). 595 */ 596 @Child(name = "telecom", type = {ContactPoint.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 597 @Description(shortDefinition="A contact detail for the care team (that applies to all members)", formalDefinition="A central contact detail for the care team (that applies to all members)." ) 598 protected List<ContactPoint> telecom; 599 600 /** 601 * Comments made about the CareTeam. 602 */ 603 @Child(name = "note", type = {Annotation.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 604 @Description(shortDefinition="Comments made about the CareTeam", formalDefinition="Comments made about the CareTeam." ) 605 protected List<Annotation> note; 606 607 private static final long serialVersionUID = 1147350970L; 608 609 /** 610 * Constructor 611 */ 612 public CareTeam() { 613 super(); 614 } 615 616 /** 617 * @return {@link #identifier} (Business identifiers assigned to this care team by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 618 */ 619 public List<Identifier> getIdentifier() { 620 if (this.identifier == null) 621 this.identifier = new ArrayList<Identifier>(); 622 return this.identifier; 623 } 624 625 /** 626 * @return Returns a reference to <code>this</code> for easy method chaining 627 */ 628 public CareTeam setIdentifier(List<Identifier> theIdentifier) { 629 this.identifier = theIdentifier; 630 return this; 631 } 632 633 public boolean hasIdentifier() { 634 if (this.identifier == null) 635 return false; 636 for (Identifier item : this.identifier) 637 if (!item.isEmpty()) 638 return true; 639 return false; 640 } 641 642 public Identifier addIdentifier() { //3 643 Identifier t = new Identifier(); 644 if (this.identifier == null) 645 this.identifier = new ArrayList<Identifier>(); 646 this.identifier.add(t); 647 return t; 648 } 649 650 public CareTeam addIdentifier(Identifier t) { //3 651 if (t == null) 652 return this; 653 if (this.identifier == null) 654 this.identifier = new ArrayList<Identifier>(); 655 this.identifier.add(t); 656 return this; 657 } 658 659 /** 660 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 661 */ 662 public Identifier getIdentifierFirstRep() { 663 if (getIdentifier().isEmpty()) { 664 addIdentifier(); 665 } 666 return getIdentifier().get(0); 667 } 668 669 /** 670 * @return {@link #status} (Indicates the current state of the care team.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 671 */ 672 public Enumeration<CareTeamStatus> getStatusElement() { 673 if (this.status == null) 674 if (Configuration.errorOnAutoCreate()) 675 throw new Error("Attempt to auto-create CareTeam.status"); 676 else if (Configuration.doAutoCreate()) 677 this.status = new Enumeration<CareTeamStatus>(new CareTeamStatusEnumFactory()); // bb 678 return this.status; 679 } 680 681 public boolean hasStatusElement() { 682 return this.status != null && !this.status.isEmpty(); 683 } 684 685 public boolean hasStatus() { 686 return this.status != null && !this.status.isEmpty(); 687 } 688 689 /** 690 * @param value {@link #status} (Indicates the current state of the care team.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 691 */ 692 public CareTeam setStatusElement(Enumeration<CareTeamStatus> value) { 693 this.status = value; 694 return this; 695 } 696 697 /** 698 * @return Indicates the current state of the care team. 699 */ 700 public CareTeamStatus getStatus() { 701 return this.status == null ? null : this.status.getValue(); 702 } 703 704 /** 705 * @param value Indicates the current state of the care team. 706 */ 707 public CareTeam setStatus(CareTeamStatus value) { 708 if (value == null) 709 this.status = null; 710 else { 711 if (this.status == null) 712 this.status = new Enumeration<CareTeamStatus>(new CareTeamStatusEnumFactory()); 713 this.status.setValue(value); 714 } 715 return this; 716 } 717 718 /** 719 * @return {@link #category} (Identifies what kind of team. This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team.) 720 */ 721 public List<CodeableConcept> getCategory() { 722 if (this.category == null) 723 this.category = new ArrayList<CodeableConcept>(); 724 return this.category; 725 } 726 727 /** 728 * @return Returns a reference to <code>this</code> for easy method chaining 729 */ 730 public CareTeam setCategory(List<CodeableConcept> theCategory) { 731 this.category = theCategory; 732 return this; 733 } 734 735 public boolean hasCategory() { 736 if (this.category == null) 737 return false; 738 for (CodeableConcept item : this.category) 739 if (!item.isEmpty()) 740 return true; 741 return false; 742 } 743 744 public CodeableConcept addCategory() { //3 745 CodeableConcept t = new CodeableConcept(); 746 if (this.category == null) 747 this.category = new ArrayList<CodeableConcept>(); 748 this.category.add(t); 749 return t; 750 } 751 752 public CareTeam addCategory(CodeableConcept t) { //3 753 if (t == null) 754 return this; 755 if (this.category == null) 756 this.category = new ArrayList<CodeableConcept>(); 757 this.category.add(t); 758 return this; 759 } 760 761 /** 762 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 763 */ 764 public CodeableConcept getCategoryFirstRep() { 765 if (getCategory().isEmpty()) { 766 addCategory(); 767 } 768 return getCategory().get(0); 769 } 770 771 /** 772 * @return {@link #name} (A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 773 */ 774 public StringType getNameElement() { 775 if (this.name == null) 776 if (Configuration.errorOnAutoCreate()) 777 throw new Error("Attempt to auto-create CareTeam.name"); 778 else if (Configuration.doAutoCreate()) 779 this.name = new StringType(); // bb 780 return this.name; 781 } 782 783 public boolean hasNameElement() { 784 return this.name != null && !this.name.isEmpty(); 785 } 786 787 public boolean hasName() { 788 return this.name != null && !this.name.isEmpty(); 789 } 790 791 /** 792 * @param value {@link #name} (A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 793 */ 794 public CareTeam setNameElement(StringType value) { 795 this.name = value; 796 return this; 797 } 798 799 /** 800 * @return A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams. 801 */ 802 public String getName() { 803 return this.name == null ? null : this.name.getValue(); 804 } 805 806 /** 807 * @param value A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams. 808 */ 809 public CareTeam setName(String value) { 810 if (Utilities.noString(value)) 811 this.name = null; 812 else { 813 if (this.name == null) 814 this.name = new StringType(); 815 this.name.setValue(value); 816 } 817 return this; 818 } 819 820 /** 821 * @return {@link #subject} (Identifies the patient or group whose intended care is handled by the team.) 822 */ 823 public Reference getSubject() { 824 if (this.subject == null) 825 if (Configuration.errorOnAutoCreate()) 826 throw new Error("Attempt to auto-create CareTeam.subject"); 827 else if (Configuration.doAutoCreate()) 828 this.subject = new Reference(); // cc 829 return this.subject; 830 } 831 832 public boolean hasSubject() { 833 return this.subject != null && !this.subject.isEmpty(); 834 } 835 836 /** 837 * @param value {@link #subject} (Identifies the patient or group whose intended care is handled by the team.) 838 */ 839 public CareTeam setSubject(Reference value) { 840 this.subject = value; 841 return this; 842 } 843 844 /** 845 * @return {@link #period} (Indicates when the team did (or is intended to) come into effect and end.) 846 */ 847 public Period getPeriod() { 848 if (this.period == null) 849 if (Configuration.errorOnAutoCreate()) 850 throw new Error("Attempt to auto-create CareTeam.period"); 851 else if (Configuration.doAutoCreate()) 852 this.period = new Period(); // cc 853 return this.period; 854 } 855 856 public boolean hasPeriod() { 857 return this.period != null && !this.period.isEmpty(); 858 } 859 860 /** 861 * @param value {@link #period} (Indicates when the team did (or is intended to) come into effect and end.) 862 */ 863 public CareTeam setPeriod(Period value) { 864 this.period = value; 865 return this; 866 } 867 868 /** 869 * @return {@link #participant} (Identifies all people and organizations who are expected to be involved in the care team.) 870 */ 871 public List<CareTeamParticipantComponent> getParticipant() { 872 if (this.participant == null) 873 this.participant = new ArrayList<CareTeamParticipantComponent>(); 874 return this.participant; 875 } 876 877 /** 878 * @return Returns a reference to <code>this</code> for easy method chaining 879 */ 880 public CareTeam setParticipant(List<CareTeamParticipantComponent> theParticipant) { 881 this.participant = theParticipant; 882 return this; 883 } 884 885 public boolean hasParticipant() { 886 if (this.participant == null) 887 return false; 888 for (CareTeamParticipantComponent item : this.participant) 889 if (!item.isEmpty()) 890 return true; 891 return false; 892 } 893 894 public CareTeamParticipantComponent addParticipant() { //3 895 CareTeamParticipantComponent t = new CareTeamParticipantComponent(); 896 if (this.participant == null) 897 this.participant = new ArrayList<CareTeamParticipantComponent>(); 898 this.participant.add(t); 899 return t; 900 } 901 902 public CareTeam addParticipant(CareTeamParticipantComponent t) { //3 903 if (t == null) 904 return this; 905 if (this.participant == null) 906 this.participant = new ArrayList<CareTeamParticipantComponent>(); 907 this.participant.add(t); 908 return this; 909 } 910 911 /** 912 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist {3} 913 */ 914 public CareTeamParticipantComponent getParticipantFirstRep() { 915 if (getParticipant().isEmpty()) { 916 addParticipant(); 917 } 918 return getParticipant().get(0); 919 } 920 921 /** 922 * @return {@link #reason} (Describes why the care team exists.) 923 */ 924 public List<CodeableReference> getReason() { 925 if (this.reason == null) 926 this.reason = new ArrayList<CodeableReference>(); 927 return this.reason; 928 } 929 930 /** 931 * @return Returns a reference to <code>this</code> for easy method chaining 932 */ 933 public CareTeam setReason(List<CodeableReference> theReason) { 934 this.reason = theReason; 935 return this; 936 } 937 938 public boolean hasReason() { 939 if (this.reason == null) 940 return false; 941 for (CodeableReference item : this.reason) 942 if (!item.isEmpty()) 943 return true; 944 return false; 945 } 946 947 public CodeableReference addReason() { //3 948 CodeableReference t = new CodeableReference(); 949 if (this.reason == null) 950 this.reason = new ArrayList<CodeableReference>(); 951 this.reason.add(t); 952 return t; 953 } 954 955 public CareTeam addReason(CodeableReference t) { //3 956 if (t == null) 957 return this; 958 if (this.reason == null) 959 this.reason = new ArrayList<CodeableReference>(); 960 this.reason.add(t); 961 return this; 962 } 963 964 /** 965 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 966 */ 967 public CodeableReference getReasonFirstRep() { 968 if (getReason().isEmpty()) { 969 addReason(); 970 } 971 return getReason().get(0); 972 } 973 974 /** 975 * @return {@link #managingOrganization} (The organization responsible for the care team.) 976 */ 977 public List<Reference> getManagingOrganization() { 978 if (this.managingOrganization == null) 979 this.managingOrganization = new ArrayList<Reference>(); 980 return this.managingOrganization; 981 } 982 983 /** 984 * @return Returns a reference to <code>this</code> for easy method chaining 985 */ 986 public CareTeam setManagingOrganization(List<Reference> theManagingOrganization) { 987 this.managingOrganization = theManagingOrganization; 988 return this; 989 } 990 991 public boolean hasManagingOrganization() { 992 if (this.managingOrganization == null) 993 return false; 994 for (Reference item : this.managingOrganization) 995 if (!item.isEmpty()) 996 return true; 997 return false; 998 } 999 1000 public Reference addManagingOrganization() { //3 1001 Reference t = new Reference(); 1002 if (this.managingOrganization == null) 1003 this.managingOrganization = new ArrayList<Reference>(); 1004 this.managingOrganization.add(t); 1005 return t; 1006 } 1007 1008 public CareTeam addManagingOrganization(Reference t) { //3 1009 if (t == null) 1010 return this; 1011 if (this.managingOrganization == null) 1012 this.managingOrganization = new ArrayList<Reference>(); 1013 this.managingOrganization.add(t); 1014 return this; 1015 } 1016 1017 /** 1018 * @return The first repetition of repeating field {@link #managingOrganization}, creating it if it does not already exist {3} 1019 */ 1020 public Reference getManagingOrganizationFirstRep() { 1021 if (getManagingOrganization().isEmpty()) { 1022 addManagingOrganization(); 1023 } 1024 return getManagingOrganization().get(0); 1025 } 1026 1027 /** 1028 * @return {@link #telecom} (A central contact detail for the care team (that applies to all members).) 1029 */ 1030 public List<ContactPoint> getTelecom() { 1031 if (this.telecom == null) 1032 this.telecom = new ArrayList<ContactPoint>(); 1033 return this.telecom; 1034 } 1035 1036 /** 1037 * @return Returns a reference to <code>this</code> for easy method chaining 1038 */ 1039 public CareTeam setTelecom(List<ContactPoint> theTelecom) { 1040 this.telecom = theTelecom; 1041 return this; 1042 } 1043 1044 public boolean hasTelecom() { 1045 if (this.telecom == null) 1046 return false; 1047 for (ContactPoint item : this.telecom) 1048 if (!item.isEmpty()) 1049 return true; 1050 return false; 1051 } 1052 1053 public ContactPoint addTelecom() { //3 1054 ContactPoint t = new ContactPoint(); 1055 if (this.telecom == null) 1056 this.telecom = new ArrayList<ContactPoint>(); 1057 this.telecom.add(t); 1058 return t; 1059 } 1060 1061 public CareTeam addTelecom(ContactPoint t) { //3 1062 if (t == null) 1063 return this; 1064 if (this.telecom == null) 1065 this.telecom = new ArrayList<ContactPoint>(); 1066 this.telecom.add(t); 1067 return this; 1068 } 1069 1070 /** 1071 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} 1072 */ 1073 public ContactPoint getTelecomFirstRep() { 1074 if (getTelecom().isEmpty()) { 1075 addTelecom(); 1076 } 1077 return getTelecom().get(0); 1078 } 1079 1080 /** 1081 * @return {@link #note} (Comments made about the CareTeam.) 1082 */ 1083 public List<Annotation> getNote() { 1084 if (this.note == null) 1085 this.note = new ArrayList<Annotation>(); 1086 return this.note; 1087 } 1088 1089 /** 1090 * @return Returns a reference to <code>this</code> for easy method chaining 1091 */ 1092 public CareTeam setNote(List<Annotation> theNote) { 1093 this.note = theNote; 1094 return this; 1095 } 1096 1097 public boolean hasNote() { 1098 if (this.note == null) 1099 return false; 1100 for (Annotation item : this.note) 1101 if (!item.isEmpty()) 1102 return true; 1103 return false; 1104 } 1105 1106 public Annotation addNote() { //3 1107 Annotation t = new Annotation(); 1108 if (this.note == null) 1109 this.note = new ArrayList<Annotation>(); 1110 this.note.add(t); 1111 return t; 1112 } 1113 1114 public CareTeam addNote(Annotation t) { //3 1115 if (t == null) 1116 return this; 1117 if (this.note == null) 1118 this.note = new ArrayList<Annotation>(); 1119 this.note.add(t); 1120 return this; 1121 } 1122 1123 /** 1124 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1125 */ 1126 public Annotation getNoteFirstRep() { 1127 if (getNote().isEmpty()) { 1128 addNote(); 1129 } 1130 return getNote().get(0); 1131 } 1132 1133 protected void listChildren(List<Property> children) { 1134 super.listChildren(children); 1135 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this care team 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)); 1136 children.add(new Property("status", "code", "Indicates the current state of the care team.", 0, 1, status)); 1137 children.add(new Property("category", "CodeableConcept", "Identifies what kind of team. This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team.", 0, java.lang.Integer.MAX_VALUE, category)); 1138 children.add(new Property("name", "string", "A label for human use intended to distinguish like teams. E.g. the \"red\" vs. \"green\" trauma teams.", 0, 1, name)); 1139 children.add(new Property("subject", "Reference(Patient|Group)", "Identifies the patient or group whose intended care is handled by the team.", 0, 1, subject)); 1140 children.add(new Property("period", "Period", "Indicates when the team did (or is intended to) come into effect and end.", 0, 1, period)); 1141 children.add(new Property("participant", "", "Identifies all people and organizations who are expected to be involved in the care team.", 0, java.lang.Integer.MAX_VALUE, participant)); 1142 children.add(new Property("reason", "CodeableReference(Condition)", "Describes why the care team exists.", 0, java.lang.Integer.MAX_VALUE, reason)); 1143 children.add(new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the care team.", 0, java.lang.Integer.MAX_VALUE, managingOrganization)); 1144 children.add(new Property("telecom", "ContactPoint", "A central contact detail for the care team (that applies to all members).", 0, java.lang.Integer.MAX_VALUE, telecom)); 1145 children.add(new Property("note", "Annotation", "Comments made about the CareTeam.", 0, java.lang.Integer.MAX_VALUE, note)); 1146 } 1147 1148 @Override 1149 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1150 switch (_hash) { 1151 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this care team 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); 1152 case -892481550: /*status*/ return new Property("status", "code", "Indicates the current state of the care team.", 0, 1, status); 1153 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Identifies what kind of team. This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team.", 0, java.lang.Integer.MAX_VALUE, category); 1154 case 3373707: /*name*/ return new Property("name", "string", "A label for human use intended to distinguish like teams. E.g. the \"red\" vs. \"green\" trauma teams.", 0, 1, name); 1155 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "Identifies the patient or group whose intended care is handled by the team.", 0, 1, subject); 1156 case -991726143: /*period*/ return new Property("period", "Period", "Indicates when the team did (or is intended to) come into effect and end.", 0, 1, period); 1157 case 767422259: /*participant*/ return new Property("participant", "", "Identifies all people and organizations who are expected to be involved in the care team.", 0, java.lang.Integer.MAX_VALUE, participant); 1158 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition)", "Describes why the care team exists.", 0, java.lang.Integer.MAX_VALUE, reason); 1159 case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the care team.", 0, java.lang.Integer.MAX_VALUE, managingOrganization); 1160 case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "A central contact detail for the care team (that applies to all members).", 0, java.lang.Integer.MAX_VALUE, telecom); 1161 case 3387378: /*note*/ return new Property("note", "Annotation", "Comments made about the CareTeam.", 0, java.lang.Integer.MAX_VALUE, note); 1162 default: return super.getNamedProperty(_hash, _name, _checkValid); 1163 } 1164 1165 } 1166 1167 @Override 1168 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1169 switch (hash) { 1170 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1171 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<CareTeamStatus> 1172 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1173 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1174 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1175 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 1176 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // CareTeamParticipantComponent 1177 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 1178 case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : this.managingOrganization.toArray(new Base[this.managingOrganization.size()]); // Reference 1179 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 1180 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1181 default: return super.getProperty(hash, name, checkValid); 1182 } 1183 1184 } 1185 1186 @Override 1187 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1188 switch (hash) { 1189 case -1618432855: // identifier 1190 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1191 return value; 1192 case -892481550: // status 1193 value = new CareTeamStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1194 this.status = (Enumeration) value; // Enumeration<CareTeamStatus> 1195 return value; 1196 case 50511102: // category 1197 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1198 return value; 1199 case 3373707: // name 1200 this.name = TypeConvertor.castToString(value); // StringType 1201 return value; 1202 case -1867885268: // subject 1203 this.subject = TypeConvertor.castToReference(value); // Reference 1204 return value; 1205 case -991726143: // period 1206 this.period = TypeConvertor.castToPeriod(value); // Period 1207 return value; 1208 case 767422259: // participant 1209 this.getParticipant().add((CareTeamParticipantComponent) value); // CareTeamParticipantComponent 1210 return value; 1211 case -934964668: // reason 1212 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 1213 return value; 1214 case -2058947787: // managingOrganization 1215 this.getManagingOrganization().add(TypeConvertor.castToReference(value)); // Reference 1216 return value; 1217 case -1429363305: // telecom 1218 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint 1219 return value; 1220 case 3387378: // note 1221 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1222 return value; 1223 default: return super.setProperty(hash, name, value); 1224 } 1225 1226 } 1227 1228 @Override 1229 public Base setProperty(String name, Base value) throws FHIRException { 1230 if (name.equals("identifier")) { 1231 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1232 } else if (name.equals("status")) { 1233 value = new CareTeamStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1234 this.status = (Enumeration) value; // Enumeration<CareTeamStatus> 1235 } else if (name.equals("category")) { 1236 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 1237 } else if (name.equals("name")) { 1238 this.name = TypeConvertor.castToString(value); // StringType 1239 } else if (name.equals("subject")) { 1240 this.subject = TypeConvertor.castToReference(value); // Reference 1241 } else if (name.equals("period")) { 1242 this.period = TypeConvertor.castToPeriod(value); // Period 1243 } else if (name.equals("participant")) { 1244 this.getParticipant().add((CareTeamParticipantComponent) value); 1245 } else if (name.equals("reason")) { 1246 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 1247 } else if (name.equals("managingOrganization")) { 1248 this.getManagingOrganization().add(TypeConvertor.castToReference(value)); 1249 } else if (name.equals("telecom")) { 1250 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); 1251 } else if (name.equals("note")) { 1252 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1253 } else 1254 return super.setProperty(name, value); 1255 return value; 1256 } 1257 1258 @Override 1259 public Base makeProperty(int hash, String name) throws FHIRException { 1260 switch (hash) { 1261 case -1618432855: return addIdentifier(); 1262 case -892481550: return getStatusElement(); 1263 case 50511102: return addCategory(); 1264 case 3373707: return getNameElement(); 1265 case -1867885268: return getSubject(); 1266 case -991726143: return getPeriod(); 1267 case 767422259: return addParticipant(); 1268 case -934964668: return addReason(); 1269 case -2058947787: return addManagingOrganization(); 1270 case -1429363305: return addTelecom(); 1271 case 3387378: return addNote(); 1272 default: return super.makeProperty(hash, name); 1273 } 1274 1275 } 1276 1277 @Override 1278 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1279 switch (hash) { 1280 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1281 case -892481550: /*status*/ return new String[] {"code"}; 1282 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1283 case 3373707: /*name*/ return new String[] {"string"}; 1284 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1285 case -991726143: /*period*/ return new String[] {"Period"}; 1286 case 767422259: /*participant*/ return new String[] {}; 1287 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 1288 case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; 1289 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 1290 case 3387378: /*note*/ return new String[] {"Annotation"}; 1291 default: return super.getTypesForProperty(hash, name); 1292 } 1293 1294 } 1295 1296 @Override 1297 public Base addChild(String name) throws FHIRException { 1298 if (name.equals("identifier")) { 1299 return addIdentifier(); 1300 } 1301 else if (name.equals("status")) { 1302 throw new FHIRException("Cannot call addChild on a primitive type CareTeam.status"); 1303 } 1304 else if (name.equals("category")) { 1305 return addCategory(); 1306 } 1307 else if (name.equals("name")) { 1308 throw new FHIRException("Cannot call addChild on a primitive type CareTeam.name"); 1309 } 1310 else if (name.equals("subject")) { 1311 this.subject = new Reference(); 1312 return this.subject; 1313 } 1314 else if (name.equals("period")) { 1315 this.period = new Period(); 1316 return this.period; 1317 } 1318 else if (name.equals("participant")) { 1319 return addParticipant(); 1320 } 1321 else if (name.equals("reason")) { 1322 return addReason(); 1323 } 1324 else if (name.equals("managingOrganization")) { 1325 return addManagingOrganization(); 1326 } 1327 else if (name.equals("telecom")) { 1328 return addTelecom(); 1329 } 1330 else if (name.equals("note")) { 1331 return addNote(); 1332 } 1333 else 1334 return super.addChild(name); 1335 } 1336 1337 public String fhirType() { 1338 return "CareTeam"; 1339 1340 } 1341 1342 public CareTeam copy() { 1343 CareTeam dst = new CareTeam(); 1344 copyValues(dst); 1345 return dst; 1346 } 1347 1348 public void copyValues(CareTeam dst) { 1349 super.copyValues(dst); 1350 if (identifier != null) { 1351 dst.identifier = new ArrayList<Identifier>(); 1352 for (Identifier i : identifier) 1353 dst.identifier.add(i.copy()); 1354 }; 1355 dst.status = status == null ? null : status.copy(); 1356 if (category != null) { 1357 dst.category = new ArrayList<CodeableConcept>(); 1358 for (CodeableConcept i : category) 1359 dst.category.add(i.copy()); 1360 }; 1361 dst.name = name == null ? null : name.copy(); 1362 dst.subject = subject == null ? null : subject.copy(); 1363 dst.period = period == null ? null : period.copy(); 1364 if (participant != null) { 1365 dst.participant = new ArrayList<CareTeamParticipantComponent>(); 1366 for (CareTeamParticipantComponent i : participant) 1367 dst.participant.add(i.copy()); 1368 }; 1369 if (reason != null) { 1370 dst.reason = new ArrayList<CodeableReference>(); 1371 for (CodeableReference i : reason) 1372 dst.reason.add(i.copy()); 1373 }; 1374 if (managingOrganization != null) { 1375 dst.managingOrganization = new ArrayList<Reference>(); 1376 for (Reference i : managingOrganization) 1377 dst.managingOrganization.add(i.copy()); 1378 }; 1379 if (telecom != null) { 1380 dst.telecom = new ArrayList<ContactPoint>(); 1381 for (ContactPoint i : telecom) 1382 dst.telecom.add(i.copy()); 1383 }; 1384 if (note != null) { 1385 dst.note = new ArrayList<Annotation>(); 1386 for (Annotation i : note) 1387 dst.note.add(i.copy()); 1388 }; 1389 } 1390 1391 protected CareTeam typedCopy() { 1392 return copy(); 1393 } 1394 1395 @Override 1396 public boolean equalsDeep(Base other_) { 1397 if (!super.equalsDeep(other_)) 1398 return false; 1399 if (!(other_ instanceof CareTeam)) 1400 return false; 1401 CareTeam o = (CareTeam) other_; 1402 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true) 1403 && compareDeep(name, o.name, true) && compareDeep(subject, o.subject, true) && compareDeep(period, o.period, true) 1404 && compareDeep(participant, o.participant, true) && compareDeep(reason, o.reason, true) && compareDeep(managingOrganization, o.managingOrganization, true) 1405 && compareDeep(telecom, o.telecom, true) && compareDeep(note, o.note, true); 1406 } 1407 1408 @Override 1409 public boolean equalsShallow(Base other_) { 1410 if (!super.equalsShallow(other_)) 1411 return false; 1412 if (!(other_ instanceof CareTeam)) 1413 return false; 1414 CareTeam o = (CareTeam) other_; 1415 return compareValues(status, o.status, true) && compareValues(name, o.name, true); 1416 } 1417 1418 public boolean isEmpty() { 1419 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category 1420 , name, subject, period, participant, reason, managingOrganization, telecom, note 1421 ); 1422 } 1423 1424 @Override 1425 public ResourceType getResourceType() { 1426 return ResourceType.CareTeam; 1427 } 1428 1429 /** 1430 * Search parameter: <b>category</b> 1431 * <p> 1432 * Description: <b>Type of team</b><br> 1433 * Type: <b>token</b><br> 1434 * Path: <b>CareTeam.category</b><br> 1435 * </p> 1436 */ 1437 @SearchParamDefinition(name="category", path="CareTeam.category", description="Type of team", type="token" ) 1438 public static final String SP_CATEGORY = "category"; 1439 /** 1440 * <b>Fluent Client</b> search parameter constant for <b>category</b> 1441 * <p> 1442 * Description: <b>Type of team</b><br> 1443 * Type: <b>token</b><br> 1444 * Path: <b>CareTeam.category</b><br> 1445 * </p> 1446 */ 1447 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 1448 1449 /** 1450 * Search parameter: <b>name</b> 1451 * <p> 1452 * Description: <b>Name of the team, such as crisis assessment team</b><br> 1453 * Type: <b>string</b><br> 1454 * Path: <b>CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias')</b><br> 1455 * </p> 1456 */ 1457 @SearchParamDefinition(name="name", path="CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias')", description="Name of the team, such as crisis assessment team", type="string" ) 1458 public static final String SP_NAME = "name"; 1459 /** 1460 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1461 * <p> 1462 * Description: <b>Name of the team, such as crisis assessment team</b><br> 1463 * Type: <b>string</b><br> 1464 * Path: <b>CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias')</b><br> 1465 * </p> 1466 */ 1467 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1468 1469 /** 1470 * Search parameter: <b>participant</b> 1471 * <p> 1472 * Description: <b>Who is involved</b><br> 1473 * Type: <b>reference</b><br> 1474 * Path: <b>CareTeam.participant.member</b><br> 1475 * </p> 1476 */ 1477 @SearchParamDefinition(name="participant", path="CareTeam.participant.member", description="Who is involved", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CareTeam.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 1478 public static final String SP_PARTICIPANT = "participant"; 1479 /** 1480 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 1481 * <p> 1482 * Description: <b>Who is involved</b><br> 1483 * Type: <b>reference</b><br> 1484 * Path: <b>CareTeam.participant.member</b><br> 1485 * </p> 1486 */ 1487 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); 1488 1489/** 1490 * Constant for fluent queries to be used to add include statements. Specifies 1491 * the path value of "<b>CareTeam:participant</b>". 1492 */ 1493 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("CareTeam:participant").toLocked(); 1494 1495 /** 1496 * Search parameter: <b>status</b> 1497 * <p> 1498 * Description: <b>proposed | active | suspended | inactive | entered-in-error</b><br> 1499 * Type: <b>token</b><br> 1500 * Path: <b>CareTeam.status</b><br> 1501 * </p> 1502 */ 1503 @SearchParamDefinition(name="status", path="CareTeam.status", description="proposed | active | suspended | inactive | entered-in-error", type="token" ) 1504 public static final String SP_STATUS = "status"; 1505 /** 1506 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1507 * <p> 1508 * Description: <b>proposed | active | suspended | inactive | entered-in-error</b><br> 1509 * Type: <b>token</b><br> 1510 * Path: <b>CareTeam.status</b><br> 1511 * </p> 1512 */ 1513 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1514 1515 /** 1516 * Search parameter: <b>subject</b> 1517 * <p> 1518 * Description: <b>Who care team is for</b><br> 1519 * Type: <b>reference</b><br> 1520 * Path: <b>CareTeam.subject</b><br> 1521 * </p> 1522 */ 1523 @SearchParamDefinition(name="subject", path="CareTeam.subject", description="Who care team is for", type="reference", target={Group.class, Patient.class } ) 1524 public static final String SP_SUBJECT = "subject"; 1525 /** 1526 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1527 * <p> 1528 * Description: <b>Who care team is for</b><br> 1529 * Type: <b>reference</b><br> 1530 * Path: <b>CareTeam.subject</b><br> 1531 * </p> 1532 */ 1533 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1534 1535/** 1536 * Constant for fluent queries to be used to add include statements. Specifies 1537 * the path value of "<b>CareTeam:subject</b>". 1538 */ 1539 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("CareTeam:subject").toLocked(); 1540 1541 /** 1542 * Search parameter: <b>date</b> 1543 * <p> 1544 * Description: <b>Multiple Resources: 1545 1546* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 1547* [CarePlan](careplan.html): Time period plan covers 1548* [CareTeam](careteam.html): A date within the coverage time period. 1549* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 1550* [Composition](composition.html): Composition editing time 1551* [Consent](consent.html): When consent was agreed to 1552* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 1553* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 1554* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 1555* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 1556* [Flag](flag.html): Time period when flag is active 1557* [Immunization](immunization.html): Vaccination (non)-Administration Date 1558* [List](list.html): When the list was prepared 1559* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 1560* [Procedure](procedure.html): When the procedure occurred or is occurring 1561* [RiskAssessment](riskassessment.html): When was assessment made? 1562* [SupplyRequest](supplyrequest.html): When the request was made 1563</b><br> 1564 * Type: <b>date</b><br> 1565 * 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> 1566 * </p> 1567 */ 1568 @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" ) 1569 public static final String SP_DATE = "date"; 1570 /** 1571 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1572 * <p> 1573 * Description: <b>Multiple Resources: 1574 1575* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 1576* [CarePlan](careplan.html): Time period plan covers 1577* [CareTeam](careteam.html): A date within the coverage time period. 1578* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 1579* [Composition](composition.html): Composition editing time 1580* [Consent](consent.html): When consent was agreed to 1581* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 1582* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 1583* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 1584* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 1585* [Flag](flag.html): Time period when flag is active 1586* [Immunization](immunization.html): Vaccination (non)-Administration Date 1587* [List](list.html): When the list was prepared 1588* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 1589* [Procedure](procedure.html): When the procedure occurred or is occurring 1590* [RiskAssessment](riskassessment.html): When was assessment made? 1591* [SupplyRequest](supplyrequest.html): When the request was made 1592</b><br> 1593 * Type: <b>date</b><br> 1594 * 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> 1595 * </p> 1596 */ 1597 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1598 1599 /** 1600 * Search parameter: <b>identifier</b> 1601 * <p> 1602 * Description: <b>Multiple Resources: 1603 1604* [AllergyIntolerance](allergyintolerance.html): External ids for this item 1605* [CarePlan](careplan.html): External Ids for this plan 1606* [CareTeam](careteam.html): External Ids for this team 1607* [Composition](composition.html): Version-independent identifier for the Composition 1608* [Condition](condition.html): A unique identifier of the condition record 1609* [Consent](consent.html): Identifier for this record (external references) 1610* [DetectedIssue](detectedissue.html): Unique id for the detected issue 1611* [DeviceRequest](devicerequest.html): Business identifier for request/order 1612* [DiagnosticReport](diagnosticreport.html): An identifier for the report 1613* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 1614* [DocumentReference](documentreference.html): Identifier of the attachment binary 1615* [Encounter](encounter.html): Identifier(s) by which this encounter is known 1616* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 1617* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 1618* [Goal](goal.html): External Ids for this goal 1619* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 1620* [Immunization](immunization.html): Business identifier 1621* [List](list.html): Business identifier 1622* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 1623* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 1624* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 1625* [MedicationUsage](medicationusage.html): Return statements with this external identifier 1626* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 1627* [Observation](observation.html): The unique id for a particular observation 1628* [Procedure](procedure.html): A unique identifier for a procedure 1629* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 1630* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 1631* [SupplyDelivery](supplydelivery.html): External identifier 1632* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 1633* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 1634</b><br> 1635 * Type: <b>token</b><br> 1636 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 1637 * </p> 1638 */ 1639 @SearchParamDefinition(name="identifier", path="AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationUsage](medicationusage.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 1640 public static final String SP_IDENTIFIER = "identifier"; 1641 /** 1642 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1643 * <p> 1644 * Description: <b>Multiple Resources: 1645 1646* [AllergyIntolerance](allergyintolerance.html): External ids for this item 1647* [CarePlan](careplan.html): External Ids for this plan 1648* [CareTeam](careteam.html): External Ids for this team 1649* [Composition](composition.html): Version-independent identifier for the Composition 1650* [Condition](condition.html): A unique identifier of the condition record 1651* [Consent](consent.html): Identifier for this record (external references) 1652* [DetectedIssue](detectedissue.html): Unique id for the detected issue 1653* [DeviceRequest](devicerequest.html): Business identifier for request/order 1654* [DiagnosticReport](diagnosticreport.html): An identifier for the report 1655* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 1656* [DocumentReference](documentreference.html): Identifier of the attachment binary 1657* [Encounter](encounter.html): Identifier(s) by which this encounter is known 1658* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 1659* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 1660* [Goal](goal.html): External Ids for this goal 1661* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 1662* [Immunization](immunization.html): Business identifier 1663* [List](list.html): Business identifier 1664* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 1665* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 1666* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 1667* [MedicationUsage](medicationusage.html): Return statements with this external identifier 1668* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 1669* [Observation](observation.html): The unique id for a particular observation 1670* [Procedure](procedure.html): A unique identifier for a procedure 1671* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 1672* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 1673* [SupplyDelivery](supplydelivery.html): External identifier 1674* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 1675* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 1676</b><br> 1677 * Type: <b>token</b><br> 1678 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 1679 * </p> 1680 */ 1681 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1682 1683 /** 1684 * Search parameter: <b>patient</b> 1685 * <p> 1686 * Description: <b>Multiple Resources: 1687 1688* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 1689* [CarePlan](careplan.html): Who the care plan is for 1690* [CareTeam](careteam.html): Who care team is for 1691* [ClinicalImpression](clinicalimpression.html): Patient assessed 1692* [Composition](composition.html): Who and/or what the composition is about 1693* [Condition](condition.html): Who has the condition? 1694* [Consent](consent.html): Who the consent applies to 1695* [DetectedIssue](detectedissue.html): Associated patient 1696* [DeviceRequest](devicerequest.html): Individual the service is ordered for 1697* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 1698* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 1699* [DocumentManifest](documentmanifest.html): The subject of the set of documents 1700* [DocumentReference](documentreference.html): Who/what is the subject of the document 1701* [Encounter](encounter.html): The patient present at the encounter 1702* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 1703* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 1704* [Flag](flag.html): The identity of a subject to list flags for 1705* [Goal](goal.html): Who this goal is intended for 1706* [ImagingStudy](imagingstudy.html): Who the study is about 1707* [Immunization](immunization.html): The patient for the vaccination record 1708* [List](list.html): If all resources have the same subject 1709* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 1710* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 1711* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 1712* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 1713* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 1714* [Observation](observation.html): The subject that the observation is about (if patient) 1715* [Procedure](procedure.html): Search by subject - a patient 1716* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 1717* [ServiceRequest](servicerequest.html): Search by subject - a patient 1718* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 1719* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 1720</b><br> 1721 * Type: <b>reference</b><br> 1722 * 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> 1723 * </p> 1724 */ 1725 @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 } ) 1726 public static final String SP_PATIENT = "patient"; 1727 /** 1728 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1729 * <p> 1730 * Description: <b>Multiple Resources: 1731 1732* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 1733* [CarePlan](careplan.html): Who the care plan is for 1734* [CareTeam](careteam.html): Who care team is for 1735* [ClinicalImpression](clinicalimpression.html): Patient assessed 1736* [Composition](composition.html): Who and/or what the composition is about 1737* [Condition](condition.html): Who has the condition? 1738* [Consent](consent.html): Who the consent applies to 1739* [DetectedIssue](detectedissue.html): Associated patient 1740* [DeviceRequest](devicerequest.html): Individual the service is ordered for 1741* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 1742* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 1743* [DocumentManifest](documentmanifest.html): The subject of the set of documents 1744* [DocumentReference](documentreference.html): Who/what is the subject of the document 1745* [Encounter](encounter.html): The patient present at the encounter 1746* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 1747* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 1748* [Flag](flag.html): The identity of a subject to list flags for 1749* [Goal](goal.html): Who this goal is intended for 1750* [ImagingStudy](imagingstudy.html): Who the study is about 1751* [Immunization](immunization.html): The patient for the vaccination record 1752* [List](list.html): If all resources have the same subject 1753* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 1754* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 1755* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 1756* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 1757* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 1758* [Observation](observation.html): The subject that the observation is about (if patient) 1759* [Procedure](procedure.html): Search by subject - a patient 1760* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 1761* [ServiceRequest](servicerequest.html): Search by subject - a patient 1762* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 1763* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 1764</b><br> 1765 * Type: <b>reference</b><br> 1766 * 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> 1767 * </p> 1768 */ 1769 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1770 1771/** 1772 * Constant for fluent queries to be used to add include statements. Specifies 1773 * the path value of "<b>CareTeam:patient</b>". 1774 */ 1775 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CareTeam:patient").toLocked(); 1776 1777 1778} 1779