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