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