001package org.hl7.fhir.r4b.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * Demographics and administrative information about a person independent of a specific health-related context. 052 */ 053@ResourceDef(name="Person", profile="http://hl7.org/fhir/StructureDefinition/Person") 054public class Person extends DomainResource { 055 056 public enum IdentityAssuranceLevel { 057 /** 058 * Little or no confidence in the asserted identity's accuracy. 059 */ 060 LEVEL1, 061 /** 062 * Some confidence in the asserted identity's accuracy. 063 */ 064 LEVEL2, 065 /** 066 * High confidence in the asserted identity's accuracy. 067 */ 068 LEVEL3, 069 /** 070 * Very high confidence in the asserted identity's accuracy. 071 */ 072 LEVEL4, 073 /** 074 * added to help the parsers with the generic types 075 */ 076 NULL; 077 public static IdentityAssuranceLevel fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("level1".equals(codeString)) 081 return LEVEL1; 082 if ("level2".equals(codeString)) 083 return LEVEL2; 084 if ("level3".equals(codeString)) 085 return LEVEL3; 086 if ("level4".equals(codeString)) 087 return LEVEL4; 088 if (Configuration.isAcceptInvalidEnums()) 089 return null; 090 else 091 throw new FHIRException("Unknown IdentityAssuranceLevel code '"+codeString+"'"); 092 } 093 public String toCode() { 094 switch (this) { 095 case LEVEL1: return "level1"; 096 case LEVEL2: return "level2"; 097 case LEVEL3: return "level3"; 098 case LEVEL4: return "level4"; 099 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getSystem() { 104 switch (this) { 105 case LEVEL1: return "http://hl7.org/fhir/identity-assuranceLevel"; 106 case LEVEL2: return "http://hl7.org/fhir/identity-assuranceLevel"; 107 case LEVEL3: return "http://hl7.org/fhir/identity-assuranceLevel"; 108 case LEVEL4: return "http://hl7.org/fhir/identity-assuranceLevel"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 public String getDefinition() { 114 switch (this) { 115 case LEVEL1: return "Little or no confidence in the asserted identity's accuracy."; 116 case LEVEL2: return "Some confidence in the asserted identity's accuracy."; 117 case LEVEL3: return "High confidence in the asserted identity's accuracy."; 118 case LEVEL4: return "Very high confidence in the asserted identity's accuracy."; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 public String getDisplay() { 124 switch (this) { 125 case LEVEL1: return "Level 1"; 126 case LEVEL2: return "Level 2"; 127 case LEVEL3: return "Level 3"; 128 case LEVEL4: return "Level 4"; 129 case NULL: return null; 130 default: return "?"; 131 } 132 } 133 } 134 135 public static class IdentityAssuranceLevelEnumFactory implements EnumFactory<IdentityAssuranceLevel> { 136 public IdentityAssuranceLevel fromCode(String codeString) throws IllegalArgumentException { 137 if (codeString == null || "".equals(codeString)) 138 if (codeString == null || "".equals(codeString)) 139 return null; 140 if ("level1".equals(codeString)) 141 return IdentityAssuranceLevel.LEVEL1; 142 if ("level2".equals(codeString)) 143 return IdentityAssuranceLevel.LEVEL2; 144 if ("level3".equals(codeString)) 145 return IdentityAssuranceLevel.LEVEL3; 146 if ("level4".equals(codeString)) 147 return IdentityAssuranceLevel.LEVEL4; 148 throw new IllegalArgumentException("Unknown IdentityAssuranceLevel code '"+codeString+"'"); 149 } 150 public Enumeration<IdentityAssuranceLevel> fromType(Base code) throws FHIRException { 151 if (code == null) 152 return null; 153 if (code.isEmpty()) 154 return new Enumeration<IdentityAssuranceLevel>(this); 155 String codeString = ((PrimitiveType) code).asStringValue(); 156 if (codeString == null || "".equals(codeString)) 157 return null; 158 if ("level1".equals(codeString)) 159 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL1); 160 if ("level2".equals(codeString)) 161 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL2); 162 if ("level3".equals(codeString)) 163 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL3); 164 if ("level4".equals(codeString)) 165 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL4); 166 throw new FHIRException("Unknown IdentityAssuranceLevel code '"+codeString+"'"); 167 } 168 public String toCode(IdentityAssuranceLevel code) { 169 if (code == IdentityAssuranceLevel.LEVEL1) 170 return "level1"; 171 if (code == IdentityAssuranceLevel.LEVEL2) 172 return "level2"; 173 if (code == IdentityAssuranceLevel.LEVEL3) 174 return "level3"; 175 if (code == IdentityAssuranceLevel.LEVEL4) 176 return "level4"; 177 return "?"; 178 } 179 public String toSystem(IdentityAssuranceLevel code) { 180 return code.getSystem(); 181 } 182 } 183 184 @Block() 185 public static class PersonLinkComponent extends BackboneElement implements IBaseBackboneElement { 186 /** 187 * The resource to which this actual person is associated. 188 */ 189 @Child(name = "target", type = {Patient.class, Practitioner.class, RelatedPerson.class, Person.class}, order=1, min=1, max=1, modifier=false, summary=false) 190 @Description(shortDefinition="The resource to which this actual person is associated", formalDefinition="The resource to which this actual person is associated." ) 191 protected Reference target; 192 193 /** 194 * Level of assurance that this link is associated with the target resource. 195 */ 196 @Child(name = "assurance", type = {CodeType.class}, order=2, min=0, max=1, modifier=false, summary=false) 197 @Description(shortDefinition="level1 | level2 | level3 | level4", formalDefinition="Level of assurance that this link is associated with the target resource." ) 198 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/identity-assuranceLevel") 199 protected Enumeration<IdentityAssuranceLevel> assurance; 200 201 private static final long serialVersionUID = -1393523223L; 202 203 /** 204 * Constructor 205 */ 206 public PersonLinkComponent() { 207 super(); 208 } 209 210 /** 211 * Constructor 212 */ 213 public PersonLinkComponent(Reference target) { 214 super(); 215 this.setTarget(target); 216 } 217 218 /** 219 * @return {@link #target} (The resource to which this actual person is associated.) 220 */ 221 public Reference getTarget() { 222 if (this.target == null) 223 if (Configuration.errorOnAutoCreate()) 224 throw new Error("Attempt to auto-create PersonLinkComponent.target"); 225 else if (Configuration.doAutoCreate()) 226 this.target = new Reference(); // cc 227 return this.target; 228 } 229 230 public boolean hasTarget() { 231 return this.target != null && !this.target.isEmpty(); 232 } 233 234 /** 235 * @param value {@link #target} (The resource to which this actual person is associated.) 236 */ 237 public PersonLinkComponent setTarget(Reference value) { 238 this.target = value; 239 return this; 240 } 241 242 /** 243 * @return {@link #assurance} (Level of assurance that this link is associated with the target resource.). This is the underlying object with id, value and extensions. The accessor "getAssurance" gives direct access to the value 244 */ 245 public Enumeration<IdentityAssuranceLevel> getAssuranceElement() { 246 if (this.assurance == null) 247 if (Configuration.errorOnAutoCreate()) 248 throw new Error("Attempt to auto-create PersonLinkComponent.assurance"); 249 else if (Configuration.doAutoCreate()) 250 this.assurance = new Enumeration<IdentityAssuranceLevel>(new IdentityAssuranceLevelEnumFactory()); // bb 251 return this.assurance; 252 } 253 254 public boolean hasAssuranceElement() { 255 return this.assurance != null && !this.assurance.isEmpty(); 256 } 257 258 public boolean hasAssurance() { 259 return this.assurance != null && !this.assurance.isEmpty(); 260 } 261 262 /** 263 * @param value {@link #assurance} (Level of assurance that this link is associated with the target resource.). This is the underlying object with id, value and extensions. The accessor "getAssurance" gives direct access to the value 264 */ 265 public PersonLinkComponent setAssuranceElement(Enumeration<IdentityAssuranceLevel> value) { 266 this.assurance = value; 267 return this; 268 } 269 270 /** 271 * @return Level of assurance that this link is associated with the target resource. 272 */ 273 public IdentityAssuranceLevel getAssurance() { 274 return this.assurance == null ? null : this.assurance.getValue(); 275 } 276 277 /** 278 * @param value Level of assurance that this link is associated with the target resource. 279 */ 280 public PersonLinkComponent setAssurance(IdentityAssuranceLevel value) { 281 if (value == null) 282 this.assurance = null; 283 else { 284 if (this.assurance == null) 285 this.assurance = new Enumeration<IdentityAssuranceLevel>(new IdentityAssuranceLevelEnumFactory()); 286 this.assurance.setValue(value); 287 } 288 return this; 289 } 290 291 protected void listChildren(List<Property> children) { 292 super.listChildren(children); 293 children.add(new Property("target", "Reference(Patient|Practitioner|RelatedPerson|Person)", "The resource to which this actual person is associated.", 0, 1, target)); 294 children.add(new Property("assurance", "code", "Level of assurance that this link is associated with the target resource.", 0, 1, assurance)); 295 } 296 297 @Override 298 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 299 switch (_hash) { 300 case -880905839: /*target*/ return new Property("target", "Reference(Patient|Practitioner|RelatedPerson|Person)", "The resource to which this actual person is associated.", 0, 1, target); 301 case 1771900717: /*assurance*/ return new Property("assurance", "code", "Level of assurance that this link is associated with the target resource.", 0, 1, assurance); 302 default: return super.getNamedProperty(_hash, _name, _checkValid); 303 } 304 305 } 306 307 @Override 308 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 309 switch (hash) { 310 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Reference 311 case 1771900717: /*assurance*/ return this.assurance == null ? new Base[0] : new Base[] {this.assurance}; // Enumeration<IdentityAssuranceLevel> 312 default: return super.getProperty(hash, name, checkValid); 313 } 314 315 } 316 317 @Override 318 public Base setProperty(int hash, String name, Base value) throws FHIRException { 319 switch (hash) { 320 case -880905839: // target 321 this.target = TypeConvertor.castToReference(value); // Reference 322 return value; 323 case 1771900717: // assurance 324 value = new IdentityAssuranceLevelEnumFactory().fromType(TypeConvertor.castToCode(value)); 325 this.assurance = (Enumeration) value; // Enumeration<IdentityAssuranceLevel> 326 return value; 327 default: return super.setProperty(hash, name, value); 328 } 329 330 } 331 332 @Override 333 public Base setProperty(String name, Base value) throws FHIRException { 334 if (name.equals("target")) { 335 this.target = TypeConvertor.castToReference(value); // Reference 336 } else if (name.equals("assurance")) { 337 value = new IdentityAssuranceLevelEnumFactory().fromType(TypeConvertor.castToCode(value)); 338 this.assurance = (Enumeration) value; // Enumeration<IdentityAssuranceLevel> 339 } else 340 return super.setProperty(name, value); 341 return value; 342 } 343 344 @Override 345 public Base makeProperty(int hash, String name) throws FHIRException { 346 switch (hash) { 347 case -880905839: return getTarget(); 348 case 1771900717: return getAssuranceElement(); 349 default: return super.makeProperty(hash, name); 350 } 351 352 } 353 354 @Override 355 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 356 switch (hash) { 357 case -880905839: /*target*/ return new String[] {"Reference"}; 358 case 1771900717: /*assurance*/ return new String[] {"code"}; 359 default: return super.getTypesForProperty(hash, name); 360 } 361 362 } 363 364 @Override 365 public Base addChild(String name) throws FHIRException { 366 if (name.equals("target")) { 367 this.target = new Reference(); 368 return this.target; 369 } 370 else if (name.equals("assurance")) { 371 throw new FHIRException("Cannot call addChild on a primitive type Person.link.assurance"); 372 } 373 else 374 return super.addChild(name); 375 } 376 377 public PersonLinkComponent copy() { 378 PersonLinkComponent dst = new PersonLinkComponent(); 379 copyValues(dst); 380 return dst; 381 } 382 383 public void copyValues(PersonLinkComponent dst) { 384 super.copyValues(dst); 385 dst.target = target == null ? null : target.copy(); 386 dst.assurance = assurance == null ? null : assurance.copy(); 387 } 388 389 @Override 390 public boolean equalsDeep(Base other_) { 391 if (!super.equalsDeep(other_)) 392 return false; 393 if (!(other_ instanceof PersonLinkComponent)) 394 return false; 395 PersonLinkComponent o = (PersonLinkComponent) other_; 396 return compareDeep(target, o.target, true) && compareDeep(assurance, o.assurance, true); 397 } 398 399 @Override 400 public boolean equalsShallow(Base other_) { 401 if (!super.equalsShallow(other_)) 402 return false; 403 if (!(other_ instanceof PersonLinkComponent)) 404 return false; 405 PersonLinkComponent o = (PersonLinkComponent) other_; 406 return compareValues(assurance, o.assurance, true); 407 } 408 409 public boolean isEmpty() { 410 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(target, assurance); 411 } 412 413 public String fhirType() { 414 return "Person.link"; 415 416 } 417 418 } 419 420 /** 421 * Identifier for a person within a particular scope. 422 */ 423 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 424 @Description(shortDefinition="A human identifier for this person", formalDefinition="Identifier for a person within a particular scope." ) 425 protected List<Identifier> identifier; 426 427 /** 428 * A name associated with the person. 429 */ 430 @Child(name = "name", type = {HumanName.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 431 @Description(shortDefinition="A name associated with the person", formalDefinition="A name associated with the person." ) 432 protected List<HumanName> name; 433 434 /** 435 * A contact detail for the person, e.g. a telephone number or an email address. 436 */ 437 @Child(name = "telecom", type = {ContactPoint.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 438 @Description(shortDefinition="A contact detail for the person", formalDefinition="A contact detail for the person, e.g. a telephone number or an email address." ) 439 protected List<ContactPoint> telecom; 440 441 /** 442 * Administrative Gender. 443 */ 444 @Child(name = "gender", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=true) 445 @Description(shortDefinition="male | female | other | unknown", formalDefinition="Administrative Gender." ) 446 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administrative-gender") 447 protected Enumeration<AdministrativeGender> gender; 448 449 /** 450 * The birth date for the person. 451 */ 452 @Child(name = "birthDate", type = {DateType.class}, order=4, min=0, max=1, modifier=false, summary=true) 453 @Description(shortDefinition="The date on which the person was born", formalDefinition="The birth date for the person." ) 454 protected DateType birthDate; 455 456 /** 457 * One or more addresses for the person. 458 */ 459 @Child(name = "address", type = {Address.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 460 @Description(shortDefinition="One or more addresses for the person", formalDefinition="One or more addresses for the person." ) 461 protected List<Address> address; 462 463 /** 464 * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. 465 */ 466 @Child(name = "photo", type = {Attachment.class}, order=6, min=0, max=1, modifier=false, summary=false) 467 @Description(shortDefinition="Image of the person", formalDefinition="An image that can be displayed as a thumbnail of the person to enhance the identification of the individual." ) 468 protected Attachment photo; 469 470 /** 471 * The organization that is the custodian of the person record. 472 */ 473 @Child(name = "managingOrganization", type = {Organization.class}, order=7, min=0, max=1, modifier=false, summary=true) 474 @Description(shortDefinition="The organization that is the custodian of the person record", formalDefinition="The organization that is the custodian of the person record." ) 475 protected Reference managingOrganization; 476 477 /** 478 * Whether this person's record is in active use. 479 */ 480 @Child(name = "active", type = {BooleanType.class}, order=8, min=0, max=1, modifier=true, summary=true) 481 @Description(shortDefinition="This person's record is in active use", formalDefinition="Whether this person's record is in active use." ) 482 protected BooleanType active; 483 484 /** 485 * Link to a resource that concerns the same actual person. 486 */ 487 @Child(name = "link", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 488 @Description(shortDefinition="Link to a resource that concerns the same actual person", formalDefinition="Link to a resource that concerns the same actual person." ) 489 protected List<PersonLinkComponent> link; 490 491 private static final long serialVersionUID = -237141861L; 492 493 /** 494 * Constructor 495 */ 496 public Person() { 497 super(); 498 } 499 500 /** 501 * @return {@link #identifier} (Identifier for a person within a particular scope.) 502 */ 503 public List<Identifier> getIdentifier() { 504 if (this.identifier == null) 505 this.identifier = new ArrayList<Identifier>(); 506 return this.identifier; 507 } 508 509 /** 510 * @return Returns a reference to <code>this</code> for easy method chaining 511 */ 512 public Person setIdentifier(List<Identifier> theIdentifier) { 513 this.identifier = theIdentifier; 514 return this; 515 } 516 517 public boolean hasIdentifier() { 518 if (this.identifier == null) 519 return false; 520 for (Identifier item : this.identifier) 521 if (!item.isEmpty()) 522 return true; 523 return false; 524 } 525 526 public Identifier addIdentifier() { //3 527 Identifier t = new Identifier(); 528 if (this.identifier == null) 529 this.identifier = new ArrayList<Identifier>(); 530 this.identifier.add(t); 531 return t; 532 } 533 534 public Person addIdentifier(Identifier t) { //3 535 if (t == null) 536 return this; 537 if (this.identifier == null) 538 this.identifier = new ArrayList<Identifier>(); 539 this.identifier.add(t); 540 return this; 541 } 542 543 /** 544 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 545 */ 546 public Identifier getIdentifierFirstRep() { 547 if (getIdentifier().isEmpty()) { 548 addIdentifier(); 549 } 550 return getIdentifier().get(0); 551 } 552 553 /** 554 * @return {@link #name} (A name associated with the person.) 555 */ 556 public List<HumanName> getName() { 557 if (this.name == null) 558 this.name = new ArrayList<HumanName>(); 559 return this.name; 560 } 561 562 /** 563 * @return Returns a reference to <code>this</code> for easy method chaining 564 */ 565 public Person setName(List<HumanName> theName) { 566 this.name = theName; 567 return this; 568 } 569 570 public boolean hasName() { 571 if (this.name == null) 572 return false; 573 for (HumanName item : this.name) 574 if (!item.isEmpty()) 575 return true; 576 return false; 577 } 578 579 public HumanName addName() { //3 580 HumanName t = new HumanName(); 581 if (this.name == null) 582 this.name = new ArrayList<HumanName>(); 583 this.name.add(t); 584 return t; 585 } 586 587 public Person addName(HumanName t) { //3 588 if (t == null) 589 return this; 590 if (this.name == null) 591 this.name = new ArrayList<HumanName>(); 592 this.name.add(t); 593 return this; 594 } 595 596 /** 597 * @return The first repetition of repeating field {@link #name}, creating it if it does not already exist {3} 598 */ 599 public HumanName getNameFirstRep() { 600 if (getName().isEmpty()) { 601 addName(); 602 } 603 return getName().get(0); 604 } 605 606 /** 607 * @return {@link #telecom} (A contact detail for the person, e.g. a telephone number or an email address.) 608 */ 609 public List<ContactPoint> getTelecom() { 610 if (this.telecom == null) 611 this.telecom = new ArrayList<ContactPoint>(); 612 return this.telecom; 613 } 614 615 /** 616 * @return Returns a reference to <code>this</code> for easy method chaining 617 */ 618 public Person setTelecom(List<ContactPoint> theTelecom) { 619 this.telecom = theTelecom; 620 return this; 621 } 622 623 public boolean hasTelecom() { 624 if (this.telecom == null) 625 return false; 626 for (ContactPoint item : this.telecom) 627 if (!item.isEmpty()) 628 return true; 629 return false; 630 } 631 632 public ContactPoint addTelecom() { //3 633 ContactPoint t = new ContactPoint(); 634 if (this.telecom == null) 635 this.telecom = new ArrayList<ContactPoint>(); 636 this.telecom.add(t); 637 return t; 638 } 639 640 public Person addTelecom(ContactPoint t) { //3 641 if (t == null) 642 return this; 643 if (this.telecom == null) 644 this.telecom = new ArrayList<ContactPoint>(); 645 this.telecom.add(t); 646 return this; 647 } 648 649 /** 650 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} 651 */ 652 public ContactPoint getTelecomFirstRep() { 653 if (getTelecom().isEmpty()) { 654 addTelecom(); 655 } 656 return getTelecom().get(0); 657 } 658 659 /** 660 * @return {@link #gender} (Administrative Gender.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 661 */ 662 public Enumeration<AdministrativeGender> getGenderElement() { 663 if (this.gender == null) 664 if (Configuration.errorOnAutoCreate()) 665 throw new Error("Attempt to auto-create Person.gender"); 666 else if (Configuration.doAutoCreate()) 667 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); // bb 668 return this.gender; 669 } 670 671 public boolean hasGenderElement() { 672 return this.gender != null && !this.gender.isEmpty(); 673 } 674 675 public boolean hasGender() { 676 return this.gender != null && !this.gender.isEmpty(); 677 } 678 679 /** 680 * @param value {@link #gender} (Administrative Gender.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 681 */ 682 public Person setGenderElement(Enumeration<AdministrativeGender> value) { 683 this.gender = value; 684 return this; 685 } 686 687 /** 688 * @return Administrative Gender. 689 */ 690 public AdministrativeGender getGender() { 691 return this.gender == null ? null : this.gender.getValue(); 692 } 693 694 /** 695 * @param value Administrative Gender. 696 */ 697 public Person setGender(AdministrativeGender value) { 698 if (value == null) 699 this.gender = null; 700 else { 701 if (this.gender == null) 702 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); 703 this.gender.setValue(value); 704 } 705 return this; 706 } 707 708 /** 709 * @return {@link #birthDate} (The birth date for the person.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value 710 */ 711 public DateType getBirthDateElement() { 712 if (this.birthDate == null) 713 if (Configuration.errorOnAutoCreate()) 714 throw new Error("Attempt to auto-create Person.birthDate"); 715 else if (Configuration.doAutoCreate()) 716 this.birthDate = new DateType(); // bb 717 return this.birthDate; 718 } 719 720 public boolean hasBirthDateElement() { 721 return this.birthDate != null && !this.birthDate.isEmpty(); 722 } 723 724 public boolean hasBirthDate() { 725 return this.birthDate != null && !this.birthDate.isEmpty(); 726 } 727 728 /** 729 * @param value {@link #birthDate} (The birth date for the person.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value 730 */ 731 public Person setBirthDateElement(DateType value) { 732 this.birthDate = value; 733 return this; 734 } 735 736 /** 737 * @return The birth date for the person. 738 */ 739 public Date getBirthDate() { 740 return this.birthDate == null ? null : this.birthDate.getValue(); 741 } 742 743 /** 744 * @param value The birth date for the person. 745 */ 746 public Person setBirthDate(Date value) { 747 if (value == null) 748 this.birthDate = null; 749 else { 750 if (this.birthDate == null) 751 this.birthDate = new DateType(); 752 this.birthDate.setValue(value); 753 } 754 return this; 755 } 756 757 /** 758 * @return {@link #address} (One or more addresses for the person.) 759 */ 760 public List<Address> getAddress() { 761 if (this.address == null) 762 this.address = new ArrayList<Address>(); 763 return this.address; 764 } 765 766 /** 767 * @return Returns a reference to <code>this</code> for easy method chaining 768 */ 769 public Person setAddress(List<Address> theAddress) { 770 this.address = theAddress; 771 return this; 772 } 773 774 public boolean hasAddress() { 775 if (this.address == null) 776 return false; 777 for (Address item : this.address) 778 if (!item.isEmpty()) 779 return true; 780 return false; 781 } 782 783 public Address addAddress() { //3 784 Address t = new Address(); 785 if (this.address == null) 786 this.address = new ArrayList<Address>(); 787 this.address.add(t); 788 return t; 789 } 790 791 public Person addAddress(Address t) { //3 792 if (t == null) 793 return this; 794 if (this.address == null) 795 this.address = new ArrayList<Address>(); 796 this.address.add(t); 797 return this; 798 } 799 800 /** 801 * @return The first repetition of repeating field {@link #address}, creating it if it does not already exist {3} 802 */ 803 public Address getAddressFirstRep() { 804 if (getAddress().isEmpty()) { 805 addAddress(); 806 } 807 return getAddress().get(0); 808 } 809 810 /** 811 * @return {@link #photo} (An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.) 812 */ 813 public Attachment getPhoto() { 814 if (this.photo == null) 815 if (Configuration.errorOnAutoCreate()) 816 throw new Error("Attempt to auto-create Person.photo"); 817 else if (Configuration.doAutoCreate()) 818 this.photo = new Attachment(); // cc 819 return this.photo; 820 } 821 822 public boolean hasPhoto() { 823 return this.photo != null && !this.photo.isEmpty(); 824 } 825 826 /** 827 * @param value {@link #photo} (An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.) 828 */ 829 public Person setPhoto(Attachment value) { 830 this.photo = value; 831 return this; 832 } 833 834 /** 835 * @return {@link #managingOrganization} (The organization that is the custodian of the person record.) 836 */ 837 public Reference getManagingOrganization() { 838 if (this.managingOrganization == null) 839 if (Configuration.errorOnAutoCreate()) 840 throw new Error("Attempt to auto-create Person.managingOrganization"); 841 else if (Configuration.doAutoCreate()) 842 this.managingOrganization = new Reference(); // cc 843 return this.managingOrganization; 844 } 845 846 public boolean hasManagingOrganization() { 847 return this.managingOrganization != null && !this.managingOrganization.isEmpty(); 848 } 849 850 /** 851 * @param value {@link #managingOrganization} (The organization that is the custodian of the person record.) 852 */ 853 public Person setManagingOrganization(Reference value) { 854 this.managingOrganization = value; 855 return this; 856 } 857 858 /** 859 * @return {@link #active} (Whether this person's record is in active use.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 860 */ 861 public BooleanType getActiveElement() { 862 if (this.active == null) 863 if (Configuration.errorOnAutoCreate()) 864 throw new Error("Attempt to auto-create Person.active"); 865 else if (Configuration.doAutoCreate()) 866 this.active = new BooleanType(); // bb 867 return this.active; 868 } 869 870 public boolean hasActiveElement() { 871 return this.active != null && !this.active.isEmpty(); 872 } 873 874 public boolean hasActive() { 875 return this.active != null && !this.active.isEmpty(); 876 } 877 878 /** 879 * @param value {@link #active} (Whether this person's record is in active use.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 880 */ 881 public Person setActiveElement(BooleanType value) { 882 this.active = value; 883 return this; 884 } 885 886 /** 887 * @return Whether this person's record is in active use. 888 */ 889 public boolean getActive() { 890 return this.active == null || this.active.isEmpty() ? false : this.active.getValue(); 891 } 892 893 /** 894 * @param value Whether this person's record is in active use. 895 */ 896 public Person setActive(boolean value) { 897 if (this.active == null) 898 this.active = new BooleanType(); 899 this.active.setValue(value); 900 return this; 901 } 902 903 /** 904 * @return {@link #link} (Link to a resource that concerns the same actual person.) 905 */ 906 public List<PersonLinkComponent> getLink() { 907 if (this.link == null) 908 this.link = new ArrayList<PersonLinkComponent>(); 909 return this.link; 910 } 911 912 /** 913 * @return Returns a reference to <code>this</code> for easy method chaining 914 */ 915 public Person setLink(List<PersonLinkComponent> theLink) { 916 this.link = theLink; 917 return this; 918 } 919 920 public boolean hasLink() { 921 if (this.link == null) 922 return false; 923 for (PersonLinkComponent item : this.link) 924 if (!item.isEmpty()) 925 return true; 926 return false; 927 } 928 929 public PersonLinkComponent addLink() { //3 930 PersonLinkComponent t = new PersonLinkComponent(); 931 if (this.link == null) 932 this.link = new ArrayList<PersonLinkComponent>(); 933 this.link.add(t); 934 return t; 935 } 936 937 public Person addLink(PersonLinkComponent t) { //3 938 if (t == null) 939 return this; 940 if (this.link == null) 941 this.link = new ArrayList<PersonLinkComponent>(); 942 this.link.add(t); 943 return this; 944 } 945 946 /** 947 * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist {3} 948 */ 949 public PersonLinkComponent getLinkFirstRep() { 950 if (getLink().isEmpty()) { 951 addLink(); 952 } 953 return getLink().get(0); 954 } 955 956 protected void listChildren(List<Property> children) { 957 super.listChildren(children); 958 children.add(new Property("identifier", "Identifier", "Identifier for a person within a particular scope.", 0, java.lang.Integer.MAX_VALUE, identifier)); 959 children.add(new Property("name", "HumanName", "A name associated with the person.", 0, java.lang.Integer.MAX_VALUE, name)); 960 children.add(new Property("telecom", "ContactPoint", "A contact detail for the person, e.g. a telephone number or an email address.", 0, java.lang.Integer.MAX_VALUE, telecom)); 961 children.add(new Property("gender", "code", "Administrative Gender.", 0, 1, gender)); 962 children.add(new Property("birthDate", "date", "The birth date for the person.", 0, 1, birthDate)); 963 children.add(new Property("address", "Address", "One or more addresses for the person.", 0, java.lang.Integer.MAX_VALUE, address)); 964 children.add(new Property("photo", "Attachment", "An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.", 0, 1, photo)); 965 children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization)); 966 children.add(new Property("active", "boolean", "Whether this person's record is in active use.", 0, 1, active)); 967 children.add(new Property("link", "", "Link to a resource that concerns the same actual person.", 0, java.lang.Integer.MAX_VALUE, link)); 968 } 969 970 @Override 971 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 972 switch (_hash) { 973 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifier for a person within a particular scope.", 0, java.lang.Integer.MAX_VALUE, identifier); 974 case 3373707: /*name*/ return new Property("name", "HumanName", "A name associated with the person.", 0, java.lang.Integer.MAX_VALUE, name); 975 case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "A contact detail for the person, e.g. a telephone number or an email address.", 0, java.lang.Integer.MAX_VALUE, telecom); 976 case -1249512767: /*gender*/ return new Property("gender", "code", "Administrative Gender.", 0, 1, gender); 977 case -1210031859: /*birthDate*/ return new Property("birthDate", "date", "The birth date for the person.", 0, 1, birthDate); 978 case -1147692044: /*address*/ return new Property("address", "Address", "One or more addresses for the person.", 0, java.lang.Integer.MAX_VALUE, address); 979 case 106642994: /*photo*/ return new Property("photo", "Attachment", "An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.", 0, 1, photo); 980 case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization); 981 case -1422950650: /*active*/ return new Property("active", "boolean", "Whether this person's record is in active use.", 0, 1, active); 982 case 3321850: /*link*/ return new Property("link", "", "Link to a resource that concerns the same actual person.", 0, java.lang.Integer.MAX_VALUE, link); 983 default: return super.getNamedProperty(_hash, _name, _checkValid); 984 } 985 986 } 987 988 @Override 989 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 990 switch (hash) { 991 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 992 case 3373707: /*name*/ return this.name == null ? new Base[0] : this.name.toArray(new Base[this.name.size()]); // HumanName 993 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 994 case -1249512767: /*gender*/ return this.gender == null ? new Base[0] : new Base[] {this.gender}; // Enumeration<AdministrativeGender> 995 case -1210031859: /*birthDate*/ return this.birthDate == null ? new Base[0] : new Base[] {this.birthDate}; // DateType 996 case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address 997 case 106642994: /*photo*/ return this.photo == null ? new Base[0] : new Base[] {this.photo}; // Attachment 998 case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference 999 case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType 1000 case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // PersonLinkComponent 1001 default: return super.getProperty(hash, name, checkValid); 1002 } 1003 1004 } 1005 1006 @Override 1007 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1008 switch (hash) { 1009 case -1618432855: // identifier 1010 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1011 return value; 1012 case 3373707: // name 1013 this.getName().add(TypeConvertor.castToHumanName(value)); // HumanName 1014 return value; 1015 case -1429363305: // telecom 1016 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint 1017 return value; 1018 case -1249512767: // gender 1019 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1020 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1021 return value; 1022 case -1210031859: // birthDate 1023 this.birthDate = TypeConvertor.castToDate(value); // DateType 1024 return value; 1025 case -1147692044: // address 1026 this.getAddress().add(TypeConvertor.castToAddress(value)); // Address 1027 return value; 1028 case 106642994: // photo 1029 this.photo = TypeConvertor.castToAttachment(value); // Attachment 1030 return value; 1031 case -2058947787: // managingOrganization 1032 this.managingOrganization = TypeConvertor.castToReference(value); // Reference 1033 return value; 1034 case -1422950650: // active 1035 this.active = TypeConvertor.castToBoolean(value); // BooleanType 1036 return value; 1037 case 3321850: // link 1038 this.getLink().add((PersonLinkComponent) value); // PersonLinkComponent 1039 return value; 1040 default: return super.setProperty(hash, name, value); 1041 } 1042 1043 } 1044 1045 @Override 1046 public Base setProperty(String name, Base value) throws FHIRException { 1047 if (name.equals("identifier")) { 1048 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1049 } else if (name.equals("name")) { 1050 this.getName().add(TypeConvertor.castToHumanName(value)); 1051 } else if (name.equals("telecom")) { 1052 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); 1053 } else if (name.equals("gender")) { 1054 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1055 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1056 } else if (name.equals("birthDate")) { 1057 this.birthDate = TypeConvertor.castToDate(value); // DateType 1058 } else if (name.equals("address")) { 1059 this.getAddress().add(TypeConvertor.castToAddress(value)); 1060 } else if (name.equals("photo")) { 1061 this.photo = TypeConvertor.castToAttachment(value); // Attachment 1062 } else if (name.equals("managingOrganization")) { 1063 this.managingOrganization = TypeConvertor.castToReference(value); // Reference 1064 } else if (name.equals("active")) { 1065 this.active = TypeConvertor.castToBoolean(value); // BooleanType 1066 } else if (name.equals("link")) { 1067 this.getLink().add((PersonLinkComponent) value); 1068 } else 1069 return super.setProperty(name, value); 1070 return value; 1071 } 1072 1073 @Override 1074 public Base makeProperty(int hash, String name) throws FHIRException { 1075 switch (hash) { 1076 case -1618432855: return addIdentifier(); 1077 case 3373707: return addName(); 1078 case -1429363305: return addTelecom(); 1079 case -1249512767: return getGenderElement(); 1080 case -1210031859: return getBirthDateElement(); 1081 case -1147692044: return addAddress(); 1082 case 106642994: return getPhoto(); 1083 case -2058947787: return getManagingOrganization(); 1084 case -1422950650: return getActiveElement(); 1085 case 3321850: return addLink(); 1086 default: return super.makeProperty(hash, name); 1087 } 1088 1089 } 1090 1091 @Override 1092 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1093 switch (hash) { 1094 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1095 case 3373707: /*name*/ return new String[] {"HumanName"}; 1096 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 1097 case -1249512767: /*gender*/ return new String[] {"code"}; 1098 case -1210031859: /*birthDate*/ return new String[] {"date"}; 1099 case -1147692044: /*address*/ return new String[] {"Address"}; 1100 case 106642994: /*photo*/ return new String[] {"Attachment"}; 1101 case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; 1102 case -1422950650: /*active*/ return new String[] {"boolean"}; 1103 case 3321850: /*link*/ return new String[] {}; 1104 default: return super.getTypesForProperty(hash, name); 1105 } 1106 1107 } 1108 1109 @Override 1110 public Base addChild(String name) throws FHIRException { 1111 if (name.equals("identifier")) { 1112 return addIdentifier(); 1113 } 1114 else if (name.equals("name")) { 1115 return addName(); 1116 } 1117 else if (name.equals("telecom")) { 1118 return addTelecom(); 1119 } 1120 else if (name.equals("gender")) { 1121 throw new FHIRException("Cannot call addChild on a primitive type Person.gender"); 1122 } 1123 else if (name.equals("birthDate")) { 1124 throw new FHIRException("Cannot call addChild on a primitive type Person.birthDate"); 1125 } 1126 else if (name.equals("address")) { 1127 return addAddress(); 1128 } 1129 else if (name.equals("photo")) { 1130 this.photo = new Attachment(); 1131 return this.photo; 1132 } 1133 else if (name.equals("managingOrganization")) { 1134 this.managingOrganization = new Reference(); 1135 return this.managingOrganization; 1136 } 1137 else if (name.equals("active")) { 1138 throw new FHIRException("Cannot call addChild on a primitive type Person.active"); 1139 } 1140 else if (name.equals("link")) { 1141 return addLink(); 1142 } 1143 else 1144 return super.addChild(name); 1145 } 1146 1147 public String fhirType() { 1148 return "Person"; 1149 1150 } 1151 1152 public Person copy() { 1153 Person dst = new Person(); 1154 copyValues(dst); 1155 return dst; 1156 } 1157 1158 public void copyValues(Person dst) { 1159 super.copyValues(dst); 1160 if (identifier != null) { 1161 dst.identifier = new ArrayList<Identifier>(); 1162 for (Identifier i : identifier) 1163 dst.identifier.add(i.copy()); 1164 }; 1165 if (name != null) { 1166 dst.name = new ArrayList<HumanName>(); 1167 for (HumanName i : name) 1168 dst.name.add(i.copy()); 1169 }; 1170 if (telecom != null) { 1171 dst.telecom = new ArrayList<ContactPoint>(); 1172 for (ContactPoint i : telecom) 1173 dst.telecom.add(i.copy()); 1174 }; 1175 dst.gender = gender == null ? null : gender.copy(); 1176 dst.birthDate = birthDate == null ? null : birthDate.copy(); 1177 if (address != null) { 1178 dst.address = new ArrayList<Address>(); 1179 for (Address i : address) 1180 dst.address.add(i.copy()); 1181 }; 1182 dst.photo = photo == null ? null : photo.copy(); 1183 dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); 1184 dst.active = active == null ? null : active.copy(); 1185 if (link != null) { 1186 dst.link = new ArrayList<PersonLinkComponent>(); 1187 for (PersonLinkComponent i : link) 1188 dst.link.add(i.copy()); 1189 }; 1190 } 1191 1192 protected Person typedCopy() { 1193 return copy(); 1194 } 1195 1196 @Override 1197 public boolean equalsDeep(Base other_) { 1198 if (!super.equalsDeep(other_)) 1199 return false; 1200 if (!(other_ instanceof Person)) 1201 return false; 1202 Person o = (Person) other_; 1203 return compareDeep(identifier, o.identifier, true) && compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true) 1204 && compareDeep(gender, o.gender, true) && compareDeep(birthDate, o.birthDate, true) && compareDeep(address, o.address, true) 1205 && compareDeep(photo, o.photo, true) && compareDeep(managingOrganization, o.managingOrganization, true) 1206 && compareDeep(active, o.active, true) && compareDeep(link, o.link, true); 1207 } 1208 1209 @Override 1210 public boolean equalsShallow(Base other_) { 1211 if (!super.equalsShallow(other_)) 1212 return false; 1213 if (!(other_ instanceof Person)) 1214 return false; 1215 Person o = (Person) other_; 1216 return compareValues(gender, o.gender, true) && compareValues(birthDate, o.birthDate, true) && compareValues(active, o.active, true) 1217 ; 1218 } 1219 1220 public boolean isEmpty() { 1221 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, name, telecom 1222 , gender, birthDate, address, photo, managingOrganization, active, link); 1223 } 1224 1225 @Override 1226 public ResourceType getResourceType() { 1227 return ResourceType.Person; 1228 } 1229 1230 /** 1231 * Search parameter: <b>identifier</b> 1232 * <p> 1233 * Description: <b>A person Identifier</b><br> 1234 * Type: <b>token</b><br> 1235 * Path: <b>Person.identifier</b><br> 1236 * </p> 1237 */ 1238 @SearchParamDefinition(name="identifier", path="Person.identifier", description="A person Identifier", type="token" ) 1239 public static final String SP_IDENTIFIER = "identifier"; 1240 /** 1241 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1242 * <p> 1243 * Description: <b>A person Identifier</b><br> 1244 * Type: <b>token</b><br> 1245 * Path: <b>Person.identifier</b><br> 1246 * </p> 1247 */ 1248 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1249 1250 /** 1251 * Search parameter: <b>link</b> 1252 * <p> 1253 * Description: <b>Any link has this Patient, Person, RelatedPerson or Practitioner reference</b><br> 1254 * Type: <b>reference</b><br> 1255 * Path: <b>Person.link.target</b><br> 1256 * </p> 1257 */ 1258 @SearchParamDefinition(name="link", path="Person.link.target", description="Any link has this Patient, Person, RelatedPerson or Practitioner reference", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Patient.class, Person.class, Practitioner.class, RelatedPerson.class } ) 1259 public static final String SP_LINK = "link"; 1260 /** 1261 * <b>Fluent Client</b> search parameter constant for <b>link</b> 1262 * <p> 1263 * Description: <b>Any link has this Patient, Person, RelatedPerson or Practitioner reference</b><br> 1264 * Type: <b>reference</b><br> 1265 * Path: <b>Person.link.target</b><br> 1266 * </p> 1267 */ 1268 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LINK = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LINK); 1269 1270/** 1271 * Constant for fluent queries to be used to add include statements. Specifies 1272 * the path value of "<b>Person:link</b>". 1273 */ 1274 public static final ca.uhn.fhir.model.api.Include INCLUDE_LINK = new ca.uhn.fhir.model.api.Include("Person:link").toLocked(); 1275 1276 /** 1277 * Search parameter: <b>name</b> 1278 * <p> 1279 * Description: <b>A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text</b><br> 1280 * Type: <b>string</b><br> 1281 * Path: <b>Person.name</b><br> 1282 * </p> 1283 */ 1284 @SearchParamDefinition(name="name", path="Person.name", description="A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text", type="string" ) 1285 public static final String SP_NAME = "name"; 1286 /** 1287 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1288 * <p> 1289 * Description: <b>A server defined search that may match any of the string fields in the HumanName, including family, give, prefix, suffix, suffix, and/or text</b><br> 1290 * Type: <b>string</b><br> 1291 * Path: <b>Person.name</b><br> 1292 * </p> 1293 */ 1294 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1295 1296 /** 1297 * Search parameter: <b>organization</b> 1298 * <p> 1299 * Description: <b>The organization at which this person record is being managed</b><br> 1300 * Type: <b>reference</b><br> 1301 * Path: <b>Person.managingOrganization</b><br> 1302 * </p> 1303 */ 1304 @SearchParamDefinition(name="organization", path="Person.managingOrganization", description="The organization at which this person record is being managed", type="reference", target={Organization.class } ) 1305 public static final String SP_ORGANIZATION = "organization"; 1306 /** 1307 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 1308 * <p> 1309 * Description: <b>The organization at which this person record is being managed</b><br> 1310 * Type: <b>reference</b><br> 1311 * Path: <b>Person.managingOrganization</b><br> 1312 * </p> 1313 */ 1314 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ORGANIZATION); 1315 1316/** 1317 * Constant for fluent queries to be used to add include statements. Specifies 1318 * the path value of "<b>Person:organization</b>". 1319 */ 1320 public static final ca.uhn.fhir.model.api.Include INCLUDE_ORGANIZATION = new ca.uhn.fhir.model.api.Include("Person:organization").toLocked(); 1321 1322 /** 1323 * Search parameter: <b>patient</b> 1324 * <p> 1325 * Description: <b>The Person links to this Patient</b><br> 1326 * Type: <b>reference</b><br> 1327 * Path: <b>Person.link.target.where(resolve() is Patient)</b><br> 1328 * </p> 1329 */ 1330 @SearchParamDefinition(name="patient", path="Person.link.target.where(resolve() is Patient)", description="The Person links to this Patient", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class, Person.class, Practitioner.class, RelatedPerson.class } ) 1331 public static final String SP_PATIENT = "patient"; 1332 /** 1333 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1334 * <p> 1335 * Description: <b>The Person links to this Patient</b><br> 1336 * Type: <b>reference</b><br> 1337 * Path: <b>Person.link.target.where(resolve() is Patient)</b><br> 1338 * </p> 1339 */ 1340 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1341 1342/** 1343 * Constant for fluent queries to be used to add include statements. Specifies 1344 * the path value of "<b>Person:patient</b>". 1345 */ 1346 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Person:patient").toLocked(); 1347 1348 /** 1349 * Search parameter: <b>practitioner</b> 1350 * <p> 1351 * Description: <b>The Person links to this Practitioner</b><br> 1352 * Type: <b>reference</b><br> 1353 * Path: <b>Person.link.target.where(resolve() is Practitioner)</b><br> 1354 * </p> 1355 */ 1356 @SearchParamDefinition(name="practitioner", path="Person.link.target.where(resolve() is Practitioner)", description="The Person links to this Practitioner", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Patient.class, Person.class, Practitioner.class, RelatedPerson.class } ) 1357 public static final String SP_PRACTITIONER = "practitioner"; 1358 /** 1359 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 1360 * <p> 1361 * Description: <b>The Person links to this Practitioner</b><br> 1362 * Type: <b>reference</b><br> 1363 * Path: <b>Person.link.target.where(resolve() is Practitioner)</b><br> 1364 * </p> 1365 */ 1366 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRACTITIONER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRACTITIONER); 1367 1368/** 1369 * Constant for fluent queries to be used to add include statements. Specifies 1370 * the path value of "<b>Person:practitioner</b>". 1371 */ 1372 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRACTITIONER = new ca.uhn.fhir.model.api.Include("Person:practitioner").toLocked(); 1373 1374 /** 1375 * Search parameter: <b>relatedperson</b> 1376 * <p> 1377 * Description: <b>The Person links to this RelatedPerson</b><br> 1378 * Type: <b>reference</b><br> 1379 * Path: <b>Person.link.target.where(resolve() is RelatedPerson)</b><br> 1380 * </p> 1381 */ 1382 @SearchParamDefinition(name="relatedperson", path="Person.link.target.where(resolve() is RelatedPerson)", description="The Person links to this RelatedPerson", type="reference", target={Patient.class, Person.class, Practitioner.class, RelatedPerson.class } ) 1383 public static final String SP_RELATEDPERSON = "relatedperson"; 1384 /** 1385 * <b>Fluent Client</b> search parameter constant for <b>relatedperson</b> 1386 * <p> 1387 * Description: <b>The Person links to this RelatedPerson</b><br> 1388 * Type: <b>reference</b><br> 1389 * Path: <b>Person.link.target.where(resolve() is RelatedPerson)</b><br> 1390 * </p> 1391 */ 1392 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RELATEDPERSON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RELATEDPERSON); 1393 1394/** 1395 * Constant for fluent queries to be used to add include statements. Specifies 1396 * the path value of "<b>Person:relatedperson</b>". 1397 */ 1398 public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATEDPERSON = new ca.uhn.fhir.model.api.Include("Person:relatedperson").toLocked(); 1399 1400 /** 1401 * Search parameter: <b>address-city</b> 1402 * <p> 1403 * Description: <b>Multiple Resources: 1404 1405* [Patient](patient.html): A city specified in an address 1406* [Person](person.html): A city specified in an address 1407* [Practitioner](practitioner.html): A city specified in an address 1408* [RelatedPerson](relatedperson.html): A city specified in an address 1409</b><br> 1410 * Type: <b>string</b><br> 1411 * Path: <b>Patient.address.city | Person.address.city | Practitioner.address.city | RelatedPerson.address.city</b><br> 1412 * </p> 1413 */ 1414 @SearchParamDefinition(name="address-city", path="Patient.address.city | Person.address.city | Practitioner.address.city | RelatedPerson.address.city", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A city specified in an address\r\n* [Person](person.html): A city specified in an address\r\n* [Practitioner](practitioner.html): A city specified in an address\r\n* [RelatedPerson](relatedperson.html): A city specified in an address\r\n", type="string" ) 1415 public static final String SP_ADDRESS_CITY = "address-city"; 1416 /** 1417 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 1418 * <p> 1419 * Description: <b>Multiple Resources: 1420 1421* [Patient](patient.html): A city specified in an address 1422* [Person](person.html): A city specified in an address 1423* [Practitioner](practitioner.html): A city specified in an address 1424* [RelatedPerson](relatedperson.html): A city specified in an address 1425</b><br> 1426 * Type: <b>string</b><br> 1427 * Path: <b>Patient.address.city | Person.address.city | Practitioner.address.city | RelatedPerson.address.city</b><br> 1428 * </p> 1429 */ 1430 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_CITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_CITY); 1431 1432 /** 1433 * Search parameter: <b>address-country</b> 1434 * <p> 1435 * Description: <b>Multiple Resources: 1436 1437* [Patient](patient.html): A country specified in an address 1438* [Person](person.html): A country specified in an address 1439* [Practitioner](practitioner.html): A country specified in an address 1440* [RelatedPerson](relatedperson.html): A country specified in an address 1441</b><br> 1442 * Type: <b>string</b><br> 1443 * Path: <b>Patient.address.country | Person.address.country | Practitioner.address.country | RelatedPerson.address.country</b><br> 1444 * </p> 1445 */ 1446 @SearchParamDefinition(name="address-country", path="Patient.address.country | Person.address.country | Practitioner.address.country | RelatedPerson.address.country", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A country specified in an address\r\n* [Person](person.html): A country specified in an address\r\n* [Practitioner](practitioner.html): A country specified in an address\r\n* [RelatedPerson](relatedperson.html): A country specified in an address\r\n", type="string" ) 1447 public static final String SP_ADDRESS_COUNTRY = "address-country"; 1448 /** 1449 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 1450 * <p> 1451 * Description: <b>Multiple Resources: 1452 1453* [Patient](patient.html): A country specified in an address 1454* [Person](person.html): A country specified in an address 1455* [Practitioner](practitioner.html): A country specified in an address 1456* [RelatedPerson](relatedperson.html): A country specified in an address 1457</b><br> 1458 * Type: <b>string</b><br> 1459 * Path: <b>Patient.address.country | Person.address.country | Practitioner.address.country | RelatedPerson.address.country</b><br> 1460 * </p> 1461 */ 1462 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_COUNTRY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_COUNTRY); 1463 1464 /** 1465 * Search parameter: <b>address-postalcode</b> 1466 * <p> 1467 * Description: <b>Multiple Resources: 1468 1469* [Patient](patient.html): A postalCode specified in an address 1470* [Person](person.html): A postal code specified in an address 1471* [Practitioner](practitioner.html): A postalCode specified in an address 1472* [RelatedPerson](relatedperson.html): A postal code specified in an address 1473</b><br> 1474 * Type: <b>string</b><br> 1475 * Path: <b>Patient.address.postalCode | Person.address.postalCode | Practitioner.address.postalCode | RelatedPerson.address.postalCode</b><br> 1476 * </p> 1477 */ 1478 @SearchParamDefinition(name="address-postalcode", path="Patient.address.postalCode | Person.address.postalCode | Practitioner.address.postalCode | RelatedPerson.address.postalCode", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A postalCode specified in an address\r\n* [Person](person.html): A postal code specified in an address\r\n* [Practitioner](practitioner.html): A postalCode specified in an address\r\n* [RelatedPerson](relatedperson.html): A postal code specified in an address\r\n", type="string" ) 1479 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 1480 /** 1481 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 1482 * <p> 1483 * Description: <b>Multiple Resources: 1484 1485* [Patient](patient.html): A postalCode specified in an address 1486* [Person](person.html): A postal code specified in an address 1487* [Practitioner](practitioner.html): A postalCode specified in an address 1488* [RelatedPerson](relatedperson.html): A postal code specified in an address 1489</b><br> 1490 * Type: <b>string</b><br> 1491 * Path: <b>Patient.address.postalCode | Person.address.postalCode | Practitioner.address.postalCode | RelatedPerson.address.postalCode</b><br> 1492 * </p> 1493 */ 1494 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_POSTALCODE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_POSTALCODE); 1495 1496 /** 1497 * Search parameter: <b>address-state</b> 1498 * <p> 1499 * Description: <b>Multiple Resources: 1500 1501* [Patient](patient.html): A state specified in an address 1502* [Person](person.html): A state specified in an address 1503* [Practitioner](practitioner.html): A state specified in an address 1504* [RelatedPerson](relatedperson.html): A state specified in an address 1505</b><br> 1506 * Type: <b>string</b><br> 1507 * Path: <b>Patient.address.state | Person.address.state | Practitioner.address.state | RelatedPerson.address.state</b><br> 1508 * </p> 1509 */ 1510 @SearchParamDefinition(name="address-state", path="Patient.address.state | Person.address.state | Practitioner.address.state | RelatedPerson.address.state", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A state specified in an address\r\n* [Person](person.html): A state specified in an address\r\n* [Practitioner](practitioner.html): A state specified in an address\r\n* [RelatedPerson](relatedperson.html): A state specified in an address\r\n", type="string" ) 1511 public static final String SP_ADDRESS_STATE = "address-state"; 1512 /** 1513 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 1514 * <p> 1515 * Description: <b>Multiple Resources: 1516 1517* [Patient](patient.html): A state specified in an address 1518* [Person](person.html): A state specified in an address 1519* [Practitioner](practitioner.html): A state specified in an address 1520* [RelatedPerson](relatedperson.html): A state specified in an address 1521</b><br> 1522 * Type: <b>string</b><br> 1523 * Path: <b>Patient.address.state | Person.address.state | Practitioner.address.state | RelatedPerson.address.state</b><br> 1524 * </p> 1525 */ 1526 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_STATE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_STATE); 1527 1528 /** 1529 * Search parameter: <b>address-use</b> 1530 * <p> 1531 * Description: <b>Multiple Resources: 1532 1533* [Patient](patient.html): A use code specified in an address 1534* [Person](person.html): A use code specified in an address 1535* [Practitioner](practitioner.html): A use code specified in an address 1536* [RelatedPerson](relatedperson.html): A use code specified in an address 1537</b><br> 1538 * Type: <b>token</b><br> 1539 * Path: <b>Patient.address.use | Person.address.use | Practitioner.address.use | RelatedPerson.address.use</b><br> 1540 * </p> 1541 */ 1542 @SearchParamDefinition(name="address-use", path="Patient.address.use | Person.address.use | Practitioner.address.use | RelatedPerson.address.use", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A use code specified in an address\r\n* [Person](person.html): A use code specified in an address\r\n* [Practitioner](practitioner.html): A use code specified in an address\r\n* [RelatedPerson](relatedperson.html): A use code specified in an address\r\n", type="token" ) 1543 public static final String SP_ADDRESS_USE = "address-use"; 1544 /** 1545 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 1546 * <p> 1547 * Description: <b>Multiple Resources: 1548 1549* [Patient](patient.html): A use code specified in an address 1550* [Person](person.html): A use code specified in an address 1551* [Practitioner](practitioner.html): A use code specified in an address 1552* [RelatedPerson](relatedperson.html): A use code specified in an address 1553</b><br> 1554 * Type: <b>token</b><br> 1555 * Path: <b>Patient.address.use | Person.address.use | Practitioner.address.use | RelatedPerson.address.use</b><br> 1556 * </p> 1557 */ 1558 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDRESS_USE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDRESS_USE); 1559 1560 /** 1561 * Search parameter: <b>address</b> 1562 * <p> 1563 * Description: <b>Multiple Resources: 1564 1565* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1566* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1567* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1568* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1569</b><br> 1570 * Type: <b>string</b><br> 1571 * Path: <b>Patient.address | Person.address | Practitioner.address | RelatedPerson.address</b><br> 1572 * </p> 1573 */ 1574 @SearchParamDefinition(name="address", path="Patient.address | Person.address | Practitioner.address | RelatedPerson.address", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text\r\n", type="string" ) 1575 public static final String SP_ADDRESS = "address"; 1576 /** 1577 * <b>Fluent Client</b> search parameter constant for <b>address</b> 1578 * <p> 1579 * Description: <b>Multiple Resources: 1580 1581* [Patient](patient.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1582* [Person](person.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1583* [Practitioner](practitioner.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1584* [RelatedPerson](relatedperson.html): A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text 1585</b><br> 1586 * Type: <b>string</b><br> 1587 * Path: <b>Patient.address | Person.address | Practitioner.address | RelatedPerson.address</b><br> 1588 * </p> 1589 */ 1590 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); 1591 1592 /** 1593 * Search parameter: <b>birthdate</b> 1594 * <p> 1595 * Description: <b>Multiple Resources: 1596 1597* [Patient](patient.html): The patient's date of birth 1598* [Person](person.html): The person's date of birth 1599* [RelatedPerson](relatedperson.html): The Related Person's date of birth 1600</b><br> 1601 * Type: <b>date</b><br> 1602 * Path: <b>Patient.birthDate | Person.birthDate | RelatedPerson.birthDate</b><br> 1603 * </p> 1604 */ 1605 @SearchParamDefinition(name="birthdate", path="Patient.birthDate | Person.birthDate | RelatedPerson.birthDate", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The patient's date of birth\r\n* [Person](person.html): The person's date of birth\r\n* [RelatedPerson](relatedperson.html): The Related Person's date of birth\r\n", type="date" ) 1606 public static final String SP_BIRTHDATE = "birthdate"; 1607 /** 1608 * <b>Fluent Client</b> search parameter constant for <b>birthdate</b> 1609 * <p> 1610 * Description: <b>Multiple Resources: 1611 1612* [Patient](patient.html): The patient's date of birth 1613* [Person](person.html): The person's date of birth 1614* [RelatedPerson](relatedperson.html): The Related Person's date of birth 1615</b><br> 1616 * Type: <b>date</b><br> 1617 * Path: <b>Patient.birthDate | Person.birthDate | RelatedPerson.birthDate</b><br> 1618 * </p> 1619 */ 1620 public static final ca.uhn.fhir.rest.gclient.DateClientParam BIRTHDATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_BIRTHDATE); 1621 1622 /** 1623 * Search parameter: <b>email</b> 1624 * <p> 1625 * Description: <b>Multiple Resources: 1626 1627* [Patient](patient.html): A value in an email contact 1628* [Person](person.html): A value in an email contact 1629* [Practitioner](practitioner.html): A value in an email contact 1630* [PractitionerRole](practitionerrole.html): A value in an email contact 1631* [RelatedPerson](relatedperson.html): A value in an email contact 1632</b><br> 1633 * Type: <b>token</b><br> 1634 * Path: <b>Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')</b><br> 1635 * </p> 1636 */ 1637 @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) 1638 public static final String SP_EMAIL = "email"; 1639 /** 1640 * <b>Fluent Client</b> search parameter constant for <b>email</b> 1641 * <p> 1642 * Description: <b>Multiple Resources: 1643 1644* [Patient](patient.html): A value in an email contact 1645* [Person](person.html): A value in an email contact 1646* [Practitioner](practitioner.html): A value in an email contact 1647* [PractitionerRole](practitionerrole.html): A value in an email contact 1648* [RelatedPerson](relatedperson.html): A value in an email contact 1649</b><br> 1650 * Type: <b>token</b><br> 1651 * Path: <b>Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')</b><br> 1652 * </p> 1653 */ 1654 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); 1655 1656 /** 1657 * Search parameter: <b>gender</b> 1658 * <p> 1659 * Description: <b>Multiple Resources: 1660 1661* [Patient](patient.html): Gender of the patient 1662* [Person](person.html): The gender of the person 1663* [Practitioner](practitioner.html): Gender of the practitioner 1664* [RelatedPerson](relatedperson.html): Gender of the related person 1665</b><br> 1666 * Type: <b>token</b><br> 1667 * Path: <b>Patient.gender | Person.gender | Practitioner.gender | RelatedPerson.gender</b><br> 1668 * </p> 1669 */ 1670 @SearchParamDefinition(name="gender", path="Patient.gender | Person.gender | Practitioner.gender | RelatedPerson.gender", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): Gender of the patient\r\n* [Person](person.html): The gender of the person\r\n* [Practitioner](practitioner.html): Gender of the practitioner\r\n* [RelatedPerson](relatedperson.html): Gender of the related person\r\n", type="token" ) 1671 public static final String SP_GENDER = "gender"; 1672 /** 1673 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 1674 * <p> 1675 * Description: <b>Multiple Resources: 1676 1677* [Patient](patient.html): Gender of the patient 1678* [Person](person.html): The gender of the person 1679* [Practitioner](practitioner.html): Gender of the practitioner 1680* [RelatedPerson](relatedperson.html): Gender of the related person 1681</b><br> 1682 * Type: <b>token</b><br> 1683 * Path: <b>Patient.gender | Person.gender | Practitioner.gender | RelatedPerson.gender</b><br> 1684 * </p> 1685 */ 1686 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GENDER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GENDER); 1687 1688 /** 1689 * Search parameter: <b>phone</b> 1690 * <p> 1691 * Description: <b>Multiple Resources: 1692 1693* [Patient](patient.html): A value in a phone contact 1694* [Person](person.html): A value in a phone contact 1695* [Practitioner](practitioner.html): A value in a phone contact 1696* [PractitionerRole](practitionerrole.html): A value in a phone contact 1697* [RelatedPerson](relatedperson.html): A value in a phone contact 1698</b><br> 1699 * Type: <b>token</b><br> 1700 * Path: <b>Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')</b><br> 1701 * </p> 1702 */ 1703 @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) 1704 public static final String SP_PHONE = "phone"; 1705 /** 1706 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 1707 * <p> 1708 * Description: <b>Multiple Resources: 1709 1710* [Patient](patient.html): A value in a phone contact 1711* [Person](person.html): A value in a phone contact 1712* [Practitioner](practitioner.html): A value in a phone contact 1713* [PractitionerRole](practitionerrole.html): A value in a phone contact 1714* [RelatedPerson](relatedperson.html): A value in a phone contact 1715</b><br> 1716 * Type: <b>token</b><br> 1717 * Path: <b>Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')</b><br> 1718 * </p> 1719 */ 1720 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); 1721 1722 /** 1723 * Search parameter: <b>phonetic</b> 1724 * <p> 1725 * Description: <b>Multiple Resources: 1726 1727* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm 1728* [Person](person.html): A portion of name using some kind of phonetic matching algorithm 1729* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm 1730* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm 1731</b><br> 1732 * Type: <b>string</b><br> 1733 * Path: <b>Patient.name | Person.name | Practitioner.name | RelatedPerson.name</b><br> 1734 * </p> 1735 */ 1736 @SearchParamDefinition(name="phonetic", path="Patient.name | Person.name | Practitioner.name | RelatedPerson.name", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [Person](person.html): A portion of name using some kind of phonetic matching algorithm\r\n* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm\r\n* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm\r\n", type="string" ) 1737 public static final String SP_PHONETIC = "phonetic"; 1738 /** 1739 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 1740 * <p> 1741 * Description: <b>Multiple Resources: 1742 1743* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm 1744* [Person](person.html): A portion of name using some kind of phonetic matching algorithm 1745* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm 1746* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm 1747</b><br> 1748 * Type: <b>string</b><br> 1749 * Path: <b>Patient.name | Person.name | Practitioner.name | RelatedPerson.name</b><br> 1750 * </p> 1751 */ 1752 public static final ca.uhn.fhir.rest.gclient.StringClientParam PHONETIC = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PHONETIC); 1753 1754 /** 1755 * Search parameter: <b>telecom</b> 1756 * <p> 1757 * Description: <b>Multiple Resources: 1758 1759* [Patient](patient.html): The value in any kind of telecom details of the patient 1760* [Person](person.html): The value in any kind of contact 1761* [Practitioner](practitioner.html): The value in any kind of contact 1762* [PractitionerRole](practitionerrole.html): The value in any kind of contact 1763* [RelatedPerson](relatedperson.html): The value in any kind of contact 1764</b><br> 1765 * Type: <b>token</b><br> 1766 * Path: <b>Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom</b><br> 1767 * </p> 1768 */ 1769 @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) 1770 public static final String SP_TELECOM = "telecom"; 1771 /** 1772 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 1773 * <p> 1774 * Description: <b>Multiple Resources: 1775 1776* [Patient](patient.html): The value in any kind of telecom details of the patient 1777* [Person](person.html): The value in any kind of contact 1778* [Practitioner](practitioner.html): The value in any kind of contact 1779* [PractitionerRole](practitionerrole.html): The value in any kind of contact 1780* [RelatedPerson](relatedperson.html): The value in any kind of contact 1781</b><br> 1782 * Type: <b>token</b><br> 1783 * Path: <b>Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom</b><br> 1784 * </p> 1785 */ 1786 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); 1787 1788 1789} 1790