
001package org.hl7.fhir.r5.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 Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.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.r5.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 default: return "?"; 100 } 101 } 102 public String getSystem() { 103 switch (this) { 104 case LEVEL1: return "http://hl7.org/fhir/identity-assuranceLevel"; 105 case LEVEL2: return "http://hl7.org/fhir/identity-assuranceLevel"; 106 case LEVEL3: return "http://hl7.org/fhir/identity-assuranceLevel"; 107 case LEVEL4: return "http://hl7.org/fhir/identity-assuranceLevel"; 108 default: return "?"; 109 } 110 } 111 public String getDefinition() { 112 switch (this) { 113 case LEVEL1: return "Little or no confidence in the asserted identity's accuracy."; 114 case LEVEL2: return "Some confidence in the asserted identity's accuracy."; 115 case LEVEL3: return "High confidence in the asserted identity's accuracy."; 116 case LEVEL4: return "Very high confidence in the asserted identity's accuracy."; 117 default: return "?"; 118 } 119 } 120 public String getDisplay() { 121 switch (this) { 122 case LEVEL1: return "Level 1"; 123 case LEVEL2: return "Level 2"; 124 case LEVEL3: return "Level 3"; 125 case LEVEL4: return "Level 4"; 126 default: return "?"; 127 } 128 } 129 } 130 131 public static class IdentityAssuranceLevelEnumFactory implements EnumFactory<IdentityAssuranceLevel> { 132 public IdentityAssuranceLevel fromCode(String codeString) throws IllegalArgumentException { 133 if (codeString == null || "".equals(codeString)) 134 if (codeString == null || "".equals(codeString)) 135 return null; 136 if ("level1".equals(codeString)) 137 return IdentityAssuranceLevel.LEVEL1; 138 if ("level2".equals(codeString)) 139 return IdentityAssuranceLevel.LEVEL2; 140 if ("level3".equals(codeString)) 141 return IdentityAssuranceLevel.LEVEL3; 142 if ("level4".equals(codeString)) 143 return IdentityAssuranceLevel.LEVEL4; 144 throw new IllegalArgumentException("Unknown IdentityAssuranceLevel code '"+codeString+"'"); 145 } 146 public Enumeration<IdentityAssuranceLevel> fromType(Base code) throws FHIRException { 147 if (code == null) 148 return null; 149 if (code.isEmpty()) 150 return new Enumeration<IdentityAssuranceLevel>(this); 151 String codeString = ((PrimitiveType) code).asStringValue(); 152 if (codeString == null || "".equals(codeString)) 153 return null; 154 if ("level1".equals(codeString)) 155 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL1); 156 if ("level2".equals(codeString)) 157 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL2); 158 if ("level3".equals(codeString)) 159 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL3); 160 if ("level4".equals(codeString)) 161 return new Enumeration<IdentityAssuranceLevel>(this, IdentityAssuranceLevel.LEVEL4); 162 throw new FHIRException("Unknown IdentityAssuranceLevel code '"+codeString+"'"); 163 } 164 public String toCode(IdentityAssuranceLevel code) { 165 if (code == IdentityAssuranceLevel.LEVEL1) 166 return "level1"; 167 if (code == IdentityAssuranceLevel.LEVEL2) 168 return "level2"; 169 if (code == IdentityAssuranceLevel.LEVEL3) 170 return "level3"; 171 if (code == IdentityAssuranceLevel.LEVEL4) 172 return "level4"; 173 return "?"; 174 } 175 public String toSystem(IdentityAssuranceLevel code) { 176 return code.getSystem(); 177 } 178 } 179 180 @Block() 181 public static class PersonCommunicationComponent extends BackboneElement implements IBaseBackboneElement { 182 /** 183 * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. 184 */ 185 @Child(name = "language", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 186 @Description(shortDefinition="The language which can be used to communicate with the person about his or her health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English." ) 187 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") 188 protected CodeableConcept language; 189 190 /** 191 * Indicates whether or not the person prefers this language (over other languages he masters up a certain level). 192 */ 193 @Child(name = "preferred", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 194 @Description(shortDefinition="Language preference indicator", formalDefinition="Indicates whether or not the person prefers this language (over other languages he masters up a certain level)." ) 195 protected BooleanType preferred; 196 197 private static final long serialVersionUID = 633792918L; 198 199 /** 200 * Constructor 201 */ 202 public PersonCommunicationComponent() { 203 super(); 204 } 205 206 /** 207 * Constructor 208 */ 209 public PersonCommunicationComponent(CodeableConcept language) { 210 super(); 211 this.setLanguage(language); 212 } 213 214 /** 215 * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) 216 */ 217 public CodeableConcept getLanguage() { 218 if (this.language == null) 219 if (Configuration.errorOnAutoCreate()) 220 throw new Error("Attempt to auto-create PersonCommunicationComponent.language"); 221 else if (Configuration.doAutoCreate()) 222 this.language = new CodeableConcept(); // cc 223 return this.language; 224 } 225 226 public boolean hasLanguage() { 227 return this.language != null && !this.language.isEmpty(); 228 } 229 230 /** 231 * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) 232 */ 233 public PersonCommunicationComponent setLanguage(CodeableConcept value) { 234 this.language = value; 235 return this; 236 } 237 238 /** 239 * @return {@link #preferred} (Indicates whether or not the person prefers this language (over other languages he masters up a certain level).). This is the underlying object with id, value and extensions. The accessor "getPreferred" gives direct access to the value 240 */ 241 public BooleanType getPreferredElement() { 242 if (this.preferred == null) 243 if (Configuration.errorOnAutoCreate()) 244 throw new Error("Attempt to auto-create PersonCommunicationComponent.preferred"); 245 else if (Configuration.doAutoCreate()) 246 this.preferred = new BooleanType(); // bb 247 return this.preferred; 248 } 249 250 public boolean hasPreferredElement() { 251 return this.preferred != null && !this.preferred.isEmpty(); 252 } 253 254 public boolean hasPreferred() { 255 return this.preferred != null && !this.preferred.isEmpty(); 256 } 257 258 /** 259 * @param value {@link #preferred} (Indicates whether or not the person prefers this language (over other languages he masters up a certain level).). This is the underlying object with id, value and extensions. The accessor "getPreferred" gives direct access to the value 260 */ 261 public PersonCommunicationComponent setPreferredElement(BooleanType value) { 262 this.preferred = value; 263 return this; 264 } 265 266 /** 267 * @return Indicates whether or not the person prefers this language (over other languages he masters up a certain level). 268 */ 269 public boolean getPreferred() { 270 return this.preferred == null || this.preferred.isEmpty() ? false : this.preferred.getValue(); 271 } 272 273 /** 274 * @param value Indicates whether or not the person prefers this language (over other languages he masters up a certain level). 275 */ 276 public PersonCommunicationComponent setPreferred(boolean value) { 277 if (this.preferred == null) 278 this.preferred = new BooleanType(); 279 this.preferred.setValue(value); 280 return this; 281 } 282 283 protected void listChildren(List<Property> children) { 284 super.listChildren(children); 285 children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language)); 286 children.add(new Property("preferred", "boolean", "Indicates whether or not the person prefers this language (over other languages he masters up a certain level).", 0, 1, preferred)); 287 } 288 289 @Override 290 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 291 switch (_hash) { 292 case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language); 293 case -1294005119: /*preferred*/ return new Property("preferred", "boolean", "Indicates whether or not the person prefers this language (over other languages he masters up a certain level).", 0, 1, preferred); 294 default: return super.getNamedProperty(_hash, _name, _checkValid); 295 } 296 297 } 298 299 @Override 300 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 301 switch (hash) { 302 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeableConcept 303 case -1294005119: /*preferred*/ return this.preferred == null ? new Base[0] : new Base[] {this.preferred}; // BooleanType 304 default: return super.getProperty(hash, name, checkValid); 305 } 306 307 } 308 309 @Override 310 public Base setProperty(int hash, String name, Base value) throws FHIRException { 311 switch (hash) { 312 case -1613589672: // language 313 this.language = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 314 return value; 315 case -1294005119: // preferred 316 this.preferred = TypeConvertor.castToBoolean(value); // BooleanType 317 return value; 318 default: return super.setProperty(hash, name, value); 319 } 320 321 } 322 323 @Override 324 public Base setProperty(String name, Base value) throws FHIRException { 325 if (name.equals("language")) { 326 this.language = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 327 } else if (name.equals("preferred")) { 328 this.preferred = TypeConvertor.castToBoolean(value); // BooleanType 329 } else 330 return super.setProperty(name, value); 331 return value; 332 } 333 334 @Override 335 public Base makeProperty(int hash, String name) throws FHIRException { 336 switch (hash) { 337 case -1613589672: return getLanguage(); 338 case -1294005119: return getPreferredElement(); 339 default: return super.makeProperty(hash, name); 340 } 341 342 } 343 344 @Override 345 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 346 switch (hash) { 347 case -1613589672: /*language*/ return new String[] {"CodeableConcept"}; 348 case -1294005119: /*preferred*/ return new String[] {"boolean"}; 349 default: return super.getTypesForProperty(hash, name); 350 } 351 352 } 353 354 @Override 355 public Base addChild(String name) throws FHIRException { 356 if (name.equals("language")) { 357 this.language = new CodeableConcept(); 358 return this.language; 359 } 360 else if (name.equals("preferred")) { 361 throw new FHIRException("Cannot call addChild on a primitive type Person.communication.preferred"); 362 } 363 else 364 return super.addChild(name); 365 } 366 367 public PersonCommunicationComponent copy() { 368 PersonCommunicationComponent dst = new PersonCommunicationComponent(); 369 copyValues(dst); 370 return dst; 371 } 372 373 public void copyValues(PersonCommunicationComponent dst) { 374 super.copyValues(dst); 375 dst.language = language == null ? null : language.copy(); 376 dst.preferred = preferred == null ? null : preferred.copy(); 377 } 378 379 @Override 380 public boolean equalsDeep(Base other_) { 381 if (!super.equalsDeep(other_)) 382 return false; 383 if (!(other_ instanceof PersonCommunicationComponent)) 384 return false; 385 PersonCommunicationComponent o = (PersonCommunicationComponent) other_; 386 return compareDeep(language, o.language, true) && compareDeep(preferred, o.preferred, true); 387 } 388 389 @Override 390 public boolean equalsShallow(Base other_) { 391 if (!super.equalsShallow(other_)) 392 return false; 393 if (!(other_ instanceof PersonCommunicationComponent)) 394 return false; 395 PersonCommunicationComponent o = (PersonCommunicationComponent) other_; 396 return compareValues(preferred, o.preferred, true); 397 } 398 399 public boolean isEmpty() { 400 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, preferred); 401 } 402 403 public String fhirType() { 404 return "Person.communication"; 405 406 } 407 408 } 409 410 @Block() 411 public static class PersonLinkComponent extends BackboneElement implements IBaseBackboneElement { 412 /** 413 * The resource to which this actual person is associated. 414 */ 415 @Child(name = "target", type = {Patient.class, Practitioner.class, RelatedPerson.class, Person.class}, order=1, min=1, max=1, modifier=false, summary=false) 416 @Description(shortDefinition="The resource to which this actual person is associated", formalDefinition="The resource to which this actual person is associated." ) 417 protected Reference target; 418 419 /** 420 * Level of assurance that this link is associated with the target resource. 421 */ 422 @Child(name = "assurance", type = {CodeType.class}, order=2, min=0, max=1, modifier=false, summary=false) 423 @Description(shortDefinition="level1 | level2 | level3 | level4", formalDefinition="Level of assurance that this link is associated with the target resource." ) 424 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/identity-assuranceLevel") 425 protected Enumeration<IdentityAssuranceLevel> assurance; 426 427 private static final long serialVersionUID = -1393523223L; 428 429 /** 430 * Constructor 431 */ 432 public PersonLinkComponent() { 433 super(); 434 } 435 436 /** 437 * Constructor 438 */ 439 public PersonLinkComponent(Reference target) { 440 super(); 441 this.setTarget(target); 442 } 443 444 /** 445 * @return {@link #target} (The resource to which this actual person is associated.) 446 */ 447 public Reference getTarget() { 448 if (this.target == null) 449 if (Configuration.errorOnAutoCreate()) 450 throw new Error("Attempt to auto-create PersonLinkComponent.target"); 451 else if (Configuration.doAutoCreate()) 452 this.target = new Reference(); // cc 453 return this.target; 454 } 455 456 public boolean hasTarget() { 457 return this.target != null && !this.target.isEmpty(); 458 } 459 460 /** 461 * @param value {@link #target} (The resource to which this actual person is associated.) 462 */ 463 public PersonLinkComponent setTarget(Reference value) { 464 this.target = value; 465 return this; 466 } 467 468 /** 469 * @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 470 */ 471 public Enumeration<IdentityAssuranceLevel> getAssuranceElement() { 472 if (this.assurance == null) 473 if (Configuration.errorOnAutoCreate()) 474 throw new Error("Attempt to auto-create PersonLinkComponent.assurance"); 475 else if (Configuration.doAutoCreate()) 476 this.assurance = new Enumeration<IdentityAssuranceLevel>(new IdentityAssuranceLevelEnumFactory()); // bb 477 return this.assurance; 478 } 479 480 public boolean hasAssuranceElement() { 481 return this.assurance != null && !this.assurance.isEmpty(); 482 } 483 484 public boolean hasAssurance() { 485 return this.assurance != null && !this.assurance.isEmpty(); 486 } 487 488 /** 489 * @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 490 */ 491 public PersonLinkComponent setAssuranceElement(Enumeration<IdentityAssuranceLevel> value) { 492 this.assurance = value; 493 return this; 494 } 495 496 /** 497 * @return Level of assurance that this link is associated with the target resource. 498 */ 499 public IdentityAssuranceLevel getAssurance() { 500 return this.assurance == null ? null : this.assurance.getValue(); 501 } 502 503 /** 504 * @param value Level of assurance that this link is associated with the target resource. 505 */ 506 public PersonLinkComponent setAssurance(IdentityAssuranceLevel value) { 507 if (value == null) 508 this.assurance = null; 509 else { 510 if (this.assurance == null) 511 this.assurance = new Enumeration<IdentityAssuranceLevel>(new IdentityAssuranceLevelEnumFactory()); 512 this.assurance.setValue(value); 513 } 514 return this; 515 } 516 517 protected void listChildren(List<Property> children) { 518 super.listChildren(children); 519 children.add(new Property("target", "Reference(Patient|Practitioner|RelatedPerson|Person)", "The resource to which this actual person is associated.", 0, 1, target)); 520 children.add(new Property("assurance", "code", "Level of assurance that this link is associated with the target resource.", 0, 1, assurance)); 521 } 522 523 @Override 524 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 525 switch (_hash) { 526 case -880905839: /*target*/ return new Property("target", "Reference(Patient|Practitioner|RelatedPerson|Person)", "The resource to which this actual person is associated.", 0, 1, target); 527 case 1771900717: /*assurance*/ return new Property("assurance", "code", "Level of assurance that this link is associated with the target resource.", 0, 1, assurance); 528 default: return super.getNamedProperty(_hash, _name, _checkValid); 529 } 530 531 } 532 533 @Override 534 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 535 switch (hash) { 536 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Reference 537 case 1771900717: /*assurance*/ return this.assurance == null ? new Base[0] : new Base[] {this.assurance}; // Enumeration<IdentityAssuranceLevel> 538 default: return super.getProperty(hash, name, checkValid); 539 } 540 541 } 542 543 @Override 544 public Base setProperty(int hash, String name, Base value) throws FHIRException { 545 switch (hash) { 546 case -880905839: // target 547 this.target = TypeConvertor.castToReference(value); // Reference 548 return value; 549 case 1771900717: // assurance 550 value = new IdentityAssuranceLevelEnumFactory().fromType(TypeConvertor.castToCode(value)); 551 this.assurance = (Enumeration) value; // Enumeration<IdentityAssuranceLevel> 552 return value; 553 default: return super.setProperty(hash, name, value); 554 } 555 556 } 557 558 @Override 559 public Base setProperty(String name, Base value) throws FHIRException { 560 if (name.equals("target")) { 561 this.target = TypeConvertor.castToReference(value); // Reference 562 } else if (name.equals("assurance")) { 563 value = new IdentityAssuranceLevelEnumFactory().fromType(TypeConvertor.castToCode(value)); 564 this.assurance = (Enumeration) value; // Enumeration<IdentityAssuranceLevel> 565 } else 566 return super.setProperty(name, value); 567 return value; 568 } 569 570 @Override 571 public Base makeProperty(int hash, String name) throws FHIRException { 572 switch (hash) { 573 case -880905839: return getTarget(); 574 case 1771900717: return getAssuranceElement(); 575 default: return super.makeProperty(hash, name); 576 } 577 578 } 579 580 @Override 581 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 582 switch (hash) { 583 case -880905839: /*target*/ return new String[] {"Reference"}; 584 case 1771900717: /*assurance*/ return new String[] {"code"}; 585 default: return super.getTypesForProperty(hash, name); 586 } 587 588 } 589 590 @Override 591 public Base addChild(String name) throws FHIRException { 592 if (name.equals("target")) { 593 this.target = new Reference(); 594 return this.target; 595 } 596 else if (name.equals("assurance")) { 597 throw new FHIRException("Cannot call addChild on a primitive type Person.link.assurance"); 598 } 599 else 600 return super.addChild(name); 601 } 602 603 public PersonLinkComponent copy() { 604 PersonLinkComponent dst = new PersonLinkComponent(); 605 copyValues(dst); 606 return dst; 607 } 608 609 public void copyValues(PersonLinkComponent dst) { 610 super.copyValues(dst); 611 dst.target = target == null ? null : target.copy(); 612 dst.assurance = assurance == null ? null : assurance.copy(); 613 } 614 615 @Override 616 public boolean equalsDeep(Base other_) { 617 if (!super.equalsDeep(other_)) 618 return false; 619 if (!(other_ instanceof PersonLinkComponent)) 620 return false; 621 PersonLinkComponent o = (PersonLinkComponent) other_; 622 return compareDeep(target, o.target, true) && compareDeep(assurance, o.assurance, true); 623 } 624 625 @Override 626 public boolean equalsShallow(Base other_) { 627 if (!super.equalsShallow(other_)) 628 return false; 629 if (!(other_ instanceof PersonLinkComponent)) 630 return false; 631 PersonLinkComponent o = (PersonLinkComponent) other_; 632 return compareValues(assurance, o.assurance, true); 633 } 634 635 public boolean isEmpty() { 636 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(target, assurance); 637 } 638 639 public String fhirType() { 640 return "Person.link"; 641 642 } 643 644 } 645 646 /** 647 * Identifier for a person within a particular scope. 648 */ 649 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 650 @Description(shortDefinition="A human identifier for this person", formalDefinition="Identifier for a person within a particular scope." ) 651 protected List<Identifier> identifier; 652 653 /** 654 * Whether this person's record is in active use. 655 */ 656 @Child(name = "active", type = {BooleanType.class}, order=1, min=0, max=1, modifier=true, summary=true) 657 @Description(shortDefinition="This person's record is in active use", formalDefinition="Whether this person's record is in active use." ) 658 protected BooleanType active; 659 660 /** 661 * A name associated with the person. 662 */ 663 @Child(name = "name", type = {HumanName.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 664 @Description(shortDefinition="A name associated with the person", formalDefinition="A name associated with the person." ) 665 protected List<HumanName> name; 666 667 /** 668 * A contact detail for the person, e.g. a telephone number or an email address. 669 */ 670 @Child(name = "telecom", type = {ContactPoint.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 671 @Description(shortDefinition="A contact detail for the person", formalDefinition="A contact detail for the person, e.g. a telephone number or an email address." ) 672 protected List<ContactPoint> telecom; 673 674 /** 675 * Administrative Gender. 676 */ 677 @Child(name = "gender", type = {CodeType.class}, order=4, min=0, max=1, modifier=false, summary=true) 678 @Description(shortDefinition="male | female | other | unknown", formalDefinition="Administrative Gender." ) 679 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administrative-gender") 680 protected Enumeration<AdministrativeGender> gender; 681 682 /** 683 * The birth date for the person. 684 */ 685 @Child(name = "birthDate", type = {DateType.class}, order=5, min=0, max=1, modifier=false, summary=true) 686 @Description(shortDefinition="The date on which the person was born", formalDefinition="The birth date for the person." ) 687 protected DateType birthDate; 688 689 /** 690 * Indicates if the individual is deceased or not. 691 */ 692 @Child(name = "deceased", type = {BooleanType.class, DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) 693 @Description(shortDefinition="Indicates if the individual is deceased or not", formalDefinition="Indicates if the individual is deceased or not." ) 694 protected DataType deceased; 695 696 /** 697 * One or more addresses for the person. 698 */ 699 @Child(name = "address", type = {Address.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 700 @Description(shortDefinition="One or more addresses for the person", formalDefinition="One or more addresses for the person." ) 701 protected List<Address> address; 702 703 /** 704 * This field contains a person's most recent marital (civil) status. 705 */ 706 @Child(name = "maritalStatus", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) 707 @Description(shortDefinition="Marital (civil) status of a person", formalDefinition="This field contains a person's most recent marital (civil) status." ) 708 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/marital-status") 709 protected CodeableConcept maritalStatus; 710 711 /** 712 * An image that can be displayed as a thumbnail of the person to enhance the identification of the individual. 713 */ 714 @Child(name = "photo", type = {Attachment.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 715 @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." ) 716 protected List<Attachment> photo; 717 718 /** 719 * The organization that is the custodian of the person record. 720 */ 721 @Child(name = "managingOrganization", type = {Organization.class}, order=10, min=0, max=1, modifier=false, summary=true) 722 @Description(shortDefinition="The organization that is the custodian of the person record", formalDefinition="The organization that is the custodian of the person record." ) 723 protected Reference managingOrganization; 724 725 /** 726 * A language which may be used to communicate with the person about his or her health. 727 */ 728 @Child(name = "communication", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 729 @Description(shortDefinition="A language which may be used to communicate with the person about his or her health", formalDefinition="A language which may be used to communicate with the person about his or her health." ) 730 protected List<PersonCommunicationComponent> communication; 731 732 /** 733 * Link to a resource that concerns the same actual person. 734 */ 735 @Child(name = "link", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 736 @Description(shortDefinition="Link to a resource that concerns the same actual person", formalDefinition="Link to a resource that concerns the same actual person." ) 737 protected List<PersonLinkComponent> link; 738 739 private static final long serialVersionUID = -1013247270L; 740 741 /** 742 * Constructor 743 */ 744 public Person() { 745 super(); 746 } 747 748 /** 749 * @return {@link #identifier} (Identifier for a person within a particular scope.) 750 */ 751 public List<Identifier> getIdentifier() { 752 if (this.identifier == null) 753 this.identifier = new ArrayList<Identifier>(); 754 return this.identifier; 755 } 756 757 /** 758 * @return Returns a reference to <code>this</code> for easy method chaining 759 */ 760 public Person setIdentifier(List<Identifier> theIdentifier) { 761 this.identifier = theIdentifier; 762 return this; 763 } 764 765 public boolean hasIdentifier() { 766 if (this.identifier == null) 767 return false; 768 for (Identifier item : this.identifier) 769 if (!item.isEmpty()) 770 return true; 771 return false; 772 } 773 774 public Identifier addIdentifier() { //3 775 Identifier t = new Identifier(); 776 if (this.identifier == null) 777 this.identifier = new ArrayList<Identifier>(); 778 this.identifier.add(t); 779 return t; 780 } 781 782 public Person addIdentifier(Identifier t) { //3 783 if (t == null) 784 return this; 785 if (this.identifier == null) 786 this.identifier = new ArrayList<Identifier>(); 787 this.identifier.add(t); 788 return this; 789 } 790 791 /** 792 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 793 */ 794 public Identifier getIdentifierFirstRep() { 795 if (getIdentifier().isEmpty()) { 796 addIdentifier(); 797 } 798 return getIdentifier().get(0); 799 } 800 801 /** 802 * @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 803 */ 804 public BooleanType getActiveElement() { 805 if (this.active == null) 806 if (Configuration.errorOnAutoCreate()) 807 throw new Error("Attempt to auto-create Person.active"); 808 else if (Configuration.doAutoCreate()) 809 this.active = new BooleanType(); // bb 810 return this.active; 811 } 812 813 public boolean hasActiveElement() { 814 return this.active != null && !this.active.isEmpty(); 815 } 816 817 public boolean hasActive() { 818 return this.active != null && !this.active.isEmpty(); 819 } 820 821 /** 822 * @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 823 */ 824 public Person setActiveElement(BooleanType value) { 825 this.active = value; 826 return this; 827 } 828 829 /** 830 * @return Whether this person's record is in active use. 831 */ 832 public boolean getActive() { 833 return this.active == null || this.active.isEmpty() ? false : this.active.getValue(); 834 } 835 836 /** 837 * @param value Whether this person's record is in active use. 838 */ 839 public Person setActive(boolean value) { 840 if (this.active == null) 841 this.active = new BooleanType(); 842 this.active.setValue(value); 843 return this; 844 } 845 846 /** 847 * @return {@link #name} (A name associated with the person.) 848 */ 849 public List<HumanName> getName() { 850 if (this.name == null) 851 this.name = new ArrayList<HumanName>(); 852 return this.name; 853 } 854 855 /** 856 * @return Returns a reference to <code>this</code> for easy method chaining 857 */ 858 public Person setName(List<HumanName> theName) { 859 this.name = theName; 860 return this; 861 } 862 863 public boolean hasName() { 864 if (this.name == null) 865 return false; 866 for (HumanName item : this.name) 867 if (!item.isEmpty()) 868 return true; 869 return false; 870 } 871 872 public HumanName addName() { //3 873 HumanName t = new HumanName(); 874 if (this.name == null) 875 this.name = new ArrayList<HumanName>(); 876 this.name.add(t); 877 return t; 878 } 879 880 public Person addName(HumanName t) { //3 881 if (t == null) 882 return this; 883 if (this.name == null) 884 this.name = new ArrayList<HumanName>(); 885 this.name.add(t); 886 return this; 887 } 888 889 /** 890 * @return The first repetition of repeating field {@link #name}, creating it if it does not already exist {3} 891 */ 892 public HumanName getNameFirstRep() { 893 if (getName().isEmpty()) { 894 addName(); 895 } 896 return getName().get(0); 897 } 898 899 /** 900 * @return {@link #telecom} (A contact detail for the person, e.g. a telephone number or an email address.) 901 */ 902 public List<ContactPoint> getTelecom() { 903 if (this.telecom == null) 904 this.telecom = new ArrayList<ContactPoint>(); 905 return this.telecom; 906 } 907 908 /** 909 * @return Returns a reference to <code>this</code> for easy method chaining 910 */ 911 public Person setTelecom(List<ContactPoint> theTelecom) { 912 this.telecom = theTelecom; 913 return this; 914 } 915 916 public boolean hasTelecom() { 917 if (this.telecom == null) 918 return false; 919 for (ContactPoint item : this.telecom) 920 if (!item.isEmpty()) 921 return true; 922 return false; 923 } 924 925 public ContactPoint addTelecom() { //3 926 ContactPoint t = new ContactPoint(); 927 if (this.telecom == null) 928 this.telecom = new ArrayList<ContactPoint>(); 929 this.telecom.add(t); 930 return t; 931 } 932 933 public Person addTelecom(ContactPoint t) { //3 934 if (t == null) 935 return this; 936 if (this.telecom == null) 937 this.telecom = new ArrayList<ContactPoint>(); 938 this.telecom.add(t); 939 return this; 940 } 941 942 /** 943 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} 944 */ 945 public ContactPoint getTelecomFirstRep() { 946 if (getTelecom().isEmpty()) { 947 addTelecom(); 948 } 949 return getTelecom().get(0); 950 } 951 952 /** 953 * @return {@link #gender} (Administrative Gender.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 954 */ 955 public Enumeration<AdministrativeGender> getGenderElement() { 956 if (this.gender == null) 957 if (Configuration.errorOnAutoCreate()) 958 throw new Error("Attempt to auto-create Person.gender"); 959 else if (Configuration.doAutoCreate()) 960 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); // bb 961 return this.gender; 962 } 963 964 public boolean hasGenderElement() { 965 return this.gender != null && !this.gender.isEmpty(); 966 } 967 968 public boolean hasGender() { 969 return this.gender != null && !this.gender.isEmpty(); 970 } 971 972 /** 973 * @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 974 */ 975 public Person setGenderElement(Enumeration<AdministrativeGender> value) { 976 this.gender = value; 977 return this; 978 } 979 980 /** 981 * @return Administrative Gender. 982 */ 983 public AdministrativeGender getGender() { 984 return this.gender == null ? null : this.gender.getValue(); 985 } 986 987 /** 988 * @param value Administrative Gender. 989 */ 990 public Person setGender(AdministrativeGender value) { 991 if (value == null) 992 this.gender = null; 993 else { 994 if (this.gender == null) 995 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); 996 this.gender.setValue(value); 997 } 998 return this; 999 } 1000 1001 /** 1002 * @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 1003 */ 1004 public DateType getBirthDateElement() { 1005 if (this.birthDate == null) 1006 if (Configuration.errorOnAutoCreate()) 1007 throw new Error("Attempt to auto-create Person.birthDate"); 1008 else if (Configuration.doAutoCreate()) 1009 this.birthDate = new DateType(); // bb 1010 return this.birthDate; 1011 } 1012 1013 public boolean hasBirthDateElement() { 1014 return this.birthDate != null && !this.birthDate.isEmpty(); 1015 } 1016 1017 public boolean hasBirthDate() { 1018 return this.birthDate != null && !this.birthDate.isEmpty(); 1019 } 1020 1021 /** 1022 * @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 1023 */ 1024 public Person setBirthDateElement(DateType value) { 1025 this.birthDate = value; 1026 return this; 1027 } 1028 1029 /** 1030 * @return The birth date for the person. 1031 */ 1032 public Date getBirthDate() { 1033 return this.birthDate == null ? null : this.birthDate.getValue(); 1034 } 1035 1036 /** 1037 * @param value The birth date for the person. 1038 */ 1039 public Person setBirthDate(Date value) { 1040 if (value == null) 1041 this.birthDate = null; 1042 else { 1043 if (this.birthDate == null) 1044 this.birthDate = new DateType(); 1045 this.birthDate.setValue(value); 1046 } 1047 return this; 1048 } 1049 1050 /** 1051 * @return {@link #deceased} (Indicates if the individual is deceased or not.) 1052 */ 1053 public DataType getDeceased() { 1054 return this.deceased; 1055 } 1056 1057 /** 1058 * @return {@link #deceased} (Indicates if the individual is deceased or not.) 1059 */ 1060 public BooleanType getDeceasedBooleanType() throws FHIRException { 1061 if (this.deceased == null) 1062 this.deceased = new BooleanType(); 1063 if (!(this.deceased instanceof BooleanType)) 1064 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.deceased.getClass().getName()+" was encountered"); 1065 return (BooleanType) this.deceased; 1066 } 1067 1068 public boolean hasDeceasedBooleanType() { 1069 return this != null && this.deceased instanceof BooleanType; 1070 } 1071 1072 /** 1073 * @return {@link #deceased} (Indicates if the individual is deceased or not.) 1074 */ 1075 public DateTimeType getDeceasedDateTimeType() throws FHIRException { 1076 if (this.deceased == null) 1077 this.deceased = new DateTimeType(); 1078 if (!(this.deceased instanceof DateTimeType)) 1079 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.deceased.getClass().getName()+" was encountered"); 1080 return (DateTimeType) this.deceased; 1081 } 1082 1083 public boolean hasDeceasedDateTimeType() { 1084 return this != null && this.deceased instanceof DateTimeType; 1085 } 1086 1087 public boolean hasDeceased() { 1088 return this.deceased != null && !this.deceased.isEmpty(); 1089 } 1090 1091 /** 1092 * @param value {@link #deceased} (Indicates if the individual is deceased or not.) 1093 */ 1094 public Person setDeceased(DataType value) { 1095 if (value != null && !(value instanceof BooleanType || value instanceof DateTimeType)) 1096 throw new Error("Not the right type for Person.deceased[x]: "+value.fhirType()); 1097 this.deceased = value; 1098 return this; 1099 } 1100 1101 /** 1102 * @return {@link #address} (One or more addresses for the person.) 1103 */ 1104 public List<Address> getAddress() { 1105 if (this.address == null) 1106 this.address = new ArrayList<Address>(); 1107 return this.address; 1108 } 1109 1110 /** 1111 * @return Returns a reference to <code>this</code> for easy method chaining 1112 */ 1113 public Person setAddress(List<Address> theAddress) { 1114 this.address = theAddress; 1115 return this; 1116 } 1117 1118 public boolean hasAddress() { 1119 if (this.address == null) 1120 return false; 1121 for (Address item : this.address) 1122 if (!item.isEmpty()) 1123 return true; 1124 return false; 1125 } 1126 1127 public Address addAddress() { //3 1128 Address t = new Address(); 1129 if (this.address == null) 1130 this.address = new ArrayList<Address>(); 1131 this.address.add(t); 1132 return t; 1133 } 1134 1135 public Person addAddress(Address t) { //3 1136 if (t == null) 1137 return this; 1138 if (this.address == null) 1139 this.address = new ArrayList<Address>(); 1140 this.address.add(t); 1141 return this; 1142 } 1143 1144 /** 1145 * @return The first repetition of repeating field {@link #address}, creating it if it does not already exist {3} 1146 */ 1147 public Address getAddressFirstRep() { 1148 if (getAddress().isEmpty()) { 1149 addAddress(); 1150 } 1151 return getAddress().get(0); 1152 } 1153 1154 /** 1155 * @return {@link #maritalStatus} (This field contains a person's most recent marital (civil) status.) 1156 */ 1157 public CodeableConcept getMaritalStatus() { 1158 if (this.maritalStatus == null) 1159 if (Configuration.errorOnAutoCreate()) 1160 throw new Error("Attempt to auto-create Person.maritalStatus"); 1161 else if (Configuration.doAutoCreate()) 1162 this.maritalStatus = new CodeableConcept(); // cc 1163 return this.maritalStatus; 1164 } 1165 1166 public boolean hasMaritalStatus() { 1167 return this.maritalStatus != null && !this.maritalStatus.isEmpty(); 1168 } 1169 1170 /** 1171 * @param value {@link #maritalStatus} (This field contains a person's most recent marital (civil) status.) 1172 */ 1173 public Person setMaritalStatus(CodeableConcept value) { 1174 this.maritalStatus = value; 1175 return this; 1176 } 1177 1178 /** 1179 * @return {@link #photo} (An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.) 1180 */ 1181 public List<Attachment> getPhoto() { 1182 if (this.photo == null) 1183 this.photo = new ArrayList<Attachment>(); 1184 return this.photo; 1185 } 1186 1187 /** 1188 * @return Returns a reference to <code>this</code> for easy method chaining 1189 */ 1190 public Person setPhoto(List<Attachment> thePhoto) { 1191 this.photo = thePhoto; 1192 return this; 1193 } 1194 1195 public boolean hasPhoto() { 1196 if (this.photo == null) 1197 return false; 1198 for (Attachment item : this.photo) 1199 if (!item.isEmpty()) 1200 return true; 1201 return false; 1202 } 1203 1204 public Attachment addPhoto() { //3 1205 Attachment t = new Attachment(); 1206 if (this.photo == null) 1207 this.photo = new ArrayList<Attachment>(); 1208 this.photo.add(t); 1209 return t; 1210 } 1211 1212 public Person addPhoto(Attachment t) { //3 1213 if (t == null) 1214 return this; 1215 if (this.photo == null) 1216 this.photo = new ArrayList<Attachment>(); 1217 this.photo.add(t); 1218 return this; 1219 } 1220 1221 /** 1222 * @return The first repetition of repeating field {@link #photo}, creating it if it does not already exist {3} 1223 */ 1224 public Attachment getPhotoFirstRep() { 1225 if (getPhoto().isEmpty()) { 1226 addPhoto(); 1227 } 1228 return getPhoto().get(0); 1229 } 1230 1231 /** 1232 * @return {@link #managingOrganization} (The organization that is the custodian of the person record.) 1233 */ 1234 public Reference getManagingOrganization() { 1235 if (this.managingOrganization == null) 1236 if (Configuration.errorOnAutoCreate()) 1237 throw new Error("Attempt to auto-create Person.managingOrganization"); 1238 else if (Configuration.doAutoCreate()) 1239 this.managingOrganization = new Reference(); // cc 1240 return this.managingOrganization; 1241 } 1242 1243 public boolean hasManagingOrganization() { 1244 return this.managingOrganization != null && !this.managingOrganization.isEmpty(); 1245 } 1246 1247 /** 1248 * @param value {@link #managingOrganization} (The organization that is the custodian of the person record.) 1249 */ 1250 public Person setManagingOrganization(Reference value) { 1251 this.managingOrganization = value; 1252 return this; 1253 } 1254 1255 /** 1256 * @return {@link #communication} (A language which may be used to communicate with the person about his or her health.) 1257 */ 1258 public List<PersonCommunicationComponent> getCommunication() { 1259 if (this.communication == null) 1260 this.communication = new ArrayList<PersonCommunicationComponent>(); 1261 return this.communication; 1262 } 1263 1264 /** 1265 * @return Returns a reference to <code>this</code> for easy method chaining 1266 */ 1267 public Person setCommunication(List<PersonCommunicationComponent> theCommunication) { 1268 this.communication = theCommunication; 1269 return this; 1270 } 1271 1272 public boolean hasCommunication() { 1273 if (this.communication == null) 1274 return false; 1275 for (PersonCommunicationComponent item : this.communication) 1276 if (!item.isEmpty()) 1277 return true; 1278 return false; 1279 } 1280 1281 public PersonCommunicationComponent addCommunication() { //3 1282 PersonCommunicationComponent t = new PersonCommunicationComponent(); 1283 if (this.communication == null) 1284 this.communication = new ArrayList<PersonCommunicationComponent>(); 1285 this.communication.add(t); 1286 return t; 1287 } 1288 1289 public Person addCommunication(PersonCommunicationComponent t) { //3 1290 if (t == null) 1291 return this; 1292 if (this.communication == null) 1293 this.communication = new ArrayList<PersonCommunicationComponent>(); 1294 this.communication.add(t); 1295 return this; 1296 } 1297 1298 /** 1299 * @return The first repetition of repeating field {@link #communication}, creating it if it does not already exist {3} 1300 */ 1301 public PersonCommunicationComponent getCommunicationFirstRep() { 1302 if (getCommunication().isEmpty()) { 1303 addCommunication(); 1304 } 1305 return getCommunication().get(0); 1306 } 1307 1308 /** 1309 * @return {@link #link} (Link to a resource that concerns the same actual person.) 1310 */ 1311 public List<PersonLinkComponent> getLink() { 1312 if (this.link == null) 1313 this.link = new ArrayList<PersonLinkComponent>(); 1314 return this.link; 1315 } 1316 1317 /** 1318 * @return Returns a reference to <code>this</code> for easy method chaining 1319 */ 1320 public Person setLink(List<PersonLinkComponent> theLink) { 1321 this.link = theLink; 1322 return this; 1323 } 1324 1325 public boolean hasLink() { 1326 if (this.link == null) 1327 return false; 1328 for (PersonLinkComponent item : this.link) 1329 if (!item.isEmpty()) 1330 return true; 1331 return false; 1332 } 1333 1334 public PersonLinkComponent addLink() { //3 1335 PersonLinkComponent t = new PersonLinkComponent(); 1336 if (this.link == null) 1337 this.link = new ArrayList<PersonLinkComponent>(); 1338 this.link.add(t); 1339 return t; 1340 } 1341 1342 public Person addLink(PersonLinkComponent t) { //3 1343 if (t == null) 1344 return this; 1345 if (this.link == null) 1346 this.link = new ArrayList<PersonLinkComponent>(); 1347 this.link.add(t); 1348 return this; 1349 } 1350 1351 /** 1352 * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist {3} 1353 */ 1354 public PersonLinkComponent getLinkFirstRep() { 1355 if (getLink().isEmpty()) { 1356 addLink(); 1357 } 1358 return getLink().get(0); 1359 } 1360 1361 protected void listChildren(List<Property> children) { 1362 super.listChildren(children); 1363 children.add(new Property("identifier", "Identifier", "Identifier for a person within a particular scope.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1364 children.add(new Property("active", "boolean", "Whether this person's record is in active use.", 0, 1, active)); 1365 children.add(new Property("name", "HumanName", "A name associated with the person.", 0, java.lang.Integer.MAX_VALUE, name)); 1366 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)); 1367 children.add(new Property("gender", "code", "Administrative Gender.", 0, 1, gender)); 1368 children.add(new Property("birthDate", "date", "The birth date for the person.", 0, 1, birthDate)); 1369 children.add(new Property("deceased[x]", "boolean|dateTime", "Indicates if the individual is deceased or not.", 0, 1, deceased)); 1370 children.add(new Property("address", "Address", "One or more addresses for the person.", 0, java.lang.Integer.MAX_VALUE, address)); 1371 children.add(new Property("maritalStatus", "CodeableConcept", "This field contains a person's most recent marital (civil) status.", 0, 1, maritalStatus)); 1372 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, java.lang.Integer.MAX_VALUE, photo)); 1373 children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization)); 1374 children.add(new Property("communication", "", "A language which may be used to communicate with the person about his or her health.", 0, java.lang.Integer.MAX_VALUE, communication)); 1375 children.add(new Property("link", "", "Link to a resource that concerns the same actual person.", 0, java.lang.Integer.MAX_VALUE, link)); 1376 } 1377 1378 @Override 1379 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1380 switch (_hash) { 1381 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifier for a person within a particular scope.", 0, java.lang.Integer.MAX_VALUE, identifier); 1382 case -1422950650: /*active*/ return new Property("active", "boolean", "Whether this person's record is in active use.", 0, 1, active); 1383 case 3373707: /*name*/ return new Property("name", "HumanName", "A name associated with the person.", 0, java.lang.Integer.MAX_VALUE, name); 1384 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); 1385 case -1249512767: /*gender*/ return new Property("gender", "code", "Administrative Gender.", 0, 1, gender); 1386 case -1210031859: /*birthDate*/ return new Property("birthDate", "date", "The birth date for the person.", 0, 1, birthDate); 1387 case -1311442804: /*deceased[x]*/ return new Property("deceased[x]", "boolean|dateTime", "Indicates if the individual is deceased or not.", 0, 1, deceased); 1388 case 561497972: /*deceased*/ return new Property("deceased[x]", "boolean|dateTime", "Indicates if the individual is deceased or not.", 0, 1, deceased); 1389 case 497463828: /*deceasedBoolean*/ return new Property("deceased[x]", "boolean", "Indicates if the individual is deceased or not.", 0, 1, deceased); 1390 case -1971804369: /*deceasedDateTime*/ return new Property("deceased[x]", "dateTime", "Indicates if the individual is deceased or not.", 0, 1, deceased); 1391 case -1147692044: /*address*/ return new Property("address", "Address", "One or more addresses for the person.", 0, java.lang.Integer.MAX_VALUE, address); 1392 case 1756919302: /*maritalStatus*/ return new Property("maritalStatus", "CodeableConcept", "This field contains a person's most recent marital (civil) status.", 0, 1, maritalStatus); 1393 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, java.lang.Integer.MAX_VALUE, photo); 1394 case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization); 1395 case -1035284522: /*communication*/ return new Property("communication", "", "A language which may be used to communicate with the person about his or her health.", 0, java.lang.Integer.MAX_VALUE, communication); 1396 case 3321850: /*link*/ return new Property("link", "", "Link to a resource that concerns the same actual person.", 0, java.lang.Integer.MAX_VALUE, link); 1397 default: return super.getNamedProperty(_hash, _name, _checkValid); 1398 } 1399 1400 } 1401 1402 @Override 1403 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1404 switch (hash) { 1405 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1406 case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType 1407 case 3373707: /*name*/ return this.name == null ? new Base[0] : this.name.toArray(new Base[this.name.size()]); // HumanName 1408 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 1409 case -1249512767: /*gender*/ return this.gender == null ? new Base[0] : new Base[] {this.gender}; // Enumeration<AdministrativeGender> 1410 case -1210031859: /*birthDate*/ return this.birthDate == null ? new Base[0] : new Base[] {this.birthDate}; // DateType 1411 case 561497972: /*deceased*/ return this.deceased == null ? new Base[0] : new Base[] {this.deceased}; // DataType 1412 case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address 1413 case 1756919302: /*maritalStatus*/ return this.maritalStatus == null ? new Base[0] : new Base[] {this.maritalStatus}; // CodeableConcept 1414 case 106642994: /*photo*/ return this.photo == null ? new Base[0] : this.photo.toArray(new Base[this.photo.size()]); // Attachment 1415 case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference 1416 case -1035284522: /*communication*/ return this.communication == null ? new Base[0] : this.communication.toArray(new Base[this.communication.size()]); // PersonCommunicationComponent 1417 case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // PersonLinkComponent 1418 default: return super.getProperty(hash, name, checkValid); 1419 } 1420 1421 } 1422 1423 @Override 1424 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1425 switch (hash) { 1426 case -1618432855: // identifier 1427 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1428 return value; 1429 case -1422950650: // active 1430 this.active = TypeConvertor.castToBoolean(value); // BooleanType 1431 return value; 1432 case 3373707: // name 1433 this.getName().add(TypeConvertor.castToHumanName(value)); // HumanName 1434 return value; 1435 case -1429363305: // telecom 1436 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint 1437 return value; 1438 case -1249512767: // gender 1439 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1440 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1441 return value; 1442 case -1210031859: // birthDate 1443 this.birthDate = TypeConvertor.castToDate(value); // DateType 1444 return value; 1445 case 561497972: // deceased 1446 this.deceased = TypeConvertor.castToType(value); // DataType 1447 return value; 1448 case -1147692044: // address 1449 this.getAddress().add(TypeConvertor.castToAddress(value)); // Address 1450 return value; 1451 case 1756919302: // maritalStatus 1452 this.maritalStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1453 return value; 1454 case 106642994: // photo 1455 this.getPhoto().add(TypeConvertor.castToAttachment(value)); // Attachment 1456 return value; 1457 case -2058947787: // managingOrganization 1458 this.managingOrganization = TypeConvertor.castToReference(value); // Reference 1459 return value; 1460 case -1035284522: // communication 1461 this.getCommunication().add((PersonCommunicationComponent) value); // PersonCommunicationComponent 1462 return value; 1463 case 3321850: // link 1464 this.getLink().add((PersonLinkComponent) value); // PersonLinkComponent 1465 return value; 1466 default: return super.setProperty(hash, name, value); 1467 } 1468 1469 } 1470 1471 @Override 1472 public Base setProperty(String name, Base value) throws FHIRException { 1473 if (name.equals("identifier")) { 1474 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1475 } else if (name.equals("active")) { 1476 this.active = TypeConvertor.castToBoolean(value); // BooleanType 1477 } else if (name.equals("name")) { 1478 this.getName().add(TypeConvertor.castToHumanName(value)); 1479 } else if (name.equals("telecom")) { 1480 this.getTelecom().add(TypeConvertor.castToContactPoint(value)); 1481 } else if (name.equals("gender")) { 1482 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1483 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1484 } else if (name.equals("birthDate")) { 1485 this.birthDate = TypeConvertor.castToDate(value); // DateType 1486 } else if (name.equals("deceased[x]")) { 1487 this.deceased = TypeConvertor.castToType(value); // DataType 1488 } else if (name.equals("address")) { 1489 this.getAddress().add(TypeConvertor.castToAddress(value)); 1490 } else if (name.equals("maritalStatus")) { 1491 this.maritalStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1492 } else if (name.equals("photo")) { 1493 this.getPhoto().add(TypeConvertor.castToAttachment(value)); 1494 } else if (name.equals("managingOrganization")) { 1495 this.managingOrganization = TypeConvertor.castToReference(value); // Reference 1496 } else if (name.equals("communication")) { 1497 this.getCommunication().add((PersonCommunicationComponent) value); 1498 } else if (name.equals("link")) { 1499 this.getLink().add((PersonLinkComponent) value); 1500 } else 1501 return super.setProperty(name, value); 1502 return value; 1503 } 1504 1505 @Override 1506 public Base makeProperty(int hash, String name) throws FHIRException { 1507 switch (hash) { 1508 case -1618432855: return addIdentifier(); 1509 case -1422950650: return getActiveElement(); 1510 case 3373707: return addName(); 1511 case -1429363305: return addTelecom(); 1512 case -1249512767: return getGenderElement(); 1513 case -1210031859: return getBirthDateElement(); 1514 case -1311442804: return getDeceased(); 1515 case 561497972: return getDeceased(); 1516 case -1147692044: return addAddress(); 1517 case 1756919302: return getMaritalStatus(); 1518 case 106642994: return addPhoto(); 1519 case -2058947787: return getManagingOrganization(); 1520 case -1035284522: return addCommunication(); 1521 case 3321850: return addLink(); 1522 default: return super.makeProperty(hash, name); 1523 } 1524 1525 } 1526 1527 @Override 1528 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1529 switch (hash) { 1530 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1531 case -1422950650: /*active*/ return new String[] {"boolean"}; 1532 case 3373707: /*name*/ return new String[] {"HumanName"}; 1533 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 1534 case -1249512767: /*gender*/ return new String[] {"code"}; 1535 case -1210031859: /*birthDate*/ return new String[] {"date"}; 1536 case 561497972: /*deceased*/ return new String[] {"boolean", "dateTime"}; 1537 case -1147692044: /*address*/ return new String[] {"Address"}; 1538 case 1756919302: /*maritalStatus*/ return new String[] {"CodeableConcept"}; 1539 case 106642994: /*photo*/ return new String[] {"Attachment"}; 1540 case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; 1541 case -1035284522: /*communication*/ return new String[] {}; 1542 case 3321850: /*link*/ return new String[] {}; 1543 default: return super.getTypesForProperty(hash, name); 1544 } 1545 1546 } 1547 1548 @Override 1549 public Base addChild(String name) throws FHIRException { 1550 if (name.equals("identifier")) { 1551 return addIdentifier(); 1552 } 1553 else if (name.equals("active")) { 1554 throw new FHIRException("Cannot call addChild on a primitive type Person.active"); 1555 } 1556 else if (name.equals("name")) { 1557 return addName(); 1558 } 1559 else if (name.equals("telecom")) { 1560 return addTelecom(); 1561 } 1562 else if (name.equals("gender")) { 1563 throw new FHIRException("Cannot call addChild on a primitive type Person.gender"); 1564 } 1565 else if (name.equals("birthDate")) { 1566 throw new FHIRException("Cannot call addChild on a primitive type Person.birthDate"); 1567 } 1568 else if (name.equals("deceasedBoolean")) { 1569 this.deceased = new BooleanType(); 1570 return this.deceased; 1571 } 1572 else if (name.equals("deceasedDateTime")) { 1573 this.deceased = new DateTimeType(); 1574 return this.deceased; 1575 } 1576 else if (name.equals("address")) { 1577 return addAddress(); 1578 } 1579 else if (name.equals("maritalStatus")) { 1580 this.maritalStatus = new CodeableConcept(); 1581 return this.maritalStatus; 1582 } 1583 else if (name.equals("photo")) { 1584 return addPhoto(); 1585 } 1586 else if (name.equals("managingOrganization")) { 1587 this.managingOrganization = new Reference(); 1588 return this.managingOrganization; 1589 } 1590 else if (name.equals("communication")) { 1591 return addCommunication(); 1592 } 1593 else if (name.equals("link")) { 1594 return addLink(); 1595 } 1596 else 1597 return super.addChild(name); 1598 } 1599 1600 public String fhirType() { 1601 return "Person"; 1602 1603 } 1604 1605 public Person copy() { 1606 Person dst = new Person(); 1607 copyValues(dst); 1608 return dst; 1609 } 1610 1611 public void copyValues(Person dst) { 1612 super.copyValues(dst); 1613 if (identifier != null) { 1614 dst.identifier = new ArrayList<Identifier>(); 1615 for (Identifier i : identifier) 1616 dst.identifier.add(i.copy()); 1617 }; 1618 dst.active = active == null ? null : active.copy(); 1619 if (name != null) { 1620 dst.name = new ArrayList<HumanName>(); 1621 for (HumanName i : name) 1622 dst.name.add(i.copy()); 1623 }; 1624 if (telecom != null) { 1625 dst.telecom = new ArrayList<ContactPoint>(); 1626 for (ContactPoint i : telecom) 1627 dst.telecom.add(i.copy()); 1628 }; 1629 dst.gender = gender == null ? null : gender.copy(); 1630 dst.birthDate = birthDate == null ? null : birthDate.copy(); 1631 dst.deceased = deceased == null ? null : deceased.copy(); 1632 if (address != null) { 1633 dst.address = new ArrayList<Address>(); 1634 for (Address i : address) 1635 dst.address.add(i.copy()); 1636 }; 1637 dst.maritalStatus = maritalStatus == null ? null : maritalStatus.copy(); 1638 if (photo != null) { 1639 dst.photo = new ArrayList<Attachment>(); 1640 for (Attachment i : photo) 1641 dst.photo.add(i.copy()); 1642 }; 1643 dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); 1644 if (communication != null) { 1645 dst.communication = new ArrayList<PersonCommunicationComponent>(); 1646 for (PersonCommunicationComponent i : communication) 1647 dst.communication.add(i.copy()); 1648 }; 1649 if (link != null) { 1650 dst.link = new ArrayList<PersonLinkComponent>(); 1651 for (PersonLinkComponent i : link) 1652 dst.link.add(i.copy()); 1653 }; 1654 } 1655 1656 protected Person typedCopy() { 1657 return copy(); 1658 } 1659 1660 @Override 1661 public boolean equalsDeep(Base other_) { 1662 if (!super.equalsDeep(other_)) 1663 return false; 1664 if (!(other_ instanceof Person)) 1665 return false; 1666 Person o = (Person) other_; 1667 return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(name, o.name, true) 1668 && compareDeep(telecom, o.telecom, true) && compareDeep(gender, o.gender, true) && compareDeep(birthDate, o.birthDate, true) 1669 && compareDeep(deceased, o.deceased, true) && compareDeep(address, o.address, true) && compareDeep(maritalStatus, o.maritalStatus, true) 1670 && compareDeep(photo, o.photo, true) && compareDeep(managingOrganization, o.managingOrganization, true) 1671 && compareDeep(communication, o.communication, true) && compareDeep(link, o.link, true); 1672 } 1673 1674 @Override 1675 public boolean equalsShallow(Base other_) { 1676 if (!super.equalsShallow(other_)) 1677 return false; 1678 if (!(other_ instanceof Person)) 1679 return false; 1680 Person o = (Person) other_; 1681 return compareValues(active, o.active, true) && compareValues(gender, o.gender, true) && compareValues(birthDate, o.birthDate, true) 1682 ; 1683 } 1684 1685 public boolean isEmpty() { 1686 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, name 1687 , telecom, gender, birthDate, deceased, address, maritalStatus, photo, managingOrganization 1688 , communication, link); 1689 } 1690 1691 @Override 1692 public ResourceType getResourceType() { 1693 return ResourceType.Person; 1694 } 1695 1696 /** 1697 * Search parameter: <b>death-date</b> 1698 * <p> 1699 * Description: <b>The date of death has been provided and satisfies this search value</b><br> 1700 * Type: <b>date</b><br> 1701 * Path: <b>(Person.deceased as dateTime)</b><br> 1702 * </p> 1703 */ 1704 @SearchParamDefinition(name="death-date", path="(Person.deceased as dateTime)", description="The date of death has been provided and satisfies this search value", type="date" ) 1705 public static final String SP_DEATH_DATE = "death-date"; 1706 /** 1707 * <b>Fluent Client</b> search parameter constant for <b>death-date</b> 1708 * <p> 1709 * Description: <b>The date of death has been provided and satisfies this search value</b><br> 1710 * Type: <b>date</b><br> 1711 * Path: <b>(Person.deceased as dateTime)</b><br> 1712 * </p> 1713 */ 1714 public static final ca.uhn.fhir.rest.gclient.DateClientParam DEATH_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DEATH_DATE); 1715 1716 /** 1717 * Search parameter: <b>deceased</b> 1718 * <p> 1719 * Description: <b>This person has been marked as deceased, or has a death date entered</b><br> 1720 * Type: <b>token</b><br> 1721 * Path: <b>Person.deceased.exists() and Person.deceased != false</b><br> 1722 * </p> 1723 */ 1724 @SearchParamDefinition(name="deceased", path="Person.deceased.exists() and Person.deceased != false", description="This person has been marked as deceased, or has a death date entered", type="token" ) 1725 public static final String SP_DECEASED = "deceased"; 1726 /** 1727 * <b>Fluent Client</b> search parameter constant for <b>deceased</b> 1728 * <p> 1729 * Description: <b>This person has been marked as deceased, or has a death date entered</b><br> 1730 * Type: <b>token</b><br> 1731 * Path: <b>Person.deceased.exists() and Person.deceased != false</b><br> 1732 * </p> 1733 */ 1734 public static final ca.uhn.fhir.rest.gclient.TokenClientParam DECEASED = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_DECEASED); 1735 1736 /** 1737 * Search parameter: <b>family</b> 1738 * <p> 1739 * Description: <b>A portion of the family name of the person</b><br> 1740 * Type: <b>string</b><br> 1741 * Path: <b>Person.name.family</b><br> 1742 * </p> 1743 */ 1744 @SearchParamDefinition(name="family", path="Person.name.family", description="A portion of the family name of the person", type="string" ) 1745 public static final String SP_FAMILY = "family"; 1746 /** 1747 * <b>Fluent Client</b> search parameter constant for <b>family</b> 1748 * <p> 1749 * Description: <b>A portion of the family name of the person</b><br> 1750 * Type: <b>string</b><br> 1751 * Path: <b>Person.name.family</b><br> 1752 * </p> 1753 */ 1754 public static final ca.uhn.fhir.rest.gclient.StringClientParam FAMILY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_FAMILY); 1755 1756 /** 1757 * Search parameter: <b>given</b> 1758 * <p> 1759 * Description: <b>A portion of the given name of the person</b><br> 1760 * Type: <b>string</b><br> 1761 * Path: <b>Person.name.given</b><br> 1762 * </p> 1763 */ 1764 @SearchParamDefinition(name="given", path="Person.name.given", description="A portion of the given name of the person", type="string" ) 1765 public static final String SP_GIVEN = "given"; 1766 /** 1767 * <b>Fluent Client</b> search parameter constant for <b>given</b> 1768 * <p> 1769 * Description: <b>A portion of the given name of the person</b><br> 1770 * Type: <b>string</b><br> 1771 * Path: <b>Person.name.given</b><br> 1772 * </p> 1773 */ 1774 public static final ca.uhn.fhir.rest.gclient.StringClientParam GIVEN = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_GIVEN); 1775 1776 /** 1777 * Search parameter: <b>identifier</b> 1778 * <p> 1779 * Description: <b>A person Identifier</b><br> 1780 * Type: <b>token</b><br> 1781 * Path: <b>Person.identifier</b><br> 1782 * </p> 1783 */ 1784 @SearchParamDefinition(name="identifier", path="Person.identifier", description="A person Identifier", type="token" ) 1785 public static final String SP_IDENTIFIER = "identifier"; 1786 /** 1787 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1788 * <p> 1789 * Description: <b>A person Identifier</b><br> 1790 * Type: <b>token</b><br> 1791 * Path: <b>Person.identifier</b><br> 1792 * </p> 1793 */ 1794 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1795 1796 /** 1797 * Search parameter: <b>link</b> 1798 * <p> 1799 * Description: <b>Any link has this Patient, Person, RelatedPerson or Practitioner reference</b><br> 1800 * Type: <b>reference</b><br> 1801 * Path: <b>Person.link.target</b><br> 1802 * </p> 1803 */ 1804 @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 } ) 1805 public static final String SP_LINK = "link"; 1806 /** 1807 * <b>Fluent Client</b> search parameter constant for <b>link</b> 1808 * <p> 1809 * Description: <b>Any link has this Patient, Person, RelatedPerson or Practitioner reference</b><br> 1810 * Type: <b>reference</b><br> 1811 * Path: <b>Person.link.target</b><br> 1812 * </p> 1813 */ 1814 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LINK = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LINK); 1815 1816/** 1817 * Constant for fluent queries to be used to add include statements. Specifies 1818 * the path value of "<b>Person:link</b>". 1819 */ 1820 public static final ca.uhn.fhir.model.api.Include INCLUDE_LINK = new ca.uhn.fhir.model.api.Include("Person:link").toLocked(); 1821 1822 /** 1823 * Search parameter: <b>name</b> 1824 * <p> 1825 * 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> 1826 * Type: <b>string</b><br> 1827 * Path: <b>Person.name</b><br> 1828 * </p> 1829 */ 1830 @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" ) 1831 public static final String SP_NAME = "name"; 1832 /** 1833 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1834 * <p> 1835 * 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> 1836 * Type: <b>string</b><br> 1837 * Path: <b>Person.name</b><br> 1838 * </p> 1839 */ 1840 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1841 1842 /** 1843 * Search parameter: <b>organization</b> 1844 * <p> 1845 * Description: <b>The organization at which this person record is being managed</b><br> 1846 * Type: <b>reference</b><br> 1847 * Path: <b>Person.managingOrganization</b><br> 1848 * </p> 1849 */ 1850 @SearchParamDefinition(name="organization", path="Person.managingOrganization", description="The organization at which this person record is being managed", type="reference", target={Organization.class } ) 1851 public static final String SP_ORGANIZATION = "organization"; 1852 /** 1853 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 1854 * <p> 1855 * Description: <b>The organization at which this person record is being managed</b><br> 1856 * Type: <b>reference</b><br> 1857 * Path: <b>Person.managingOrganization</b><br> 1858 * </p> 1859 */ 1860 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ORGANIZATION); 1861 1862/** 1863 * Constant for fluent queries to be used to add include statements. Specifies 1864 * the path value of "<b>Person:organization</b>". 1865 */ 1866 public static final ca.uhn.fhir.model.api.Include INCLUDE_ORGANIZATION = new ca.uhn.fhir.model.api.Include("Person:organization").toLocked(); 1867 1868 /** 1869 * Search parameter: <b>patient</b> 1870 * <p> 1871 * Description: <b>The Person links to this Patient</b><br> 1872 * Type: <b>reference</b><br> 1873 * Path: <b>Person.link.target.where(resolve() is Patient)</b><br> 1874 * </p> 1875 */ 1876 @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 } ) 1877 public static final String SP_PATIENT = "patient"; 1878 /** 1879 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1880 * <p> 1881 * Description: <b>The Person links to this Patient</b><br> 1882 * Type: <b>reference</b><br> 1883 * Path: <b>Person.link.target.where(resolve() is Patient)</b><br> 1884 * </p> 1885 */ 1886 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1887 1888/** 1889 * Constant for fluent queries to be used to add include statements. Specifies 1890 * the path value of "<b>Person:patient</b>". 1891 */ 1892 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Person:patient").toLocked(); 1893 1894 /** 1895 * Search parameter: <b>practitioner</b> 1896 * <p> 1897 * Description: <b>The Person links to this Practitioner</b><br> 1898 * Type: <b>reference</b><br> 1899 * Path: <b>Person.link.target.where(resolve() is Practitioner)</b><br> 1900 * </p> 1901 */ 1902 @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 } ) 1903 public static final String SP_PRACTITIONER = "practitioner"; 1904 /** 1905 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 1906 * <p> 1907 * Description: <b>The Person links to this Practitioner</b><br> 1908 * Type: <b>reference</b><br> 1909 * Path: <b>Person.link.target.where(resolve() is Practitioner)</b><br> 1910 * </p> 1911 */ 1912 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRACTITIONER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRACTITIONER); 1913 1914/** 1915 * Constant for fluent queries to be used to add include statements. Specifies 1916 * the path value of "<b>Person:practitioner</b>". 1917 */ 1918 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRACTITIONER = new ca.uhn.fhir.model.api.Include("Person:practitioner").toLocked(); 1919 1920 /** 1921 * Search parameter: <b>relatedperson</b> 1922 * <p> 1923 * Description: <b>The Person links to this RelatedPerson</b><br> 1924 * Type: <b>reference</b><br> 1925 * Path: <b>Person.link.target.where(resolve() is RelatedPerson)</b><br> 1926 * </p> 1927 */ 1928 @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 } ) 1929 public static final String SP_RELATEDPERSON = "relatedperson"; 1930 /** 1931 * <b>Fluent Client</b> search parameter constant for <b>relatedperson</b> 1932 * <p> 1933 * Description: <b>The Person links to this RelatedPerson</b><br> 1934 * Type: <b>reference</b><br> 1935 * Path: <b>Person.link.target.where(resolve() is RelatedPerson)</b><br> 1936 * </p> 1937 */ 1938 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RELATEDPERSON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RELATEDPERSON); 1939 1940/** 1941 * Constant for fluent queries to be used to add include statements. Specifies 1942 * the path value of "<b>Person:relatedperson</b>". 1943 */ 1944 public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATEDPERSON = new ca.uhn.fhir.model.api.Include("Person:relatedperson").toLocked(); 1945 1946 /** 1947 * Search parameter: <b>address-city</b> 1948 * <p> 1949 * Description: <b>Multiple Resources: 1950 1951* [Patient](patient.html): A city specified in an address 1952* [Person](person.html): A city specified in an address 1953* [Practitioner](practitioner.html): A city specified in an address 1954* [RelatedPerson](relatedperson.html): A city specified in an address 1955</b><br> 1956 * Type: <b>string</b><br> 1957 * Path: <b>Patient.address.city | Person.address.city | Practitioner.address.city | RelatedPerson.address.city</b><br> 1958 * </p> 1959 */ 1960 @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" ) 1961 public static final String SP_ADDRESS_CITY = "address-city"; 1962 /** 1963 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 1964 * <p> 1965 * Description: <b>Multiple Resources: 1966 1967* [Patient](patient.html): A city specified in an address 1968* [Person](person.html): A city specified in an address 1969* [Practitioner](practitioner.html): A city specified in an address 1970* [RelatedPerson](relatedperson.html): A city specified in an address 1971</b><br> 1972 * Type: <b>string</b><br> 1973 * Path: <b>Patient.address.city | Person.address.city | Practitioner.address.city | RelatedPerson.address.city</b><br> 1974 * </p> 1975 */ 1976 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_CITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_CITY); 1977 1978 /** 1979 * Search parameter: <b>address-country</b> 1980 * <p> 1981 * Description: <b>Multiple Resources: 1982 1983* [Patient](patient.html): A country specified in an address 1984* [Person](person.html): A country specified in an address 1985* [Practitioner](practitioner.html): A country specified in an address 1986* [RelatedPerson](relatedperson.html): A country specified in an address 1987</b><br> 1988 * Type: <b>string</b><br> 1989 * Path: <b>Patient.address.country | Person.address.country | Practitioner.address.country | RelatedPerson.address.country</b><br> 1990 * </p> 1991 */ 1992 @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" ) 1993 public static final String SP_ADDRESS_COUNTRY = "address-country"; 1994 /** 1995 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 1996 * <p> 1997 * Description: <b>Multiple Resources: 1998 1999* [Patient](patient.html): A country specified in an address 2000* [Person](person.html): A country specified in an address 2001* [Practitioner](practitioner.html): A country specified in an address 2002* [RelatedPerson](relatedperson.html): A country specified in an address 2003</b><br> 2004 * Type: <b>string</b><br> 2005 * Path: <b>Patient.address.country | Person.address.country | Practitioner.address.country | RelatedPerson.address.country</b><br> 2006 * </p> 2007 */ 2008 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_COUNTRY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_COUNTRY); 2009 2010 /** 2011 * Search parameter: <b>address-postalcode</b> 2012 * <p> 2013 * Description: <b>Multiple Resources: 2014 2015* [Patient](patient.html): A postalCode specified in an address 2016* [Person](person.html): A postal code specified in an address 2017* [Practitioner](practitioner.html): A postalCode specified in an address 2018* [RelatedPerson](relatedperson.html): A postal code specified in an address 2019</b><br> 2020 * Type: <b>string</b><br> 2021 * Path: <b>Patient.address.postalCode | Person.address.postalCode | Practitioner.address.postalCode | RelatedPerson.address.postalCode</b><br> 2022 * </p> 2023 */ 2024 @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" ) 2025 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 2026 /** 2027 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 2028 * <p> 2029 * Description: <b>Multiple Resources: 2030 2031* [Patient](patient.html): A postalCode specified in an address 2032* [Person](person.html): A postal code specified in an address 2033* [Practitioner](practitioner.html): A postalCode specified in an address 2034* [RelatedPerson](relatedperson.html): A postal code specified in an address 2035</b><br> 2036 * Type: <b>string</b><br> 2037 * Path: <b>Patient.address.postalCode | Person.address.postalCode | Practitioner.address.postalCode | RelatedPerson.address.postalCode</b><br> 2038 * </p> 2039 */ 2040 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_POSTALCODE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_POSTALCODE); 2041 2042 /** 2043 * Search parameter: <b>address-state</b> 2044 * <p> 2045 * Description: <b>Multiple Resources: 2046 2047* [Patient](patient.html): A state specified in an address 2048* [Person](person.html): A state specified in an address 2049* [Practitioner](practitioner.html): A state specified in an address 2050* [RelatedPerson](relatedperson.html): A state specified in an address 2051</b><br> 2052 * Type: <b>string</b><br> 2053 * Path: <b>Patient.address.state | Person.address.state | Practitioner.address.state | RelatedPerson.address.state</b><br> 2054 * </p> 2055 */ 2056 @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" ) 2057 public static final String SP_ADDRESS_STATE = "address-state"; 2058 /** 2059 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 2060 * <p> 2061 * Description: <b>Multiple Resources: 2062 2063* [Patient](patient.html): A state specified in an address 2064* [Person](person.html): A state specified in an address 2065* [Practitioner](practitioner.html): A state specified in an address 2066* [RelatedPerson](relatedperson.html): A state specified in an address 2067</b><br> 2068 * Type: <b>string</b><br> 2069 * Path: <b>Patient.address.state | Person.address.state | Practitioner.address.state | RelatedPerson.address.state</b><br> 2070 * </p> 2071 */ 2072 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_STATE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_STATE); 2073 2074 /** 2075 * Search parameter: <b>address-use</b> 2076 * <p> 2077 * Description: <b>Multiple Resources: 2078 2079* [Patient](patient.html): A use code specified in an address 2080* [Person](person.html): A use code specified in an address 2081* [Practitioner](practitioner.html): A use code specified in an address 2082* [RelatedPerson](relatedperson.html): A use code specified in an address 2083</b><br> 2084 * Type: <b>token</b><br> 2085 * Path: <b>Patient.address.use | Person.address.use | Practitioner.address.use | RelatedPerson.address.use</b><br> 2086 * </p> 2087 */ 2088 @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" ) 2089 public static final String SP_ADDRESS_USE = "address-use"; 2090 /** 2091 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 2092 * <p> 2093 * Description: <b>Multiple Resources: 2094 2095* [Patient](patient.html): A use code specified in an address 2096* [Person](person.html): A use code specified in an address 2097* [Practitioner](practitioner.html): A use code specified in an address 2098* [RelatedPerson](relatedperson.html): A use code specified in an address 2099</b><br> 2100 * Type: <b>token</b><br> 2101 * Path: <b>Patient.address.use | Person.address.use | Practitioner.address.use | RelatedPerson.address.use</b><br> 2102 * </p> 2103 */ 2104 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDRESS_USE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDRESS_USE); 2105 2106 /** 2107 * Search parameter: <b>address</b> 2108 * <p> 2109 * Description: <b>Multiple Resources: 2110 2111* [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 2112* [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 2113* [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 2114* [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 2115</b><br> 2116 * Type: <b>string</b><br> 2117 * Path: <b>Patient.address | Person.address | Practitioner.address | RelatedPerson.address</b><br> 2118 * </p> 2119 */ 2120 @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" ) 2121 public static final String SP_ADDRESS = "address"; 2122 /** 2123 * <b>Fluent Client</b> search parameter constant for <b>address</b> 2124 * <p> 2125 * Description: <b>Multiple Resources: 2126 2127* [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 2128* [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 2129* [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 2130* [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 2131</b><br> 2132 * Type: <b>string</b><br> 2133 * Path: <b>Patient.address | Person.address | Practitioner.address | RelatedPerson.address</b><br> 2134 * </p> 2135 */ 2136 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); 2137 2138 /** 2139 * Search parameter: <b>birthdate</b> 2140 * <p> 2141 * Description: <b>Multiple Resources: 2142 2143* [Patient](patient.html): The patient's date of birth 2144* [Person](person.html): The person's date of birth 2145* [RelatedPerson](relatedperson.html): The Related Person's date of birth 2146</b><br> 2147 * Type: <b>date</b><br> 2148 * Path: <b>Patient.birthDate | Person.birthDate | RelatedPerson.birthDate</b><br> 2149 * </p> 2150 */ 2151 @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" ) 2152 public static final String SP_BIRTHDATE = "birthdate"; 2153 /** 2154 * <b>Fluent Client</b> search parameter constant for <b>birthdate</b> 2155 * <p> 2156 * Description: <b>Multiple Resources: 2157 2158* [Patient](patient.html): The patient's date of birth 2159* [Person](person.html): The person's date of birth 2160* [RelatedPerson](relatedperson.html): The Related Person's date of birth 2161</b><br> 2162 * Type: <b>date</b><br> 2163 * Path: <b>Patient.birthDate | Person.birthDate | RelatedPerson.birthDate</b><br> 2164 * </p> 2165 */ 2166 public static final ca.uhn.fhir.rest.gclient.DateClientParam BIRTHDATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_BIRTHDATE); 2167 2168 /** 2169 * Search parameter: <b>email</b> 2170 * <p> 2171 * Description: <b>Multiple Resources: 2172 2173* [Patient](patient.html): A value in an email contact 2174* [Person](person.html): A value in an email contact 2175* [Practitioner](practitioner.html): A value in an email contact 2176* [PractitionerRole](practitionerrole.html): A value in an email contact 2177* [RelatedPerson](relatedperson.html): A value in an email contact 2178</b><br> 2179 * Type: <b>token</b><br> 2180 * 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> 2181 * </p> 2182 */ 2183 @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" ) 2184 public static final String SP_EMAIL = "email"; 2185 /** 2186 * <b>Fluent Client</b> search parameter constant for <b>email</b> 2187 * <p> 2188 * Description: <b>Multiple Resources: 2189 2190* [Patient](patient.html): A value in an email contact 2191* [Person](person.html): A value in an email contact 2192* [Practitioner](practitioner.html): A value in an email contact 2193* [PractitionerRole](practitionerrole.html): A value in an email contact 2194* [RelatedPerson](relatedperson.html): A value in an email contact 2195</b><br> 2196 * Type: <b>token</b><br> 2197 * 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> 2198 * </p> 2199 */ 2200 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); 2201 2202 /** 2203 * Search parameter: <b>gender</b> 2204 * <p> 2205 * Description: <b>Multiple Resources: 2206 2207* [Patient](patient.html): Gender of the patient 2208* [Person](person.html): The gender of the person 2209* [Practitioner](practitioner.html): Gender of the practitioner 2210* [RelatedPerson](relatedperson.html): Gender of the related person 2211</b><br> 2212 * Type: <b>token</b><br> 2213 * Path: <b>Patient.gender | Person.gender | Practitioner.gender | RelatedPerson.gender</b><br> 2214 * </p> 2215 */ 2216 @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" ) 2217 public static final String SP_GENDER = "gender"; 2218 /** 2219 * <b>Fluent Client</b> search parameter constant for <b>gender</b> 2220 * <p> 2221 * Description: <b>Multiple Resources: 2222 2223* [Patient](patient.html): Gender of the patient 2224* [Person](person.html): The gender of the person 2225* [Practitioner](practitioner.html): Gender of the practitioner 2226* [RelatedPerson](relatedperson.html): Gender of the related person 2227</b><br> 2228 * Type: <b>token</b><br> 2229 * Path: <b>Patient.gender | Person.gender | Practitioner.gender | RelatedPerson.gender</b><br> 2230 * </p> 2231 */ 2232 public static final ca.uhn.fhir.rest.gclient.TokenClientParam GENDER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GENDER); 2233 2234 /** 2235 * Search parameter: <b>phone</b> 2236 * <p> 2237 * Description: <b>Multiple Resources: 2238 2239* [Patient](patient.html): A value in a phone contact 2240* [Person](person.html): A value in a phone contact 2241* [Practitioner](practitioner.html): A value in a phone contact 2242* [PractitionerRole](practitionerrole.html): A value in a phone contact 2243* [RelatedPerson](relatedperson.html): A value in a phone contact 2244</b><br> 2245 * Type: <b>token</b><br> 2246 * 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> 2247 * </p> 2248 */ 2249 @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" ) 2250 public static final String SP_PHONE = "phone"; 2251 /** 2252 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 2253 * <p> 2254 * Description: <b>Multiple Resources: 2255 2256* [Patient](patient.html): A value in a phone contact 2257* [Person](person.html): A value in a phone contact 2258* [Practitioner](practitioner.html): A value in a phone contact 2259* [PractitionerRole](practitionerrole.html): A value in a phone contact 2260* [RelatedPerson](relatedperson.html): A value in a phone contact 2261</b><br> 2262 * Type: <b>token</b><br> 2263 * 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> 2264 * </p> 2265 */ 2266 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); 2267 2268 /** 2269 * Search parameter: <b>phonetic</b> 2270 * <p> 2271 * Description: <b>Multiple Resources: 2272 2273* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm 2274* [Person](person.html): A portion of name using some kind of phonetic matching algorithm 2275* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm 2276* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm 2277</b><br> 2278 * Type: <b>string</b><br> 2279 * Path: <b>Patient.name | Person.name | Practitioner.name | RelatedPerson.name</b><br> 2280 * </p> 2281 */ 2282 @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" ) 2283 public static final String SP_PHONETIC = "phonetic"; 2284 /** 2285 * <b>Fluent Client</b> search parameter constant for <b>phonetic</b> 2286 * <p> 2287 * Description: <b>Multiple Resources: 2288 2289* [Patient](patient.html): A portion of either family or given name using some kind of phonetic matching algorithm 2290* [Person](person.html): A portion of name using some kind of phonetic matching algorithm 2291* [Practitioner](practitioner.html): A portion of either family or given name using some kind of phonetic matching algorithm 2292* [RelatedPerson](relatedperson.html): A portion of name using some kind of phonetic matching algorithm 2293</b><br> 2294 * Type: <b>string</b><br> 2295 * Path: <b>Patient.name | Person.name | Practitioner.name | RelatedPerson.name</b><br> 2296 * </p> 2297 */ 2298 public static final ca.uhn.fhir.rest.gclient.StringClientParam PHONETIC = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PHONETIC); 2299 2300 /** 2301 * Search parameter: <b>telecom</b> 2302 * <p> 2303 * Description: <b>Multiple Resources: 2304 2305* [Patient](patient.html): The value in any kind of telecom details of the patient 2306* [Person](person.html): The value in any kind of contact 2307* [Practitioner](practitioner.html): The value in any kind of contact 2308* [PractitionerRole](practitionerrole.html): The value in any kind of contact 2309* [RelatedPerson](relatedperson.html): The value in any kind of contact 2310</b><br> 2311 * Type: <b>token</b><br> 2312 * Path: <b>Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom</b><br> 2313 * </p> 2314 */ 2315 @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" ) 2316 public static final String SP_TELECOM = "telecom"; 2317 /** 2318 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 2319 * <p> 2320 * Description: <b>Multiple Resources: 2321 2322* [Patient](patient.html): The value in any kind of telecom details of the patient 2323* [Person](person.html): The value in any kind of contact 2324* [Practitioner](practitioner.html): The value in any kind of contact 2325* [PractitionerRole](practitionerrole.html): The value in any kind of contact 2326* [RelatedPerson](relatedperson.html): The value in any kind of contact 2327</b><br> 2328 * Type: <b>token</b><br> 2329 * Path: <b>Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom</b><br> 2330 * </p> 2331 */ 2332 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); 2333 2334 2335} 2336