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