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 Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 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 * Significant health conditions for a person related to the patient relevant in the context of care for the patient. 052 */ 053@ResourceDef(name="FamilyMemberHistory", profile="http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory") 054public class FamilyMemberHistory extends DomainResource { 055 056 public enum FamilyHistoryStatus { 057 /** 058 * Some health information is known and captured, but not complete - see notes for details. 059 */ 060 PARTIAL, 061 /** 062 * All available related health information is captured as of the date (and possibly time) when the family member history was taken. 063 */ 064 COMPLETED, 065 /** 066 * This instance should not have been part of this patient's medical record. 067 */ 068 ENTEREDINERROR, 069 /** 070 * Health information for this family member is unavailable/unknown. 071 */ 072 HEALTHUNKNOWN, 073 /** 074 * added to help the parsers with the generic types 075 */ 076 NULL; 077 public static FamilyHistoryStatus fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("partial".equals(codeString)) 081 return PARTIAL; 082 if ("completed".equals(codeString)) 083 return COMPLETED; 084 if ("entered-in-error".equals(codeString)) 085 return ENTEREDINERROR; 086 if ("health-unknown".equals(codeString)) 087 return HEALTHUNKNOWN; 088 if (Configuration.isAcceptInvalidEnums()) 089 return null; 090 else 091 throw new FHIRException("Unknown FamilyHistoryStatus code '"+codeString+"'"); 092 } 093 public String toCode() { 094 switch (this) { 095 case PARTIAL: return "partial"; 096 case COMPLETED: return "completed"; 097 case ENTEREDINERROR: return "entered-in-error"; 098 case HEALTHUNKNOWN: return "health-unknown"; 099 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getSystem() { 104 switch (this) { 105 case PARTIAL: return "http://hl7.org/fhir/history-status"; 106 case COMPLETED: return "http://hl7.org/fhir/history-status"; 107 case ENTEREDINERROR: return "http://hl7.org/fhir/history-status"; 108 case HEALTHUNKNOWN: return "http://hl7.org/fhir/history-status"; 109 case NULL: return null; 110 default: return "?"; 111 } 112 } 113 public String getDefinition() { 114 switch (this) { 115 case PARTIAL: return "Some health information is known and captured, but not complete - see notes for details."; 116 case COMPLETED: return "All available related health information is captured as of the date (and possibly time) when the family member history was taken."; 117 case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record."; 118 case HEALTHUNKNOWN: return "Health information for this family member is unavailable/unknown."; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 public String getDisplay() { 124 switch (this) { 125 case PARTIAL: return "Partial"; 126 case COMPLETED: return "Completed"; 127 case ENTEREDINERROR: return "Entered in Error"; 128 case HEALTHUNKNOWN: return "Health Unknown"; 129 case NULL: return null; 130 default: return "?"; 131 } 132 } 133 } 134 135 public static class FamilyHistoryStatusEnumFactory implements EnumFactory<FamilyHistoryStatus> { 136 public FamilyHistoryStatus fromCode(String codeString) throws IllegalArgumentException { 137 if (codeString == null || "".equals(codeString)) 138 if (codeString == null || "".equals(codeString)) 139 return null; 140 if ("partial".equals(codeString)) 141 return FamilyHistoryStatus.PARTIAL; 142 if ("completed".equals(codeString)) 143 return FamilyHistoryStatus.COMPLETED; 144 if ("entered-in-error".equals(codeString)) 145 return FamilyHistoryStatus.ENTEREDINERROR; 146 if ("health-unknown".equals(codeString)) 147 return FamilyHistoryStatus.HEALTHUNKNOWN; 148 throw new IllegalArgumentException("Unknown FamilyHistoryStatus code '"+codeString+"'"); 149 } 150 public Enumeration<FamilyHistoryStatus> fromType(PrimitiveType<?> code) throws FHIRException { 151 if (code == null) 152 return null; 153 if (code.isEmpty()) 154 return new Enumeration<FamilyHistoryStatus>(this, FamilyHistoryStatus.NULL, code); 155 String codeString = ((PrimitiveType) code).asStringValue(); 156 if (codeString == null || "".equals(codeString)) 157 return new Enumeration<FamilyHistoryStatus>(this, FamilyHistoryStatus.NULL, code); 158 if ("partial".equals(codeString)) 159 return new Enumeration<FamilyHistoryStatus>(this, FamilyHistoryStatus.PARTIAL, code); 160 if ("completed".equals(codeString)) 161 return new Enumeration<FamilyHistoryStatus>(this, FamilyHistoryStatus.COMPLETED, code); 162 if ("entered-in-error".equals(codeString)) 163 return new Enumeration<FamilyHistoryStatus>(this, FamilyHistoryStatus.ENTEREDINERROR, code); 164 if ("health-unknown".equals(codeString)) 165 return new Enumeration<FamilyHistoryStatus>(this, FamilyHistoryStatus.HEALTHUNKNOWN, code); 166 throw new FHIRException("Unknown FamilyHistoryStatus code '"+codeString+"'"); 167 } 168 public String toCode(FamilyHistoryStatus code) { 169 if (code == FamilyHistoryStatus.PARTIAL) 170 return "partial"; 171 if (code == FamilyHistoryStatus.COMPLETED) 172 return "completed"; 173 if (code == FamilyHistoryStatus.ENTEREDINERROR) 174 return "entered-in-error"; 175 if (code == FamilyHistoryStatus.HEALTHUNKNOWN) 176 return "health-unknown"; 177 return "?"; 178 } 179 public String toSystem(FamilyHistoryStatus code) { 180 return code.getSystem(); 181 } 182 } 183 184 @Block() 185 public static class FamilyMemberHistoryParticipantComponent extends BackboneElement implements IBaseBackboneElement { 186 /** 187 * Distinguishes the type of involvement of the actor in the activities related to the family member history. 188 */ 189 @Child(name = "function", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) 190 @Description(shortDefinition="Type of involvement", formalDefinition="Distinguishes the type of involvement of the actor in the activities related to the family member history." ) 191 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participation-role-type") 192 protected CodeableConcept function; 193 194 /** 195 * Indicates who or what participated in the activities related to the family member history. 196 */ 197 @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class, Device.class, Organization.class, CareTeam.class}, order=2, min=1, max=1, modifier=false, summary=true) 198 @Description(shortDefinition="Who or what participated in the activities related to the family member history", formalDefinition="Indicates who or what participated in the activities related to the family member history." ) 199 protected Reference actor; 200 201 private static final long serialVersionUID = -576943815L; 202 203 /** 204 * Constructor 205 */ 206 public FamilyMemberHistoryParticipantComponent() { 207 super(); 208 } 209 210 /** 211 * Constructor 212 */ 213 public FamilyMemberHistoryParticipantComponent(Reference actor) { 214 super(); 215 this.setActor(actor); 216 } 217 218 /** 219 * @return {@link #function} (Distinguishes the type of involvement of the actor in the activities related to the family member history.) 220 */ 221 public CodeableConcept getFunction() { 222 if (this.function == null) 223 if (Configuration.errorOnAutoCreate()) 224 throw new Error("Attempt to auto-create FamilyMemberHistoryParticipantComponent.function"); 225 else if (Configuration.doAutoCreate()) 226 this.function = new CodeableConcept(); // cc 227 return this.function; 228 } 229 230 public boolean hasFunction() { 231 return this.function != null && !this.function.isEmpty(); 232 } 233 234 /** 235 * @param value {@link #function} (Distinguishes the type of involvement of the actor in the activities related to the family member history.) 236 */ 237 public FamilyMemberHistoryParticipantComponent setFunction(CodeableConcept value) { 238 this.function = value; 239 return this; 240 } 241 242 /** 243 * @return {@link #actor} (Indicates who or what participated in the activities related to the family member history.) 244 */ 245 public Reference getActor() { 246 if (this.actor == null) 247 if (Configuration.errorOnAutoCreate()) 248 throw new Error("Attempt to auto-create FamilyMemberHistoryParticipantComponent.actor"); 249 else if (Configuration.doAutoCreate()) 250 this.actor = new Reference(); // cc 251 return this.actor; 252 } 253 254 public boolean hasActor() { 255 return this.actor != null && !this.actor.isEmpty(); 256 } 257 258 /** 259 * @param value {@link #actor} (Indicates who or what participated in the activities related to the family member history.) 260 */ 261 public FamilyMemberHistoryParticipantComponent setActor(Reference value) { 262 this.actor = value; 263 return this; 264 } 265 266 protected void listChildren(List<Property> children) { 267 super.listChildren(children); 268 children.add(new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the actor in the activities related to the family member history.", 0, 1, function)); 269 children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Device|Organization|CareTeam)", "Indicates who or what participated in the activities related to the family member history.", 0, 1, actor)); 270 } 271 272 @Override 273 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 274 switch (_hash) { 275 case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the actor in the activities related to the family member history.", 0, 1, function); 276 case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Device|Organization|CareTeam)", "Indicates who or what participated in the activities related to the family member history.", 0, 1, actor); 277 default: return super.getNamedProperty(_hash, _name, _checkValid); 278 } 279 280 } 281 282 @Override 283 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 284 switch (hash) { 285 case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept 286 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference 287 default: return super.getProperty(hash, name, checkValid); 288 } 289 290 } 291 292 @Override 293 public Base setProperty(int hash, String name, Base value) throws FHIRException { 294 switch (hash) { 295 case 1380938712: // function 296 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 297 return value; 298 case 92645877: // actor 299 this.actor = TypeConvertor.castToReference(value); // Reference 300 return value; 301 default: return super.setProperty(hash, name, value); 302 } 303 304 } 305 306 @Override 307 public Base setProperty(String name, Base value) throws FHIRException { 308 if (name.equals("function")) { 309 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 310 } else if (name.equals("actor")) { 311 this.actor = TypeConvertor.castToReference(value); // Reference 312 } else 313 return super.setProperty(name, value); 314 return value; 315 } 316 317 @Override 318 public Base makeProperty(int hash, String name) throws FHIRException { 319 switch (hash) { 320 case 1380938712: return getFunction(); 321 case 92645877: return getActor(); 322 default: return super.makeProperty(hash, name); 323 } 324 325 } 326 327 @Override 328 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 329 switch (hash) { 330 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 331 case 92645877: /*actor*/ return new String[] {"Reference"}; 332 default: return super.getTypesForProperty(hash, name); 333 } 334 335 } 336 337 @Override 338 public Base addChild(String name) throws FHIRException { 339 if (name.equals("function")) { 340 this.function = new CodeableConcept(); 341 return this.function; 342 } 343 else if (name.equals("actor")) { 344 this.actor = new Reference(); 345 return this.actor; 346 } 347 else 348 return super.addChild(name); 349 } 350 351 public FamilyMemberHistoryParticipantComponent copy() { 352 FamilyMemberHistoryParticipantComponent dst = new FamilyMemberHistoryParticipantComponent(); 353 copyValues(dst); 354 return dst; 355 } 356 357 public void copyValues(FamilyMemberHistoryParticipantComponent dst) { 358 super.copyValues(dst); 359 dst.function = function == null ? null : function.copy(); 360 dst.actor = actor == null ? null : actor.copy(); 361 } 362 363 @Override 364 public boolean equalsDeep(Base other_) { 365 if (!super.equalsDeep(other_)) 366 return false; 367 if (!(other_ instanceof FamilyMemberHistoryParticipantComponent)) 368 return false; 369 FamilyMemberHistoryParticipantComponent o = (FamilyMemberHistoryParticipantComponent) other_; 370 return compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true); 371 } 372 373 @Override 374 public boolean equalsShallow(Base other_) { 375 if (!super.equalsShallow(other_)) 376 return false; 377 if (!(other_ instanceof FamilyMemberHistoryParticipantComponent)) 378 return false; 379 FamilyMemberHistoryParticipantComponent o = (FamilyMemberHistoryParticipantComponent) other_; 380 return true; 381 } 382 383 public boolean isEmpty() { 384 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(function, actor); 385 } 386 387 public String fhirType() { 388 return "FamilyMemberHistory.participant"; 389 390 } 391 392 } 393 394 @Block() 395 public static class FamilyMemberHistoryConditionComponent extends BackboneElement implements IBaseBackboneElement { 396 /** 397 * The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system. 398 */ 399 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 400 @Description(shortDefinition="Condition suffered by relation", formalDefinition="The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system." ) 401 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 402 protected CodeableConcept code; 403 404 /** 405 * Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation. 406 */ 407 @Child(name = "outcome", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 408 @Description(shortDefinition="deceased | permanent disability | etc", formalDefinition="Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation." ) 409 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-outcome") 410 protected CodeableConcept outcome; 411 412 /** 413 * This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. 414 */ 415 @Child(name = "contributedToDeath", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 416 @Description(shortDefinition="Whether the condition contributed to the cause of death", formalDefinition="This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown." ) 417 protected BooleanType contributedToDeath; 418 419 /** 420 * Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. 421 */ 422 @Child(name = "onset", type = {Age.class, Range.class, Period.class, StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 423 @Description(shortDefinition="When condition first manifested", formalDefinition="Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence." ) 424 protected DataType onset; 425 426 /** 427 * An area where general notes can be placed about this specific condition. 428 */ 429 @Child(name = "note", type = {Annotation.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 430 @Description(shortDefinition="Extra information about condition", formalDefinition="An area where general notes can be placed about this specific condition." ) 431 protected List<Annotation> note; 432 433 private static final long serialVersionUID = -91335661L; 434 435 /** 436 * Constructor 437 */ 438 public FamilyMemberHistoryConditionComponent() { 439 super(); 440 } 441 442 /** 443 * Constructor 444 */ 445 public FamilyMemberHistoryConditionComponent(CodeableConcept code) { 446 super(); 447 this.setCode(code); 448 } 449 450 /** 451 * @return {@link #code} (The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system.) 452 */ 453 public CodeableConcept getCode() { 454 if (this.code == null) 455 if (Configuration.errorOnAutoCreate()) 456 throw new Error("Attempt to auto-create FamilyMemberHistoryConditionComponent.code"); 457 else if (Configuration.doAutoCreate()) 458 this.code = new CodeableConcept(); // cc 459 return this.code; 460 } 461 462 public boolean hasCode() { 463 return this.code != null && !this.code.isEmpty(); 464 } 465 466 /** 467 * @param value {@link #code} (The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system.) 468 */ 469 public FamilyMemberHistoryConditionComponent setCode(CodeableConcept value) { 470 this.code = value; 471 return this; 472 } 473 474 /** 475 * @return {@link #outcome} (Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation.) 476 */ 477 public CodeableConcept getOutcome() { 478 if (this.outcome == null) 479 if (Configuration.errorOnAutoCreate()) 480 throw new Error("Attempt to auto-create FamilyMemberHistoryConditionComponent.outcome"); 481 else if (Configuration.doAutoCreate()) 482 this.outcome = new CodeableConcept(); // cc 483 return this.outcome; 484 } 485 486 public boolean hasOutcome() { 487 return this.outcome != null && !this.outcome.isEmpty(); 488 } 489 490 /** 491 * @param value {@link #outcome} (Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation.) 492 */ 493 public FamilyMemberHistoryConditionComponent setOutcome(CodeableConcept value) { 494 this.outcome = value; 495 return this; 496 } 497 498 /** 499 * @return {@link #contributedToDeath} (This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.). This is the underlying object with id, value and extensions. The accessor "getContributedToDeath" gives direct access to the value 500 */ 501 public BooleanType getContributedToDeathElement() { 502 if (this.contributedToDeath == null) 503 if (Configuration.errorOnAutoCreate()) 504 throw new Error("Attempt to auto-create FamilyMemberHistoryConditionComponent.contributedToDeath"); 505 else if (Configuration.doAutoCreate()) 506 this.contributedToDeath = new BooleanType(); // bb 507 return this.contributedToDeath; 508 } 509 510 public boolean hasContributedToDeathElement() { 511 return this.contributedToDeath != null && !this.contributedToDeath.isEmpty(); 512 } 513 514 public boolean hasContributedToDeath() { 515 return this.contributedToDeath != null && !this.contributedToDeath.isEmpty(); 516 } 517 518 /** 519 * @param value {@link #contributedToDeath} (This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.). This is the underlying object with id, value and extensions. The accessor "getContributedToDeath" gives direct access to the value 520 */ 521 public FamilyMemberHistoryConditionComponent setContributedToDeathElement(BooleanType value) { 522 this.contributedToDeath = value; 523 return this; 524 } 525 526 /** 527 * @return This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. 528 */ 529 public boolean getContributedToDeath() { 530 return this.contributedToDeath == null || this.contributedToDeath.isEmpty() ? false : this.contributedToDeath.getValue(); 531 } 532 533 /** 534 * @param value This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. 535 */ 536 public FamilyMemberHistoryConditionComponent setContributedToDeath(boolean value) { 537 if (this.contributedToDeath == null) 538 this.contributedToDeath = new BooleanType(); 539 this.contributedToDeath.setValue(value); 540 return this; 541 } 542 543 /** 544 * @return {@link #onset} (Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.) 545 */ 546 public DataType getOnset() { 547 return this.onset; 548 } 549 550 /** 551 * @return {@link #onset} (Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.) 552 */ 553 public Age getOnsetAge() throws FHIRException { 554 if (this.onset == null) 555 this.onset = new Age(); 556 if (!(this.onset instanceof Age)) 557 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.onset.getClass().getName()+" was encountered"); 558 return (Age) this.onset; 559 } 560 561 public boolean hasOnsetAge() { 562 return this != null && this.onset instanceof Age; 563 } 564 565 /** 566 * @return {@link #onset} (Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.) 567 */ 568 public Range getOnsetRange() throws FHIRException { 569 if (this.onset == null) 570 this.onset = new Range(); 571 if (!(this.onset instanceof Range)) 572 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.onset.getClass().getName()+" was encountered"); 573 return (Range) this.onset; 574 } 575 576 public boolean hasOnsetRange() { 577 return this != null && this.onset instanceof Range; 578 } 579 580 /** 581 * @return {@link #onset} (Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.) 582 */ 583 public Period getOnsetPeriod() throws FHIRException { 584 if (this.onset == null) 585 this.onset = new Period(); 586 if (!(this.onset instanceof Period)) 587 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.onset.getClass().getName()+" was encountered"); 588 return (Period) this.onset; 589 } 590 591 public boolean hasOnsetPeriod() { 592 return this != null && this.onset instanceof Period; 593 } 594 595 /** 596 * @return {@link #onset} (Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.) 597 */ 598 public StringType getOnsetStringType() throws FHIRException { 599 if (this.onset == null) 600 this.onset = new StringType(); 601 if (!(this.onset instanceof StringType)) 602 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.onset.getClass().getName()+" was encountered"); 603 return (StringType) this.onset; 604 } 605 606 public boolean hasOnsetStringType() { 607 return this != null && this.onset instanceof StringType; 608 } 609 610 public boolean hasOnset() { 611 return this.onset != null && !this.onset.isEmpty(); 612 } 613 614 /** 615 * @param value {@link #onset} (Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.) 616 */ 617 public FamilyMemberHistoryConditionComponent setOnset(DataType value) { 618 if (value != null && !(value instanceof Age || value instanceof Range || value instanceof Period || value instanceof StringType)) 619 throw new FHIRException("Not the right type for FamilyMemberHistory.condition.onset[x]: "+value.fhirType()); 620 this.onset = value; 621 return this; 622 } 623 624 /** 625 * @return {@link #note} (An area where general notes can be placed about this specific condition.) 626 */ 627 public List<Annotation> getNote() { 628 if (this.note == null) 629 this.note = new ArrayList<Annotation>(); 630 return this.note; 631 } 632 633 /** 634 * @return Returns a reference to <code>this</code> for easy method chaining 635 */ 636 public FamilyMemberHistoryConditionComponent setNote(List<Annotation> theNote) { 637 this.note = theNote; 638 return this; 639 } 640 641 public boolean hasNote() { 642 if (this.note == null) 643 return false; 644 for (Annotation item : this.note) 645 if (!item.isEmpty()) 646 return true; 647 return false; 648 } 649 650 public Annotation addNote() { //3 651 Annotation t = new Annotation(); 652 if (this.note == null) 653 this.note = new ArrayList<Annotation>(); 654 this.note.add(t); 655 return t; 656 } 657 658 public FamilyMemberHistoryConditionComponent addNote(Annotation t) { //3 659 if (t == null) 660 return this; 661 if (this.note == null) 662 this.note = new ArrayList<Annotation>(); 663 this.note.add(t); 664 return this; 665 } 666 667 /** 668 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 669 */ 670 public Annotation getNoteFirstRep() { 671 if (getNote().isEmpty()) { 672 addNote(); 673 } 674 return getNote().get(0); 675 } 676 677 protected void listChildren(List<Property> children) { 678 super.listChildren(children); 679 children.add(new Property("code", "CodeableConcept", "The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system.", 0, 1, code)); 680 children.add(new Property("outcome", "CodeableConcept", "Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation.", 0, 1, outcome)); 681 children.add(new Property("contributedToDeath", "boolean", "This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.", 0, 1, contributedToDeath)); 682 children.add(new Property("onset[x]", "Age|Range|Period|string", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset)); 683 children.add(new Property("note", "Annotation", "An area where general notes can be placed about this specific condition.", 0, java.lang.Integer.MAX_VALUE, note)); 684 } 685 686 @Override 687 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 688 switch (_hash) { 689 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system.", 0, 1, code); 690 case -1106507950: /*outcome*/ return new Property("outcome", "CodeableConcept", "Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation.", 0, 1, outcome); 691 case -363644638: /*contributedToDeath*/ return new Property("contributedToDeath", "boolean", "This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.", 0, 1, contributedToDeath); 692 case -1886216323: /*onset[x]*/ return new Property("onset[x]", "Age|Range|Period|string", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset); 693 case 105901603: /*onset*/ return new Property("onset[x]", "Age|Range|Period|string", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset); 694 case -1886241828: /*onsetAge*/ return new Property("onset[x]", "Age", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset); 695 case -186664742: /*onsetRange*/ return new Property("onset[x]", "Range", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset); 696 case -1545082428: /*onsetPeriod*/ return new Property("onset[x]", "Period", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset); 697 case -1445342188: /*onsetString*/ return new Property("onset[x]", "string", "Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence.", 0, 1, onset); 698 case 3387378: /*note*/ return new Property("note", "Annotation", "An area where general notes can be placed about this specific condition.", 0, java.lang.Integer.MAX_VALUE, note); 699 default: return super.getNamedProperty(_hash, _name, _checkValid); 700 } 701 702 } 703 704 @Override 705 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 706 switch (hash) { 707 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 708 case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // CodeableConcept 709 case -363644638: /*contributedToDeath*/ return this.contributedToDeath == null ? new Base[0] : new Base[] {this.contributedToDeath}; // BooleanType 710 case 105901603: /*onset*/ return this.onset == null ? new Base[0] : new Base[] {this.onset}; // DataType 711 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 712 default: return super.getProperty(hash, name, checkValid); 713 } 714 715 } 716 717 @Override 718 public Base setProperty(int hash, String name, Base value) throws FHIRException { 719 switch (hash) { 720 case 3059181: // code 721 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 722 return value; 723 case -1106507950: // outcome 724 this.outcome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 725 return value; 726 case -363644638: // contributedToDeath 727 this.contributedToDeath = TypeConvertor.castToBoolean(value); // BooleanType 728 return value; 729 case 105901603: // onset 730 this.onset = TypeConvertor.castToType(value); // DataType 731 return value; 732 case 3387378: // note 733 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 734 return value; 735 default: return super.setProperty(hash, name, value); 736 } 737 738 } 739 740 @Override 741 public Base setProperty(String name, Base value) throws FHIRException { 742 if (name.equals("code")) { 743 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 744 } else if (name.equals("outcome")) { 745 this.outcome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 746 } else if (name.equals("contributedToDeath")) { 747 this.contributedToDeath = TypeConvertor.castToBoolean(value); // BooleanType 748 } else if (name.equals("onset[x]")) { 749 this.onset = TypeConvertor.castToType(value); // DataType 750 } else if (name.equals("note")) { 751 this.getNote().add(TypeConvertor.castToAnnotation(value)); 752 } else 753 return super.setProperty(name, value); 754 return value; 755 } 756 757 @Override 758 public Base makeProperty(int hash, String name) throws FHIRException { 759 switch (hash) { 760 case 3059181: return getCode(); 761 case -1106507950: return getOutcome(); 762 case -363644638: return getContributedToDeathElement(); 763 case -1886216323: return getOnset(); 764 case 105901603: return getOnset(); 765 case 3387378: return addNote(); 766 default: return super.makeProperty(hash, name); 767 } 768 769 } 770 771 @Override 772 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 773 switch (hash) { 774 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 775 case -1106507950: /*outcome*/ return new String[] {"CodeableConcept"}; 776 case -363644638: /*contributedToDeath*/ return new String[] {"boolean"}; 777 case 105901603: /*onset*/ return new String[] {"Age", "Range", "Period", "string"}; 778 case 3387378: /*note*/ return new String[] {"Annotation"}; 779 default: return super.getTypesForProperty(hash, name); 780 } 781 782 } 783 784 @Override 785 public Base addChild(String name) throws FHIRException { 786 if (name.equals("code")) { 787 this.code = new CodeableConcept(); 788 return this.code; 789 } 790 else if (name.equals("outcome")) { 791 this.outcome = new CodeableConcept(); 792 return this.outcome; 793 } 794 else if (name.equals("contributedToDeath")) { 795 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.condition.contributedToDeath"); 796 } 797 else if (name.equals("onsetAge")) { 798 this.onset = new Age(); 799 return this.onset; 800 } 801 else if (name.equals("onsetRange")) { 802 this.onset = new Range(); 803 return this.onset; 804 } 805 else if (name.equals("onsetPeriod")) { 806 this.onset = new Period(); 807 return this.onset; 808 } 809 else if (name.equals("onsetString")) { 810 this.onset = new StringType(); 811 return this.onset; 812 } 813 else if (name.equals("note")) { 814 return addNote(); 815 } 816 else 817 return super.addChild(name); 818 } 819 820 public FamilyMemberHistoryConditionComponent copy() { 821 FamilyMemberHistoryConditionComponent dst = new FamilyMemberHistoryConditionComponent(); 822 copyValues(dst); 823 return dst; 824 } 825 826 public void copyValues(FamilyMemberHistoryConditionComponent dst) { 827 super.copyValues(dst); 828 dst.code = code == null ? null : code.copy(); 829 dst.outcome = outcome == null ? null : outcome.copy(); 830 dst.contributedToDeath = contributedToDeath == null ? null : contributedToDeath.copy(); 831 dst.onset = onset == null ? null : onset.copy(); 832 if (note != null) { 833 dst.note = new ArrayList<Annotation>(); 834 for (Annotation i : note) 835 dst.note.add(i.copy()); 836 }; 837 } 838 839 @Override 840 public boolean equalsDeep(Base other_) { 841 if (!super.equalsDeep(other_)) 842 return false; 843 if (!(other_ instanceof FamilyMemberHistoryConditionComponent)) 844 return false; 845 FamilyMemberHistoryConditionComponent o = (FamilyMemberHistoryConditionComponent) other_; 846 return compareDeep(code, o.code, true) && compareDeep(outcome, o.outcome, true) && compareDeep(contributedToDeath, o.contributedToDeath, true) 847 && compareDeep(onset, o.onset, true) && compareDeep(note, o.note, true); 848 } 849 850 @Override 851 public boolean equalsShallow(Base other_) { 852 if (!super.equalsShallow(other_)) 853 return false; 854 if (!(other_ instanceof FamilyMemberHistoryConditionComponent)) 855 return false; 856 FamilyMemberHistoryConditionComponent o = (FamilyMemberHistoryConditionComponent) other_; 857 return compareValues(contributedToDeath, o.contributedToDeath, true); 858 } 859 860 public boolean isEmpty() { 861 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, outcome, contributedToDeath 862 , onset, note); 863 } 864 865 public String fhirType() { 866 return "FamilyMemberHistory.condition"; 867 868 } 869 870 } 871 872 @Block() 873 public static class FamilyMemberHistoryProcedureComponent extends BackboneElement implements IBaseBackboneElement { 874 /** 875 * The actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating system. 876 */ 877 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 878 @Description(shortDefinition="Procedures performed on the related person", formalDefinition="The actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating system." ) 879 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-code") 880 protected CodeableConcept code; 881 882 /** 883 * Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation. 884 */ 885 @Child(name = "outcome", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 886 @Description(shortDefinition="What happened following the procedure", formalDefinition="Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation." ) 887 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 888 protected CodeableConcept outcome; 889 890 /** 891 * This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. 892 */ 893 @Child(name = "contributedToDeath", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 894 @Description(shortDefinition="Whether the procedure contributed to the cause of death", formalDefinition="This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown." ) 895 protected BooleanType contributedToDeath; 896 897 /** 898 * Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. 899 */ 900 @Child(name = "performed", type = {Age.class, Range.class, Period.class, StringType.class, DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) 901 @Description(shortDefinition="When the procedure was performed", formalDefinition="Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured." ) 902 protected DataType performed; 903 904 /** 905 * An area where general notes can be placed about this specific procedure. 906 */ 907 @Child(name = "note", type = {Annotation.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 908 @Description(shortDefinition="Extra information about the procedure", formalDefinition="An area where general notes can be placed about this specific procedure." ) 909 protected List<Annotation> note; 910 911 private static final long serialVersionUID = 281271062L; 912 913 /** 914 * Constructor 915 */ 916 public FamilyMemberHistoryProcedureComponent() { 917 super(); 918 } 919 920 /** 921 * Constructor 922 */ 923 public FamilyMemberHistoryProcedureComponent(CodeableConcept code) { 924 super(); 925 this.setCode(code); 926 } 927 928 /** 929 * @return {@link #code} (The actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating system.) 930 */ 931 public CodeableConcept getCode() { 932 if (this.code == null) 933 if (Configuration.errorOnAutoCreate()) 934 throw new Error("Attempt to auto-create FamilyMemberHistoryProcedureComponent.code"); 935 else if (Configuration.doAutoCreate()) 936 this.code = new CodeableConcept(); // cc 937 return this.code; 938 } 939 940 public boolean hasCode() { 941 return this.code != null && !this.code.isEmpty(); 942 } 943 944 /** 945 * @param value {@link #code} (The actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating system.) 946 */ 947 public FamilyMemberHistoryProcedureComponent setCode(CodeableConcept value) { 948 this.code = value; 949 return this; 950 } 951 952 /** 953 * @return {@link #outcome} (Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation.) 954 */ 955 public CodeableConcept getOutcome() { 956 if (this.outcome == null) 957 if (Configuration.errorOnAutoCreate()) 958 throw new Error("Attempt to auto-create FamilyMemberHistoryProcedureComponent.outcome"); 959 else if (Configuration.doAutoCreate()) 960 this.outcome = new CodeableConcept(); // cc 961 return this.outcome; 962 } 963 964 public boolean hasOutcome() { 965 return this.outcome != null && !this.outcome.isEmpty(); 966 } 967 968 /** 969 * @param value {@link #outcome} (Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation.) 970 */ 971 public FamilyMemberHistoryProcedureComponent setOutcome(CodeableConcept value) { 972 this.outcome = value; 973 return this; 974 } 975 976 /** 977 * @return {@link #contributedToDeath} (This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.). This is the underlying object with id, value and extensions. The accessor "getContributedToDeath" gives direct access to the value 978 */ 979 public BooleanType getContributedToDeathElement() { 980 if (this.contributedToDeath == null) 981 if (Configuration.errorOnAutoCreate()) 982 throw new Error("Attempt to auto-create FamilyMemberHistoryProcedureComponent.contributedToDeath"); 983 else if (Configuration.doAutoCreate()) 984 this.contributedToDeath = new BooleanType(); // bb 985 return this.contributedToDeath; 986 } 987 988 public boolean hasContributedToDeathElement() { 989 return this.contributedToDeath != null && !this.contributedToDeath.isEmpty(); 990 } 991 992 public boolean hasContributedToDeath() { 993 return this.contributedToDeath != null && !this.contributedToDeath.isEmpty(); 994 } 995 996 /** 997 * @param value {@link #contributedToDeath} (This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.). This is the underlying object with id, value and extensions. The accessor "getContributedToDeath" gives direct access to the value 998 */ 999 public FamilyMemberHistoryProcedureComponent setContributedToDeathElement(BooleanType value) { 1000 this.contributedToDeath = value; 1001 return this; 1002 } 1003 1004 /** 1005 * @return This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. 1006 */ 1007 public boolean getContributedToDeath() { 1008 return this.contributedToDeath == null || this.contributedToDeath.isEmpty() ? false : this.contributedToDeath.getValue(); 1009 } 1010 1011 /** 1012 * @param value This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. 1013 */ 1014 public FamilyMemberHistoryProcedureComponent setContributedToDeath(boolean value) { 1015 if (this.contributedToDeath == null) 1016 this.contributedToDeath = new BooleanType(); 1017 this.contributedToDeath.setValue(value); 1018 return this; 1019 } 1020 1021 /** 1022 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1023 */ 1024 public DataType getPerformed() { 1025 return this.performed; 1026 } 1027 1028 /** 1029 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1030 */ 1031 public Age getPerformedAge() throws FHIRException { 1032 if (this.performed == null) 1033 this.performed = new Age(); 1034 if (!(this.performed instanceof Age)) 1035 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.performed.getClass().getName()+" was encountered"); 1036 return (Age) this.performed; 1037 } 1038 1039 public boolean hasPerformedAge() { 1040 return this != null && this.performed instanceof Age; 1041 } 1042 1043 /** 1044 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1045 */ 1046 public Range getPerformedRange() throws FHIRException { 1047 if (this.performed == null) 1048 this.performed = new Range(); 1049 if (!(this.performed instanceof Range)) 1050 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.performed.getClass().getName()+" was encountered"); 1051 return (Range) this.performed; 1052 } 1053 1054 public boolean hasPerformedRange() { 1055 return this != null && this.performed instanceof Range; 1056 } 1057 1058 /** 1059 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1060 */ 1061 public Period getPerformedPeriod() throws FHIRException { 1062 if (this.performed == null) 1063 this.performed = new Period(); 1064 if (!(this.performed instanceof Period)) 1065 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.performed.getClass().getName()+" was encountered"); 1066 return (Period) this.performed; 1067 } 1068 1069 public boolean hasPerformedPeriod() { 1070 return this != null && this.performed instanceof Period; 1071 } 1072 1073 /** 1074 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1075 */ 1076 public StringType getPerformedStringType() throws FHIRException { 1077 if (this.performed == null) 1078 this.performed = new StringType(); 1079 if (!(this.performed instanceof StringType)) 1080 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.performed.getClass().getName()+" was encountered"); 1081 return (StringType) this.performed; 1082 } 1083 1084 public boolean hasPerformedStringType() { 1085 return this != null && this.performed instanceof StringType; 1086 } 1087 1088 /** 1089 * @return {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1090 */ 1091 public DateTimeType getPerformedDateTimeType() throws FHIRException { 1092 if (this.performed == null) 1093 this.performed = new DateTimeType(); 1094 if (!(this.performed instanceof DateTimeType)) 1095 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.performed.getClass().getName()+" was encountered"); 1096 return (DateTimeType) this.performed; 1097 } 1098 1099 public boolean hasPerformedDateTimeType() { 1100 return this != null && this.performed instanceof DateTimeType; 1101 } 1102 1103 public boolean hasPerformed() { 1104 return this.performed != null && !this.performed.isEmpty(); 1105 } 1106 1107 /** 1108 * @param value {@link #performed} (Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.) 1109 */ 1110 public FamilyMemberHistoryProcedureComponent setPerformed(DataType value) { 1111 if (value != null && !(value instanceof Age || value instanceof Range || value instanceof Period || value instanceof StringType || value instanceof DateTimeType)) 1112 throw new FHIRException("Not the right type for FamilyMemberHistory.procedure.performed[x]: "+value.fhirType()); 1113 this.performed = value; 1114 return this; 1115 } 1116 1117 /** 1118 * @return {@link #note} (An area where general notes can be placed about this specific procedure.) 1119 */ 1120 public List<Annotation> getNote() { 1121 if (this.note == null) 1122 this.note = new ArrayList<Annotation>(); 1123 return this.note; 1124 } 1125 1126 /** 1127 * @return Returns a reference to <code>this</code> for easy method chaining 1128 */ 1129 public FamilyMemberHistoryProcedureComponent setNote(List<Annotation> theNote) { 1130 this.note = theNote; 1131 return this; 1132 } 1133 1134 public boolean hasNote() { 1135 if (this.note == null) 1136 return false; 1137 for (Annotation item : this.note) 1138 if (!item.isEmpty()) 1139 return true; 1140 return false; 1141 } 1142 1143 public Annotation addNote() { //3 1144 Annotation t = new Annotation(); 1145 if (this.note == null) 1146 this.note = new ArrayList<Annotation>(); 1147 this.note.add(t); 1148 return t; 1149 } 1150 1151 public FamilyMemberHistoryProcedureComponent addNote(Annotation t) { //3 1152 if (t == null) 1153 return this; 1154 if (this.note == null) 1155 this.note = new ArrayList<Annotation>(); 1156 this.note.add(t); 1157 return this; 1158 } 1159 1160 /** 1161 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1162 */ 1163 public Annotation getNoteFirstRep() { 1164 if (getNote().isEmpty()) { 1165 addNote(); 1166 } 1167 return getNote().get(0); 1168 } 1169 1170 protected void listChildren(List<Property> children) { 1171 super.listChildren(children); 1172 children.add(new Property("code", "CodeableConcept", "The actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating system.", 0, 1, code)); 1173 children.add(new Property("outcome", "CodeableConcept", "Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation.", 0, 1, outcome)); 1174 children.add(new Property("contributedToDeath", "boolean", "This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.", 0, 1, contributedToDeath)); 1175 children.add(new Property("performed[x]", "Age|Range|Period|string|dateTime", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed)); 1176 children.add(new Property("note", "Annotation", "An area where general notes can be placed about this specific procedure.", 0, java.lang.Integer.MAX_VALUE, note)); 1177 } 1178 1179 @Override 1180 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1181 switch (_hash) { 1182 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The actual procedure specified. Could be a coded procedure or a less specific string depending on how much is known about the procedure and the capabilities of the creating system.", 0, 1, code); 1183 case -1106507950: /*outcome*/ return new Property("outcome", "CodeableConcept", "Indicates what happened following the procedure. If the procedure resulted in death, deceased date is captured on the relation.", 0, 1, outcome); 1184 case -363644638: /*contributedToDeath*/ return new Property("contributedToDeath", "boolean", "This procedure contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.", 0, 1, contributedToDeath); 1185 case 1355984064: /*performed[x]*/ return new Property("performed[x]", "Age|Range|Period|string|dateTime", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1186 case 481140672: /*performed*/ return new Property("performed[x]", "Age|Range|Period|string|dateTime", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1187 case 1355958559: /*performedAge*/ return new Property("performed[x]", "Age", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1188 case 1716617565: /*performedRange*/ return new Property("performed[x]", "Range", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1189 case 1622094241: /*performedPeriod*/ return new Property("performed[x]", "Period", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1190 case 1721834481: /*performedString*/ return new Property("performed[x]", "string", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1191 case 1118270331: /*performedDateTime*/ return new Property("performed[x]", "dateTime", "Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, performed); 1192 case 3387378: /*note*/ return new Property("note", "Annotation", "An area where general notes can be placed about this specific procedure.", 0, java.lang.Integer.MAX_VALUE, note); 1193 default: return super.getNamedProperty(_hash, _name, _checkValid); 1194 } 1195 1196 } 1197 1198 @Override 1199 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1200 switch (hash) { 1201 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1202 case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // CodeableConcept 1203 case -363644638: /*contributedToDeath*/ return this.contributedToDeath == null ? new Base[0] : new Base[] {this.contributedToDeath}; // BooleanType 1204 case 481140672: /*performed*/ return this.performed == null ? new Base[0] : new Base[] {this.performed}; // DataType 1205 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1206 default: return super.getProperty(hash, name, checkValid); 1207 } 1208 1209 } 1210 1211 @Override 1212 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1213 switch (hash) { 1214 case 3059181: // code 1215 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1216 return value; 1217 case -1106507950: // outcome 1218 this.outcome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1219 return value; 1220 case -363644638: // contributedToDeath 1221 this.contributedToDeath = TypeConvertor.castToBoolean(value); // BooleanType 1222 return value; 1223 case 481140672: // performed 1224 this.performed = TypeConvertor.castToType(value); // DataType 1225 return value; 1226 case 3387378: // note 1227 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1228 return value; 1229 default: return super.setProperty(hash, name, value); 1230 } 1231 1232 } 1233 1234 @Override 1235 public Base setProperty(String name, Base value) throws FHIRException { 1236 if (name.equals("code")) { 1237 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1238 } else if (name.equals("outcome")) { 1239 this.outcome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1240 } else if (name.equals("contributedToDeath")) { 1241 this.contributedToDeath = TypeConvertor.castToBoolean(value); // BooleanType 1242 } else if (name.equals("performed[x]")) { 1243 this.performed = TypeConvertor.castToType(value); // DataType 1244 } else if (name.equals("note")) { 1245 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1246 } else 1247 return super.setProperty(name, value); 1248 return value; 1249 } 1250 1251 @Override 1252 public Base makeProperty(int hash, String name) throws FHIRException { 1253 switch (hash) { 1254 case 3059181: return getCode(); 1255 case -1106507950: return getOutcome(); 1256 case -363644638: return getContributedToDeathElement(); 1257 case 1355984064: return getPerformed(); 1258 case 481140672: return getPerformed(); 1259 case 3387378: return addNote(); 1260 default: return super.makeProperty(hash, name); 1261 } 1262 1263 } 1264 1265 @Override 1266 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1267 switch (hash) { 1268 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1269 case -1106507950: /*outcome*/ return new String[] {"CodeableConcept"}; 1270 case -363644638: /*contributedToDeath*/ return new String[] {"boolean"}; 1271 case 481140672: /*performed*/ return new String[] {"Age", "Range", "Period", "string", "dateTime"}; 1272 case 3387378: /*note*/ return new String[] {"Annotation"}; 1273 default: return super.getTypesForProperty(hash, name); 1274 } 1275 1276 } 1277 1278 @Override 1279 public Base addChild(String name) throws FHIRException { 1280 if (name.equals("code")) { 1281 this.code = new CodeableConcept(); 1282 return this.code; 1283 } 1284 else if (name.equals("outcome")) { 1285 this.outcome = new CodeableConcept(); 1286 return this.outcome; 1287 } 1288 else if (name.equals("contributedToDeath")) { 1289 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.procedure.contributedToDeath"); 1290 } 1291 else if (name.equals("performedAge")) { 1292 this.performed = new Age(); 1293 return this.performed; 1294 } 1295 else if (name.equals("performedRange")) { 1296 this.performed = new Range(); 1297 return this.performed; 1298 } 1299 else if (name.equals("performedPeriod")) { 1300 this.performed = new Period(); 1301 return this.performed; 1302 } 1303 else if (name.equals("performedString")) { 1304 this.performed = new StringType(); 1305 return this.performed; 1306 } 1307 else if (name.equals("performedDateTime")) { 1308 this.performed = new DateTimeType(); 1309 return this.performed; 1310 } 1311 else if (name.equals("note")) { 1312 return addNote(); 1313 } 1314 else 1315 return super.addChild(name); 1316 } 1317 1318 public FamilyMemberHistoryProcedureComponent copy() { 1319 FamilyMemberHistoryProcedureComponent dst = new FamilyMemberHistoryProcedureComponent(); 1320 copyValues(dst); 1321 return dst; 1322 } 1323 1324 public void copyValues(FamilyMemberHistoryProcedureComponent dst) { 1325 super.copyValues(dst); 1326 dst.code = code == null ? null : code.copy(); 1327 dst.outcome = outcome == null ? null : outcome.copy(); 1328 dst.contributedToDeath = contributedToDeath == null ? null : contributedToDeath.copy(); 1329 dst.performed = performed == null ? null : performed.copy(); 1330 if (note != null) { 1331 dst.note = new ArrayList<Annotation>(); 1332 for (Annotation i : note) 1333 dst.note.add(i.copy()); 1334 }; 1335 } 1336 1337 @Override 1338 public boolean equalsDeep(Base other_) { 1339 if (!super.equalsDeep(other_)) 1340 return false; 1341 if (!(other_ instanceof FamilyMemberHistoryProcedureComponent)) 1342 return false; 1343 FamilyMemberHistoryProcedureComponent o = (FamilyMemberHistoryProcedureComponent) other_; 1344 return compareDeep(code, o.code, true) && compareDeep(outcome, o.outcome, true) && compareDeep(contributedToDeath, o.contributedToDeath, true) 1345 && compareDeep(performed, o.performed, true) && compareDeep(note, o.note, true); 1346 } 1347 1348 @Override 1349 public boolean equalsShallow(Base other_) { 1350 if (!super.equalsShallow(other_)) 1351 return false; 1352 if (!(other_ instanceof FamilyMemberHistoryProcedureComponent)) 1353 return false; 1354 FamilyMemberHistoryProcedureComponent o = (FamilyMemberHistoryProcedureComponent) other_; 1355 return compareValues(contributedToDeath, o.contributedToDeath, true); 1356 } 1357 1358 public boolean isEmpty() { 1359 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, outcome, contributedToDeath 1360 , performed, note); 1361 } 1362 1363 public String fhirType() { 1364 return "FamilyMemberHistory.procedure"; 1365 1366 } 1367 1368 } 1369 1370 /** 1371 * Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server. 1372 */ 1373 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1374 @Description(shortDefinition="External Id(s) for this record", formalDefinition="Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server." ) 1375 protected List<Identifier> identifier; 1376 1377 /** 1378 * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. 1379 */ 1380 @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1381 @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory." ) 1382 protected List<CanonicalType> instantiatesCanonical; 1383 1384 /** 1385 * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. 1386 */ 1387 @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1388 @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory." ) 1389 protected List<UriType> instantiatesUri; 1390 1391 /** 1392 * A code specifying the status of the record of the family history of a specific family member. 1393 */ 1394 @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=true, summary=true) 1395 @Description(shortDefinition="partial | completed | entered-in-error | health-unknown", formalDefinition="A code specifying the status of the record of the family history of a specific family member." ) 1396 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/history-status") 1397 protected Enumeration<FamilyHistoryStatus> status; 1398 1399 /** 1400 * Describes why the family member's history is not available. 1401 */ 1402 @Child(name = "dataAbsentReason", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) 1403 @Description(shortDefinition="subject-unknown | withheld | unable-to-obtain | deferred", formalDefinition="Describes why the family member's history is not available." ) 1404 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/history-absent-reason") 1405 protected CodeableConcept dataAbsentReason; 1406 1407 /** 1408 * The person who this history concerns. 1409 */ 1410 @Child(name = "patient", type = {Patient.class}, order=5, min=1, max=1, modifier=false, summary=true) 1411 @Description(shortDefinition="Patient history is about", formalDefinition="The person who this history concerns." ) 1412 protected Reference patient; 1413 1414 /** 1415 * The date (and possibly time) when the family member history was recorded or last updated. 1416 */ 1417 @Child(name = "date", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) 1418 @Description(shortDefinition="When history was recorded or last updated", formalDefinition="The date (and possibly time) when the family member history was recorded or last updated." ) 1419 protected DateTimeType date; 1420 1421 /** 1422 * Indicates who or what participated in the activities related to the family member history and how they were involved. 1423 */ 1424 @Child(name = "participant", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1425 @Description(shortDefinition="Who or what participated in the activities related to the family member history and how they were involved", formalDefinition="Indicates who or what participated in the activities related to the family member history and how they were involved." ) 1426 protected List<FamilyMemberHistoryParticipantComponent> participant; 1427 1428 /** 1429 * This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". 1430 */ 1431 @Child(name = "name", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 1432 @Description(shortDefinition="The family member described", formalDefinition="This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\"." ) 1433 protected StringType name; 1434 1435 /** 1436 * The type of relationship this person has to the patient (father, mother, brother etc.). 1437 */ 1438 @Child(name = "relationship", type = {CodeableConcept.class}, order=9, min=1, max=1, modifier=false, summary=true) 1439 @Description(shortDefinition="Relationship to the subject", formalDefinition="The type of relationship this person has to the patient (father, mother, brother etc.)." ) 1440 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-FamilyMember") 1441 protected CodeableConcept relationship; 1442 1443 /** 1444 * The birth sex of the family member. 1445 */ 1446 @Child(name = "sex", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=true) 1447 @Description(shortDefinition="male | female | other | unknown", formalDefinition="The birth sex of the family member." ) 1448 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administrative-gender") 1449 protected CodeableConcept sex; 1450 1451 /** 1452 * The actual or approximate date of birth of the relative. 1453 */ 1454 @Child(name = "born", type = {Period.class, DateType.class, StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) 1455 @Description(shortDefinition="(approximate) date of birth", formalDefinition="The actual or approximate date of birth of the relative." ) 1456 protected DataType born; 1457 1458 /** 1459 * The age of the relative at the time the family member history is recorded. 1460 */ 1461 @Child(name = "age", type = {Age.class, Range.class, StringType.class}, order=12, min=0, max=1, modifier=false, summary=true) 1462 @Description(shortDefinition="(approximate) age", formalDefinition="The age of the relative at the time the family member history is recorded." ) 1463 protected DataType age; 1464 1465 /** 1466 * If true, indicates that the age value specified is an estimated value. 1467 */ 1468 @Child(name = "estimatedAge", type = {BooleanType.class}, order=13, min=0, max=1, modifier=false, summary=true) 1469 @Description(shortDefinition="Age is estimated?", formalDefinition="If true, indicates that the age value specified is an estimated value." ) 1470 protected BooleanType estimatedAge; 1471 1472 /** 1473 * Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. 1474 */ 1475 @Child(name = "deceased", type = {BooleanType.class, Age.class, Range.class, DateType.class, StringType.class}, order=14, min=0, max=1, modifier=false, summary=true) 1476 @Description(shortDefinition="Dead? How old/when?", formalDefinition="Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record." ) 1477 protected DataType deceased; 1478 1479 /** 1480 * Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event. 1481 */ 1482 @Child(name = "reason", type = {CodeableReference.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1483 @Description(shortDefinition="Why was family member history performed?", formalDefinition="Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event." ) 1484 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 1485 protected List<CodeableReference> reason; 1486 1487 /** 1488 * This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. 1489 */ 1490 @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1491 @Description(shortDefinition="General note about related person", formalDefinition="This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible." ) 1492 protected List<Annotation> note; 1493 1494 /** 1495 * The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. 1496 */ 1497 @Child(name = "condition", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1498 @Description(shortDefinition="Condition that the related person had", formalDefinition="The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition." ) 1499 protected List<FamilyMemberHistoryConditionComponent> condition; 1500 1501 /** 1502 * The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure. 1503 */ 1504 @Child(name = "procedure", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1505 @Description(shortDefinition="Procedures that the related person had", formalDefinition="The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure." ) 1506 protected List<FamilyMemberHistoryProcedureComponent> procedure; 1507 1508 private static final long serialVersionUID = -1025621277L; 1509 1510 /** 1511 * Constructor 1512 */ 1513 public FamilyMemberHistory() { 1514 super(); 1515 } 1516 1517 /** 1518 * Constructor 1519 */ 1520 public FamilyMemberHistory(FamilyHistoryStatus status, Reference patient, CodeableConcept relationship) { 1521 super(); 1522 this.setStatus(status); 1523 this.setPatient(patient); 1524 this.setRelationship(relationship); 1525 } 1526 1527 /** 1528 * @return {@link #identifier} (Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server.) 1529 */ 1530 public List<Identifier> getIdentifier() { 1531 if (this.identifier == null) 1532 this.identifier = new ArrayList<Identifier>(); 1533 return this.identifier; 1534 } 1535 1536 /** 1537 * @return Returns a reference to <code>this</code> for easy method chaining 1538 */ 1539 public FamilyMemberHistory setIdentifier(List<Identifier> theIdentifier) { 1540 this.identifier = theIdentifier; 1541 return this; 1542 } 1543 1544 public boolean hasIdentifier() { 1545 if (this.identifier == null) 1546 return false; 1547 for (Identifier item : this.identifier) 1548 if (!item.isEmpty()) 1549 return true; 1550 return false; 1551 } 1552 1553 public Identifier addIdentifier() { //3 1554 Identifier t = new Identifier(); 1555 if (this.identifier == null) 1556 this.identifier = new ArrayList<Identifier>(); 1557 this.identifier.add(t); 1558 return t; 1559 } 1560 1561 public FamilyMemberHistory addIdentifier(Identifier t) { //3 1562 if (t == null) 1563 return this; 1564 if (this.identifier == null) 1565 this.identifier = new ArrayList<Identifier>(); 1566 this.identifier.add(t); 1567 return this; 1568 } 1569 1570 /** 1571 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1572 */ 1573 public Identifier getIdentifierFirstRep() { 1574 if (getIdentifier().isEmpty()) { 1575 addIdentifier(); 1576 } 1577 return getIdentifier().get(0); 1578 } 1579 1580 /** 1581 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1582 */ 1583 public List<CanonicalType> getInstantiatesCanonical() { 1584 if (this.instantiatesCanonical == null) 1585 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 1586 return this.instantiatesCanonical; 1587 } 1588 1589 /** 1590 * @return Returns a reference to <code>this</code> for easy method chaining 1591 */ 1592 public FamilyMemberHistory setInstantiatesCanonical(List<CanonicalType> theInstantiatesCanonical) { 1593 this.instantiatesCanonical = theInstantiatesCanonical; 1594 return this; 1595 } 1596 1597 public boolean hasInstantiatesCanonical() { 1598 if (this.instantiatesCanonical == null) 1599 return false; 1600 for (CanonicalType item : this.instantiatesCanonical) 1601 if (!item.isEmpty()) 1602 return true; 1603 return false; 1604 } 1605 1606 /** 1607 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1608 */ 1609 public CanonicalType addInstantiatesCanonicalElement() {//2 1610 CanonicalType t = new CanonicalType(); 1611 if (this.instantiatesCanonical == null) 1612 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 1613 this.instantiatesCanonical.add(t); 1614 return t; 1615 } 1616 1617 /** 1618 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1619 */ 1620 public FamilyMemberHistory addInstantiatesCanonical(String value) { //1 1621 CanonicalType t = new CanonicalType(); 1622 t.setValue(value); 1623 if (this.instantiatesCanonical == null) 1624 this.instantiatesCanonical = new ArrayList<CanonicalType>(); 1625 this.instantiatesCanonical.add(t); 1626 return this; 1627 } 1628 1629 /** 1630 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1631 */ 1632 public boolean hasInstantiatesCanonical(String value) { 1633 if (this.instantiatesCanonical == null) 1634 return false; 1635 for (CanonicalType v : this.instantiatesCanonical) 1636 if (v.getValue().equals(value)) // canonical 1637 return true; 1638 return false; 1639 } 1640 1641 /** 1642 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1643 */ 1644 public List<UriType> getInstantiatesUri() { 1645 if (this.instantiatesUri == null) 1646 this.instantiatesUri = new ArrayList<UriType>(); 1647 return this.instantiatesUri; 1648 } 1649 1650 /** 1651 * @return Returns a reference to <code>this</code> for easy method chaining 1652 */ 1653 public FamilyMemberHistory setInstantiatesUri(List<UriType> theInstantiatesUri) { 1654 this.instantiatesUri = theInstantiatesUri; 1655 return this; 1656 } 1657 1658 public boolean hasInstantiatesUri() { 1659 if (this.instantiatesUri == null) 1660 return false; 1661 for (UriType item : this.instantiatesUri) 1662 if (!item.isEmpty()) 1663 return true; 1664 return false; 1665 } 1666 1667 /** 1668 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1669 */ 1670 public UriType addInstantiatesUriElement() {//2 1671 UriType t = new UriType(); 1672 if (this.instantiatesUri == null) 1673 this.instantiatesUri = new ArrayList<UriType>(); 1674 this.instantiatesUri.add(t); 1675 return t; 1676 } 1677 1678 /** 1679 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1680 */ 1681 public FamilyMemberHistory addInstantiatesUri(String value) { //1 1682 UriType t = new UriType(); 1683 t.setValue(value); 1684 if (this.instantiatesUri == null) 1685 this.instantiatesUri = new ArrayList<UriType>(); 1686 this.instantiatesUri.add(t); 1687 return this; 1688 } 1689 1690 /** 1691 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.) 1692 */ 1693 public boolean hasInstantiatesUri(String value) { 1694 if (this.instantiatesUri == null) 1695 return false; 1696 for (UriType v : this.instantiatesUri) 1697 if (v.getValue().equals(value)) // uri 1698 return true; 1699 return false; 1700 } 1701 1702 /** 1703 * @return {@link #status} (A code specifying the status of the record of the family history of a specific family member.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1704 */ 1705 public Enumeration<FamilyHistoryStatus> getStatusElement() { 1706 if (this.status == null) 1707 if (Configuration.errorOnAutoCreate()) 1708 throw new Error("Attempt to auto-create FamilyMemberHistory.status"); 1709 else if (Configuration.doAutoCreate()) 1710 this.status = new Enumeration<FamilyHistoryStatus>(new FamilyHistoryStatusEnumFactory()); // bb 1711 return this.status; 1712 } 1713 1714 public boolean hasStatusElement() { 1715 return this.status != null && !this.status.isEmpty(); 1716 } 1717 1718 public boolean hasStatus() { 1719 return this.status != null && !this.status.isEmpty(); 1720 } 1721 1722 /** 1723 * @param value {@link #status} (A code specifying the status of the record of the family history of a specific family member.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1724 */ 1725 public FamilyMemberHistory setStatusElement(Enumeration<FamilyHistoryStatus> value) { 1726 this.status = value; 1727 return this; 1728 } 1729 1730 /** 1731 * @return A code specifying the status of the record of the family history of a specific family member. 1732 */ 1733 public FamilyHistoryStatus getStatus() { 1734 return this.status == null ? null : this.status.getValue(); 1735 } 1736 1737 /** 1738 * @param value A code specifying the status of the record of the family history of a specific family member. 1739 */ 1740 public FamilyMemberHistory setStatus(FamilyHistoryStatus value) { 1741 if (this.status == null) 1742 this.status = new Enumeration<FamilyHistoryStatus>(new FamilyHistoryStatusEnumFactory()); 1743 this.status.setValue(value); 1744 return this; 1745 } 1746 1747 /** 1748 * @return {@link #dataAbsentReason} (Describes why the family member's history is not available.) 1749 */ 1750 public CodeableConcept getDataAbsentReason() { 1751 if (this.dataAbsentReason == null) 1752 if (Configuration.errorOnAutoCreate()) 1753 throw new Error("Attempt to auto-create FamilyMemberHistory.dataAbsentReason"); 1754 else if (Configuration.doAutoCreate()) 1755 this.dataAbsentReason = new CodeableConcept(); // cc 1756 return this.dataAbsentReason; 1757 } 1758 1759 public boolean hasDataAbsentReason() { 1760 return this.dataAbsentReason != null && !this.dataAbsentReason.isEmpty(); 1761 } 1762 1763 /** 1764 * @param value {@link #dataAbsentReason} (Describes why the family member's history is not available.) 1765 */ 1766 public FamilyMemberHistory setDataAbsentReason(CodeableConcept value) { 1767 this.dataAbsentReason = value; 1768 return this; 1769 } 1770 1771 /** 1772 * @return {@link #patient} (The person who this history concerns.) 1773 */ 1774 public Reference getPatient() { 1775 if (this.patient == null) 1776 if (Configuration.errorOnAutoCreate()) 1777 throw new Error("Attempt to auto-create FamilyMemberHistory.patient"); 1778 else if (Configuration.doAutoCreate()) 1779 this.patient = new Reference(); // cc 1780 return this.patient; 1781 } 1782 1783 public boolean hasPatient() { 1784 return this.patient != null && !this.patient.isEmpty(); 1785 } 1786 1787 /** 1788 * @param value {@link #patient} (The person who this history concerns.) 1789 */ 1790 public FamilyMemberHistory setPatient(Reference value) { 1791 this.patient = value; 1792 return this; 1793 } 1794 1795 /** 1796 * @return {@link #date} (The date (and possibly time) when the family member history was recorded or last updated.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1797 */ 1798 public DateTimeType getDateElement() { 1799 if (this.date == null) 1800 if (Configuration.errorOnAutoCreate()) 1801 throw new Error("Attempt to auto-create FamilyMemberHistory.date"); 1802 else if (Configuration.doAutoCreate()) 1803 this.date = new DateTimeType(); // bb 1804 return this.date; 1805 } 1806 1807 public boolean hasDateElement() { 1808 return this.date != null && !this.date.isEmpty(); 1809 } 1810 1811 public boolean hasDate() { 1812 return this.date != null && !this.date.isEmpty(); 1813 } 1814 1815 /** 1816 * @param value {@link #date} (The date (and possibly time) when the family member history was recorded or last updated.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1817 */ 1818 public FamilyMemberHistory setDateElement(DateTimeType value) { 1819 this.date = value; 1820 return this; 1821 } 1822 1823 /** 1824 * @return The date (and possibly time) when the family member history was recorded or last updated. 1825 */ 1826 public Date getDate() { 1827 return this.date == null ? null : this.date.getValue(); 1828 } 1829 1830 /** 1831 * @param value The date (and possibly time) when the family member history was recorded or last updated. 1832 */ 1833 public FamilyMemberHistory setDate(Date value) { 1834 if (value == null) 1835 this.date = null; 1836 else { 1837 if (this.date == null) 1838 this.date = new DateTimeType(); 1839 this.date.setValue(value); 1840 } 1841 return this; 1842 } 1843 1844 /** 1845 * @return {@link #participant} (Indicates who or what participated in the activities related to the family member history and how they were involved.) 1846 */ 1847 public List<FamilyMemberHistoryParticipantComponent> getParticipant() { 1848 if (this.participant == null) 1849 this.participant = new ArrayList<FamilyMemberHistoryParticipantComponent>(); 1850 return this.participant; 1851 } 1852 1853 /** 1854 * @return Returns a reference to <code>this</code> for easy method chaining 1855 */ 1856 public FamilyMemberHistory setParticipant(List<FamilyMemberHistoryParticipantComponent> theParticipant) { 1857 this.participant = theParticipant; 1858 return this; 1859 } 1860 1861 public boolean hasParticipant() { 1862 if (this.participant == null) 1863 return false; 1864 for (FamilyMemberHistoryParticipantComponent item : this.participant) 1865 if (!item.isEmpty()) 1866 return true; 1867 return false; 1868 } 1869 1870 public FamilyMemberHistoryParticipantComponent addParticipant() { //3 1871 FamilyMemberHistoryParticipantComponent t = new FamilyMemberHistoryParticipantComponent(); 1872 if (this.participant == null) 1873 this.participant = new ArrayList<FamilyMemberHistoryParticipantComponent>(); 1874 this.participant.add(t); 1875 return t; 1876 } 1877 1878 public FamilyMemberHistory addParticipant(FamilyMemberHistoryParticipantComponent t) { //3 1879 if (t == null) 1880 return this; 1881 if (this.participant == null) 1882 this.participant = new ArrayList<FamilyMemberHistoryParticipantComponent>(); 1883 this.participant.add(t); 1884 return this; 1885 } 1886 1887 /** 1888 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist {3} 1889 */ 1890 public FamilyMemberHistoryParticipantComponent getParticipantFirstRep() { 1891 if (getParticipant().isEmpty()) { 1892 addParticipant(); 1893 } 1894 return getParticipant().get(0); 1895 } 1896 1897 /** 1898 * @return {@link #name} (This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair".). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1899 */ 1900 public StringType getNameElement() { 1901 if (this.name == null) 1902 if (Configuration.errorOnAutoCreate()) 1903 throw new Error("Attempt to auto-create FamilyMemberHistory.name"); 1904 else if (Configuration.doAutoCreate()) 1905 this.name = new StringType(); // bb 1906 return this.name; 1907 } 1908 1909 public boolean hasNameElement() { 1910 return this.name != null && !this.name.isEmpty(); 1911 } 1912 1913 public boolean hasName() { 1914 return this.name != null && !this.name.isEmpty(); 1915 } 1916 1917 /** 1918 * @param value {@link #name} (This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair".). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1919 */ 1920 public FamilyMemberHistory setNameElement(StringType value) { 1921 this.name = value; 1922 return this; 1923 } 1924 1925 /** 1926 * @return This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". 1927 */ 1928 public String getName() { 1929 return this.name == null ? null : this.name.getValue(); 1930 } 1931 1932 /** 1933 * @param value This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". 1934 */ 1935 public FamilyMemberHistory setName(String value) { 1936 if (Utilities.noString(value)) 1937 this.name = null; 1938 else { 1939 if (this.name == null) 1940 this.name = new StringType(); 1941 this.name.setValue(value); 1942 } 1943 return this; 1944 } 1945 1946 /** 1947 * @return {@link #relationship} (The type of relationship this person has to the patient (father, mother, brother etc.).) 1948 */ 1949 public CodeableConcept getRelationship() { 1950 if (this.relationship == null) 1951 if (Configuration.errorOnAutoCreate()) 1952 throw new Error("Attempt to auto-create FamilyMemberHistory.relationship"); 1953 else if (Configuration.doAutoCreate()) 1954 this.relationship = new CodeableConcept(); // cc 1955 return this.relationship; 1956 } 1957 1958 public boolean hasRelationship() { 1959 return this.relationship != null && !this.relationship.isEmpty(); 1960 } 1961 1962 /** 1963 * @param value {@link #relationship} (The type of relationship this person has to the patient (father, mother, brother etc.).) 1964 */ 1965 public FamilyMemberHistory setRelationship(CodeableConcept value) { 1966 this.relationship = value; 1967 return this; 1968 } 1969 1970 /** 1971 * @return {@link #sex} (The birth sex of the family member.) 1972 */ 1973 public CodeableConcept getSex() { 1974 if (this.sex == null) 1975 if (Configuration.errorOnAutoCreate()) 1976 throw new Error("Attempt to auto-create FamilyMemberHistory.sex"); 1977 else if (Configuration.doAutoCreate()) 1978 this.sex = new CodeableConcept(); // cc 1979 return this.sex; 1980 } 1981 1982 public boolean hasSex() { 1983 return this.sex != null && !this.sex.isEmpty(); 1984 } 1985 1986 /** 1987 * @param value {@link #sex} (The birth sex of the family member.) 1988 */ 1989 public FamilyMemberHistory setSex(CodeableConcept value) { 1990 this.sex = value; 1991 return this; 1992 } 1993 1994 /** 1995 * @return {@link #born} (The actual or approximate date of birth of the relative.) 1996 */ 1997 public DataType getBorn() { 1998 return this.born; 1999 } 2000 2001 /** 2002 * @return {@link #born} (The actual or approximate date of birth of the relative.) 2003 */ 2004 public Period getBornPeriod() throws FHIRException { 2005 if (this.born == null) 2006 this.born = new Period(); 2007 if (!(this.born instanceof Period)) 2008 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.born.getClass().getName()+" was encountered"); 2009 return (Period) this.born; 2010 } 2011 2012 public boolean hasBornPeriod() { 2013 return this != null && this.born instanceof Period; 2014 } 2015 2016 /** 2017 * @return {@link #born} (The actual or approximate date of birth of the relative.) 2018 */ 2019 public DateType getBornDateType() throws FHIRException { 2020 if (this.born == null) 2021 this.born = new DateType(); 2022 if (!(this.born instanceof DateType)) 2023 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.born.getClass().getName()+" was encountered"); 2024 return (DateType) this.born; 2025 } 2026 2027 public boolean hasBornDateType() { 2028 return this != null && this.born instanceof DateType; 2029 } 2030 2031 /** 2032 * @return {@link #born} (The actual or approximate date of birth of the relative.) 2033 */ 2034 public StringType getBornStringType() throws FHIRException { 2035 if (this.born == null) 2036 this.born = new StringType(); 2037 if (!(this.born instanceof StringType)) 2038 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.born.getClass().getName()+" was encountered"); 2039 return (StringType) this.born; 2040 } 2041 2042 public boolean hasBornStringType() { 2043 return this != null && this.born instanceof StringType; 2044 } 2045 2046 public boolean hasBorn() { 2047 return this.born != null && !this.born.isEmpty(); 2048 } 2049 2050 /** 2051 * @param value {@link #born} (The actual or approximate date of birth of the relative.) 2052 */ 2053 public FamilyMemberHistory setBorn(DataType value) { 2054 if (value != null && !(value instanceof Period || value instanceof DateType || value instanceof StringType)) 2055 throw new FHIRException("Not the right type for FamilyMemberHistory.born[x]: "+value.fhirType()); 2056 this.born = value; 2057 return this; 2058 } 2059 2060 /** 2061 * @return {@link #age} (The age of the relative at the time the family member history is recorded.) 2062 */ 2063 public DataType getAge() { 2064 return this.age; 2065 } 2066 2067 /** 2068 * @return {@link #age} (The age of the relative at the time the family member history is recorded.) 2069 */ 2070 public Age getAgeAge() throws FHIRException { 2071 if (this.age == null) 2072 this.age = new Age(); 2073 if (!(this.age instanceof Age)) 2074 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.age.getClass().getName()+" was encountered"); 2075 return (Age) this.age; 2076 } 2077 2078 public boolean hasAgeAge() { 2079 return this != null && this.age instanceof Age; 2080 } 2081 2082 /** 2083 * @return {@link #age} (The age of the relative at the time the family member history is recorded.) 2084 */ 2085 public Range getAgeRange() throws FHIRException { 2086 if (this.age == null) 2087 this.age = new Range(); 2088 if (!(this.age instanceof Range)) 2089 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.age.getClass().getName()+" was encountered"); 2090 return (Range) this.age; 2091 } 2092 2093 public boolean hasAgeRange() { 2094 return this != null && this.age instanceof Range; 2095 } 2096 2097 /** 2098 * @return {@link #age} (The age of the relative at the time the family member history is recorded.) 2099 */ 2100 public StringType getAgeStringType() throws FHIRException { 2101 if (this.age == null) 2102 this.age = new StringType(); 2103 if (!(this.age instanceof StringType)) 2104 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.age.getClass().getName()+" was encountered"); 2105 return (StringType) this.age; 2106 } 2107 2108 public boolean hasAgeStringType() { 2109 return this != null && this.age instanceof StringType; 2110 } 2111 2112 public boolean hasAge() { 2113 return this.age != null && !this.age.isEmpty(); 2114 } 2115 2116 /** 2117 * @param value {@link #age} (The age of the relative at the time the family member history is recorded.) 2118 */ 2119 public FamilyMemberHistory setAge(DataType value) { 2120 if (value != null && !(value instanceof Age || value instanceof Range || value instanceof StringType)) 2121 throw new FHIRException("Not the right type for FamilyMemberHistory.age[x]: "+value.fhirType()); 2122 this.age = value; 2123 return this; 2124 } 2125 2126 /** 2127 * @return {@link #estimatedAge} (If true, indicates that the age value specified is an estimated value.). This is the underlying object with id, value and extensions. The accessor "getEstimatedAge" gives direct access to the value 2128 */ 2129 public BooleanType getEstimatedAgeElement() { 2130 if (this.estimatedAge == null) 2131 if (Configuration.errorOnAutoCreate()) 2132 throw new Error("Attempt to auto-create FamilyMemberHistory.estimatedAge"); 2133 else if (Configuration.doAutoCreate()) 2134 this.estimatedAge = new BooleanType(); // bb 2135 return this.estimatedAge; 2136 } 2137 2138 public boolean hasEstimatedAgeElement() { 2139 return this.estimatedAge != null && !this.estimatedAge.isEmpty(); 2140 } 2141 2142 public boolean hasEstimatedAge() { 2143 return this.estimatedAge != null && !this.estimatedAge.isEmpty(); 2144 } 2145 2146 /** 2147 * @param value {@link #estimatedAge} (If true, indicates that the age value specified is an estimated value.). This is the underlying object with id, value and extensions. The accessor "getEstimatedAge" gives direct access to the value 2148 */ 2149 public FamilyMemberHistory setEstimatedAgeElement(BooleanType value) { 2150 this.estimatedAge = value; 2151 return this; 2152 } 2153 2154 /** 2155 * @return If true, indicates that the age value specified is an estimated value. 2156 */ 2157 public boolean getEstimatedAge() { 2158 return this.estimatedAge == null || this.estimatedAge.isEmpty() ? false : this.estimatedAge.getValue(); 2159 } 2160 2161 /** 2162 * @param value If true, indicates that the age value specified is an estimated value. 2163 */ 2164 public FamilyMemberHistory setEstimatedAge(boolean value) { 2165 if (this.estimatedAge == null) 2166 this.estimatedAge = new BooleanType(); 2167 this.estimatedAge.setValue(value); 2168 return this; 2169 } 2170 2171 /** 2172 * @return {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2173 */ 2174 public DataType getDeceased() { 2175 return this.deceased; 2176 } 2177 2178 /** 2179 * @return {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2180 */ 2181 public BooleanType getDeceasedBooleanType() throws FHIRException { 2182 if (this.deceased == null) 2183 this.deceased = new BooleanType(); 2184 if (!(this.deceased instanceof BooleanType)) 2185 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.deceased.getClass().getName()+" was encountered"); 2186 return (BooleanType) this.deceased; 2187 } 2188 2189 public boolean hasDeceasedBooleanType() { 2190 return this != null && this.deceased instanceof BooleanType; 2191 } 2192 2193 /** 2194 * @return {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2195 */ 2196 public Age getDeceasedAge() throws FHIRException { 2197 if (this.deceased == null) 2198 this.deceased = new Age(); 2199 if (!(this.deceased instanceof Age)) 2200 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.deceased.getClass().getName()+" was encountered"); 2201 return (Age) this.deceased; 2202 } 2203 2204 public boolean hasDeceasedAge() { 2205 return this != null && this.deceased instanceof Age; 2206 } 2207 2208 /** 2209 * @return {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2210 */ 2211 public Range getDeceasedRange() throws FHIRException { 2212 if (this.deceased == null) 2213 this.deceased = new Range(); 2214 if (!(this.deceased instanceof Range)) 2215 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.deceased.getClass().getName()+" was encountered"); 2216 return (Range) this.deceased; 2217 } 2218 2219 public boolean hasDeceasedRange() { 2220 return this != null && this.deceased instanceof Range; 2221 } 2222 2223 /** 2224 * @return {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2225 */ 2226 public DateType getDeceasedDateType() throws FHIRException { 2227 if (this.deceased == null) 2228 this.deceased = new DateType(); 2229 if (!(this.deceased instanceof DateType)) 2230 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.deceased.getClass().getName()+" was encountered"); 2231 return (DateType) this.deceased; 2232 } 2233 2234 public boolean hasDeceasedDateType() { 2235 return this != null && this.deceased instanceof DateType; 2236 } 2237 2238 /** 2239 * @return {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2240 */ 2241 public StringType getDeceasedStringType() throws FHIRException { 2242 if (this.deceased == null) 2243 this.deceased = new StringType(); 2244 if (!(this.deceased instanceof StringType)) 2245 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.deceased.getClass().getName()+" was encountered"); 2246 return (StringType) this.deceased; 2247 } 2248 2249 public boolean hasDeceasedStringType() { 2250 return this != null && this.deceased instanceof StringType; 2251 } 2252 2253 public boolean hasDeceased() { 2254 return this.deceased != null && !this.deceased.isEmpty(); 2255 } 2256 2257 /** 2258 * @param value {@link #deceased} (Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.) 2259 */ 2260 public FamilyMemberHistory setDeceased(DataType value) { 2261 if (value != null && !(value instanceof BooleanType || value instanceof Age || value instanceof Range || value instanceof DateType || value instanceof StringType)) 2262 throw new FHIRException("Not the right type for FamilyMemberHistory.deceased[x]: "+value.fhirType()); 2263 this.deceased = value; 2264 return this; 2265 } 2266 2267 /** 2268 * @return {@link #reason} (Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.) 2269 */ 2270 public List<CodeableReference> getReason() { 2271 if (this.reason == null) 2272 this.reason = new ArrayList<CodeableReference>(); 2273 return this.reason; 2274 } 2275 2276 /** 2277 * @return Returns a reference to <code>this</code> for easy method chaining 2278 */ 2279 public FamilyMemberHistory setReason(List<CodeableReference> theReason) { 2280 this.reason = theReason; 2281 return this; 2282 } 2283 2284 public boolean hasReason() { 2285 if (this.reason == null) 2286 return false; 2287 for (CodeableReference item : this.reason) 2288 if (!item.isEmpty()) 2289 return true; 2290 return false; 2291 } 2292 2293 public CodeableReference addReason() { //3 2294 CodeableReference t = new CodeableReference(); 2295 if (this.reason == null) 2296 this.reason = new ArrayList<CodeableReference>(); 2297 this.reason.add(t); 2298 return t; 2299 } 2300 2301 public FamilyMemberHistory addReason(CodeableReference t) { //3 2302 if (t == null) 2303 return this; 2304 if (this.reason == null) 2305 this.reason = new ArrayList<CodeableReference>(); 2306 this.reason.add(t); 2307 return this; 2308 } 2309 2310 /** 2311 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 2312 */ 2313 public CodeableReference getReasonFirstRep() { 2314 if (getReason().isEmpty()) { 2315 addReason(); 2316 } 2317 return getReason().get(0); 2318 } 2319 2320 /** 2321 * @return {@link #note} (This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible.) 2322 */ 2323 public List<Annotation> getNote() { 2324 if (this.note == null) 2325 this.note = new ArrayList<Annotation>(); 2326 return this.note; 2327 } 2328 2329 /** 2330 * @return Returns a reference to <code>this</code> for easy method chaining 2331 */ 2332 public FamilyMemberHistory setNote(List<Annotation> theNote) { 2333 this.note = theNote; 2334 return this; 2335 } 2336 2337 public boolean hasNote() { 2338 if (this.note == null) 2339 return false; 2340 for (Annotation item : this.note) 2341 if (!item.isEmpty()) 2342 return true; 2343 return false; 2344 } 2345 2346 public Annotation addNote() { //3 2347 Annotation t = new Annotation(); 2348 if (this.note == null) 2349 this.note = new ArrayList<Annotation>(); 2350 this.note.add(t); 2351 return t; 2352 } 2353 2354 public FamilyMemberHistory addNote(Annotation t) { //3 2355 if (t == null) 2356 return this; 2357 if (this.note == null) 2358 this.note = new ArrayList<Annotation>(); 2359 this.note.add(t); 2360 return this; 2361 } 2362 2363 /** 2364 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 2365 */ 2366 public Annotation getNoteFirstRep() { 2367 if (getNote().isEmpty()) { 2368 addNote(); 2369 } 2370 return getNote().get(0); 2371 } 2372 2373 /** 2374 * @return {@link #condition} (The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.) 2375 */ 2376 public List<FamilyMemberHistoryConditionComponent> getCondition() { 2377 if (this.condition == null) 2378 this.condition = new ArrayList<FamilyMemberHistoryConditionComponent>(); 2379 return this.condition; 2380 } 2381 2382 /** 2383 * @return Returns a reference to <code>this</code> for easy method chaining 2384 */ 2385 public FamilyMemberHistory setCondition(List<FamilyMemberHistoryConditionComponent> theCondition) { 2386 this.condition = theCondition; 2387 return this; 2388 } 2389 2390 public boolean hasCondition() { 2391 if (this.condition == null) 2392 return false; 2393 for (FamilyMemberHistoryConditionComponent item : this.condition) 2394 if (!item.isEmpty()) 2395 return true; 2396 return false; 2397 } 2398 2399 public FamilyMemberHistoryConditionComponent addCondition() { //3 2400 FamilyMemberHistoryConditionComponent t = new FamilyMemberHistoryConditionComponent(); 2401 if (this.condition == null) 2402 this.condition = new ArrayList<FamilyMemberHistoryConditionComponent>(); 2403 this.condition.add(t); 2404 return t; 2405 } 2406 2407 public FamilyMemberHistory addCondition(FamilyMemberHistoryConditionComponent t) { //3 2408 if (t == null) 2409 return this; 2410 if (this.condition == null) 2411 this.condition = new ArrayList<FamilyMemberHistoryConditionComponent>(); 2412 this.condition.add(t); 2413 return this; 2414 } 2415 2416 /** 2417 * @return The first repetition of repeating field {@link #condition}, creating it if it does not already exist {3} 2418 */ 2419 public FamilyMemberHistoryConditionComponent getConditionFirstRep() { 2420 if (getCondition().isEmpty()) { 2421 addCondition(); 2422 } 2423 return getCondition().get(0); 2424 } 2425 2426 /** 2427 * @return {@link #procedure} (The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure.) 2428 */ 2429 public List<FamilyMemberHistoryProcedureComponent> getProcedure() { 2430 if (this.procedure == null) 2431 this.procedure = new ArrayList<FamilyMemberHistoryProcedureComponent>(); 2432 return this.procedure; 2433 } 2434 2435 /** 2436 * @return Returns a reference to <code>this</code> for easy method chaining 2437 */ 2438 public FamilyMemberHistory setProcedure(List<FamilyMemberHistoryProcedureComponent> theProcedure) { 2439 this.procedure = theProcedure; 2440 return this; 2441 } 2442 2443 public boolean hasProcedure() { 2444 if (this.procedure == null) 2445 return false; 2446 for (FamilyMemberHistoryProcedureComponent item : this.procedure) 2447 if (!item.isEmpty()) 2448 return true; 2449 return false; 2450 } 2451 2452 public FamilyMemberHistoryProcedureComponent addProcedure() { //3 2453 FamilyMemberHistoryProcedureComponent t = new FamilyMemberHistoryProcedureComponent(); 2454 if (this.procedure == null) 2455 this.procedure = new ArrayList<FamilyMemberHistoryProcedureComponent>(); 2456 this.procedure.add(t); 2457 return t; 2458 } 2459 2460 public FamilyMemberHistory addProcedure(FamilyMemberHistoryProcedureComponent t) { //3 2461 if (t == null) 2462 return this; 2463 if (this.procedure == null) 2464 this.procedure = new ArrayList<FamilyMemberHistoryProcedureComponent>(); 2465 this.procedure.add(t); 2466 return this; 2467 } 2468 2469 /** 2470 * @return The first repetition of repeating field {@link #procedure}, creating it if it does not already exist {3} 2471 */ 2472 public FamilyMemberHistoryProcedureComponent getProcedureFirstRep() { 2473 if (getProcedure().isEmpty()) { 2474 addProcedure(); 2475 } 2476 return getProcedure().get(0); 2477 } 2478 2479 protected void listChildren(List<Property> children) { 2480 super.listChildren(children); 2481 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2482 children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|Questionnaire|ActivityDefinition|Measure|OperationDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); 2483 children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); 2484 children.add(new Property("status", "code", "A code specifying the status of the record of the family history of a specific family member.", 0, 1, status)); 2485 children.add(new Property("dataAbsentReason", "CodeableConcept", "Describes why the family member's history is not available.", 0, 1, dataAbsentReason)); 2486 children.add(new Property("patient", "Reference(Patient)", "The person who this history concerns.", 0, 1, patient)); 2487 children.add(new Property("date", "dateTime", "The date (and possibly time) when the family member history was recorded or last updated.", 0, 1, date)); 2488 children.add(new Property("participant", "", "Indicates who or what participated in the activities related to the family member history and how they were involved.", 0, java.lang.Integer.MAX_VALUE, participant)); 2489 children.add(new Property("name", "string", "This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\".", 0, 1, name)); 2490 children.add(new Property("relationship", "CodeableConcept", "The type of relationship this person has to the patient (father, mother, brother etc.).", 0, 1, relationship)); 2491 children.add(new Property("sex", "CodeableConcept", "The birth sex of the family member.", 0, 1, sex)); 2492 children.add(new Property("born[x]", "Period|date|string", "The actual or approximate date of birth of the relative.", 0, 1, born)); 2493 children.add(new Property("age[x]", "Age|Range|string", "The age of the relative at the time the family member history is recorded.", 0, 1, age)); 2494 children.add(new Property("estimatedAge", "boolean", "If true, indicates that the age value specified is an estimated value.", 0, 1, estimatedAge)); 2495 children.add(new Property("deceased[x]", "boolean|Age|Range|date|string", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased)); 2496 children.add(new Property("reason", "CodeableReference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse|DiagnosticReport|DocumentReference)", "Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.", 0, java.lang.Integer.MAX_VALUE, reason)); 2497 children.add(new Property("note", "Annotation", "This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible.", 0, java.lang.Integer.MAX_VALUE, note)); 2498 children.add(new Property("condition", "", "The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.", 0, java.lang.Integer.MAX_VALUE, condition)); 2499 children.add(new Property("procedure", "", "The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure.", 0, java.lang.Integer.MAX_VALUE, procedure)); 2500 } 2501 2502 @Override 2503 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2504 switch (_hash) { 2505 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 2506 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|Questionnaire|ActivityDefinition|Measure|OperationDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); 2507 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); 2508 case -892481550: /*status*/ return new Property("status", "code", "A code specifying the status of the record of the family history of a specific family member.", 0, 1, status); 2509 case 1034315687: /*dataAbsentReason*/ return new Property("dataAbsentReason", "CodeableConcept", "Describes why the family member's history is not available.", 0, 1, dataAbsentReason); 2510 case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The person who this history concerns.", 0, 1, patient); 2511 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and possibly time) when the family member history was recorded or last updated.", 0, 1, date); 2512 case 767422259: /*participant*/ return new Property("participant", "", "Indicates who or what participated in the activities related to the family member history and how they were involved.", 0, java.lang.Integer.MAX_VALUE, participant); 2513 case 3373707: /*name*/ return new Property("name", "string", "This will either be a name or a description; e.g. \"Aunt Susan\", \"my cousin with the red hair\".", 0, 1, name); 2514 case -261851592: /*relationship*/ return new Property("relationship", "CodeableConcept", "The type of relationship this person has to the patient (father, mother, brother etc.).", 0, 1, relationship); 2515 case 113766: /*sex*/ return new Property("sex", "CodeableConcept", "The birth sex of the family member.", 0, 1, sex); 2516 case 67532951: /*born[x]*/ return new Property("born[x]", "Period|date|string", "The actual or approximate date of birth of the relative.", 0, 1, born); 2517 case 3029833: /*born*/ return new Property("born[x]", "Period|date|string", "The actual or approximate date of birth of the relative.", 0, 1, born); 2518 case 1497711210: /*bornPeriod*/ return new Property("born[x]", "Period", "The actual or approximate date of birth of the relative.", 0, 1, born); 2519 case 2092814999: /*bornDate*/ return new Property("born[x]", "date", "The actual or approximate date of birth of the relative.", 0, 1, born); 2520 case 1597451450: /*bornString*/ return new Property("born[x]", "string", "The actual or approximate date of birth of the relative.", 0, 1, born); 2521 case -1419716831: /*age[x]*/ return new Property("age[x]", "Age|Range|string", "The age of the relative at the time the family member history is recorded.", 0, 1, age); 2522 case 96511: /*age*/ return new Property("age[x]", "Age|Range|string", "The age of the relative at the time the family member history is recorded.", 0, 1, age); 2523 case -1419742336: /*ageAge*/ return new Property("age[x]", "Age", "The age of the relative at the time the family member history is recorded.", 0, 1, age); 2524 case 1442748286: /*ageRange*/ return new Property("age[x]", "Range", "The age of the relative at the time the family member history is recorded.", 0, 1, age); 2525 case 1821821424: /*ageString*/ return new Property("age[x]", "string", "The age of the relative at the time the family member history is recorded.", 0, 1, age); 2526 case 2130167587: /*estimatedAge*/ return new Property("estimatedAge", "boolean", "If true, indicates that the age value specified is an estimated value.", 0, 1, estimatedAge); 2527 case -1311442804: /*deceased[x]*/ return new Property("deceased[x]", "boolean|Age|Range|date|string", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2528 case 561497972: /*deceased*/ return new Property("deceased[x]", "boolean|Age|Range|date|string", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2529 case 497463828: /*deceasedBoolean*/ return new Property("deceased[x]", "boolean", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2530 case -1311468309: /*deceasedAge*/ return new Property("deceased[x]", "Age", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2531 case -1880094167: /*deceasedRange*/ return new Property("deceased[x]", "Range", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2532 case -2000727742: /*deceasedDate*/ return new Property("deceased[x]", "date", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2533 case 1892920485: /*deceasedString*/ return new Property("deceased[x]", "string", "Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.", 0, 1, deceased); 2534 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|AllergyIntolerance|QuestionnaireResponse|DiagnosticReport|DocumentReference)", "Describes why the family member history occurred in coded or textual form, or Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.", 0, java.lang.Integer.MAX_VALUE, reason); 2535 case 3387378: /*note*/ return new Property("note", "Annotation", "This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible.", 0, java.lang.Integer.MAX_VALUE, note); 2536 case -861311717: /*condition*/ return new Property("condition", "", "The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.", 0, java.lang.Integer.MAX_VALUE, condition); 2537 case -1095204141: /*procedure*/ return new Property("procedure", "", "The significant Procedures (or procedure) that the family member had. This is a repeating section to allow a system to represent more than one procedure per resource, though there is nothing stopping multiple resources - one per procedure.", 0, java.lang.Integer.MAX_VALUE, procedure); 2538 default: return super.getNamedProperty(_hash, _name, _checkValid); 2539 } 2540 2541 } 2542 2543 @Override 2544 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2545 switch (hash) { 2546 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2547 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType 2548 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType 2549 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<FamilyHistoryStatus> 2550 case 1034315687: /*dataAbsentReason*/ return this.dataAbsentReason == null ? new Base[0] : new Base[] {this.dataAbsentReason}; // CodeableConcept 2551 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 2552 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2553 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // FamilyMemberHistoryParticipantComponent 2554 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2555 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // CodeableConcept 2556 case 113766: /*sex*/ return this.sex == null ? new Base[0] : new Base[] {this.sex}; // CodeableConcept 2557 case 3029833: /*born*/ return this.born == null ? new Base[0] : new Base[] {this.born}; // DataType 2558 case 96511: /*age*/ return this.age == null ? new Base[0] : new Base[] {this.age}; // DataType 2559 case 2130167587: /*estimatedAge*/ return this.estimatedAge == null ? new Base[0] : new Base[] {this.estimatedAge}; // BooleanType 2560 case 561497972: /*deceased*/ return this.deceased == null ? new Base[0] : new Base[] {this.deceased}; // DataType 2561 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 2562 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 2563 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : this.condition.toArray(new Base[this.condition.size()]); // FamilyMemberHistoryConditionComponent 2564 case -1095204141: /*procedure*/ return this.procedure == null ? new Base[0] : this.procedure.toArray(new Base[this.procedure.size()]); // FamilyMemberHistoryProcedureComponent 2565 default: return super.getProperty(hash, name, checkValid); 2566 } 2567 2568 } 2569 2570 @Override 2571 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2572 switch (hash) { 2573 case -1618432855: // identifier 2574 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2575 return value; 2576 case 8911915: // instantiatesCanonical 2577 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 2578 return value; 2579 case -1926393373: // instantiatesUri 2580 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType 2581 return value; 2582 case -892481550: // status 2583 value = new FamilyHistoryStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2584 this.status = (Enumeration) value; // Enumeration<FamilyHistoryStatus> 2585 return value; 2586 case 1034315687: // dataAbsentReason 2587 this.dataAbsentReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2588 return value; 2589 case -791418107: // patient 2590 this.patient = TypeConvertor.castToReference(value); // Reference 2591 return value; 2592 case 3076014: // date 2593 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 2594 return value; 2595 case 767422259: // participant 2596 this.getParticipant().add((FamilyMemberHistoryParticipantComponent) value); // FamilyMemberHistoryParticipantComponent 2597 return value; 2598 case 3373707: // name 2599 this.name = TypeConvertor.castToString(value); // StringType 2600 return value; 2601 case -261851592: // relationship 2602 this.relationship = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2603 return value; 2604 case 113766: // sex 2605 this.sex = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2606 return value; 2607 case 3029833: // born 2608 this.born = TypeConvertor.castToType(value); // DataType 2609 return value; 2610 case 96511: // age 2611 this.age = TypeConvertor.castToType(value); // DataType 2612 return value; 2613 case 2130167587: // estimatedAge 2614 this.estimatedAge = TypeConvertor.castToBoolean(value); // BooleanType 2615 return value; 2616 case 561497972: // deceased 2617 this.deceased = TypeConvertor.castToType(value); // DataType 2618 return value; 2619 case -934964668: // reason 2620 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 2621 return value; 2622 case 3387378: // note 2623 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 2624 return value; 2625 case -861311717: // condition 2626 this.getCondition().add((FamilyMemberHistoryConditionComponent) value); // FamilyMemberHistoryConditionComponent 2627 return value; 2628 case -1095204141: // procedure 2629 this.getProcedure().add((FamilyMemberHistoryProcedureComponent) value); // FamilyMemberHistoryProcedureComponent 2630 return value; 2631 default: return super.setProperty(hash, name, value); 2632 } 2633 2634 } 2635 2636 @Override 2637 public Base setProperty(String name, Base value) throws FHIRException { 2638 if (name.equals("identifier")) { 2639 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2640 } else if (name.equals("instantiatesCanonical")) { 2641 this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); 2642 } else if (name.equals("instantiatesUri")) { 2643 this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); 2644 } else if (name.equals("status")) { 2645 value = new FamilyHistoryStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2646 this.status = (Enumeration) value; // Enumeration<FamilyHistoryStatus> 2647 } else if (name.equals("dataAbsentReason")) { 2648 this.dataAbsentReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2649 } else if (name.equals("patient")) { 2650 this.patient = TypeConvertor.castToReference(value); // Reference 2651 } else if (name.equals("date")) { 2652 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 2653 } else if (name.equals("participant")) { 2654 this.getParticipant().add((FamilyMemberHistoryParticipantComponent) value); 2655 } else if (name.equals("name")) { 2656 this.name = TypeConvertor.castToString(value); // StringType 2657 } else if (name.equals("relationship")) { 2658 this.relationship = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2659 } else if (name.equals("sex")) { 2660 this.sex = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2661 } else if (name.equals("born[x]")) { 2662 this.born = TypeConvertor.castToType(value); // DataType 2663 } else if (name.equals("age[x]")) { 2664 this.age = TypeConvertor.castToType(value); // DataType 2665 } else if (name.equals("estimatedAge")) { 2666 this.estimatedAge = TypeConvertor.castToBoolean(value); // BooleanType 2667 } else if (name.equals("deceased[x]")) { 2668 this.deceased = TypeConvertor.castToType(value); // DataType 2669 } else if (name.equals("reason")) { 2670 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 2671 } else if (name.equals("note")) { 2672 this.getNote().add(TypeConvertor.castToAnnotation(value)); 2673 } else if (name.equals("condition")) { 2674 this.getCondition().add((FamilyMemberHistoryConditionComponent) value); 2675 } else if (name.equals("procedure")) { 2676 this.getProcedure().add((FamilyMemberHistoryProcedureComponent) value); 2677 } else 2678 return super.setProperty(name, value); 2679 return value; 2680 } 2681 2682 @Override 2683 public Base makeProperty(int hash, String name) throws FHIRException { 2684 switch (hash) { 2685 case -1618432855: return addIdentifier(); 2686 case 8911915: return addInstantiatesCanonicalElement(); 2687 case -1926393373: return addInstantiatesUriElement(); 2688 case -892481550: return getStatusElement(); 2689 case 1034315687: return getDataAbsentReason(); 2690 case -791418107: return getPatient(); 2691 case 3076014: return getDateElement(); 2692 case 767422259: return addParticipant(); 2693 case 3373707: return getNameElement(); 2694 case -261851592: return getRelationship(); 2695 case 113766: return getSex(); 2696 case 67532951: return getBorn(); 2697 case 3029833: return getBorn(); 2698 case -1419716831: return getAge(); 2699 case 96511: return getAge(); 2700 case 2130167587: return getEstimatedAgeElement(); 2701 case -1311442804: return getDeceased(); 2702 case 561497972: return getDeceased(); 2703 case -934964668: return addReason(); 2704 case 3387378: return addNote(); 2705 case -861311717: return addCondition(); 2706 case -1095204141: return addProcedure(); 2707 default: return super.makeProperty(hash, name); 2708 } 2709 2710 } 2711 2712 @Override 2713 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2714 switch (hash) { 2715 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2716 case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; 2717 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 2718 case -892481550: /*status*/ return new String[] {"code"}; 2719 case 1034315687: /*dataAbsentReason*/ return new String[] {"CodeableConcept"}; 2720 case -791418107: /*patient*/ return new String[] {"Reference"}; 2721 case 3076014: /*date*/ return new String[] {"dateTime"}; 2722 case 767422259: /*participant*/ return new String[] {}; 2723 case 3373707: /*name*/ return new String[] {"string"}; 2724 case -261851592: /*relationship*/ return new String[] {"CodeableConcept"}; 2725 case 113766: /*sex*/ return new String[] {"CodeableConcept"}; 2726 case 3029833: /*born*/ return new String[] {"Period", "date", "string"}; 2727 case 96511: /*age*/ return new String[] {"Age", "Range", "string"}; 2728 case 2130167587: /*estimatedAge*/ return new String[] {"boolean"}; 2729 case 561497972: /*deceased*/ return new String[] {"boolean", "Age", "Range", "date", "string"}; 2730 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 2731 case 3387378: /*note*/ return new String[] {"Annotation"}; 2732 case -861311717: /*condition*/ return new String[] {}; 2733 case -1095204141: /*procedure*/ return new String[] {}; 2734 default: return super.getTypesForProperty(hash, name); 2735 } 2736 2737 } 2738 2739 @Override 2740 public Base addChild(String name) throws FHIRException { 2741 if (name.equals("identifier")) { 2742 return addIdentifier(); 2743 } 2744 else if (name.equals("instantiatesCanonical")) { 2745 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.instantiatesCanonical"); 2746 } 2747 else if (name.equals("instantiatesUri")) { 2748 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.instantiatesUri"); 2749 } 2750 else if (name.equals("status")) { 2751 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.status"); 2752 } 2753 else if (name.equals("dataAbsentReason")) { 2754 this.dataAbsentReason = new CodeableConcept(); 2755 return this.dataAbsentReason; 2756 } 2757 else if (name.equals("patient")) { 2758 this.patient = new Reference(); 2759 return this.patient; 2760 } 2761 else if (name.equals("date")) { 2762 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.date"); 2763 } 2764 else if (name.equals("participant")) { 2765 return addParticipant(); 2766 } 2767 else if (name.equals("name")) { 2768 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.name"); 2769 } 2770 else if (name.equals("relationship")) { 2771 this.relationship = new CodeableConcept(); 2772 return this.relationship; 2773 } 2774 else if (name.equals("sex")) { 2775 this.sex = new CodeableConcept(); 2776 return this.sex; 2777 } 2778 else if (name.equals("bornPeriod")) { 2779 this.born = new Period(); 2780 return this.born; 2781 } 2782 else if (name.equals("bornDate")) { 2783 this.born = new DateType(); 2784 return this.born; 2785 } 2786 else if (name.equals("bornString")) { 2787 this.born = new StringType(); 2788 return this.born; 2789 } 2790 else if (name.equals("ageAge")) { 2791 this.age = new Age(); 2792 return this.age; 2793 } 2794 else if (name.equals("ageRange")) { 2795 this.age = new Range(); 2796 return this.age; 2797 } 2798 else if (name.equals("ageString")) { 2799 this.age = new StringType(); 2800 return this.age; 2801 } 2802 else if (name.equals("estimatedAge")) { 2803 throw new FHIRException("Cannot call addChild on a singleton property FamilyMemberHistory.estimatedAge"); 2804 } 2805 else if (name.equals("deceasedBoolean")) { 2806 this.deceased = new BooleanType(); 2807 return this.deceased; 2808 } 2809 else if (name.equals("deceasedAge")) { 2810 this.deceased = new Age(); 2811 return this.deceased; 2812 } 2813 else if (name.equals("deceasedRange")) { 2814 this.deceased = new Range(); 2815 return this.deceased; 2816 } 2817 else if (name.equals("deceasedDate")) { 2818 this.deceased = new DateType(); 2819 return this.deceased; 2820 } 2821 else if (name.equals("deceasedString")) { 2822 this.deceased = new StringType(); 2823 return this.deceased; 2824 } 2825 else if (name.equals("reason")) { 2826 return addReason(); 2827 } 2828 else if (name.equals("note")) { 2829 return addNote(); 2830 } 2831 else if (name.equals("condition")) { 2832 return addCondition(); 2833 } 2834 else if (name.equals("procedure")) { 2835 return addProcedure(); 2836 } 2837 else 2838 return super.addChild(name); 2839 } 2840 2841 public String fhirType() { 2842 return "FamilyMemberHistory"; 2843 2844 } 2845 2846 public FamilyMemberHistory copy() { 2847 FamilyMemberHistory dst = new FamilyMemberHistory(); 2848 copyValues(dst); 2849 return dst; 2850 } 2851 2852 public void copyValues(FamilyMemberHistory dst) { 2853 super.copyValues(dst); 2854 if (identifier != null) { 2855 dst.identifier = new ArrayList<Identifier>(); 2856 for (Identifier i : identifier) 2857 dst.identifier.add(i.copy()); 2858 }; 2859 if (instantiatesCanonical != null) { 2860 dst.instantiatesCanonical = new ArrayList<CanonicalType>(); 2861 for (CanonicalType i : instantiatesCanonical) 2862 dst.instantiatesCanonical.add(i.copy()); 2863 }; 2864 if (instantiatesUri != null) { 2865 dst.instantiatesUri = new ArrayList<UriType>(); 2866 for (UriType i : instantiatesUri) 2867 dst.instantiatesUri.add(i.copy()); 2868 }; 2869 dst.status = status == null ? null : status.copy(); 2870 dst.dataAbsentReason = dataAbsentReason == null ? null : dataAbsentReason.copy(); 2871 dst.patient = patient == null ? null : patient.copy(); 2872 dst.date = date == null ? null : date.copy(); 2873 if (participant != null) { 2874 dst.participant = new ArrayList<FamilyMemberHistoryParticipantComponent>(); 2875 for (FamilyMemberHistoryParticipantComponent i : participant) 2876 dst.participant.add(i.copy()); 2877 }; 2878 dst.name = name == null ? null : name.copy(); 2879 dst.relationship = relationship == null ? null : relationship.copy(); 2880 dst.sex = sex == null ? null : sex.copy(); 2881 dst.born = born == null ? null : born.copy(); 2882 dst.age = age == null ? null : age.copy(); 2883 dst.estimatedAge = estimatedAge == null ? null : estimatedAge.copy(); 2884 dst.deceased = deceased == null ? null : deceased.copy(); 2885 if (reason != null) { 2886 dst.reason = new ArrayList<CodeableReference>(); 2887 for (CodeableReference i : reason) 2888 dst.reason.add(i.copy()); 2889 }; 2890 if (note != null) { 2891 dst.note = new ArrayList<Annotation>(); 2892 for (Annotation i : note) 2893 dst.note.add(i.copy()); 2894 }; 2895 if (condition != null) { 2896 dst.condition = new ArrayList<FamilyMemberHistoryConditionComponent>(); 2897 for (FamilyMemberHistoryConditionComponent i : condition) 2898 dst.condition.add(i.copy()); 2899 }; 2900 if (procedure != null) { 2901 dst.procedure = new ArrayList<FamilyMemberHistoryProcedureComponent>(); 2902 for (FamilyMemberHistoryProcedureComponent i : procedure) 2903 dst.procedure.add(i.copy()); 2904 }; 2905 } 2906 2907 protected FamilyMemberHistory typedCopy() { 2908 return copy(); 2909 } 2910 2911 @Override 2912 public boolean equalsDeep(Base other_) { 2913 if (!super.equalsDeep(other_)) 2914 return false; 2915 if (!(other_ instanceof FamilyMemberHistory)) 2916 return false; 2917 FamilyMemberHistory o = (FamilyMemberHistory) other_; 2918 return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 2919 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(status, o.status, true) 2920 && compareDeep(dataAbsentReason, o.dataAbsentReason, true) && compareDeep(patient, o.patient, true) 2921 && compareDeep(date, o.date, true) && compareDeep(participant, o.participant, true) && compareDeep(name, o.name, true) 2922 && compareDeep(relationship, o.relationship, true) && compareDeep(sex, o.sex, true) && compareDeep(born, o.born, true) 2923 && compareDeep(age, o.age, true) && compareDeep(estimatedAge, o.estimatedAge, true) && compareDeep(deceased, o.deceased, true) 2924 && compareDeep(reason, o.reason, true) && compareDeep(note, o.note, true) && compareDeep(condition, o.condition, true) 2925 && compareDeep(procedure, o.procedure, true); 2926 } 2927 2928 @Override 2929 public boolean equalsShallow(Base other_) { 2930 if (!super.equalsShallow(other_)) 2931 return false; 2932 if (!(other_ instanceof FamilyMemberHistory)) 2933 return false; 2934 FamilyMemberHistory o = (FamilyMemberHistory) other_; 2935 return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) 2936 && compareValues(status, o.status, true) && compareValues(date, o.date, true) && compareValues(name, o.name, true) 2937 && compareValues(estimatedAge, o.estimatedAge, true); 2938 } 2939 2940 public boolean isEmpty() { 2941 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical 2942 , instantiatesUri, status, dataAbsentReason, patient, date, participant, name 2943 , relationship, sex, born, age, estimatedAge, deceased, reason, note, condition 2944 , procedure); 2945 } 2946 2947 @Override 2948 public ResourceType getResourceType() { 2949 return ResourceType.FamilyMemberHistory; 2950 } 2951 2952 /** 2953 * Search parameter: <b>instantiates-canonical</b> 2954 * <p> 2955 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2956 * Type: <b>reference</b><br> 2957 * Path: <b>FamilyMemberHistory.instantiatesCanonical</b><br> 2958 * </p> 2959 */ 2960 @SearchParamDefinition(name="instantiates-canonical", path="FamilyMemberHistory.instantiatesCanonical", description="Instantiates FHIR protocol or definition", type="reference", target={ActivityDefinition.class, Measure.class, OperationDefinition.class, PlanDefinition.class, Questionnaire.class } ) 2961 public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; 2962 /** 2963 * <b>Fluent Client</b> search parameter constant for <b>instantiates-canonical</b> 2964 * <p> 2965 * Description: <b>Instantiates FHIR protocol or definition</b><br> 2966 * Type: <b>reference</b><br> 2967 * Path: <b>FamilyMemberHistory.instantiatesCanonical</b><br> 2968 * </p> 2969 */ 2970 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); 2971 2972/** 2973 * Constant for fluent queries to be used to add include statements. Specifies 2974 * the path value of "<b>FamilyMemberHistory:instantiates-canonical</b>". 2975 */ 2976 public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("FamilyMemberHistory:instantiates-canonical").toLocked(); 2977 2978 /** 2979 * Search parameter: <b>instantiates-uri</b> 2980 * <p> 2981 * Description: <b>Instantiates external protocol or definition</b><br> 2982 * Type: <b>uri</b><br> 2983 * Path: <b>FamilyMemberHistory.instantiatesUri</b><br> 2984 * </p> 2985 */ 2986 @SearchParamDefinition(name="instantiates-uri", path="FamilyMemberHistory.instantiatesUri", description="Instantiates external protocol or definition", type="uri" ) 2987 public static final String SP_INSTANTIATES_URI = "instantiates-uri"; 2988 /** 2989 * <b>Fluent Client</b> search parameter constant for <b>instantiates-uri</b> 2990 * <p> 2991 * Description: <b>Instantiates external protocol or definition</b><br> 2992 * Type: <b>uri</b><br> 2993 * Path: <b>FamilyMemberHistory.instantiatesUri</b><br> 2994 * </p> 2995 */ 2996 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); 2997 2998 /** 2999 * Search parameter: <b>relationship</b> 3000 * <p> 3001 * Description: <b>A search by a relationship type</b><br> 3002 * Type: <b>token</b><br> 3003 * Path: <b>FamilyMemberHistory.relationship</b><br> 3004 * </p> 3005 */ 3006 @SearchParamDefinition(name="relationship", path="FamilyMemberHistory.relationship", description="A search by a relationship type", type="token" ) 3007 public static final String SP_RELATIONSHIP = "relationship"; 3008 /** 3009 * <b>Fluent Client</b> search parameter constant for <b>relationship</b> 3010 * <p> 3011 * Description: <b>A search by a relationship type</b><br> 3012 * Type: <b>token</b><br> 3013 * Path: <b>FamilyMemberHistory.relationship</b><br> 3014 * </p> 3015 */ 3016 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RELATIONSHIP = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RELATIONSHIP); 3017 3018 /** 3019 * Search parameter: <b>sex</b> 3020 * <p> 3021 * Description: <b>A search by a sex code of a family member</b><br> 3022 * Type: <b>token</b><br> 3023 * Path: <b>FamilyMemberHistory.sex</b><br> 3024 * </p> 3025 */ 3026 @SearchParamDefinition(name="sex", path="FamilyMemberHistory.sex", description="A search by a sex code of a family member", type="token" ) 3027 public static final String SP_SEX = "sex"; 3028 /** 3029 * <b>Fluent Client</b> search parameter constant for <b>sex</b> 3030 * <p> 3031 * Description: <b>A search by a sex code of a family member</b><br> 3032 * Type: <b>token</b><br> 3033 * Path: <b>FamilyMemberHistory.sex</b><br> 3034 * </p> 3035 */ 3036 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SEX = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SEX); 3037 3038 /** 3039 * Search parameter: <b>status</b> 3040 * <p> 3041 * Description: <b>partial | completed | entered-in-error | health-unknown</b><br> 3042 * Type: <b>token</b><br> 3043 * Path: <b>FamilyMemberHistory.status</b><br> 3044 * </p> 3045 */ 3046 @SearchParamDefinition(name="status", path="FamilyMemberHistory.status", description="partial | completed | entered-in-error | health-unknown", type="token" ) 3047 public static final String SP_STATUS = "status"; 3048 /** 3049 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3050 * <p> 3051 * Description: <b>partial | completed | entered-in-error | health-unknown</b><br> 3052 * Type: <b>token</b><br> 3053 * Path: <b>FamilyMemberHistory.status</b><br> 3054 * </p> 3055 */ 3056 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3057 3058 /** 3059 * Search parameter: <b>code</b> 3060 * <p> 3061 * Description: <b>Multiple Resources: 3062 3063* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted 3064* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 3065* [AuditEvent](auditevent.html): More specific code for the event 3066* [Basic](basic.html): Kind of Resource 3067* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code 3068* [Condition](condition.html): Code for the condition 3069* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc. 3070* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 3071* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 3072* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 3073* [ImagingSelection](imagingselection.html): The imaging selection status 3074* [List](list.html): What the purpose of this list is 3075* [Medication](medication.html): Returns medications for a specific code 3076* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 3077* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 3078* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 3079* [MedicationStatement](medicationstatement.html): Return statements of this medication code 3080* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake 3081* [Observation](observation.html): The code of the observation type 3082* [Procedure](procedure.html): A code to identify a procedure 3083* [RequestOrchestration](requestorchestration.html): The code of the request orchestration 3084* [Task](task.html): Search by task code 3085</b><br> 3086 * Type: <b>token</b><br> 3087 * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br> 3088 * </p> 3089 */ 3090 @SearchParamDefinition(name="code", path="AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [AuditEvent](auditevent.html): More specific code for the event\r\n* [Basic](basic.html): Kind of Resource\r\n* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code\r\n* [Condition](condition.html): Code for the condition\r\n* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc.\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [ImagingSelection](imagingselection.html): The imaging selection status\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [RequestOrchestration](requestorchestration.html): The code of the request orchestration\r\n* [Task](task.html): Search by task code\r\n", type="token" ) 3091 public static final String SP_CODE = "code"; 3092 /** 3093 * <b>Fluent Client</b> search parameter constant for <b>code</b> 3094 * <p> 3095 * Description: <b>Multiple Resources: 3096 3097* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted 3098* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 3099* [AuditEvent](auditevent.html): More specific code for the event 3100* [Basic](basic.html): Kind of Resource 3101* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code 3102* [Condition](condition.html): Code for the condition 3103* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc. 3104* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 3105* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 3106* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 3107* [ImagingSelection](imagingselection.html): The imaging selection status 3108* [List](list.html): What the purpose of this list is 3109* [Medication](medication.html): Returns medications for a specific code 3110* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 3111* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 3112* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 3113* [MedicationStatement](medicationstatement.html): Return statements of this medication code 3114* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake 3115* [Observation](observation.html): The code of the observation type 3116* [Procedure](procedure.html): A code to identify a procedure 3117* [RequestOrchestration](requestorchestration.html): The code of the request orchestration 3118* [Task](task.html): Search by task code 3119</b><br> 3120 * Type: <b>token</b><br> 3121 * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br> 3122 * </p> 3123 */ 3124 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 3125 3126 /** 3127 * Search parameter: <b>date</b> 3128 * <p> 3129 * Description: <b>Multiple Resources: 3130 3131* [AdverseEvent](adverseevent.html): When the event occurred 3132* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 3133* [Appointment](appointment.html): Appointment date/time. 3134* [AuditEvent](auditevent.html): Time when the event was recorded 3135* [CarePlan](careplan.html): Time period plan covers 3136* [CareTeam](careteam.html): A date within the coverage time period. 3137* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 3138* [Composition](composition.html): Composition editing time 3139* [Consent](consent.html): When consent was agreed to 3140* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 3141* [DocumentReference](documentreference.html): When this document reference was created 3142* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 3143* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 3144* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 3145* [Flag](flag.html): Time period when flag is active 3146* [Immunization](immunization.html): Vaccination (non)-Administration Date 3147* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated 3148* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created 3149* [Invoice](invoice.html): Invoice date / posting date 3150* [List](list.html): When the list was prepared 3151* [MeasureReport](measurereport.html): The date of the measure report 3152* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication 3153* [Observation](observation.html): Clinically relevant time/time-period for observation 3154* [Procedure](procedure.html): When the procedure occurred or is occurring 3155* [ResearchSubject](researchsubject.html): Start and end of participation 3156* [RiskAssessment](riskassessment.html): When was assessment made? 3157* [SupplyRequest](supplyrequest.html): When the request was made 3158</b><br> 3159 * Type: <b>date</b><br> 3160 * Path: <b>AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn</b><br> 3161 * </p> 3162 */ 3163 @SearchParamDefinition(name="date", path="AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): When the event occurred\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [Appointment](appointment.html): Appointment date/time.\r\n* [AuditEvent](auditevent.html): Time when the event was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): A date within the coverage time period.\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When consent was agreed to\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [DocumentReference](documentreference.html): When this document reference was created\r\n* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created\r\n* [Invoice](invoice.html): Invoice date / posting date\r\n* [List](list.html): When the list was prepared\r\n* [MeasureReport](measurereport.html): The date of the measure report\r\n* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication\r\n* [Observation](observation.html): Clinically relevant time/time-period for observation\r\n* [Procedure](procedure.html): When the procedure occurred or is occurring\r\n* [ResearchSubject](researchsubject.html): Start and end of participation\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 3164 public static final String SP_DATE = "date"; 3165 /** 3166 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3167 * <p> 3168 * Description: <b>Multiple Resources: 3169 3170* [AdverseEvent](adverseevent.html): When the event occurred 3171* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 3172* [Appointment](appointment.html): Appointment date/time. 3173* [AuditEvent](auditevent.html): Time when the event was recorded 3174* [CarePlan](careplan.html): Time period plan covers 3175* [CareTeam](careteam.html): A date within the coverage time period. 3176* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 3177* [Composition](composition.html): Composition editing time 3178* [Consent](consent.html): When consent was agreed to 3179* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 3180* [DocumentReference](documentreference.html): When this document reference was created 3181* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 3182* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 3183* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 3184* [Flag](flag.html): Time period when flag is active 3185* [Immunization](immunization.html): Vaccination (non)-Administration Date 3186* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated 3187* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created 3188* [Invoice](invoice.html): Invoice date / posting date 3189* [List](list.html): When the list was prepared 3190* [MeasureReport](measurereport.html): The date of the measure report 3191* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication 3192* [Observation](observation.html): Clinically relevant time/time-period for observation 3193* [Procedure](procedure.html): When the procedure occurred or is occurring 3194* [ResearchSubject](researchsubject.html): Start and end of participation 3195* [RiskAssessment](riskassessment.html): When was assessment made? 3196* [SupplyRequest](supplyrequest.html): When the request was made 3197</b><br> 3198 * Type: <b>date</b><br> 3199 * Path: <b>AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn</b><br> 3200 * </p> 3201 */ 3202 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 3203 3204 /** 3205 * Search parameter: <b>identifier</b> 3206 * <p> 3207 * Description: <b>Multiple Resources: 3208 3209* [Account](account.html): Account number 3210* [AdverseEvent](adverseevent.html): Business identifier for the event 3211* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3212* [Appointment](appointment.html): An Identifier of the Appointment 3213* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 3214* [Basic](basic.html): Business identifier 3215* [BodyStructure](bodystructure.html): Bodystructure identifier 3216* [CarePlan](careplan.html): External Ids for this plan 3217* [CareTeam](careteam.html): External Ids for this team 3218* [ChargeItem](chargeitem.html): Business Identifier for item 3219* [Claim](claim.html): The primary identifier of the financial resource 3220* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 3221* [ClinicalImpression](clinicalimpression.html): Business identifier 3222* [Communication](communication.html): Unique identifier 3223* [CommunicationRequest](communicationrequest.html): Unique identifier 3224* [Composition](composition.html): Version-independent identifier for the Composition 3225* [Condition](condition.html): A unique identifier of the condition record 3226* [Consent](consent.html): Identifier for this record (external references) 3227* [Contract](contract.html): The identity of the contract 3228* [Coverage](coverage.html): The primary identifier of the insured and the coverage 3229* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 3230* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 3231* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3232* [DeviceRequest](devicerequest.html): Business identifier for request/order 3233* [DeviceUsage](deviceusage.html): Search by identifier 3234* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3235* [DocumentReference](documentreference.html): Identifier of the attachment binary 3236* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3237* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 3238* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3239* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 3240* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3241* [Flag](flag.html): Business identifier 3242* [Goal](goal.html): External Ids for this goal 3243* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 3244* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 3245* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 3246* [Immunization](immunization.html): Business identifier 3247* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 3248* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 3249* [Invoice](invoice.html): Business Identifier for item 3250* [List](list.html): Business identifier 3251* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 3252* [Medication](medication.html): Returns medications with this external identifier 3253* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3254* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3255* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3256* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3257* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 3258* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 3259* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3260* [Observation](observation.html): The unique id for a particular observation 3261* [Person](person.html): A person Identifier 3262* [Procedure](procedure.html): A unique identifier for a procedure 3263* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 3264* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 3265* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 3266* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 3267* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3268* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3269* [Specimen](specimen.html): The unique identifier associated with the specimen 3270* [SupplyDelivery](supplydelivery.html): External identifier 3271* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3272* [Task](task.html): Search for a task instance by its business identifier 3273* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3274</b><br> 3275 * Type: <b>token</b><br> 3276 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 3277 * </p> 3278 */ 3279 @SearchParamDefinition(name="identifier", path="Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [Account](account.html): Account number\r\n* [AdverseEvent](adverseevent.html): Business identifier for the event\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [Appointment](appointment.html): An Identifier of the Appointment\r\n* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response\r\n* [Basic](basic.html): Business identifier\r\n* [BodyStructure](bodystructure.html): Bodystructure identifier\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [ChargeItem](chargeitem.html): Business Identifier for item\r\n* [Claim](claim.html): The primary identifier of the financial resource\r\n* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse\r\n* [ClinicalImpression](clinicalimpression.html): Business identifier\r\n* [Communication](communication.html): Unique identifier\r\n* [CommunicationRequest](communicationrequest.html): Unique identifier\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [Contract](contract.html): The identity of the contract\r\n* [Coverage](coverage.html): The primary identifier of the insured and the coverage\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DeviceUsage](deviceusage.html): Search by identifier\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Flag](flag.html): Business identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response\r\n* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier\r\n* [Invoice](invoice.html): Business Identifier for item\r\n* [List](list.html): Business identifier\r\n* [MeasureReport](measurereport.html): External identifier of the measure report to be returned\r\n* [Medication](medication.html): Returns medications with this external identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence\r\n* [NutritionIntake](nutritionintake.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Person](person.html): A person Identifier\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response\r\n* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson\r\n* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration\r\n* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [Specimen](specimen.html): The unique identifier associated with the specimen\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [Task](task.html): Search for a task instance by its business identifier\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 3280 public static final String SP_IDENTIFIER = "identifier"; 3281 /** 3282 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3283 * <p> 3284 * Description: <b>Multiple Resources: 3285 3286* [Account](account.html): Account number 3287* [AdverseEvent](adverseevent.html): Business identifier for the event 3288* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3289* [Appointment](appointment.html): An Identifier of the Appointment 3290* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 3291* [Basic](basic.html): Business identifier 3292* [BodyStructure](bodystructure.html): Bodystructure identifier 3293* [CarePlan](careplan.html): External Ids for this plan 3294* [CareTeam](careteam.html): External Ids for this team 3295* [ChargeItem](chargeitem.html): Business Identifier for item 3296* [Claim](claim.html): The primary identifier of the financial resource 3297* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 3298* [ClinicalImpression](clinicalimpression.html): Business identifier 3299* [Communication](communication.html): Unique identifier 3300* [CommunicationRequest](communicationrequest.html): Unique identifier 3301* [Composition](composition.html): Version-independent identifier for the Composition 3302* [Condition](condition.html): A unique identifier of the condition record 3303* [Consent](consent.html): Identifier for this record (external references) 3304* [Contract](contract.html): The identity of the contract 3305* [Coverage](coverage.html): The primary identifier of the insured and the coverage 3306* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 3307* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 3308* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3309* [DeviceRequest](devicerequest.html): Business identifier for request/order 3310* [DeviceUsage](deviceusage.html): Search by identifier 3311* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3312* [DocumentReference](documentreference.html): Identifier of the attachment binary 3313* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3314* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 3315* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3316* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 3317* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3318* [Flag](flag.html): Business identifier 3319* [Goal](goal.html): External Ids for this goal 3320* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 3321* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 3322* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 3323* [Immunization](immunization.html): Business identifier 3324* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 3325* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 3326* [Invoice](invoice.html): Business Identifier for item 3327* [List](list.html): Business identifier 3328* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 3329* [Medication](medication.html): Returns medications with this external identifier 3330* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3331* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3332* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3333* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3334* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 3335* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 3336* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3337* [Observation](observation.html): The unique id for a particular observation 3338* [Person](person.html): A person Identifier 3339* [Procedure](procedure.html): A unique identifier for a procedure 3340* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 3341* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 3342* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 3343* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 3344* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3345* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3346* [Specimen](specimen.html): The unique identifier associated with the specimen 3347* [SupplyDelivery](supplydelivery.html): External identifier 3348* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3349* [Task](task.html): Search for a task instance by its business identifier 3350* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3351</b><br> 3352 * Type: <b>token</b><br> 3353 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 3354 * </p> 3355 */ 3356 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3357 3358 /** 3359 * Search parameter: <b>patient</b> 3360 * <p> 3361 * Description: <b>Multiple Resources: 3362 3363* [Account](account.html): The entity that caused the expenses 3364* [AdverseEvent](adverseevent.html): Subject impacted by event 3365* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3366* [Appointment](appointment.html): One of the individuals of the appointment is this patient 3367* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 3368* [AuditEvent](auditevent.html): Where the activity involved patient data 3369* [Basic](basic.html): Identifies the focus of this resource 3370* [BodyStructure](bodystructure.html): Who this is about 3371* [CarePlan](careplan.html): Who the care plan is for 3372* [CareTeam](careteam.html): Who care team is for 3373* [ChargeItem](chargeitem.html): Individual service was done for/to 3374* [Claim](claim.html): Patient receiving the products or services 3375* [ClaimResponse](claimresponse.html): The subject of care 3376* [ClinicalImpression](clinicalimpression.html): Patient assessed 3377* [Communication](communication.html): Focus of message 3378* [CommunicationRequest](communicationrequest.html): Focus of message 3379* [Composition](composition.html): Who and/or what the composition is about 3380* [Condition](condition.html): Who has the condition? 3381* [Consent](consent.html): Who the consent applies to 3382* [Contract](contract.html): The identity of the subject of the contract (if a patient) 3383* [Coverage](coverage.html): Retrieve coverages for a patient 3384* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 3385* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 3386* [DetectedIssue](detectedissue.html): Associated patient 3387* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3388* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 3389* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3390* [DocumentReference](documentreference.html): Who/what is the subject of the document 3391* [Encounter](encounter.html): The patient present at the encounter 3392* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 3393* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3394* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 3395* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3396* [Flag](flag.html): The identity of a subject to list flags for 3397* [Goal](goal.html): Who this goal is intended for 3398* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 3399* [ImagingSelection](imagingselection.html): Who the study is about 3400* [ImagingStudy](imagingstudy.html): Who the study is about 3401* [Immunization](immunization.html): The patient for the vaccination record 3402* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 3403* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 3404* [Invoice](invoice.html): Recipient(s) of goods and services 3405* [List](list.html): If all resources have the same subject 3406* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 3407* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3408* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3409* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3410* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3411* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 3412* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 3413* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 3414* [Observation](observation.html): The subject that the observation is about (if patient) 3415* [Person](person.html): The Person links to this Patient 3416* [Procedure](procedure.html): Search by subject - a patient 3417* [Provenance](provenance.html): Where the activity involved patient data 3418* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 3419* [RelatedPerson](relatedperson.html): The patient this related person is related to 3420* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 3421* [ResearchSubject](researchsubject.html): Who or what is part of study 3422* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3423* [ServiceRequest](servicerequest.html): Search by subject - a patient 3424* [Specimen](specimen.html): The patient the specimen comes from 3425* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3426* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 3427* [Task](task.html): Search by patient 3428* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3429</b><br> 3430 * Type: <b>reference</b><br> 3431 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 3432 * </p> 3433 */ 3434 @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [Account](account.html): The entity that caused the expenses\r\n* [AdverseEvent](adverseevent.html): Subject impacted by event\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [Appointment](appointment.html): One of the individuals of the appointment is this patient\r\n* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient\r\n* [AuditEvent](auditevent.html): Where the activity involved patient data\r\n* [Basic](basic.html): Identifies the focus of this resource\r\n* [BodyStructure](bodystructure.html): Who this is about\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ChargeItem](chargeitem.html): Individual service was done for/to\r\n* [Claim](claim.html): Patient receiving the products or services\r\n* [ClaimResponse](claimresponse.html): The subject of care\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Communication](communication.html): Focus of message\r\n* [CommunicationRequest](communicationrequest.html): Focus of message\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [Contract](contract.html): The identity of the subject of the contract (if a patient)\r\n* [Coverage](coverage.html): Retrieve coverages for a patient\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results\r\n* [ImagingSelection](imagingselection.html): Who the study is about\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for\r\n* [Invoice](invoice.html): Recipient(s) of goods and services\r\n* [List](list.html): If all resources have the same subject\r\n* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [MolecularSequence](molecularsequence.html): The subject that the sequence is about\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Person](person.html): The Person links to this Patient\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [Provenance](provenance.html): Where the activity involved patient data\r\n* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response\r\n* [RelatedPerson](relatedperson.html): The patient this related person is related to\r\n* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations\r\n* [ResearchSubject](researchsubject.html): Who or what is part of study\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [Specimen](specimen.html): The patient the specimen comes from\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [Task](task.html): Search by patient\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) 3435 public static final String SP_PATIENT = "patient"; 3436 /** 3437 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3438 * <p> 3439 * Description: <b>Multiple Resources: 3440 3441* [Account](account.html): The entity that caused the expenses 3442* [AdverseEvent](adverseevent.html): Subject impacted by event 3443* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3444* [Appointment](appointment.html): One of the individuals of the appointment is this patient 3445* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 3446* [AuditEvent](auditevent.html): Where the activity involved patient data 3447* [Basic](basic.html): Identifies the focus of this resource 3448* [BodyStructure](bodystructure.html): Who this is about 3449* [CarePlan](careplan.html): Who the care plan is for 3450* [CareTeam](careteam.html): Who care team is for 3451* [ChargeItem](chargeitem.html): Individual service was done for/to 3452* [Claim](claim.html): Patient receiving the products or services 3453* [ClaimResponse](claimresponse.html): The subject of care 3454* [ClinicalImpression](clinicalimpression.html): Patient assessed 3455* [Communication](communication.html): Focus of message 3456* [CommunicationRequest](communicationrequest.html): Focus of message 3457* [Composition](composition.html): Who and/or what the composition is about 3458* [Condition](condition.html): Who has the condition? 3459* [Consent](consent.html): Who the consent applies to 3460* [Contract](contract.html): The identity of the subject of the contract (if a patient) 3461* [Coverage](coverage.html): Retrieve coverages for a patient 3462* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 3463* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 3464* [DetectedIssue](detectedissue.html): Associated patient 3465* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3466* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 3467* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3468* [DocumentReference](documentreference.html): Who/what is the subject of the document 3469* [Encounter](encounter.html): The patient present at the encounter 3470* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 3471* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3472* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 3473* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3474* [Flag](flag.html): The identity of a subject to list flags for 3475* [Goal](goal.html): Who this goal is intended for 3476* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 3477* [ImagingSelection](imagingselection.html): Who the study is about 3478* [ImagingStudy](imagingstudy.html): Who the study is about 3479* [Immunization](immunization.html): The patient for the vaccination record 3480* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 3481* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 3482* [Invoice](invoice.html): Recipient(s) of goods and services 3483* [List](list.html): If all resources have the same subject 3484* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 3485* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3486* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3487* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3488* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3489* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 3490* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 3491* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 3492* [Observation](observation.html): The subject that the observation is about (if patient) 3493* [Person](person.html): The Person links to this Patient 3494* [Procedure](procedure.html): Search by subject - a patient 3495* [Provenance](provenance.html): Where the activity involved patient data 3496* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 3497* [RelatedPerson](relatedperson.html): The patient this related person is related to 3498* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 3499* [ResearchSubject](researchsubject.html): Who or what is part of study 3500* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3501* [ServiceRequest](servicerequest.html): Search by subject - a patient 3502* [Specimen](specimen.html): The patient the specimen comes from 3503* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3504* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 3505* [Task](task.html): Search by patient 3506* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3507</b><br> 3508 * Type: <b>reference</b><br> 3509 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 3510 * </p> 3511 */ 3512 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3513 3514/** 3515 * Constant for fluent queries to be used to add include statements. Specifies 3516 * the path value of "<b>FamilyMemberHistory:patient</b>". 3517 */ 3518 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("FamilyMemberHistory:patient").toLocked(); 3519 3520 3521} 3522