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