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