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 * A record of a healthcare consumer?s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. 052 */ 053@ResourceDef(name="Consent", profile="http://hl7.org/fhir/StructureDefinition/Consent") 054public class Consent extends DomainResource { 055 056 public enum ConsentState { 057 /** 058 * The consent is in development or awaiting use but is not yet intended to be acted upon. 059 */ 060 DRAFT, 061 /** 062 * The consent is to be followed and enforced. 063 */ 064 ACTIVE, 065 /** 066 * The consent is terminated or replaced. 067 */ 068 INACTIVE, 069 /** 070 * The consent development has been terminated prior to completion. 071 */ 072 NOTDONE, 073 /** 074 * The consent was created wrongly (e.g. wrong patient) and should be ignored. 075 */ 076 ENTEREDINERROR, 077 /** 078 * The resource is in an indeterminate state. 079 */ 080 UNKNOWN, 081 /** 082 * added to help the parsers with the generic types 083 */ 084 NULL; 085 public static ConsentState fromCode(String codeString) throws FHIRException { 086 if (codeString == null || "".equals(codeString)) 087 return null; 088 if ("draft".equals(codeString)) 089 return DRAFT; 090 if ("active".equals(codeString)) 091 return ACTIVE; 092 if ("inactive".equals(codeString)) 093 return INACTIVE; 094 if ("not-done".equals(codeString)) 095 return NOTDONE; 096 if ("entered-in-error".equals(codeString)) 097 return ENTEREDINERROR; 098 if ("unknown".equals(codeString)) 099 return UNKNOWN; 100 if (Configuration.isAcceptInvalidEnums()) 101 return null; 102 else 103 throw new FHIRException("Unknown ConsentState code '"+codeString+"'"); 104 } 105 public String toCode() { 106 switch (this) { 107 case DRAFT: return "draft"; 108 case ACTIVE: return "active"; 109 case INACTIVE: return "inactive"; 110 case NOTDONE: return "not-done"; 111 case ENTEREDINERROR: return "entered-in-error"; 112 case UNKNOWN: return "unknown"; 113 case NULL: return null; 114 default: return "?"; 115 } 116 } 117 public String getSystem() { 118 switch (this) { 119 case DRAFT: return "http://hl7.org/fhir/consent-state-codes"; 120 case ACTIVE: return "http://hl7.org/fhir/consent-state-codes"; 121 case INACTIVE: return "http://hl7.org/fhir/consent-state-codes"; 122 case NOTDONE: return "http://hl7.org/fhir/consent-state-codes"; 123 case ENTEREDINERROR: return "http://hl7.org/fhir/consent-state-codes"; 124 case UNKNOWN: return "http://hl7.org/fhir/consent-state-codes"; 125 case NULL: return null; 126 default: return "?"; 127 } 128 } 129 public String getDefinition() { 130 switch (this) { 131 case DRAFT: return "The consent is in development or awaiting use but is not yet intended to be acted upon."; 132 case ACTIVE: return "The consent is to be followed and enforced."; 133 case INACTIVE: return "The consent is terminated or replaced."; 134 case NOTDONE: return "The consent development has been terminated prior to completion."; 135 case ENTEREDINERROR: return "The consent was created wrongly (e.g. wrong patient) and should be ignored."; 136 case UNKNOWN: return "The resource is in an indeterminate state."; 137 case NULL: return null; 138 default: return "?"; 139 } 140 } 141 public String getDisplay() { 142 switch (this) { 143 case DRAFT: return "Pending"; 144 case ACTIVE: return "Active"; 145 case INACTIVE: return "Inactive"; 146 case NOTDONE: return "Abandoned"; 147 case ENTEREDINERROR: return "Entered in Error"; 148 case UNKNOWN: return "Unknown"; 149 case NULL: return null; 150 default: return "?"; 151 } 152 } 153 } 154 155 public static class ConsentStateEnumFactory implements EnumFactory<ConsentState> { 156 public ConsentState fromCode(String codeString) throws IllegalArgumentException { 157 if (codeString == null || "".equals(codeString)) 158 if (codeString == null || "".equals(codeString)) 159 return null; 160 if ("draft".equals(codeString)) 161 return ConsentState.DRAFT; 162 if ("active".equals(codeString)) 163 return ConsentState.ACTIVE; 164 if ("inactive".equals(codeString)) 165 return ConsentState.INACTIVE; 166 if ("not-done".equals(codeString)) 167 return ConsentState.NOTDONE; 168 if ("entered-in-error".equals(codeString)) 169 return ConsentState.ENTEREDINERROR; 170 if ("unknown".equals(codeString)) 171 return ConsentState.UNKNOWN; 172 throw new IllegalArgumentException("Unknown ConsentState code '"+codeString+"'"); 173 } 174 public Enumeration<ConsentState> fromType(PrimitiveType<?> code) throws FHIRException { 175 if (code == null) 176 return null; 177 if (code.isEmpty()) 178 return new Enumeration<ConsentState>(this, ConsentState.NULL, code); 179 String codeString = ((PrimitiveType) code).asStringValue(); 180 if (codeString == null || "".equals(codeString)) 181 return new Enumeration<ConsentState>(this, ConsentState.NULL, code); 182 if ("draft".equals(codeString)) 183 return new Enumeration<ConsentState>(this, ConsentState.DRAFT, code); 184 if ("active".equals(codeString)) 185 return new Enumeration<ConsentState>(this, ConsentState.ACTIVE, code); 186 if ("inactive".equals(codeString)) 187 return new Enumeration<ConsentState>(this, ConsentState.INACTIVE, code); 188 if ("not-done".equals(codeString)) 189 return new Enumeration<ConsentState>(this, ConsentState.NOTDONE, code); 190 if ("entered-in-error".equals(codeString)) 191 return new Enumeration<ConsentState>(this, ConsentState.ENTEREDINERROR, code); 192 if ("unknown".equals(codeString)) 193 return new Enumeration<ConsentState>(this, ConsentState.UNKNOWN, code); 194 throw new FHIRException("Unknown ConsentState code '"+codeString+"'"); 195 } 196 public String toCode(ConsentState code) { 197 if (code == ConsentState.DRAFT) 198 return "draft"; 199 if (code == ConsentState.ACTIVE) 200 return "active"; 201 if (code == ConsentState.INACTIVE) 202 return "inactive"; 203 if (code == ConsentState.NOTDONE) 204 return "not-done"; 205 if (code == ConsentState.ENTEREDINERROR) 206 return "entered-in-error"; 207 if (code == ConsentState.UNKNOWN) 208 return "unknown"; 209 return "?"; 210 } 211 public String toSystem(ConsentState code) { 212 return code.getSystem(); 213 } 214 } 215 216 @Block() 217 public static class ConsentPolicyBasisComponent extends BackboneElement implements IBaseBackboneElement { 218 /** 219 * A Reference that identifies the policy the organization will enforce for this Consent. 220 */ 221 @Child(name = "reference", type = {Reference.class}, order=1, min=0, max=1, modifier=false, summary=false) 222 @Description(shortDefinition="Reference backing policy resource", formalDefinition="A Reference that identifies the policy the organization will enforce for this Consent." ) 223 protected Reference reference; 224 225 /** 226 * A URL that links to a computable version of the policy the organization will enforce for this Consent. 227 */ 228 @Child(name = "url", type = {UrlType.class}, order=2, min=0, max=1, modifier=false, summary=false) 229 @Description(shortDefinition="URL to a computable backing policy", formalDefinition="A URL that links to a computable version of the policy the organization will enforce for this Consent." ) 230 protected UrlType url; 231 232 private static final long serialVersionUID = 252506182L; 233 234 /** 235 * Constructor 236 */ 237 public ConsentPolicyBasisComponent() { 238 super(); 239 } 240 241 /** 242 * @return {@link #reference} (A Reference that identifies the policy the organization will enforce for this Consent.) 243 */ 244 public Reference getReference() { 245 if (this.reference == null) 246 if (Configuration.errorOnAutoCreate()) 247 throw new Error("Attempt to auto-create ConsentPolicyBasisComponent.reference"); 248 else if (Configuration.doAutoCreate()) 249 this.reference = new Reference(); // cc 250 return this.reference; 251 } 252 253 public boolean hasReference() { 254 return this.reference != null && !this.reference.isEmpty(); 255 } 256 257 /** 258 * @param value {@link #reference} (A Reference that identifies the policy the organization will enforce for this Consent.) 259 */ 260 public ConsentPolicyBasisComponent setReference(Reference value) { 261 this.reference = value; 262 return this; 263 } 264 265 /** 266 * @return {@link #url} (A URL that links to a computable version of the policy the organization will enforce for this Consent.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 267 */ 268 public UrlType getUrlElement() { 269 if (this.url == null) 270 if (Configuration.errorOnAutoCreate()) 271 throw new Error("Attempt to auto-create ConsentPolicyBasisComponent.url"); 272 else if (Configuration.doAutoCreate()) 273 this.url = new UrlType(); // bb 274 return this.url; 275 } 276 277 public boolean hasUrlElement() { 278 return this.url != null && !this.url.isEmpty(); 279 } 280 281 public boolean hasUrl() { 282 return this.url != null && !this.url.isEmpty(); 283 } 284 285 /** 286 * @param value {@link #url} (A URL that links to a computable version of the policy the organization will enforce for this Consent.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 287 */ 288 public ConsentPolicyBasisComponent setUrlElement(UrlType value) { 289 this.url = value; 290 return this; 291 } 292 293 /** 294 * @return A URL that links to a computable version of the policy the organization will enforce for this Consent. 295 */ 296 public String getUrl() { 297 return this.url == null ? null : this.url.getValue(); 298 } 299 300 /** 301 * @param value A URL that links to a computable version of the policy the organization will enforce for this Consent. 302 */ 303 public ConsentPolicyBasisComponent setUrl(String value) { 304 if (Utilities.noString(value)) 305 this.url = null; 306 else { 307 if (this.url == null) 308 this.url = new UrlType(); 309 this.url.setValue(value); 310 } 311 return this; 312 } 313 314 protected void listChildren(List<Property> children) { 315 super.listChildren(children); 316 children.add(new Property("reference", "Reference(Any)", "A Reference that identifies the policy the organization will enforce for this Consent.", 0, 1, reference)); 317 children.add(new Property("url", "url", "A URL that links to a computable version of the policy the organization will enforce for this Consent.", 0, 1, url)); 318 } 319 320 @Override 321 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 322 switch (_hash) { 323 case -925155509: /*reference*/ return new Property("reference", "Reference(Any)", "A Reference that identifies the policy the organization will enforce for this Consent.", 0, 1, reference); 324 case 116079: /*url*/ return new Property("url", "url", "A URL that links to a computable version of the policy the organization will enforce for this Consent.", 0, 1, url); 325 default: return super.getNamedProperty(_hash, _name, _checkValid); 326 } 327 328 } 329 330 @Override 331 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 332 switch (hash) { 333 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 334 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UrlType 335 default: return super.getProperty(hash, name, checkValid); 336 } 337 338 } 339 340 @Override 341 public Base setProperty(int hash, String name, Base value) throws FHIRException { 342 switch (hash) { 343 case -925155509: // reference 344 this.reference = TypeConvertor.castToReference(value); // Reference 345 return value; 346 case 116079: // url 347 this.url = TypeConvertor.castToUrl(value); // UrlType 348 return value; 349 default: return super.setProperty(hash, name, value); 350 } 351 352 } 353 354 @Override 355 public Base setProperty(String name, Base value) throws FHIRException { 356 if (name.equals("reference")) { 357 this.reference = TypeConvertor.castToReference(value); // Reference 358 } else if (name.equals("url")) { 359 this.url = TypeConvertor.castToUrl(value); // UrlType 360 } else 361 return super.setProperty(name, value); 362 return value; 363 } 364 365 @Override 366 public Base makeProperty(int hash, String name) throws FHIRException { 367 switch (hash) { 368 case -925155509: return getReference(); 369 case 116079: return getUrlElement(); 370 default: return super.makeProperty(hash, name); 371 } 372 373 } 374 375 @Override 376 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 377 switch (hash) { 378 case -925155509: /*reference*/ return new String[] {"Reference"}; 379 case 116079: /*url*/ return new String[] {"url"}; 380 default: return super.getTypesForProperty(hash, name); 381 } 382 383 } 384 385 @Override 386 public Base addChild(String name) throws FHIRException { 387 if (name.equals("reference")) { 388 this.reference = new Reference(); 389 return this.reference; 390 } 391 else if (name.equals("url")) { 392 throw new FHIRException("Cannot call addChild on a singleton property Consent.policyBasis.url"); 393 } 394 else 395 return super.addChild(name); 396 } 397 398 public ConsentPolicyBasisComponent copy() { 399 ConsentPolicyBasisComponent dst = new ConsentPolicyBasisComponent(); 400 copyValues(dst); 401 return dst; 402 } 403 404 public void copyValues(ConsentPolicyBasisComponent dst) { 405 super.copyValues(dst); 406 dst.reference = reference == null ? null : reference.copy(); 407 dst.url = url == null ? null : url.copy(); 408 } 409 410 @Override 411 public boolean equalsDeep(Base other_) { 412 if (!super.equalsDeep(other_)) 413 return false; 414 if (!(other_ instanceof ConsentPolicyBasisComponent)) 415 return false; 416 ConsentPolicyBasisComponent o = (ConsentPolicyBasisComponent) other_; 417 return compareDeep(reference, o.reference, true) && compareDeep(url, o.url, true); 418 } 419 420 @Override 421 public boolean equalsShallow(Base other_) { 422 if (!super.equalsShallow(other_)) 423 return false; 424 if (!(other_ instanceof ConsentPolicyBasisComponent)) 425 return false; 426 ConsentPolicyBasisComponent o = (ConsentPolicyBasisComponent) other_; 427 return compareValues(url, o.url, true); 428 } 429 430 public boolean isEmpty() { 431 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, url); 432 } 433 434 public String fhirType() { 435 return "Consent.policyBasis"; 436 437 } 438 439 } 440 441 @Block() 442 public static class ConsentVerificationComponent extends BackboneElement implements IBaseBackboneElement { 443 /** 444 * Has the instruction been verified. 445 */ 446 @Child(name = "verified", type = {BooleanType.class}, order=1, min=1, max=1, modifier=false, summary=true) 447 @Description(shortDefinition="Has been verified", formalDefinition="Has the instruction been verified." ) 448 protected BooleanType verified; 449 450 /** 451 * Extensible list of verification type starting with verification and re-validation. 452 */ 453 @Child(name = "verificationType", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 454 @Description(shortDefinition="Business case of verification", formalDefinition="Extensible list of verification type starting with verification and re-validation." ) 455 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-verification") 456 protected CodeableConcept verificationType; 457 458 /** 459 * The person who conducted the verification/validation of the Grantor decision. 460 */ 461 @Child(name = "verifiedBy", type = {Organization.class, Practitioner.class, PractitionerRole.class}, order=3, min=0, max=1, modifier=false, summary=false) 462 @Description(shortDefinition="Person conducting verification", formalDefinition="The person who conducted the verification/validation of the Grantor decision." ) 463 protected Reference verifiedBy; 464 465 /** 466 * Who verified the instruction (Patient, Relative or other Authorized Person). 467 */ 468 @Child(name = "verifiedWith", type = {Patient.class, RelatedPerson.class}, order=4, min=0, max=1, modifier=false, summary=false) 469 @Description(shortDefinition="Person who verified", formalDefinition="Who verified the instruction (Patient, Relative or other Authorized Person)." ) 470 protected Reference verifiedWith; 471 472 /** 473 * Date(s) verification was collected. 474 */ 475 @Child(name = "verificationDate", type = {DateTimeType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 476 @Description(shortDefinition="When consent verified", formalDefinition="Date(s) verification was collected." ) 477 protected List<DateTimeType> verificationDate; 478 479 private static final long serialVersionUID = -1266157329L; 480 481 /** 482 * Constructor 483 */ 484 public ConsentVerificationComponent() { 485 super(); 486 } 487 488 /** 489 * Constructor 490 */ 491 public ConsentVerificationComponent(boolean verified) { 492 super(); 493 this.setVerified(verified); 494 } 495 496 /** 497 * @return {@link #verified} (Has the instruction been verified.). This is the underlying object with id, value and extensions. The accessor "getVerified" gives direct access to the value 498 */ 499 public BooleanType getVerifiedElement() { 500 if (this.verified == null) 501 if (Configuration.errorOnAutoCreate()) 502 throw new Error("Attempt to auto-create ConsentVerificationComponent.verified"); 503 else if (Configuration.doAutoCreate()) 504 this.verified = new BooleanType(); // bb 505 return this.verified; 506 } 507 508 public boolean hasVerifiedElement() { 509 return this.verified != null && !this.verified.isEmpty(); 510 } 511 512 public boolean hasVerified() { 513 return this.verified != null && !this.verified.isEmpty(); 514 } 515 516 /** 517 * @param value {@link #verified} (Has the instruction been verified.). This is the underlying object with id, value and extensions. The accessor "getVerified" gives direct access to the value 518 */ 519 public ConsentVerificationComponent setVerifiedElement(BooleanType value) { 520 this.verified = value; 521 return this; 522 } 523 524 /** 525 * @return Has the instruction been verified. 526 */ 527 public boolean getVerified() { 528 return this.verified == null || this.verified.isEmpty() ? false : this.verified.getValue(); 529 } 530 531 /** 532 * @param value Has the instruction been verified. 533 */ 534 public ConsentVerificationComponent setVerified(boolean value) { 535 if (this.verified == null) 536 this.verified = new BooleanType(); 537 this.verified.setValue(value); 538 return this; 539 } 540 541 /** 542 * @return {@link #verificationType} (Extensible list of verification type starting with verification and re-validation.) 543 */ 544 public CodeableConcept getVerificationType() { 545 if (this.verificationType == null) 546 if (Configuration.errorOnAutoCreate()) 547 throw new Error("Attempt to auto-create ConsentVerificationComponent.verificationType"); 548 else if (Configuration.doAutoCreate()) 549 this.verificationType = new CodeableConcept(); // cc 550 return this.verificationType; 551 } 552 553 public boolean hasVerificationType() { 554 return this.verificationType != null && !this.verificationType.isEmpty(); 555 } 556 557 /** 558 * @param value {@link #verificationType} (Extensible list of verification type starting with verification and re-validation.) 559 */ 560 public ConsentVerificationComponent setVerificationType(CodeableConcept value) { 561 this.verificationType = value; 562 return this; 563 } 564 565 /** 566 * @return {@link #verifiedBy} (The person who conducted the verification/validation of the Grantor decision.) 567 */ 568 public Reference getVerifiedBy() { 569 if (this.verifiedBy == null) 570 if (Configuration.errorOnAutoCreate()) 571 throw new Error("Attempt to auto-create ConsentVerificationComponent.verifiedBy"); 572 else if (Configuration.doAutoCreate()) 573 this.verifiedBy = new Reference(); // cc 574 return this.verifiedBy; 575 } 576 577 public boolean hasVerifiedBy() { 578 return this.verifiedBy != null && !this.verifiedBy.isEmpty(); 579 } 580 581 /** 582 * @param value {@link #verifiedBy} (The person who conducted the verification/validation of the Grantor decision.) 583 */ 584 public ConsentVerificationComponent setVerifiedBy(Reference value) { 585 this.verifiedBy = value; 586 return this; 587 } 588 589 /** 590 * @return {@link #verifiedWith} (Who verified the instruction (Patient, Relative or other Authorized Person).) 591 */ 592 public Reference getVerifiedWith() { 593 if (this.verifiedWith == null) 594 if (Configuration.errorOnAutoCreate()) 595 throw new Error("Attempt to auto-create ConsentVerificationComponent.verifiedWith"); 596 else if (Configuration.doAutoCreate()) 597 this.verifiedWith = new Reference(); // cc 598 return this.verifiedWith; 599 } 600 601 public boolean hasVerifiedWith() { 602 return this.verifiedWith != null && !this.verifiedWith.isEmpty(); 603 } 604 605 /** 606 * @param value {@link #verifiedWith} (Who verified the instruction (Patient, Relative or other Authorized Person).) 607 */ 608 public ConsentVerificationComponent setVerifiedWith(Reference value) { 609 this.verifiedWith = value; 610 return this; 611 } 612 613 /** 614 * @return {@link #verificationDate} (Date(s) verification was collected.) 615 */ 616 public List<DateTimeType> getVerificationDate() { 617 if (this.verificationDate == null) 618 this.verificationDate = new ArrayList<DateTimeType>(); 619 return this.verificationDate; 620 } 621 622 /** 623 * @return Returns a reference to <code>this</code> for easy method chaining 624 */ 625 public ConsentVerificationComponent setVerificationDate(List<DateTimeType> theVerificationDate) { 626 this.verificationDate = theVerificationDate; 627 return this; 628 } 629 630 public boolean hasVerificationDate() { 631 if (this.verificationDate == null) 632 return false; 633 for (DateTimeType item : this.verificationDate) 634 if (!item.isEmpty()) 635 return true; 636 return false; 637 } 638 639 /** 640 * @return {@link #verificationDate} (Date(s) verification was collected.) 641 */ 642 public DateTimeType addVerificationDateElement() {//2 643 DateTimeType t = new DateTimeType(); 644 if (this.verificationDate == null) 645 this.verificationDate = new ArrayList<DateTimeType>(); 646 this.verificationDate.add(t); 647 return t; 648 } 649 650 /** 651 * @param value {@link #verificationDate} (Date(s) verification was collected.) 652 */ 653 public ConsentVerificationComponent addVerificationDate(Date value) { //1 654 DateTimeType t = new DateTimeType(); 655 t.setValue(value); 656 if (this.verificationDate == null) 657 this.verificationDate = new ArrayList<DateTimeType>(); 658 this.verificationDate.add(t); 659 return this; 660 } 661 662 /** 663 * @param value {@link #verificationDate} (Date(s) verification was collected.) 664 */ 665 public boolean hasVerificationDate(Date value) { 666 if (this.verificationDate == null) 667 return false; 668 for (DateTimeType v : this.verificationDate) 669 if (v.getValue().equals(value)) // dateTime 670 return true; 671 return false; 672 } 673 674 protected void listChildren(List<Property> children) { 675 super.listChildren(children); 676 children.add(new Property("verified", "boolean", "Has the instruction been verified.", 0, 1, verified)); 677 children.add(new Property("verificationType", "CodeableConcept", "Extensible list of verification type starting with verification and re-validation.", 0, 1, verificationType)); 678 children.add(new Property("verifiedBy", "Reference(Organization|Practitioner|PractitionerRole)", "The person who conducted the verification/validation of the Grantor decision.", 0, 1, verifiedBy)); 679 children.add(new Property("verifiedWith", "Reference(Patient|RelatedPerson)", "Who verified the instruction (Patient, Relative or other Authorized Person).", 0, 1, verifiedWith)); 680 children.add(new Property("verificationDate", "dateTime", "Date(s) verification was collected.", 0, java.lang.Integer.MAX_VALUE, verificationDate)); 681 } 682 683 @Override 684 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 685 switch (_hash) { 686 case -1994383672: /*verified*/ return new Property("verified", "boolean", "Has the instruction been verified.", 0, 1, verified); 687 case 642733045: /*verificationType*/ return new Property("verificationType", "CodeableConcept", "Extensible list of verification type starting with verification and re-validation.", 0, 1, verificationType); 688 case -1047292609: /*verifiedBy*/ return new Property("verifiedBy", "Reference(Organization|Practitioner|PractitionerRole)", "The person who conducted the verification/validation of the Grantor decision.", 0, 1, verifiedBy); 689 case -1425236050: /*verifiedWith*/ return new Property("verifiedWith", "Reference(Patient|RelatedPerson)", "Who verified the instruction (Patient, Relative or other Authorized Person).", 0, 1, verifiedWith); 690 case 642233449: /*verificationDate*/ return new Property("verificationDate", "dateTime", "Date(s) verification was collected.", 0, java.lang.Integer.MAX_VALUE, verificationDate); 691 default: return super.getNamedProperty(_hash, _name, _checkValid); 692 } 693 694 } 695 696 @Override 697 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 698 switch (hash) { 699 case -1994383672: /*verified*/ return this.verified == null ? new Base[0] : new Base[] {this.verified}; // BooleanType 700 case 642733045: /*verificationType*/ return this.verificationType == null ? new Base[0] : new Base[] {this.verificationType}; // CodeableConcept 701 case -1047292609: /*verifiedBy*/ return this.verifiedBy == null ? new Base[0] : new Base[] {this.verifiedBy}; // Reference 702 case -1425236050: /*verifiedWith*/ return this.verifiedWith == null ? new Base[0] : new Base[] {this.verifiedWith}; // Reference 703 case 642233449: /*verificationDate*/ return this.verificationDate == null ? new Base[0] : this.verificationDate.toArray(new Base[this.verificationDate.size()]); // DateTimeType 704 default: return super.getProperty(hash, name, checkValid); 705 } 706 707 } 708 709 @Override 710 public Base setProperty(int hash, String name, Base value) throws FHIRException { 711 switch (hash) { 712 case -1994383672: // verified 713 this.verified = TypeConvertor.castToBoolean(value); // BooleanType 714 return value; 715 case 642733045: // verificationType 716 this.verificationType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 717 return value; 718 case -1047292609: // verifiedBy 719 this.verifiedBy = TypeConvertor.castToReference(value); // Reference 720 return value; 721 case -1425236050: // verifiedWith 722 this.verifiedWith = TypeConvertor.castToReference(value); // Reference 723 return value; 724 case 642233449: // verificationDate 725 this.getVerificationDate().add(TypeConvertor.castToDateTime(value)); // DateTimeType 726 return value; 727 default: return super.setProperty(hash, name, value); 728 } 729 730 } 731 732 @Override 733 public Base setProperty(String name, Base value) throws FHIRException { 734 if (name.equals("verified")) { 735 this.verified = TypeConvertor.castToBoolean(value); // BooleanType 736 } else if (name.equals("verificationType")) { 737 this.verificationType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 738 } else if (name.equals("verifiedBy")) { 739 this.verifiedBy = TypeConvertor.castToReference(value); // Reference 740 } else if (name.equals("verifiedWith")) { 741 this.verifiedWith = TypeConvertor.castToReference(value); // Reference 742 } else if (name.equals("verificationDate")) { 743 this.getVerificationDate().add(TypeConvertor.castToDateTime(value)); 744 } else 745 return super.setProperty(name, value); 746 return value; 747 } 748 749 @Override 750 public Base makeProperty(int hash, String name) throws FHIRException { 751 switch (hash) { 752 case -1994383672: return getVerifiedElement(); 753 case 642733045: return getVerificationType(); 754 case -1047292609: return getVerifiedBy(); 755 case -1425236050: return getVerifiedWith(); 756 case 642233449: return addVerificationDateElement(); 757 default: return super.makeProperty(hash, name); 758 } 759 760 } 761 762 @Override 763 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 764 switch (hash) { 765 case -1994383672: /*verified*/ return new String[] {"boolean"}; 766 case 642733045: /*verificationType*/ return new String[] {"CodeableConcept"}; 767 case -1047292609: /*verifiedBy*/ return new String[] {"Reference"}; 768 case -1425236050: /*verifiedWith*/ return new String[] {"Reference"}; 769 case 642233449: /*verificationDate*/ return new String[] {"dateTime"}; 770 default: return super.getTypesForProperty(hash, name); 771 } 772 773 } 774 775 @Override 776 public Base addChild(String name) throws FHIRException { 777 if (name.equals("verified")) { 778 throw new FHIRException("Cannot call addChild on a singleton property Consent.verification.verified"); 779 } 780 else if (name.equals("verificationType")) { 781 this.verificationType = new CodeableConcept(); 782 return this.verificationType; 783 } 784 else if (name.equals("verifiedBy")) { 785 this.verifiedBy = new Reference(); 786 return this.verifiedBy; 787 } 788 else if (name.equals("verifiedWith")) { 789 this.verifiedWith = new Reference(); 790 return this.verifiedWith; 791 } 792 else if (name.equals("verificationDate")) { 793 throw new FHIRException("Cannot call addChild on a singleton property Consent.verification.verificationDate"); 794 } 795 else 796 return super.addChild(name); 797 } 798 799 public ConsentVerificationComponent copy() { 800 ConsentVerificationComponent dst = new ConsentVerificationComponent(); 801 copyValues(dst); 802 return dst; 803 } 804 805 public void copyValues(ConsentVerificationComponent dst) { 806 super.copyValues(dst); 807 dst.verified = verified == null ? null : verified.copy(); 808 dst.verificationType = verificationType == null ? null : verificationType.copy(); 809 dst.verifiedBy = verifiedBy == null ? null : verifiedBy.copy(); 810 dst.verifiedWith = verifiedWith == null ? null : verifiedWith.copy(); 811 if (verificationDate != null) { 812 dst.verificationDate = new ArrayList<DateTimeType>(); 813 for (DateTimeType i : verificationDate) 814 dst.verificationDate.add(i.copy()); 815 }; 816 } 817 818 @Override 819 public boolean equalsDeep(Base other_) { 820 if (!super.equalsDeep(other_)) 821 return false; 822 if (!(other_ instanceof ConsentVerificationComponent)) 823 return false; 824 ConsentVerificationComponent o = (ConsentVerificationComponent) other_; 825 return compareDeep(verified, o.verified, true) && compareDeep(verificationType, o.verificationType, true) 826 && compareDeep(verifiedBy, o.verifiedBy, true) && compareDeep(verifiedWith, o.verifiedWith, true) 827 && compareDeep(verificationDate, o.verificationDate, true); 828 } 829 830 @Override 831 public boolean equalsShallow(Base other_) { 832 if (!super.equalsShallow(other_)) 833 return false; 834 if (!(other_ instanceof ConsentVerificationComponent)) 835 return false; 836 ConsentVerificationComponent o = (ConsentVerificationComponent) other_; 837 return compareValues(verified, o.verified, true) && compareValues(verificationDate, o.verificationDate, true) 838 ; 839 } 840 841 public boolean isEmpty() { 842 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(verified, verificationType 843 , verifiedBy, verifiedWith, verificationDate); 844 } 845 846 public String fhirType() { 847 return "Consent.verification"; 848 849 } 850 851 } 852 853 @Block() 854 public static class ProvisionComponent extends BackboneElement implements IBaseBackboneElement { 855 /** 856 * Timeframe for this provision. 857 */ 858 @Child(name = "period", type = {Period.class}, order=1, min=0, max=1, modifier=false, summary=true) 859 @Description(shortDefinition="Timeframe for this provision", formalDefinition="Timeframe for this provision." ) 860 protected Period period; 861 862 /** 863 * Who or what is controlled by this provision. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). 864 */ 865 @Child(name = "actor", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 866 @Description(shortDefinition="Who|what controlled by this provision (or group, by role)", formalDefinition="Who or what is controlled by this provision. Use group to identify a set of actors by some property they share (e.g. 'admitting officers')." ) 867 protected List<ProvisionActorComponent> actor; 868 869 /** 870 * Actions controlled by this provision. 871 */ 872 @Child(name = "action", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 873 @Description(shortDefinition="Actions controlled by this provision", formalDefinition="Actions controlled by this provision." ) 874 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-action") 875 protected List<CodeableConcept> action; 876 877 /** 878 * A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception. 879 */ 880 @Child(name = "securityLabel", type = {Coding.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 881 @Description(shortDefinition="Security Labels that define affected resources", formalDefinition="A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception." ) 882 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/security-label-examples") 883 protected List<Coding> securityLabel; 884 885 /** 886 * The context of the activities a user is taking - why the user is accessing the data - that are controlled by this provision. 887 */ 888 @Child(name = "purpose", type = {Coding.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 889 @Description(shortDefinition="Context of activities covered by this provision", formalDefinition="The context of the activities a user is taking - why the user is accessing the data - that are controlled by this provision." ) 890 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-PurposeOfUse") 891 protected List<Coding> purpose; 892 893 /** 894 * The documentType(s) covered by this provision. The type can be a CDA document, or some other type that indicates what sort of information the consent relates to. 895 */ 896 @Child(name = "documentType", type = {Coding.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 897 @Description(shortDefinition="e.g. Resource Type, Profile, CDA, etc", formalDefinition="The documentType(s) covered by this provision. The type can be a CDA document, or some other type that indicates what sort of information the consent relates to." ) 898 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-content-class") 899 protected List<Coding> documentType; 900 901 /** 902 * The resourceType(s) covered by this provision. The type can be a FHIR resource type or a profile on a type that indicates what information the consent relates to. 903 */ 904 @Child(name = "resourceType", type = {Coding.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 905 @Description(shortDefinition="e.g. Resource Type, Profile, etc", formalDefinition="The resourceType(s) covered by this provision. The type can be a FHIR resource type or a profile on a type that indicates what information the consent relates to." ) 906 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") 907 protected List<Coding> resourceType; 908 909 /** 910 * If this code is found in an instance, then the provision applies. 911 */ 912 @Child(name = "code", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 913 @Description(shortDefinition="e.g. LOINC or SNOMED CT code, etc. in the content", formalDefinition="If this code is found in an instance, then the provision applies." ) 914 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-content-code") 915 protected List<CodeableConcept> code; 916 917 /** 918 * Clinical or Operational Relevant period of time that bounds the data controlled by this provision. 919 */ 920 @Child(name = "dataPeriod", type = {Period.class}, order=9, min=0, max=1, modifier=false, summary=true) 921 @Description(shortDefinition="Timeframe for data controlled by this provision", formalDefinition="Clinical or Operational Relevant period of time that bounds the data controlled by this provision." ) 922 protected Period dataPeriod; 923 924 /** 925 * The resources controlled by this provision if specific resources are referenced. 926 */ 927 @Child(name = "data", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 928 @Description(shortDefinition="Data controlled by this provision", formalDefinition="The resources controlled by this provision if specific resources are referenced." ) 929 protected List<ProvisionDataComponent> data; 930 931 /** 932 * A computable (FHIRPath or other) definition of what is controlled by this consent. 933 */ 934 @Child(name = "expression", type = {Expression.class}, order=11, min=0, max=1, modifier=false, summary=false) 935 @Description(shortDefinition="A computable expression of the consent", formalDefinition="A computable (FHIRPath or other) definition of what is controlled by this consent." ) 936 protected Expression expression; 937 938 /** 939 * Provisions which provide exceptions to the base provision or subprovisions. 940 */ 941 @Child(name = "provision", type = {ProvisionComponent.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 942 @Description(shortDefinition="Nested Exception Provisions", formalDefinition="Provisions which provide exceptions to the base provision or subprovisions." ) 943 protected List<ProvisionComponent> provision; 944 945 private static final long serialVersionUID = -587666915L; 946 947 /** 948 * Constructor 949 */ 950 public ProvisionComponent() { 951 super(); 952 } 953 954 /** 955 * @return {@link #period} (Timeframe for this provision.) 956 */ 957 public Period getPeriod() { 958 if (this.period == null) 959 if (Configuration.errorOnAutoCreate()) 960 throw new Error("Attempt to auto-create ProvisionComponent.period"); 961 else if (Configuration.doAutoCreate()) 962 this.period = new Period(); // cc 963 return this.period; 964 } 965 966 public boolean hasPeriod() { 967 return this.period != null && !this.period.isEmpty(); 968 } 969 970 /** 971 * @param value {@link #period} (Timeframe for this provision.) 972 */ 973 public ProvisionComponent setPeriod(Period value) { 974 this.period = value; 975 return this; 976 } 977 978 /** 979 * @return {@link #actor} (Who or what is controlled by this provision. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').) 980 */ 981 public List<ProvisionActorComponent> getActor() { 982 if (this.actor == null) 983 this.actor = new ArrayList<ProvisionActorComponent>(); 984 return this.actor; 985 } 986 987 /** 988 * @return Returns a reference to <code>this</code> for easy method chaining 989 */ 990 public ProvisionComponent setActor(List<ProvisionActorComponent> theActor) { 991 this.actor = theActor; 992 return this; 993 } 994 995 public boolean hasActor() { 996 if (this.actor == null) 997 return false; 998 for (ProvisionActorComponent item : this.actor) 999 if (!item.isEmpty()) 1000 return true; 1001 return false; 1002 } 1003 1004 public ProvisionActorComponent addActor() { //3 1005 ProvisionActorComponent t = new ProvisionActorComponent(); 1006 if (this.actor == null) 1007 this.actor = new ArrayList<ProvisionActorComponent>(); 1008 this.actor.add(t); 1009 return t; 1010 } 1011 1012 public ProvisionComponent addActor(ProvisionActorComponent t) { //3 1013 if (t == null) 1014 return this; 1015 if (this.actor == null) 1016 this.actor = new ArrayList<ProvisionActorComponent>(); 1017 this.actor.add(t); 1018 return this; 1019 } 1020 1021 /** 1022 * @return The first repetition of repeating field {@link #actor}, creating it if it does not already exist {3} 1023 */ 1024 public ProvisionActorComponent getActorFirstRep() { 1025 if (getActor().isEmpty()) { 1026 addActor(); 1027 } 1028 return getActor().get(0); 1029 } 1030 1031 /** 1032 * @return {@link #action} (Actions controlled by this provision.) 1033 */ 1034 public List<CodeableConcept> getAction() { 1035 if (this.action == null) 1036 this.action = new ArrayList<CodeableConcept>(); 1037 return this.action; 1038 } 1039 1040 /** 1041 * @return Returns a reference to <code>this</code> for easy method chaining 1042 */ 1043 public ProvisionComponent setAction(List<CodeableConcept> theAction) { 1044 this.action = theAction; 1045 return this; 1046 } 1047 1048 public boolean hasAction() { 1049 if (this.action == null) 1050 return false; 1051 for (CodeableConcept item : this.action) 1052 if (!item.isEmpty()) 1053 return true; 1054 return false; 1055 } 1056 1057 public CodeableConcept addAction() { //3 1058 CodeableConcept t = new CodeableConcept(); 1059 if (this.action == null) 1060 this.action = new ArrayList<CodeableConcept>(); 1061 this.action.add(t); 1062 return t; 1063 } 1064 1065 public ProvisionComponent addAction(CodeableConcept t) { //3 1066 if (t == null) 1067 return this; 1068 if (this.action == null) 1069 this.action = new ArrayList<CodeableConcept>(); 1070 this.action.add(t); 1071 return this; 1072 } 1073 1074 /** 1075 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 1076 */ 1077 public CodeableConcept getActionFirstRep() { 1078 if (getAction().isEmpty()) { 1079 addAction(); 1080 } 1081 return getAction().get(0); 1082 } 1083 1084 /** 1085 * @return {@link #securityLabel} (A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.) 1086 */ 1087 public List<Coding> getSecurityLabel() { 1088 if (this.securityLabel == null) 1089 this.securityLabel = new ArrayList<Coding>(); 1090 return this.securityLabel; 1091 } 1092 1093 /** 1094 * @return Returns a reference to <code>this</code> for easy method chaining 1095 */ 1096 public ProvisionComponent setSecurityLabel(List<Coding> theSecurityLabel) { 1097 this.securityLabel = theSecurityLabel; 1098 return this; 1099 } 1100 1101 public boolean hasSecurityLabel() { 1102 if (this.securityLabel == null) 1103 return false; 1104 for (Coding item : this.securityLabel) 1105 if (!item.isEmpty()) 1106 return true; 1107 return false; 1108 } 1109 1110 public Coding addSecurityLabel() { //3 1111 Coding t = new Coding(); 1112 if (this.securityLabel == null) 1113 this.securityLabel = new ArrayList<Coding>(); 1114 this.securityLabel.add(t); 1115 return t; 1116 } 1117 1118 public ProvisionComponent addSecurityLabel(Coding t) { //3 1119 if (t == null) 1120 return this; 1121 if (this.securityLabel == null) 1122 this.securityLabel = new ArrayList<Coding>(); 1123 this.securityLabel.add(t); 1124 return this; 1125 } 1126 1127 /** 1128 * @return The first repetition of repeating field {@link #securityLabel}, creating it if it does not already exist {3} 1129 */ 1130 public Coding getSecurityLabelFirstRep() { 1131 if (getSecurityLabel().isEmpty()) { 1132 addSecurityLabel(); 1133 } 1134 return getSecurityLabel().get(0); 1135 } 1136 1137 /** 1138 * @return {@link #purpose} (The context of the activities a user is taking - why the user is accessing the data - that are controlled by this provision.) 1139 */ 1140 public List<Coding> getPurpose() { 1141 if (this.purpose == null) 1142 this.purpose = new ArrayList<Coding>(); 1143 return this.purpose; 1144 } 1145 1146 /** 1147 * @return Returns a reference to <code>this</code> for easy method chaining 1148 */ 1149 public ProvisionComponent setPurpose(List<Coding> thePurpose) { 1150 this.purpose = thePurpose; 1151 return this; 1152 } 1153 1154 public boolean hasPurpose() { 1155 if (this.purpose == null) 1156 return false; 1157 for (Coding item : this.purpose) 1158 if (!item.isEmpty()) 1159 return true; 1160 return false; 1161 } 1162 1163 public Coding addPurpose() { //3 1164 Coding t = new Coding(); 1165 if (this.purpose == null) 1166 this.purpose = new ArrayList<Coding>(); 1167 this.purpose.add(t); 1168 return t; 1169 } 1170 1171 public ProvisionComponent addPurpose(Coding t) { //3 1172 if (t == null) 1173 return this; 1174 if (this.purpose == null) 1175 this.purpose = new ArrayList<Coding>(); 1176 this.purpose.add(t); 1177 return this; 1178 } 1179 1180 /** 1181 * @return The first repetition of repeating field {@link #purpose}, creating it if it does not already exist {3} 1182 */ 1183 public Coding getPurposeFirstRep() { 1184 if (getPurpose().isEmpty()) { 1185 addPurpose(); 1186 } 1187 return getPurpose().get(0); 1188 } 1189 1190 /** 1191 * @return {@link #documentType} (The documentType(s) covered by this provision. The type can be a CDA document, or some other type that indicates what sort of information the consent relates to.) 1192 */ 1193 public List<Coding> getDocumentType() { 1194 if (this.documentType == null) 1195 this.documentType = new ArrayList<Coding>(); 1196 return this.documentType; 1197 } 1198 1199 /** 1200 * @return Returns a reference to <code>this</code> for easy method chaining 1201 */ 1202 public ProvisionComponent setDocumentType(List<Coding> theDocumentType) { 1203 this.documentType = theDocumentType; 1204 return this; 1205 } 1206 1207 public boolean hasDocumentType() { 1208 if (this.documentType == null) 1209 return false; 1210 for (Coding item : this.documentType) 1211 if (!item.isEmpty()) 1212 return true; 1213 return false; 1214 } 1215 1216 public Coding addDocumentType() { //3 1217 Coding t = new Coding(); 1218 if (this.documentType == null) 1219 this.documentType = new ArrayList<Coding>(); 1220 this.documentType.add(t); 1221 return t; 1222 } 1223 1224 public ProvisionComponent addDocumentType(Coding t) { //3 1225 if (t == null) 1226 return this; 1227 if (this.documentType == null) 1228 this.documentType = new ArrayList<Coding>(); 1229 this.documentType.add(t); 1230 return this; 1231 } 1232 1233 /** 1234 * @return The first repetition of repeating field {@link #documentType}, creating it if it does not already exist {3} 1235 */ 1236 public Coding getDocumentTypeFirstRep() { 1237 if (getDocumentType().isEmpty()) { 1238 addDocumentType(); 1239 } 1240 return getDocumentType().get(0); 1241 } 1242 1243 /** 1244 * @return {@link #resourceType} (The resourceType(s) covered by this provision. The type can be a FHIR resource type or a profile on a type that indicates what information the consent relates to.) 1245 */ 1246 public List<Coding> getResourceType() { 1247 if (this.resourceType == null) 1248 this.resourceType = new ArrayList<Coding>(); 1249 return this.resourceType; 1250 } 1251 1252 /** 1253 * @return Returns a reference to <code>this</code> for easy method chaining 1254 */ 1255 public ProvisionComponent setResourceType(List<Coding> theResourceType) { 1256 this.resourceType = theResourceType; 1257 return this; 1258 } 1259 1260 public boolean hasResourceType() { 1261 if (this.resourceType == null) 1262 return false; 1263 for (Coding item : this.resourceType) 1264 if (!item.isEmpty()) 1265 return true; 1266 return false; 1267 } 1268 1269 public Coding addResourceType() { //3 1270 Coding t = new Coding(); 1271 if (this.resourceType == null) 1272 this.resourceType = new ArrayList<Coding>(); 1273 this.resourceType.add(t); 1274 return t; 1275 } 1276 1277 public ProvisionComponent addResourceType(Coding t) { //3 1278 if (t == null) 1279 return this; 1280 if (this.resourceType == null) 1281 this.resourceType = new ArrayList<Coding>(); 1282 this.resourceType.add(t); 1283 return this; 1284 } 1285 1286 /** 1287 * @return The first repetition of repeating field {@link #resourceType}, creating it if it does not already exist {3} 1288 */ 1289 public Coding getResourceTypeFirstRep() { 1290 if (getResourceType().isEmpty()) { 1291 addResourceType(); 1292 } 1293 return getResourceType().get(0); 1294 } 1295 1296 /** 1297 * @return {@link #code} (If this code is found in an instance, then the provision applies.) 1298 */ 1299 public List<CodeableConcept> getCode() { 1300 if (this.code == null) 1301 this.code = new ArrayList<CodeableConcept>(); 1302 return this.code; 1303 } 1304 1305 /** 1306 * @return Returns a reference to <code>this</code> for easy method chaining 1307 */ 1308 public ProvisionComponent setCode(List<CodeableConcept> theCode) { 1309 this.code = theCode; 1310 return this; 1311 } 1312 1313 public boolean hasCode() { 1314 if (this.code == null) 1315 return false; 1316 for (CodeableConcept item : this.code) 1317 if (!item.isEmpty()) 1318 return true; 1319 return false; 1320 } 1321 1322 public CodeableConcept addCode() { //3 1323 CodeableConcept t = new CodeableConcept(); 1324 if (this.code == null) 1325 this.code = new ArrayList<CodeableConcept>(); 1326 this.code.add(t); 1327 return t; 1328 } 1329 1330 public ProvisionComponent addCode(CodeableConcept t) { //3 1331 if (t == null) 1332 return this; 1333 if (this.code == null) 1334 this.code = new ArrayList<CodeableConcept>(); 1335 this.code.add(t); 1336 return this; 1337 } 1338 1339 /** 1340 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3} 1341 */ 1342 public CodeableConcept getCodeFirstRep() { 1343 if (getCode().isEmpty()) { 1344 addCode(); 1345 } 1346 return getCode().get(0); 1347 } 1348 1349 /** 1350 * @return {@link #dataPeriod} (Clinical or Operational Relevant period of time that bounds the data controlled by this provision.) 1351 */ 1352 public Period getDataPeriod() { 1353 if (this.dataPeriod == null) 1354 if (Configuration.errorOnAutoCreate()) 1355 throw new Error("Attempt to auto-create ProvisionComponent.dataPeriod"); 1356 else if (Configuration.doAutoCreate()) 1357 this.dataPeriod = new Period(); // cc 1358 return this.dataPeriod; 1359 } 1360 1361 public boolean hasDataPeriod() { 1362 return this.dataPeriod != null && !this.dataPeriod.isEmpty(); 1363 } 1364 1365 /** 1366 * @param value {@link #dataPeriod} (Clinical or Operational Relevant period of time that bounds the data controlled by this provision.) 1367 */ 1368 public ProvisionComponent setDataPeriod(Period value) { 1369 this.dataPeriod = value; 1370 return this; 1371 } 1372 1373 /** 1374 * @return {@link #data} (The resources controlled by this provision if specific resources are referenced.) 1375 */ 1376 public List<ProvisionDataComponent> getData() { 1377 if (this.data == null) 1378 this.data = new ArrayList<ProvisionDataComponent>(); 1379 return this.data; 1380 } 1381 1382 /** 1383 * @return Returns a reference to <code>this</code> for easy method chaining 1384 */ 1385 public ProvisionComponent setData(List<ProvisionDataComponent> theData) { 1386 this.data = theData; 1387 return this; 1388 } 1389 1390 public boolean hasData() { 1391 if (this.data == null) 1392 return false; 1393 for (ProvisionDataComponent item : this.data) 1394 if (!item.isEmpty()) 1395 return true; 1396 return false; 1397 } 1398 1399 public ProvisionDataComponent addData() { //3 1400 ProvisionDataComponent t = new ProvisionDataComponent(); 1401 if (this.data == null) 1402 this.data = new ArrayList<ProvisionDataComponent>(); 1403 this.data.add(t); 1404 return t; 1405 } 1406 1407 public ProvisionComponent addData(ProvisionDataComponent t) { //3 1408 if (t == null) 1409 return this; 1410 if (this.data == null) 1411 this.data = new ArrayList<ProvisionDataComponent>(); 1412 this.data.add(t); 1413 return this; 1414 } 1415 1416 /** 1417 * @return The first repetition of repeating field {@link #data}, creating it if it does not already exist {3} 1418 */ 1419 public ProvisionDataComponent getDataFirstRep() { 1420 if (getData().isEmpty()) { 1421 addData(); 1422 } 1423 return getData().get(0); 1424 } 1425 1426 /** 1427 * @return {@link #expression} (A computable (FHIRPath or other) definition of what is controlled by this consent.) 1428 */ 1429 public Expression getExpression() { 1430 if (this.expression == null) 1431 if (Configuration.errorOnAutoCreate()) 1432 throw new Error("Attempt to auto-create ProvisionComponent.expression"); 1433 else if (Configuration.doAutoCreate()) 1434 this.expression = new Expression(); // cc 1435 return this.expression; 1436 } 1437 1438 public boolean hasExpression() { 1439 return this.expression != null && !this.expression.isEmpty(); 1440 } 1441 1442 /** 1443 * @param value {@link #expression} (A computable (FHIRPath or other) definition of what is controlled by this consent.) 1444 */ 1445 public ProvisionComponent setExpression(Expression value) { 1446 this.expression = value; 1447 return this; 1448 } 1449 1450 /** 1451 * @return {@link #provision} (Provisions which provide exceptions to the base provision or subprovisions.) 1452 */ 1453 public List<ProvisionComponent> getProvision() { 1454 if (this.provision == null) 1455 this.provision = new ArrayList<ProvisionComponent>(); 1456 return this.provision; 1457 } 1458 1459 /** 1460 * @return Returns a reference to <code>this</code> for easy method chaining 1461 */ 1462 public ProvisionComponent setProvision(List<ProvisionComponent> theProvision) { 1463 this.provision = theProvision; 1464 return this; 1465 } 1466 1467 public boolean hasProvision() { 1468 if (this.provision == null) 1469 return false; 1470 for (ProvisionComponent item : this.provision) 1471 if (!item.isEmpty()) 1472 return true; 1473 return false; 1474 } 1475 1476 public ProvisionComponent addProvision() { //3 1477 ProvisionComponent t = new ProvisionComponent(); 1478 if (this.provision == null) 1479 this.provision = new ArrayList<ProvisionComponent>(); 1480 this.provision.add(t); 1481 return t; 1482 } 1483 1484 public ProvisionComponent addProvision(ProvisionComponent t) { //3 1485 if (t == null) 1486 return this; 1487 if (this.provision == null) 1488 this.provision = new ArrayList<ProvisionComponent>(); 1489 this.provision.add(t); 1490 return this; 1491 } 1492 1493 /** 1494 * @return The first repetition of repeating field {@link #provision}, creating it if it does not already exist {3} 1495 */ 1496 public ProvisionComponent getProvisionFirstRep() { 1497 if (getProvision().isEmpty()) { 1498 addProvision(); 1499 } 1500 return getProvision().get(0); 1501 } 1502 1503 protected void listChildren(List<Property> children) { 1504 super.listChildren(children); 1505 children.add(new Property("period", "Period", "Timeframe for this provision.", 0, 1, period)); 1506 children.add(new Property("actor", "", "Who or what is controlled by this provision. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').", 0, java.lang.Integer.MAX_VALUE, actor)); 1507 children.add(new Property("action", "CodeableConcept", "Actions controlled by this provision.", 0, java.lang.Integer.MAX_VALUE, action)); 1508 children.add(new Property("securityLabel", "Coding", "A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.", 0, java.lang.Integer.MAX_VALUE, securityLabel)); 1509 children.add(new Property("purpose", "Coding", "The context of the activities a user is taking - why the user is accessing the data - that are controlled by this provision.", 0, java.lang.Integer.MAX_VALUE, purpose)); 1510 children.add(new Property("documentType", "Coding", "The documentType(s) covered by this provision. The type can be a CDA document, or some other type that indicates what sort of information the consent relates to.", 0, java.lang.Integer.MAX_VALUE, documentType)); 1511 children.add(new Property("resourceType", "Coding", "The resourceType(s) covered by this provision. The type can be a FHIR resource type or a profile on a type that indicates what information the consent relates to.", 0, java.lang.Integer.MAX_VALUE, resourceType)); 1512 children.add(new Property("code", "CodeableConcept", "If this code is found in an instance, then the provision applies.", 0, java.lang.Integer.MAX_VALUE, code)); 1513 children.add(new Property("dataPeriod", "Period", "Clinical or Operational Relevant period of time that bounds the data controlled by this provision.", 0, 1, dataPeriod)); 1514 children.add(new Property("data", "", "The resources controlled by this provision if specific resources are referenced.", 0, java.lang.Integer.MAX_VALUE, data)); 1515 children.add(new Property("expression", "Expression", "A computable (FHIRPath or other) definition of what is controlled by this consent.", 0, 1, expression)); 1516 children.add(new Property("provision", "@Consent.provision", "Provisions which provide exceptions to the base provision or subprovisions.", 0, java.lang.Integer.MAX_VALUE, provision)); 1517 } 1518 1519 @Override 1520 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1521 switch (_hash) { 1522 case -991726143: /*period*/ return new Property("period", "Period", "Timeframe for this provision.", 0, 1, period); 1523 case 92645877: /*actor*/ return new Property("actor", "", "Who or what is controlled by this provision. Use group to identify a set of actors by some property they share (e.g. 'admitting officers').", 0, java.lang.Integer.MAX_VALUE, actor); 1524 case -1422950858: /*action*/ return new Property("action", "CodeableConcept", "Actions controlled by this provision.", 0, java.lang.Integer.MAX_VALUE, action); 1525 case -722296940: /*securityLabel*/ return new Property("securityLabel", "Coding", "A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.", 0, java.lang.Integer.MAX_VALUE, securityLabel); 1526 case -220463842: /*purpose*/ return new Property("purpose", "Coding", "The context of the activities a user is taking - why the user is accessing the data - that are controlled by this provision.", 0, java.lang.Integer.MAX_VALUE, purpose); 1527 case -1473196299: /*documentType*/ return new Property("documentType", "Coding", "The documentType(s) covered by this provision. The type can be a CDA document, or some other type that indicates what sort of information the consent relates to.", 0, java.lang.Integer.MAX_VALUE, documentType); 1528 case -384364440: /*resourceType*/ return new Property("resourceType", "Coding", "The resourceType(s) covered by this provision. The type can be a FHIR resource type or a profile on a type that indicates what information the consent relates to.", 0, java.lang.Integer.MAX_VALUE, resourceType); 1529 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "If this code is found in an instance, then the provision applies.", 0, java.lang.Integer.MAX_VALUE, code); 1530 case 1177250315: /*dataPeriod*/ return new Property("dataPeriod", "Period", "Clinical or Operational Relevant period of time that bounds the data controlled by this provision.", 0, 1, dataPeriod); 1531 case 3076010: /*data*/ return new Property("data", "", "The resources controlled by this provision if specific resources are referenced.", 0, java.lang.Integer.MAX_VALUE, data); 1532 case -1795452264: /*expression*/ return new Property("expression", "Expression", "A computable (FHIRPath or other) definition of what is controlled by this consent.", 0, 1, expression); 1533 case -547120939: /*provision*/ return new Property("provision", "@Consent.provision", "Provisions which provide exceptions to the base provision or subprovisions.", 0, java.lang.Integer.MAX_VALUE, provision); 1534 default: return super.getNamedProperty(_hash, _name, _checkValid); 1535 } 1536 1537 } 1538 1539 @Override 1540 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1541 switch (hash) { 1542 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 1543 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // ProvisionActorComponent 1544 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // CodeableConcept 1545 case -722296940: /*securityLabel*/ return this.securityLabel == null ? new Base[0] : this.securityLabel.toArray(new Base[this.securityLabel.size()]); // Coding 1546 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // Coding 1547 case -1473196299: /*documentType*/ return this.documentType == null ? new Base[0] : this.documentType.toArray(new Base[this.documentType.size()]); // Coding 1548 case -384364440: /*resourceType*/ return this.resourceType == null ? new Base[0] : this.resourceType.toArray(new Base[this.resourceType.size()]); // Coding 1549 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 1550 case 1177250315: /*dataPeriod*/ return this.dataPeriod == null ? new Base[0] : new Base[] {this.dataPeriod}; // Period 1551 case 3076010: /*data*/ return this.data == null ? new Base[0] : this.data.toArray(new Base[this.data.size()]); // ProvisionDataComponent 1552 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression 1553 case -547120939: /*provision*/ return this.provision == null ? new Base[0] : this.provision.toArray(new Base[this.provision.size()]); // ProvisionComponent 1554 default: return super.getProperty(hash, name, checkValid); 1555 } 1556 1557 } 1558 1559 @Override 1560 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1561 switch (hash) { 1562 case -991726143: // period 1563 this.period = TypeConvertor.castToPeriod(value); // Period 1564 return value; 1565 case 92645877: // actor 1566 this.getActor().add((ProvisionActorComponent) value); // ProvisionActorComponent 1567 return value; 1568 case -1422950858: // action 1569 this.getAction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1570 return value; 1571 case -722296940: // securityLabel 1572 this.getSecurityLabel().add(TypeConvertor.castToCoding(value)); // Coding 1573 return value; 1574 case -220463842: // purpose 1575 this.getPurpose().add(TypeConvertor.castToCoding(value)); // Coding 1576 return value; 1577 case -1473196299: // documentType 1578 this.getDocumentType().add(TypeConvertor.castToCoding(value)); // Coding 1579 return value; 1580 case -384364440: // resourceType 1581 this.getResourceType().add(TypeConvertor.castToCoding(value)); // Coding 1582 return value; 1583 case 3059181: // code 1584 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1585 return value; 1586 case 1177250315: // dataPeriod 1587 this.dataPeriod = TypeConvertor.castToPeriod(value); // Period 1588 return value; 1589 case 3076010: // data 1590 this.getData().add((ProvisionDataComponent) value); // ProvisionDataComponent 1591 return value; 1592 case -1795452264: // expression 1593 this.expression = TypeConvertor.castToExpression(value); // Expression 1594 return value; 1595 case -547120939: // provision 1596 this.getProvision().add((ProvisionComponent) value); // ProvisionComponent 1597 return value; 1598 default: return super.setProperty(hash, name, value); 1599 } 1600 1601 } 1602 1603 @Override 1604 public Base setProperty(String name, Base value) throws FHIRException { 1605 if (name.equals("period")) { 1606 this.period = TypeConvertor.castToPeriod(value); // Period 1607 } else if (name.equals("actor")) { 1608 this.getActor().add((ProvisionActorComponent) value); 1609 } else if (name.equals("action")) { 1610 this.getAction().add(TypeConvertor.castToCodeableConcept(value)); 1611 } else if (name.equals("securityLabel")) { 1612 this.getSecurityLabel().add(TypeConvertor.castToCoding(value)); 1613 } else if (name.equals("purpose")) { 1614 this.getPurpose().add(TypeConvertor.castToCoding(value)); 1615 } else if (name.equals("documentType")) { 1616 this.getDocumentType().add(TypeConvertor.castToCoding(value)); 1617 } else if (name.equals("resourceType")) { 1618 this.getResourceType().add(TypeConvertor.castToCoding(value)); 1619 } else if (name.equals("code")) { 1620 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); 1621 } else if (name.equals("dataPeriod")) { 1622 this.dataPeriod = TypeConvertor.castToPeriod(value); // Period 1623 } else if (name.equals("data")) { 1624 this.getData().add((ProvisionDataComponent) value); 1625 } else if (name.equals("expression")) { 1626 this.expression = TypeConvertor.castToExpression(value); // Expression 1627 } else if (name.equals("provision")) { 1628 this.getProvision().add((ProvisionComponent) value); 1629 } else 1630 return super.setProperty(name, value); 1631 return value; 1632 } 1633 1634 @Override 1635 public Base makeProperty(int hash, String name) throws FHIRException { 1636 switch (hash) { 1637 case -991726143: return getPeriod(); 1638 case 92645877: return addActor(); 1639 case -1422950858: return addAction(); 1640 case -722296940: return addSecurityLabel(); 1641 case -220463842: return addPurpose(); 1642 case -1473196299: return addDocumentType(); 1643 case -384364440: return addResourceType(); 1644 case 3059181: return addCode(); 1645 case 1177250315: return getDataPeriod(); 1646 case 3076010: return addData(); 1647 case -1795452264: return getExpression(); 1648 case -547120939: return addProvision(); 1649 default: return super.makeProperty(hash, name); 1650 } 1651 1652 } 1653 1654 @Override 1655 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1656 switch (hash) { 1657 case -991726143: /*period*/ return new String[] {"Period"}; 1658 case 92645877: /*actor*/ return new String[] {}; 1659 case -1422950858: /*action*/ return new String[] {"CodeableConcept"}; 1660 case -722296940: /*securityLabel*/ return new String[] {"Coding"}; 1661 case -220463842: /*purpose*/ return new String[] {"Coding"}; 1662 case -1473196299: /*documentType*/ return new String[] {"Coding"}; 1663 case -384364440: /*resourceType*/ return new String[] {"Coding"}; 1664 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1665 case 1177250315: /*dataPeriod*/ return new String[] {"Period"}; 1666 case 3076010: /*data*/ return new String[] {}; 1667 case -1795452264: /*expression*/ return new String[] {"Expression"}; 1668 case -547120939: /*provision*/ return new String[] {"@Consent.provision"}; 1669 default: return super.getTypesForProperty(hash, name); 1670 } 1671 1672 } 1673 1674 @Override 1675 public Base addChild(String name) throws FHIRException { 1676 if (name.equals("period")) { 1677 this.period = new Period(); 1678 return this.period; 1679 } 1680 else if (name.equals("actor")) { 1681 return addActor(); 1682 } 1683 else if (name.equals("action")) { 1684 return addAction(); 1685 } 1686 else if (name.equals("securityLabel")) { 1687 return addSecurityLabel(); 1688 } 1689 else if (name.equals("purpose")) { 1690 return addPurpose(); 1691 } 1692 else if (name.equals("documentType")) { 1693 return addDocumentType(); 1694 } 1695 else if (name.equals("resourceType")) { 1696 return addResourceType(); 1697 } 1698 else if (name.equals("code")) { 1699 return addCode(); 1700 } 1701 else if (name.equals("dataPeriod")) { 1702 this.dataPeriod = new Period(); 1703 return this.dataPeriod; 1704 } 1705 else if (name.equals("data")) { 1706 return addData(); 1707 } 1708 else if (name.equals("expression")) { 1709 this.expression = new Expression(); 1710 return this.expression; 1711 } 1712 else if (name.equals("provision")) { 1713 return addProvision(); 1714 } 1715 else 1716 return super.addChild(name); 1717 } 1718 1719 public ProvisionComponent copy() { 1720 ProvisionComponent dst = new ProvisionComponent(); 1721 copyValues(dst); 1722 return dst; 1723 } 1724 1725 public void copyValues(ProvisionComponent dst) { 1726 super.copyValues(dst); 1727 dst.period = period == null ? null : period.copy(); 1728 if (actor != null) { 1729 dst.actor = new ArrayList<ProvisionActorComponent>(); 1730 for (ProvisionActorComponent i : actor) 1731 dst.actor.add(i.copy()); 1732 }; 1733 if (action != null) { 1734 dst.action = new ArrayList<CodeableConcept>(); 1735 for (CodeableConcept i : action) 1736 dst.action.add(i.copy()); 1737 }; 1738 if (securityLabel != null) { 1739 dst.securityLabel = new ArrayList<Coding>(); 1740 for (Coding i : securityLabel) 1741 dst.securityLabel.add(i.copy()); 1742 }; 1743 if (purpose != null) { 1744 dst.purpose = new ArrayList<Coding>(); 1745 for (Coding i : purpose) 1746 dst.purpose.add(i.copy()); 1747 }; 1748 if (documentType != null) { 1749 dst.documentType = new ArrayList<Coding>(); 1750 for (Coding i : documentType) 1751 dst.documentType.add(i.copy()); 1752 }; 1753 if (resourceType != null) { 1754 dst.resourceType = new ArrayList<Coding>(); 1755 for (Coding i : resourceType) 1756 dst.resourceType.add(i.copy()); 1757 }; 1758 if (code != null) { 1759 dst.code = new ArrayList<CodeableConcept>(); 1760 for (CodeableConcept i : code) 1761 dst.code.add(i.copy()); 1762 }; 1763 dst.dataPeriod = dataPeriod == null ? null : dataPeriod.copy(); 1764 if (data != null) { 1765 dst.data = new ArrayList<ProvisionDataComponent>(); 1766 for (ProvisionDataComponent i : data) 1767 dst.data.add(i.copy()); 1768 }; 1769 dst.expression = expression == null ? null : expression.copy(); 1770 if (provision != null) { 1771 dst.provision = new ArrayList<ProvisionComponent>(); 1772 for (ProvisionComponent i : provision) 1773 dst.provision.add(i.copy()); 1774 }; 1775 } 1776 1777 @Override 1778 public boolean equalsDeep(Base other_) { 1779 if (!super.equalsDeep(other_)) 1780 return false; 1781 if (!(other_ instanceof ProvisionComponent)) 1782 return false; 1783 ProvisionComponent o = (ProvisionComponent) other_; 1784 return compareDeep(period, o.period, true) && compareDeep(actor, o.actor, true) && compareDeep(action, o.action, true) 1785 && compareDeep(securityLabel, o.securityLabel, true) && compareDeep(purpose, o.purpose, true) && compareDeep(documentType, o.documentType, true) 1786 && compareDeep(resourceType, o.resourceType, true) && compareDeep(code, o.code, true) && compareDeep(dataPeriod, o.dataPeriod, true) 1787 && compareDeep(data, o.data, true) && compareDeep(expression, o.expression, true) && compareDeep(provision, o.provision, true) 1788 ; 1789 } 1790 1791 @Override 1792 public boolean equalsShallow(Base other_) { 1793 if (!super.equalsShallow(other_)) 1794 return false; 1795 if (!(other_ instanceof ProvisionComponent)) 1796 return false; 1797 ProvisionComponent o = (ProvisionComponent) other_; 1798 return true; 1799 } 1800 1801 public boolean isEmpty() { 1802 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(period, actor, action, securityLabel 1803 , purpose, documentType, resourceType, code, dataPeriod, data, expression, provision 1804 ); 1805 } 1806 1807 public String fhirType() { 1808 return "Consent.provision"; 1809 1810 } 1811 1812 } 1813 1814 @Block() 1815 public static class ProvisionActorComponent extends BackboneElement implements IBaseBackboneElement { 1816 /** 1817 * How the individual is involved in the resources content that is described in the exception. 1818 */ 1819 @Child(name = "role", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 1820 @Description(shortDefinition="How the actor is involved", formalDefinition="How the individual is involved in the resources content that is described in the exception." ) 1821 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participation-role-type") 1822 protected CodeableConcept role; 1823 1824 /** 1825 * The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers'). 1826 */ 1827 @Child(name = "reference", type = {Device.class, Group.class, CareTeam.class, Organization.class, Patient.class, Practitioner.class, RelatedPerson.class, PractitionerRole.class}, order=2, min=0, max=1, modifier=false, summary=false) 1828 @Description(shortDefinition="Resource for the actor (or group, by role)", formalDefinition="The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers')." ) 1829 protected Reference reference; 1830 1831 private static final long serialVersionUID = -1992921787L; 1832 1833 /** 1834 * Constructor 1835 */ 1836 public ProvisionActorComponent() { 1837 super(); 1838 } 1839 1840 /** 1841 * @return {@link #role} (How the individual is involved in the resources content that is described in the exception.) 1842 */ 1843 public CodeableConcept getRole() { 1844 if (this.role == null) 1845 if (Configuration.errorOnAutoCreate()) 1846 throw new Error("Attempt to auto-create ProvisionActorComponent.role"); 1847 else if (Configuration.doAutoCreate()) 1848 this.role = new CodeableConcept(); // cc 1849 return this.role; 1850 } 1851 1852 public boolean hasRole() { 1853 return this.role != null && !this.role.isEmpty(); 1854 } 1855 1856 /** 1857 * @param value {@link #role} (How the individual is involved in the resources content that is described in the exception.) 1858 */ 1859 public ProvisionActorComponent setRole(CodeableConcept value) { 1860 this.role = value; 1861 return this; 1862 } 1863 1864 /** 1865 * @return {@link #reference} (The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers').) 1866 */ 1867 public Reference getReference() { 1868 if (this.reference == null) 1869 if (Configuration.errorOnAutoCreate()) 1870 throw new Error("Attempt to auto-create ProvisionActorComponent.reference"); 1871 else if (Configuration.doAutoCreate()) 1872 this.reference = new Reference(); // cc 1873 return this.reference; 1874 } 1875 1876 public boolean hasReference() { 1877 return this.reference != null && !this.reference.isEmpty(); 1878 } 1879 1880 /** 1881 * @param value {@link #reference} (The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers').) 1882 */ 1883 public ProvisionActorComponent setReference(Reference value) { 1884 this.reference = value; 1885 return this; 1886 } 1887 1888 protected void listChildren(List<Property> children) { 1889 super.listChildren(children); 1890 children.add(new Property("role", "CodeableConcept", "How the individual is involved in the resources content that is described in the exception.", 0, 1, role)); 1891 children.add(new Property("reference", "Reference(Device|Group|CareTeam|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers').", 0, 1, reference)); 1892 } 1893 1894 @Override 1895 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1896 switch (_hash) { 1897 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "How the individual is involved in the resources content that is described in the exception.", 0, 1, role); 1898 case -925155509: /*reference*/ return new Property("reference", "Reference(Device|Group|CareTeam|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers').", 0, 1, reference); 1899 default: return super.getNamedProperty(_hash, _name, _checkValid); 1900 } 1901 1902 } 1903 1904 @Override 1905 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1906 switch (hash) { 1907 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 1908 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 1909 default: return super.getProperty(hash, name, checkValid); 1910 } 1911 1912 } 1913 1914 @Override 1915 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1916 switch (hash) { 1917 case 3506294: // role 1918 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1919 return value; 1920 case -925155509: // reference 1921 this.reference = TypeConvertor.castToReference(value); // Reference 1922 return value; 1923 default: return super.setProperty(hash, name, value); 1924 } 1925 1926 } 1927 1928 @Override 1929 public Base setProperty(String name, Base value) throws FHIRException { 1930 if (name.equals("role")) { 1931 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1932 } else if (name.equals("reference")) { 1933 this.reference = TypeConvertor.castToReference(value); // Reference 1934 } else 1935 return super.setProperty(name, value); 1936 return value; 1937 } 1938 1939 @Override 1940 public Base makeProperty(int hash, String name) throws FHIRException { 1941 switch (hash) { 1942 case 3506294: return getRole(); 1943 case -925155509: return getReference(); 1944 default: return super.makeProperty(hash, name); 1945 } 1946 1947 } 1948 1949 @Override 1950 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1951 switch (hash) { 1952 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 1953 case -925155509: /*reference*/ return new String[] {"Reference"}; 1954 default: return super.getTypesForProperty(hash, name); 1955 } 1956 1957 } 1958 1959 @Override 1960 public Base addChild(String name) throws FHIRException { 1961 if (name.equals("role")) { 1962 this.role = new CodeableConcept(); 1963 return this.role; 1964 } 1965 else if (name.equals("reference")) { 1966 this.reference = new Reference(); 1967 return this.reference; 1968 } 1969 else 1970 return super.addChild(name); 1971 } 1972 1973 public ProvisionActorComponent copy() { 1974 ProvisionActorComponent dst = new ProvisionActorComponent(); 1975 copyValues(dst); 1976 return dst; 1977 } 1978 1979 public void copyValues(ProvisionActorComponent dst) { 1980 super.copyValues(dst); 1981 dst.role = role == null ? null : role.copy(); 1982 dst.reference = reference == null ? null : reference.copy(); 1983 } 1984 1985 @Override 1986 public boolean equalsDeep(Base other_) { 1987 if (!super.equalsDeep(other_)) 1988 return false; 1989 if (!(other_ instanceof ProvisionActorComponent)) 1990 return false; 1991 ProvisionActorComponent o = (ProvisionActorComponent) other_; 1992 return compareDeep(role, o.role, true) && compareDeep(reference, o.reference, true); 1993 } 1994 1995 @Override 1996 public boolean equalsShallow(Base other_) { 1997 if (!super.equalsShallow(other_)) 1998 return false; 1999 if (!(other_ instanceof ProvisionActorComponent)) 2000 return false; 2001 ProvisionActorComponent o = (ProvisionActorComponent) other_; 2002 return true; 2003 } 2004 2005 public boolean isEmpty() { 2006 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(role, reference); 2007 } 2008 2009 public String fhirType() { 2010 return "Consent.provision.actor"; 2011 2012 } 2013 2014 } 2015 2016 @Block() 2017 public static class ProvisionDataComponent extends BackboneElement implements IBaseBackboneElement { 2018 /** 2019 * How the resource reference is interpreted when testing consent restrictions. 2020 */ 2021 @Child(name = "meaning", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 2022 @Description(shortDefinition="instance | related | dependents | authoredby", formalDefinition="How the resource reference is interpreted when testing consent restrictions." ) 2023 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-data-meaning") 2024 protected Enumeration<ConsentDataMeaning> meaning; 2025 2026 /** 2027 * A reference to a specific resource that defines which resources are covered by this consent. 2028 */ 2029 @Child(name = "reference", type = {Reference.class}, order=2, min=1, max=1, modifier=false, summary=true) 2030 @Description(shortDefinition="The actual data reference", formalDefinition="A reference to a specific resource that defines which resources are covered by this consent." ) 2031 protected Reference reference; 2032 2033 private static final long serialVersionUID = 1735979153L; 2034 2035 /** 2036 * Constructor 2037 */ 2038 public ProvisionDataComponent() { 2039 super(); 2040 } 2041 2042 /** 2043 * Constructor 2044 */ 2045 public ProvisionDataComponent(ConsentDataMeaning meaning, Reference reference) { 2046 super(); 2047 this.setMeaning(meaning); 2048 this.setReference(reference); 2049 } 2050 2051 /** 2052 * @return {@link #meaning} (How the resource reference is interpreted when testing consent restrictions.). This is the underlying object with id, value and extensions. The accessor "getMeaning" gives direct access to the value 2053 */ 2054 public Enumeration<ConsentDataMeaning> getMeaningElement() { 2055 if (this.meaning == null) 2056 if (Configuration.errorOnAutoCreate()) 2057 throw new Error("Attempt to auto-create ProvisionDataComponent.meaning"); 2058 else if (Configuration.doAutoCreate()) 2059 this.meaning = new Enumeration<ConsentDataMeaning>(new ConsentDataMeaningEnumFactory()); // bb 2060 return this.meaning; 2061 } 2062 2063 public boolean hasMeaningElement() { 2064 return this.meaning != null && !this.meaning.isEmpty(); 2065 } 2066 2067 public boolean hasMeaning() { 2068 return this.meaning != null && !this.meaning.isEmpty(); 2069 } 2070 2071 /** 2072 * @param value {@link #meaning} (How the resource reference is interpreted when testing consent restrictions.). This is the underlying object with id, value and extensions. The accessor "getMeaning" gives direct access to the value 2073 */ 2074 public ProvisionDataComponent setMeaningElement(Enumeration<ConsentDataMeaning> value) { 2075 this.meaning = value; 2076 return this; 2077 } 2078 2079 /** 2080 * @return How the resource reference is interpreted when testing consent restrictions. 2081 */ 2082 public ConsentDataMeaning getMeaning() { 2083 return this.meaning == null ? null : this.meaning.getValue(); 2084 } 2085 2086 /** 2087 * @param value How the resource reference is interpreted when testing consent restrictions. 2088 */ 2089 public ProvisionDataComponent setMeaning(ConsentDataMeaning value) { 2090 if (this.meaning == null) 2091 this.meaning = new Enumeration<ConsentDataMeaning>(new ConsentDataMeaningEnumFactory()); 2092 this.meaning.setValue(value); 2093 return this; 2094 } 2095 2096 /** 2097 * @return {@link #reference} (A reference to a specific resource that defines which resources are covered by this consent.) 2098 */ 2099 public Reference getReference() { 2100 if (this.reference == null) 2101 if (Configuration.errorOnAutoCreate()) 2102 throw new Error("Attempt to auto-create ProvisionDataComponent.reference"); 2103 else if (Configuration.doAutoCreate()) 2104 this.reference = new Reference(); // cc 2105 return this.reference; 2106 } 2107 2108 public boolean hasReference() { 2109 return this.reference != null && !this.reference.isEmpty(); 2110 } 2111 2112 /** 2113 * @param value {@link #reference} (A reference to a specific resource that defines which resources are covered by this consent.) 2114 */ 2115 public ProvisionDataComponent setReference(Reference value) { 2116 this.reference = value; 2117 return this; 2118 } 2119 2120 protected void listChildren(List<Property> children) { 2121 super.listChildren(children); 2122 children.add(new Property("meaning", "code", "How the resource reference is interpreted when testing consent restrictions.", 0, 1, meaning)); 2123 children.add(new Property("reference", "Reference(Any)", "A reference to a specific resource that defines which resources are covered by this consent.", 0, 1, reference)); 2124 } 2125 2126 @Override 2127 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2128 switch (_hash) { 2129 case 938160637: /*meaning*/ return new Property("meaning", "code", "How the resource reference is interpreted when testing consent restrictions.", 0, 1, meaning); 2130 case -925155509: /*reference*/ return new Property("reference", "Reference(Any)", "A reference to a specific resource that defines which resources are covered by this consent.", 0, 1, reference); 2131 default: return super.getNamedProperty(_hash, _name, _checkValid); 2132 } 2133 2134 } 2135 2136 @Override 2137 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2138 switch (hash) { 2139 case 938160637: /*meaning*/ return this.meaning == null ? new Base[0] : new Base[] {this.meaning}; // Enumeration<ConsentDataMeaning> 2140 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 2141 default: return super.getProperty(hash, name, checkValid); 2142 } 2143 2144 } 2145 2146 @Override 2147 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2148 switch (hash) { 2149 case 938160637: // meaning 2150 value = new ConsentDataMeaningEnumFactory().fromType(TypeConvertor.castToCode(value)); 2151 this.meaning = (Enumeration) value; // Enumeration<ConsentDataMeaning> 2152 return value; 2153 case -925155509: // reference 2154 this.reference = TypeConvertor.castToReference(value); // Reference 2155 return value; 2156 default: return super.setProperty(hash, name, value); 2157 } 2158 2159 } 2160 2161 @Override 2162 public Base setProperty(String name, Base value) throws FHIRException { 2163 if (name.equals("meaning")) { 2164 value = new ConsentDataMeaningEnumFactory().fromType(TypeConvertor.castToCode(value)); 2165 this.meaning = (Enumeration) value; // Enumeration<ConsentDataMeaning> 2166 } else if (name.equals("reference")) { 2167 this.reference = TypeConvertor.castToReference(value); // Reference 2168 } else 2169 return super.setProperty(name, value); 2170 return value; 2171 } 2172 2173 @Override 2174 public Base makeProperty(int hash, String name) throws FHIRException { 2175 switch (hash) { 2176 case 938160637: return getMeaningElement(); 2177 case -925155509: return getReference(); 2178 default: return super.makeProperty(hash, name); 2179 } 2180 2181 } 2182 2183 @Override 2184 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2185 switch (hash) { 2186 case 938160637: /*meaning*/ return new String[] {"code"}; 2187 case -925155509: /*reference*/ return new String[] {"Reference"}; 2188 default: return super.getTypesForProperty(hash, name); 2189 } 2190 2191 } 2192 2193 @Override 2194 public Base addChild(String name) throws FHIRException { 2195 if (name.equals("meaning")) { 2196 throw new FHIRException("Cannot call addChild on a singleton property Consent.provision.data.meaning"); 2197 } 2198 else if (name.equals("reference")) { 2199 this.reference = new Reference(); 2200 return this.reference; 2201 } 2202 else 2203 return super.addChild(name); 2204 } 2205 2206 public ProvisionDataComponent copy() { 2207 ProvisionDataComponent dst = new ProvisionDataComponent(); 2208 copyValues(dst); 2209 return dst; 2210 } 2211 2212 public void copyValues(ProvisionDataComponent dst) { 2213 super.copyValues(dst); 2214 dst.meaning = meaning == null ? null : meaning.copy(); 2215 dst.reference = reference == null ? null : reference.copy(); 2216 } 2217 2218 @Override 2219 public boolean equalsDeep(Base other_) { 2220 if (!super.equalsDeep(other_)) 2221 return false; 2222 if (!(other_ instanceof ProvisionDataComponent)) 2223 return false; 2224 ProvisionDataComponent o = (ProvisionDataComponent) other_; 2225 return compareDeep(meaning, o.meaning, true) && compareDeep(reference, o.reference, true); 2226 } 2227 2228 @Override 2229 public boolean equalsShallow(Base other_) { 2230 if (!super.equalsShallow(other_)) 2231 return false; 2232 if (!(other_ instanceof ProvisionDataComponent)) 2233 return false; 2234 ProvisionDataComponent o = (ProvisionDataComponent) other_; 2235 return compareValues(meaning, o.meaning, true); 2236 } 2237 2238 public boolean isEmpty() { 2239 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(meaning, reference); 2240 } 2241 2242 public String fhirType() { 2243 return "Consent.provision.data"; 2244 2245 } 2246 2247 } 2248 2249 /** 2250 * Unique identifier for this copy of the Consent Statement. 2251 */ 2252 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2253 @Description(shortDefinition="Identifier for this record (external references)", formalDefinition="Unique identifier for this copy of the Consent Statement." ) 2254 protected List<Identifier> identifier; 2255 2256 /** 2257 * Indicates the current state of this Consent resource. 2258 */ 2259 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 2260 @Description(shortDefinition="draft | active | inactive | not-done | entered-in-error | unknown", formalDefinition="Indicates the current state of this Consent resource." ) 2261 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-state-codes") 2262 protected Enumeration<ConsentState> status; 2263 2264 /** 2265 * A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. 2266 */ 2267 @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2268 @Description(shortDefinition="Classification of the consent statement - for indexing/retrieval", formalDefinition="A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements." ) 2269 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-category") 2270 protected List<CodeableConcept> category; 2271 2272 /** 2273 * The patient/healthcare practitioner or group of persons to whom this consent applies. 2274 */ 2275 @Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class}, order=3, min=0, max=1, modifier=false, summary=true) 2276 @Description(shortDefinition="Who the consent applies to", formalDefinition="The patient/healthcare practitioner or group of persons to whom this consent applies." ) 2277 protected Reference subject; 2278 2279 /** 2280 * Date the consent instance was agreed to. 2281 */ 2282 @Child(name = "date", type = {DateType.class}, order=4, min=0, max=1, modifier=false, summary=true) 2283 @Description(shortDefinition="Fully executed date of the consent", formalDefinition="Date the consent instance was agreed to." ) 2284 protected DateType date; 2285 2286 /** 2287 * Effective period for this Consent Resource and all provisions unless specified in that provision. 2288 */ 2289 @Child(name = "period", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=true) 2290 @Description(shortDefinition="Effective period for this Consent", formalDefinition="Effective period for this Consent Resource and all provisions unless specified in that provision." ) 2291 protected Period period; 2292 2293 /** 2294 * The entity responsible for granting the rights listed in a Consent Directive. 2295 */ 2296 @Child(name = "grantor", type = {CareTeam.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, RelatedPerson.class, PractitionerRole.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2297 @Description(shortDefinition="Who is granting rights according to the policy and rules", formalDefinition="The entity responsible for granting the rights listed in a Consent Directive." ) 2298 protected List<Reference> grantor; 2299 2300 /** 2301 * The entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions. 2302 */ 2303 @Child(name = "grantee", type = {CareTeam.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, RelatedPerson.class, PractitionerRole.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2304 @Description(shortDefinition="Who is agreeing to the policy and rules", formalDefinition="The entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions." ) 2305 protected List<Reference> grantee; 2306 2307 /** 2308 * The actor that manages the consent through its lifecycle. 2309 */ 2310 @Child(name = "manager", type = {HealthcareService.class, Organization.class, Patient.class, Practitioner.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2311 @Description(shortDefinition="Consent workflow management", formalDefinition="The actor that manages the consent through its lifecycle." ) 2312 protected List<Reference> manager; 2313 2314 /** 2315 * The actor that controls/enforces the access according to the consent. 2316 */ 2317 @Child(name = "controller", type = {HealthcareService.class, Organization.class, Patient.class, Practitioner.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2318 @Description(shortDefinition="Consent Enforcer", formalDefinition="The actor that controls/enforces the access according to the consent." ) 2319 protected List<Reference> controller; 2320 2321 /** 2322 * The source on which this consent statement is based. The source might be a scanned original paper form. 2323 */ 2324 @Child(name = "sourceAttachment", type = {Attachment.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2325 @Description(shortDefinition="Source from which this consent is taken", formalDefinition="The source on which this consent statement is based. The source might be a scanned original paper form." ) 2326 protected List<Attachment> sourceAttachment; 2327 2328 /** 2329 * A reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document. 2330 */ 2331 @Child(name = "sourceReference", type = {Consent.class, DocumentReference.class, Contract.class, QuestionnaireResponse.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2332 @Description(shortDefinition="Source from which this consent is taken", formalDefinition="A reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document." ) 2333 protected List<Reference> sourceReference; 2334 2335 /** 2336 * A set of codes that indicate the regulatory basis (if any) that this consent supports. 2337 */ 2338 @Child(name = "regulatoryBasis", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2339 @Description(shortDefinition="Regulations establishing base Consent", formalDefinition="A set of codes that indicate the regulatory basis (if any) that this consent supports." ) 2340 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-policy") 2341 protected List<CodeableConcept> regulatoryBasis; 2342 2343 /** 2344 * A Reference or URL used to uniquely identify the policy the organization will enforce for this Consent. This Reference or URL should be specific to the version of the policy and should be dereferencable to a computable policy of some form. 2345 */ 2346 @Child(name = "policyBasis", type = {}, order=13, min=0, max=1, modifier=false, summary=false) 2347 @Description(shortDefinition="Computable version of the backing policy", formalDefinition="A Reference or URL used to uniquely identify the policy the organization will enforce for this Consent. This Reference or URL should be specific to the version of the policy and should be dereferencable to a computable policy of some form." ) 2348 protected ConsentPolicyBasisComponent policyBasis; 2349 2350 /** 2351 * A Reference to the human readable policy explaining the basis for the Consent. 2352 */ 2353 @Child(name = "policyText", type = {DocumentReference.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2354 @Description(shortDefinition="Human Readable Policy", formalDefinition="A Reference to the human readable policy explaining the basis for the Consent." ) 2355 protected List<Reference> policyText; 2356 2357 /** 2358 * Whether a treatment instruction (e.g. artificial respiration: yes or no) was verified with the patient, his/her family or another authorized person. 2359 */ 2360 @Child(name = "verification", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2361 @Description(shortDefinition="Consent Verified by patient or family", formalDefinition="Whether a treatment instruction (e.g. artificial respiration: yes or no) was verified with the patient, his/her family or another authorized person." ) 2362 protected List<ConsentVerificationComponent> verification; 2363 2364 /** 2365 * Action to take - permit or deny - as default. 2366 */ 2367 @Child(name = "decision", type = {CodeType.class}, order=16, min=0, max=1, modifier=true, summary=true) 2368 @Description(shortDefinition="deny | permit", formalDefinition="Action to take - permit or deny - as default." ) 2369 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-provision-type") 2370 protected Enumeration<ConsentProvisionType> decision; 2371 2372 /** 2373 * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. 2374 */ 2375 @Child(name = "provision", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2376 @Description(shortDefinition="Constraints to the base Consent.policyRule/Consent.policy", formalDefinition="An exception to the base policy of this consent. An exception can be an addition or removal of access permissions." ) 2377 protected List<ProvisionComponent> provision; 2378 2379 private static final long serialVersionUID = -1133978742L; 2380 2381 /** 2382 * Constructor 2383 */ 2384 public Consent() { 2385 super(); 2386 } 2387 2388 /** 2389 * Constructor 2390 */ 2391 public Consent(ConsentState status) { 2392 super(); 2393 this.setStatus(status); 2394 } 2395 2396 /** 2397 * @return {@link #identifier} (Unique identifier for this copy of the Consent Statement.) 2398 */ 2399 public List<Identifier> getIdentifier() { 2400 if (this.identifier == null) 2401 this.identifier = new ArrayList<Identifier>(); 2402 return this.identifier; 2403 } 2404 2405 /** 2406 * @return Returns a reference to <code>this</code> for easy method chaining 2407 */ 2408 public Consent setIdentifier(List<Identifier> theIdentifier) { 2409 this.identifier = theIdentifier; 2410 return this; 2411 } 2412 2413 public boolean hasIdentifier() { 2414 if (this.identifier == null) 2415 return false; 2416 for (Identifier item : this.identifier) 2417 if (!item.isEmpty()) 2418 return true; 2419 return false; 2420 } 2421 2422 public Identifier addIdentifier() { //3 2423 Identifier t = new Identifier(); 2424 if (this.identifier == null) 2425 this.identifier = new ArrayList<Identifier>(); 2426 this.identifier.add(t); 2427 return t; 2428 } 2429 2430 public Consent addIdentifier(Identifier t) { //3 2431 if (t == null) 2432 return this; 2433 if (this.identifier == null) 2434 this.identifier = new ArrayList<Identifier>(); 2435 this.identifier.add(t); 2436 return this; 2437 } 2438 2439 /** 2440 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2441 */ 2442 public Identifier getIdentifierFirstRep() { 2443 if (getIdentifier().isEmpty()) { 2444 addIdentifier(); 2445 } 2446 return getIdentifier().get(0); 2447 } 2448 2449 /** 2450 * @return {@link #status} (Indicates the current state of this Consent resource.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2451 */ 2452 public Enumeration<ConsentState> getStatusElement() { 2453 if (this.status == null) 2454 if (Configuration.errorOnAutoCreate()) 2455 throw new Error("Attempt to auto-create Consent.status"); 2456 else if (Configuration.doAutoCreate()) 2457 this.status = new Enumeration<ConsentState>(new ConsentStateEnumFactory()); // bb 2458 return this.status; 2459 } 2460 2461 public boolean hasStatusElement() { 2462 return this.status != null && !this.status.isEmpty(); 2463 } 2464 2465 public boolean hasStatus() { 2466 return this.status != null && !this.status.isEmpty(); 2467 } 2468 2469 /** 2470 * @param value {@link #status} (Indicates the current state of this Consent resource.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2471 */ 2472 public Consent setStatusElement(Enumeration<ConsentState> value) { 2473 this.status = value; 2474 return this; 2475 } 2476 2477 /** 2478 * @return Indicates the current state of this Consent resource. 2479 */ 2480 public ConsentState getStatus() { 2481 return this.status == null ? null : this.status.getValue(); 2482 } 2483 2484 /** 2485 * @param value Indicates the current state of this Consent resource. 2486 */ 2487 public Consent setStatus(ConsentState value) { 2488 if (this.status == null) 2489 this.status = new Enumeration<ConsentState>(new ConsentStateEnumFactory()); 2490 this.status.setValue(value); 2491 return this; 2492 } 2493 2494 /** 2495 * @return {@link #category} (A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.) 2496 */ 2497 public List<CodeableConcept> getCategory() { 2498 if (this.category == null) 2499 this.category = new ArrayList<CodeableConcept>(); 2500 return this.category; 2501 } 2502 2503 /** 2504 * @return Returns a reference to <code>this</code> for easy method chaining 2505 */ 2506 public Consent setCategory(List<CodeableConcept> theCategory) { 2507 this.category = theCategory; 2508 return this; 2509 } 2510 2511 public boolean hasCategory() { 2512 if (this.category == null) 2513 return false; 2514 for (CodeableConcept item : this.category) 2515 if (!item.isEmpty()) 2516 return true; 2517 return false; 2518 } 2519 2520 public CodeableConcept addCategory() { //3 2521 CodeableConcept t = new CodeableConcept(); 2522 if (this.category == null) 2523 this.category = new ArrayList<CodeableConcept>(); 2524 this.category.add(t); 2525 return t; 2526 } 2527 2528 public Consent addCategory(CodeableConcept t) { //3 2529 if (t == null) 2530 return this; 2531 if (this.category == null) 2532 this.category = new ArrayList<CodeableConcept>(); 2533 this.category.add(t); 2534 return this; 2535 } 2536 2537 /** 2538 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 2539 */ 2540 public CodeableConcept getCategoryFirstRep() { 2541 if (getCategory().isEmpty()) { 2542 addCategory(); 2543 } 2544 return getCategory().get(0); 2545 } 2546 2547 /** 2548 * @return {@link #subject} (The patient/healthcare practitioner or group of persons to whom this consent applies.) 2549 */ 2550 public Reference getSubject() { 2551 if (this.subject == null) 2552 if (Configuration.errorOnAutoCreate()) 2553 throw new Error("Attempt to auto-create Consent.subject"); 2554 else if (Configuration.doAutoCreate()) 2555 this.subject = new Reference(); // cc 2556 return this.subject; 2557 } 2558 2559 public boolean hasSubject() { 2560 return this.subject != null && !this.subject.isEmpty(); 2561 } 2562 2563 /** 2564 * @param value {@link #subject} (The patient/healthcare practitioner or group of persons to whom this consent applies.) 2565 */ 2566 public Consent setSubject(Reference value) { 2567 this.subject = value; 2568 return this; 2569 } 2570 2571 /** 2572 * @return {@link #date} (Date the consent instance was agreed to.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2573 */ 2574 public DateType getDateElement() { 2575 if (this.date == null) 2576 if (Configuration.errorOnAutoCreate()) 2577 throw new Error("Attempt to auto-create Consent.date"); 2578 else if (Configuration.doAutoCreate()) 2579 this.date = new DateType(); // bb 2580 return this.date; 2581 } 2582 2583 public boolean hasDateElement() { 2584 return this.date != null && !this.date.isEmpty(); 2585 } 2586 2587 public boolean hasDate() { 2588 return this.date != null && !this.date.isEmpty(); 2589 } 2590 2591 /** 2592 * @param value {@link #date} (Date the consent instance was agreed to.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2593 */ 2594 public Consent setDateElement(DateType value) { 2595 this.date = value; 2596 return this; 2597 } 2598 2599 /** 2600 * @return Date the consent instance was agreed to. 2601 */ 2602 public Date getDate() { 2603 return this.date == null ? null : this.date.getValue(); 2604 } 2605 2606 /** 2607 * @param value Date the consent instance was agreed to. 2608 */ 2609 public Consent setDate(Date value) { 2610 if (value == null) 2611 this.date = null; 2612 else { 2613 if (this.date == null) 2614 this.date = new DateType(); 2615 this.date.setValue(value); 2616 } 2617 return this; 2618 } 2619 2620 /** 2621 * @return {@link #period} (Effective period for this Consent Resource and all provisions unless specified in that provision.) 2622 */ 2623 public Period getPeriod() { 2624 if (this.period == null) 2625 if (Configuration.errorOnAutoCreate()) 2626 throw new Error("Attempt to auto-create Consent.period"); 2627 else if (Configuration.doAutoCreate()) 2628 this.period = new Period(); // cc 2629 return this.period; 2630 } 2631 2632 public boolean hasPeriod() { 2633 return this.period != null && !this.period.isEmpty(); 2634 } 2635 2636 /** 2637 * @param value {@link #period} (Effective period for this Consent Resource and all provisions unless specified in that provision.) 2638 */ 2639 public Consent setPeriod(Period value) { 2640 this.period = value; 2641 return this; 2642 } 2643 2644 /** 2645 * @return {@link #grantor} (The entity responsible for granting the rights listed in a Consent Directive.) 2646 */ 2647 public List<Reference> getGrantor() { 2648 if (this.grantor == null) 2649 this.grantor = new ArrayList<Reference>(); 2650 return this.grantor; 2651 } 2652 2653 /** 2654 * @return Returns a reference to <code>this</code> for easy method chaining 2655 */ 2656 public Consent setGrantor(List<Reference> theGrantor) { 2657 this.grantor = theGrantor; 2658 return this; 2659 } 2660 2661 public boolean hasGrantor() { 2662 if (this.grantor == null) 2663 return false; 2664 for (Reference item : this.grantor) 2665 if (!item.isEmpty()) 2666 return true; 2667 return false; 2668 } 2669 2670 public Reference addGrantor() { //3 2671 Reference t = new Reference(); 2672 if (this.grantor == null) 2673 this.grantor = new ArrayList<Reference>(); 2674 this.grantor.add(t); 2675 return t; 2676 } 2677 2678 public Consent addGrantor(Reference t) { //3 2679 if (t == null) 2680 return this; 2681 if (this.grantor == null) 2682 this.grantor = new ArrayList<Reference>(); 2683 this.grantor.add(t); 2684 return this; 2685 } 2686 2687 /** 2688 * @return The first repetition of repeating field {@link #grantor}, creating it if it does not already exist {3} 2689 */ 2690 public Reference getGrantorFirstRep() { 2691 if (getGrantor().isEmpty()) { 2692 addGrantor(); 2693 } 2694 return getGrantor().get(0); 2695 } 2696 2697 /** 2698 * @return {@link #grantee} (The entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions.) 2699 */ 2700 public List<Reference> getGrantee() { 2701 if (this.grantee == null) 2702 this.grantee = new ArrayList<Reference>(); 2703 return this.grantee; 2704 } 2705 2706 /** 2707 * @return Returns a reference to <code>this</code> for easy method chaining 2708 */ 2709 public Consent setGrantee(List<Reference> theGrantee) { 2710 this.grantee = theGrantee; 2711 return this; 2712 } 2713 2714 public boolean hasGrantee() { 2715 if (this.grantee == null) 2716 return false; 2717 for (Reference item : this.grantee) 2718 if (!item.isEmpty()) 2719 return true; 2720 return false; 2721 } 2722 2723 public Reference addGrantee() { //3 2724 Reference t = new Reference(); 2725 if (this.grantee == null) 2726 this.grantee = new ArrayList<Reference>(); 2727 this.grantee.add(t); 2728 return t; 2729 } 2730 2731 public Consent addGrantee(Reference t) { //3 2732 if (t == null) 2733 return this; 2734 if (this.grantee == null) 2735 this.grantee = new ArrayList<Reference>(); 2736 this.grantee.add(t); 2737 return this; 2738 } 2739 2740 /** 2741 * @return The first repetition of repeating field {@link #grantee}, creating it if it does not already exist {3} 2742 */ 2743 public Reference getGranteeFirstRep() { 2744 if (getGrantee().isEmpty()) { 2745 addGrantee(); 2746 } 2747 return getGrantee().get(0); 2748 } 2749 2750 /** 2751 * @return {@link #manager} (The actor that manages the consent through its lifecycle.) 2752 */ 2753 public List<Reference> getManager() { 2754 if (this.manager == null) 2755 this.manager = new ArrayList<Reference>(); 2756 return this.manager; 2757 } 2758 2759 /** 2760 * @return Returns a reference to <code>this</code> for easy method chaining 2761 */ 2762 public Consent setManager(List<Reference> theManager) { 2763 this.manager = theManager; 2764 return this; 2765 } 2766 2767 public boolean hasManager() { 2768 if (this.manager == null) 2769 return false; 2770 for (Reference item : this.manager) 2771 if (!item.isEmpty()) 2772 return true; 2773 return false; 2774 } 2775 2776 public Reference addManager() { //3 2777 Reference t = new Reference(); 2778 if (this.manager == null) 2779 this.manager = new ArrayList<Reference>(); 2780 this.manager.add(t); 2781 return t; 2782 } 2783 2784 public Consent addManager(Reference t) { //3 2785 if (t == null) 2786 return this; 2787 if (this.manager == null) 2788 this.manager = new ArrayList<Reference>(); 2789 this.manager.add(t); 2790 return this; 2791 } 2792 2793 /** 2794 * @return The first repetition of repeating field {@link #manager}, creating it if it does not already exist {3} 2795 */ 2796 public Reference getManagerFirstRep() { 2797 if (getManager().isEmpty()) { 2798 addManager(); 2799 } 2800 return getManager().get(0); 2801 } 2802 2803 /** 2804 * @return {@link #controller} (The actor that controls/enforces the access according to the consent.) 2805 */ 2806 public List<Reference> getController() { 2807 if (this.controller == null) 2808 this.controller = new ArrayList<Reference>(); 2809 return this.controller; 2810 } 2811 2812 /** 2813 * @return Returns a reference to <code>this</code> for easy method chaining 2814 */ 2815 public Consent setController(List<Reference> theController) { 2816 this.controller = theController; 2817 return this; 2818 } 2819 2820 public boolean hasController() { 2821 if (this.controller == null) 2822 return false; 2823 for (Reference item : this.controller) 2824 if (!item.isEmpty()) 2825 return true; 2826 return false; 2827 } 2828 2829 public Reference addController() { //3 2830 Reference t = new Reference(); 2831 if (this.controller == null) 2832 this.controller = new ArrayList<Reference>(); 2833 this.controller.add(t); 2834 return t; 2835 } 2836 2837 public Consent addController(Reference t) { //3 2838 if (t == null) 2839 return this; 2840 if (this.controller == null) 2841 this.controller = new ArrayList<Reference>(); 2842 this.controller.add(t); 2843 return this; 2844 } 2845 2846 /** 2847 * @return The first repetition of repeating field {@link #controller}, creating it if it does not already exist {3} 2848 */ 2849 public Reference getControllerFirstRep() { 2850 if (getController().isEmpty()) { 2851 addController(); 2852 } 2853 return getController().get(0); 2854 } 2855 2856 /** 2857 * @return {@link #sourceAttachment} (The source on which this consent statement is based. The source might be a scanned original paper form.) 2858 */ 2859 public List<Attachment> getSourceAttachment() { 2860 if (this.sourceAttachment == null) 2861 this.sourceAttachment = new ArrayList<Attachment>(); 2862 return this.sourceAttachment; 2863 } 2864 2865 /** 2866 * @return Returns a reference to <code>this</code> for easy method chaining 2867 */ 2868 public Consent setSourceAttachment(List<Attachment> theSourceAttachment) { 2869 this.sourceAttachment = theSourceAttachment; 2870 return this; 2871 } 2872 2873 public boolean hasSourceAttachment() { 2874 if (this.sourceAttachment == null) 2875 return false; 2876 for (Attachment item : this.sourceAttachment) 2877 if (!item.isEmpty()) 2878 return true; 2879 return false; 2880 } 2881 2882 public Attachment addSourceAttachment() { //3 2883 Attachment t = new Attachment(); 2884 if (this.sourceAttachment == null) 2885 this.sourceAttachment = new ArrayList<Attachment>(); 2886 this.sourceAttachment.add(t); 2887 return t; 2888 } 2889 2890 public Consent addSourceAttachment(Attachment t) { //3 2891 if (t == null) 2892 return this; 2893 if (this.sourceAttachment == null) 2894 this.sourceAttachment = new ArrayList<Attachment>(); 2895 this.sourceAttachment.add(t); 2896 return this; 2897 } 2898 2899 /** 2900 * @return The first repetition of repeating field {@link #sourceAttachment}, creating it if it does not already exist {3} 2901 */ 2902 public Attachment getSourceAttachmentFirstRep() { 2903 if (getSourceAttachment().isEmpty()) { 2904 addSourceAttachment(); 2905 } 2906 return getSourceAttachment().get(0); 2907 } 2908 2909 /** 2910 * @return {@link #sourceReference} (A reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.) 2911 */ 2912 public List<Reference> getSourceReference() { 2913 if (this.sourceReference == null) 2914 this.sourceReference = new ArrayList<Reference>(); 2915 return this.sourceReference; 2916 } 2917 2918 /** 2919 * @return Returns a reference to <code>this</code> for easy method chaining 2920 */ 2921 public Consent setSourceReference(List<Reference> theSourceReference) { 2922 this.sourceReference = theSourceReference; 2923 return this; 2924 } 2925 2926 public boolean hasSourceReference() { 2927 if (this.sourceReference == null) 2928 return false; 2929 for (Reference item : this.sourceReference) 2930 if (!item.isEmpty()) 2931 return true; 2932 return false; 2933 } 2934 2935 public Reference addSourceReference() { //3 2936 Reference t = new Reference(); 2937 if (this.sourceReference == null) 2938 this.sourceReference = new ArrayList<Reference>(); 2939 this.sourceReference.add(t); 2940 return t; 2941 } 2942 2943 public Consent addSourceReference(Reference t) { //3 2944 if (t == null) 2945 return this; 2946 if (this.sourceReference == null) 2947 this.sourceReference = new ArrayList<Reference>(); 2948 this.sourceReference.add(t); 2949 return this; 2950 } 2951 2952 /** 2953 * @return The first repetition of repeating field {@link #sourceReference}, creating it if it does not already exist {3} 2954 */ 2955 public Reference getSourceReferenceFirstRep() { 2956 if (getSourceReference().isEmpty()) { 2957 addSourceReference(); 2958 } 2959 return getSourceReference().get(0); 2960 } 2961 2962 /** 2963 * @return {@link #regulatoryBasis} (A set of codes that indicate the regulatory basis (if any) that this consent supports.) 2964 */ 2965 public List<CodeableConcept> getRegulatoryBasis() { 2966 if (this.regulatoryBasis == null) 2967 this.regulatoryBasis = new ArrayList<CodeableConcept>(); 2968 return this.regulatoryBasis; 2969 } 2970 2971 /** 2972 * @return Returns a reference to <code>this</code> for easy method chaining 2973 */ 2974 public Consent setRegulatoryBasis(List<CodeableConcept> theRegulatoryBasis) { 2975 this.regulatoryBasis = theRegulatoryBasis; 2976 return this; 2977 } 2978 2979 public boolean hasRegulatoryBasis() { 2980 if (this.regulatoryBasis == null) 2981 return false; 2982 for (CodeableConcept item : this.regulatoryBasis) 2983 if (!item.isEmpty()) 2984 return true; 2985 return false; 2986 } 2987 2988 public CodeableConcept addRegulatoryBasis() { //3 2989 CodeableConcept t = new CodeableConcept(); 2990 if (this.regulatoryBasis == null) 2991 this.regulatoryBasis = new ArrayList<CodeableConcept>(); 2992 this.regulatoryBasis.add(t); 2993 return t; 2994 } 2995 2996 public Consent addRegulatoryBasis(CodeableConcept t) { //3 2997 if (t == null) 2998 return this; 2999 if (this.regulatoryBasis == null) 3000 this.regulatoryBasis = new ArrayList<CodeableConcept>(); 3001 this.regulatoryBasis.add(t); 3002 return this; 3003 } 3004 3005 /** 3006 * @return The first repetition of repeating field {@link #regulatoryBasis}, creating it if it does not already exist {3} 3007 */ 3008 public CodeableConcept getRegulatoryBasisFirstRep() { 3009 if (getRegulatoryBasis().isEmpty()) { 3010 addRegulatoryBasis(); 3011 } 3012 return getRegulatoryBasis().get(0); 3013 } 3014 3015 /** 3016 * @return {@link #policyBasis} (A Reference or URL used to uniquely identify the policy the organization will enforce for this Consent. This Reference or URL should be specific to the version of the policy and should be dereferencable to a computable policy of some form.) 3017 */ 3018 public ConsentPolicyBasisComponent getPolicyBasis() { 3019 if (this.policyBasis == null) 3020 if (Configuration.errorOnAutoCreate()) 3021 throw new Error("Attempt to auto-create Consent.policyBasis"); 3022 else if (Configuration.doAutoCreate()) 3023 this.policyBasis = new ConsentPolicyBasisComponent(); // cc 3024 return this.policyBasis; 3025 } 3026 3027 public boolean hasPolicyBasis() { 3028 return this.policyBasis != null && !this.policyBasis.isEmpty(); 3029 } 3030 3031 /** 3032 * @param value {@link #policyBasis} (A Reference or URL used to uniquely identify the policy the organization will enforce for this Consent. This Reference or URL should be specific to the version of the policy and should be dereferencable to a computable policy of some form.) 3033 */ 3034 public Consent setPolicyBasis(ConsentPolicyBasisComponent value) { 3035 this.policyBasis = value; 3036 return this; 3037 } 3038 3039 /** 3040 * @return {@link #policyText} (A Reference to the human readable policy explaining the basis for the Consent.) 3041 */ 3042 public List<Reference> getPolicyText() { 3043 if (this.policyText == null) 3044 this.policyText = new ArrayList<Reference>(); 3045 return this.policyText; 3046 } 3047 3048 /** 3049 * @return Returns a reference to <code>this</code> for easy method chaining 3050 */ 3051 public Consent setPolicyText(List<Reference> thePolicyText) { 3052 this.policyText = thePolicyText; 3053 return this; 3054 } 3055 3056 public boolean hasPolicyText() { 3057 if (this.policyText == null) 3058 return false; 3059 for (Reference item : this.policyText) 3060 if (!item.isEmpty()) 3061 return true; 3062 return false; 3063 } 3064 3065 public Reference addPolicyText() { //3 3066 Reference t = new Reference(); 3067 if (this.policyText == null) 3068 this.policyText = new ArrayList<Reference>(); 3069 this.policyText.add(t); 3070 return t; 3071 } 3072 3073 public Consent addPolicyText(Reference t) { //3 3074 if (t == null) 3075 return this; 3076 if (this.policyText == null) 3077 this.policyText = new ArrayList<Reference>(); 3078 this.policyText.add(t); 3079 return this; 3080 } 3081 3082 /** 3083 * @return The first repetition of repeating field {@link #policyText}, creating it if it does not already exist {3} 3084 */ 3085 public Reference getPolicyTextFirstRep() { 3086 if (getPolicyText().isEmpty()) { 3087 addPolicyText(); 3088 } 3089 return getPolicyText().get(0); 3090 } 3091 3092 /** 3093 * @return {@link #verification} (Whether a treatment instruction (e.g. artificial respiration: yes or no) was verified with the patient, his/her family or another authorized person.) 3094 */ 3095 public List<ConsentVerificationComponent> getVerification() { 3096 if (this.verification == null) 3097 this.verification = new ArrayList<ConsentVerificationComponent>(); 3098 return this.verification; 3099 } 3100 3101 /** 3102 * @return Returns a reference to <code>this</code> for easy method chaining 3103 */ 3104 public Consent setVerification(List<ConsentVerificationComponent> theVerification) { 3105 this.verification = theVerification; 3106 return this; 3107 } 3108 3109 public boolean hasVerification() { 3110 if (this.verification == null) 3111 return false; 3112 for (ConsentVerificationComponent item : this.verification) 3113 if (!item.isEmpty()) 3114 return true; 3115 return false; 3116 } 3117 3118 public ConsentVerificationComponent addVerification() { //3 3119 ConsentVerificationComponent t = new ConsentVerificationComponent(); 3120 if (this.verification == null) 3121 this.verification = new ArrayList<ConsentVerificationComponent>(); 3122 this.verification.add(t); 3123 return t; 3124 } 3125 3126 public Consent addVerification(ConsentVerificationComponent t) { //3 3127 if (t == null) 3128 return this; 3129 if (this.verification == null) 3130 this.verification = new ArrayList<ConsentVerificationComponent>(); 3131 this.verification.add(t); 3132 return this; 3133 } 3134 3135 /** 3136 * @return The first repetition of repeating field {@link #verification}, creating it if it does not already exist {3} 3137 */ 3138 public ConsentVerificationComponent getVerificationFirstRep() { 3139 if (getVerification().isEmpty()) { 3140 addVerification(); 3141 } 3142 return getVerification().get(0); 3143 } 3144 3145 /** 3146 * @return {@link #decision} (Action to take - permit or deny - as default.). This is the underlying object with id, value and extensions. The accessor "getDecision" gives direct access to the value 3147 */ 3148 public Enumeration<ConsentProvisionType> getDecisionElement() { 3149 if (this.decision == null) 3150 if (Configuration.errorOnAutoCreate()) 3151 throw new Error("Attempt to auto-create Consent.decision"); 3152 else if (Configuration.doAutoCreate()) 3153 this.decision = new Enumeration<ConsentProvisionType>(new ConsentProvisionTypeEnumFactory()); // bb 3154 return this.decision; 3155 } 3156 3157 public boolean hasDecisionElement() { 3158 return this.decision != null && !this.decision.isEmpty(); 3159 } 3160 3161 public boolean hasDecision() { 3162 return this.decision != null && !this.decision.isEmpty(); 3163 } 3164 3165 /** 3166 * @param value {@link #decision} (Action to take - permit or deny - as default.). This is the underlying object with id, value and extensions. The accessor "getDecision" gives direct access to the value 3167 */ 3168 public Consent setDecisionElement(Enumeration<ConsentProvisionType> value) { 3169 this.decision = value; 3170 return this; 3171 } 3172 3173 /** 3174 * @return Action to take - permit or deny - as default. 3175 */ 3176 public ConsentProvisionType getDecision() { 3177 return this.decision == null ? null : this.decision.getValue(); 3178 } 3179 3180 /** 3181 * @param value Action to take - permit or deny - as default. 3182 */ 3183 public Consent setDecision(ConsentProvisionType value) { 3184 if (value == null) 3185 this.decision = null; 3186 else { 3187 if (this.decision == null) 3188 this.decision = new Enumeration<ConsentProvisionType>(new ConsentProvisionTypeEnumFactory()); 3189 this.decision.setValue(value); 3190 } 3191 return this; 3192 } 3193 3194 /** 3195 * @return {@link #provision} (An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.) 3196 */ 3197 public List<ProvisionComponent> getProvision() { 3198 if (this.provision == null) 3199 this.provision = new ArrayList<ProvisionComponent>(); 3200 return this.provision; 3201 } 3202 3203 /** 3204 * @return Returns a reference to <code>this</code> for easy method chaining 3205 */ 3206 public Consent setProvision(List<ProvisionComponent> theProvision) { 3207 this.provision = theProvision; 3208 return this; 3209 } 3210 3211 public boolean hasProvision() { 3212 if (this.provision == null) 3213 return false; 3214 for (ProvisionComponent item : this.provision) 3215 if (!item.isEmpty()) 3216 return true; 3217 return false; 3218 } 3219 3220 public ProvisionComponent addProvision() { //3 3221 ProvisionComponent t = new ProvisionComponent(); 3222 if (this.provision == null) 3223 this.provision = new ArrayList<ProvisionComponent>(); 3224 this.provision.add(t); 3225 return t; 3226 } 3227 3228 public Consent addProvision(ProvisionComponent t) { //3 3229 if (t == null) 3230 return this; 3231 if (this.provision == null) 3232 this.provision = new ArrayList<ProvisionComponent>(); 3233 this.provision.add(t); 3234 return this; 3235 } 3236 3237 /** 3238 * @return The first repetition of repeating field {@link #provision}, creating it if it does not already exist {3} 3239 */ 3240 public ProvisionComponent getProvisionFirstRep() { 3241 if (getProvision().isEmpty()) { 3242 addProvision(); 3243 } 3244 return getProvision().get(0); 3245 } 3246 3247 protected void listChildren(List<Property> children) { 3248 super.listChildren(children); 3249 children.add(new Property("identifier", "Identifier", "Unique identifier for this copy of the Consent Statement.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3250 children.add(new Property("status", "code", "Indicates the current state of this Consent resource.", 0, 1, status)); 3251 children.add(new Property("category", "CodeableConcept", "A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.", 0, java.lang.Integer.MAX_VALUE, category)); 3252 children.add(new Property("subject", "Reference(Patient|Practitioner|Group)", "The patient/healthcare practitioner or group of persons to whom this consent applies.", 0, 1, subject)); 3253 children.add(new Property("date", "date", "Date the consent instance was agreed to.", 0, 1, date)); 3254 children.add(new Property("period", "Period", "Effective period for this Consent Resource and all provisions unless specified in that provision.", 0, 1, period)); 3255 children.add(new Property("grantor", "Reference(CareTeam|HealthcareService|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The entity responsible for granting the rights listed in a Consent Directive.", 0, java.lang.Integer.MAX_VALUE, grantor)); 3256 children.add(new Property("grantee", "Reference(CareTeam|HealthcareService|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions.", 0, java.lang.Integer.MAX_VALUE, grantee)); 3257 children.add(new Property("manager", "Reference(HealthcareService|Organization|Patient|Practitioner)", "The actor that manages the consent through its lifecycle.", 0, java.lang.Integer.MAX_VALUE, manager)); 3258 children.add(new Property("controller", "Reference(HealthcareService|Organization|Patient|Practitioner)", "The actor that controls/enforces the access according to the consent.", 0, java.lang.Integer.MAX_VALUE, controller)); 3259 children.add(new Property("sourceAttachment", "Attachment", "The source on which this consent statement is based. The source might be a scanned original paper form.", 0, java.lang.Integer.MAX_VALUE, sourceAttachment)); 3260 children.add(new Property("sourceReference", "Reference(Consent|DocumentReference|Contract|QuestionnaireResponse)", "A reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.", 0, java.lang.Integer.MAX_VALUE, sourceReference)); 3261 children.add(new Property("regulatoryBasis", "CodeableConcept", "A set of codes that indicate the regulatory basis (if any) that this consent supports.", 0, java.lang.Integer.MAX_VALUE, regulatoryBasis)); 3262 children.add(new Property("policyBasis", "", "A Reference or URL used to uniquely identify the policy the organization will enforce for this Consent. This Reference or URL should be specific to the version of the policy and should be dereferencable to a computable policy of some form.", 0, 1, policyBasis)); 3263 children.add(new Property("policyText", "Reference(DocumentReference)", "A Reference to the human readable policy explaining the basis for the Consent.", 0, java.lang.Integer.MAX_VALUE, policyText)); 3264 children.add(new Property("verification", "", "Whether a treatment instruction (e.g. artificial respiration: yes or no) was verified with the patient, his/her family or another authorized person.", 0, java.lang.Integer.MAX_VALUE, verification)); 3265 children.add(new Property("decision", "code", "Action to take - permit or deny - as default.", 0, 1, decision)); 3266 children.add(new Property("provision", "", "An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.", 0, java.lang.Integer.MAX_VALUE, provision)); 3267 } 3268 3269 @Override 3270 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3271 switch (_hash) { 3272 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier for this copy of the Consent Statement.", 0, java.lang.Integer.MAX_VALUE, identifier); 3273 case -892481550: /*status*/ return new Property("status", "code", "Indicates the current state of this Consent resource.", 0, 1, status); 3274 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.", 0, java.lang.Integer.MAX_VALUE, category); 3275 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Practitioner|Group)", "The patient/healthcare practitioner or group of persons to whom this consent applies.", 0, 1, subject); 3276 case 3076014: /*date*/ return new Property("date", "date", "Date the consent instance was agreed to.", 0, 1, date); 3277 case -991726143: /*period*/ return new Property("period", "Period", "Effective period for this Consent Resource and all provisions unless specified in that provision.", 0, 1, period); 3278 case 280295423: /*grantor*/ return new Property("grantor", "Reference(CareTeam|HealthcareService|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The entity responsible for granting the rights listed in a Consent Directive.", 0, java.lang.Integer.MAX_VALUE, grantor); 3279 case 280295100: /*grantee*/ return new Property("grantee", "Reference(CareTeam|HealthcareService|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions.", 0, java.lang.Integer.MAX_VALUE, grantee); 3280 case 835260333: /*manager*/ return new Property("manager", "Reference(HealthcareService|Organization|Patient|Practitioner)", "The actor that manages the consent through its lifecycle.", 0, java.lang.Integer.MAX_VALUE, manager); 3281 case 637428636: /*controller*/ return new Property("controller", "Reference(HealthcareService|Organization|Patient|Practitioner)", "The actor that controls/enforces the access according to the consent.", 0, java.lang.Integer.MAX_VALUE, controller); 3282 case 1964406686: /*sourceAttachment*/ return new Property("sourceAttachment", "Attachment", "The source on which this consent statement is based. The source might be a scanned original paper form.", 0, java.lang.Integer.MAX_VALUE, sourceAttachment); 3283 case -244259472: /*sourceReference*/ return new Property("sourceReference", "Reference(Consent|DocumentReference|Contract|QuestionnaireResponse)", "A reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.", 0, java.lang.Integer.MAX_VALUE, sourceReference); 3284 case -1780301690: /*regulatoryBasis*/ return new Property("regulatoryBasis", "CodeableConcept", "A set of codes that indicate the regulatory basis (if any) that this consent supports.", 0, java.lang.Integer.MAX_VALUE, regulatoryBasis); 3285 case 2138287660: /*policyBasis*/ return new Property("policyBasis", "", "A Reference or URL used to uniquely identify the policy the organization will enforce for this Consent. This Reference or URL should be specific to the version of the policy and should be dereferencable to a computable policy of some form.", 0, 1, policyBasis); 3286 case 1593537919: /*policyText*/ return new Property("policyText", "Reference(DocumentReference)", "A Reference to the human readable policy explaining the basis for the Consent.", 0, java.lang.Integer.MAX_VALUE, policyText); 3287 case -1484401125: /*verification*/ return new Property("verification", "", "Whether a treatment instruction (e.g. artificial respiration: yes or no) was verified with the patient, his/her family or another authorized person.", 0, java.lang.Integer.MAX_VALUE, verification); 3288 case 565719004: /*decision*/ return new Property("decision", "code", "Action to take - permit or deny - as default.", 0, 1, decision); 3289 case -547120939: /*provision*/ return new Property("provision", "", "An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.", 0, java.lang.Integer.MAX_VALUE, provision); 3290 default: return super.getNamedProperty(_hash, _name, _checkValid); 3291 } 3292 3293 } 3294 3295 @Override 3296 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3297 switch (hash) { 3298 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3299 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ConsentState> 3300 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 3301 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 3302 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateType 3303 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 3304 case 280295423: /*grantor*/ return this.grantor == null ? new Base[0] : this.grantor.toArray(new Base[this.grantor.size()]); // Reference 3305 case 280295100: /*grantee*/ return this.grantee == null ? new Base[0] : this.grantee.toArray(new Base[this.grantee.size()]); // Reference 3306 case 835260333: /*manager*/ return this.manager == null ? new Base[0] : this.manager.toArray(new Base[this.manager.size()]); // Reference 3307 case 637428636: /*controller*/ return this.controller == null ? new Base[0] : this.controller.toArray(new Base[this.controller.size()]); // Reference 3308 case 1964406686: /*sourceAttachment*/ return this.sourceAttachment == null ? new Base[0] : this.sourceAttachment.toArray(new Base[this.sourceAttachment.size()]); // Attachment 3309 case -244259472: /*sourceReference*/ return this.sourceReference == null ? new Base[0] : this.sourceReference.toArray(new Base[this.sourceReference.size()]); // Reference 3310 case -1780301690: /*regulatoryBasis*/ return this.regulatoryBasis == null ? new Base[0] : this.regulatoryBasis.toArray(new Base[this.regulatoryBasis.size()]); // CodeableConcept 3311 case 2138287660: /*policyBasis*/ return this.policyBasis == null ? new Base[0] : new Base[] {this.policyBasis}; // ConsentPolicyBasisComponent 3312 case 1593537919: /*policyText*/ return this.policyText == null ? new Base[0] : this.policyText.toArray(new Base[this.policyText.size()]); // Reference 3313 case -1484401125: /*verification*/ return this.verification == null ? new Base[0] : this.verification.toArray(new Base[this.verification.size()]); // ConsentVerificationComponent 3314 case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // Enumeration<ConsentProvisionType> 3315 case -547120939: /*provision*/ return this.provision == null ? new Base[0] : this.provision.toArray(new Base[this.provision.size()]); // ProvisionComponent 3316 default: return super.getProperty(hash, name, checkValid); 3317 } 3318 3319 } 3320 3321 @Override 3322 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3323 switch (hash) { 3324 case -1618432855: // identifier 3325 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3326 return value; 3327 case -892481550: // status 3328 value = new ConsentStateEnumFactory().fromType(TypeConvertor.castToCode(value)); 3329 this.status = (Enumeration) value; // Enumeration<ConsentState> 3330 return value; 3331 case 50511102: // category 3332 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3333 return value; 3334 case -1867885268: // subject 3335 this.subject = TypeConvertor.castToReference(value); // Reference 3336 return value; 3337 case 3076014: // date 3338 this.date = TypeConvertor.castToDate(value); // DateType 3339 return value; 3340 case -991726143: // period 3341 this.period = TypeConvertor.castToPeriod(value); // Period 3342 return value; 3343 case 280295423: // grantor 3344 this.getGrantor().add(TypeConvertor.castToReference(value)); // Reference 3345 return value; 3346 case 280295100: // grantee 3347 this.getGrantee().add(TypeConvertor.castToReference(value)); // Reference 3348 return value; 3349 case 835260333: // manager 3350 this.getManager().add(TypeConvertor.castToReference(value)); // Reference 3351 return value; 3352 case 637428636: // controller 3353 this.getController().add(TypeConvertor.castToReference(value)); // Reference 3354 return value; 3355 case 1964406686: // sourceAttachment 3356 this.getSourceAttachment().add(TypeConvertor.castToAttachment(value)); // Attachment 3357 return value; 3358 case -244259472: // sourceReference 3359 this.getSourceReference().add(TypeConvertor.castToReference(value)); // Reference 3360 return value; 3361 case -1780301690: // regulatoryBasis 3362 this.getRegulatoryBasis().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3363 return value; 3364 case 2138287660: // policyBasis 3365 this.policyBasis = (ConsentPolicyBasisComponent) value; // ConsentPolicyBasisComponent 3366 return value; 3367 case 1593537919: // policyText 3368 this.getPolicyText().add(TypeConvertor.castToReference(value)); // Reference 3369 return value; 3370 case -1484401125: // verification 3371 this.getVerification().add((ConsentVerificationComponent) value); // ConsentVerificationComponent 3372 return value; 3373 case 565719004: // decision 3374 value = new ConsentProvisionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3375 this.decision = (Enumeration) value; // Enumeration<ConsentProvisionType> 3376 return value; 3377 case -547120939: // provision 3378 this.getProvision().add((ProvisionComponent) value); // ProvisionComponent 3379 return value; 3380 default: return super.setProperty(hash, name, value); 3381 } 3382 3383 } 3384 3385 @Override 3386 public Base setProperty(String name, Base value) throws FHIRException { 3387 if (name.equals("identifier")) { 3388 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3389 } else if (name.equals("status")) { 3390 value = new ConsentStateEnumFactory().fromType(TypeConvertor.castToCode(value)); 3391 this.status = (Enumeration) value; // Enumeration<ConsentState> 3392 } else if (name.equals("category")) { 3393 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 3394 } else if (name.equals("subject")) { 3395 this.subject = TypeConvertor.castToReference(value); // Reference 3396 } else if (name.equals("date")) { 3397 this.date = TypeConvertor.castToDate(value); // DateType 3398 } else if (name.equals("period")) { 3399 this.period = TypeConvertor.castToPeriod(value); // Period 3400 } else if (name.equals("grantor")) { 3401 this.getGrantor().add(TypeConvertor.castToReference(value)); 3402 } else if (name.equals("grantee")) { 3403 this.getGrantee().add(TypeConvertor.castToReference(value)); 3404 } else if (name.equals("manager")) { 3405 this.getManager().add(TypeConvertor.castToReference(value)); 3406 } else if (name.equals("controller")) { 3407 this.getController().add(TypeConvertor.castToReference(value)); 3408 } else if (name.equals("sourceAttachment")) { 3409 this.getSourceAttachment().add(TypeConvertor.castToAttachment(value)); 3410 } else if (name.equals("sourceReference")) { 3411 this.getSourceReference().add(TypeConvertor.castToReference(value)); 3412 } else if (name.equals("regulatoryBasis")) { 3413 this.getRegulatoryBasis().add(TypeConvertor.castToCodeableConcept(value)); 3414 } else if (name.equals("policyBasis")) { 3415 this.policyBasis = (ConsentPolicyBasisComponent) value; // ConsentPolicyBasisComponent 3416 } else if (name.equals("policyText")) { 3417 this.getPolicyText().add(TypeConvertor.castToReference(value)); 3418 } else if (name.equals("verification")) { 3419 this.getVerification().add((ConsentVerificationComponent) value); 3420 } else if (name.equals("decision")) { 3421 value = new ConsentProvisionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3422 this.decision = (Enumeration) value; // Enumeration<ConsentProvisionType> 3423 } else if (name.equals("provision")) { 3424 this.getProvision().add((ProvisionComponent) value); 3425 } else 3426 return super.setProperty(name, value); 3427 return value; 3428 } 3429 3430 @Override 3431 public Base makeProperty(int hash, String name) throws FHIRException { 3432 switch (hash) { 3433 case -1618432855: return addIdentifier(); 3434 case -892481550: return getStatusElement(); 3435 case 50511102: return addCategory(); 3436 case -1867885268: return getSubject(); 3437 case 3076014: return getDateElement(); 3438 case -991726143: return getPeriod(); 3439 case 280295423: return addGrantor(); 3440 case 280295100: return addGrantee(); 3441 case 835260333: return addManager(); 3442 case 637428636: return addController(); 3443 case 1964406686: return addSourceAttachment(); 3444 case -244259472: return addSourceReference(); 3445 case -1780301690: return addRegulatoryBasis(); 3446 case 2138287660: return getPolicyBasis(); 3447 case 1593537919: return addPolicyText(); 3448 case -1484401125: return addVerification(); 3449 case 565719004: return getDecisionElement(); 3450 case -547120939: return addProvision(); 3451 default: return super.makeProperty(hash, name); 3452 } 3453 3454 } 3455 3456 @Override 3457 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3458 switch (hash) { 3459 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3460 case -892481550: /*status*/ return new String[] {"code"}; 3461 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 3462 case -1867885268: /*subject*/ return new String[] {"Reference"}; 3463 case 3076014: /*date*/ return new String[] {"date"}; 3464 case -991726143: /*period*/ return new String[] {"Period"}; 3465 case 280295423: /*grantor*/ return new String[] {"Reference"}; 3466 case 280295100: /*grantee*/ return new String[] {"Reference"}; 3467 case 835260333: /*manager*/ return new String[] {"Reference"}; 3468 case 637428636: /*controller*/ return new String[] {"Reference"}; 3469 case 1964406686: /*sourceAttachment*/ return new String[] {"Attachment"}; 3470 case -244259472: /*sourceReference*/ return new String[] {"Reference"}; 3471 case -1780301690: /*regulatoryBasis*/ return new String[] {"CodeableConcept"}; 3472 case 2138287660: /*policyBasis*/ return new String[] {}; 3473 case 1593537919: /*policyText*/ return new String[] {"Reference"}; 3474 case -1484401125: /*verification*/ return new String[] {}; 3475 case 565719004: /*decision*/ return new String[] {"code"}; 3476 case -547120939: /*provision*/ return new String[] {}; 3477 default: return super.getTypesForProperty(hash, name); 3478 } 3479 3480 } 3481 3482 @Override 3483 public Base addChild(String name) throws FHIRException { 3484 if (name.equals("identifier")) { 3485 return addIdentifier(); 3486 } 3487 else if (name.equals("status")) { 3488 throw new FHIRException("Cannot call addChild on a singleton property Consent.status"); 3489 } 3490 else if (name.equals("category")) { 3491 return addCategory(); 3492 } 3493 else if (name.equals("subject")) { 3494 this.subject = new Reference(); 3495 return this.subject; 3496 } 3497 else if (name.equals("date")) { 3498 throw new FHIRException("Cannot call addChild on a singleton property Consent.date"); 3499 } 3500 else if (name.equals("period")) { 3501 this.period = new Period(); 3502 return this.period; 3503 } 3504 else if (name.equals("grantor")) { 3505 return addGrantor(); 3506 } 3507 else if (name.equals("grantee")) { 3508 return addGrantee(); 3509 } 3510 else if (name.equals("manager")) { 3511 return addManager(); 3512 } 3513 else if (name.equals("controller")) { 3514 return addController(); 3515 } 3516 else if (name.equals("sourceAttachment")) { 3517 return addSourceAttachment(); 3518 } 3519 else if (name.equals("sourceReference")) { 3520 return addSourceReference(); 3521 } 3522 else if (name.equals("regulatoryBasis")) { 3523 return addRegulatoryBasis(); 3524 } 3525 else if (name.equals("policyBasis")) { 3526 this.policyBasis = new ConsentPolicyBasisComponent(); 3527 return this.policyBasis; 3528 } 3529 else if (name.equals("policyText")) { 3530 return addPolicyText(); 3531 } 3532 else if (name.equals("verification")) { 3533 return addVerification(); 3534 } 3535 else if (name.equals("decision")) { 3536 throw new FHIRException("Cannot call addChild on a singleton property Consent.decision"); 3537 } 3538 else if (name.equals("provision")) { 3539 return addProvision(); 3540 } 3541 else 3542 return super.addChild(name); 3543 } 3544 3545 public String fhirType() { 3546 return "Consent"; 3547 3548 } 3549 3550 public Consent copy() { 3551 Consent dst = new Consent(); 3552 copyValues(dst); 3553 return dst; 3554 } 3555 3556 public void copyValues(Consent dst) { 3557 super.copyValues(dst); 3558 if (identifier != null) { 3559 dst.identifier = new ArrayList<Identifier>(); 3560 for (Identifier i : identifier) 3561 dst.identifier.add(i.copy()); 3562 }; 3563 dst.status = status == null ? null : status.copy(); 3564 if (category != null) { 3565 dst.category = new ArrayList<CodeableConcept>(); 3566 for (CodeableConcept i : category) 3567 dst.category.add(i.copy()); 3568 }; 3569 dst.subject = subject == null ? null : subject.copy(); 3570 dst.date = date == null ? null : date.copy(); 3571 dst.period = period == null ? null : period.copy(); 3572 if (grantor != null) { 3573 dst.grantor = new ArrayList<Reference>(); 3574 for (Reference i : grantor) 3575 dst.grantor.add(i.copy()); 3576 }; 3577 if (grantee != null) { 3578 dst.grantee = new ArrayList<Reference>(); 3579 for (Reference i : grantee) 3580 dst.grantee.add(i.copy()); 3581 }; 3582 if (manager != null) { 3583 dst.manager = new ArrayList<Reference>(); 3584 for (Reference i : manager) 3585 dst.manager.add(i.copy()); 3586 }; 3587 if (controller != null) { 3588 dst.controller = new ArrayList<Reference>(); 3589 for (Reference i : controller) 3590 dst.controller.add(i.copy()); 3591 }; 3592 if (sourceAttachment != null) { 3593 dst.sourceAttachment = new ArrayList<Attachment>(); 3594 for (Attachment i : sourceAttachment) 3595 dst.sourceAttachment.add(i.copy()); 3596 }; 3597 if (sourceReference != null) { 3598 dst.sourceReference = new ArrayList<Reference>(); 3599 for (Reference i : sourceReference) 3600 dst.sourceReference.add(i.copy()); 3601 }; 3602 if (regulatoryBasis != null) { 3603 dst.regulatoryBasis = new ArrayList<CodeableConcept>(); 3604 for (CodeableConcept i : regulatoryBasis) 3605 dst.regulatoryBasis.add(i.copy()); 3606 }; 3607 dst.policyBasis = policyBasis == null ? null : policyBasis.copy(); 3608 if (policyText != null) { 3609 dst.policyText = new ArrayList<Reference>(); 3610 for (Reference i : policyText) 3611 dst.policyText.add(i.copy()); 3612 }; 3613 if (verification != null) { 3614 dst.verification = new ArrayList<ConsentVerificationComponent>(); 3615 for (ConsentVerificationComponent i : verification) 3616 dst.verification.add(i.copy()); 3617 }; 3618 dst.decision = decision == null ? null : decision.copy(); 3619 if (provision != null) { 3620 dst.provision = new ArrayList<ProvisionComponent>(); 3621 for (ProvisionComponent i : provision) 3622 dst.provision.add(i.copy()); 3623 }; 3624 } 3625 3626 protected Consent typedCopy() { 3627 return copy(); 3628 } 3629 3630 @Override 3631 public boolean equalsDeep(Base other_) { 3632 if (!super.equalsDeep(other_)) 3633 return false; 3634 if (!(other_ instanceof Consent)) 3635 return false; 3636 Consent o = (Consent) other_; 3637 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true) 3638 && compareDeep(subject, o.subject, true) && compareDeep(date, o.date, true) && compareDeep(period, o.period, true) 3639 && compareDeep(grantor, o.grantor, true) && compareDeep(grantee, o.grantee, true) && compareDeep(manager, o.manager, true) 3640 && compareDeep(controller, o.controller, true) && compareDeep(sourceAttachment, o.sourceAttachment, true) 3641 && compareDeep(sourceReference, o.sourceReference, true) && compareDeep(regulatoryBasis, o.regulatoryBasis, true) 3642 && compareDeep(policyBasis, o.policyBasis, true) && compareDeep(policyText, o.policyText, true) 3643 && compareDeep(verification, o.verification, true) && compareDeep(decision, o.decision, true) && compareDeep(provision, o.provision, true) 3644 ; 3645 } 3646 3647 @Override 3648 public boolean equalsShallow(Base other_) { 3649 if (!super.equalsShallow(other_)) 3650 return false; 3651 if (!(other_ instanceof Consent)) 3652 return false; 3653 Consent o = (Consent) other_; 3654 return compareValues(status, o.status, true) && compareValues(date, o.date, true) && compareValues(decision, o.decision, true) 3655 ; 3656 } 3657 3658 public boolean isEmpty() { 3659 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category 3660 , subject, date, period, grantor, grantee, manager, controller, sourceAttachment 3661 , sourceReference, regulatoryBasis, policyBasis, policyText, verification, decision 3662 , provision); 3663 } 3664 3665 @Override 3666 public ResourceType getResourceType() { 3667 return ResourceType.Consent; 3668 } 3669 3670 /** 3671 * Search parameter: <b>action</b> 3672 * <p> 3673 * Description: <b>Actions controlled by this rule</b><br> 3674 * Type: <b>token</b><br> 3675 * Path: <b>Consent.provision.action</b><br> 3676 * </p> 3677 */ 3678 @SearchParamDefinition(name="action", path="Consent.provision.action", description="Actions controlled by this rule", type="token" ) 3679 public static final String SP_ACTION = "action"; 3680 /** 3681 * <b>Fluent Client</b> search parameter constant for <b>action</b> 3682 * <p> 3683 * Description: <b>Actions controlled by this rule</b><br> 3684 * Type: <b>token</b><br> 3685 * Path: <b>Consent.provision.action</b><br> 3686 * </p> 3687 */ 3688 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACTION); 3689 3690 /** 3691 * Search parameter: <b>actor</b> 3692 * <p> 3693 * Description: <b>Resource for the actor (or group, by role)</b><br> 3694 * Type: <b>reference</b><br> 3695 * Path: <b>Consent.provision.actor.reference</b><br> 3696 * </p> 3697 */ 3698 @SearchParamDefinition(name="actor", path="Consent.provision.actor.reference", description="Resource for the actor (or group, by role)", type="reference", target={CareTeam.class, Device.class, Group.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 3699 public static final String SP_ACTOR = "actor"; 3700 /** 3701 * <b>Fluent Client</b> search parameter constant for <b>actor</b> 3702 * <p> 3703 * Description: <b>Resource for the actor (or group, by role)</b><br> 3704 * Type: <b>reference</b><br> 3705 * Path: <b>Consent.provision.actor.reference</b><br> 3706 * </p> 3707 */ 3708 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ACTOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ACTOR); 3709 3710/** 3711 * Constant for fluent queries to be used to add include statements. Specifies 3712 * the path value of "<b>Consent:actor</b>". 3713 */ 3714 public static final ca.uhn.fhir.model.api.Include INCLUDE_ACTOR = new ca.uhn.fhir.model.api.Include("Consent:actor").toLocked(); 3715 3716 /** 3717 * Search parameter: <b>category</b> 3718 * <p> 3719 * Description: <b>Classification of the consent statement - for indexing/retrieval</b><br> 3720 * Type: <b>token</b><br> 3721 * Path: <b>Consent.category</b><br> 3722 * </p> 3723 */ 3724 @SearchParamDefinition(name="category", path="Consent.category", description="Classification of the consent statement - for indexing/retrieval", type="token" ) 3725 public static final String SP_CATEGORY = "category"; 3726 /** 3727 * <b>Fluent Client</b> search parameter constant for <b>category</b> 3728 * <p> 3729 * Description: <b>Classification of the consent statement - for indexing/retrieval</b><br> 3730 * Type: <b>token</b><br> 3731 * Path: <b>Consent.category</b><br> 3732 * </p> 3733 */ 3734 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 3735 3736 /** 3737 * Search parameter: <b>controller</b> 3738 * <p> 3739 * Description: <b>Consent Enforcer</b><br> 3740 * Type: <b>reference</b><br> 3741 * Path: <b>Consent.controller</b><br> 3742 * </p> 3743 */ 3744 @SearchParamDefinition(name="controller", path="Consent.controller", description="Consent Enforcer", type="reference", target={HealthcareService.class, Organization.class, Patient.class, Practitioner.class } ) 3745 public static final String SP_CONTROLLER = "controller"; 3746 /** 3747 * <b>Fluent Client</b> search parameter constant for <b>controller</b> 3748 * <p> 3749 * Description: <b>Consent Enforcer</b><br> 3750 * Type: <b>reference</b><br> 3751 * Path: <b>Consent.controller</b><br> 3752 * </p> 3753 */ 3754 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTROLLER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTROLLER); 3755 3756/** 3757 * Constant for fluent queries to be used to add include statements. Specifies 3758 * the path value of "<b>Consent:controller</b>". 3759 */ 3760 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTROLLER = new ca.uhn.fhir.model.api.Include("Consent:controller").toLocked(); 3761 3762 /** 3763 * Search parameter: <b>data</b> 3764 * <p> 3765 * Description: <b>The actual data reference</b><br> 3766 * Type: <b>reference</b><br> 3767 * Path: <b>Consent.provision.data.reference</b><br> 3768 * </p> 3769 */ 3770 @SearchParamDefinition(name="data", path="Consent.provision.data.reference", description="The actual data reference", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 3771 public static final String SP_DATA = "data"; 3772 /** 3773 * <b>Fluent Client</b> search parameter constant for <b>data</b> 3774 * <p> 3775 * Description: <b>The actual data reference</b><br> 3776 * Type: <b>reference</b><br> 3777 * Path: <b>Consent.provision.data.reference</b><br> 3778 * </p> 3779 */ 3780 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DATA = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DATA); 3781 3782/** 3783 * Constant for fluent queries to be used to add include statements. Specifies 3784 * the path value of "<b>Consent:data</b>". 3785 */ 3786 public static final ca.uhn.fhir.model.api.Include INCLUDE_DATA = new ca.uhn.fhir.model.api.Include("Consent:data").toLocked(); 3787 3788 /** 3789 * Search parameter: <b>grantee</b> 3790 * <p> 3791 * Description: <b>Who is agreeing to the policy and rules</b><br> 3792 * Type: <b>reference</b><br> 3793 * Path: <b>Consent.grantee</b><br> 3794 * </p> 3795 */ 3796 @SearchParamDefinition(name="grantee", path="Consent.grantee", description="Who is agreeing to the policy and rules", type="reference", target={CareTeam.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 3797 public static final String SP_GRANTEE = "grantee"; 3798 /** 3799 * <b>Fluent Client</b> search parameter constant for <b>grantee</b> 3800 * <p> 3801 * Description: <b>Who is agreeing to the policy and rules</b><br> 3802 * Type: <b>reference</b><br> 3803 * Path: <b>Consent.grantee</b><br> 3804 * </p> 3805 */ 3806 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam GRANTEE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_GRANTEE); 3807 3808/** 3809 * Constant for fluent queries to be used to add include statements. Specifies 3810 * the path value of "<b>Consent:grantee</b>". 3811 */ 3812 public static final ca.uhn.fhir.model.api.Include INCLUDE_GRANTEE = new ca.uhn.fhir.model.api.Include("Consent:grantee").toLocked(); 3813 3814 /** 3815 * Search parameter: <b>manager</b> 3816 * <p> 3817 * Description: <b>Consent workflow management</b><br> 3818 * Type: <b>reference</b><br> 3819 * Path: <b>Consent.manager</b><br> 3820 * </p> 3821 */ 3822 @SearchParamDefinition(name="manager", path="Consent.manager", description="Consent workflow management", type="reference", target={HealthcareService.class, Organization.class, Patient.class, Practitioner.class } ) 3823 public static final String SP_MANAGER = "manager"; 3824 /** 3825 * <b>Fluent Client</b> search parameter constant for <b>manager</b> 3826 * <p> 3827 * Description: <b>Consent workflow management</b><br> 3828 * Type: <b>reference</b><br> 3829 * Path: <b>Consent.manager</b><br> 3830 * </p> 3831 */ 3832 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MANAGER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MANAGER); 3833 3834/** 3835 * Constant for fluent queries to be used to add include statements. Specifies 3836 * the path value of "<b>Consent:manager</b>". 3837 */ 3838 public static final ca.uhn.fhir.model.api.Include INCLUDE_MANAGER = new ca.uhn.fhir.model.api.Include("Consent:manager").toLocked(); 3839 3840 /** 3841 * Search parameter: <b>period</b> 3842 * <p> 3843 * Description: <b>Timeframe for this rule</b><br> 3844 * Type: <b>date</b><br> 3845 * Path: <b>Consent.provision.period</b><br> 3846 * </p> 3847 */ 3848 @SearchParamDefinition(name="period", path="Consent.provision.period", description="Timeframe for this rule", type="date" ) 3849 public static final String SP_PERIOD = "period"; 3850 /** 3851 * <b>Fluent Client</b> search parameter constant for <b>period</b> 3852 * <p> 3853 * Description: <b>Timeframe for this rule</b><br> 3854 * Type: <b>date</b><br> 3855 * Path: <b>Consent.provision.period</b><br> 3856 * </p> 3857 */ 3858 public static final ca.uhn.fhir.rest.gclient.DateClientParam PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PERIOD); 3859 3860 /** 3861 * Search parameter: <b>purpose</b> 3862 * <p> 3863 * Description: <b>Context of activities covered by this rule</b><br> 3864 * Type: <b>token</b><br> 3865 * Path: <b>Consent.provision.purpose</b><br> 3866 * </p> 3867 */ 3868 @SearchParamDefinition(name="purpose", path="Consent.provision.purpose", description="Context of activities covered by this rule", type="token" ) 3869 public static final String SP_PURPOSE = "purpose"; 3870 /** 3871 * <b>Fluent Client</b> search parameter constant for <b>purpose</b> 3872 * <p> 3873 * Description: <b>Context of activities covered by this rule</b><br> 3874 * Type: <b>token</b><br> 3875 * Path: <b>Consent.provision.purpose</b><br> 3876 * </p> 3877 */ 3878 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PURPOSE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PURPOSE); 3879 3880 /** 3881 * Search parameter: <b>security-label</b> 3882 * <p> 3883 * Description: <b>Security Labels that define affected resources</b><br> 3884 * Type: <b>token</b><br> 3885 * Path: <b>Consent.provision.securityLabel</b><br> 3886 * </p> 3887 */ 3888 @SearchParamDefinition(name="security-label", path="Consent.provision.securityLabel", description="Security Labels that define affected resources", type="token" ) 3889 public static final String SP_SECURITY_LABEL = "security-label"; 3890 /** 3891 * <b>Fluent Client</b> search parameter constant for <b>security-label</b> 3892 * <p> 3893 * Description: <b>Security Labels that define affected resources</b><br> 3894 * Type: <b>token</b><br> 3895 * Path: <b>Consent.provision.securityLabel</b><br> 3896 * </p> 3897 */ 3898 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SECURITY_LABEL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SECURITY_LABEL); 3899 3900 /** 3901 * Search parameter: <b>source-reference</b> 3902 * <p> 3903 * Description: <b>Search by reference to a Consent, DocumentReference, Contract or QuestionnaireResponse</b><br> 3904 * Type: <b>reference</b><br> 3905 * Path: <b>Consent.sourceReference</b><br> 3906 * </p> 3907 */ 3908 @SearchParamDefinition(name="source-reference", path="Consent.sourceReference", description="Search by reference to a Consent, DocumentReference, Contract or QuestionnaireResponse", type="reference", target={Consent.class, Contract.class, DocumentReference.class, QuestionnaireResponse.class } ) 3909 public static final String SP_SOURCE_REFERENCE = "source-reference"; 3910 /** 3911 * <b>Fluent Client</b> search parameter constant for <b>source-reference</b> 3912 * <p> 3913 * Description: <b>Search by reference to a Consent, DocumentReference, Contract or QuestionnaireResponse</b><br> 3914 * Type: <b>reference</b><br> 3915 * Path: <b>Consent.sourceReference</b><br> 3916 * </p> 3917 */ 3918 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_REFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE_REFERENCE); 3919 3920/** 3921 * Constant for fluent queries to be used to add include statements. Specifies 3922 * the path value of "<b>Consent:source-reference</b>". 3923 */ 3924 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_REFERENCE = new ca.uhn.fhir.model.api.Include("Consent:source-reference").toLocked(); 3925 3926 /** 3927 * Search parameter: <b>status</b> 3928 * <p> 3929 * Description: <b>draft | active | inactive | entered-in-error | unknown</b><br> 3930 * Type: <b>token</b><br> 3931 * Path: <b>Consent.status</b><br> 3932 * </p> 3933 */ 3934 @SearchParamDefinition(name="status", path="Consent.status", description="draft | active | inactive | entered-in-error | unknown", type="token" ) 3935 public static final String SP_STATUS = "status"; 3936 /** 3937 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3938 * <p> 3939 * Description: <b>draft | active | inactive | entered-in-error | unknown</b><br> 3940 * Type: <b>token</b><br> 3941 * Path: <b>Consent.status</b><br> 3942 * </p> 3943 */ 3944 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3945 3946 /** 3947 * Search parameter: <b>subject</b> 3948 * <p> 3949 * Description: <b>Who the consent applies to</b><br> 3950 * Type: <b>reference</b><br> 3951 * Path: <b>Consent.subject</b><br> 3952 * </p> 3953 */ 3954 @SearchParamDefinition(name="subject", path="Consent.subject", description="Who the consent applies to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class, Practitioner.class } ) 3955 public static final String SP_SUBJECT = "subject"; 3956 /** 3957 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 3958 * <p> 3959 * Description: <b>Who the consent applies to</b><br> 3960 * Type: <b>reference</b><br> 3961 * Path: <b>Consent.subject</b><br> 3962 * </p> 3963 */ 3964 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 3965 3966/** 3967 * Constant for fluent queries to be used to add include statements. Specifies 3968 * the path value of "<b>Consent:subject</b>". 3969 */ 3970 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Consent:subject").toLocked(); 3971 3972 /** 3973 * Search parameter: <b>verified-date</b> 3974 * <p> 3975 * Description: <b>When consent verified</b><br> 3976 * Type: <b>date</b><br> 3977 * Path: <b>Consent.verification.verificationDate</b><br> 3978 * </p> 3979 */ 3980 @SearchParamDefinition(name="verified-date", path="Consent.verification.verificationDate", description="When consent verified", type="date" ) 3981 public static final String SP_VERIFIED_DATE = "verified-date"; 3982 /** 3983 * <b>Fluent Client</b> search parameter constant for <b>verified-date</b> 3984 * <p> 3985 * Description: <b>When consent verified</b><br> 3986 * Type: <b>date</b><br> 3987 * Path: <b>Consent.verification.verificationDate</b><br> 3988 * </p> 3989 */ 3990 public static final ca.uhn.fhir.rest.gclient.DateClientParam VERIFIED_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_VERIFIED_DATE); 3991 3992 /** 3993 * Search parameter: <b>verified</b> 3994 * <p> 3995 * Description: <b>Has been verified</b><br> 3996 * Type: <b>token</b><br> 3997 * Path: <b>Consent.verification.verified</b><br> 3998 * </p> 3999 */ 4000 @SearchParamDefinition(name="verified", path="Consent.verification.verified", description="Has been verified", type="token" ) 4001 public static final String SP_VERIFIED = "verified"; 4002 /** 4003 * <b>Fluent Client</b> search parameter constant for <b>verified</b> 4004 * <p> 4005 * Description: <b>Has been verified</b><br> 4006 * Type: <b>token</b><br> 4007 * Path: <b>Consent.verification.verified</b><br> 4008 * </p> 4009 */ 4010 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERIFIED = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERIFIED); 4011 4012 /** 4013 * Search parameter: <b>date</b> 4014 * <p> 4015 * Description: <b>Multiple Resources: 4016 4017* [AdverseEvent](adverseevent.html): When the event occurred 4018* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 4019* [Appointment](appointment.html): Appointment date/time. 4020* [AuditEvent](auditevent.html): Time when the event was recorded 4021* [CarePlan](careplan.html): Time period plan covers 4022* [CareTeam](careteam.html): A date within the coverage time period. 4023* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 4024* [Composition](composition.html): Composition editing time 4025* [Consent](consent.html): When consent was agreed to 4026* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 4027* [DocumentReference](documentreference.html): When this document reference was created 4028* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 4029* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 4030* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 4031* [Flag](flag.html): Time period when flag is active 4032* [Immunization](immunization.html): Vaccination (non)-Administration Date 4033* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated 4034* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created 4035* [Invoice](invoice.html): Invoice date / posting date 4036* [List](list.html): When the list was prepared 4037* [MeasureReport](measurereport.html): The date of the measure report 4038* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication 4039* [Observation](observation.html): Clinically relevant time/time-period for observation 4040* [Procedure](procedure.html): When the procedure occurred or is occurring 4041* [ResearchSubject](researchsubject.html): Start and end of participation 4042* [RiskAssessment](riskassessment.html): When was assessment made? 4043* [SupplyRequest](supplyrequest.html): When the request was made 4044</b><br> 4045 * Type: <b>date</b><br> 4046 * 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> 4047 * </p> 4048 */ 4049 @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" ) 4050 public static final String SP_DATE = "date"; 4051 /** 4052 * <b>Fluent Client</b> search parameter constant for <b>date</b> 4053 * <p> 4054 * Description: <b>Multiple Resources: 4055 4056* [AdverseEvent](adverseevent.html): When the event occurred 4057* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 4058* [Appointment](appointment.html): Appointment date/time. 4059* [AuditEvent](auditevent.html): Time when the event was recorded 4060* [CarePlan](careplan.html): Time period plan covers 4061* [CareTeam](careteam.html): A date within the coverage time period. 4062* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 4063* [Composition](composition.html): Composition editing time 4064* [Consent](consent.html): When consent was agreed to 4065* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 4066* [DocumentReference](documentreference.html): When this document reference was created 4067* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 4068* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 4069* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 4070* [Flag](flag.html): Time period when flag is active 4071* [Immunization](immunization.html): Vaccination (non)-Administration Date 4072* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated 4073* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created 4074* [Invoice](invoice.html): Invoice date / posting date 4075* [List](list.html): When the list was prepared 4076* [MeasureReport](measurereport.html): The date of the measure report 4077* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication 4078* [Observation](observation.html): Clinically relevant time/time-period for observation 4079* [Procedure](procedure.html): When the procedure occurred or is occurring 4080* [ResearchSubject](researchsubject.html): Start and end of participation 4081* [RiskAssessment](riskassessment.html): When was assessment made? 4082* [SupplyRequest](supplyrequest.html): When the request was made 4083</b><br> 4084 * Type: <b>date</b><br> 4085 * 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> 4086 * </p> 4087 */ 4088 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 4089 4090 /** 4091 * Search parameter: <b>identifier</b> 4092 * <p> 4093 * Description: <b>Multiple Resources: 4094 4095* [Account](account.html): Account number 4096* [AdverseEvent](adverseevent.html): Business identifier for the event 4097* [AllergyIntolerance](allergyintolerance.html): External ids for this item 4098* [Appointment](appointment.html): An Identifier of the Appointment 4099* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 4100* [Basic](basic.html): Business identifier 4101* [BodyStructure](bodystructure.html): Bodystructure identifier 4102* [CarePlan](careplan.html): External Ids for this plan 4103* [CareTeam](careteam.html): External Ids for this team 4104* [ChargeItem](chargeitem.html): Business Identifier for item 4105* [Claim](claim.html): The primary identifier of the financial resource 4106* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 4107* [ClinicalImpression](clinicalimpression.html): Business identifier 4108* [Communication](communication.html): Unique identifier 4109* [CommunicationRequest](communicationrequest.html): Unique identifier 4110* [Composition](composition.html): Version-independent identifier for the Composition 4111* [Condition](condition.html): A unique identifier of the condition record 4112* [Consent](consent.html): Identifier for this record (external references) 4113* [Contract](contract.html): The identity of the contract 4114* [Coverage](coverage.html): The primary identifier of the insured and the coverage 4115* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 4116* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 4117* [DetectedIssue](detectedissue.html): Unique id for the detected issue 4118* [DeviceRequest](devicerequest.html): Business identifier for request/order 4119* [DeviceUsage](deviceusage.html): Search by identifier 4120* [DiagnosticReport](diagnosticreport.html): An identifier for the report 4121* [DocumentReference](documentreference.html): Identifier of the attachment binary 4122* [Encounter](encounter.html): Identifier(s) by which this encounter is known 4123* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 4124* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 4125* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 4126* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 4127* [Flag](flag.html): Business identifier 4128* [Goal](goal.html): External Ids for this goal 4129* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 4130* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 4131* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 4132* [Immunization](immunization.html): Business identifier 4133* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 4134* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 4135* [Invoice](invoice.html): Business Identifier for item 4136* [List](list.html): Business identifier 4137* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 4138* [Medication](medication.html): Returns medications with this external identifier 4139* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 4140* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 4141* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 4142* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 4143* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 4144* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 4145* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 4146* [Observation](observation.html): The unique id for a particular observation 4147* [Person](person.html): A person Identifier 4148* [Procedure](procedure.html): A unique identifier for a procedure 4149* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 4150* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 4151* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 4152* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 4153* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 4154* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 4155* [Specimen](specimen.html): The unique identifier associated with the specimen 4156* [SupplyDelivery](supplydelivery.html): External identifier 4157* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 4158* [Task](task.html): Search for a task instance by its business identifier 4159* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 4160</b><br> 4161 * Type: <b>token</b><br> 4162 * 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> 4163 * </p> 4164 */ 4165 @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" ) 4166 public static final String SP_IDENTIFIER = "identifier"; 4167 /** 4168 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4169 * <p> 4170 * Description: <b>Multiple Resources: 4171 4172* [Account](account.html): Account number 4173* [AdverseEvent](adverseevent.html): Business identifier for the event 4174* [AllergyIntolerance](allergyintolerance.html): External ids for this item 4175* [Appointment](appointment.html): An Identifier of the Appointment 4176* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 4177* [Basic](basic.html): Business identifier 4178* [BodyStructure](bodystructure.html): Bodystructure identifier 4179* [CarePlan](careplan.html): External Ids for this plan 4180* [CareTeam](careteam.html): External Ids for this team 4181* [ChargeItem](chargeitem.html): Business Identifier for item 4182* [Claim](claim.html): The primary identifier of the financial resource 4183* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 4184* [ClinicalImpression](clinicalimpression.html): Business identifier 4185* [Communication](communication.html): Unique identifier 4186* [CommunicationRequest](communicationrequest.html): Unique identifier 4187* [Composition](composition.html): Version-independent identifier for the Composition 4188* [Condition](condition.html): A unique identifier of the condition record 4189* [Consent](consent.html): Identifier for this record (external references) 4190* [Contract](contract.html): The identity of the contract 4191* [Coverage](coverage.html): The primary identifier of the insured and the coverage 4192* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 4193* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 4194* [DetectedIssue](detectedissue.html): Unique id for the detected issue 4195* [DeviceRequest](devicerequest.html): Business identifier for request/order 4196* [DeviceUsage](deviceusage.html): Search by identifier 4197* [DiagnosticReport](diagnosticreport.html): An identifier for the report 4198* [DocumentReference](documentreference.html): Identifier of the attachment binary 4199* [Encounter](encounter.html): Identifier(s) by which this encounter is known 4200* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 4201* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 4202* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 4203* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 4204* [Flag](flag.html): Business identifier 4205* [Goal](goal.html): External Ids for this goal 4206* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 4207* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 4208* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 4209* [Immunization](immunization.html): Business identifier 4210* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 4211* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 4212* [Invoice](invoice.html): Business Identifier for item 4213* [List](list.html): Business identifier 4214* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 4215* [Medication](medication.html): Returns medications with this external identifier 4216* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 4217* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 4218* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 4219* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 4220* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 4221* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 4222* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 4223* [Observation](observation.html): The unique id for a particular observation 4224* [Person](person.html): A person Identifier 4225* [Procedure](procedure.html): A unique identifier for a procedure 4226* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 4227* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 4228* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 4229* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 4230* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 4231* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 4232* [Specimen](specimen.html): The unique identifier associated with the specimen 4233* [SupplyDelivery](supplydelivery.html): External identifier 4234* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 4235* [Task](task.html): Search for a task instance by its business identifier 4236* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 4237</b><br> 4238 * Type: <b>token</b><br> 4239 * 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> 4240 * </p> 4241 */ 4242 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4243 4244 /** 4245 * Search parameter: <b>patient</b> 4246 * <p> 4247 * Description: <b>Multiple Resources: 4248 4249* [Account](account.html): The entity that caused the expenses 4250* [AdverseEvent](adverseevent.html): Subject impacted by event 4251* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 4252* [Appointment](appointment.html): One of the individuals of the appointment is this patient 4253* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 4254* [AuditEvent](auditevent.html): Where the activity involved patient data 4255* [Basic](basic.html): Identifies the focus of this resource 4256* [BodyStructure](bodystructure.html): Who this is about 4257* [CarePlan](careplan.html): Who the care plan is for 4258* [CareTeam](careteam.html): Who care team is for 4259* [ChargeItem](chargeitem.html): Individual service was done for/to 4260* [Claim](claim.html): Patient receiving the products or services 4261* [ClaimResponse](claimresponse.html): The subject of care 4262* [ClinicalImpression](clinicalimpression.html): Patient assessed 4263* [Communication](communication.html): Focus of message 4264* [CommunicationRequest](communicationrequest.html): Focus of message 4265* [Composition](composition.html): Who and/or what the composition is about 4266* [Condition](condition.html): Who has the condition? 4267* [Consent](consent.html): Who the consent applies to 4268* [Contract](contract.html): The identity of the subject of the contract (if a patient) 4269* [Coverage](coverage.html): Retrieve coverages for a patient 4270* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 4271* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 4272* [DetectedIssue](detectedissue.html): Associated patient 4273* [DeviceRequest](devicerequest.html): Individual the service is ordered for 4274* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 4275* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 4276* [DocumentReference](documentreference.html): Who/what is the subject of the document 4277* [Encounter](encounter.html): The patient present at the encounter 4278* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 4279* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 4280* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 4281* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 4282* [Flag](flag.html): The identity of a subject to list flags for 4283* [Goal](goal.html): Who this goal is intended for 4284* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 4285* [ImagingSelection](imagingselection.html): Who the study is about 4286* [ImagingStudy](imagingstudy.html): Who the study is about 4287* [Immunization](immunization.html): The patient for the vaccination record 4288* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 4289* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 4290* [Invoice](invoice.html): Recipient(s) of goods and services 4291* [List](list.html): If all resources have the same subject 4292* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 4293* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 4294* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 4295* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 4296* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 4297* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 4298* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 4299* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 4300* [Observation](observation.html): The subject that the observation is about (if patient) 4301* [Person](person.html): The Person links to this Patient 4302* [Procedure](procedure.html): Search by subject - a patient 4303* [Provenance](provenance.html): Where the activity involved patient data 4304* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 4305* [RelatedPerson](relatedperson.html): The patient this related person is related to 4306* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 4307* [ResearchSubject](researchsubject.html): Who or what is part of study 4308* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 4309* [ServiceRequest](servicerequest.html): Search by subject - a patient 4310* [Specimen](specimen.html): The patient the specimen comes from 4311* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 4312* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 4313* [Task](task.html): Search by patient 4314* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 4315</b><br> 4316 * Type: <b>reference</b><br> 4317 * 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> 4318 * </p> 4319 */ 4320 @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", target={Patient.class } ) 4321 public static final String SP_PATIENT = "patient"; 4322 /** 4323 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 4324 * <p> 4325 * Description: <b>Multiple Resources: 4326 4327* [Account](account.html): The entity that caused the expenses 4328* [AdverseEvent](adverseevent.html): Subject impacted by event 4329* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 4330* [Appointment](appointment.html): One of the individuals of the appointment is this patient 4331* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 4332* [AuditEvent](auditevent.html): Where the activity involved patient data 4333* [Basic](basic.html): Identifies the focus of this resource 4334* [BodyStructure](bodystructure.html): Who this is about 4335* [CarePlan](careplan.html): Who the care plan is for 4336* [CareTeam](careteam.html): Who care team is for 4337* [ChargeItem](chargeitem.html): Individual service was done for/to 4338* [Claim](claim.html): Patient receiving the products or services 4339* [ClaimResponse](claimresponse.html): The subject of care 4340* [ClinicalImpression](clinicalimpression.html): Patient assessed 4341* [Communication](communication.html): Focus of message 4342* [CommunicationRequest](communicationrequest.html): Focus of message 4343* [Composition](composition.html): Who and/or what the composition is about 4344* [Condition](condition.html): Who has the condition? 4345* [Consent](consent.html): Who the consent applies to 4346* [Contract](contract.html): The identity of the subject of the contract (if a patient) 4347* [Coverage](coverage.html): Retrieve coverages for a patient 4348* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 4349* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 4350* [DetectedIssue](detectedissue.html): Associated patient 4351* [DeviceRequest](devicerequest.html): Individual the service is ordered for 4352* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 4353* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 4354* [DocumentReference](documentreference.html): Who/what is the subject of the document 4355* [Encounter](encounter.html): The patient present at the encounter 4356* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 4357* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 4358* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 4359* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 4360* [Flag](flag.html): The identity of a subject to list flags for 4361* [Goal](goal.html): Who this goal is intended for 4362* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 4363* [ImagingSelection](imagingselection.html): Who the study is about 4364* [ImagingStudy](imagingstudy.html): Who the study is about 4365* [Immunization](immunization.html): The patient for the vaccination record 4366* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 4367* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 4368* [Invoice](invoice.html): Recipient(s) of goods and services 4369* [List](list.html): If all resources have the same subject 4370* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 4371* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 4372* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 4373* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 4374* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 4375* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 4376* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 4377* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 4378* [Observation](observation.html): The subject that the observation is about (if patient) 4379* [Person](person.html): The Person links to this Patient 4380* [Procedure](procedure.html): Search by subject - a patient 4381* [Provenance](provenance.html): Where the activity involved patient data 4382* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 4383* [RelatedPerson](relatedperson.html): The patient this related person is related to 4384* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 4385* [ResearchSubject](researchsubject.html): Who or what is part of study 4386* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 4387* [ServiceRequest](servicerequest.html): Search by subject - a patient 4388* [Specimen](specimen.html): The patient the specimen comes from 4389* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 4390* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 4391* [Task](task.html): Search by patient 4392* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 4393</b><br> 4394 * Type: <b>reference</b><br> 4395 * 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> 4396 * </p> 4397 */ 4398 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 4399 4400/** 4401 * Constant for fluent queries to be used to add include statements. Specifies 4402 * the path value of "<b>Consent:patient</b>". 4403 */ 4404 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Consent:patient").toLocked(); 4405 4406 4407} 4408