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 Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.r4.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. 048 */ 049@ResourceDef(name="RelatedPerson", profile="http://hl7.org/fhir/Profile/RelatedPerson") 050public class RelatedPerson extends DomainResource { 051 052 /** 053 * Identifier for a person within a particular scope. 054 */ 055 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 056 @Description(shortDefinition="A human identifier for this person", formalDefinition="Identifier for a person within a particular scope." ) 057 protected List<Identifier> identifier; 058 059 /** 060 * Whether this related person record is in active use. 061 */ 062 @Child(name = "active", type = {BooleanType.class}, order=1, min=0, max=1, modifier=true, summary=true) 063 @Description(shortDefinition="Whether this related person's record is in active use", formalDefinition="Whether this related person record is in active use." ) 064 protected BooleanType active; 065 066 /** 067 * The patient this person is related to. 068 */ 069 @Child(name = "patient", type = {Patient.class}, order=2, min=1, max=1, modifier=false, summary=true) 070 @Description(shortDefinition="The patient this person is related to", formalDefinition="The patient this person is related to." ) 071 protected Reference patient; 072 073 /** 074 * The actual object that is the target of the reference (The patient this person is related to.) 075 */ 076 protected Patient patientTarget; 077 078 /** 079 * The nature of the relationship between a patient and the related person. 080 */ 081 @Child(name = "relationship", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 082 @Description(shortDefinition="The nature of the relationship", formalDefinition="The nature of the relationship between a patient and the related person." ) 083 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype") 084 protected List<CodeableConcept> relationship; 085 086 /** 087 * A name associated with the person. 088 */ 089 @Child(name = "name", type = {HumanName.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 090 @Description(shortDefinition="A name associated with the person", formalDefinition="A name associated with the person." ) 091 protected List<HumanName> name; 092 093 /** 094 * A contact detail for the person, e.g. a telephone number or an email address. 095 */ 096 @Child(name = "telecom", type = {ContactPoint.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 097 @Description(shortDefinition="A contact detail for the person", formalDefinition="A contact detail for the person, e.g. a telephone number or an email address." ) 098 protected List<ContactPoint> telecom; 099 100 /** 101 * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 102 */ 103 @Child(name = "gender", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=true) 104 @Description(shortDefinition="male | female | other | unknown", formalDefinition="Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes." ) 105 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administrative-gender") 106 protected Enumeration<AdministrativeGender> gender; 107 108 /** 109 * The date on which the related person was born. 110 */ 111 @Child(name = "birthDate", type = {DateType.class}, order=7, min=0, max=1, modifier=false, summary=true) 112 @Description(shortDefinition="The date on which the related person was born", formalDefinition="The date on which the related person was born." ) 113 protected DateType birthDate; 114 115 /** 116 * Address where the related person can be contacted or visited. 117 */ 118 @Child(name = "address", type = {Address.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 119 @Description(shortDefinition="Address where the related person can be contacted or visited", formalDefinition="Address where the related person can be contacted or visited." ) 120 protected List<Address> address; 121 122 /** 123 * Image of the person. 124 */ 125 @Child(name = "photo", type = {Attachment.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 126 @Description(shortDefinition="Image of the person", formalDefinition="Image of the person." ) 127 protected List<Attachment> photo; 128 129 /** 130 * The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown. 131 */ 132 @Child(name = "period", type = {Period.class}, order=10, min=0, max=1, modifier=false, summary=false) 133 @Description(shortDefinition="Period of time that this relationship is considered valid", formalDefinition="The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown." ) 134 protected Period period; 135 136 private static final long serialVersionUID = -243680341L; 137 138 /** 139 * Constructor 140 */ 141 public RelatedPerson() { 142 super(); 143 } 144 145 /** 146 * Constructor 147 */ 148 public RelatedPerson(Reference patient) { 149 super(); 150 this.patient = patient; 151 } 152 153 /** 154 * @return {@link #identifier} (Identifier for a person within a particular scope.) 155 */ 156 public List<Identifier> getIdentifier() { 157 if (this.identifier == null) 158 this.identifier = new ArrayList<Identifier>(); 159 return this.identifier; 160 } 161 162 /** 163 * @return Returns a reference to <code>this</code> for easy method chaining 164 */ 165 public RelatedPerson setIdentifier(List<Identifier> theIdentifier) { 166 this.identifier = theIdentifier; 167 return this; 168 } 169 170 public boolean hasIdentifier() { 171 if (this.identifier == null) 172 return false; 173 for (Identifier item : this.identifier) 174 if (!item.isEmpty()) 175 return true; 176 return false; 177 } 178 179 public Identifier addIdentifier() { //3 180 Identifier t = new Identifier(); 181 if (this.identifier == null) 182 this.identifier = new ArrayList<Identifier>(); 183 this.identifier.add(t); 184 return t; 185 } 186 187 public RelatedPerson addIdentifier(Identifier t) { //3 188 if (t == null) 189 return this; 190 if (this.identifier == null) 191 this.identifier = new ArrayList<Identifier>(); 192 this.identifier.add(t); 193 return this; 194 } 195 196 /** 197 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 198 */ 199 public Identifier getIdentifierFirstRep() { 200 if (getIdentifier().isEmpty()) { 201 addIdentifier(); 202 } 203 return getIdentifier().get(0); 204 } 205 206 /** 207 * @return {@link #active} (Whether this related person record is in active use.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 208 */ 209 public BooleanType getActiveElement() { 210 if (this.active == null) 211 if (Configuration.errorOnAutoCreate()) 212 throw new Error("Attempt to auto-create RelatedPerson.active"); 213 else if (Configuration.doAutoCreate()) 214 this.active = new BooleanType(); // bb 215 return this.active; 216 } 217 218 public boolean hasActiveElement() { 219 return this.active != null && !this.active.isEmpty(); 220 } 221 222 public boolean hasActive() { 223 return this.active != null && !this.active.isEmpty(); 224 } 225 226 /** 227 * @param value {@link #active} (Whether this related person record is in active use.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 228 */ 229 public RelatedPerson setActiveElement(BooleanType value) { 230 this.active = value; 231 return this; 232 } 233 234 /** 235 * @return Whether this related person record is in active use. 236 */ 237 public boolean getActive() { 238 return this.active == null || this.active.isEmpty() ? false : this.active.getValue(); 239 } 240 241 /** 242 * @param value Whether this related person record is in active use. 243 */ 244 public RelatedPerson setActive(boolean value) { 245 if (this.active == null) 246 this.active = new BooleanType(); 247 this.active.setValue(value); 248 return this; 249 } 250 251 /** 252 * @return {@link #patient} (The patient this person is related to.) 253 */ 254 public Reference getPatient() { 255 if (this.patient == null) 256 if (Configuration.errorOnAutoCreate()) 257 throw new Error("Attempt to auto-create RelatedPerson.patient"); 258 else if (Configuration.doAutoCreate()) 259 this.patient = new Reference(); // cc 260 return this.patient; 261 } 262 263 public boolean hasPatient() { 264 return this.patient != null && !this.patient.isEmpty(); 265 } 266 267 /** 268 * @param value {@link #patient} (The patient this person is related to.) 269 */ 270 public RelatedPerson setPatient(Reference value) { 271 this.patient = value; 272 return this; 273 } 274 275 /** 276 * @return {@link #patient} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The patient this person is related to.) 277 */ 278 public Patient getPatientTarget() { 279 if (this.patientTarget == null) 280 if (Configuration.errorOnAutoCreate()) 281 throw new Error("Attempt to auto-create RelatedPerson.patient"); 282 else if (Configuration.doAutoCreate()) 283 this.patientTarget = new Patient(); // aa 284 return this.patientTarget; 285 } 286 287 /** 288 * @param value {@link #patient} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The patient this person is related to.) 289 */ 290 public RelatedPerson setPatientTarget(Patient value) { 291 this.patientTarget = value; 292 return this; 293 } 294 295 /** 296 * @return {@link #relationship} (The nature of the relationship between a patient and the related person.) 297 */ 298 public List<CodeableConcept> getRelationship() { 299 if (this.relationship == null) 300 this.relationship = new ArrayList<CodeableConcept>(); 301 return this.relationship; 302 } 303 304 /** 305 * @return Returns a reference to <code>this</code> for easy method chaining 306 */ 307 public RelatedPerson setRelationship(List<CodeableConcept> theRelationship) { 308 this.relationship = theRelationship; 309 return this; 310 } 311 312 public boolean hasRelationship() { 313 if (this.relationship == null) 314 return false; 315 for (CodeableConcept item : this.relationship) 316 if (!item.isEmpty()) 317 return true; 318 return false; 319 } 320 321 public CodeableConcept addRelationship() { //3 322 CodeableConcept t = new CodeableConcept(); 323 if (this.relationship == null) 324 this.relationship = new ArrayList<CodeableConcept>(); 325 this.relationship.add(t); 326 return t; 327 } 328 329 public RelatedPerson addRelationship(CodeableConcept t) { //3 330 if (t == null) 331 return this; 332 if (this.relationship == null) 333 this.relationship = new ArrayList<CodeableConcept>(); 334 this.relationship.add(t); 335 return this; 336 } 337 338 /** 339 * @return The first repetition of repeating field {@link #relationship}, creating it if it does not already exist 340 */ 341 public CodeableConcept getRelationshipFirstRep() { 342 if (getRelationship().isEmpty()) { 343 addRelationship(); 344 } 345 return getRelationship().get(0); 346 } 347 348 /** 349 * @return {@link #name} (A name associated with the person.) 350 */ 351 public List<HumanName> getName() { 352 if (this.name == null) 353 this.name = new ArrayList<HumanName>(); 354 return this.name; 355 } 356 357 /** 358 * @return Returns a reference to <code>this</code> for easy method chaining 359 */ 360 public RelatedPerson setName(List<HumanName> theName) { 361 this.name = theName; 362 return this; 363 } 364 365 public boolean hasName() { 366 if (this.name == null) 367 return false; 368 for (HumanName item : this.name) 369 if (!item.isEmpty()) 370 return true; 371 return false; 372 } 373 374 public HumanName addName() { //3 375 HumanName t = new HumanName(); 376 if (this.name == null) 377 this.name = new ArrayList<HumanName>(); 378 this.name.add(t); 379 return t; 380 } 381 382 public RelatedPerson addName(HumanName t) { //3 383 if (t == null) 384 return this; 385 if (this.name == null) 386 this.name = new ArrayList<HumanName>(); 387 this.name.add(t); 388 return this; 389 } 390 391 /** 392 * @return The first repetition of repeating field {@link #name}, creating it if it does not already exist 393 */ 394 public HumanName getNameFirstRep() { 395 if (getName().isEmpty()) { 396 addName(); 397 } 398 return getName().get(0); 399 } 400 401 /** 402 * @return {@link #telecom} (A contact detail for the person, e.g. a telephone number or an email address.) 403 */ 404 public List<ContactPoint> getTelecom() { 405 if (this.telecom == null) 406 this.telecom = new ArrayList<ContactPoint>(); 407 return this.telecom; 408 } 409 410 /** 411 * @return Returns a reference to <code>this</code> for easy method chaining 412 */ 413 public RelatedPerson setTelecom(List<ContactPoint> theTelecom) { 414 this.telecom = theTelecom; 415 return this; 416 } 417 418 public boolean hasTelecom() { 419 if (this.telecom == null) 420 return false; 421 for (ContactPoint item : this.telecom) 422 if (!item.isEmpty()) 423 return true; 424 return false; 425 } 426 427 public ContactPoint addTelecom() { //3 428 ContactPoint t = new ContactPoint(); 429 if (this.telecom == null) 430 this.telecom = new ArrayList<ContactPoint>(); 431 this.telecom.add(t); 432 return t; 433 } 434 435 public RelatedPerson addTelecom(ContactPoint t) { //3 436 if (t == null) 437 return this; 438 if (this.telecom == null) 439 this.telecom = new ArrayList<ContactPoint>(); 440 this.telecom.add(t); 441 return this; 442 } 443 444 /** 445 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist 446 */ 447 public ContactPoint getTelecomFirstRep() { 448 if (getTelecom().isEmpty()) { 449 addTelecom(); 450 } 451 return getTelecom().get(0); 452 } 453 454 /** 455 * @return {@link #gender} (Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 456 */ 457 public Enumeration<AdministrativeGender> getGenderElement() { 458 if (this.gender == null) 459 if (Configuration.errorOnAutoCreate()) 460 throw new Error("Attempt to auto-create RelatedPerson.gender"); 461 else if (Configuration.doAutoCreate()) 462 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); // bb 463 return this.gender; 464 } 465 466 public boolean hasGenderElement() { 467 return this.gender != null && !this.gender.isEmpty(); 468 } 469 470 public boolean hasGender() { 471 return this.gender != null && !this.gender.isEmpty(); 472 } 473 474 /** 475 * @param value {@link #gender} (Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 476 */ 477 public RelatedPerson setGenderElement(Enumeration<AdministrativeGender> value) { 478 this.gender = value; 479 return this; 480 } 481 482 /** 483 * @return Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 484 */ 485 public AdministrativeGender getGender() { 486 return this.gender == null ? null : this.gender.getValue(); 487 } 488 489 /** 490 * @param value Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. 491 */ 492 public RelatedPerson setGender(AdministrativeGender value) { 493 if (value == null) 494 this.gender = null; 495 else { 496 if (this.gender == null) 497 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); 498 this.gender.setValue(value); 499 } 500 return this; 501 } 502 503 /** 504 * @return {@link #birthDate} (The date on which the related person was born.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value 505 */ 506 public DateType getBirthDateElement() { 507 if (this.birthDate == null) 508 if (Configuration.errorOnAutoCreate()) 509 throw new Error("Attempt to auto-create RelatedPerson.birthDate"); 510 else if (Configuration.doAutoCreate()) 511 this.birthDate = new DateType(); // bb 512 return this.birthDate; 513 } 514 515 public boolean hasBirthDateElement() { 516 return this.birthDate != null && !this.birthDate.isEmpty(); 517 } 518 519 public boolean hasBirthDate() { 520 return this.birthDate != null && !this.birthDate.isEmpty(); 521 } 522 523 /** 524 * @param value {@link #birthDate} (The date on which the related person was born.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value 525 */ 526 public RelatedPerson setBirthDateElement(DateType value) { 527 this.birthDate = value; 528 return this; 529 } 530 531 /** 532 * @return The date on which the related person was born. 533 */ 534 public Date getBirthDate() { 535 return this.birthDate == null ? null : this.birthDate.getValue(); 536 } 537 538 /** 539 * @param value The date on which the related person was born. 540 */ 541 public RelatedPerson setBirthDate(Date value) { 542 if (value == null) 543 this.birthDate = null; 544 else { 545 if (this.birthDate == null) 546 this.birthDate = new DateType(); 547 this.birthDate.setValue(value); 548 } 549 return this; 550 } 551 552 /** 553 * @return {@link #address} (Address where the related person can be contacted or visited.) 554 */ 555 public List<Address> getAddress() { 556 if (this.address == null) 557 this.address = new ArrayList<Address>(); 558 return this.address; 559 } 560 561 /** 562 * @return Returns a reference to <code>this</code> for easy method chaining 563 */ 564 public RelatedPerson setAddress(List<Address> theAddress) { 565 this.address = theAddress; 566 return this; 567 } 568 569 public boolean hasAddress() { 570 if (this.address == null) 571 return false; 572 for (Address item : this.address) 573 if (!item.isEmpty()) 574 return true; 575 return false; 576 } 577 578 public Address addAddress() { //3 579 Address t = new Address(); 580 if (this.address == null) 581 this.address = new ArrayList<Address>(); 582 this.address.add(t); 583 return t; 584 } 585 586 public RelatedPerson addAddress(Address t) { //3 587 if (t == null) 588 return this; 589 if (this.address == null) 590 this.address = new ArrayList<Address>(); 591 this.address.add(t); 592 return this; 593 } 594 595 /** 596 * @return The first repetition of repeating field {@link #address}, creating it if it does not already exist 597 */ 598 public Address getAddressFirstRep() { 599 if (getAddress().isEmpty()) { 600 addAddress(); 601 } 602 return getAddress().get(0); 603 } 604 605 /** 606 * @return {@link #photo} (Image of the person.) 607 */ 608 public List<Attachment> getPhoto() { 609 if (this.photo == null) 610 this.photo = new ArrayList<Attachment>(); 611 return this.photo; 612 } 613 614 /** 615 * @return Returns a reference to <code>this</code> for easy method chaining 616 */ 617 public RelatedPerson setPhoto(List<Attachment> thePhoto) { 618 this.photo = thePhoto; 619 return this; 620 } 621 622 public boolean hasPhoto() { 623 if (this.photo == null) 624 return false; 625 for (Attachment item : this.photo) 626 if (!item.isEmpty()) 627 return true; 628 return false; 629 } 630 631 public Attachment addPhoto() { //3 632 Attachment t = new Attachment(); 633 if (this.photo == null) 634 this.photo = new ArrayList<Attachment>(); 635 this.photo.add(t); 636 return t; 637 } 638 639 public RelatedPerson addPhoto(Attachment t) { //3 640 if (t == null) 641 return this; 642 if (this.photo == null) 643 this.photo = new ArrayList<Attachment>(); 644 this.photo.add(t); 645 return this; 646 } 647 648 /** 649 * @return The first repetition of repeating field {@link #photo}, creating it if it does not already exist 650 */ 651 public Attachment getPhotoFirstRep() { 652 if (getPhoto().isEmpty()) { 653 addPhoto(); 654 } 655 return getPhoto().get(0); 656 } 657 658 /** 659 * @return {@link #period} (The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.) 660 */ 661 public Period getPeriod() { 662 if (this.period == null) 663 if (Configuration.errorOnAutoCreate()) 664 throw new Error("Attempt to auto-create RelatedPerson.period"); 665 else if (Configuration.doAutoCreate()) 666 this.period = new Period(); // cc 667 return this.period; 668 } 669 670 public boolean hasPeriod() { 671 return this.period != null && !this.period.isEmpty(); 672 } 673 674 /** 675 * @param value {@link #period} (The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.) 676 */ 677 public RelatedPerson setPeriod(Period value) { 678 this.period = value; 679 return this; 680 } 681 682 protected void listChildren(List<Property> children) { 683 super.listChildren(children); 684 children.add(new Property("identifier", "Identifier", "Identifier for a person within a particular scope.", 0, java.lang.Integer.MAX_VALUE, identifier)); 685 children.add(new Property("active", "boolean", "Whether this related person record is in active use.", 0, 1, active)); 686 children.add(new Property("patient", "Reference(Patient)", "The patient this person is related to.", 0, 1, patient)); 687 children.add(new Property("relationship", "CodeableConcept", "The nature of the relationship between a patient and the related person.", 0, java.lang.Integer.MAX_VALUE, relationship)); 688 children.add(new Property("name", "HumanName", "A name associated with the person.", 0, java.lang.Integer.MAX_VALUE, name)); 689 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)); 690 children.add(new Property("gender", "code", "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", 0, 1, gender)); 691 children.add(new Property("birthDate", "date", "The date on which the related person was born.", 0, 1, birthDate)); 692 children.add(new Property("address", "Address", "Address where the related person can be contacted or visited.", 0, java.lang.Integer.MAX_VALUE, address)); 693 children.add(new Property("photo", "Attachment", "Image of the person.", 0, java.lang.Integer.MAX_VALUE, photo)); 694 children.add(new Property("period", "Period", "The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.", 0, 1, period)); 695 } 696 697 @Override 698 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 699 switch (_hash) { 700 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifier for a person within a particular scope.", 0, java.lang.Integer.MAX_VALUE, identifier); 701 case -1422950650: /*active*/ return new Property("active", "boolean", "Whether this related person record is in active use.", 0, 1, active); 702 case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The patient this person is related to.", 0, 1, patient); 703 case -261851592: /*relationship*/ return new Property("relationship", "CodeableConcept", "The nature of the relationship between a patient and the related person.", 0, java.lang.Integer.MAX_VALUE, relationship); 704 case 3373707: /*name*/ return new Property("name", "HumanName", "A name associated with the person.", 0, java.lang.Integer.MAX_VALUE, name); 705 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); 706 case -1249512767: /*gender*/ return new Property("gender", "code", "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", 0, 1, gender); 707 case -1210031859: /*birthDate*/ return new Property("birthDate", "date", "The date on which the related person was born.", 0, 1, birthDate); 708 case -1147692044: /*address*/ return new Property("address", "Address", "Address where the related person can be contacted or visited.", 0, java.lang.Integer.MAX_VALUE, address); 709 case 106642994: /*photo*/ return new Property("photo", "Attachment", "Image of the person.", 0, java.lang.Integer.MAX_VALUE, photo); 710 case -991726143: /*period*/ return new Property("period", "Period", "The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.", 0, 1, period); 711 default: return super.getNamedProperty(_hash, _name, _checkValid); 712 } 713 714 } 715 716 @Override 717 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 718 switch (hash) { 719 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 720 case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType 721 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 722 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : this.relationship.toArray(new Base[this.relationship.size()]); // CodeableConcept 723 case 3373707: /*name*/ return this.name == null ? new Base[0] : this.name.toArray(new Base[this.name.size()]); // HumanName 724 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 725 case -1249512767: /*gender*/ return this.gender == null ? new Base[0] : new Base[] {this.gender}; // Enumeration<AdministrativeGender> 726 case -1210031859: /*birthDate*/ return this.birthDate == null ? new Base[0] : new Base[] {this.birthDate}; // DateType 727 case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address 728 case 106642994: /*photo*/ return this.photo == null ? new Base[0] : this.photo.toArray(new Base[this.photo.size()]); // Attachment 729 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 730 default: return super.getProperty(hash, name, checkValid); 731 } 732 733 } 734 735 @Override 736 public Base setProperty(int hash, String name, Base value) throws FHIRException { 737 switch (hash) { 738 case -1618432855: // identifier 739 this.getIdentifier().add(castToIdentifier(value)); // Identifier 740 return value; 741 case -1422950650: // active 742 this.active = castToBoolean(value); // BooleanType 743 return value; 744 case -791418107: // patient 745 this.patient = castToReference(value); // Reference 746 return value; 747 case -261851592: // relationship 748 this.getRelationship().add(castToCodeableConcept(value)); // CodeableConcept 749 return value; 750 case 3373707: // name 751 this.getName().add(castToHumanName(value)); // HumanName 752 return value; 753 case -1429363305: // telecom 754 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 755 return value; 756 case -1249512767: // gender 757 value = new AdministrativeGenderEnumFactory().fromType(castToCode(value)); 758 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 759 return value; 760 case -1210031859: // birthDate 761 this.birthDate = castToDate(value); // DateType 762 return value; 763 case -1147692044: // address 764 this.getAddress().add(castToAddress(value)); // Address 765 return value; 766 case 106642994: // photo 767 this.getPhoto().add(castToAttachment(value)); // Attachment 768 return value; 769 case -991726143: // period 770 this.period = castToPeriod(value); // Period 771 return value; 772 default: return super.setProperty(hash, name, value); 773 } 774 775 } 776 777 @Override 778 public Base setProperty(String name, Base value) throws FHIRException { 779 if (name.equals("identifier")) { 780 this.getIdentifier().add(castToIdentifier(value)); 781 } else if (name.equals("active")) { 782 this.active = castToBoolean(value); // BooleanType 783 } else if (name.equals("patient")) { 784 this.patient = castToReference(value); // Reference 785 } else if (name.equals("relationship")) { 786 this.getRelationship().add(castToCodeableConcept(value)); 787 } else if (name.equals("name")) { 788 this.getName().add(castToHumanName(value)); 789 } else if (name.equals("telecom")) { 790 this.getTelecom().add(castToContactPoint(value)); 791 } else if (name.equals("gender")) { 792 value = new AdministrativeGenderEnumFactory().fromType(castToCode(value)); 793 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 794 } else if (name.equals("birthDate")) { 795 this.birthDate = castToDate(value); // DateType 796 } else if (name.equals("address")) { 797 this.getAddress().add(castToAddress(value)); 798 } else if (name.equals("photo")) { 799 this.getPhoto().add(castToAttachment(value)); 800 } else if (name.equals("period")) { 801 this.period = castToPeriod(value); // Period 802 } else 803 return super.setProperty(name, value); 804 return value; 805 } 806 807 @Override 808 public Base makeProperty(int hash, String name) throws FHIRException { 809 switch (hash) { 810 case -1618432855: return addIdentifier(); 811 case -1422950650: return getActiveElement(); 812 case -791418107: return getPatient(); 813 case -261851592: return addRelationship(); 814 case 3373707: return addName(); 815 case -1429363305: return addTelecom(); 816 case -1249512767: return getGenderElement(); 817 case -1210031859: return getBirthDateElement(); 818 case -1147692044: return addAddress(); 819 case 106642994: return addPhoto(); 820 case -991726143: return getPeriod(); 821 default: return super.makeProperty(hash, name); 822 } 823 824 } 825 826 @Override 827 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 828 switch (hash) { 829 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 830 case -1422950650: /*active*/ return new String[] {"boolean"}; 831 case -791418107: /*patient*/ return new String[] {"Reference"}; 832 case -261851592: /*relationship*/ return new String[] {"CodeableConcept"}; 833 case 3373707: /*name*/ return new String[] {"HumanName"}; 834 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 835 case -1249512767: /*gender*/ return new String[] {"code"}; 836 case -1210031859: /*birthDate*/ return new String[] {"date"}; 837 case -1147692044: /*address*/ return new String[] {"Address"}; 838 case 106642994: /*photo*/ return new String[] {"Attachment"}; 839 case -991726143: /*period*/ return new String[] {"Period"}; 840 default: return super.getTypesForProperty(hash, name); 841 } 842 843 } 844 845 @Override 846 public Base addChild(String name) throws FHIRException { 847 if (name.equals("identifier")) { 848 return addIdentifier(); 849 } 850 else if (name.equals("active")) { 851 throw new FHIRException("Cannot call addChild on a primitive type RelatedPerson.active"); 852 } 853 else if (name.equals("patient")) { 854 this.patient = new Reference(); 855 return this.patient; 856 } 857 else if (name.equals("relationship")) { 858 return addRelationship(); 859 } 860 else if (name.equals("name")) { 861 return addName(); 862 } 863 else if (name.equals("telecom")) { 864 return addTelecom(); 865 } 866 else if (name.equals("gender")) { 867 throw new FHIRException("Cannot call addChild on a primitive type RelatedPerson.gender"); 868 } 869 else if (name.equals("birthDate")) { 870 throw new FHIRException("Cannot call addChild on a primitive type RelatedPerson.birthDate"); 871 } 872 else if (name.equals("address")) { 873 return addAddress(); 874 } 875 else if (name.equals("photo")) { 876 return addPhoto(); 877 } 878 else if (name.equals("period")) { 879 this.period = new Period(); 880 return this.period; 881 } 882 else 883 return super.addChild(name); 884 } 885 886 public String fhirType() { 887 return "RelatedPerson"; 888 889 } 890 891 public RelatedPerson copy() { 892 RelatedPerson dst = new RelatedPerson(); 893 copyValues(dst); 894 if (identifier != null) { 895 dst.identifier = new ArrayList<Identifier>(); 896 for (Identifier i : identifier) 897 dst.identifier.add(i.copy()); 898 }; 899 dst.active = active == null ? null : active.copy(); 900 dst.patient = patient == null ? null : patient.copy(); 901 if (relationship != null) { 902 dst.relationship = new ArrayList<CodeableConcept>(); 903 for (CodeableConcept i : relationship) 904 dst.relationship.add(i.copy()); 905 }; 906 if (name != null) { 907 dst.name = new ArrayList<HumanName>(); 908 for (HumanName i : name) 909 dst.name.add(i.copy()); 910 }; 911 if (telecom != null) { 912 dst.telecom = new ArrayList<ContactPoint>(); 913 for (ContactPoint i : telecom) 914 dst.telecom.add(i.copy()); 915 }; 916 dst.gender = gender == null ? null : gender.copy(); 917 dst.birthDate = birthDate == null ? null : birthDate.copy(); 918 if (address != null) { 919 dst.address = new ArrayList<Address>(); 920 for (Address i : address) 921 dst.address.add(i.copy()); 922 }; 923 if (photo != null) { 924 dst.photo = new ArrayList<Attachment>(); 925 for (Attachment i : photo) 926 dst.photo.add(i.copy()); 927 }; 928 dst.period = period == null ? null : period.copy(); 929 return dst; 930 } 931 932 protected RelatedPerson typedCopy() { 933 return copy(); 934 } 935 936 @Override 937 public boolean equalsDeep(Base other_) { 938 if (!super.equalsDeep(other_)) 939 return false; 940 if (!(other_ instanceof RelatedPerson)) 941 return false; 942 RelatedPerson o = (RelatedPerson) other_; 943 return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(patient, o.patient, true) 944 && compareDeep(relationship, o.relationship, true) && compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true) 945 && compareDeep(gender, o.gender, true) && compareDeep(birthDate, o.birthDate, true) && compareDeep(address, o.address, true) 946 && compareDeep(photo, o.photo, true) && compareDeep(period, o.period, true); 947 } 948 949 @Override 950 public boolean equalsShallow(Base other_) { 951 if (!super.equalsShallow(other_)) 952 return false; 953 if (!(other_ instanceof RelatedPerson)) 954 return false; 955 RelatedPerson o = (RelatedPerson) other_; 956 return compareValues(active, o.active, true) && compareValues(gender, o.gender, true) && compareValues(birthDate, o.birthDate, true) 957 ; 958 } 959 960 public boolean isEmpty() { 961 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, patient 962 , relationship, name, telecom, gender, birthDate, address, photo, period); 963 } 964 965 @Override 966 public ResourceType getResourceType() { 967 return ResourceType.RelatedPerson; 968 } 969 970 /** 971 * Search parameter: <b>identifier</b> 972 * <p> 973 * Description: <b>An Identifier of the RelatedPerson</b><br> 974 * Type: <b>token</b><br> 975 * Path: <b>RelatedPerson.identifier</b><br> 976 * </p> 977 */ 978 @SearchParamDefinition(name="identifier", path="RelatedPerson.identifier", description="An Identifier of the RelatedPerson", type="token" ) 979 public static final String SP_IDENTIFIER = "identifier"; 980 /** 981 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 982 * <p> 983 * Description: <b>An Identifier of the RelatedPerson</b><br> 984 * Type: <b>token</b><br> 985 * Path: <b>RelatedPerson.identifier</b><br> 986 * </p> 987 */ 988 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 989 990 /** 991 * Search parameter: <b>address</b> 992 * <p> 993 * Description: <b>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</b><br> 994 * Type: <b>string</b><br> 995 * Path: <b>RelatedPerson.address</b><br> 996 * </p> 997 */ 998 @SearchParamDefinition(name="address", path="RelatedPerson.address", description="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", type="string" ) 999 public static final String SP_ADDRESS = "address"; 1000 /** 1001 * <b>Fluent Client</b> search parameter constant for <b>address</b> 1002 * <p> 1003 * Description: <b>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</b><br> 1004 * Type: <b>string</b><br> 1005 * Path: <b>RelatedPerson.address</b><br> 1006 * </p> 1007 */ 1008 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); 1009 1010 /** 1011 * Search parameter: <b>birthdate</b> 1012 * <p> 1013 * Description: <b>The Related Person's date of birth</b><br> 1014 * Type: <b>date</b><br> 1015 * Path: <b>RelatedPerson.birthDate</b><br> 1016 * </p> 1017 */ 1018 @SearchParamDefinition(name="birthdate", path="RelatedPerson.birthDate", description="The Related Person's date of birth", type="date" ) 1019 public static final String SP_BIRTHDATE = "birthdate"; 1020 /** 1021 * <b>Fluent Client</b> search parameter constant for <b>birthdate</b> 1022 * <p> 1023 * Description: <b>The Related Person's date of birth</b><br> 1024 * Type: <b>date</b><br> 1025 * Path: <b>RelatedPerson.birthDate</b><br> 1026 * </p> 1027 */ 1028 public static final ca.uhn.fhir.rest.gclient.DateClientParam BIRTHDATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_BIRTHDATE); 1029 1030 /** 1031 * Search parameter: <b>address-state</b> 1032 * <p> 1033 * Description: <b>A state specified in an address</b><br> 1034 * Type: <b>string</b><br> 1035 * Path: <b>RelatedPerson.address.state</b><br> 1036 * </p> 1037 */ 1038 @SearchParamDefinition(name="address-state", path="RelatedPerson.address.state", description="A state specified in an address", type="string" ) 1039 public static final String SP_ADDRESS_STATE = "address-state"; 1040 /** 1041 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 1042 * <p> 1043 * Description: <b>A state specified in an address</b><br> 1044 * Type: <b>string</b><br> 1045 * Path: <b>RelatedPerson.address.state</b><br> 1046 * </p> 1047 */ 1048 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_STATE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_STATE); 1049 1050 /** 1051 * Search parameter: <b>gender</b> 1052 * <p> 1053 * Description: <b>Gender of the related person</b><br> 1054 * Type: <b>token</b><br> 1055 * Path: <b>RelatedPerson.gender</b><br> 1056 * </p> 1057 */ 1058 @SearchParamDefinition(name="gender", path="RelatedPerson.gender", description="Gender of the related person", type="token" ) 1059 public static final String SP_GENDER = "gender"; 1060 /** 1061 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 1062 * <p> 1063 * Description: <b>Gender of the related person</b><br> 1064 * Type: <b>token</b><br> 1065 * Path: <b>RelatedPerson.gender</b><br> 1066 * </p> 1067 */ 1068 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GENDER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GENDER); 1069 1070 /** 1071 * Search parameter: <b>active</b> 1072 * <p> 1073 * Description: <b>Indicates if the related person record is active</b><br> 1074 * Type: <b>token</b><br> 1075 * Path: <b>RelatedPerson.active</b><br> 1076 * </p> 1077 */ 1078 @SearchParamDefinition(name="active", path="RelatedPerson.active", description="Indicates if the related person record is active", type="token" ) 1079 public static final String SP_ACTIVE = "active"; 1080 /** 1081 * <b>Fluent Client</b> search parameter constant for <b>active</b> 1082 * <p> 1083 * Description: <b>Indicates if the related person record is active</b><br> 1084 * Type: <b>token</b><br> 1085 * Path: <b>RelatedPerson.active</b><br> 1086 * </p> 1087 */ 1088 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACTIVE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACTIVE); 1089 1090 /** 1091 * Search parameter: <b>address-postalcode</b> 1092 * <p> 1093 * Description: <b>A postal code specified in an address</b><br> 1094 * Type: <b>string</b><br> 1095 * Path: <b>RelatedPerson.address.postalCode</b><br> 1096 * </p> 1097 */ 1098 @SearchParamDefinition(name="address-postalcode", path="RelatedPerson.address.postalCode", description="A postal code specified in an address", type="string" ) 1099 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 1100 /** 1101 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 1102 * <p> 1103 * Description: <b>A postal code specified in an address</b><br> 1104 * Type: <b>string</b><br> 1105 * Path: <b>RelatedPerson.address.postalCode</b><br> 1106 * </p> 1107 */ 1108 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_POSTALCODE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_POSTALCODE); 1109 1110 /** 1111 * Search parameter: <b>address-country</b> 1112 * <p> 1113 * Description: <b>A country specified in an address</b><br> 1114 * Type: <b>string</b><br> 1115 * Path: <b>RelatedPerson.address.country</b><br> 1116 * </p> 1117 */ 1118 @SearchParamDefinition(name="address-country", path="RelatedPerson.address.country", description="A country specified in an address", type="string" ) 1119 public static final String SP_ADDRESS_COUNTRY = "address-country"; 1120 /** 1121 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 1122 * <p> 1123 * Description: <b>A country specified in an address</b><br> 1124 * Type: <b>string</b><br> 1125 * Path: <b>RelatedPerson.address.country</b><br> 1126 * </p> 1127 */ 1128 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_COUNTRY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_COUNTRY); 1129 1130 /** 1131 * Search parameter: <b>phonetic</b> 1132 * <p> 1133 * Description: <b>A portion of name using some kind of phonetic matching algorithm</b><br> 1134 * Type: <b>string</b><br> 1135 * Path: <b>RelatedPerson.name</b><br> 1136 * </p> 1137 */ 1138 @SearchParamDefinition(name="phonetic", path="RelatedPerson.name", description="A portion of name using some kind of phonetic matching algorithm", type="string" ) 1139 public static final String SP_PHONETIC = "phonetic"; 1140 /** 1141 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 1142 * <p> 1143 * Description: <b>A portion of name using some kind of phonetic matching algorithm</b><br> 1144 * Type: <b>string</b><br> 1145 * Path: <b>RelatedPerson.name</b><br> 1146 * </p> 1147 */ 1148 public static final ca.uhn.fhir.rest.gclient.StringClientParam PHONETIC = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PHONETIC); 1149 1150 /** 1151 * Search parameter: <b>phone</b> 1152 * <p> 1153 * Description: <b>A value in a phone contact</b><br> 1154 * Type: <b>token</b><br> 1155 * Path: <b>RelatedPerson.telecom(system=phone)</b><br> 1156 * </p> 1157 */ 1158 @SearchParamDefinition(name="phone", path="RelatedPerson.telecom.where(system='phone')", description="A value in a phone contact", type="token" ) 1159 public static final String SP_PHONE = "phone"; 1160 /** 1161 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 1162 * <p> 1163 * Description: <b>A value in a phone contact</b><br> 1164 * Type: <b>token</b><br> 1165 * Path: <b>RelatedPerson.telecom(system=phone)</b><br> 1166 * </p> 1167 */ 1168 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); 1169 1170 /** 1171 * Search parameter: <b>patient</b> 1172 * <p> 1173 * Description: <b>The patient this related person is related to</b><br> 1174 * Type: <b>reference</b><br> 1175 * Path: <b>RelatedPerson.patient</b><br> 1176 * </p> 1177 */ 1178 @SearchParamDefinition(name="patient", path="RelatedPerson.patient", description="The patient this related person is related to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } ) 1179 public static final String SP_PATIENT = "patient"; 1180 /** 1181 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1182 * <p> 1183 * Description: <b>The patient this related person is related to</b><br> 1184 * Type: <b>reference</b><br> 1185 * Path: <b>RelatedPerson.patient</b><br> 1186 * </p> 1187 */ 1188 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1189 1190/** 1191 * Constant for fluent queries to be used to add include statements. Specifies 1192 * the path value of "<b>RelatedPerson:patient</b>". 1193 */ 1194 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RelatedPerson:patient").toLocked(); 1195 1196 /** 1197 * Search parameter: <b>name</b> 1198 * <p> 1199 * 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> 1200 * Type: <b>string</b><br> 1201 * Path: <b>RelatedPerson.name</b><br> 1202 * </p> 1203 */ 1204 @SearchParamDefinition(name="name", path="RelatedPerson.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" ) 1205 public static final String SP_NAME = "name"; 1206 /** 1207 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1208 * <p> 1209 * 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> 1210 * Type: <b>string</b><br> 1211 * Path: <b>RelatedPerson.name</b><br> 1212 * </p> 1213 */ 1214 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1215 1216 /** 1217 * Search parameter: <b>address-use</b> 1218 * <p> 1219 * Description: <b>A use code specified in an address</b><br> 1220 * Type: <b>token</b><br> 1221 * Path: <b>RelatedPerson.address.use</b><br> 1222 * </p> 1223 */ 1224 @SearchParamDefinition(name="address-use", path="RelatedPerson.address.use", description="A use code specified in an address", type="token" ) 1225 public static final String SP_ADDRESS_USE = "address-use"; 1226 /** 1227 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 1228 * <p> 1229 * Description: <b>A use code specified in an address</b><br> 1230 * Type: <b>token</b><br> 1231 * Path: <b>RelatedPerson.address.use</b><br> 1232 * </p> 1233 */ 1234 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDRESS_USE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDRESS_USE); 1235 1236 /** 1237 * Search parameter: <b>telecom</b> 1238 * <p> 1239 * Description: <b>The value in any kind of contact</b><br> 1240 * Type: <b>token</b><br> 1241 * Path: <b>RelatedPerson.telecom</b><br> 1242 * </p> 1243 */ 1244 @SearchParamDefinition(name="telecom", path="RelatedPerson.telecom", description="The value in any kind of contact", type="token" ) 1245 public static final String SP_TELECOM = "telecom"; 1246 /** 1247 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 1248 * <p> 1249 * Description: <b>The value in any kind of contact</b><br> 1250 * Type: <b>token</b><br> 1251 * Path: <b>RelatedPerson.telecom</b><br> 1252 * </p> 1253 */ 1254 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); 1255 1256 /** 1257 * Search parameter: <b>address-city</b> 1258 * <p> 1259 * Description: <b>A city specified in an address</b><br> 1260 * Type: <b>string</b><br> 1261 * Path: <b>RelatedPerson.address.city</b><br> 1262 * </p> 1263 */ 1264 @SearchParamDefinition(name="address-city", path="RelatedPerson.address.city", description="A city specified in an address", type="string" ) 1265 public static final String SP_ADDRESS_CITY = "address-city"; 1266 /** 1267 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 1268 * <p> 1269 * Description: <b>A city specified in an address</b><br> 1270 * Type: <b>string</b><br> 1271 * Path: <b>RelatedPerson.address.city</b><br> 1272 * </p> 1273 */ 1274 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_CITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_CITY); 1275 1276 /** 1277 * Search parameter: <b>email</b> 1278 * <p> 1279 * Description: <b>A value in an email contact</b><br> 1280 * Type: <b>token</b><br> 1281 * Path: <b>RelatedPerson.telecom(system=email)</b><br> 1282 * </p> 1283 */ 1284 @SearchParamDefinition(name="email", path="RelatedPerson.telecom.where(system='email')", description="A value in an email contact", type="token" ) 1285 public static final String SP_EMAIL = "email"; 1286 /** 1287 * <b>Fluent Client</b> search parameter constant for <b>email</b> 1288 * <p> 1289 * Description: <b>A value in an email contact</b><br> 1290 * Type: <b>token</b><br> 1291 * Path: <b>RelatedPerson.telecom(system=email)</b><br> 1292 * </p> 1293 */ 1294 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); 1295 1296 1297} 1298