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