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 * Describes validation requirements, source(s), status and dates for one or more elements. 052 */ 053@ResourceDef(name="VerificationResult", profile="http://hl7.org/fhir/StructureDefinition/VerificationResult") 054public class VerificationResult extends DomainResource { 055 056 public enum VerificationResultStatus { 057 /** 058 * ***TODO*** 059 */ 060 ATTESTED, 061 /** 062 * ***TODO*** 063 */ 064 VALIDATED, 065 /** 066 * ***TODO*** 067 */ 068 INPROCESS, 069 /** 070 * ***TODO*** 071 */ 072 REQREVALID, 073 /** 074 * ***TODO*** 075 */ 076 VALFAIL, 077 /** 078 * ***TODO*** 079 */ 080 REVALFAIL, 081 /** 082 * The VerificationResult record was created erroneously and is not appropriated for use. 083 */ 084 ENTEREDINERROR, 085 /** 086 * added to help the parsers with the generic types 087 */ 088 NULL; 089 public static VerificationResultStatus fromCode(String codeString) throws FHIRException { 090 if (codeString == null || "".equals(codeString)) 091 return null; 092 if ("attested".equals(codeString)) 093 return ATTESTED; 094 if ("validated".equals(codeString)) 095 return VALIDATED; 096 if ("in-process".equals(codeString)) 097 return INPROCESS; 098 if ("req-revalid".equals(codeString)) 099 return REQREVALID; 100 if ("val-fail".equals(codeString)) 101 return VALFAIL; 102 if ("reval-fail".equals(codeString)) 103 return REVALFAIL; 104 if ("entered-in-error".equals(codeString)) 105 return ENTEREDINERROR; 106 if (Configuration.isAcceptInvalidEnums()) 107 return null; 108 else 109 throw new FHIRException("Unknown VerificationResultStatus code '"+codeString+"'"); 110 } 111 public String toCode() { 112 switch (this) { 113 case ATTESTED: return "attested"; 114 case VALIDATED: return "validated"; 115 case INPROCESS: return "in-process"; 116 case REQREVALID: return "req-revalid"; 117 case VALFAIL: return "val-fail"; 118 case REVALFAIL: return "reval-fail"; 119 case ENTEREDINERROR: return "entered-in-error"; 120 case NULL: return null; 121 default: return "?"; 122 } 123 } 124 public String getSystem() { 125 switch (this) { 126 case ATTESTED: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 127 case VALIDATED: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 128 case INPROCESS: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 129 case REQREVALID: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 130 case VALFAIL: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 131 case REVALFAIL: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 132 case ENTEREDINERROR: return "http://hl7.org/fhir/CodeSystem/verificationresult-status"; 133 case NULL: return null; 134 default: return "?"; 135 } 136 } 137 public String getDefinition() { 138 switch (this) { 139 case ATTESTED: return "***TODO***"; 140 case VALIDATED: return "***TODO***"; 141 case INPROCESS: return "***TODO***"; 142 case REQREVALID: return "***TODO***"; 143 case VALFAIL: return "***TODO***"; 144 case REVALFAIL: return "***TODO***"; 145 case ENTEREDINERROR: return "The VerificationResult record was created erroneously and is not appropriated for use."; 146 case NULL: return null; 147 default: return "?"; 148 } 149 } 150 public String getDisplay() { 151 switch (this) { 152 case ATTESTED: return "Attested"; 153 case VALIDATED: return "Validated"; 154 case INPROCESS: return "In process"; 155 case REQREVALID: return "Requires revalidation"; 156 case VALFAIL: return "Validation failed"; 157 case REVALFAIL: return "Re-Validation failed"; 158 case ENTEREDINERROR: return "Entered in Error"; 159 case NULL: return null; 160 default: return "?"; 161 } 162 } 163 } 164 165 public static class VerificationResultStatusEnumFactory implements EnumFactory<VerificationResultStatus> { 166 public VerificationResultStatus fromCode(String codeString) throws IllegalArgumentException { 167 if (codeString == null || "".equals(codeString)) 168 if (codeString == null || "".equals(codeString)) 169 return null; 170 if ("attested".equals(codeString)) 171 return VerificationResultStatus.ATTESTED; 172 if ("validated".equals(codeString)) 173 return VerificationResultStatus.VALIDATED; 174 if ("in-process".equals(codeString)) 175 return VerificationResultStatus.INPROCESS; 176 if ("req-revalid".equals(codeString)) 177 return VerificationResultStatus.REQREVALID; 178 if ("val-fail".equals(codeString)) 179 return VerificationResultStatus.VALFAIL; 180 if ("reval-fail".equals(codeString)) 181 return VerificationResultStatus.REVALFAIL; 182 if ("entered-in-error".equals(codeString)) 183 return VerificationResultStatus.ENTEREDINERROR; 184 throw new IllegalArgumentException("Unknown VerificationResultStatus code '"+codeString+"'"); 185 } 186 public Enumeration<VerificationResultStatus> fromType(PrimitiveType<?> code) throws FHIRException { 187 if (code == null) 188 return null; 189 if (code.isEmpty()) 190 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.NULL, code); 191 String codeString = ((PrimitiveType) code).asStringValue(); 192 if (codeString == null || "".equals(codeString)) 193 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.NULL, code); 194 if ("attested".equals(codeString)) 195 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.ATTESTED, code); 196 if ("validated".equals(codeString)) 197 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.VALIDATED, code); 198 if ("in-process".equals(codeString)) 199 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.INPROCESS, code); 200 if ("req-revalid".equals(codeString)) 201 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.REQREVALID, code); 202 if ("val-fail".equals(codeString)) 203 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.VALFAIL, code); 204 if ("reval-fail".equals(codeString)) 205 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.REVALFAIL, code); 206 if ("entered-in-error".equals(codeString)) 207 return new Enumeration<VerificationResultStatus>(this, VerificationResultStatus.ENTEREDINERROR, code); 208 throw new FHIRException("Unknown VerificationResultStatus code '"+codeString+"'"); 209 } 210 public String toCode(VerificationResultStatus code) { 211 if (code == VerificationResultStatus.NULL) 212 return null; 213 if (code == VerificationResultStatus.ATTESTED) 214 return "attested"; 215 if (code == VerificationResultStatus.VALIDATED) 216 return "validated"; 217 if (code == VerificationResultStatus.INPROCESS) 218 return "in-process"; 219 if (code == VerificationResultStatus.REQREVALID) 220 return "req-revalid"; 221 if (code == VerificationResultStatus.VALFAIL) 222 return "val-fail"; 223 if (code == VerificationResultStatus.REVALFAIL) 224 return "reval-fail"; 225 if (code == VerificationResultStatus.ENTEREDINERROR) 226 return "entered-in-error"; 227 return "?"; 228 } 229 public String toSystem(VerificationResultStatus code) { 230 return code.getSystem(); 231 } 232 } 233 234 @Block() 235 public static class VerificationResultPrimarySourceComponent extends BackboneElement implements IBaseBackboneElement { 236 /** 237 * Reference to the primary source. 238 */ 239 @Child(name = "who", type = {Organization.class, Practitioner.class, PractitionerRole.class}, order=1, min=0, max=1, modifier=false, summary=false) 240 @Description(shortDefinition="Reference to the primary source", formalDefinition="Reference to the primary source." ) 241 protected Reference who; 242 243 /** 244 * Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source). 245 */ 246 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 247 @Description(shortDefinition="Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source)", formalDefinition="Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source)." ) 248 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-primary-source-type") 249 protected List<CodeableConcept> type; 250 251 /** 252 * Method for communicating with the primary source (manual; API; Push). 253 */ 254 @Child(name = "communicationMethod", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 255 @Description(shortDefinition="Method for exchanging information with the primary source", formalDefinition="Method for communicating with the primary source (manual; API; Push)." ) 256 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-communication-method") 257 protected List<CodeableConcept> communicationMethod; 258 259 /** 260 * Status of the validation of the target against the primary source (successful; failed; unknown). 261 */ 262 @Child(name = "validationStatus", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 263 @Description(shortDefinition="successful | failed | unknown", formalDefinition="Status of the validation of the target against the primary source (successful; failed; unknown)." ) 264 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-validation-status") 265 protected CodeableConcept validationStatus; 266 267 /** 268 * When the target was validated against the primary source. 269 */ 270 @Child(name = "validationDate", type = {DateTimeType.class}, order=5, min=0, max=1, modifier=false, summary=false) 271 @Description(shortDefinition="When the target was validated against the primary source", formalDefinition="When the target was validated against the primary source." ) 272 protected DateTimeType validationDate; 273 274 /** 275 * Ability of the primary source to push updates/alerts (yes; no; undetermined). 276 */ 277 @Child(name = "canPushUpdates", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=true) 278 @Description(shortDefinition="yes | no | undetermined", formalDefinition="Ability of the primary source to push updates/alerts (yes; no; undetermined)." ) 279 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-can-push-updates") 280 protected CodeableConcept canPushUpdates; 281 282 /** 283 * Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source). 284 */ 285 @Child(name = "pushTypeAvailable", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 286 @Description(shortDefinition="specific | any | source", formalDefinition="Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source)." ) 287 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-push-type-available") 288 protected List<CodeableConcept> pushTypeAvailable; 289 290 private static final long serialVersionUID = -266994197L; 291 292 /** 293 * Constructor 294 */ 295 public VerificationResultPrimarySourceComponent() { 296 super(); 297 } 298 299 /** 300 * @return {@link #who} (Reference to the primary source.) 301 */ 302 public Reference getWho() { 303 if (this.who == null) 304 if (Configuration.errorOnAutoCreate()) 305 throw new Error("Attempt to auto-create VerificationResultPrimarySourceComponent.who"); 306 else if (Configuration.doAutoCreate()) 307 this.who = new Reference(); // cc 308 return this.who; 309 } 310 311 public boolean hasWho() { 312 return this.who != null && !this.who.isEmpty(); 313 } 314 315 /** 316 * @param value {@link #who} (Reference to the primary source.) 317 */ 318 public VerificationResultPrimarySourceComponent setWho(Reference value) { 319 this.who = value; 320 return this; 321 } 322 323 /** 324 * @return {@link #type} (Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source).) 325 */ 326 public List<CodeableConcept> getType() { 327 if (this.type == null) 328 this.type = new ArrayList<CodeableConcept>(); 329 return this.type; 330 } 331 332 /** 333 * @return Returns a reference to <code>this</code> for easy method chaining 334 */ 335 public VerificationResultPrimarySourceComponent setType(List<CodeableConcept> theType) { 336 this.type = theType; 337 return this; 338 } 339 340 public boolean hasType() { 341 if (this.type == null) 342 return false; 343 for (CodeableConcept item : this.type) 344 if (!item.isEmpty()) 345 return true; 346 return false; 347 } 348 349 public CodeableConcept addType() { //3 350 CodeableConcept t = new CodeableConcept(); 351 if (this.type == null) 352 this.type = new ArrayList<CodeableConcept>(); 353 this.type.add(t); 354 return t; 355 } 356 357 public VerificationResultPrimarySourceComponent addType(CodeableConcept t) { //3 358 if (t == null) 359 return this; 360 if (this.type == null) 361 this.type = new ArrayList<CodeableConcept>(); 362 this.type.add(t); 363 return this; 364 } 365 366 /** 367 * @return The first repetition of repeating field {@link #type}, creating it if it does not already exist {3} 368 */ 369 public CodeableConcept getTypeFirstRep() { 370 if (getType().isEmpty()) { 371 addType(); 372 } 373 return getType().get(0); 374 } 375 376 /** 377 * @return {@link #communicationMethod} (Method for communicating with the primary source (manual; API; Push).) 378 */ 379 public List<CodeableConcept> getCommunicationMethod() { 380 if (this.communicationMethod == null) 381 this.communicationMethod = new ArrayList<CodeableConcept>(); 382 return this.communicationMethod; 383 } 384 385 /** 386 * @return Returns a reference to <code>this</code> for easy method chaining 387 */ 388 public VerificationResultPrimarySourceComponent setCommunicationMethod(List<CodeableConcept> theCommunicationMethod) { 389 this.communicationMethod = theCommunicationMethod; 390 return this; 391 } 392 393 public boolean hasCommunicationMethod() { 394 if (this.communicationMethod == null) 395 return false; 396 for (CodeableConcept item : this.communicationMethod) 397 if (!item.isEmpty()) 398 return true; 399 return false; 400 } 401 402 public CodeableConcept addCommunicationMethod() { //3 403 CodeableConcept t = new CodeableConcept(); 404 if (this.communicationMethod == null) 405 this.communicationMethod = new ArrayList<CodeableConcept>(); 406 this.communicationMethod.add(t); 407 return t; 408 } 409 410 public VerificationResultPrimarySourceComponent addCommunicationMethod(CodeableConcept t) { //3 411 if (t == null) 412 return this; 413 if (this.communicationMethod == null) 414 this.communicationMethod = new ArrayList<CodeableConcept>(); 415 this.communicationMethod.add(t); 416 return this; 417 } 418 419 /** 420 * @return The first repetition of repeating field {@link #communicationMethod}, creating it if it does not already exist {3} 421 */ 422 public CodeableConcept getCommunicationMethodFirstRep() { 423 if (getCommunicationMethod().isEmpty()) { 424 addCommunicationMethod(); 425 } 426 return getCommunicationMethod().get(0); 427 } 428 429 /** 430 * @return {@link #validationStatus} (Status of the validation of the target against the primary source (successful; failed; unknown).) 431 */ 432 public CodeableConcept getValidationStatus() { 433 if (this.validationStatus == null) 434 if (Configuration.errorOnAutoCreate()) 435 throw new Error("Attempt to auto-create VerificationResultPrimarySourceComponent.validationStatus"); 436 else if (Configuration.doAutoCreate()) 437 this.validationStatus = new CodeableConcept(); // cc 438 return this.validationStatus; 439 } 440 441 public boolean hasValidationStatus() { 442 return this.validationStatus != null && !this.validationStatus.isEmpty(); 443 } 444 445 /** 446 * @param value {@link #validationStatus} (Status of the validation of the target against the primary source (successful; failed; unknown).) 447 */ 448 public VerificationResultPrimarySourceComponent setValidationStatus(CodeableConcept value) { 449 this.validationStatus = value; 450 return this; 451 } 452 453 /** 454 * @return {@link #validationDate} (When the target was validated against the primary source.). This is the underlying object with id, value and extensions. The accessor "getValidationDate" gives direct access to the value 455 */ 456 public DateTimeType getValidationDateElement() { 457 if (this.validationDate == null) 458 if (Configuration.errorOnAutoCreate()) 459 throw new Error("Attempt to auto-create VerificationResultPrimarySourceComponent.validationDate"); 460 else if (Configuration.doAutoCreate()) 461 this.validationDate = new DateTimeType(); // bb 462 return this.validationDate; 463 } 464 465 public boolean hasValidationDateElement() { 466 return this.validationDate != null && !this.validationDate.isEmpty(); 467 } 468 469 public boolean hasValidationDate() { 470 return this.validationDate != null && !this.validationDate.isEmpty(); 471 } 472 473 /** 474 * @param value {@link #validationDate} (When the target was validated against the primary source.). This is the underlying object with id, value and extensions. The accessor "getValidationDate" gives direct access to the value 475 */ 476 public VerificationResultPrimarySourceComponent setValidationDateElement(DateTimeType value) { 477 this.validationDate = value; 478 return this; 479 } 480 481 /** 482 * @return When the target was validated against the primary source. 483 */ 484 public Date getValidationDate() { 485 return this.validationDate == null ? null : this.validationDate.getValue(); 486 } 487 488 /** 489 * @param value When the target was validated against the primary source. 490 */ 491 public VerificationResultPrimarySourceComponent setValidationDate(Date value) { 492 if (value == null) 493 this.validationDate = null; 494 else { 495 if (this.validationDate == null) 496 this.validationDate = new DateTimeType(); 497 this.validationDate.setValue(value); 498 } 499 return this; 500 } 501 502 /** 503 * @return {@link #canPushUpdates} (Ability of the primary source to push updates/alerts (yes; no; undetermined).) 504 */ 505 public CodeableConcept getCanPushUpdates() { 506 if (this.canPushUpdates == null) 507 if (Configuration.errorOnAutoCreate()) 508 throw new Error("Attempt to auto-create VerificationResultPrimarySourceComponent.canPushUpdates"); 509 else if (Configuration.doAutoCreate()) 510 this.canPushUpdates = new CodeableConcept(); // cc 511 return this.canPushUpdates; 512 } 513 514 public boolean hasCanPushUpdates() { 515 return this.canPushUpdates != null && !this.canPushUpdates.isEmpty(); 516 } 517 518 /** 519 * @param value {@link #canPushUpdates} (Ability of the primary source to push updates/alerts (yes; no; undetermined).) 520 */ 521 public VerificationResultPrimarySourceComponent setCanPushUpdates(CodeableConcept value) { 522 this.canPushUpdates = value; 523 return this; 524 } 525 526 /** 527 * @return {@link #pushTypeAvailable} (Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source).) 528 */ 529 public List<CodeableConcept> getPushTypeAvailable() { 530 if (this.pushTypeAvailable == null) 531 this.pushTypeAvailable = new ArrayList<CodeableConcept>(); 532 return this.pushTypeAvailable; 533 } 534 535 /** 536 * @return Returns a reference to <code>this</code> for easy method chaining 537 */ 538 public VerificationResultPrimarySourceComponent setPushTypeAvailable(List<CodeableConcept> thePushTypeAvailable) { 539 this.pushTypeAvailable = thePushTypeAvailable; 540 return this; 541 } 542 543 public boolean hasPushTypeAvailable() { 544 if (this.pushTypeAvailable == null) 545 return false; 546 for (CodeableConcept item : this.pushTypeAvailable) 547 if (!item.isEmpty()) 548 return true; 549 return false; 550 } 551 552 public CodeableConcept addPushTypeAvailable() { //3 553 CodeableConcept t = new CodeableConcept(); 554 if (this.pushTypeAvailable == null) 555 this.pushTypeAvailable = new ArrayList<CodeableConcept>(); 556 this.pushTypeAvailable.add(t); 557 return t; 558 } 559 560 public VerificationResultPrimarySourceComponent addPushTypeAvailable(CodeableConcept t) { //3 561 if (t == null) 562 return this; 563 if (this.pushTypeAvailable == null) 564 this.pushTypeAvailable = new ArrayList<CodeableConcept>(); 565 this.pushTypeAvailable.add(t); 566 return this; 567 } 568 569 /** 570 * @return The first repetition of repeating field {@link #pushTypeAvailable}, creating it if it does not already exist {3} 571 */ 572 public CodeableConcept getPushTypeAvailableFirstRep() { 573 if (getPushTypeAvailable().isEmpty()) { 574 addPushTypeAvailable(); 575 } 576 return getPushTypeAvailable().get(0); 577 } 578 579 protected void listChildren(List<Property> children) { 580 super.listChildren(children); 581 children.add(new Property("who", "Reference(Organization|Practitioner|PractitionerRole)", "Reference to the primary source.", 0, 1, who)); 582 children.add(new Property("type", "CodeableConcept", "Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source).", 0, java.lang.Integer.MAX_VALUE, type)); 583 children.add(new Property("communicationMethod", "CodeableConcept", "Method for communicating with the primary source (manual; API; Push).", 0, java.lang.Integer.MAX_VALUE, communicationMethod)); 584 children.add(new Property("validationStatus", "CodeableConcept", "Status of the validation of the target against the primary source (successful; failed; unknown).", 0, 1, validationStatus)); 585 children.add(new Property("validationDate", "dateTime", "When the target was validated against the primary source.", 0, 1, validationDate)); 586 children.add(new Property("canPushUpdates", "CodeableConcept", "Ability of the primary source to push updates/alerts (yes; no; undetermined).", 0, 1, canPushUpdates)); 587 children.add(new Property("pushTypeAvailable", "CodeableConcept", "Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source).", 0, java.lang.Integer.MAX_VALUE, pushTypeAvailable)); 588 } 589 590 @Override 591 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 592 switch (_hash) { 593 case 117694: /*who*/ return new Property("who", "Reference(Organization|Practitioner|PractitionerRole)", "Reference to the primary source.", 0, 1, who); 594 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source).", 0, java.lang.Integer.MAX_VALUE, type); 595 case 1314116695: /*communicationMethod*/ return new Property("communicationMethod", "CodeableConcept", "Method for communicating with the primary source (manual; API; Push).", 0, java.lang.Integer.MAX_VALUE, communicationMethod); 596 case 1775633867: /*validationStatus*/ return new Property("validationStatus", "CodeableConcept", "Status of the validation of the target against the primary source (successful; failed; unknown).", 0, 1, validationStatus); 597 case -280180793: /*validationDate*/ return new Property("validationDate", "dateTime", "When the target was validated against the primary source.", 0, 1, validationDate); 598 case 1463787104: /*canPushUpdates*/ return new Property("canPushUpdates", "CodeableConcept", "Ability of the primary source to push updates/alerts (yes; no; undetermined).", 0, 1, canPushUpdates); 599 case 945223605: /*pushTypeAvailable*/ return new Property("pushTypeAvailable", "CodeableConcept", "Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source).", 0, java.lang.Integer.MAX_VALUE, pushTypeAvailable); 600 default: return super.getNamedProperty(_hash, _name, _checkValid); 601 } 602 603 } 604 605 @Override 606 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 607 switch (hash) { 608 case 117694: /*who*/ return this.who == null ? new Base[0] : new Base[] {this.who}; // Reference 609 case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept 610 case 1314116695: /*communicationMethod*/ return this.communicationMethod == null ? new Base[0] : this.communicationMethod.toArray(new Base[this.communicationMethod.size()]); // CodeableConcept 611 case 1775633867: /*validationStatus*/ return this.validationStatus == null ? new Base[0] : new Base[] {this.validationStatus}; // CodeableConcept 612 case -280180793: /*validationDate*/ return this.validationDate == null ? new Base[0] : new Base[] {this.validationDate}; // DateTimeType 613 case 1463787104: /*canPushUpdates*/ return this.canPushUpdates == null ? new Base[0] : new Base[] {this.canPushUpdates}; // CodeableConcept 614 case 945223605: /*pushTypeAvailable*/ return this.pushTypeAvailable == null ? new Base[0] : this.pushTypeAvailable.toArray(new Base[this.pushTypeAvailable.size()]); // CodeableConcept 615 default: return super.getProperty(hash, name, checkValid); 616 } 617 618 } 619 620 @Override 621 public Base setProperty(int hash, String name, Base value) throws FHIRException { 622 switch (hash) { 623 case 117694: // who 624 this.who = TypeConvertor.castToReference(value); // Reference 625 return value; 626 case 3575610: // type 627 this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 628 return value; 629 case 1314116695: // communicationMethod 630 this.getCommunicationMethod().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 631 return value; 632 case 1775633867: // validationStatus 633 this.validationStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 634 return value; 635 case -280180793: // validationDate 636 this.validationDate = TypeConvertor.castToDateTime(value); // DateTimeType 637 return value; 638 case 1463787104: // canPushUpdates 639 this.canPushUpdates = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 640 return value; 641 case 945223605: // pushTypeAvailable 642 this.getPushTypeAvailable().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 643 return value; 644 default: return super.setProperty(hash, name, value); 645 } 646 647 } 648 649 @Override 650 public Base setProperty(String name, Base value) throws FHIRException { 651 if (name.equals("who")) { 652 this.who = TypeConvertor.castToReference(value); // Reference 653 } else if (name.equals("type")) { 654 this.getType().add(TypeConvertor.castToCodeableConcept(value)); 655 } else if (name.equals("communicationMethod")) { 656 this.getCommunicationMethod().add(TypeConvertor.castToCodeableConcept(value)); 657 } else if (name.equals("validationStatus")) { 658 this.validationStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 659 } else if (name.equals("validationDate")) { 660 this.validationDate = TypeConvertor.castToDateTime(value); // DateTimeType 661 } else if (name.equals("canPushUpdates")) { 662 this.canPushUpdates = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 663 } else if (name.equals("pushTypeAvailable")) { 664 this.getPushTypeAvailable().add(TypeConvertor.castToCodeableConcept(value)); 665 } else 666 return super.setProperty(name, value); 667 return value; 668 } 669 670 @Override 671 public void removeChild(String name, Base value) throws FHIRException { 672 if (name.equals("who")) { 673 this.who = null; 674 } else if (name.equals("type")) { 675 this.getType().remove(value); 676 } else if (name.equals("communicationMethod")) { 677 this.getCommunicationMethod().remove(value); 678 } else if (name.equals("validationStatus")) { 679 this.validationStatus = null; 680 } else if (name.equals("validationDate")) { 681 this.validationDate = null; 682 } else if (name.equals("canPushUpdates")) { 683 this.canPushUpdates = null; 684 } else if (name.equals("pushTypeAvailable")) { 685 this.getPushTypeAvailable().remove(value); 686 } else 687 super.removeChild(name, value); 688 689 } 690 691 @Override 692 public Base makeProperty(int hash, String name) throws FHIRException { 693 switch (hash) { 694 case 117694: return getWho(); 695 case 3575610: return addType(); 696 case 1314116695: return addCommunicationMethod(); 697 case 1775633867: return getValidationStatus(); 698 case -280180793: return getValidationDateElement(); 699 case 1463787104: return getCanPushUpdates(); 700 case 945223605: return addPushTypeAvailable(); 701 default: return super.makeProperty(hash, name); 702 } 703 704 } 705 706 @Override 707 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 708 switch (hash) { 709 case 117694: /*who*/ return new String[] {"Reference"}; 710 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 711 case 1314116695: /*communicationMethod*/ return new String[] {"CodeableConcept"}; 712 case 1775633867: /*validationStatus*/ return new String[] {"CodeableConcept"}; 713 case -280180793: /*validationDate*/ return new String[] {"dateTime"}; 714 case 1463787104: /*canPushUpdates*/ return new String[] {"CodeableConcept"}; 715 case 945223605: /*pushTypeAvailable*/ return new String[] {"CodeableConcept"}; 716 default: return super.getTypesForProperty(hash, name); 717 } 718 719 } 720 721 @Override 722 public Base addChild(String name) throws FHIRException { 723 if (name.equals("who")) { 724 this.who = new Reference(); 725 return this.who; 726 } 727 else if (name.equals("type")) { 728 return addType(); 729 } 730 else if (name.equals("communicationMethod")) { 731 return addCommunicationMethod(); 732 } 733 else if (name.equals("validationStatus")) { 734 this.validationStatus = new CodeableConcept(); 735 return this.validationStatus; 736 } 737 else if (name.equals("validationDate")) { 738 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.primarySource.validationDate"); 739 } 740 else if (name.equals("canPushUpdates")) { 741 this.canPushUpdates = new CodeableConcept(); 742 return this.canPushUpdates; 743 } 744 else if (name.equals("pushTypeAvailable")) { 745 return addPushTypeAvailable(); 746 } 747 else 748 return super.addChild(name); 749 } 750 751 public VerificationResultPrimarySourceComponent copy() { 752 VerificationResultPrimarySourceComponent dst = new VerificationResultPrimarySourceComponent(); 753 copyValues(dst); 754 return dst; 755 } 756 757 public void copyValues(VerificationResultPrimarySourceComponent dst) { 758 super.copyValues(dst); 759 dst.who = who == null ? null : who.copy(); 760 if (type != null) { 761 dst.type = new ArrayList<CodeableConcept>(); 762 for (CodeableConcept i : type) 763 dst.type.add(i.copy()); 764 }; 765 if (communicationMethod != null) { 766 dst.communicationMethod = new ArrayList<CodeableConcept>(); 767 for (CodeableConcept i : communicationMethod) 768 dst.communicationMethod.add(i.copy()); 769 }; 770 dst.validationStatus = validationStatus == null ? null : validationStatus.copy(); 771 dst.validationDate = validationDate == null ? null : validationDate.copy(); 772 dst.canPushUpdates = canPushUpdates == null ? null : canPushUpdates.copy(); 773 if (pushTypeAvailable != null) { 774 dst.pushTypeAvailable = new ArrayList<CodeableConcept>(); 775 for (CodeableConcept i : pushTypeAvailable) 776 dst.pushTypeAvailable.add(i.copy()); 777 }; 778 } 779 780 @Override 781 public boolean equalsDeep(Base other_) { 782 if (!super.equalsDeep(other_)) 783 return false; 784 if (!(other_ instanceof VerificationResultPrimarySourceComponent)) 785 return false; 786 VerificationResultPrimarySourceComponent o = (VerificationResultPrimarySourceComponent) other_; 787 return compareDeep(who, o.who, true) && compareDeep(type, o.type, true) && compareDeep(communicationMethod, o.communicationMethod, true) 788 && compareDeep(validationStatus, o.validationStatus, true) && compareDeep(validationDate, o.validationDate, true) 789 && compareDeep(canPushUpdates, o.canPushUpdates, true) && compareDeep(pushTypeAvailable, o.pushTypeAvailable, true) 790 ; 791 } 792 793 @Override 794 public boolean equalsShallow(Base other_) { 795 if (!super.equalsShallow(other_)) 796 return false; 797 if (!(other_ instanceof VerificationResultPrimarySourceComponent)) 798 return false; 799 VerificationResultPrimarySourceComponent o = (VerificationResultPrimarySourceComponent) other_; 800 return compareValues(validationDate, o.validationDate, true); 801 } 802 803 public boolean isEmpty() { 804 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(who, type, communicationMethod 805 , validationStatus, validationDate, canPushUpdates, pushTypeAvailable); 806 } 807 808 public String fhirType() { 809 return "VerificationResult.primarySource"; 810 811 } 812 813 } 814 815 @Block() 816 public static class VerificationResultAttestationComponent extends BackboneElement implements IBaseBackboneElement { 817 /** 818 * The individual or organization attesting to information. 819 */ 820 @Child(name = "who", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=1, min=0, max=1, modifier=false, summary=true) 821 @Description(shortDefinition="The individual or organization attesting to information", formalDefinition="The individual or organization attesting to information." ) 822 protected Reference who; 823 824 /** 825 * When the who is asserting on behalf of another (organization or individual). 826 */ 827 @Child(name = "onBehalfOf", type = {Organization.class, Practitioner.class, PractitionerRole.class}, order=2, min=0, max=1, modifier=false, summary=true) 828 @Description(shortDefinition="When the who is asserting on behalf of another (organization or individual)", formalDefinition="When the who is asserting on behalf of another (organization or individual)." ) 829 protected Reference onBehalfOf; 830 831 /** 832 * The method by which attested information was submitted/retrieved (manual; API; Push). 833 */ 834 @Child(name = "communicationMethod", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) 835 @Description(shortDefinition="The method by which attested information was submitted/retrieved", formalDefinition="The method by which attested information was submitted/retrieved (manual; API; Push)." ) 836 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-communication-method") 837 protected CodeableConcept communicationMethod; 838 839 /** 840 * The date the information was attested to. 841 */ 842 @Child(name = "date", type = {DateType.class}, order=4, min=0, max=1, modifier=false, summary=true) 843 @Description(shortDefinition="The date the information was attested to", formalDefinition="The date the information was attested to." ) 844 protected DateType date; 845 846 /** 847 * A digital identity certificate associated with the attestation source. 848 */ 849 @Child(name = "sourceIdentityCertificate", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 850 @Description(shortDefinition="A digital identity certificate associated with the attestation source", formalDefinition="A digital identity certificate associated with the attestation source." ) 851 protected StringType sourceIdentityCertificate; 852 853 /** 854 * A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source. 855 */ 856 @Child(name = "proxyIdentityCertificate", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 857 @Description(shortDefinition="A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source", formalDefinition="A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source." ) 858 protected StringType proxyIdentityCertificate; 859 860 /** 861 * Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source. 862 */ 863 @Child(name = "proxySignature", type = {Signature.class}, order=7, min=0, max=1, modifier=false, summary=false) 864 @Description(shortDefinition="Proxy signature (digital or image)", formalDefinition="Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source." ) 865 protected Signature proxySignature; 866 867 /** 868 * Signed assertion by the attestation source that they have attested to the information. 869 */ 870 @Child(name = "sourceSignature", type = {Signature.class}, order=8, min=0, max=1, modifier=false, summary=false) 871 @Description(shortDefinition="Attester signature (digital or image)", formalDefinition="Signed assertion by the attestation source that they have attested to the information." ) 872 protected Signature sourceSignature; 873 874 private static final long serialVersionUID = -1110142980L; 875 876 /** 877 * Constructor 878 */ 879 public VerificationResultAttestationComponent() { 880 super(); 881 } 882 883 /** 884 * @return {@link #who} (The individual or organization attesting to information.) 885 */ 886 public Reference getWho() { 887 if (this.who == null) 888 if (Configuration.errorOnAutoCreate()) 889 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.who"); 890 else if (Configuration.doAutoCreate()) 891 this.who = new Reference(); // cc 892 return this.who; 893 } 894 895 public boolean hasWho() { 896 return this.who != null && !this.who.isEmpty(); 897 } 898 899 /** 900 * @param value {@link #who} (The individual or organization attesting to information.) 901 */ 902 public VerificationResultAttestationComponent setWho(Reference value) { 903 this.who = value; 904 return this; 905 } 906 907 /** 908 * @return {@link #onBehalfOf} (When the who is asserting on behalf of another (organization or individual).) 909 */ 910 public Reference getOnBehalfOf() { 911 if (this.onBehalfOf == null) 912 if (Configuration.errorOnAutoCreate()) 913 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.onBehalfOf"); 914 else if (Configuration.doAutoCreate()) 915 this.onBehalfOf = new Reference(); // cc 916 return this.onBehalfOf; 917 } 918 919 public boolean hasOnBehalfOf() { 920 return this.onBehalfOf != null && !this.onBehalfOf.isEmpty(); 921 } 922 923 /** 924 * @param value {@link #onBehalfOf} (When the who is asserting on behalf of another (organization or individual).) 925 */ 926 public VerificationResultAttestationComponent setOnBehalfOf(Reference value) { 927 this.onBehalfOf = value; 928 return this; 929 } 930 931 /** 932 * @return {@link #communicationMethod} (The method by which attested information was submitted/retrieved (manual; API; Push).) 933 */ 934 public CodeableConcept getCommunicationMethod() { 935 if (this.communicationMethod == null) 936 if (Configuration.errorOnAutoCreate()) 937 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.communicationMethod"); 938 else if (Configuration.doAutoCreate()) 939 this.communicationMethod = new CodeableConcept(); // cc 940 return this.communicationMethod; 941 } 942 943 public boolean hasCommunicationMethod() { 944 return this.communicationMethod != null && !this.communicationMethod.isEmpty(); 945 } 946 947 /** 948 * @param value {@link #communicationMethod} (The method by which attested information was submitted/retrieved (manual; API; Push).) 949 */ 950 public VerificationResultAttestationComponent setCommunicationMethod(CodeableConcept value) { 951 this.communicationMethod = value; 952 return this; 953 } 954 955 /** 956 * @return {@link #date} (The date the information was attested to.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 957 */ 958 public DateType getDateElement() { 959 if (this.date == null) 960 if (Configuration.errorOnAutoCreate()) 961 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.date"); 962 else if (Configuration.doAutoCreate()) 963 this.date = new DateType(); // bb 964 return this.date; 965 } 966 967 public boolean hasDateElement() { 968 return this.date != null && !this.date.isEmpty(); 969 } 970 971 public boolean hasDate() { 972 return this.date != null && !this.date.isEmpty(); 973 } 974 975 /** 976 * @param value {@link #date} (The date the information was attested to.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 977 */ 978 public VerificationResultAttestationComponent setDateElement(DateType value) { 979 this.date = value; 980 return this; 981 } 982 983 /** 984 * @return The date the information was attested to. 985 */ 986 public Date getDate() { 987 return this.date == null ? null : this.date.getValue(); 988 } 989 990 /** 991 * @param value The date the information was attested to. 992 */ 993 public VerificationResultAttestationComponent setDate(Date value) { 994 if (value == null) 995 this.date = null; 996 else { 997 if (this.date == null) 998 this.date = new DateType(); 999 this.date.setValue(value); 1000 } 1001 return this; 1002 } 1003 1004 /** 1005 * @return {@link #sourceIdentityCertificate} (A digital identity certificate associated with the attestation source.). This is the underlying object with id, value and extensions. The accessor "getSourceIdentityCertificate" gives direct access to the value 1006 */ 1007 public StringType getSourceIdentityCertificateElement() { 1008 if (this.sourceIdentityCertificate == null) 1009 if (Configuration.errorOnAutoCreate()) 1010 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.sourceIdentityCertificate"); 1011 else if (Configuration.doAutoCreate()) 1012 this.sourceIdentityCertificate = new StringType(); // bb 1013 return this.sourceIdentityCertificate; 1014 } 1015 1016 public boolean hasSourceIdentityCertificateElement() { 1017 return this.sourceIdentityCertificate != null && !this.sourceIdentityCertificate.isEmpty(); 1018 } 1019 1020 public boolean hasSourceIdentityCertificate() { 1021 return this.sourceIdentityCertificate != null && !this.sourceIdentityCertificate.isEmpty(); 1022 } 1023 1024 /** 1025 * @param value {@link #sourceIdentityCertificate} (A digital identity certificate associated with the attestation source.). This is the underlying object with id, value and extensions. The accessor "getSourceIdentityCertificate" gives direct access to the value 1026 */ 1027 public VerificationResultAttestationComponent setSourceIdentityCertificateElement(StringType value) { 1028 this.sourceIdentityCertificate = value; 1029 return this; 1030 } 1031 1032 /** 1033 * @return A digital identity certificate associated with the attestation source. 1034 */ 1035 public String getSourceIdentityCertificate() { 1036 return this.sourceIdentityCertificate == null ? null : this.sourceIdentityCertificate.getValue(); 1037 } 1038 1039 /** 1040 * @param value A digital identity certificate associated with the attestation source. 1041 */ 1042 public VerificationResultAttestationComponent setSourceIdentityCertificate(String value) { 1043 if (Utilities.noString(value)) 1044 this.sourceIdentityCertificate = null; 1045 else { 1046 if (this.sourceIdentityCertificate == null) 1047 this.sourceIdentityCertificate = new StringType(); 1048 this.sourceIdentityCertificate.setValue(value); 1049 } 1050 return this; 1051 } 1052 1053 /** 1054 * @return {@link #proxyIdentityCertificate} (A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source.). This is the underlying object with id, value and extensions. The accessor "getProxyIdentityCertificate" gives direct access to the value 1055 */ 1056 public StringType getProxyIdentityCertificateElement() { 1057 if (this.proxyIdentityCertificate == null) 1058 if (Configuration.errorOnAutoCreate()) 1059 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.proxyIdentityCertificate"); 1060 else if (Configuration.doAutoCreate()) 1061 this.proxyIdentityCertificate = new StringType(); // bb 1062 return this.proxyIdentityCertificate; 1063 } 1064 1065 public boolean hasProxyIdentityCertificateElement() { 1066 return this.proxyIdentityCertificate != null && !this.proxyIdentityCertificate.isEmpty(); 1067 } 1068 1069 public boolean hasProxyIdentityCertificate() { 1070 return this.proxyIdentityCertificate != null && !this.proxyIdentityCertificate.isEmpty(); 1071 } 1072 1073 /** 1074 * @param value {@link #proxyIdentityCertificate} (A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source.). This is the underlying object with id, value and extensions. The accessor "getProxyIdentityCertificate" gives direct access to the value 1075 */ 1076 public VerificationResultAttestationComponent setProxyIdentityCertificateElement(StringType value) { 1077 this.proxyIdentityCertificate = value; 1078 return this; 1079 } 1080 1081 /** 1082 * @return A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source. 1083 */ 1084 public String getProxyIdentityCertificate() { 1085 return this.proxyIdentityCertificate == null ? null : this.proxyIdentityCertificate.getValue(); 1086 } 1087 1088 /** 1089 * @param value A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source. 1090 */ 1091 public VerificationResultAttestationComponent setProxyIdentityCertificate(String value) { 1092 if (Utilities.noString(value)) 1093 this.proxyIdentityCertificate = null; 1094 else { 1095 if (this.proxyIdentityCertificate == null) 1096 this.proxyIdentityCertificate = new StringType(); 1097 this.proxyIdentityCertificate.setValue(value); 1098 } 1099 return this; 1100 } 1101 1102 /** 1103 * @return {@link #proxySignature} (Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source.) 1104 */ 1105 public Signature getProxySignature() { 1106 if (this.proxySignature == null) 1107 if (Configuration.errorOnAutoCreate()) 1108 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.proxySignature"); 1109 else if (Configuration.doAutoCreate()) 1110 this.proxySignature = new Signature(); // cc 1111 return this.proxySignature; 1112 } 1113 1114 public boolean hasProxySignature() { 1115 return this.proxySignature != null && !this.proxySignature.isEmpty(); 1116 } 1117 1118 /** 1119 * @param value {@link #proxySignature} (Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source.) 1120 */ 1121 public VerificationResultAttestationComponent setProxySignature(Signature value) { 1122 this.proxySignature = value; 1123 return this; 1124 } 1125 1126 /** 1127 * @return {@link #sourceSignature} (Signed assertion by the attestation source that they have attested to the information.) 1128 */ 1129 public Signature getSourceSignature() { 1130 if (this.sourceSignature == null) 1131 if (Configuration.errorOnAutoCreate()) 1132 throw new Error("Attempt to auto-create VerificationResultAttestationComponent.sourceSignature"); 1133 else if (Configuration.doAutoCreate()) 1134 this.sourceSignature = new Signature(); // cc 1135 return this.sourceSignature; 1136 } 1137 1138 public boolean hasSourceSignature() { 1139 return this.sourceSignature != null && !this.sourceSignature.isEmpty(); 1140 } 1141 1142 /** 1143 * @param value {@link #sourceSignature} (Signed assertion by the attestation source that they have attested to the information.) 1144 */ 1145 public VerificationResultAttestationComponent setSourceSignature(Signature value) { 1146 this.sourceSignature = value; 1147 return this; 1148 } 1149 1150 protected void listChildren(List<Property> children) { 1151 super.listChildren(children); 1152 children.add(new Property("who", "Reference(Practitioner|PractitionerRole|Organization)", "The individual or organization attesting to information.", 0, 1, who)); 1153 children.add(new Property("onBehalfOf", "Reference(Organization|Practitioner|PractitionerRole)", "When the who is asserting on behalf of another (organization or individual).", 0, 1, onBehalfOf)); 1154 children.add(new Property("communicationMethod", "CodeableConcept", "The method by which attested information was submitted/retrieved (manual; API; Push).", 0, 1, communicationMethod)); 1155 children.add(new Property("date", "date", "The date the information was attested to.", 0, 1, date)); 1156 children.add(new Property("sourceIdentityCertificate", "string", "A digital identity certificate associated with the attestation source.", 0, 1, sourceIdentityCertificate)); 1157 children.add(new Property("proxyIdentityCertificate", "string", "A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source.", 0, 1, proxyIdentityCertificate)); 1158 children.add(new Property("proxySignature", "Signature", "Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source.", 0, 1, proxySignature)); 1159 children.add(new Property("sourceSignature", "Signature", "Signed assertion by the attestation source that they have attested to the information.", 0, 1, sourceSignature)); 1160 } 1161 1162 @Override 1163 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1164 switch (_hash) { 1165 case 117694: /*who*/ return new Property("who", "Reference(Practitioner|PractitionerRole|Organization)", "The individual or organization attesting to information.", 0, 1, who); 1166 case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Organization|Practitioner|PractitionerRole)", "When the who is asserting on behalf of another (organization or individual).", 0, 1, onBehalfOf); 1167 case 1314116695: /*communicationMethod*/ return new Property("communicationMethod", "CodeableConcept", "The method by which attested information was submitted/retrieved (manual; API; Push).", 0, 1, communicationMethod); 1168 case 3076014: /*date*/ return new Property("date", "date", "The date the information was attested to.", 0, 1, date); 1169 case -799067682: /*sourceIdentityCertificate*/ return new Property("sourceIdentityCertificate", "string", "A digital identity certificate associated with the attestation source.", 0, 1, sourceIdentityCertificate); 1170 case 431558827: /*proxyIdentityCertificate*/ return new Property("proxyIdentityCertificate", "string", "A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source.", 0, 1, proxyIdentityCertificate); 1171 case 1455540714: /*proxySignature*/ return new Property("proxySignature", "Signature", "Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source.", 0, 1, proxySignature); 1172 case 1754480349: /*sourceSignature*/ return new Property("sourceSignature", "Signature", "Signed assertion by the attestation source that they have attested to the information.", 0, 1, sourceSignature); 1173 default: return super.getNamedProperty(_hash, _name, _checkValid); 1174 } 1175 1176 } 1177 1178 @Override 1179 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1180 switch (hash) { 1181 case 117694: /*who*/ return this.who == null ? new Base[0] : new Base[] {this.who}; // Reference 1182 case -14402964: /*onBehalfOf*/ return this.onBehalfOf == null ? new Base[0] : new Base[] {this.onBehalfOf}; // Reference 1183 case 1314116695: /*communicationMethod*/ return this.communicationMethod == null ? new Base[0] : new Base[] {this.communicationMethod}; // CodeableConcept 1184 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateType 1185 case -799067682: /*sourceIdentityCertificate*/ return this.sourceIdentityCertificate == null ? new Base[0] : new Base[] {this.sourceIdentityCertificate}; // StringType 1186 case 431558827: /*proxyIdentityCertificate*/ return this.proxyIdentityCertificate == null ? new Base[0] : new Base[] {this.proxyIdentityCertificate}; // StringType 1187 case 1455540714: /*proxySignature*/ return this.proxySignature == null ? new Base[0] : new Base[] {this.proxySignature}; // Signature 1188 case 1754480349: /*sourceSignature*/ return this.sourceSignature == null ? new Base[0] : new Base[] {this.sourceSignature}; // Signature 1189 default: return super.getProperty(hash, name, checkValid); 1190 } 1191 1192 } 1193 1194 @Override 1195 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1196 switch (hash) { 1197 case 117694: // who 1198 this.who = TypeConvertor.castToReference(value); // Reference 1199 return value; 1200 case -14402964: // onBehalfOf 1201 this.onBehalfOf = TypeConvertor.castToReference(value); // Reference 1202 return value; 1203 case 1314116695: // communicationMethod 1204 this.communicationMethod = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1205 return value; 1206 case 3076014: // date 1207 this.date = TypeConvertor.castToDate(value); // DateType 1208 return value; 1209 case -799067682: // sourceIdentityCertificate 1210 this.sourceIdentityCertificate = TypeConvertor.castToString(value); // StringType 1211 return value; 1212 case 431558827: // proxyIdentityCertificate 1213 this.proxyIdentityCertificate = TypeConvertor.castToString(value); // StringType 1214 return value; 1215 case 1455540714: // proxySignature 1216 this.proxySignature = TypeConvertor.castToSignature(value); // Signature 1217 return value; 1218 case 1754480349: // sourceSignature 1219 this.sourceSignature = TypeConvertor.castToSignature(value); // Signature 1220 return value; 1221 default: return super.setProperty(hash, name, value); 1222 } 1223 1224 } 1225 1226 @Override 1227 public Base setProperty(String name, Base value) throws FHIRException { 1228 if (name.equals("who")) { 1229 this.who = TypeConvertor.castToReference(value); // Reference 1230 } else if (name.equals("onBehalfOf")) { 1231 this.onBehalfOf = TypeConvertor.castToReference(value); // Reference 1232 } else if (name.equals("communicationMethod")) { 1233 this.communicationMethod = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1234 } else if (name.equals("date")) { 1235 this.date = TypeConvertor.castToDate(value); // DateType 1236 } else if (name.equals("sourceIdentityCertificate")) { 1237 this.sourceIdentityCertificate = TypeConvertor.castToString(value); // StringType 1238 } else if (name.equals("proxyIdentityCertificate")) { 1239 this.proxyIdentityCertificate = TypeConvertor.castToString(value); // StringType 1240 } else if (name.equals("proxySignature")) { 1241 this.proxySignature = TypeConvertor.castToSignature(value); // Signature 1242 } else if (name.equals("sourceSignature")) { 1243 this.sourceSignature = TypeConvertor.castToSignature(value); // Signature 1244 } else 1245 return super.setProperty(name, value); 1246 return value; 1247 } 1248 1249 @Override 1250 public void removeChild(String name, Base value) throws FHIRException { 1251 if (name.equals("who")) { 1252 this.who = null; 1253 } else if (name.equals("onBehalfOf")) { 1254 this.onBehalfOf = null; 1255 } else if (name.equals("communicationMethod")) { 1256 this.communicationMethod = null; 1257 } else if (name.equals("date")) { 1258 this.date = null; 1259 } else if (name.equals("sourceIdentityCertificate")) { 1260 this.sourceIdentityCertificate = null; 1261 } else if (name.equals("proxyIdentityCertificate")) { 1262 this.proxyIdentityCertificate = null; 1263 } else if (name.equals("proxySignature")) { 1264 this.proxySignature = null; 1265 } else if (name.equals("sourceSignature")) { 1266 this.sourceSignature = null; 1267 } else 1268 super.removeChild(name, value); 1269 1270 } 1271 1272 @Override 1273 public Base makeProperty(int hash, String name) throws FHIRException { 1274 switch (hash) { 1275 case 117694: return getWho(); 1276 case -14402964: return getOnBehalfOf(); 1277 case 1314116695: return getCommunicationMethod(); 1278 case 3076014: return getDateElement(); 1279 case -799067682: return getSourceIdentityCertificateElement(); 1280 case 431558827: return getProxyIdentityCertificateElement(); 1281 case 1455540714: return getProxySignature(); 1282 case 1754480349: return getSourceSignature(); 1283 default: return super.makeProperty(hash, name); 1284 } 1285 1286 } 1287 1288 @Override 1289 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1290 switch (hash) { 1291 case 117694: /*who*/ return new String[] {"Reference"}; 1292 case -14402964: /*onBehalfOf*/ return new String[] {"Reference"}; 1293 case 1314116695: /*communicationMethod*/ return new String[] {"CodeableConcept"}; 1294 case 3076014: /*date*/ return new String[] {"date"}; 1295 case -799067682: /*sourceIdentityCertificate*/ return new String[] {"string"}; 1296 case 431558827: /*proxyIdentityCertificate*/ return new String[] {"string"}; 1297 case 1455540714: /*proxySignature*/ return new String[] {"Signature"}; 1298 case 1754480349: /*sourceSignature*/ return new String[] {"Signature"}; 1299 default: return super.getTypesForProperty(hash, name); 1300 } 1301 1302 } 1303 1304 @Override 1305 public Base addChild(String name) throws FHIRException { 1306 if (name.equals("who")) { 1307 this.who = new Reference(); 1308 return this.who; 1309 } 1310 else if (name.equals("onBehalfOf")) { 1311 this.onBehalfOf = new Reference(); 1312 return this.onBehalfOf; 1313 } 1314 else if (name.equals("communicationMethod")) { 1315 this.communicationMethod = new CodeableConcept(); 1316 return this.communicationMethod; 1317 } 1318 else if (name.equals("date")) { 1319 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.attestation.date"); 1320 } 1321 else if (name.equals("sourceIdentityCertificate")) { 1322 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.attestation.sourceIdentityCertificate"); 1323 } 1324 else if (name.equals("proxyIdentityCertificate")) { 1325 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.attestation.proxyIdentityCertificate"); 1326 } 1327 else if (name.equals("proxySignature")) { 1328 this.proxySignature = new Signature(); 1329 return this.proxySignature; 1330 } 1331 else if (name.equals("sourceSignature")) { 1332 this.sourceSignature = new Signature(); 1333 return this.sourceSignature; 1334 } 1335 else 1336 return super.addChild(name); 1337 } 1338 1339 public VerificationResultAttestationComponent copy() { 1340 VerificationResultAttestationComponent dst = new VerificationResultAttestationComponent(); 1341 copyValues(dst); 1342 return dst; 1343 } 1344 1345 public void copyValues(VerificationResultAttestationComponent dst) { 1346 super.copyValues(dst); 1347 dst.who = who == null ? null : who.copy(); 1348 dst.onBehalfOf = onBehalfOf == null ? null : onBehalfOf.copy(); 1349 dst.communicationMethod = communicationMethod == null ? null : communicationMethod.copy(); 1350 dst.date = date == null ? null : date.copy(); 1351 dst.sourceIdentityCertificate = sourceIdentityCertificate == null ? null : sourceIdentityCertificate.copy(); 1352 dst.proxyIdentityCertificate = proxyIdentityCertificate == null ? null : proxyIdentityCertificate.copy(); 1353 dst.proxySignature = proxySignature == null ? null : proxySignature.copy(); 1354 dst.sourceSignature = sourceSignature == null ? null : sourceSignature.copy(); 1355 } 1356 1357 @Override 1358 public boolean equalsDeep(Base other_) { 1359 if (!super.equalsDeep(other_)) 1360 return false; 1361 if (!(other_ instanceof VerificationResultAttestationComponent)) 1362 return false; 1363 VerificationResultAttestationComponent o = (VerificationResultAttestationComponent) other_; 1364 return compareDeep(who, o.who, true) && compareDeep(onBehalfOf, o.onBehalfOf, true) && compareDeep(communicationMethod, o.communicationMethod, true) 1365 && compareDeep(date, o.date, true) && compareDeep(sourceIdentityCertificate, o.sourceIdentityCertificate, true) 1366 && compareDeep(proxyIdentityCertificate, o.proxyIdentityCertificate, true) && compareDeep(proxySignature, o.proxySignature, true) 1367 && compareDeep(sourceSignature, o.sourceSignature, true); 1368 } 1369 1370 @Override 1371 public boolean equalsShallow(Base other_) { 1372 if (!super.equalsShallow(other_)) 1373 return false; 1374 if (!(other_ instanceof VerificationResultAttestationComponent)) 1375 return false; 1376 VerificationResultAttestationComponent o = (VerificationResultAttestationComponent) other_; 1377 return compareValues(date, o.date, true) && compareValues(sourceIdentityCertificate, o.sourceIdentityCertificate, true) 1378 && compareValues(proxyIdentityCertificate, o.proxyIdentityCertificate, true); 1379 } 1380 1381 public boolean isEmpty() { 1382 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(who, onBehalfOf, communicationMethod 1383 , date, sourceIdentityCertificate, proxyIdentityCertificate, proxySignature, sourceSignature 1384 ); 1385 } 1386 1387 public String fhirType() { 1388 return "VerificationResult.attestation"; 1389 1390 } 1391 1392 } 1393 1394 @Block() 1395 public static class VerificationResultValidatorComponent extends BackboneElement implements IBaseBackboneElement { 1396 /** 1397 * Reference to the organization validating information. 1398 */ 1399 @Child(name = "organization", type = {Organization.class}, order=1, min=1, max=1, modifier=false, summary=false) 1400 @Description(shortDefinition="Reference to the organization validating information", formalDefinition="Reference to the organization validating information." ) 1401 protected Reference organization; 1402 1403 /** 1404 * A digital identity certificate associated with the validator. 1405 */ 1406 @Child(name = "identityCertificate", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1407 @Description(shortDefinition="A digital identity certificate associated with the validator", formalDefinition="A digital identity certificate associated with the validator." ) 1408 protected StringType identityCertificate; 1409 1410 /** 1411 * Signed assertion by the validator that they have validated the information. 1412 */ 1413 @Child(name = "attestationSignature", type = {Signature.class}, order=3, min=0, max=1, modifier=false, summary=false) 1414 @Description(shortDefinition="Validator signature (digital or image)", formalDefinition="Signed assertion by the validator that they have validated the information." ) 1415 protected Signature attestationSignature; 1416 1417 private static final long serialVersionUID = 335952370L; 1418 1419 /** 1420 * Constructor 1421 */ 1422 public VerificationResultValidatorComponent() { 1423 super(); 1424 } 1425 1426 /** 1427 * Constructor 1428 */ 1429 public VerificationResultValidatorComponent(Reference organization) { 1430 super(); 1431 this.setOrganization(organization); 1432 } 1433 1434 /** 1435 * @return {@link #organization} (Reference to the organization validating information.) 1436 */ 1437 public Reference getOrganization() { 1438 if (this.organization == null) 1439 if (Configuration.errorOnAutoCreate()) 1440 throw new Error("Attempt to auto-create VerificationResultValidatorComponent.organization"); 1441 else if (Configuration.doAutoCreate()) 1442 this.organization = new Reference(); // cc 1443 return this.organization; 1444 } 1445 1446 public boolean hasOrganization() { 1447 return this.organization != null && !this.organization.isEmpty(); 1448 } 1449 1450 /** 1451 * @param value {@link #organization} (Reference to the organization validating information.) 1452 */ 1453 public VerificationResultValidatorComponent setOrganization(Reference value) { 1454 this.organization = value; 1455 return this; 1456 } 1457 1458 /** 1459 * @return {@link #identityCertificate} (A digital identity certificate associated with the validator.). This is the underlying object with id, value and extensions. The accessor "getIdentityCertificate" gives direct access to the value 1460 */ 1461 public StringType getIdentityCertificateElement() { 1462 if (this.identityCertificate == null) 1463 if (Configuration.errorOnAutoCreate()) 1464 throw new Error("Attempt to auto-create VerificationResultValidatorComponent.identityCertificate"); 1465 else if (Configuration.doAutoCreate()) 1466 this.identityCertificate = new StringType(); // bb 1467 return this.identityCertificate; 1468 } 1469 1470 public boolean hasIdentityCertificateElement() { 1471 return this.identityCertificate != null && !this.identityCertificate.isEmpty(); 1472 } 1473 1474 public boolean hasIdentityCertificate() { 1475 return this.identityCertificate != null && !this.identityCertificate.isEmpty(); 1476 } 1477 1478 /** 1479 * @param value {@link #identityCertificate} (A digital identity certificate associated with the validator.). This is the underlying object with id, value and extensions. The accessor "getIdentityCertificate" gives direct access to the value 1480 */ 1481 public VerificationResultValidatorComponent setIdentityCertificateElement(StringType value) { 1482 this.identityCertificate = value; 1483 return this; 1484 } 1485 1486 /** 1487 * @return A digital identity certificate associated with the validator. 1488 */ 1489 public String getIdentityCertificate() { 1490 return this.identityCertificate == null ? null : this.identityCertificate.getValue(); 1491 } 1492 1493 /** 1494 * @param value A digital identity certificate associated with the validator. 1495 */ 1496 public VerificationResultValidatorComponent setIdentityCertificate(String value) { 1497 if (Utilities.noString(value)) 1498 this.identityCertificate = null; 1499 else { 1500 if (this.identityCertificate == null) 1501 this.identityCertificate = new StringType(); 1502 this.identityCertificate.setValue(value); 1503 } 1504 return this; 1505 } 1506 1507 /** 1508 * @return {@link #attestationSignature} (Signed assertion by the validator that they have validated the information.) 1509 */ 1510 public Signature getAttestationSignature() { 1511 if (this.attestationSignature == null) 1512 if (Configuration.errorOnAutoCreate()) 1513 throw new Error("Attempt to auto-create VerificationResultValidatorComponent.attestationSignature"); 1514 else if (Configuration.doAutoCreate()) 1515 this.attestationSignature = new Signature(); // cc 1516 return this.attestationSignature; 1517 } 1518 1519 public boolean hasAttestationSignature() { 1520 return this.attestationSignature != null && !this.attestationSignature.isEmpty(); 1521 } 1522 1523 /** 1524 * @param value {@link #attestationSignature} (Signed assertion by the validator that they have validated the information.) 1525 */ 1526 public VerificationResultValidatorComponent setAttestationSignature(Signature value) { 1527 this.attestationSignature = value; 1528 return this; 1529 } 1530 1531 protected void listChildren(List<Property> children) { 1532 super.listChildren(children); 1533 children.add(new Property("organization", "Reference(Organization)", "Reference to the organization validating information.", 0, 1, organization)); 1534 children.add(new Property("identityCertificate", "string", "A digital identity certificate associated with the validator.", 0, 1, identityCertificate)); 1535 children.add(new Property("attestationSignature", "Signature", "Signed assertion by the validator that they have validated the information.", 0, 1, attestationSignature)); 1536 } 1537 1538 @Override 1539 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1540 switch (_hash) { 1541 case 1178922291: /*organization*/ return new Property("organization", "Reference(Organization)", "Reference to the organization validating information.", 0, 1, organization); 1542 case -854379015: /*identityCertificate*/ return new Property("identityCertificate", "string", "A digital identity certificate associated with the validator.", 0, 1, identityCertificate); 1543 case -184196152: /*attestationSignature*/ return new Property("attestationSignature", "Signature", "Signed assertion by the validator that they have validated the information.", 0, 1, attestationSignature); 1544 default: return super.getNamedProperty(_hash, _name, _checkValid); 1545 } 1546 1547 } 1548 1549 @Override 1550 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1551 switch (hash) { 1552 case 1178922291: /*organization*/ return this.organization == null ? new Base[0] : new Base[] {this.organization}; // Reference 1553 case -854379015: /*identityCertificate*/ return this.identityCertificate == null ? new Base[0] : new Base[] {this.identityCertificate}; // StringType 1554 case -184196152: /*attestationSignature*/ return this.attestationSignature == null ? new Base[0] : new Base[] {this.attestationSignature}; // Signature 1555 default: return super.getProperty(hash, name, checkValid); 1556 } 1557 1558 } 1559 1560 @Override 1561 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1562 switch (hash) { 1563 case 1178922291: // organization 1564 this.organization = TypeConvertor.castToReference(value); // Reference 1565 return value; 1566 case -854379015: // identityCertificate 1567 this.identityCertificate = TypeConvertor.castToString(value); // StringType 1568 return value; 1569 case -184196152: // attestationSignature 1570 this.attestationSignature = TypeConvertor.castToSignature(value); // Signature 1571 return value; 1572 default: return super.setProperty(hash, name, value); 1573 } 1574 1575 } 1576 1577 @Override 1578 public Base setProperty(String name, Base value) throws FHIRException { 1579 if (name.equals("organization")) { 1580 this.organization = TypeConvertor.castToReference(value); // Reference 1581 } else if (name.equals("identityCertificate")) { 1582 this.identityCertificate = TypeConvertor.castToString(value); // StringType 1583 } else if (name.equals("attestationSignature")) { 1584 this.attestationSignature = TypeConvertor.castToSignature(value); // Signature 1585 } else 1586 return super.setProperty(name, value); 1587 return value; 1588 } 1589 1590 @Override 1591 public void removeChild(String name, Base value) throws FHIRException { 1592 if (name.equals("organization")) { 1593 this.organization = null; 1594 } else if (name.equals("identityCertificate")) { 1595 this.identityCertificate = null; 1596 } else if (name.equals("attestationSignature")) { 1597 this.attestationSignature = null; 1598 } else 1599 super.removeChild(name, value); 1600 1601 } 1602 1603 @Override 1604 public Base makeProperty(int hash, String name) throws FHIRException { 1605 switch (hash) { 1606 case 1178922291: return getOrganization(); 1607 case -854379015: return getIdentityCertificateElement(); 1608 case -184196152: return getAttestationSignature(); 1609 default: return super.makeProperty(hash, name); 1610 } 1611 1612 } 1613 1614 @Override 1615 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1616 switch (hash) { 1617 case 1178922291: /*organization*/ return new String[] {"Reference"}; 1618 case -854379015: /*identityCertificate*/ return new String[] {"string"}; 1619 case -184196152: /*attestationSignature*/ return new String[] {"Signature"}; 1620 default: return super.getTypesForProperty(hash, name); 1621 } 1622 1623 } 1624 1625 @Override 1626 public Base addChild(String name) throws FHIRException { 1627 if (name.equals("organization")) { 1628 this.organization = new Reference(); 1629 return this.organization; 1630 } 1631 else if (name.equals("identityCertificate")) { 1632 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.validator.identityCertificate"); 1633 } 1634 else if (name.equals("attestationSignature")) { 1635 this.attestationSignature = new Signature(); 1636 return this.attestationSignature; 1637 } 1638 else 1639 return super.addChild(name); 1640 } 1641 1642 public VerificationResultValidatorComponent copy() { 1643 VerificationResultValidatorComponent dst = new VerificationResultValidatorComponent(); 1644 copyValues(dst); 1645 return dst; 1646 } 1647 1648 public void copyValues(VerificationResultValidatorComponent dst) { 1649 super.copyValues(dst); 1650 dst.organization = organization == null ? null : organization.copy(); 1651 dst.identityCertificate = identityCertificate == null ? null : identityCertificate.copy(); 1652 dst.attestationSignature = attestationSignature == null ? null : attestationSignature.copy(); 1653 } 1654 1655 @Override 1656 public boolean equalsDeep(Base other_) { 1657 if (!super.equalsDeep(other_)) 1658 return false; 1659 if (!(other_ instanceof VerificationResultValidatorComponent)) 1660 return false; 1661 VerificationResultValidatorComponent o = (VerificationResultValidatorComponent) other_; 1662 return compareDeep(organization, o.organization, true) && compareDeep(identityCertificate, o.identityCertificate, true) 1663 && compareDeep(attestationSignature, o.attestationSignature, true); 1664 } 1665 1666 @Override 1667 public boolean equalsShallow(Base other_) { 1668 if (!super.equalsShallow(other_)) 1669 return false; 1670 if (!(other_ instanceof VerificationResultValidatorComponent)) 1671 return false; 1672 VerificationResultValidatorComponent o = (VerificationResultValidatorComponent) other_; 1673 return compareValues(identityCertificate, o.identityCertificate, true); 1674 } 1675 1676 public boolean isEmpty() { 1677 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(organization, identityCertificate 1678 , attestationSignature); 1679 } 1680 1681 public String fhirType() { 1682 return "VerificationResult.validator"; 1683 1684 } 1685 1686 } 1687 1688 /** 1689 * A resource that was validated. 1690 */ 1691 @Child(name = "target", type = {Reference.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1692 @Description(shortDefinition="A resource that was validated", formalDefinition="A resource that was validated." ) 1693 protected List<Reference> target; 1694 1695 /** 1696 * The fhirpath location(s) within the resource that was validated. 1697 */ 1698 @Child(name = "targetLocation", type = {StringType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1699 @Description(shortDefinition="The fhirpath location(s) within the resource that was validated", formalDefinition="The fhirpath location(s) within the resource that was validated." ) 1700 protected List<StringType> targetLocation; 1701 1702 /** 1703 * The frequency with which the target must be validated (none; initial; periodic). 1704 */ 1705 @Child(name = "need", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 1706 @Description(shortDefinition="none | initial | periodic", formalDefinition="The frequency with which the target must be validated (none; initial; periodic)." ) 1707 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-need") 1708 protected CodeableConcept need; 1709 1710 /** 1711 * The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed). 1712 */ 1713 @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=true) 1714 @Description(shortDefinition="attested | validated | in-process | req-revalid | val-fail | reval-fail | entered-in-error", formalDefinition="The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed)." ) 1715 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-status") 1716 protected Enumeration<VerificationResultStatus> status; 1717 1718 /** 1719 * When the validation status was updated. 1720 */ 1721 @Child(name = "statusDate", type = {DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=true) 1722 @Description(shortDefinition="When the validation status was updated", formalDefinition="When the validation status was updated." ) 1723 protected DateTimeType statusDate; 1724 1725 /** 1726 * What the target is validated against (nothing; primary source; multiple sources). 1727 */ 1728 @Child(name = "validationType", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=true) 1729 @Description(shortDefinition="nothing | primary | multiple", formalDefinition="What the target is validated against (nothing; primary source; multiple sources)." ) 1730 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-validation-type") 1731 protected CodeableConcept validationType; 1732 1733 /** 1734 * The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context). 1735 */ 1736 @Child(name = "validationProcess", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1737 @Description(shortDefinition="The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context)", formalDefinition="The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context)." ) 1738 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-validation-process") 1739 protected List<CodeableConcept> validationProcess; 1740 1741 /** 1742 * Frequency of revalidation. 1743 */ 1744 @Child(name = "frequency", type = {Timing.class}, order=7, min=0, max=1, modifier=false, summary=false) 1745 @Description(shortDefinition="Frequency of revalidation", formalDefinition="Frequency of revalidation." ) 1746 protected Timing frequency; 1747 1748 /** 1749 * The date/time validation was last completed (including failed validations). 1750 */ 1751 @Child(name = "lastPerformed", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=false) 1752 @Description(shortDefinition="The date/time validation was last completed (including failed validations)", formalDefinition="The date/time validation was last completed (including failed validations)." ) 1753 protected DateTimeType lastPerformed; 1754 1755 /** 1756 * The date when target is next validated, if appropriate. 1757 */ 1758 @Child(name = "nextScheduled", type = {DateType.class}, order=9, min=0, max=1, modifier=false, summary=false) 1759 @Description(shortDefinition="The date when target is next validated, if appropriate", formalDefinition="The date when target is next validated, if appropriate." ) 1760 protected DateType nextScheduled; 1761 1762 /** 1763 * The result if validation fails (fatal; warning; record only; none). 1764 */ 1765 @Child(name = "failureAction", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=true) 1766 @Description(shortDefinition="fatal | warn | rec-only | none", formalDefinition="The result if validation fails (fatal; warning; record only; none)." ) 1767 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/verificationresult-failure-action") 1768 protected CodeableConcept failureAction; 1769 1770 /** 1771 * Information about the primary source(s) involved in validation. 1772 */ 1773 @Child(name = "primarySource", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1774 @Description(shortDefinition="Information about the primary source(s) involved in validation", formalDefinition="Information about the primary source(s) involved in validation." ) 1775 protected List<VerificationResultPrimarySourceComponent> primarySource; 1776 1777 /** 1778 * Information about the entity attesting to information. 1779 */ 1780 @Child(name = "attestation", type = {}, order=12, min=0, max=1, modifier=false, summary=false) 1781 @Description(shortDefinition="Information about the entity attesting to information", formalDefinition="Information about the entity attesting to information." ) 1782 protected VerificationResultAttestationComponent attestation; 1783 1784 /** 1785 * Information about the entity validating information. 1786 */ 1787 @Child(name = "validator", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1788 @Description(shortDefinition="Information about the entity validating information", formalDefinition="Information about the entity validating information." ) 1789 protected List<VerificationResultValidatorComponent> validator; 1790 1791 private static final long serialVersionUID = -612905810L; 1792 1793 /** 1794 * Constructor 1795 */ 1796 public VerificationResult() { 1797 super(); 1798 } 1799 1800 /** 1801 * Constructor 1802 */ 1803 public VerificationResult(VerificationResultStatus status) { 1804 super(); 1805 this.setStatus(status); 1806 } 1807 1808 /** 1809 * @return {@link #target} (A resource that was validated.) 1810 */ 1811 public List<Reference> getTarget() { 1812 if (this.target == null) 1813 this.target = new ArrayList<Reference>(); 1814 return this.target; 1815 } 1816 1817 /** 1818 * @return Returns a reference to <code>this</code> for easy method chaining 1819 */ 1820 public VerificationResult setTarget(List<Reference> theTarget) { 1821 this.target = theTarget; 1822 return this; 1823 } 1824 1825 public boolean hasTarget() { 1826 if (this.target == null) 1827 return false; 1828 for (Reference item : this.target) 1829 if (!item.isEmpty()) 1830 return true; 1831 return false; 1832 } 1833 1834 public Reference addTarget() { //3 1835 Reference t = new Reference(); 1836 if (this.target == null) 1837 this.target = new ArrayList<Reference>(); 1838 this.target.add(t); 1839 return t; 1840 } 1841 1842 public VerificationResult addTarget(Reference t) { //3 1843 if (t == null) 1844 return this; 1845 if (this.target == null) 1846 this.target = new ArrayList<Reference>(); 1847 this.target.add(t); 1848 return this; 1849 } 1850 1851 /** 1852 * @return The first repetition of repeating field {@link #target}, creating it if it does not already exist {3} 1853 */ 1854 public Reference getTargetFirstRep() { 1855 if (getTarget().isEmpty()) { 1856 addTarget(); 1857 } 1858 return getTarget().get(0); 1859 } 1860 1861 /** 1862 * @return {@link #targetLocation} (The fhirpath location(s) within the resource that was validated.) 1863 */ 1864 public List<StringType> getTargetLocation() { 1865 if (this.targetLocation == null) 1866 this.targetLocation = new ArrayList<StringType>(); 1867 return this.targetLocation; 1868 } 1869 1870 /** 1871 * @return Returns a reference to <code>this</code> for easy method chaining 1872 */ 1873 public VerificationResult setTargetLocation(List<StringType> theTargetLocation) { 1874 this.targetLocation = theTargetLocation; 1875 return this; 1876 } 1877 1878 public boolean hasTargetLocation() { 1879 if (this.targetLocation == null) 1880 return false; 1881 for (StringType item : this.targetLocation) 1882 if (!item.isEmpty()) 1883 return true; 1884 return false; 1885 } 1886 1887 /** 1888 * @return {@link #targetLocation} (The fhirpath location(s) within the resource that was validated.) 1889 */ 1890 public StringType addTargetLocationElement() {//2 1891 StringType t = new StringType(); 1892 if (this.targetLocation == null) 1893 this.targetLocation = new ArrayList<StringType>(); 1894 this.targetLocation.add(t); 1895 return t; 1896 } 1897 1898 /** 1899 * @param value {@link #targetLocation} (The fhirpath location(s) within the resource that was validated.) 1900 */ 1901 public VerificationResult addTargetLocation(String value) { //1 1902 StringType t = new StringType(); 1903 t.setValue(value); 1904 if (this.targetLocation == null) 1905 this.targetLocation = new ArrayList<StringType>(); 1906 this.targetLocation.add(t); 1907 return this; 1908 } 1909 1910 /** 1911 * @param value {@link #targetLocation} (The fhirpath location(s) within the resource that was validated.) 1912 */ 1913 public boolean hasTargetLocation(String value) { 1914 if (this.targetLocation == null) 1915 return false; 1916 for (StringType v : this.targetLocation) 1917 if (v.getValue().equals(value)) // string 1918 return true; 1919 return false; 1920 } 1921 1922 /** 1923 * @return {@link #need} (The frequency with which the target must be validated (none; initial; periodic).) 1924 */ 1925 public CodeableConcept getNeed() { 1926 if (this.need == null) 1927 if (Configuration.errorOnAutoCreate()) 1928 throw new Error("Attempt to auto-create VerificationResult.need"); 1929 else if (Configuration.doAutoCreate()) 1930 this.need = new CodeableConcept(); // cc 1931 return this.need; 1932 } 1933 1934 public boolean hasNeed() { 1935 return this.need != null && !this.need.isEmpty(); 1936 } 1937 1938 /** 1939 * @param value {@link #need} (The frequency with which the target must be validated (none; initial; periodic).) 1940 */ 1941 public VerificationResult setNeed(CodeableConcept value) { 1942 this.need = value; 1943 return this; 1944 } 1945 1946 /** 1947 * @return {@link #status} (The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed).). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1948 */ 1949 public Enumeration<VerificationResultStatus> getStatusElement() { 1950 if (this.status == null) 1951 if (Configuration.errorOnAutoCreate()) 1952 throw new Error("Attempt to auto-create VerificationResult.status"); 1953 else if (Configuration.doAutoCreate()) 1954 this.status = new Enumeration<VerificationResultStatus>(new VerificationResultStatusEnumFactory()); // bb 1955 return this.status; 1956 } 1957 1958 public boolean hasStatusElement() { 1959 return this.status != null && !this.status.isEmpty(); 1960 } 1961 1962 public boolean hasStatus() { 1963 return this.status != null && !this.status.isEmpty(); 1964 } 1965 1966 /** 1967 * @param value {@link #status} (The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed).). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1968 */ 1969 public VerificationResult setStatusElement(Enumeration<VerificationResultStatus> value) { 1970 this.status = value; 1971 return this; 1972 } 1973 1974 /** 1975 * @return The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed). 1976 */ 1977 public VerificationResultStatus getStatus() { 1978 return this.status == null ? null : this.status.getValue(); 1979 } 1980 1981 /** 1982 * @param value The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed). 1983 */ 1984 public VerificationResult setStatus(VerificationResultStatus value) { 1985 if (this.status == null) 1986 this.status = new Enumeration<VerificationResultStatus>(new VerificationResultStatusEnumFactory()); 1987 this.status.setValue(value); 1988 return this; 1989 } 1990 1991 /** 1992 * @return {@link #statusDate} (When the validation status was updated.). This is the underlying object with id, value and extensions. The accessor "getStatusDate" gives direct access to the value 1993 */ 1994 public DateTimeType getStatusDateElement() { 1995 if (this.statusDate == null) 1996 if (Configuration.errorOnAutoCreate()) 1997 throw new Error("Attempt to auto-create VerificationResult.statusDate"); 1998 else if (Configuration.doAutoCreate()) 1999 this.statusDate = new DateTimeType(); // bb 2000 return this.statusDate; 2001 } 2002 2003 public boolean hasStatusDateElement() { 2004 return this.statusDate != null && !this.statusDate.isEmpty(); 2005 } 2006 2007 public boolean hasStatusDate() { 2008 return this.statusDate != null && !this.statusDate.isEmpty(); 2009 } 2010 2011 /** 2012 * @param value {@link #statusDate} (When the validation status was updated.). This is the underlying object with id, value and extensions. The accessor "getStatusDate" gives direct access to the value 2013 */ 2014 public VerificationResult setStatusDateElement(DateTimeType value) { 2015 this.statusDate = value; 2016 return this; 2017 } 2018 2019 /** 2020 * @return When the validation status was updated. 2021 */ 2022 public Date getStatusDate() { 2023 return this.statusDate == null ? null : this.statusDate.getValue(); 2024 } 2025 2026 /** 2027 * @param value When the validation status was updated. 2028 */ 2029 public VerificationResult setStatusDate(Date value) { 2030 if (value == null) 2031 this.statusDate = null; 2032 else { 2033 if (this.statusDate == null) 2034 this.statusDate = new DateTimeType(); 2035 this.statusDate.setValue(value); 2036 } 2037 return this; 2038 } 2039 2040 /** 2041 * @return {@link #validationType} (What the target is validated against (nothing; primary source; multiple sources).) 2042 */ 2043 public CodeableConcept getValidationType() { 2044 if (this.validationType == null) 2045 if (Configuration.errorOnAutoCreate()) 2046 throw new Error("Attempt to auto-create VerificationResult.validationType"); 2047 else if (Configuration.doAutoCreate()) 2048 this.validationType = new CodeableConcept(); // cc 2049 return this.validationType; 2050 } 2051 2052 public boolean hasValidationType() { 2053 return this.validationType != null && !this.validationType.isEmpty(); 2054 } 2055 2056 /** 2057 * @param value {@link #validationType} (What the target is validated against (nothing; primary source; multiple sources).) 2058 */ 2059 public VerificationResult setValidationType(CodeableConcept value) { 2060 this.validationType = value; 2061 return this; 2062 } 2063 2064 /** 2065 * @return {@link #validationProcess} (The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context).) 2066 */ 2067 public List<CodeableConcept> getValidationProcess() { 2068 if (this.validationProcess == null) 2069 this.validationProcess = new ArrayList<CodeableConcept>(); 2070 return this.validationProcess; 2071 } 2072 2073 /** 2074 * @return Returns a reference to <code>this</code> for easy method chaining 2075 */ 2076 public VerificationResult setValidationProcess(List<CodeableConcept> theValidationProcess) { 2077 this.validationProcess = theValidationProcess; 2078 return this; 2079 } 2080 2081 public boolean hasValidationProcess() { 2082 if (this.validationProcess == null) 2083 return false; 2084 for (CodeableConcept item : this.validationProcess) 2085 if (!item.isEmpty()) 2086 return true; 2087 return false; 2088 } 2089 2090 public CodeableConcept addValidationProcess() { //3 2091 CodeableConcept t = new CodeableConcept(); 2092 if (this.validationProcess == null) 2093 this.validationProcess = new ArrayList<CodeableConcept>(); 2094 this.validationProcess.add(t); 2095 return t; 2096 } 2097 2098 public VerificationResult addValidationProcess(CodeableConcept t) { //3 2099 if (t == null) 2100 return this; 2101 if (this.validationProcess == null) 2102 this.validationProcess = new ArrayList<CodeableConcept>(); 2103 this.validationProcess.add(t); 2104 return this; 2105 } 2106 2107 /** 2108 * @return The first repetition of repeating field {@link #validationProcess}, creating it if it does not already exist {3} 2109 */ 2110 public CodeableConcept getValidationProcessFirstRep() { 2111 if (getValidationProcess().isEmpty()) { 2112 addValidationProcess(); 2113 } 2114 return getValidationProcess().get(0); 2115 } 2116 2117 /** 2118 * @return {@link #frequency} (Frequency of revalidation.) 2119 */ 2120 public Timing getFrequency() { 2121 if (this.frequency == null) 2122 if (Configuration.errorOnAutoCreate()) 2123 throw new Error("Attempt to auto-create VerificationResult.frequency"); 2124 else if (Configuration.doAutoCreate()) 2125 this.frequency = new Timing(); // cc 2126 return this.frequency; 2127 } 2128 2129 public boolean hasFrequency() { 2130 return this.frequency != null && !this.frequency.isEmpty(); 2131 } 2132 2133 /** 2134 * @param value {@link #frequency} (Frequency of revalidation.) 2135 */ 2136 public VerificationResult setFrequency(Timing value) { 2137 this.frequency = value; 2138 return this; 2139 } 2140 2141 /** 2142 * @return {@link #lastPerformed} (The date/time validation was last completed (including failed validations).). This is the underlying object with id, value and extensions. The accessor "getLastPerformed" gives direct access to the value 2143 */ 2144 public DateTimeType getLastPerformedElement() { 2145 if (this.lastPerformed == null) 2146 if (Configuration.errorOnAutoCreate()) 2147 throw new Error("Attempt to auto-create VerificationResult.lastPerformed"); 2148 else if (Configuration.doAutoCreate()) 2149 this.lastPerformed = new DateTimeType(); // bb 2150 return this.lastPerformed; 2151 } 2152 2153 public boolean hasLastPerformedElement() { 2154 return this.lastPerformed != null && !this.lastPerformed.isEmpty(); 2155 } 2156 2157 public boolean hasLastPerformed() { 2158 return this.lastPerformed != null && !this.lastPerformed.isEmpty(); 2159 } 2160 2161 /** 2162 * @param value {@link #lastPerformed} (The date/time validation was last completed (including failed validations).). This is the underlying object with id, value and extensions. The accessor "getLastPerformed" gives direct access to the value 2163 */ 2164 public VerificationResult setLastPerformedElement(DateTimeType value) { 2165 this.lastPerformed = value; 2166 return this; 2167 } 2168 2169 /** 2170 * @return The date/time validation was last completed (including failed validations). 2171 */ 2172 public Date getLastPerformed() { 2173 return this.lastPerformed == null ? null : this.lastPerformed.getValue(); 2174 } 2175 2176 /** 2177 * @param value The date/time validation was last completed (including failed validations). 2178 */ 2179 public VerificationResult setLastPerformed(Date value) { 2180 if (value == null) 2181 this.lastPerformed = null; 2182 else { 2183 if (this.lastPerformed == null) 2184 this.lastPerformed = new DateTimeType(); 2185 this.lastPerformed.setValue(value); 2186 } 2187 return this; 2188 } 2189 2190 /** 2191 * @return {@link #nextScheduled} (The date when target is next validated, if appropriate.). This is the underlying object with id, value and extensions. The accessor "getNextScheduled" gives direct access to the value 2192 */ 2193 public DateType getNextScheduledElement() { 2194 if (this.nextScheduled == null) 2195 if (Configuration.errorOnAutoCreate()) 2196 throw new Error("Attempt to auto-create VerificationResult.nextScheduled"); 2197 else if (Configuration.doAutoCreate()) 2198 this.nextScheduled = new DateType(); // bb 2199 return this.nextScheduled; 2200 } 2201 2202 public boolean hasNextScheduledElement() { 2203 return this.nextScheduled != null && !this.nextScheduled.isEmpty(); 2204 } 2205 2206 public boolean hasNextScheduled() { 2207 return this.nextScheduled != null && !this.nextScheduled.isEmpty(); 2208 } 2209 2210 /** 2211 * @param value {@link #nextScheduled} (The date when target is next validated, if appropriate.). This is the underlying object with id, value and extensions. The accessor "getNextScheduled" gives direct access to the value 2212 */ 2213 public VerificationResult setNextScheduledElement(DateType value) { 2214 this.nextScheduled = value; 2215 return this; 2216 } 2217 2218 /** 2219 * @return The date when target is next validated, if appropriate. 2220 */ 2221 public Date getNextScheduled() { 2222 return this.nextScheduled == null ? null : this.nextScheduled.getValue(); 2223 } 2224 2225 /** 2226 * @param value The date when target is next validated, if appropriate. 2227 */ 2228 public VerificationResult setNextScheduled(Date value) { 2229 if (value == null) 2230 this.nextScheduled = null; 2231 else { 2232 if (this.nextScheduled == null) 2233 this.nextScheduled = new DateType(); 2234 this.nextScheduled.setValue(value); 2235 } 2236 return this; 2237 } 2238 2239 /** 2240 * @return {@link #failureAction} (The result if validation fails (fatal; warning; record only; none).) 2241 */ 2242 public CodeableConcept getFailureAction() { 2243 if (this.failureAction == null) 2244 if (Configuration.errorOnAutoCreate()) 2245 throw new Error("Attempt to auto-create VerificationResult.failureAction"); 2246 else if (Configuration.doAutoCreate()) 2247 this.failureAction = new CodeableConcept(); // cc 2248 return this.failureAction; 2249 } 2250 2251 public boolean hasFailureAction() { 2252 return this.failureAction != null && !this.failureAction.isEmpty(); 2253 } 2254 2255 /** 2256 * @param value {@link #failureAction} (The result if validation fails (fatal; warning; record only; none).) 2257 */ 2258 public VerificationResult setFailureAction(CodeableConcept value) { 2259 this.failureAction = value; 2260 return this; 2261 } 2262 2263 /** 2264 * @return {@link #primarySource} (Information about the primary source(s) involved in validation.) 2265 */ 2266 public List<VerificationResultPrimarySourceComponent> getPrimarySource() { 2267 if (this.primarySource == null) 2268 this.primarySource = new ArrayList<VerificationResultPrimarySourceComponent>(); 2269 return this.primarySource; 2270 } 2271 2272 /** 2273 * @return Returns a reference to <code>this</code> for easy method chaining 2274 */ 2275 public VerificationResult setPrimarySource(List<VerificationResultPrimarySourceComponent> thePrimarySource) { 2276 this.primarySource = thePrimarySource; 2277 return this; 2278 } 2279 2280 public boolean hasPrimarySource() { 2281 if (this.primarySource == null) 2282 return false; 2283 for (VerificationResultPrimarySourceComponent item : this.primarySource) 2284 if (!item.isEmpty()) 2285 return true; 2286 return false; 2287 } 2288 2289 public VerificationResultPrimarySourceComponent addPrimarySource() { //3 2290 VerificationResultPrimarySourceComponent t = new VerificationResultPrimarySourceComponent(); 2291 if (this.primarySource == null) 2292 this.primarySource = new ArrayList<VerificationResultPrimarySourceComponent>(); 2293 this.primarySource.add(t); 2294 return t; 2295 } 2296 2297 public VerificationResult addPrimarySource(VerificationResultPrimarySourceComponent t) { //3 2298 if (t == null) 2299 return this; 2300 if (this.primarySource == null) 2301 this.primarySource = new ArrayList<VerificationResultPrimarySourceComponent>(); 2302 this.primarySource.add(t); 2303 return this; 2304 } 2305 2306 /** 2307 * @return The first repetition of repeating field {@link #primarySource}, creating it if it does not already exist {3} 2308 */ 2309 public VerificationResultPrimarySourceComponent getPrimarySourceFirstRep() { 2310 if (getPrimarySource().isEmpty()) { 2311 addPrimarySource(); 2312 } 2313 return getPrimarySource().get(0); 2314 } 2315 2316 /** 2317 * @return {@link #attestation} (Information about the entity attesting to information.) 2318 */ 2319 public VerificationResultAttestationComponent getAttestation() { 2320 if (this.attestation == null) 2321 if (Configuration.errorOnAutoCreate()) 2322 throw new Error("Attempt to auto-create VerificationResult.attestation"); 2323 else if (Configuration.doAutoCreate()) 2324 this.attestation = new VerificationResultAttestationComponent(); // cc 2325 return this.attestation; 2326 } 2327 2328 public boolean hasAttestation() { 2329 return this.attestation != null && !this.attestation.isEmpty(); 2330 } 2331 2332 /** 2333 * @param value {@link #attestation} (Information about the entity attesting to information.) 2334 */ 2335 public VerificationResult setAttestation(VerificationResultAttestationComponent value) { 2336 this.attestation = value; 2337 return this; 2338 } 2339 2340 /** 2341 * @return {@link #validator} (Information about the entity validating information.) 2342 */ 2343 public List<VerificationResultValidatorComponent> getValidator() { 2344 if (this.validator == null) 2345 this.validator = new ArrayList<VerificationResultValidatorComponent>(); 2346 return this.validator; 2347 } 2348 2349 /** 2350 * @return Returns a reference to <code>this</code> for easy method chaining 2351 */ 2352 public VerificationResult setValidator(List<VerificationResultValidatorComponent> theValidator) { 2353 this.validator = theValidator; 2354 return this; 2355 } 2356 2357 public boolean hasValidator() { 2358 if (this.validator == null) 2359 return false; 2360 for (VerificationResultValidatorComponent item : this.validator) 2361 if (!item.isEmpty()) 2362 return true; 2363 return false; 2364 } 2365 2366 public VerificationResultValidatorComponent addValidator() { //3 2367 VerificationResultValidatorComponent t = new VerificationResultValidatorComponent(); 2368 if (this.validator == null) 2369 this.validator = new ArrayList<VerificationResultValidatorComponent>(); 2370 this.validator.add(t); 2371 return t; 2372 } 2373 2374 public VerificationResult addValidator(VerificationResultValidatorComponent t) { //3 2375 if (t == null) 2376 return this; 2377 if (this.validator == null) 2378 this.validator = new ArrayList<VerificationResultValidatorComponent>(); 2379 this.validator.add(t); 2380 return this; 2381 } 2382 2383 /** 2384 * @return The first repetition of repeating field {@link #validator}, creating it if it does not already exist {3} 2385 */ 2386 public VerificationResultValidatorComponent getValidatorFirstRep() { 2387 if (getValidator().isEmpty()) { 2388 addValidator(); 2389 } 2390 return getValidator().get(0); 2391 } 2392 2393 protected void listChildren(List<Property> children) { 2394 super.listChildren(children); 2395 children.add(new Property("target", "Reference(Any)", "A resource that was validated.", 0, java.lang.Integer.MAX_VALUE, target)); 2396 children.add(new Property("targetLocation", "string", "The fhirpath location(s) within the resource that was validated.", 0, java.lang.Integer.MAX_VALUE, targetLocation)); 2397 children.add(new Property("need", "CodeableConcept", "The frequency with which the target must be validated (none; initial; periodic).", 0, 1, need)); 2398 children.add(new Property("status", "code", "The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed).", 0, 1, status)); 2399 children.add(new Property("statusDate", "dateTime", "When the validation status was updated.", 0, 1, statusDate)); 2400 children.add(new Property("validationType", "CodeableConcept", "What the target is validated against (nothing; primary source; multiple sources).", 0, 1, validationType)); 2401 children.add(new Property("validationProcess", "CodeableConcept", "The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context).", 0, java.lang.Integer.MAX_VALUE, validationProcess)); 2402 children.add(new Property("frequency", "Timing", "Frequency of revalidation.", 0, 1, frequency)); 2403 children.add(new Property("lastPerformed", "dateTime", "The date/time validation was last completed (including failed validations).", 0, 1, lastPerformed)); 2404 children.add(new Property("nextScheduled", "date", "The date when target is next validated, if appropriate.", 0, 1, nextScheduled)); 2405 children.add(new Property("failureAction", "CodeableConcept", "The result if validation fails (fatal; warning; record only; none).", 0, 1, failureAction)); 2406 children.add(new Property("primarySource", "", "Information about the primary source(s) involved in validation.", 0, java.lang.Integer.MAX_VALUE, primarySource)); 2407 children.add(new Property("attestation", "", "Information about the entity attesting to information.", 0, 1, attestation)); 2408 children.add(new Property("validator", "", "Information about the entity validating information.", 0, java.lang.Integer.MAX_VALUE, validator)); 2409 } 2410 2411 @Override 2412 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2413 switch (_hash) { 2414 case -880905839: /*target*/ return new Property("target", "Reference(Any)", "A resource that was validated.", 0, java.lang.Integer.MAX_VALUE, target); 2415 case 308958310: /*targetLocation*/ return new Property("targetLocation", "string", "The fhirpath location(s) within the resource that was validated.", 0, java.lang.Integer.MAX_VALUE, targetLocation); 2416 case 3377302: /*need*/ return new Property("need", "CodeableConcept", "The frequency with which the target must be validated (none; initial; periodic).", 0, 1, need); 2417 case -892481550: /*status*/ return new Property("status", "code", "The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed).", 0, 1, status); 2418 case 247524032: /*statusDate*/ return new Property("statusDate", "dateTime", "When the validation status was updated.", 0, 1, statusDate); 2419 case -279681197: /*validationType*/ return new Property("validationType", "CodeableConcept", "What the target is validated against (nothing; primary source; multiple sources).", 0, 1, validationType); 2420 case 797680566: /*validationProcess*/ return new Property("validationProcess", "CodeableConcept", "The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context).", 0, java.lang.Integer.MAX_VALUE, validationProcess); 2421 case -70023844: /*frequency*/ return new Property("frequency", "Timing", "Frequency of revalidation.", 0, 1, frequency); 2422 case -1313229366: /*lastPerformed*/ return new Property("lastPerformed", "dateTime", "The date/time validation was last completed (including failed validations).", 0, 1, lastPerformed); 2423 case 1874589434: /*nextScheduled*/ return new Property("nextScheduled", "date", "The date when target is next validated, if appropriate.", 0, 1, nextScheduled); 2424 case 1816382560: /*failureAction*/ return new Property("failureAction", "CodeableConcept", "The result if validation fails (fatal; warning; record only; none).", 0, 1, failureAction); 2425 case -528721731: /*primarySource*/ return new Property("primarySource", "", "Information about the primary source(s) involved in validation.", 0, java.lang.Integer.MAX_VALUE, primarySource); 2426 case -709624112: /*attestation*/ return new Property("attestation", "", "Information about the entity attesting to information.", 0, 1, attestation); 2427 case -1109783726: /*validator*/ return new Property("validator", "", "Information about the entity validating information.", 0, java.lang.Integer.MAX_VALUE, validator); 2428 default: return super.getNamedProperty(_hash, _name, _checkValid); 2429 } 2430 2431 } 2432 2433 @Override 2434 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2435 switch (hash) { 2436 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // Reference 2437 case 308958310: /*targetLocation*/ return this.targetLocation == null ? new Base[0] : this.targetLocation.toArray(new Base[this.targetLocation.size()]); // StringType 2438 case 3377302: /*need*/ return this.need == null ? new Base[0] : new Base[] {this.need}; // CodeableConcept 2439 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<VerificationResultStatus> 2440 case 247524032: /*statusDate*/ return this.statusDate == null ? new Base[0] : new Base[] {this.statusDate}; // DateTimeType 2441 case -279681197: /*validationType*/ return this.validationType == null ? new Base[0] : new Base[] {this.validationType}; // CodeableConcept 2442 case 797680566: /*validationProcess*/ return this.validationProcess == null ? new Base[0] : this.validationProcess.toArray(new Base[this.validationProcess.size()]); // CodeableConcept 2443 case -70023844: /*frequency*/ return this.frequency == null ? new Base[0] : new Base[] {this.frequency}; // Timing 2444 case -1313229366: /*lastPerformed*/ return this.lastPerformed == null ? new Base[0] : new Base[] {this.lastPerformed}; // DateTimeType 2445 case 1874589434: /*nextScheduled*/ return this.nextScheduled == null ? new Base[0] : new Base[] {this.nextScheduled}; // DateType 2446 case 1816382560: /*failureAction*/ return this.failureAction == null ? new Base[0] : new Base[] {this.failureAction}; // CodeableConcept 2447 case -528721731: /*primarySource*/ return this.primarySource == null ? new Base[0] : this.primarySource.toArray(new Base[this.primarySource.size()]); // VerificationResultPrimarySourceComponent 2448 case -709624112: /*attestation*/ return this.attestation == null ? new Base[0] : new Base[] {this.attestation}; // VerificationResultAttestationComponent 2449 case -1109783726: /*validator*/ return this.validator == null ? new Base[0] : this.validator.toArray(new Base[this.validator.size()]); // VerificationResultValidatorComponent 2450 default: return super.getProperty(hash, name, checkValid); 2451 } 2452 2453 } 2454 2455 @Override 2456 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2457 switch (hash) { 2458 case -880905839: // target 2459 this.getTarget().add(TypeConvertor.castToReference(value)); // Reference 2460 return value; 2461 case 308958310: // targetLocation 2462 this.getTargetLocation().add(TypeConvertor.castToString(value)); // StringType 2463 return value; 2464 case 3377302: // need 2465 this.need = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2466 return value; 2467 case -892481550: // status 2468 value = new VerificationResultStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2469 this.status = (Enumeration) value; // Enumeration<VerificationResultStatus> 2470 return value; 2471 case 247524032: // statusDate 2472 this.statusDate = TypeConvertor.castToDateTime(value); // DateTimeType 2473 return value; 2474 case -279681197: // validationType 2475 this.validationType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2476 return value; 2477 case 797680566: // validationProcess 2478 this.getValidationProcess().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2479 return value; 2480 case -70023844: // frequency 2481 this.frequency = TypeConvertor.castToTiming(value); // Timing 2482 return value; 2483 case -1313229366: // lastPerformed 2484 this.lastPerformed = TypeConvertor.castToDateTime(value); // DateTimeType 2485 return value; 2486 case 1874589434: // nextScheduled 2487 this.nextScheduled = TypeConvertor.castToDate(value); // DateType 2488 return value; 2489 case 1816382560: // failureAction 2490 this.failureAction = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2491 return value; 2492 case -528721731: // primarySource 2493 this.getPrimarySource().add((VerificationResultPrimarySourceComponent) value); // VerificationResultPrimarySourceComponent 2494 return value; 2495 case -709624112: // attestation 2496 this.attestation = (VerificationResultAttestationComponent) value; // VerificationResultAttestationComponent 2497 return value; 2498 case -1109783726: // validator 2499 this.getValidator().add((VerificationResultValidatorComponent) value); // VerificationResultValidatorComponent 2500 return value; 2501 default: return super.setProperty(hash, name, value); 2502 } 2503 2504 } 2505 2506 @Override 2507 public Base setProperty(String name, Base value) throws FHIRException { 2508 if (name.equals("target")) { 2509 this.getTarget().add(TypeConvertor.castToReference(value)); 2510 } else if (name.equals("targetLocation")) { 2511 this.getTargetLocation().add(TypeConvertor.castToString(value)); 2512 } else if (name.equals("need")) { 2513 this.need = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2514 } else if (name.equals("status")) { 2515 value = new VerificationResultStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2516 this.status = (Enumeration) value; // Enumeration<VerificationResultStatus> 2517 } else if (name.equals("statusDate")) { 2518 this.statusDate = TypeConvertor.castToDateTime(value); // DateTimeType 2519 } else if (name.equals("validationType")) { 2520 this.validationType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2521 } else if (name.equals("validationProcess")) { 2522 this.getValidationProcess().add(TypeConvertor.castToCodeableConcept(value)); 2523 } else if (name.equals("frequency")) { 2524 this.frequency = TypeConvertor.castToTiming(value); // Timing 2525 } else if (name.equals("lastPerformed")) { 2526 this.lastPerformed = TypeConvertor.castToDateTime(value); // DateTimeType 2527 } else if (name.equals("nextScheduled")) { 2528 this.nextScheduled = TypeConvertor.castToDate(value); // DateType 2529 } else if (name.equals("failureAction")) { 2530 this.failureAction = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 2531 } else if (name.equals("primarySource")) { 2532 this.getPrimarySource().add((VerificationResultPrimarySourceComponent) value); 2533 } else if (name.equals("attestation")) { 2534 this.attestation = (VerificationResultAttestationComponent) value; // VerificationResultAttestationComponent 2535 } else if (name.equals("validator")) { 2536 this.getValidator().add((VerificationResultValidatorComponent) value); 2537 } else 2538 return super.setProperty(name, value); 2539 return value; 2540 } 2541 2542 @Override 2543 public void removeChild(String name, Base value) throws FHIRException { 2544 if (name.equals("target")) { 2545 this.getTarget().remove(value); 2546 } else if (name.equals("targetLocation")) { 2547 this.getTargetLocation().remove(value); 2548 } else if (name.equals("need")) { 2549 this.need = null; 2550 } else if (name.equals("status")) { 2551 value = new VerificationResultStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2552 this.status = (Enumeration) value; // Enumeration<VerificationResultStatus> 2553 } else if (name.equals("statusDate")) { 2554 this.statusDate = null; 2555 } else if (name.equals("validationType")) { 2556 this.validationType = null; 2557 } else if (name.equals("validationProcess")) { 2558 this.getValidationProcess().remove(value); 2559 } else if (name.equals("frequency")) { 2560 this.frequency = null; 2561 } else if (name.equals("lastPerformed")) { 2562 this.lastPerformed = null; 2563 } else if (name.equals("nextScheduled")) { 2564 this.nextScheduled = null; 2565 } else if (name.equals("failureAction")) { 2566 this.failureAction = null; 2567 } else if (name.equals("primarySource")) { 2568 this.getPrimarySource().remove((VerificationResultPrimarySourceComponent) value); 2569 } else if (name.equals("attestation")) { 2570 this.attestation = (VerificationResultAttestationComponent) value; // VerificationResultAttestationComponent 2571 } else if (name.equals("validator")) { 2572 this.getValidator().remove((VerificationResultValidatorComponent) value); 2573 } else 2574 super.removeChild(name, value); 2575 2576 } 2577 2578 @Override 2579 public Base makeProperty(int hash, String name) throws FHIRException { 2580 switch (hash) { 2581 case -880905839: return addTarget(); 2582 case 308958310: return addTargetLocationElement(); 2583 case 3377302: return getNeed(); 2584 case -892481550: return getStatusElement(); 2585 case 247524032: return getStatusDateElement(); 2586 case -279681197: return getValidationType(); 2587 case 797680566: return addValidationProcess(); 2588 case -70023844: return getFrequency(); 2589 case -1313229366: return getLastPerformedElement(); 2590 case 1874589434: return getNextScheduledElement(); 2591 case 1816382560: return getFailureAction(); 2592 case -528721731: return addPrimarySource(); 2593 case -709624112: return getAttestation(); 2594 case -1109783726: return addValidator(); 2595 default: return super.makeProperty(hash, name); 2596 } 2597 2598 } 2599 2600 @Override 2601 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2602 switch (hash) { 2603 case -880905839: /*target*/ return new String[] {"Reference"}; 2604 case 308958310: /*targetLocation*/ return new String[] {"string"}; 2605 case 3377302: /*need*/ return new String[] {"CodeableConcept"}; 2606 case -892481550: /*status*/ return new String[] {"code"}; 2607 case 247524032: /*statusDate*/ return new String[] {"dateTime"}; 2608 case -279681197: /*validationType*/ return new String[] {"CodeableConcept"}; 2609 case 797680566: /*validationProcess*/ return new String[] {"CodeableConcept"}; 2610 case -70023844: /*frequency*/ return new String[] {"Timing"}; 2611 case -1313229366: /*lastPerformed*/ return new String[] {"dateTime"}; 2612 case 1874589434: /*nextScheduled*/ return new String[] {"date"}; 2613 case 1816382560: /*failureAction*/ return new String[] {"CodeableConcept"}; 2614 case -528721731: /*primarySource*/ return new String[] {}; 2615 case -709624112: /*attestation*/ return new String[] {}; 2616 case -1109783726: /*validator*/ return new String[] {}; 2617 default: return super.getTypesForProperty(hash, name); 2618 } 2619 2620 } 2621 2622 @Override 2623 public Base addChild(String name) throws FHIRException { 2624 if (name.equals("target")) { 2625 return addTarget(); 2626 } 2627 else if (name.equals("targetLocation")) { 2628 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.targetLocation"); 2629 } 2630 else if (name.equals("need")) { 2631 this.need = new CodeableConcept(); 2632 return this.need; 2633 } 2634 else if (name.equals("status")) { 2635 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.status"); 2636 } 2637 else if (name.equals("statusDate")) { 2638 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.statusDate"); 2639 } 2640 else if (name.equals("validationType")) { 2641 this.validationType = new CodeableConcept(); 2642 return this.validationType; 2643 } 2644 else if (name.equals("validationProcess")) { 2645 return addValidationProcess(); 2646 } 2647 else if (name.equals("frequency")) { 2648 this.frequency = new Timing(); 2649 return this.frequency; 2650 } 2651 else if (name.equals("lastPerformed")) { 2652 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.lastPerformed"); 2653 } 2654 else if (name.equals("nextScheduled")) { 2655 throw new FHIRException("Cannot call addChild on a singleton property VerificationResult.nextScheduled"); 2656 } 2657 else if (name.equals("failureAction")) { 2658 this.failureAction = new CodeableConcept(); 2659 return this.failureAction; 2660 } 2661 else if (name.equals("primarySource")) { 2662 return addPrimarySource(); 2663 } 2664 else if (name.equals("attestation")) { 2665 this.attestation = new VerificationResultAttestationComponent(); 2666 return this.attestation; 2667 } 2668 else if (name.equals("validator")) { 2669 return addValidator(); 2670 } 2671 else 2672 return super.addChild(name); 2673 } 2674 2675 public String fhirType() { 2676 return "VerificationResult"; 2677 2678 } 2679 2680 public VerificationResult copy() { 2681 VerificationResult dst = new VerificationResult(); 2682 copyValues(dst); 2683 return dst; 2684 } 2685 2686 public void copyValues(VerificationResult dst) { 2687 super.copyValues(dst); 2688 if (target != null) { 2689 dst.target = new ArrayList<Reference>(); 2690 for (Reference i : target) 2691 dst.target.add(i.copy()); 2692 }; 2693 if (targetLocation != null) { 2694 dst.targetLocation = new ArrayList<StringType>(); 2695 for (StringType i : targetLocation) 2696 dst.targetLocation.add(i.copy()); 2697 }; 2698 dst.need = need == null ? null : need.copy(); 2699 dst.status = status == null ? null : status.copy(); 2700 dst.statusDate = statusDate == null ? null : statusDate.copy(); 2701 dst.validationType = validationType == null ? null : validationType.copy(); 2702 if (validationProcess != null) { 2703 dst.validationProcess = new ArrayList<CodeableConcept>(); 2704 for (CodeableConcept i : validationProcess) 2705 dst.validationProcess.add(i.copy()); 2706 }; 2707 dst.frequency = frequency == null ? null : frequency.copy(); 2708 dst.lastPerformed = lastPerformed == null ? null : lastPerformed.copy(); 2709 dst.nextScheduled = nextScheduled == null ? null : nextScheduled.copy(); 2710 dst.failureAction = failureAction == null ? null : failureAction.copy(); 2711 if (primarySource != null) { 2712 dst.primarySource = new ArrayList<VerificationResultPrimarySourceComponent>(); 2713 for (VerificationResultPrimarySourceComponent i : primarySource) 2714 dst.primarySource.add(i.copy()); 2715 }; 2716 dst.attestation = attestation == null ? null : attestation.copy(); 2717 if (validator != null) { 2718 dst.validator = new ArrayList<VerificationResultValidatorComponent>(); 2719 for (VerificationResultValidatorComponent i : validator) 2720 dst.validator.add(i.copy()); 2721 }; 2722 } 2723 2724 protected VerificationResult typedCopy() { 2725 return copy(); 2726 } 2727 2728 @Override 2729 public boolean equalsDeep(Base other_) { 2730 if (!super.equalsDeep(other_)) 2731 return false; 2732 if (!(other_ instanceof VerificationResult)) 2733 return false; 2734 VerificationResult o = (VerificationResult) other_; 2735 return compareDeep(target, o.target, true) && compareDeep(targetLocation, o.targetLocation, true) 2736 && compareDeep(need, o.need, true) && compareDeep(status, o.status, true) && compareDeep(statusDate, o.statusDate, true) 2737 && compareDeep(validationType, o.validationType, true) && compareDeep(validationProcess, o.validationProcess, true) 2738 && compareDeep(frequency, o.frequency, true) && compareDeep(lastPerformed, o.lastPerformed, true) 2739 && compareDeep(nextScheduled, o.nextScheduled, true) && compareDeep(failureAction, o.failureAction, true) 2740 && compareDeep(primarySource, o.primarySource, true) && compareDeep(attestation, o.attestation, true) 2741 && compareDeep(validator, o.validator, true); 2742 } 2743 2744 @Override 2745 public boolean equalsShallow(Base other_) { 2746 if (!super.equalsShallow(other_)) 2747 return false; 2748 if (!(other_ instanceof VerificationResult)) 2749 return false; 2750 VerificationResult o = (VerificationResult) other_; 2751 return compareValues(targetLocation, o.targetLocation, true) && compareValues(status, o.status, true) 2752 && compareValues(statusDate, o.statusDate, true) && compareValues(lastPerformed, o.lastPerformed, true) 2753 && compareValues(nextScheduled, o.nextScheduled, true); 2754 } 2755 2756 public boolean isEmpty() { 2757 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(target, targetLocation, need 2758 , status, statusDate, validationType, validationProcess, frequency, lastPerformed 2759 , nextScheduled, failureAction, primarySource, attestation, validator); 2760 } 2761 2762 @Override 2763 public ResourceType getResourceType() { 2764 return ResourceType.VerificationResult; 2765 } 2766 2767 /** 2768 * Search parameter: <b>attestation-method</b> 2769 * <p> 2770 * Description: <b>Select validation information for data that was attested to using the specified method</b><br> 2771 * Type: <b>token</b><br> 2772 * Path: <b>VerificationResult.attestation.communicationMethod</b><br> 2773 * </p> 2774 */ 2775 @SearchParamDefinition(name="attestation-method", path="VerificationResult.attestation.communicationMethod", description="Select validation information for data that was attested to using the specified method", type="token" ) 2776 public static final String SP_ATTESTATION_METHOD = "attestation-method"; 2777 /** 2778 * <b>Fluent Client</b> search parameter constant for <b>attestation-method</b> 2779 * <p> 2780 * Description: <b>Select validation information for data that was attested to using the specified method</b><br> 2781 * Type: <b>token</b><br> 2782 * Path: <b>VerificationResult.attestation.communicationMethod</b><br> 2783 * </p> 2784 */ 2785 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ATTESTATION_METHOD = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ATTESTATION_METHOD); 2786 2787 /** 2788 * Search parameter: <b>attestation-onbehalfof</b> 2789 * <p> 2790 * Description: <b>Select validation information for data that was attested to on behalf of the specified source</b><br> 2791 * Type: <b>reference</b><br> 2792 * Path: <b>VerificationResult.attestation.onBehalfOf</b><br> 2793 * </p> 2794 */ 2795 @SearchParamDefinition(name="attestation-onbehalfof", path="VerificationResult.attestation.onBehalfOf", description="Select validation information for data that was attested to on behalf of the specified source", type="reference", target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2796 public static final String SP_ATTESTATION_ONBEHALFOF = "attestation-onbehalfof"; 2797 /** 2798 * <b>Fluent Client</b> search parameter constant for <b>attestation-onbehalfof</b> 2799 * <p> 2800 * Description: <b>Select validation information for data that was attested to on behalf of the specified source</b><br> 2801 * Type: <b>reference</b><br> 2802 * Path: <b>VerificationResult.attestation.onBehalfOf</b><br> 2803 * </p> 2804 */ 2805 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ATTESTATION_ONBEHALFOF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ATTESTATION_ONBEHALFOF); 2806 2807/** 2808 * Constant for fluent queries to be used to add include statements. Specifies 2809 * the path value of "<b>VerificationResult:attestation-onbehalfof</b>". 2810 */ 2811 public static final ca.uhn.fhir.model.api.Include INCLUDE_ATTESTATION_ONBEHALFOF = new ca.uhn.fhir.model.api.Include("VerificationResult:attestation-onbehalfof").toLocked(); 2812 2813 /** 2814 * Search parameter: <b>attestation-who</b> 2815 * <p> 2816 * Description: <b>Select validation information for data that was attested to by the specified source</b><br> 2817 * Type: <b>reference</b><br> 2818 * Path: <b>VerificationResult.attestation.who</b><br> 2819 * </p> 2820 */ 2821 @SearchParamDefinition(name="attestation-who", path="VerificationResult.attestation.who", description="Select validation information for data that was attested to by the specified source", type="reference", target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2822 public static final String SP_ATTESTATION_WHO = "attestation-who"; 2823 /** 2824 * <b>Fluent Client</b> search parameter constant for <b>attestation-who</b> 2825 * <p> 2826 * Description: <b>Select validation information for data that was attested to by the specified source</b><br> 2827 * Type: <b>reference</b><br> 2828 * Path: <b>VerificationResult.attestation.who</b><br> 2829 * </p> 2830 */ 2831 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ATTESTATION_WHO = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ATTESTATION_WHO); 2832 2833/** 2834 * Constant for fluent queries to be used to add include statements. Specifies 2835 * the path value of "<b>VerificationResult:attestation-who</b>". 2836 */ 2837 public static final ca.uhn.fhir.model.api.Include INCLUDE_ATTESTATION_WHO = new ca.uhn.fhir.model.api.Include("VerificationResult:attestation-who").toLocked(); 2838 2839 /** 2840 * Search parameter: <b>primarysource-date</b> 2841 * <p> 2842 * Description: <b>Select validation information for data that was validated against a primary source on the specified date</b><br> 2843 * Type: <b>date</b><br> 2844 * Path: <b>VerificationResult.primarySource.validationDate</b><br> 2845 * </p> 2846 */ 2847 @SearchParamDefinition(name="primarysource-date", path="VerificationResult.primarySource.validationDate", description="Select validation information for data that was validated against a primary source on the specified date", type="date" ) 2848 public static final String SP_PRIMARYSOURCE_DATE = "primarysource-date"; 2849 /** 2850 * <b>Fluent Client</b> search parameter constant for <b>primarysource-date</b> 2851 * <p> 2852 * Description: <b>Select validation information for data that was validated against a primary source on the specified date</b><br> 2853 * Type: <b>date</b><br> 2854 * Path: <b>VerificationResult.primarySource.validationDate</b><br> 2855 * </p> 2856 */ 2857 public static final ca.uhn.fhir.rest.gclient.DateClientParam PRIMARYSOURCE_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PRIMARYSOURCE_DATE); 2858 2859 /** 2860 * Search parameter: <b>primarysource-type</b> 2861 * <p> 2862 * Description: <b>Select validation information for data that was validated against the specified type of primary source organization</b><br> 2863 * Type: <b>token</b><br> 2864 * Path: <b>VerificationResult.primarySource.type</b><br> 2865 * </p> 2866 */ 2867 @SearchParamDefinition(name="primarysource-type", path="VerificationResult.primarySource.type", description="Select validation information for data that was validated against the specified type of primary source organization", type="token" ) 2868 public static final String SP_PRIMARYSOURCE_TYPE = "primarysource-type"; 2869 /** 2870 * <b>Fluent Client</b> search parameter constant for <b>primarysource-type</b> 2871 * <p> 2872 * Description: <b>Select validation information for data that was validated against the specified type of primary source organization</b><br> 2873 * Type: <b>token</b><br> 2874 * Path: <b>VerificationResult.primarySource.type</b><br> 2875 * </p> 2876 */ 2877 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIMARYSOURCE_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIMARYSOURCE_TYPE); 2878 2879 /** 2880 * Search parameter: <b>primarysource-who</b> 2881 * <p> 2882 * Description: <b>Select validation information for data that was validated against the specified primary source</b><br> 2883 * Type: <b>reference</b><br> 2884 * Path: <b>VerificationResult.primarySource.who</b><br> 2885 * </p> 2886 */ 2887 @SearchParamDefinition(name="primarysource-who", path="VerificationResult.primarySource.who", description="Select validation information for data that was validated against the specified primary source", type="reference", target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2888 public static final String SP_PRIMARYSOURCE_WHO = "primarysource-who"; 2889 /** 2890 * <b>Fluent Client</b> search parameter constant for <b>primarysource-who</b> 2891 * <p> 2892 * Description: <b>Select validation information for data that was validated against the specified primary source</b><br> 2893 * Type: <b>reference</b><br> 2894 * Path: <b>VerificationResult.primarySource.who</b><br> 2895 * </p> 2896 */ 2897 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRIMARYSOURCE_WHO = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRIMARYSOURCE_WHO); 2898 2899/** 2900 * Constant for fluent queries to be used to add include statements. Specifies 2901 * the path value of "<b>VerificationResult:primarysource-who</b>". 2902 */ 2903 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRIMARYSOURCE_WHO = new ca.uhn.fhir.model.api.Include("VerificationResult:primarysource-who").toLocked(); 2904 2905 /** 2906 * Search parameter: <b>status-date</b> 2907 * <p> 2908 * Description: <b>Select validation information with a validation status that occurred at the specified date/time</b><br> 2909 * Type: <b>date</b><br> 2910 * Path: <b>VerificationResult.statusDate</b><br> 2911 * </p> 2912 */ 2913 @SearchParamDefinition(name="status-date", path="VerificationResult.statusDate", description="Select validation information with a validation status that occurred at the specified date/time", type="date" ) 2914 public static final String SP_STATUS_DATE = "status-date"; 2915 /** 2916 * <b>Fluent Client</b> search parameter constant for <b>status-date</b> 2917 * <p> 2918 * Description: <b>Select validation information with a validation status that occurred at the specified date/time</b><br> 2919 * Type: <b>date</b><br> 2920 * Path: <b>VerificationResult.statusDate</b><br> 2921 * </p> 2922 */ 2923 public static final ca.uhn.fhir.rest.gclient.DateClientParam STATUS_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_STATUS_DATE); 2924 2925 /** 2926 * Search parameter: <b>status</b> 2927 * <p> 2928 * Description: <b>Select validation information with the specified status</b><br> 2929 * Type: <b>token</b><br> 2930 * Path: <b>VerificationResult.status</b><br> 2931 * </p> 2932 */ 2933 @SearchParamDefinition(name="status", path="VerificationResult.status", description="Select validation information with the specified status", type="token" ) 2934 public static final String SP_STATUS = "status"; 2935 /** 2936 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2937 * <p> 2938 * Description: <b>Select validation information with the specified status</b><br> 2939 * Type: <b>token</b><br> 2940 * Path: <b>VerificationResult.status</b><br> 2941 * </p> 2942 */ 2943 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2944 2945 /** 2946 * Search parameter: <b>target</b> 2947 * <p> 2948 * Description: <b>A resource that was validated</b><br> 2949 * Type: <b>reference</b><br> 2950 * Path: <b>VerificationResult.target</b><br> 2951 * </p> 2952 */ 2953 @SearchParamDefinition(name="target", path="VerificationResult.target", description="A resource that was validated", 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 } ) 2954 public static final String SP_TARGET = "target"; 2955 /** 2956 * <b>Fluent Client</b> search parameter constant for <b>target</b> 2957 * <p> 2958 * Description: <b>A resource that was validated</b><br> 2959 * Type: <b>reference</b><br> 2960 * Path: <b>VerificationResult.target</b><br> 2961 * </p> 2962 */ 2963 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET); 2964 2965/** 2966 * Constant for fluent queries to be used to add include statements. Specifies 2967 * the path value of "<b>VerificationResult:target</b>". 2968 */ 2969 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET = new ca.uhn.fhir.model.api.Include("VerificationResult:target").toLocked(); 2970 2971 /** 2972 * Search parameter: <b>validator-organization</b> 2973 * <p> 2974 * Description: <b>Select validation information for data that was validated by the specified organization</b><br> 2975 * Type: <b>reference</b><br> 2976 * Path: <b>VerificationResult.validator.organization</b><br> 2977 * </p> 2978 */ 2979 @SearchParamDefinition(name="validator-organization", path="VerificationResult.validator.organization", description="Select validation information for data that was validated by the specified organization", type="reference", target={Organization.class } ) 2980 public static final String SP_VALIDATOR_ORGANIZATION = "validator-organization"; 2981 /** 2982 * <b>Fluent Client</b> search parameter constant for <b>validator-organization</b> 2983 * <p> 2984 * Description: <b>Select validation information for data that was validated by the specified organization</b><br> 2985 * Type: <b>reference</b><br> 2986 * Path: <b>VerificationResult.validator.organization</b><br> 2987 * </p> 2988 */ 2989 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam VALIDATOR_ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_VALIDATOR_ORGANIZATION); 2990 2991/** 2992 * Constant for fluent queries to be used to add include statements. Specifies 2993 * the path value of "<b>VerificationResult:validator-organization</b>". 2994 */ 2995 public static final ca.uhn.fhir.model.api.Include INCLUDE_VALIDATOR_ORGANIZATION = new ca.uhn.fhir.model.api.Include("VerificationResult:validator-organization").toLocked(); 2996 2997 2998} 2999