001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import ca.uhn.fhir.model.api.annotation.ResourceDef; 038import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.ChildOrder; 041import ca.uhn.fhir.model.api.annotation.Description; 042import ca.uhn.fhir.model.api.annotation.Block; 043import org.hl7.fhir.instance.model.api.*; 044import org.hl7.fhir.exceptions.FHIRException; 045/** 046 * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient. 047 */ 048@ResourceDef(name="CareTeam", profile="http://hl7.org/fhir/StructureDefinition/CareTeam") 049public class CareTeam extends DomainResource { 050 051 public enum CareTeamStatus { 052 /** 053 * The care team has been drafted and proposed, but not yet participating in the coordination and delivery of care. 054 */ 055 PROPOSED, 056 /** 057 * The care team is currently participating in the coordination and delivery of care. 058 */ 059 ACTIVE, 060 /** 061 * The care team is temporarily on hold or suspended and not participating in the coordination and delivery of care. 062 */ 063 SUSPENDED, 064 /** 065 * The care team was, but is no longer, participating in the coordination and delivery of care. 066 */ 067 INACTIVE, 068 /** 069 * The care team should have never existed. 070 */ 071 ENTEREDINERROR, 072 /** 073 * added to help the parsers with the generic types 074 */ 075 NULL; 076 public static CareTeamStatus fromCode(String codeString) throws FHIRException { 077 if (codeString == null || "".equals(codeString)) 078 return null; 079 if ("proposed".equals(codeString)) 080 return PROPOSED; 081 if ("active".equals(codeString)) 082 return ACTIVE; 083 if ("suspended".equals(codeString)) 084 return SUSPENDED; 085 if ("inactive".equals(codeString)) 086 return INACTIVE; 087 if ("entered-in-error".equals(codeString)) 088 return ENTEREDINERROR; 089 if (Configuration.isAcceptInvalidEnums()) 090 return null; 091 else 092 throw new FHIRException("Unknown CareTeamStatus code '"+codeString+"'"); 093 } 094 public String toCode() { 095 switch (this) { 096 case PROPOSED: return "proposed"; 097 case ACTIVE: return "active"; 098 case SUSPENDED: return "suspended"; 099 case INACTIVE: return "inactive"; 100 case ENTEREDINERROR: return "entered-in-error"; 101 default: return "?"; 102 } 103 } 104 public String getSystem() { 105 switch (this) { 106 case PROPOSED: return "http://hl7.org/fhir/care-team-status"; 107 case ACTIVE: return "http://hl7.org/fhir/care-team-status"; 108 case SUSPENDED: return "http://hl7.org/fhir/care-team-status"; 109 case INACTIVE: return "http://hl7.org/fhir/care-team-status"; 110 case ENTEREDINERROR: return "http://hl7.org/fhir/care-team-status"; 111 default: return "?"; 112 } 113 } 114 public String getDefinition() { 115 switch (this) { 116 case PROPOSED: return "The care team has been drafted and proposed, but not yet participating in the coordination and delivery of care."; 117 case ACTIVE: return "The care team is currently participating in the coordination and delivery of care."; 118 case SUSPENDED: return "The care team is temporarily on hold or suspended and not participating in the coordination and delivery of care."; 119 case INACTIVE: return "The care team was, but is no longer, participating in the coordination and delivery of care."; 120 case ENTEREDINERROR: return "The care team should have never existed."; 121 default: return "?"; 122 } 123 } 124 public String getDisplay() { 125 switch (this) { 126 case PROPOSED: return "Proposed"; 127 case ACTIVE: return "Active"; 128 case SUSPENDED: return "Suspended"; 129 case INACTIVE: return "Inactive"; 130 case ENTEREDINERROR: return "Entered In Error"; 131 default: return "?"; 132 } 133 } 134 } 135 136 public static class CareTeamStatusEnumFactory implements EnumFactory<CareTeamStatus> { 137 public CareTeamStatus fromCode(String codeString) throws IllegalArgumentException { 138 if (codeString == null || "".equals(codeString)) 139 if (codeString == null || "".equals(codeString)) 140 return null; 141 if ("proposed".equals(codeString)) 142 return CareTeamStatus.PROPOSED; 143 if ("active".equals(codeString)) 144 return CareTeamStatus.ACTIVE; 145 if ("suspended".equals(codeString)) 146 return CareTeamStatus.SUSPENDED; 147 if ("inactive".equals(codeString)) 148 return CareTeamStatus.INACTIVE; 149 if ("entered-in-error".equals(codeString)) 150 return CareTeamStatus.ENTEREDINERROR; 151 throw new IllegalArgumentException("Unknown CareTeamStatus code '"+codeString+"'"); 152 } 153 public Enumeration<CareTeamStatus> fromType(Base code) throws FHIRException { 154 if (code == null) 155 return null; 156 if (code.isEmpty()) 157 return new Enumeration<CareTeamStatus>(this); 158 String codeString = ((PrimitiveType) code).asStringValue(); 159 if (codeString == null || "".equals(codeString)) 160 return null; 161 if ("proposed".equals(codeString)) 162 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.PROPOSED); 163 if ("active".equals(codeString)) 164 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.ACTIVE); 165 if ("suspended".equals(codeString)) 166 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.SUSPENDED); 167 if ("inactive".equals(codeString)) 168 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.INACTIVE); 169 if ("entered-in-error".equals(codeString)) 170 return new Enumeration<CareTeamStatus>(this, CareTeamStatus.ENTEREDINERROR); 171 throw new FHIRException("Unknown CareTeamStatus code '"+codeString+"'"); 172 } 173 public String toCode(CareTeamStatus code) { 174 if (code == CareTeamStatus.PROPOSED) 175 return "proposed"; 176 if (code == CareTeamStatus.ACTIVE) 177 return "active"; 178 if (code == CareTeamStatus.SUSPENDED) 179 return "suspended"; 180 if (code == CareTeamStatus.INACTIVE) 181 return "inactive"; 182 if (code == CareTeamStatus.ENTEREDINERROR) 183 return "entered-in-error"; 184 return "?"; 185 } 186 public String toSystem(CareTeamStatus code) { 187 return code.getSystem(); 188 } 189 } 190 191 @Block() 192 public static class CareTeamParticipantComponent extends BackboneElement implements IBaseBackboneElement { 193 /** 194 * Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc. 195 */ 196 @Child(name = "role", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 197 @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." ) 198 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-role") 199 protected List<CodeableConcept> role; 200 201 /** 202 * The specific person or organization who is participating/expected to participate in the care team. 203 */ 204 @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) 205 @Description(shortDefinition="Who is involved", formalDefinition="The specific person or organization who is participating/expected to participate in the care team." ) 206 protected Reference member; 207 208 /** 209 * The actual object that is the target of the reference (The specific person or organization who is participating/expected to participate in the care team.) 210 */ 211 protected Resource memberTarget; 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 * The actual object that is the target of the reference (The organization of the practitioner.) 222 */ 223 protected Organization onBehalfOfTarget; 224 225 /** 226 * Indicates when the specific member or organization did (or is intended to) come into effect and end. 227 */ 228 @Child(name = "period", type = {Period.class}, order=4, min=0, max=1, modifier=false, summary=false) 229 @Description(shortDefinition="Time period of participant", formalDefinition="Indicates when the specific member or organization did (or is intended to) come into effect and end." ) 230 protected Period period; 231 232 private static final long serialVersionUID = -575634410L; 233 234 /** 235 * Constructor 236 */ 237 public CareTeamParticipantComponent() { 238 super(); 239 } 240 241 /** 242 * @return {@link #role} (Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc.) 243 */ 244 public List<CodeableConcept> getRole() { 245 if (this.role == null) 246 this.role = new ArrayList<CodeableConcept>(); 247 return this.role; 248 } 249 250 /** 251 * @return Returns a reference to <code>this</code> for easy method chaining 252 */ 253 public CareTeamParticipantComponent setRole(List<CodeableConcept> theRole) { 254 this.role = theRole; 255 return this; 256 } 257 258 public boolean hasRole() { 259 if (this.role == null) 260 return false; 261 for (CodeableConcept item : this.role) 262 if (!item.isEmpty()) 263 return true; 264 return false; 265 } 266 267 public CodeableConcept addRole() { //3 268 CodeableConcept t = new CodeableConcept(); 269 if (this.role == null) 270 this.role = new ArrayList<CodeableConcept>(); 271 this.role.add(t); 272 return t; 273 } 274 275 public CareTeamParticipantComponent addRole(CodeableConcept t) { //3 276 if (t == null) 277 return this; 278 if (this.role == null) 279 this.role = new ArrayList<CodeableConcept>(); 280 this.role.add(t); 281 return this; 282 } 283 284 /** 285 * @return The first repetition of repeating field {@link #role}, creating it if it does not already exist 286 */ 287 public CodeableConcept getRoleFirstRep() { 288 if (getRole().isEmpty()) { 289 addRole(); 290 } 291 return getRole().get(0); 292 } 293 294 /** 295 * @return {@link #member} (The specific person or organization who is participating/expected to participate in the care team.) 296 */ 297 public Reference getMember() { 298 if (this.member == null) 299 if (Configuration.errorOnAutoCreate()) 300 throw new Error("Attempt to auto-create CareTeamParticipantComponent.member"); 301 else if (Configuration.doAutoCreate()) 302 this.member = new Reference(); // cc 303 return this.member; 304 } 305 306 public boolean hasMember() { 307 return this.member != null && !this.member.isEmpty(); 308 } 309 310 /** 311 * @param value {@link #member} (The specific person or organization who is participating/expected to participate in the care team.) 312 */ 313 public CareTeamParticipantComponent setMember(Reference value) { 314 this.member = value; 315 return this; 316 } 317 318 /** 319 * @return {@link #member} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The specific person or organization who is participating/expected to participate in the care team.) 320 */ 321 public Resource getMemberTarget() { 322 return this.memberTarget; 323 } 324 325 /** 326 * @param value {@link #member} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The specific person or organization who is participating/expected to participate in the care team.) 327 */ 328 public CareTeamParticipantComponent setMemberTarget(Resource value) { 329 this.memberTarget = value; 330 return this; 331 } 332 333 /** 334 * @return {@link #onBehalfOf} (The organization of the practitioner.) 335 */ 336 public Reference getOnBehalfOf() { 337 if (this.onBehalfOf == null) 338 if (Configuration.errorOnAutoCreate()) 339 throw new Error("Attempt to auto-create CareTeamParticipantComponent.onBehalfOf"); 340 else if (Configuration.doAutoCreate()) 341 this.onBehalfOf = new Reference(); // cc 342 return this.onBehalfOf; 343 } 344 345 public boolean hasOnBehalfOf() { 346 return this.onBehalfOf != null && !this.onBehalfOf.isEmpty(); 347 } 348 349 /** 350 * @param value {@link #onBehalfOf} (The organization of the practitioner.) 351 */ 352 public CareTeamParticipantComponent setOnBehalfOf(Reference value) { 353 this.onBehalfOf = value; 354 return this; 355 } 356 357 /** 358 * @return {@link #onBehalfOf} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The organization of the practitioner.) 359 */ 360 public Organization getOnBehalfOfTarget() { 361 if (this.onBehalfOfTarget == null) 362 if (Configuration.errorOnAutoCreate()) 363 throw new Error("Attempt to auto-create CareTeamParticipantComponent.onBehalfOf"); 364 else if (Configuration.doAutoCreate()) 365 this.onBehalfOfTarget = new Organization(); // aa 366 return this.onBehalfOfTarget; 367 } 368 369 /** 370 * @param value {@link #onBehalfOf} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The organization of the practitioner.) 371 */ 372 public CareTeamParticipantComponent setOnBehalfOfTarget(Organization value) { 373 this.onBehalfOfTarget = value; 374 return this; 375 } 376 377 /** 378 * @return {@link #period} (Indicates when the specific member or organization did (or is intended to) come into effect and end.) 379 */ 380 public Period getPeriod() { 381 if (this.period == null) 382 if (Configuration.errorOnAutoCreate()) 383 throw new Error("Attempt to auto-create CareTeamParticipantComponent.period"); 384 else if (Configuration.doAutoCreate()) 385 this.period = new Period(); // cc 386 return this.period; 387 } 388 389 public boolean hasPeriod() { 390 return this.period != null && !this.period.isEmpty(); 391 } 392 393 /** 394 * @param value {@link #period} (Indicates when the specific member or organization did (or is intended to) come into effect and end.) 395 */ 396 public CareTeamParticipantComponent setPeriod(Period value) { 397 this.period = value; 398 return this; 399 } 400 401 protected void listChildren(List<Property> children) { 402 super.listChildren(children); 403 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, java.lang.Integer.MAX_VALUE, role)); 404 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)); 405 children.add(new Property("onBehalfOf", "Reference(Organization)", "The organization of the practitioner.", 0, 1, onBehalfOf)); 406 children.add(new Property("period", "Period", "Indicates when the specific member or organization did (or is intended to) come into effect and end.", 0, 1, period)); 407 } 408 409 @Override 410 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 411 switch (_hash) { 412 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, java.lang.Integer.MAX_VALUE, role); 413 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); 414 case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Organization)", "The organization of the practitioner.", 0, 1, onBehalfOf); 415 case -991726143: /*period*/ return new Property("period", "Period", "Indicates when the specific member or organization did (or is intended to) come into effect and end.", 0, 1, period); 416 default: return super.getNamedProperty(_hash, _name, _checkValid); 417 } 418 419 } 420 421 @Override 422 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 423 switch (hash) { 424 case 3506294: /*role*/ return this.role == null ? new Base[0] : this.role.toArray(new Base[this.role.size()]); // CodeableConcept 425 case -1077769574: /*member*/ return this.member == null ? new Base[0] : new Base[] {this.member}; // Reference 426 case -14402964: /*onBehalfOf*/ return this.onBehalfOf == null ? new Base[0] : new Base[] {this.onBehalfOf}; // Reference 427 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 428 default: return super.getProperty(hash, name, checkValid); 429 } 430 431 } 432 433 @Override 434 public Base setProperty(int hash, String name, Base value) throws FHIRException { 435 switch (hash) { 436 case 3506294: // role 437 this.getRole().add(castToCodeableConcept(value)); // CodeableConcept 438 return value; 439 case -1077769574: // member 440 this.member = castToReference(value); // Reference 441 return value; 442 case -14402964: // onBehalfOf 443 this.onBehalfOf = castToReference(value); // Reference 444 return value; 445 case -991726143: // period 446 this.period = castToPeriod(value); // Period 447 return value; 448 default: return super.setProperty(hash, name, value); 449 } 450 451 } 452 453 @Override 454 public Base setProperty(String name, Base value) throws FHIRException { 455 if (name.equals("role")) { 456 this.getRole().add(castToCodeableConcept(value)); 457 } else if (name.equals("member")) { 458 this.member = castToReference(value); // Reference 459 } else if (name.equals("onBehalfOf")) { 460 this.onBehalfOf = castToReference(value); // Reference 461 } else if (name.equals("period")) { 462 this.period = castToPeriod(value); // Period 463 } else 464 return super.setProperty(name, value); 465 return value; 466 } 467 468 @Override 469 public Base makeProperty(int hash, String name) throws FHIRException { 470 switch (hash) { 471 case 3506294: return addRole(); 472 case -1077769574: return getMember(); 473 case -14402964: return getOnBehalfOf(); 474 case -991726143: return getPeriod(); 475 default: return super.makeProperty(hash, name); 476 } 477 478 } 479 480 @Override 481 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 482 switch (hash) { 483 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 484 case -1077769574: /*member*/ return new String[] {"Reference"}; 485 case -14402964: /*onBehalfOf*/ return new String[] {"Reference"}; 486 case -991726143: /*period*/ return new String[] {"Period"}; 487 default: return super.getTypesForProperty(hash, name); 488 } 489 490 } 491 492 @Override 493 public Base addChild(String name) throws FHIRException { 494 if (name.equals("role")) { 495 return addRole(); 496 } 497 else if (name.equals("member")) { 498 this.member = new Reference(); 499 return this.member; 500 } 501 else if (name.equals("onBehalfOf")) { 502 this.onBehalfOf = new Reference(); 503 return this.onBehalfOf; 504 } 505 else if (name.equals("period")) { 506 this.period = new Period(); 507 return this.period; 508 } 509 else 510 return super.addChild(name); 511 } 512 513 public CareTeamParticipantComponent copy() { 514 CareTeamParticipantComponent dst = new CareTeamParticipantComponent(); 515 copyValues(dst); 516 if (role != null) { 517 dst.role = new ArrayList<CodeableConcept>(); 518 for (CodeableConcept i : role) 519 dst.role.add(i.copy()); 520 }; 521 dst.member = member == null ? null : member.copy(); 522 dst.onBehalfOf = onBehalfOf == null ? null : onBehalfOf.copy(); 523 dst.period = period == null ? null : period.copy(); 524 return dst; 525 } 526 527 @Override 528 public boolean equalsDeep(Base other_) { 529 if (!super.equalsDeep(other_)) 530 return false; 531 if (!(other_ instanceof CareTeamParticipantComponent)) 532 return false; 533 CareTeamParticipantComponent o = (CareTeamParticipantComponent) other_; 534 return compareDeep(role, o.role, true) && compareDeep(member, o.member, true) && compareDeep(onBehalfOf, o.onBehalfOf, true) 535 && compareDeep(period, o.period, true); 536 } 537 538 @Override 539 public boolean equalsShallow(Base other_) { 540 if (!super.equalsShallow(other_)) 541 return false; 542 if (!(other_ instanceof CareTeamParticipantComponent)) 543 return false; 544 CareTeamParticipantComponent o = (CareTeamParticipantComponent) other_; 545 return true; 546 } 547 548 public boolean isEmpty() { 549 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(role, member, onBehalfOf 550 , period); 551 } 552 553 public String fhirType() { 554 return "CareTeam.participant"; 555 556 } 557 558 } 559 560 /** 561 * 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. 562 */ 563 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 564 @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." ) 565 protected List<Identifier> identifier; 566 567 /** 568 * Indicates the current state of the care team. 569 */ 570 @Child(name = "status", type = {CodeType.class}, order=1, min=0, max=1, modifier=true, summary=true) 571 @Description(shortDefinition="proposed | active | suspended | inactive | entered-in-error", formalDefinition="Indicates the current state of the care team." ) 572 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-team-status") 573 protected Enumeration<CareTeamStatus> status; 574 575 /** 576 * 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. 577 */ 578 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 579 @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." ) 580 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/care-team-category") 581 protected List<CodeableConcept> category; 582 583 /** 584 * A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams. 585 */ 586 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 587 @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." ) 588 protected StringType name; 589 590 /** 591 * Identifies the patient or group whose intended care is handled by the team. 592 */ 593 @Child(name = "subject", type = {Patient.class, Group.class}, order=4, min=0, max=1, modifier=false, summary=true) 594 @Description(shortDefinition="Who care team is for", formalDefinition="Identifies the patient or group whose intended care is handled by the team." ) 595 protected Reference subject; 596 597 /** 598 * The actual object that is the target of the reference (Identifies the patient or group whose intended care is handled by the team.) 599 */ 600 protected Resource subjectTarget; 601 602 /** 603 * The encounter or episode of care that establishes the context for this care team. 604 */ 605 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=5, min=0, max=1, modifier=false, summary=true) 606 @Description(shortDefinition="Encounter or episode associated with CareTeam", formalDefinition="The encounter or episode of care that establishes the context for this care team." ) 607 protected Reference context; 608 609 /** 610 * The actual object that is the target of the reference (The encounter or episode of care that establishes the context for this care team.) 611 */ 612 protected Resource contextTarget; 613 614 /** 615 * Indicates when the team did (or is intended to) come into effect and end. 616 */ 617 @Child(name = "period", type = {Period.class}, order=6, min=0, max=1, modifier=false, summary=true) 618 @Description(shortDefinition="Time period team covers", formalDefinition="Indicates when the team did (or is intended to) come into effect and end." ) 619 protected Period period; 620 621 /** 622 * Identifies all people and organizations who are expected to be involved in the care team. 623 */ 624 @Child(name = "participant", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 625 @Description(shortDefinition="Members of the team", formalDefinition="Identifies all people and organizations who are expected to be involved in the care team." ) 626 protected List<CareTeamParticipantComponent> participant; 627 628 /** 629 * Describes why the care team exists. 630 */ 631 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 632 @Description(shortDefinition="Why the care team exists", formalDefinition="Describes why the care team exists." ) 633 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 634 protected List<CodeableConcept> reasonCode; 635 636 /** 637 * Condition(s) that this care team addresses. 638 */ 639 @Child(name = "reasonReference", type = {Condition.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 640 @Description(shortDefinition="Why the care team exists", formalDefinition="Condition(s) that this care team addresses." ) 641 protected List<Reference> reasonReference; 642 /** 643 * The actual objects that are the target of the reference (Condition(s) that this care team addresses.) 644 */ 645 protected List<Condition> reasonReferenceTarget; 646 647 648 /** 649 * The organization responsible for the care team. 650 */ 651 @Child(name = "managingOrganization", type = {Organization.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 652 @Description(shortDefinition="Organization responsible for the care team", formalDefinition="The organization responsible for the care team." ) 653 protected List<Reference> managingOrganization; 654 /** 655 * The actual objects that are the target of the reference (The organization responsible for the care team.) 656 */ 657 protected List<Organization> managingOrganizationTarget; 658 659 660 /** 661 * A central contact detail for the care team (that applies to all members). 662 */ 663 @Child(name = "telecom", type = {ContactPoint.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 664 @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)." ) 665 protected List<ContactPoint> telecom; 666 667 /** 668 * Comments made about the CareTeam. 669 */ 670 @Child(name = "note", type = {Annotation.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 671 @Description(shortDefinition="Comments made about the CareTeam", formalDefinition="Comments made about the CareTeam." ) 672 protected List<Annotation> note; 673 674 private static final long serialVersionUID = 99754863L; 675 676 /** 677 * Constructor 678 */ 679 public CareTeam() { 680 super(); 681 } 682 683 /** 684 * @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.) 685 */ 686 public List<Identifier> getIdentifier() { 687 if (this.identifier == null) 688 this.identifier = new ArrayList<Identifier>(); 689 return this.identifier; 690 } 691 692 /** 693 * @return Returns a reference to <code>this</code> for easy method chaining 694 */ 695 public CareTeam setIdentifier(List<Identifier> theIdentifier) { 696 this.identifier = theIdentifier; 697 return this; 698 } 699 700 public boolean hasIdentifier() { 701 if (this.identifier == null) 702 return false; 703 for (Identifier item : this.identifier) 704 if (!item.isEmpty()) 705 return true; 706 return false; 707 } 708 709 public Identifier addIdentifier() { //3 710 Identifier t = new Identifier(); 711 if (this.identifier == null) 712 this.identifier = new ArrayList<Identifier>(); 713 this.identifier.add(t); 714 return t; 715 } 716 717 public CareTeam addIdentifier(Identifier t) { //3 718 if (t == null) 719 return this; 720 if (this.identifier == null) 721 this.identifier = new ArrayList<Identifier>(); 722 this.identifier.add(t); 723 return this; 724 } 725 726 /** 727 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 728 */ 729 public Identifier getIdentifierFirstRep() { 730 if (getIdentifier().isEmpty()) { 731 addIdentifier(); 732 } 733 return getIdentifier().get(0); 734 } 735 736 /** 737 * @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 738 */ 739 public Enumeration<CareTeamStatus> getStatusElement() { 740 if (this.status == null) 741 if (Configuration.errorOnAutoCreate()) 742 throw new Error("Attempt to auto-create CareTeam.status"); 743 else if (Configuration.doAutoCreate()) 744 this.status = new Enumeration<CareTeamStatus>(new CareTeamStatusEnumFactory()); // bb 745 return this.status; 746 } 747 748 public boolean hasStatusElement() { 749 return this.status != null && !this.status.isEmpty(); 750 } 751 752 public boolean hasStatus() { 753 return this.status != null && !this.status.isEmpty(); 754 } 755 756 /** 757 * @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 758 */ 759 public CareTeam setStatusElement(Enumeration<CareTeamStatus> value) { 760 this.status = value; 761 return this; 762 } 763 764 /** 765 * @return Indicates the current state of the care team. 766 */ 767 public CareTeamStatus getStatus() { 768 return this.status == null ? null : this.status.getValue(); 769 } 770 771 /** 772 * @param value Indicates the current state of the care team. 773 */ 774 public CareTeam setStatus(CareTeamStatus value) { 775 if (value == null) 776 this.status = null; 777 else { 778 if (this.status == null) 779 this.status = new Enumeration<CareTeamStatus>(new CareTeamStatusEnumFactory()); 780 this.status.setValue(value); 781 } 782 return this; 783 } 784 785 /** 786 * @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.) 787 */ 788 public List<CodeableConcept> getCategory() { 789 if (this.category == null) 790 this.category = new ArrayList<CodeableConcept>(); 791 return this.category; 792 } 793 794 /** 795 * @return Returns a reference to <code>this</code> for easy method chaining 796 */ 797 public CareTeam setCategory(List<CodeableConcept> theCategory) { 798 this.category = theCategory; 799 return this; 800 } 801 802 public boolean hasCategory() { 803 if (this.category == null) 804 return false; 805 for (CodeableConcept item : this.category) 806 if (!item.isEmpty()) 807 return true; 808 return false; 809 } 810 811 public CodeableConcept addCategory() { //3 812 CodeableConcept t = new CodeableConcept(); 813 if (this.category == null) 814 this.category = new ArrayList<CodeableConcept>(); 815 this.category.add(t); 816 return t; 817 } 818 819 public CareTeam addCategory(CodeableConcept t) { //3 820 if (t == null) 821 return this; 822 if (this.category == null) 823 this.category = new ArrayList<CodeableConcept>(); 824 this.category.add(t); 825 return this; 826 } 827 828 /** 829 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist 830 */ 831 public CodeableConcept getCategoryFirstRep() { 832 if (getCategory().isEmpty()) { 833 addCategory(); 834 } 835 return getCategory().get(0); 836 } 837 838 /** 839 * @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 840 */ 841 public StringType getNameElement() { 842 if (this.name == null) 843 if (Configuration.errorOnAutoCreate()) 844 throw new Error("Attempt to auto-create CareTeam.name"); 845 else if (Configuration.doAutoCreate()) 846 this.name = new StringType(); // bb 847 return this.name; 848 } 849 850 public boolean hasNameElement() { 851 return this.name != null && !this.name.isEmpty(); 852 } 853 854 public boolean hasName() { 855 return this.name != null && !this.name.isEmpty(); 856 } 857 858 /** 859 * @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 860 */ 861 public CareTeam setNameElement(StringType value) { 862 this.name = value; 863 return this; 864 } 865 866 /** 867 * @return A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams. 868 */ 869 public String getName() { 870 return this.name == null ? null : this.name.getValue(); 871 } 872 873 /** 874 * @param value A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams. 875 */ 876 public CareTeam setName(String value) { 877 if (Utilities.noString(value)) 878 this.name = null; 879 else { 880 if (this.name == null) 881 this.name = new StringType(); 882 this.name.setValue(value); 883 } 884 return this; 885 } 886 887 /** 888 * @return {@link #subject} (Identifies the patient or group whose intended care is handled by the team.) 889 */ 890 public Reference getSubject() { 891 if (this.subject == null) 892 if (Configuration.errorOnAutoCreate()) 893 throw new Error("Attempt to auto-create CareTeam.subject"); 894 else if (Configuration.doAutoCreate()) 895 this.subject = new Reference(); // cc 896 return this.subject; 897 } 898 899 public boolean hasSubject() { 900 return this.subject != null && !this.subject.isEmpty(); 901 } 902 903 /** 904 * @param value {@link #subject} (Identifies the patient or group whose intended care is handled by the team.) 905 */ 906 public CareTeam setSubject(Reference value) { 907 this.subject = value; 908 return this; 909 } 910 911 /** 912 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Identifies the patient or group whose intended care is handled by the team.) 913 */ 914 public Resource getSubjectTarget() { 915 return this.subjectTarget; 916 } 917 918 /** 919 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Identifies the patient or group whose intended care is handled by the team.) 920 */ 921 public CareTeam setSubjectTarget(Resource value) { 922 this.subjectTarget = value; 923 return this; 924 } 925 926 /** 927 * @return {@link #context} (The encounter or episode of care that establishes the context for this care team.) 928 */ 929 public Reference getContext() { 930 if (this.context == null) 931 if (Configuration.errorOnAutoCreate()) 932 throw new Error("Attempt to auto-create CareTeam.context"); 933 else if (Configuration.doAutoCreate()) 934 this.context = new Reference(); // cc 935 return this.context; 936 } 937 938 public boolean hasContext() { 939 return this.context != null && !this.context.isEmpty(); 940 } 941 942 /** 943 * @param value {@link #context} (The encounter or episode of care that establishes the context for this care team.) 944 */ 945 public CareTeam setContext(Reference value) { 946 this.context = value; 947 return this; 948 } 949 950 /** 951 * @return {@link #context} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The encounter or episode of care that establishes the context for this care team.) 952 */ 953 public Resource getContextTarget() { 954 return this.contextTarget; 955 } 956 957 /** 958 * @param value {@link #context} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The encounter or episode of care that establishes the context for this care team.) 959 */ 960 public CareTeam setContextTarget(Resource value) { 961 this.contextTarget = value; 962 return this; 963 } 964 965 /** 966 * @return {@link #period} (Indicates when the team did (or is intended to) come into effect and end.) 967 */ 968 public Period getPeriod() { 969 if (this.period == null) 970 if (Configuration.errorOnAutoCreate()) 971 throw new Error("Attempt to auto-create CareTeam.period"); 972 else if (Configuration.doAutoCreate()) 973 this.period = new Period(); // cc 974 return this.period; 975 } 976 977 public boolean hasPeriod() { 978 return this.period != null && !this.period.isEmpty(); 979 } 980 981 /** 982 * @param value {@link #period} (Indicates when the team did (or is intended to) come into effect and end.) 983 */ 984 public CareTeam setPeriod(Period value) { 985 this.period = value; 986 return this; 987 } 988 989 /** 990 * @return {@link #participant} (Identifies all people and organizations who are expected to be involved in the care team.) 991 */ 992 public List<CareTeamParticipantComponent> getParticipant() { 993 if (this.participant == null) 994 this.participant = new ArrayList<CareTeamParticipantComponent>(); 995 return this.participant; 996 } 997 998 /** 999 * @return Returns a reference to <code>this</code> for easy method chaining 1000 */ 1001 public CareTeam setParticipant(List<CareTeamParticipantComponent> theParticipant) { 1002 this.participant = theParticipant; 1003 return this; 1004 } 1005 1006 public boolean hasParticipant() { 1007 if (this.participant == null) 1008 return false; 1009 for (CareTeamParticipantComponent item : this.participant) 1010 if (!item.isEmpty()) 1011 return true; 1012 return false; 1013 } 1014 1015 public CareTeamParticipantComponent addParticipant() { //3 1016 CareTeamParticipantComponent t = new CareTeamParticipantComponent(); 1017 if (this.participant == null) 1018 this.participant = new ArrayList<CareTeamParticipantComponent>(); 1019 this.participant.add(t); 1020 return t; 1021 } 1022 1023 public CareTeam addParticipant(CareTeamParticipantComponent t) { //3 1024 if (t == null) 1025 return this; 1026 if (this.participant == null) 1027 this.participant = new ArrayList<CareTeamParticipantComponent>(); 1028 this.participant.add(t); 1029 return this; 1030 } 1031 1032 /** 1033 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist 1034 */ 1035 public CareTeamParticipantComponent getParticipantFirstRep() { 1036 if (getParticipant().isEmpty()) { 1037 addParticipant(); 1038 } 1039 return getParticipant().get(0); 1040 } 1041 1042 /** 1043 * @return {@link #reasonCode} (Describes why the care team exists.) 1044 */ 1045 public List<CodeableConcept> getReasonCode() { 1046 if (this.reasonCode == null) 1047 this.reasonCode = new ArrayList<CodeableConcept>(); 1048 return this.reasonCode; 1049 } 1050 1051 /** 1052 * @return Returns a reference to <code>this</code> for easy method chaining 1053 */ 1054 public CareTeam setReasonCode(List<CodeableConcept> theReasonCode) { 1055 this.reasonCode = theReasonCode; 1056 return this; 1057 } 1058 1059 public boolean hasReasonCode() { 1060 if (this.reasonCode == null) 1061 return false; 1062 for (CodeableConcept item : this.reasonCode) 1063 if (!item.isEmpty()) 1064 return true; 1065 return false; 1066 } 1067 1068 public CodeableConcept addReasonCode() { //3 1069 CodeableConcept t = new CodeableConcept(); 1070 if (this.reasonCode == null) 1071 this.reasonCode = new ArrayList<CodeableConcept>(); 1072 this.reasonCode.add(t); 1073 return t; 1074 } 1075 1076 public CareTeam addReasonCode(CodeableConcept t) { //3 1077 if (t == null) 1078 return this; 1079 if (this.reasonCode == null) 1080 this.reasonCode = new ArrayList<CodeableConcept>(); 1081 this.reasonCode.add(t); 1082 return this; 1083 } 1084 1085 /** 1086 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist 1087 */ 1088 public CodeableConcept getReasonCodeFirstRep() { 1089 if (getReasonCode().isEmpty()) { 1090 addReasonCode(); 1091 } 1092 return getReasonCode().get(0); 1093 } 1094 1095 /** 1096 * @return {@link #reasonReference} (Condition(s) that this care team addresses.) 1097 */ 1098 public List<Reference> getReasonReference() { 1099 if (this.reasonReference == null) 1100 this.reasonReference = new ArrayList<Reference>(); 1101 return this.reasonReference; 1102 } 1103 1104 /** 1105 * @return Returns a reference to <code>this</code> for easy method chaining 1106 */ 1107 public CareTeam setReasonReference(List<Reference> theReasonReference) { 1108 this.reasonReference = theReasonReference; 1109 return this; 1110 } 1111 1112 public boolean hasReasonReference() { 1113 if (this.reasonReference == null) 1114 return false; 1115 for (Reference item : this.reasonReference) 1116 if (!item.isEmpty()) 1117 return true; 1118 return false; 1119 } 1120 1121 public Reference addReasonReference() { //3 1122 Reference t = new Reference(); 1123 if (this.reasonReference == null) 1124 this.reasonReference = new ArrayList<Reference>(); 1125 this.reasonReference.add(t); 1126 return t; 1127 } 1128 1129 public CareTeam addReasonReference(Reference t) { //3 1130 if (t == null) 1131 return this; 1132 if (this.reasonReference == null) 1133 this.reasonReference = new ArrayList<Reference>(); 1134 this.reasonReference.add(t); 1135 return this; 1136 } 1137 1138 /** 1139 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist 1140 */ 1141 public Reference getReasonReferenceFirstRep() { 1142 if (getReasonReference().isEmpty()) { 1143 addReasonReference(); 1144 } 1145 return getReasonReference().get(0); 1146 } 1147 1148 /** 1149 * @deprecated Use Reference#setResource(IBaseResource) instead 1150 */ 1151 @Deprecated 1152 public List<Condition> getReasonReferenceTarget() { 1153 if (this.reasonReferenceTarget == null) 1154 this.reasonReferenceTarget = new ArrayList<Condition>(); 1155 return this.reasonReferenceTarget; 1156 } 1157 1158 /** 1159 * @deprecated Use Reference#setResource(IBaseResource) instead 1160 */ 1161 @Deprecated 1162 public Condition addReasonReferenceTarget() { 1163 Condition r = new Condition(); 1164 if (this.reasonReferenceTarget == null) 1165 this.reasonReferenceTarget = new ArrayList<Condition>(); 1166 this.reasonReferenceTarget.add(r); 1167 return r; 1168 } 1169 1170 /** 1171 * @return {@link #managingOrganization} (The organization responsible for the care team.) 1172 */ 1173 public List<Reference> getManagingOrganization() { 1174 if (this.managingOrganization == null) 1175 this.managingOrganization = new ArrayList<Reference>(); 1176 return this.managingOrganization; 1177 } 1178 1179 /** 1180 * @return Returns a reference to <code>this</code> for easy method chaining 1181 */ 1182 public CareTeam setManagingOrganization(List<Reference> theManagingOrganization) { 1183 this.managingOrganization = theManagingOrganization; 1184 return this; 1185 } 1186 1187 public boolean hasManagingOrganization() { 1188 if (this.managingOrganization == null) 1189 return false; 1190 for (Reference item : this.managingOrganization) 1191 if (!item.isEmpty()) 1192 return true; 1193 return false; 1194 } 1195 1196 public Reference addManagingOrganization() { //3 1197 Reference t = new Reference(); 1198 if (this.managingOrganization == null) 1199 this.managingOrganization = new ArrayList<Reference>(); 1200 this.managingOrganization.add(t); 1201 return t; 1202 } 1203 1204 public CareTeam addManagingOrganization(Reference t) { //3 1205 if (t == null) 1206 return this; 1207 if (this.managingOrganization == null) 1208 this.managingOrganization = new ArrayList<Reference>(); 1209 this.managingOrganization.add(t); 1210 return this; 1211 } 1212 1213 /** 1214 * @return The first repetition of repeating field {@link #managingOrganization}, creating it if it does not already exist 1215 */ 1216 public Reference getManagingOrganizationFirstRep() { 1217 if (getManagingOrganization().isEmpty()) { 1218 addManagingOrganization(); 1219 } 1220 return getManagingOrganization().get(0); 1221 } 1222 1223 /** 1224 * @deprecated Use Reference#setResource(IBaseResource) instead 1225 */ 1226 @Deprecated 1227 public List<Organization> getManagingOrganizationTarget() { 1228 if (this.managingOrganizationTarget == null) 1229 this.managingOrganizationTarget = new ArrayList<Organization>(); 1230 return this.managingOrganizationTarget; 1231 } 1232 1233 /** 1234 * @deprecated Use Reference#setResource(IBaseResource) instead 1235 */ 1236 @Deprecated 1237 public Organization addManagingOrganizationTarget() { 1238 Organization r = new Organization(); 1239 if (this.managingOrganizationTarget == null) 1240 this.managingOrganizationTarget = new ArrayList<Organization>(); 1241 this.managingOrganizationTarget.add(r); 1242 return r; 1243 } 1244 1245 /** 1246 * @return {@link #telecom} (A central contact detail for the care team (that applies to all members).) 1247 */ 1248 public List<ContactPoint> getTelecom() { 1249 if (this.telecom == null) 1250 this.telecom = new ArrayList<ContactPoint>(); 1251 return this.telecom; 1252 } 1253 1254 /** 1255 * @return Returns a reference to <code>this</code> for easy method chaining 1256 */ 1257 public CareTeam setTelecom(List<ContactPoint> theTelecom) { 1258 this.telecom = theTelecom; 1259 return this; 1260 } 1261 1262 public boolean hasTelecom() { 1263 if (this.telecom == null) 1264 return false; 1265 for (ContactPoint item : this.telecom) 1266 if (!item.isEmpty()) 1267 return true; 1268 return false; 1269 } 1270 1271 public ContactPoint addTelecom() { //3 1272 ContactPoint t = new ContactPoint(); 1273 if (this.telecom == null) 1274 this.telecom = new ArrayList<ContactPoint>(); 1275 this.telecom.add(t); 1276 return t; 1277 } 1278 1279 public CareTeam addTelecom(ContactPoint t) { //3 1280 if (t == null) 1281 return this; 1282 if (this.telecom == null) 1283 this.telecom = new ArrayList<ContactPoint>(); 1284 this.telecom.add(t); 1285 return this; 1286 } 1287 1288 /** 1289 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist 1290 */ 1291 public ContactPoint getTelecomFirstRep() { 1292 if (getTelecom().isEmpty()) { 1293 addTelecom(); 1294 } 1295 return getTelecom().get(0); 1296 } 1297 1298 /** 1299 * @return {@link #note} (Comments made about the CareTeam.) 1300 */ 1301 public List<Annotation> getNote() { 1302 if (this.note == null) 1303 this.note = new ArrayList<Annotation>(); 1304 return this.note; 1305 } 1306 1307 /** 1308 * @return Returns a reference to <code>this</code> for easy method chaining 1309 */ 1310 public CareTeam setNote(List<Annotation> theNote) { 1311 this.note = theNote; 1312 return this; 1313 } 1314 1315 public boolean hasNote() { 1316 if (this.note == null) 1317 return false; 1318 for (Annotation item : this.note) 1319 if (!item.isEmpty()) 1320 return true; 1321 return false; 1322 } 1323 1324 public Annotation addNote() { //3 1325 Annotation t = new Annotation(); 1326 if (this.note == null) 1327 this.note = new ArrayList<Annotation>(); 1328 this.note.add(t); 1329 return t; 1330 } 1331 1332 public CareTeam addNote(Annotation t) { //3 1333 if (t == null) 1334 return this; 1335 if (this.note == null) 1336 this.note = new ArrayList<Annotation>(); 1337 this.note.add(t); 1338 return this; 1339 } 1340 1341 /** 1342 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 1343 */ 1344 public Annotation getNoteFirstRep() { 1345 if (getNote().isEmpty()) { 1346 addNote(); 1347 } 1348 return getNote().get(0); 1349 } 1350 1351 protected void listChildren(List<Property> children) { 1352 super.listChildren(children); 1353 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)); 1354 children.add(new Property("status", "code", "Indicates the current state of the care team.", 0, 1, status)); 1355 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)); 1356 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)); 1357 children.add(new Property("subject", "Reference(Patient|Group)", "Identifies the patient or group whose intended care is handled by the team.", 0, 1, subject)); 1358 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "The encounter or episode of care that establishes the context for this care team.", 0, 1, context)); 1359 children.add(new Property("period", "Period", "Indicates when the team did (or is intended to) come into effect and end.", 0, 1, period)); 1360 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)); 1361 children.add(new Property("reasonCode", "CodeableConcept", "Describes why the care team exists.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 1362 children.add(new Property("reasonReference", "Reference(Condition)", "Condition(s) that this care team addresses.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 1363 children.add(new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the care team.", 0, java.lang.Integer.MAX_VALUE, managingOrganization)); 1364 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)); 1365 children.add(new Property("note", "Annotation", "Comments made about the CareTeam.", 0, java.lang.Integer.MAX_VALUE, note)); 1366 } 1367 1368 @Override 1369 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1370 switch (_hash) { 1371 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); 1372 case -892481550: /*status*/ return new Property("status", "code", "Indicates the current state of the care team.", 0, 1, status); 1373 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); 1374 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); 1375 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); 1376 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "The encounter or episode of care that establishes the context for this care team.", 0, 1, context); 1377 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); 1378 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); 1379 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "Describes why the care team exists.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 1380 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition)", "Condition(s) that this care team addresses.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 1381 case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the care team.", 0, java.lang.Integer.MAX_VALUE, managingOrganization); 1382 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); 1383 case 3387378: /*note*/ return new Property("note", "Annotation", "Comments made about the CareTeam.", 0, java.lang.Integer.MAX_VALUE, note); 1384 default: return super.getNamedProperty(_hash, _name, _checkValid); 1385 } 1386 1387 } 1388 1389 @Override 1390 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1391 switch (hash) { 1392 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1393 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<CareTeamStatus> 1394 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1395 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1396 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1397 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 1398 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 1399 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // CareTeamParticipantComponent 1400 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 1401 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 1402 case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : this.managingOrganization.toArray(new Base[this.managingOrganization.size()]); // Reference 1403 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 1404 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1405 default: return super.getProperty(hash, name, checkValid); 1406 } 1407 1408 } 1409 1410 @Override 1411 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1412 switch (hash) { 1413 case -1618432855: // identifier 1414 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1415 return value; 1416 case -892481550: // status 1417 value = new CareTeamStatusEnumFactory().fromType(castToCode(value)); 1418 this.status = (Enumeration) value; // Enumeration<CareTeamStatus> 1419 return value; 1420 case 50511102: // category 1421 this.getCategory().add(castToCodeableConcept(value)); // CodeableConcept 1422 return value; 1423 case 3373707: // name 1424 this.name = castToString(value); // StringType 1425 return value; 1426 case -1867885268: // subject 1427 this.subject = castToReference(value); // Reference 1428 return value; 1429 case 951530927: // context 1430 this.context = castToReference(value); // Reference 1431 return value; 1432 case -991726143: // period 1433 this.period = castToPeriod(value); // Period 1434 return value; 1435 case 767422259: // participant 1436 this.getParticipant().add((CareTeamParticipantComponent) value); // CareTeamParticipantComponent 1437 return value; 1438 case 722137681: // reasonCode 1439 this.getReasonCode().add(castToCodeableConcept(value)); // CodeableConcept 1440 return value; 1441 case -1146218137: // reasonReference 1442 this.getReasonReference().add(castToReference(value)); // Reference 1443 return value; 1444 case -2058947787: // managingOrganization 1445 this.getManagingOrganization().add(castToReference(value)); // Reference 1446 return value; 1447 case -1429363305: // telecom 1448 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 1449 return value; 1450 case 3387378: // note 1451 this.getNote().add(castToAnnotation(value)); // Annotation 1452 return value; 1453 default: return super.setProperty(hash, name, value); 1454 } 1455 1456 } 1457 1458 @Override 1459 public Base setProperty(String name, Base value) throws FHIRException { 1460 if (name.equals("identifier")) { 1461 this.getIdentifier().add(castToIdentifier(value)); 1462 } else if (name.equals("status")) { 1463 value = new CareTeamStatusEnumFactory().fromType(castToCode(value)); 1464 this.status = (Enumeration) value; // Enumeration<CareTeamStatus> 1465 } else if (name.equals("category")) { 1466 this.getCategory().add(castToCodeableConcept(value)); 1467 } else if (name.equals("name")) { 1468 this.name = castToString(value); // StringType 1469 } else if (name.equals("subject")) { 1470 this.subject = castToReference(value); // Reference 1471 } else if (name.equals("context")) { 1472 this.context = castToReference(value); // Reference 1473 } else if (name.equals("period")) { 1474 this.period = castToPeriod(value); // Period 1475 } else if (name.equals("participant")) { 1476 this.getParticipant().add((CareTeamParticipantComponent) value); 1477 } else if (name.equals("reasonCode")) { 1478 this.getReasonCode().add(castToCodeableConcept(value)); 1479 } else if (name.equals("reasonReference")) { 1480 this.getReasonReference().add(castToReference(value)); 1481 } else if (name.equals("managingOrganization")) { 1482 this.getManagingOrganization().add(castToReference(value)); 1483 } else if (name.equals("telecom")) { 1484 this.getTelecom().add(castToContactPoint(value)); 1485 } else if (name.equals("note")) { 1486 this.getNote().add(castToAnnotation(value)); 1487 } else 1488 return super.setProperty(name, value); 1489 return value; 1490 } 1491 1492 @Override 1493 public Base makeProperty(int hash, String name) throws FHIRException { 1494 switch (hash) { 1495 case -1618432855: return addIdentifier(); 1496 case -892481550: return getStatusElement(); 1497 case 50511102: return addCategory(); 1498 case 3373707: return getNameElement(); 1499 case -1867885268: return getSubject(); 1500 case 951530927: return getContext(); 1501 case -991726143: return getPeriod(); 1502 case 767422259: return addParticipant(); 1503 case 722137681: return addReasonCode(); 1504 case -1146218137: return addReasonReference(); 1505 case -2058947787: return addManagingOrganization(); 1506 case -1429363305: return addTelecom(); 1507 case 3387378: return addNote(); 1508 default: return super.makeProperty(hash, name); 1509 } 1510 1511 } 1512 1513 @Override 1514 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1515 switch (hash) { 1516 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1517 case -892481550: /*status*/ return new String[] {"code"}; 1518 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1519 case 3373707: /*name*/ return new String[] {"string"}; 1520 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1521 case 951530927: /*context*/ return new String[] {"Reference"}; 1522 case -991726143: /*period*/ return new String[] {"Period"}; 1523 case 767422259: /*participant*/ return new String[] {}; 1524 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 1525 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 1526 case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; 1527 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 1528 case 3387378: /*note*/ return new String[] {"Annotation"}; 1529 default: return super.getTypesForProperty(hash, name); 1530 } 1531 1532 } 1533 1534 @Override 1535 public Base addChild(String name) throws FHIRException { 1536 if (name.equals("identifier")) { 1537 return addIdentifier(); 1538 } 1539 else if (name.equals("status")) { 1540 throw new FHIRException("Cannot call addChild on a primitive type CareTeam.status"); 1541 } 1542 else if (name.equals("category")) { 1543 return addCategory(); 1544 } 1545 else if (name.equals("name")) { 1546 throw new FHIRException("Cannot call addChild on a primitive type CareTeam.name"); 1547 } 1548 else if (name.equals("subject")) { 1549 this.subject = new Reference(); 1550 return this.subject; 1551 } 1552 else if (name.equals("context")) { 1553 this.context = new Reference(); 1554 return this.context; 1555 } 1556 else if (name.equals("period")) { 1557 this.period = new Period(); 1558 return this.period; 1559 } 1560 else if (name.equals("participant")) { 1561 return addParticipant(); 1562 } 1563 else if (name.equals("reasonCode")) { 1564 return addReasonCode(); 1565 } 1566 else if (name.equals("reasonReference")) { 1567 return addReasonReference(); 1568 } 1569 else if (name.equals("managingOrganization")) { 1570 return addManagingOrganization(); 1571 } 1572 else if (name.equals("telecom")) { 1573 return addTelecom(); 1574 } 1575 else if (name.equals("note")) { 1576 return addNote(); 1577 } 1578 else 1579 return super.addChild(name); 1580 } 1581 1582 public String fhirType() { 1583 return "CareTeam"; 1584 1585 } 1586 1587 public CareTeam copy() { 1588 CareTeam dst = new CareTeam(); 1589 copyValues(dst); 1590 if (identifier != null) { 1591 dst.identifier = new ArrayList<Identifier>(); 1592 for (Identifier i : identifier) 1593 dst.identifier.add(i.copy()); 1594 }; 1595 dst.status = status == null ? null : status.copy(); 1596 if (category != null) { 1597 dst.category = new ArrayList<CodeableConcept>(); 1598 for (CodeableConcept i : category) 1599 dst.category.add(i.copy()); 1600 }; 1601 dst.name = name == null ? null : name.copy(); 1602 dst.subject = subject == null ? null : subject.copy(); 1603 dst.context = context == null ? null : context.copy(); 1604 dst.period = period == null ? null : period.copy(); 1605 if (participant != null) { 1606 dst.participant = new ArrayList<CareTeamParticipantComponent>(); 1607 for (CareTeamParticipantComponent i : participant) 1608 dst.participant.add(i.copy()); 1609 }; 1610 if (reasonCode != null) { 1611 dst.reasonCode = new ArrayList<CodeableConcept>(); 1612 for (CodeableConcept i : reasonCode) 1613 dst.reasonCode.add(i.copy()); 1614 }; 1615 if (reasonReference != null) { 1616 dst.reasonReference = new ArrayList<Reference>(); 1617 for (Reference i : reasonReference) 1618 dst.reasonReference.add(i.copy()); 1619 }; 1620 if (managingOrganization != null) { 1621 dst.managingOrganization = new ArrayList<Reference>(); 1622 for (Reference i : managingOrganization) 1623 dst.managingOrganization.add(i.copy()); 1624 }; 1625 if (telecom != null) { 1626 dst.telecom = new ArrayList<ContactPoint>(); 1627 for (ContactPoint i : telecom) 1628 dst.telecom.add(i.copy()); 1629 }; 1630 if (note != null) { 1631 dst.note = new ArrayList<Annotation>(); 1632 for (Annotation i : note) 1633 dst.note.add(i.copy()); 1634 }; 1635 return dst; 1636 } 1637 1638 protected CareTeam typedCopy() { 1639 return copy(); 1640 } 1641 1642 @Override 1643 public boolean equalsDeep(Base other_) { 1644 if (!super.equalsDeep(other_)) 1645 return false; 1646 if (!(other_ instanceof CareTeam)) 1647 return false; 1648 CareTeam o = (CareTeam) other_; 1649 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true) 1650 && compareDeep(name, o.name, true) && compareDeep(subject, o.subject, true) && compareDeep(context, o.context, true) 1651 && compareDeep(period, o.period, true) && compareDeep(participant, o.participant, true) && compareDeep(reasonCode, o.reasonCode, true) 1652 && compareDeep(reasonReference, o.reasonReference, true) && compareDeep(managingOrganization, o.managingOrganization, true) 1653 && compareDeep(telecom, o.telecom, true) && compareDeep(note, o.note, true); 1654 } 1655 1656 @Override 1657 public boolean equalsShallow(Base other_) { 1658 if (!super.equalsShallow(other_)) 1659 return false; 1660 if (!(other_ instanceof CareTeam)) 1661 return false; 1662 CareTeam o = (CareTeam) other_; 1663 return compareValues(status, o.status, true) && compareValues(name, o.name, true); 1664 } 1665 1666 public boolean isEmpty() { 1667 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category 1668 , name, subject, context, period, participant, reasonCode, reasonReference, managingOrganization 1669 , telecom, note); 1670 } 1671 1672 @Override 1673 public ResourceType getResourceType() { 1674 return ResourceType.CareTeam; 1675 } 1676 1677 /** 1678 * Search parameter: <b>date</b> 1679 * <p> 1680 * Description: <b>Time period team covers</b><br> 1681 * Type: <b>date</b><br> 1682 * Path: <b>CareTeam.period</b><br> 1683 * </p> 1684 */ 1685 @SearchParamDefinition(name="date", path="CareTeam.period", description="Time period team covers", type="date" ) 1686 public static final String SP_DATE = "date"; 1687 /** 1688 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1689 * <p> 1690 * Description: <b>Time period team covers</b><br> 1691 * Type: <b>date</b><br> 1692 * Path: <b>CareTeam.period</b><br> 1693 * </p> 1694 */ 1695 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1696 1697 /** 1698 * Search parameter: <b>identifier</b> 1699 * <p> 1700 * Description: <b>External Ids for this team</b><br> 1701 * Type: <b>token</b><br> 1702 * Path: <b>CareTeam.identifier</b><br> 1703 * </p> 1704 */ 1705 @SearchParamDefinition(name="identifier", path="CareTeam.identifier", description="External Ids for this team", type="token" ) 1706 public static final String SP_IDENTIFIER = "identifier"; 1707 /** 1708 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1709 * <p> 1710 * Description: <b>External Ids for this team</b><br> 1711 * Type: <b>token</b><br> 1712 * Path: <b>CareTeam.identifier</b><br> 1713 * </p> 1714 */ 1715 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1716 1717 /** 1718 * Search parameter: <b>patient</b> 1719 * <p> 1720 * Description: <b>Who care team is for</b><br> 1721 * Type: <b>reference</b><br> 1722 * Path: <b>CareTeam.subject</b><br> 1723 * </p> 1724 */ 1725 @SearchParamDefinition(name="patient", path="CareTeam.subject.where(resolve() is Patient)", description="Who care team is for", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.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>Who care team is for</b><br> 1731 * Type: <b>reference</b><br> 1732 * Path: <b>CareTeam.subject</b><br> 1733 * </p> 1734 */ 1735 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1736 1737/** 1738 * Constant for fluent queries to be used to add include statements. Specifies 1739 * the path value of "<b>CareTeam:patient</b>". 1740 */ 1741 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("CareTeam:patient").toLocked(); 1742 1743 /** 1744 * Search parameter: <b>subject</b> 1745 * <p> 1746 * Description: <b>Who care team is for</b><br> 1747 * Type: <b>reference</b><br> 1748 * Path: <b>CareTeam.subject</b><br> 1749 * </p> 1750 */ 1751 @SearchParamDefinition(name="subject", path="CareTeam.subject", description="Who care team is for", type="reference", target={Group.class, Patient.class } ) 1752 public static final String SP_SUBJECT = "subject"; 1753 /** 1754 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1755 * <p> 1756 * Description: <b>Who care team is for</b><br> 1757 * Type: <b>reference</b><br> 1758 * Path: <b>CareTeam.subject</b><br> 1759 * </p> 1760 */ 1761 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1762 1763/** 1764 * Constant for fluent queries to be used to add include statements. Specifies 1765 * the path value of "<b>CareTeam:subject</b>". 1766 */ 1767 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("CareTeam:subject").toLocked(); 1768 1769 /** 1770 * Search parameter: <b>context</b> 1771 * <p> 1772 * Description: <b>Encounter or episode associated with CareTeam</b><br> 1773 * Type: <b>reference</b><br> 1774 * Path: <b>CareTeam.context</b><br> 1775 * </p> 1776 */ 1777 @SearchParamDefinition(name="context", path="CareTeam.context", description="Encounter or episode associated with CareTeam", type="reference", target={Encounter.class, EpisodeOfCare.class } ) 1778 public static final String SP_CONTEXT = "context"; 1779 /** 1780 * <b>Fluent Client</b> search parameter constant for <b>context</b> 1781 * <p> 1782 * Description: <b>Encounter or episode associated with CareTeam</b><br> 1783 * Type: <b>reference</b><br> 1784 * Path: <b>CareTeam.context</b><br> 1785 * </p> 1786 */ 1787 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTEXT); 1788 1789/** 1790 * Constant for fluent queries to be used to add include statements. Specifies 1791 * the path value of "<b>CareTeam:context</b>". 1792 */ 1793 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTEXT = new ca.uhn.fhir.model.api.Include("CareTeam:context").toLocked(); 1794 1795 /** 1796 * Search parameter: <b>encounter</b> 1797 * <p> 1798 * Description: <b>Encounter or episode associated with CareTeam</b><br> 1799 * Type: <b>reference</b><br> 1800 * Path: <b>CareTeam.context</b><br> 1801 * </p> 1802 */ 1803 @SearchParamDefinition(name="encounter", path="CareTeam.context.where(resolve() is Encounter)", description="Encounter or episode associated with CareTeam", type="reference", target={Encounter.class } ) 1804 public static final String SP_ENCOUNTER = "encounter"; 1805 /** 1806 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 1807 * <p> 1808 * Description: <b>Encounter or episode associated with CareTeam</b><br> 1809 * Type: <b>reference</b><br> 1810 * Path: <b>CareTeam.context</b><br> 1811 * </p> 1812 */ 1813 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 1814 1815/** 1816 * Constant for fluent queries to be used to add include statements. Specifies 1817 * the path value of "<b>CareTeam:encounter</b>". 1818 */ 1819 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("CareTeam:encounter").toLocked(); 1820 1821 /** 1822 * Search parameter: <b>category</b> 1823 * <p> 1824 * Description: <b>Type of team</b><br> 1825 * Type: <b>token</b><br> 1826 * Path: <b>CareTeam.category</b><br> 1827 * </p> 1828 */ 1829 @SearchParamDefinition(name="category", path="CareTeam.category", description="Type of team", type="token" ) 1830 public static final String SP_CATEGORY = "category"; 1831 /** 1832 * <b>Fluent Client</b> search parameter constant for <b>category</b> 1833 * <p> 1834 * Description: <b>Type of team</b><br> 1835 * Type: <b>token</b><br> 1836 * Path: <b>CareTeam.category</b><br> 1837 * </p> 1838 */ 1839 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 1840 1841 /** 1842 * Search parameter: <b>participant</b> 1843 * <p> 1844 * Description: <b>Who is involved</b><br> 1845 * Type: <b>reference</b><br> 1846 * Path: <b>CareTeam.participant.member</b><br> 1847 * </p> 1848 */ 1849 @SearchParamDefinition(name="participant", path="CareTeam.participant.member", description="Who is involved", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="RelatedPerson") }, target={CareTeam.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 1850 public static final String SP_PARTICIPANT = "participant"; 1851 /** 1852 * <b>Fluent Client</b> search parameter constant for <b>participant</b> 1853 * <p> 1854 * Description: <b>Who is involved</b><br> 1855 * Type: <b>reference</b><br> 1856 * Path: <b>CareTeam.participant.member</b><br> 1857 * </p> 1858 */ 1859 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); 1860 1861/** 1862 * Constant for fluent queries to be used to add include statements. Specifies 1863 * the path value of "<b>CareTeam:participant</b>". 1864 */ 1865 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("CareTeam:participant").toLocked(); 1866 1867 /** 1868 * Search parameter: <b>status</b> 1869 * <p> 1870 * Description: <b>proposed | active | suspended | inactive | entered-in-error</b><br> 1871 * Type: <b>token</b><br> 1872 * Path: <b>CareTeam.status</b><br> 1873 * </p> 1874 */ 1875 @SearchParamDefinition(name="status", path="CareTeam.status", description="proposed | active | suspended | inactive | entered-in-error", type="token" ) 1876 public static final String SP_STATUS = "status"; 1877 /** 1878 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1879 * <p> 1880 * Description: <b>proposed | active | suspended | inactive | entered-in-error</b><br> 1881 * Type: <b>token</b><br> 1882 * Path: <b>CareTeam.status</b><br> 1883 * </p> 1884 */ 1885 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1886 1887 1888} 1889