001package org.hl7.fhir.r4.model; 002 003 004 005/* 006 Copyright (c) 2011+, HL7, Inc. 007 All rights reserved. 008 009 Redistribution and use in source and binary forms, with or without modification, 010 are permitted provided that the following conditions are met: 011 012 * Redistributions of source code must retain the above copyright notice, this 013 list of conditions and the following disclaimer. 014 * Redistributions in binary form must reproduce the above copyright notice, 015 this list of conditions and the following disclaimer in the documentation 016 and/or other materials provided with the distribution. 017 * Neither the name of HL7 nor the names of its contributors may be used to 018 endorse or promote products derived from this software without specific 019 prior written permission. 020 021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 024 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 028 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 030 POSSIBILITY OF SUCH DAMAGE. 031 032*/ 033 034 035// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 036 037import java.util.*; 038 039import org.hl7.fhir.utilities.Utilities; 040import org.hl7.fhir.r4.model.Enumerations.*; 041import ca.uhn.fhir.model.api.annotation.ResourceDef; 042import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 043import ca.uhn.fhir.model.api.annotation.Child; 044import ca.uhn.fhir.model.api.annotation.ChildOrder; 045import ca.uhn.fhir.model.api.annotation.Description; 046import ca.uhn.fhir.model.api.annotation.Block; 047import org.hl7.fhir.instance.model.api.*; 048import org.hl7.fhir.exceptions.FHIRException; 049/** 050 * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about. 051 */ 052@ResourceDef(name="EvidenceVariable", profile="http://hl7.org/fhir/StructureDefinition/EvidenceVariable") 053@ChildOrder(names={"url", "identifier", "version", "name", "title", "shortTitle", "subtitle", "status", "date", "publisher", "contact", "description", "note", "useContext", "jurisdiction", "copyright", "approvalDate", "lastReviewDate", "effectivePeriod", "topic", "author", "editor", "reviewer", "endorser", "relatedArtifact", "type", "characteristic"}) 054public class EvidenceVariable extends MetadataResource { 055 056 public enum EvidenceVariableType { 057 /** 058 * The variable is dichotomous, such as present or absent. 059 */ 060 DICHOTOMOUS, 061 /** 062 * The variable is a continuous result such as a quantity. 063 */ 064 CONTINUOUS, 065 /** 066 * The variable is described narratively rather than quantitatively. 067 */ 068 DESCRIPTIVE, 069 /** 070 * added to help the parsers with the generic types 071 */ 072 NULL; 073 public static EvidenceVariableType fromCode(String codeString) throws FHIRException { 074 if (codeString == null || "".equals(codeString)) 075 return null; 076 if ("dichotomous".equals(codeString)) 077 return DICHOTOMOUS; 078 if ("continuous".equals(codeString)) 079 return CONTINUOUS; 080 if ("descriptive".equals(codeString)) 081 return DESCRIPTIVE; 082 if (Configuration.isAcceptInvalidEnums()) 083 return null; 084 else 085 throw new FHIRException("Unknown EvidenceVariableType code '"+codeString+"'"); 086 } 087 public String toCode() { 088 switch (this) { 089 case DICHOTOMOUS: return "dichotomous"; 090 case CONTINUOUS: return "continuous"; 091 case DESCRIPTIVE: return "descriptive"; 092 case NULL: return null; 093 default: return "?"; 094 } 095 } 096 public String getSystem() { 097 switch (this) { 098 case DICHOTOMOUS: return "http://hl7.org/fhir/variable-type"; 099 case CONTINUOUS: return "http://hl7.org/fhir/variable-type"; 100 case DESCRIPTIVE: return "http://hl7.org/fhir/variable-type"; 101 case NULL: return null; 102 default: return "?"; 103 } 104 } 105 public String getDefinition() { 106 switch (this) { 107 case DICHOTOMOUS: return "The variable is dichotomous, such as present or absent."; 108 case CONTINUOUS: return "The variable is a continuous result such as a quantity."; 109 case DESCRIPTIVE: return "The variable is described narratively rather than quantitatively."; 110 case NULL: return null; 111 default: return "?"; 112 } 113 } 114 public String getDisplay() { 115 switch (this) { 116 case DICHOTOMOUS: return "Dichotomous"; 117 case CONTINUOUS: return "Continuous"; 118 case DESCRIPTIVE: return "Descriptive"; 119 case NULL: return null; 120 default: return "?"; 121 } 122 } 123 } 124 125 public static class EvidenceVariableTypeEnumFactory implements EnumFactory<EvidenceVariableType> { 126 public EvidenceVariableType fromCode(String codeString) throws IllegalArgumentException { 127 if (codeString == null || "".equals(codeString)) 128 if (codeString == null || "".equals(codeString)) 129 return null; 130 if ("dichotomous".equals(codeString)) 131 return EvidenceVariableType.DICHOTOMOUS; 132 if ("continuous".equals(codeString)) 133 return EvidenceVariableType.CONTINUOUS; 134 if ("descriptive".equals(codeString)) 135 return EvidenceVariableType.DESCRIPTIVE; 136 throw new IllegalArgumentException("Unknown EvidenceVariableType code '"+codeString+"'"); 137 } 138 public Enumeration<EvidenceVariableType> fromType(Base code) throws FHIRException { 139 if (code == null) 140 return null; 141 if (code.isEmpty()) 142 return new Enumeration<EvidenceVariableType>(this); 143 String codeString = ((PrimitiveType) code).asStringValue(); 144 if (codeString == null || "".equals(codeString)) 145 return null; 146 if ("dichotomous".equals(codeString)) 147 return new Enumeration<EvidenceVariableType>(this, EvidenceVariableType.DICHOTOMOUS); 148 if ("continuous".equals(codeString)) 149 return new Enumeration<EvidenceVariableType>(this, EvidenceVariableType.CONTINUOUS); 150 if ("descriptive".equals(codeString)) 151 return new Enumeration<EvidenceVariableType>(this, EvidenceVariableType.DESCRIPTIVE); 152 throw new FHIRException("Unknown EvidenceVariableType code '"+codeString+"'"); 153 } 154 public String toCode(EvidenceVariableType code) { 155 if (code == EvidenceVariableType.DICHOTOMOUS) 156 return "dichotomous"; 157 if (code == EvidenceVariableType.CONTINUOUS) 158 return "continuous"; 159 if (code == EvidenceVariableType.DESCRIPTIVE) 160 return "descriptive"; 161 return "?"; 162 } 163 public String toSystem(EvidenceVariableType code) { 164 return code.getSystem(); 165 } 166 } 167 168 public enum GroupMeasure { 169 /** 170 * Aggregated using Mean of participant values. 171 */ 172 MEAN, 173 /** 174 * Aggregated using Median of participant values. 175 */ 176 MEDIAN, 177 /** 178 * Aggregated using Mean of study mean values. 179 */ 180 MEANOFMEAN, 181 /** 182 * Aggregated using Mean of study median values. 183 */ 184 MEANOFMEDIAN, 185 /** 186 * Aggregated using Median of study mean values. 187 */ 188 MEDIANOFMEAN, 189 /** 190 * Aggregated using Median of study median values. 191 */ 192 MEDIANOFMEDIAN, 193 /** 194 * added to help the parsers with the generic types 195 */ 196 NULL; 197 public static GroupMeasure fromCode(String codeString) throws FHIRException { 198 if (codeString == null || "".equals(codeString)) 199 return null; 200 if ("mean".equals(codeString)) 201 return MEAN; 202 if ("median".equals(codeString)) 203 return MEDIAN; 204 if ("mean-of-mean".equals(codeString)) 205 return MEANOFMEAN; 206 if ("mean-of-median".equals(codeString)) 207 return MEANOFMEDIAN; 208 if ("median-of-mean".equals(codeString)) 209 return MEDIANOFMEAN; 210 if ("median-of-median".equals(codeString)) 211 return MEDIANOFMEDIAN; 212 if (Configuration.isAcceptInvalidEnums()) 213 return null; 214 else 215 throw new FHIRException("Unknown GroupMeasure code '"+codeString+"'"); 216 } 217 public String toCode() { 218 switch (this) { 219 case MEAN: return "mean"; 220 case MEDIAN: return "median"; 221 case MEANOFMEAN: return "mean-of-mean"; 222 case MEANOFMEDIAN: return "mean-of-median"; 223 case MEDIANOFMEAN: return "median-of-mean"; 224 case MEDIANOFMEDIAN: return "median-of-median"; 225 case NULL: return null; 226 default: return "?"; 227 } 228 } 229 public String getSystem() { 230 switch (this) { 231 case MEAN: return "http://hl7.org/fhir/group-measure"; 232 case MEDIAN: return "http://hl7.org/fhir/group-measure"; 233 case MEANOFMEAN: return "http://hl7.org/fhir/group-measure"; 234 case MEANOFMEDIAN: return "http://hl7.org/fhir/group-measure"; 235 case MEDIANOFMEAN: return "http://hl7.org/fhir/group-measure"; 236 case MEDIANOFMEDIAN: return "http://hl7.org/fhir/group-measure"; 237 case NULL: return null; 238 default: return "?"; 239 } 240 } 241 public String getDefinition() { 242 switch (this) { 243 case MEAN: return "Aggregated using Mean of participant values."; 244 case MEDIAN: return "Aggregated using Median of participant values."; 245 case MEANOFMEAN: return "Aggregated using Mean of study mean values."; 246 case MEANOFMEDIAN: return "Aggregated using Mean of study median values."; 247 case MEDIANOFMEAN: return "Aggregated using Median of study mean values."; 248 case MEDIANOFMEDIAN: return "Aggregated using Median of study median values."; 249 case NULL: return null; 250 default: return "?"; 251 } 252 } 253 public String getDisplay() { 254 switch (this) { 255 case MEAN: return "Mean"; 256 case MEDIAN: return "Median"; 257 case MEANOFMEAN: return "Mean of Study Means"; 258 case MEANOFMEDIAN: return "Mean of Study Medins"; 259 case MEDIANOFMEAN: return "Median of Study Means"; 260 case MEDIANOFMEDIAN: return "Median of Study Medians"; 261 case NULL: return null; 262 default: return "?"; 263 } 264 } 265 } 266 267 public static class GroupMeasureEnumFactory implements EnumFactory<GroupMeasure> { 268 public GroupMeasure fromCode(String codeString) throws IllegalArgumentException { 269 if (codeString == null || "".equals(codeString)) 270 if (codeString == null || "".equals(codeString)) 271 return null; 272 if ("mean".equals(codeString)) 273 return GroupMeasure.MEAN; 274 if ("median".equals(codeString)) 275 return GroupMeasure.MEDIAN; 276 if ("mean-of-mean".equals(codeString)) 277 return GroupMeasure.MEANOFMEAN; 278 if ("mean-of-median".equals(codeString)) 279 return GroupMeasure.MEANOFMEDIAN; 280 if ("median-of-mean".equals(codeString)) 281 return GroupMeasure.MEDIANOFMEAN; 282 if ("median-of-median".equals(codeString)) 283 return GroupMeasure.MEDIANOFMEDIAN; 284 throw new IllegalArgumentException("Unknown GroupMeasure code '"+codeString+"'"); 285 } 286 public Enumeration<GroupMeasure> fromType(Base code) throws FHIRException { 287 if (code == null) 288 return null; 289 if (code.isEmpty()) 290 return new Enumeration<GroupMeasure>(this); 291 String codeString = ((PrimitiveType) code).asStringValue(); 292 if (codeString == null || "".equals(codeString)) 293 return null; 294 if ("mean".equals(codeString)) 295 return new Enumeration<GroupMeasure>(this, GroupMeasure.MEAN); 296 if ("median".equals(codeString)) 297 return new Enumeration<GroupMeasure>(this, GroupMeasure.MEDIAN); 298 if ("mean-of-mean".equals(codeString)) 299 return new Enumeration<GroupMeasure>(this, GroupMeasure.MEANOFMEAN); 300 if ("mean-of-median".equals(codeString)) 301 return new Enumeration<GroupMeasure>(this, GroupMeasure.MEANOFMEDIAN); 302 if ("median-of-mean".equals(codeString)) 303 return new Enumeration<GroupMeasure>(this, GroupMeasure.MEDIANOFMEAN); 304 if ("median-of-median".equals(codeString)) 305 return new Enumeration<GroupMeasure>(this, GroupMeasure.MEDIANOFMEDIAN); 306 throw new FHIRException("Unknown GroupMeasure code '"+codeString+"'"); 307 } 308 public String toCode(GroupMeasure code) { 309 if (code == GroupMeasure.MEAN) 310 return "mean"; 311 if (code == GroupMeasure.MEDIAN) 312 return "median"; 313 if (code == GroupMeasure.MEANOFMEAN) 314 return "mean-of-mean"; 315 if (code == GroupMeasure.MEANOFMEDIAN) 316 return "mean-of-median"; 317 if (code == GroupMeasure.MEDIANOFMEAN) 318 return "median-of-mean"; 319 if (code == GroupMeasure.MEDIANOFMEDIAN) 320 return "median-of-median"; 321 return "?"; 322 } 323 public String toSystem(GroupMeasure code) { 324 return code.getSystem(); 325 } 326 } 327 328 @Block() 329 public static class EvidenceVariableCharacteristicComponent extends BackboneElement implements IBaseBackboneElement { 330 /** 331 * A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user. 332 */ 333 @Child(name = "description", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 334 @Description(shortDefinition="Natural language description of the characteristic", formalDefinition="A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user." ) 335 protected StringType description; 336 337 /** 338 * Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year). 339 */ 340 @Child(name = "definition", type = {Group.class, CanonicalType.class, CodeableConcept.class, Expression.class, DataRequirement.class, TriggerDefinition.class}, order=2, min=1, max=1, modifier=false, summary=true) 341 @Description(shortDefinition="What code or expression defines members?", formalDefinition="Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year)." ) 342 protected Type definition; 343 344 /** 345 * Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings. 346 */ 347 @Child(name = "usageContext", type = {UsageContext.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 348 @Description(shortDefinition="What code/value pairs define members?", formalDefinition="Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings." ) 349 protected List<UsageContext> usageContext; 350 351 /** 352 * When true, members with this characteristic are excluded from the element. 353 */ 354 @Child(name = "exclude", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=false) 355 @Description(shortDefinition="Whether the characteristic includes or excludes members", formalDefinition="When true, members with this characteristic are excluded from the element." ) 356 protected BooleanType exclude; 357 358 /** 359 * Indicates what effective period the study covers. 360 */ 361 @Child(name = "participantEffective", type = {DateTimeType.class, Period.class, Duration.class, Timing.class}, order=5, min=0, max=1, modifier=false, summary=false) 362 @Description(shortDefinition="What time period do participants cover", formalDefinition="Indicates what effective period the study covers." ) 363 protected Type participantEffective; 364 365 /** 366 * Indicates duration from the participant's study entry. 367 */ 368 @Child(name = "timeFromStart", type = {Duration.class}, order=6, min=0, max=1, modifier=false, summary=false) 369 @Description(shortDefinition="Observation time from study start", formalDefinition="Indicates duration from the participant's study entry." ) 370 protected Duration timeFromStart; 371 372 /** 373 * Indicates how elements are aggregated within the study effective period. 374 */ 375 @Child(name = "groupMeasure", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) 376 @Description(shortDefinition="mean | median | mean-of-mean | mean-of-median | median-of-mean | median-of-median", formalDefinition="Indicates how elements are aggregated within the study effective period." ) 377 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/group-measure") 378 protected Enumeration<GroupMeasure> groupMeasure; 379 380 private static final long serialVersionUID = 1901961318L; 381 382 /** 383 * Constructor 384 */ 385 public EvidenceVariableCharacteristicComponent() { 386 super(); 387 } 388 389 /** 390 * Constructor 391 */ 392 public EvidenceVariableCharacteristicComponent(Type definition) { 393 super(); 394 this.definition = definition; 395 } 396 397 /** 398 * @return {@link #description} (A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 399 */ 400 public StringType getDescriptionElement() { 401 if (this.description == null) 402 if (Configuration.errorOnAutoCreate()) 403 throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.description"); 404 else if (Configuration.doAutoCreate()) 405 this.description = new StringType(); // bb 406 return this.description; 407 } 408 409 public boolean hasDescriptionElement() { 410 return this.description != null && !this.description.isEmpty(); 411 } 412 413 public boolean hasDescription() { 414 return this.description != null && !this.description.isEmpty(); 415 } 416 417 /** 418 * @param value {@link #description} (A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 419 */ 420 public EvidenceVariableCharacteristicComponent setDescriptionElement(StringType value) { 421 this.description = value; 422 return this; 423 } 424 425 /** 426 * @return A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user. 427 */ 428 public String getDescription() { 429 return this.description == null ? null : this.description.getValue(); 430 } 431 432 /** 433 * @param value A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user. 434 */ 435 public EvidenceVariableCharacteristicComponent setDescription(String value) { 436 if (Utilities.noString(value)) 437 this.description = null; 438 else { 439 if (this.description == null) 440 this.description = new StringType(); 441 this.description.setValue(value); 442 } 443 return this; 444 } 445 446 /** 447 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 448 */ 449 public Type getDefinition() { 450 return this.definition; 451 } 452 453 /** 454 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 455 */ 456 public Reference getDefinitionReference() throws FHIRException { 457 if (this.definition == null) 458 this.definition = new Reference(); 459 if (!(this.definition instanceof Reference)) 460 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.definition.getClass().getName()+" was encountered"); 461 return (Reference) this.definition; 462 } 463 464 public boolean hasDefinitionReference() { 465 return this != null && this.definition instanceof Reference; 466 } 467 468 /** 469 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 470 */ 471 public CanonicalType getDefinitionCanonicalType() throws FHIRException { 472 if (this.definition == null) 473 this.definition = new CanonicalType(); 474 if (!(this.definition instanceof CanonicalType)) 475 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.definition.getClass().getName()+" was encountered"); 476 return (CanonicalType) this.definition; 477 } 478 479 public boolean hasDefinitionCanonicalType() { 480 return this != null && this.definition instanceof CanonicalType; 481 } 482 483 /** 484 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 485 */ 486 public CodeableConcept getDefinitionCodeableConcept() throws FHIRException { 487 if (this.definition == null) 488 this.definition = new CodeableConcept(); 489 if (!(this.definition instanceof CodeableConcept)) 490 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.definition.getClass().getName()+" was encountered"); 491 return (CodeableConcept) this.definition; 492 } 493 494 public boolean hasDefinitionCodeableConcept() { 495 return this != null && this.definition instanceof CodeableConcept; 496 } 497 498 /** 499 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 500 */ 501 public Expression getDefinitionExpression() throws FHIRException { 502 if (this.definition == null) 503 this.definition = new Expression(); 504 if (!(this.definition instanceof Expression)) 505 throw new FHIRException("Type mismatch: the type Expression was expected, but "+this.definition.getClass().getName()+" was encountered"); 506 return (Expression) this.definition; 507 } 508 509 public boolean hasDefinitionExpression() { 510 return this != null && this.definition instanceof Expression; 511 } 512 513 /** 514 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 515 */ 516 public DataRequirement getDefinitionDataRequirement() throws FHIRException { 517 if (this.definition == null) 518 this.definition = new DataRequirement(); 519 if (!(this.definition instanceof DataRequirement)) 520 throw new FHIRException("Type mismatch: the type DataRequirement was expected, but "+this.definition.getClass().getName()+" was encountered"); 521 return (DataRequirement) this.definition; 522 } 523 524 public boolean hasDefinitionDataRequirement() { 525 return this != null && this.definition instanceof DataRequirement; 526 } 527 528 /** 529 * @return {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 530 */ 531 public TriggerDefinition getDefinitionTriggerDefinition() throws FHIRException { 532 if (this.definition == null) 533 this.definition = new TriggerDefinition(); 534 if (!(this.definition instanceof TriggerDefinition)) 535 throw new FHIRException("Type mismatch: the type TriggerDefinition was expected, but "+this.definition.getClass().getName()+" was encountered"); 536 return (TriggerDefinition) this.definition; 537 } 538 539 public boolean hasDefinitionTriggerDefinition() { 540 return this != null && this.definition instanceof TriggerDefinition; 541 } 542 543 public boolean hasDefinition() { 544 return this.definition != null && !this.definition.isEmpty(); 545 } 546 547 /** 548 * @param value {@link #definition} (Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).) 549 */ 550 public EvidenceVariableCharacteristicComponent setDefinition(Type value) { 551 if (value != null && !(value instanceof Reference || value instanceof CanonicalType || value instanceof CodeableConcept || value instanceof Expression || value instanceof DataRequirement || value instanceof TriggerDefinition)) 552 throw new Error("Not the right type for EvidenceVariable.characteristic.definition[x]: "+value.fhirType()); 553 this.definition = value; 554 return this; 555 } 556 557 /** 558 * @return {@link #usageContext} (Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings.) 559 */ 560 public List<UsageContext> getUsageContext() { 561 if (this.usageContext == null) 562 this.usageContext = new ArrayList<UsageContext>(); 563 return this.usageContext; 564 } 565 566 /** 567 * @return Returns a reference to <code>this</code> for easy method chaining 568 */ 569 public EvidenceVariableCharacteristicComponent setUsageContext(List<UsageContext> theUsageContext) { 570 this.usageContext = theUsageContext; 571 return this; 572 } 573 574 public boolean hasUsageContext() { 575 if (this.usageContext == null) 576 return false; 577 for (UsageContext item : this.usageContext) 578 if (!item.isEmpty()) 579 return true; 580 return false; 581 } 582 583 public UsageContext addUsageContext() { //3 584 UsageContext t = new UsageContext(); 585 if (this.usageContext == null) 586 this.usageContext = new ArrayList<UsageContext>(); 587 this.usageContext.add(t); 588 return t; 589 } 590 591 public EvidenceVariableCharacteristicComponent addUsageContext(UsageContext t) { //3 592 if (t == null) 593 return this; 594 if (this.usageContext == null) 595 this.usageContext = new ArrayList<UsageContext>(); 596 this.usageContext.add(t); 597 return this; 598 } 599 600 /** 601 * @return The first repetition of repeating field {@link #usageContext}, creating it if it does not already exist 602 */ 603 public UsageContext getUsageContextFirstRep() { 604 if (getUsageContext().isEmpty()) { 605 addUsageContext(); 606 } 607 return getUsageContext().get(0); 608 } 609 610 /** 611 * @return {@link #exclude} (When true, members with this characteristic are excluded from the element.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value 612 */ 613 public BooleanType getExcludeElement() { 614 if (this.exclude == null) 615 if (Configuration.errorOnAutoCreate()) 616 throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.exclude"); 617 else if (Configuration.doAutoCreate()) 618 this.exclude = new BooleanType(); // bb 619 return this.exclude; 620 } 621 622 public boolean hasExcludeElement() { 623 return this.exclude != null && !this.exclude.isEmpty(); 624 } 625 626 public boolean hasExclude() { 627 return this.exclude != null && !this.exclude.isEmpty(); 628 } 629 630 /** 631 * @param value {@link #exclude} (When true, members with this characteristic are excluded from the element.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value 632 */ 633 public EvidenceVariableCharacteristicComponent setExcludeElement(BooleanType value) { 634 this.exclude = value; 635 return this; 636 } 637 638 /** 639 * @return When true, members with this characteristic are excluded from the element. 640 */ 641 public boolean getExclude() { 642 return this.exclude == null || this.exclude.isEmpty() ? false : this.exclude.getValue(); 643 } 644 645 /** 646 * @param value When true, members with this characteristic are excluded from the element. 647 */ 648 public EvidenceVariableCharacteristicComponent setExclude(boolean value) { 649 if (this.exclude == null) 650 this.exclude = new BooleanType(); 651 this.exclude.setValue(value); 652 return this; 653 } 654 655 /** 656 * @return {@link #participantEffective} (Indicates what effective period the study covers.) 657 */ 658 public Type getParticipantEffective() { 659 return this.participantEffective; 660 } 661 662 /** 663 * @return {@link #participantEffective} (Indicates what effective period the study covers.) 664 */ 665 public DateTimeType getParticipantEffectiveDateTimeType() throws FHIRException { 666 if (this.participantEffective == null) 667 this.participantEffective = new DateTimeType(); 668 if (!(this.participantEffective instanceof DateTimeType)) 669 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.participantEffective.getClass().getName()+" was encountered"); 670 return (DateTimeType) this.participantEffective; 671 } 672 673 public boolean hasParticipantEffectiveDateTimeType() { 674 return this != null && this.participantEffective instanceof DateTimeType; 675 } 676 677 /** 678 * @return {@link #participantEffective} (Indicates what effective period the study covers.) 679 */ 680 public Period getParticipantEffectivePeriod() throws FHIRException { 681 if (this.participantEffective == null) 682 this.participantEffective = new Period(); 683 if (!(this.participantEffective instanceof Period)) 684 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.participantEffective.getClass().getName()+" was encountered"); 685 return (Period) this.participantEffective; 686 } 687 688 public boolean hasParticipantEffectivePeriod() { 689 return this != null && this.participantEffective instanceof Period; 690 } 691 692 /** 693 * @return {@link #participantEffective} (Indicates what effective period the study covers.) 694 */ 695 public Duration getParticipantEffectiveDuration() throws FHIRException { 696 if (this.participantEffective == null) 697 this.participantEffective = new Duration(); 698 if (!(this.participantEffective instanceof Duration)) 699 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.participantEffective.getClass().getName()+" was encountered"); 700 return (Duration) this.participantEffective; 701 } 702 703 public boolean hasParticipantEffectiveDuration() { 704 return this != null && this.participantEffective instanceof Duration; 705 } 706 707 /** 708 * @return {@link #participantEffective} (Indicates what effective period the study covers.) 709 */ 710 public Timing getParticipantEffectiveTiming() throws FHIRException { 711 if (this.participantEffective == null) 712 this.participantEffective = new Timing(); 713 if (!(this.participantEffective instanceof Timing)) 714 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.participantEffective.getClass().getName()+" was encountered"); 715 return (Timing) this.participantEffective; 716 } 717 718 public boolean hasParticipantEffectiveTiming() { 719 return this != null && this.participantEffective instanceof Timing; 720 } 721 722 public boolean hasParticipantEffective() { 723 return this.participantEffective != null && !this.participantEffective.isEmpty(); 724 } 725 726 /** 727 * @param value {@link #participantEffective} (Indicates what effective period the study covers.) 728 */ 729 public EvidenceVariableCharacteristicComponent setParticipantEffective(Type value) { 730 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Duration || value instanceof Timing)) 731 throw new Error("Not the right type for EvidenceVariable.characteristic.participantEffective[x]: "+value.fhirType()); 732 this.participantEffective = value; 733 return this; 734 } 735 736 /** 737 * @return {@link #timeFromStart} (Indicates duration from the participant's study entry.) 738 */ 739 public Duration getTimeFromStart() { 740 if (this.timeFromStart == null) 741 if (Configuration.errorOnAutoCreate()) 742 throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.timeFromStart"); 743 else if (Configuration.doAutoCreate()) 744 this.timeFromStart = new Duration(); // cc 745 return this.timeFromStart; 746 } 747 748 public boolean hasTimeFromStart() { 749 return this.timeFromStart != null && !this.timeFromStart.isEmpty(); 750 } 751 752 /** 753 * @param value {@link #timeFromStart} (Indicates duration from the participant's study entry.) 754 */ 755 public EvidenceVariableCharacteristicComponent setTimeFromStart(Duration value) { 756 this.timeFromStart = value; 757 return this; 758 } 759 760 /** 761 * @return {@link #groupMeasure} (Indicates how elements are aggregated within the study effective period.). This is the underlying object with id, value and extensions. The accessor "getGroupMeasure" gives direct access to the value 762 */ 763 public Enumeration<GroupMeasure> getGroupMeasureElement() { 764 if (this.groupMeasure == null) 765 if (Configuration.errorOnAutoCreate()) 766 throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.groupMeasure"); 767 else if (Configuration.doAutoCreate()) 768 this.groupMeasure = new Enumeration<GroupMeasure>(new GroupMeasureEnumFactory()); // bb 769 return this.groupMeasure; 770 } 771 772 public boolean hasGroupMeasureElement() { 773 return this.groupMeasure != null && !this.groupMeasure.isEmpty(); 774 } 775 776 public boolean hasGroupMeasure() { 777 return this.groupMeasure != null && !this.groupMeasure.isEmpty(); 778 } 779 780 /** 781 * @param value {@link #groupMeasure} (Indicates how elements are aggregated within the study effective period.). This is the underlying object with id, value and extensions. The accessor "getGroupMeasure" gives direct access to the value 782 */ 783 public EvidenceVariableCharacteristicComponent setGroupMeasureElement(Enumeration<GroupMeasure> value) { 784 this.groupMeasure = value; 785 return this; 786 } 787 788 /** 789 * @return Indicates how elements are aggregated within the study effective period. 790 */ 791 public GroupMeasure getGroupMeasure() { 792 return this.groupMeasure == null ? null : this.groupMeasure.getValue(); 793 } 794 795 /** 796 * @param value Indicates how elements are aggregated within the study effective period. 797 */ 798 public EvidenceVariableCharacteristicComponent setGroupMeasure(GroupMeasure value) { 799 if (value == null) 800 this.groupMeasure = null; 801 else { 802 if (this.groupMeasure == null) 803 this.groupMeasure = new Enumeration<GroupMeasure>(new GroupMeasureEnumFactory()); 804 this.groupMeasure.setValue(value); 805 } 806 return this; 807 } 808 809 protected void listChildren(List<Property> children) { 810 super.listChildren(children); 811 children.add(new Property("description", "string", "A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.", 0, 1, description)); 812 children.add(new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition)); 813 children.add(new Property("usageContext", "UsageContext", "Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings.", 0, java.lang.Integer.MAX_VALUE, usageContext)); 814 children.add(new Property("exclude", "boolean", "When true, members with this characteristic are excluded from the element.", 0, 1, exclude)); 815 children.add(new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective)); 816 children.add(new Property("timeFromStart", "Duration", "Indicates duration from the participant's study entry.", 0, 1, timeFromStart)); 817 children.add(new Property("groupMeasure", "code", "Indicates how elements are aggregated within the study effective period.", 0, 1, groupMeasure)); 818 } 819 820 @Override 821 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 822 switch (_hash) { 823 case -1724546052: /*description*/ return new Property("description", "string", "A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.", 0, 1, description); 824 case -1139422643: /*definition[x]*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 825 case -1014418093: /*definition*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 826 case -820021448: /*definitionReference*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 827 case 933485793: /*definitionCanonical*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 828 case -1446002226: /*definitionCodeableConcept*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 829 case 1463703627: /*definitionExpression*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 830 case -660350874: /*definitionDataRequirement*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 831 case -1130324968: /*definitionTriggerDefinition*/ return new Property("definition[x]", "Reference(Group)|canonical(ActivityDefinition)|CodeableConcept|Expression|DataRequirement|TriggerDefinition", "Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).", 0, 1, definition); 832 case 907012302: /*usageContext*/ return new Property("usageContext", "UsageContext", "Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings.", 0, java.lang.Integer.MAX_VALUE, usageContext); 833 case -1321148966: /*exclude*/ return new Property("exclude", "boolean", "When true, members with this characteristic are excluded from the element.", 0, 1, exclude); 834 case 1777308748: /*participantEffective[x]*/ return new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective); 835 case 1376306100: /*participantEffective*/ return new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective); 836 case -1721146513: /*participantEffectiveDateTime*/ return new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective); 837 case -883650923: /*participantEffectivePeriod*/ return new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective); 838 case -1210941080: /*participantEffectiveDuration*/ return new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective); 839 case -765589218: /*participantEffectiveTiming*/ return new Property("participantEffective[x]", "dateTime|Period|Duration|Timing", "Indicates what effective period the study covers.", 0, 1, participantEffective); 840 case 2100140683: /*timeFromStart*/ return new Property("timeFromStart", "Duration", "Indicates duration from the participant's study entry.", 0, 1, timeFromStart); 841 case 588892639: /*groupMeasure*/ return new Property("groupMeasure", "code", "Indicates how elements are aggregated within the study effective period.", 0, 1, groupMeasure); 842 default: return super.getNamedProperty(_hash, _name, _checkValid); 843 } 844 845 } 846 847 @Override 848 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 849 switch (hash) { 850 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 851 case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // Type 852 case 907012302: /*usageContext*/ return this.usageContext == null ? new Base[0] : this.usageContext.toArray(new Base[this.usageContext.size()]); // UsageContext 853 case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : new Base[] {this.exclude}; // BooleanType 854 case 1376306100: /*participantEffective*/ return this.participantEffective == null ? new Base[0] : new Base[] {this.participantEffective}; // Type 855 case 2100140683: /*timeFromStart*/ return this.timeFromStart == null ? new Base[0] : new Base[] {this.timeFromStart}; // Duration 856 case 588892639: /*groupMeasure*/ return this.groupMeasure == null ? new Base[0] : new Base[] {this.groupMeasure}; // Enumeration<GroupMeasure> 857 default: return super.getProperty(hash, name, checkValid); 858 } 859 860 } 861 862 @Override 863 public Base setProperty(int hash, String name, Base value) throws FHIRException { 864 switch (hash) { 865 case -1724546052: // description 866 this.description = castToString(value); // StringType 867 return value; 868 case -1014418093: // definition 869 this.definition = castToType(value); // Type 870 return value; 871 case 907012302: // usageContext 872 this.getUsageContext().add(castToUsageContext(value)); // UsageContext 873 return value; 874 case -1321148966: // exclude 875 this.exclude = castToBoolean(value); // BooleanType 876 return value; 877 case 1376306100: // participantEffective 878 this.participantEffective = castToType(value); // Type 879 return value; 880 case 2100140683: // timeFromStart 881 this.timeFromStart = castToDuration(value); // Duration 882 return value; 883 case 588892639: // groupMeasure 884 value = new GroupMeasureEnumFactory().fromType(castToCode(value)); 885 this.groupMeasure = (Enumeration) value; // Enumeration<GroupMeasure> 886 return value; 887 default: return super.setProperty(hash, name, value); 888 } 889 890 } 891 892 @Override 893 public Base setProperty(String name, Base value) throws FHIRException { 894 if (name.equals("description")) { 895 this.description = castToString(value); // StringType 896 } else if (name.equals("definition[x]")) { 897 this.definition = castToType(value); // Type 898 } else if (name.equals("usageContext")) { 899 this.getUsageContext().add(castToUsageContext(value)); 900 } else if (name.equals("exclude")) { 901 this.exclude = castToBoolean(value); // BooleanType 902 } else if (name.equals("participantEffective[x]")) { 903 this.participantEffective = castToType(value); // Type 904 } else if (name.equals("timeFromStart")) { 905 this.timeFromStart = castToDuration(value); // Duration 906 } else if (name.equals("groupMeasure")) { 907 value = new GroupMeasureEnumFactory().fromType(castToCode(value)); 908 this.groupMeasure = (Enumeration) value; // Enumeration<GroupMeasure> 909 } else 910 return super.setProperty(name, value); 911 return value; 912 } 913 914 @Override 915 public Base makeProperty(int hash, String name) throws FHIRException { 916 switch (hash) { 917 case -1724546052: return getDescriptionElement(); 918 case -1139422643: return getDefinition(); 919 case -1014418093: return getDefinition(); 920 case 907012302: return addUsageContext(); 921 case -1321148966: return getExcludeElement(); 922 case 1777308748: return getParticipantEffective(); 923 case 1376306100: return getParticipantEffective(); 924 case 2100140683: return getTimeFromStart(); 925 case 588892639: return getGroupMeasureElement(); 926 default: return super.makeProperty(hash, name); 927 } 928 929 } 930 931 @Override 932 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 933 switch (hash) { 934 case -1724546052: /*description*/ return new String[] {"string"}; 935 case -1014418093: /*definition*/ return new String[] {"Reference", "canonical", "CodeableConcept", "Expression", "DataRequirement", "TriggerDefinition"}; 936 case 907012302: /*usageContext*/ return new String[] {"UsageContext"}; 937 case -1321148966: /*exclude*/ return new String[] {"boolean"}; 938 case 1376306100: /*participantEffective*/ return new String[] {"dateTime", "Period", "Duration", "Timing"}; 939 case 2100140683: /*timeFromStart*/ return new String[] {"Duration"}; 940 case 588892639: /*groupMeasure*/ return new String[] {"code"}; 941 default: return super.getTypesForProperty(hash, name); 942 } 943 944 } 945 946 @Override 947 public Base addChild(String name) throws FHIRException { 948 if (name.equals("description")) { 949 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.description"); 950 } 951 else if (name.equals("definitionReference")) { 952 this.definition = new Reference(); 953 return this.definition; 954 } 955 else if (name.equals("definitionCanonical")) { 956 this.definition = new CanonicalType(); 957 return this.definition; 958 } 959 else if (name.equals("definitionCodeableConcept")) { 960 this.definition = new CodeableConcept(); 961 return this.definition; 962 } 963 else if (name.equals("definitionExpression")) { 964 this.definition = new Expression(); 965 return this.definition; 966 } 967 else if (name.equals("definitionDataRequirement")) { 968 this.definition = new DataRequirement(); 969 return this.definition; 970 } 971 else if (name.equals("definitionTriggerDefinition")) { 972 this.definition = new TriggerDefinition(); 973 return this.definition; 974 } 975 else if (name.equals("usageContext")) { 976 return addUsageContext(); 977 } 978 else if (name.equals("exclude")) { 979 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.exclude"); 980 } 981 else if (name.equals("participantEffectiveDateTime")) { 982 this.participantEffective = new DateTimeType(); 983 return this.participantEffective; 984 } 985 else if (name.equals("participantEffectivePeriod")) { 986 this.participantEffective = new Period(); 987 return this.participantEffective; 988 } 989 else if (name.equals("participantEffectiveDuration")) { 990 this.participantEffective = new Duration(); 991 return this.participantEffective; 992 } 993 else if (name.equals("participantEffectiveTiming")) { 994 this.participantEffective = new Timing(); 995 return this.participantEffective; 996 } 997 else if (name.equals("timeFromStart")) { 998 this.timeFromStart = new Duration(); 999 return this.timeFromStart; 1000 } 1001 else if (name.equals("groupMeasure")) { 1002 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.groupMeasure"); 1003 } 1004 else 1005 return super.addChild(name); 1006 } 1007 1008 public EvidenceVariableCharacteristicComponent copy() { 1009 EvidenceVariableCharacteristicComponent dst = new EvidenceVariableCharacteristicComponent(); 1010 copyValues(dst); 1011 return dst; 1012 } 1013 1014 public void copyValues(EvidenceVariableCharacteristicComponent dst) { 1015 super.copyValues(dst); 1016 dst.description = description == null ? null : description.copy(); 1017 dst.definition = definition == null ? null : definition.copy(); 1018 if (usageContext != null) { 1019 dst.usageContext = new ArrayList<UsageContext>(); 1020 for (UsageContext i : usageContext) 1021 dst.usageContext.add(i.copy()); 1022 }; 1023 dst.exclude = exclude == null ? null : exclude.copy(); 1024 dst.participantEffective = participantEffective == null ? null : participantEffective.copy(); 1025 dst.timeFromStart = timeFromStart == null ? null : timeFromStart.copy(); 1026 dst.groupMeasure = groupMeasure == null ? null : groupMeasure.copy(); 1027 } 1028 1029 @Override 1030 public boolean equalsDeep(Base other_) { 1031 if (!super.equalsDeep(other_)) 1032 return false; 1033 if (!(other_ instanceof EvidenceVariableCharacteristicComponent)) 1034 return false; 1035 EvidenceVariableCharacteristicComponent o = (EvidenceVariableCharacteristicComponent) other_; 1036 return compareDeep(description, o.description, true) && compareDeep(definition, o.definition, true) 1037 && compareDeep(usageContext, o.usageContext, true) && compareDeep(exclude, o.exclude, true) && compareDeep(participantEffective, o.participantEffective, true) 1038 && compareDeep(timeFromStart, o.timeFromStart, true) && compareDeep(groupMeasure, o.groupMeasure, true) 1039 ; 1040 } 1041 1042 @Override 1043 public boolean equalsShallow(Base other_) { 1044 if (!super.equalsShallow(other_)) 1045 return false; 1046 if (!(other_ instanceof EvidenceVariableCharacteristicComponent)) 1047 return false; 1048 EvidenceVariableCharacteristicComponent o = (EvidenceVariableCharacteristicComponent) other_; 1049 return compareValues(description, o.description, true) && compareValues(exclude, o.exclude, true) && compareValues(groupMeasure, o.groupMeasure, true) 1050 ; 1051 } 1052 1053 public boolean isEmpty() { 1054 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, definition, usageContext 1055 , exclude, participantEffective, timeFromStart, groupMeasure); 1056 } 1057 1058 public String fhirType() { 1059 return "EvidenceVariable.characteristic"; 1060 1061 } 1062 1063 } 1064 1065 /** 1066 * A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance. 1067 */ 1068 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1069 @Description(shortDefinition="Additional identifier for the evidence variable", formalDefinition="A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 1070 protected List<Identifier> identifier; 1071 1072 /** 1073 * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. 1074 */ 1075 @Child(name = "shortTitle", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 1076 @Description(shortDefinition="Title for use in informal contexts", formalDefinition="The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary." ) 1077 protected StringType shortTitle; 1078 1079 /** 1080 * An explanatory or alternate title for the EvidenceVariable giving additional information about its content. 1081 */ 1082 @Child(name = "subtitle", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1083 @Description(shortDefinition="Subordinate title of the EvidenceVariable", formalDefinition="An explanatory or alternate title for the EvidenceVariable giving additional information about its content." ) 1084 protected StringType subtitle; 1085 1086 /** 1087 * A human-readable string to clarify or explain concepts about the resource. 1088 */ 1089 @Child(name = "note", type = {Annotation.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1090 @Description(shortDefinition="Used for footnotes or explanatory notes", formalDefinition="A human-readable string to clarify or explain concepts about the resource." ) 1091 protected List<Annotation> note; 1092 1093 /** 1094 * A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable. 1095 */ 1096 @Child(name = "copyright", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1097 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable." ) 1098 protected MarkdownType copyright; 1099 1100 /** 1101 * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1102 */ 1103 @Child(name = "approvalDate", type = {DateType.class}, order=5, min=0, max=1, modifier=false, summary=false) 1104 @Description(shortDefinition="When the evidence variable was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) 1105 protected DateType approvalDate; 1106 1107 /** 1108 * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 1109 */ 1110 @Child(name = "lastReviewDate", type = {DateType.class}, order=6, min=0, max=1, modifier=false, summary=false) 1111 @Description(shortDefinition="When the evidence variable was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) 1112 protected DateType lastReviewDate; 1113 1114 /** 1115 * The period during which the evidence variable content was or is planned to be in active use. 1116 */ 1117 @Child(name = "effectivePeriod", type = {Period.class}, order=7, min=0, max=1, modifier=false, summary=true) 1118 @Description(shortDefinition="When the evidence variable is expected to be used", formalDefinition="The period during which the evidence variable content was or is planned to be in active use." ) 1119 protected Period effectivePeriod; 1120 1121 /** 1122 * Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching. 1123 */ 1124 @Child(name = "topic", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1125 @Description(shortDefinition="The category of the EvidenceVariable, such as Education, Treatment, Assessment, etc.", formalDefinition="Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching." ) 1126 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") 1127 protected List<CodeableConcept> topic; 1128 1129 /** 1130 * An individiual or organization primarily involved in the creation and maintenance of the content. 1131 */ 1132 @Child(name = "author", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1133 @Description(shortDefinition="Who authored the content", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the content." ) 1134 protected List<ContactDetail> author; 1135 1136 /** 1137 * An individual or organization primarily responsible for internal coherence of the content. 1138 */ 1139 @Child(name = "editor", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1140 @Description(shortDefinition="Who edited the content", formalDefinition="An individual or organization primarily responsible for internal coherence of the content." ) 1141 protected List<ContactDetail> editor; 1142 1143 /** 1144 * An individual or organization primarily responsible for review of some aspect of the content. 1145 */ 1146 @Child(name = "reviewer", type = {ContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1147 @Description(shortDefinition="Who reviewed the content", formalDefinition="An individual or organization primarily responsible for review of some aspect of the content." ) 1148 protected List<ContactDetail> reviewer; 1149 1150 /** 1151 * An individual or organization responsible for officially endorsing the content for use in some setting. 1152 */ 1153 @Child(name = "endorser", type = {ContactDetail.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1154 @Description(shortDefinition="Who endorsed the content", formalDefinition="An individual or organization responsible for officially endorsing the content for use in some setting." ) 1155 protected List<ContactDetail> endorser; 1156 1157 /** 1158 * Related artifacts such as additional documentation, justification, or bibliographic references. 1159 */ 1160 @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1161 @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related artifacts such as additional documentation, justification, or bibliographic references." ) 1162 protected List<RelatedArtifact> relatedArtifact; 1163 1164 /** 1165 * The type of evidence element, a population, an exposure, or an outcome. 1166 */ 1167 @Child(name = "type", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=true) 1168 @Description(shortDefinition="dichotomous | continuous | descriptive", formalDefinition="The type of evidence element, a population, an exposure, or an outcome." ) 1169 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/variable-type") 1170 protected Enumeration<EvidenceVariableType> type; 1171 1172 /** 1173 * A characteristic that defines the members of the evidence element. Multiple characteristics are applied with "and" semantics. 1174 */ 1175 @Child(name = "characteristic", type = {}, order=15, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1176 @Description(shortDefinition="What defines the members of the evidence element", formalDefinition="A characteristic that defines the members of the evidence element. Multiple characteristics are applied with \"and\" semantics." ) 1177 protected List<EvidenceVariableCharacteristicComponent> characteristic; 1178 1179 private static final long serialVersionUID = -317280154L; 1180 1181 /** 1182 * Constructor 1183 */ 1184 public EvidenceVariable() { 1185 super(); 1186 } 1187 1188 /** 1189 * Constructor 1190 */ 1191 public EvidenceVariable(Enumeration<PublicationStatus> status) { 1192 super(); 1193 this.status = status; 1194 } 1195 1196 /** 1197 * @return {@link #url} (An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1198 */ 1199 public UriType getUrlElement() { 1200 if (this.url == null) 1201 if (Configuration.errorOnAutoCreate()) 1202 throw new Error("Attempt to auto-create EvidenceVariable.url"); 1203 else if (Configuration.doAutoCreate()) 1204 this.url = new UriType(); // bb 1205 return this.url; 1206 } 1207 1208 public boolean hasUrlElement() { 1209 return this.url != null && !this.url.isEmpty(); 1210 } 1211 1212 public boolean hasUrl() { 1213 return this.url != null && !this.url.isEmpty(); 1214 } 1215 1216 /** 1217 * @param value {@link #url} (An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1218 */ 1219 public EvidenceVariable setUrlElement(UriType value) { 1220 this.url = value; 1221 return this; 1222 } 1223 1224 /** 1225 * @return An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. 1226 */ 1227 public String getUrl() { 1228 return this.url == null ? null : this.url.getValue(); 1229 } 1230 1231 /** 1232 * @param value An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. 1233 */ 1234 public EvidenceVariable setUrl(String value) { 1235 if (Utilities.noString(value)) 1236 this.url = null; 1237 else { 1238 if (this.url == null) 1239 this.url = new UriType(); 1240 this.url.setValue(value); 1241 } 1242 return this; 1243 } 1244 1245 /** 1246 * @return {@link #identifier} (A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1247 */ 1248 public List<Identifier> getIdentifier() { 1249 if (this.identifier == null) 1250 this.identifier = new ArrayList<Identifier>(); 1251 return this.identifier; 1252 } 1253 1254 /** 1255 * @return Returns a reference to <code>this</code> for easy method chaining 1256 */ 1257 public EvidenceVariable setIdentifier(List<Identifier> theIdentifier) { 1258 this.identifier = theIdentifier; 1259 return this; 1260 } 1261 1262 public boolean hasIdentifier() { 1263 if (this.identifier == null) 1264 return false; 1265 for (Identifier item : this.identifier) 1266 if (!item.isEmpty()) 1267 return true; 1268 return false; 1269 } 1270 1271 public Identifier addIdentifier() { //3 1272 Identifier t = new Identifier(); 1273 if (this.identifier == null) 1274 this.identifier = new ArrayList<Identifier>(); 1275 this.identifier.add(t); 1276 return t; 1277 } 1278 1279 public EvidenceVariable addIdentifier(Identifier t) { //3 1280 if (t == null) 1281 return this; 1282 if (this.identifier == null) 1283 this.identifier = new ArrayList<Identifier>(); 1284 this.identifier.add(t); 1285 return this; 1286 } 1287 1288 /** 1289 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1290 */ 1291 public Identifier getIdentifierFirstRep() { 1292 if (getIdentifier().isEmpty()) { 1293 addIdentifier(); 1294 } 1295 return getIdentifier().get(0); 1296 } 1297 1298 /** 1299 * @return {@link #version} (The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1300 */ 1301 public StringType getVersionElement() { 1302 if (this.version == null) 1303 if (Configuration.errorOnAutoCreate()) 1304 throw new Error("Attempt to auto-create EvidenceVariable.version"); 1305 else if (Configuration.doAutoCreate()) 1306 this.version = new StringType(); // bb 1307 return this.version; 1308 } 1309 1310 public boolean hasVersionElement() { 1311 return this.version != null && !this.version.isEmpty(); 1312 } 1313 1314 public boolean hasVersion() { 1315 return this.version != null && !this.version.isEmpty(); 1316 } 1317 1318 /** 1319 * @param value {@link #version} (The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1320 */ 1321 public EvidenceVariable setVersionElement(StringType value) { 1322 this.version = value; 1323 return this; 1324 } 1325 1326 /** 1327 * @return The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts. 1328 */ 1329 public String getVersion() { 1330 return this.version == null ? null : this.version.getValue(); 1331 } 1332 1333 /** 1334 * @param value The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts. 1335 */ 1336 public EvidenceVariable setVersion(String value) { 1337 if (Utilities.noString(value)) 1338 this.version = null; 1339 else { 1340 if (this.version == null) 1341 this.version = new StringType(); 1342 this.version.setValue(value); 1343 } 1344 return this; 1345 } 1346 1347 /** 1348 * @return {@link #name} (A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1349 */ 1350 public StringType getNameElement() { 1351 if (this.name == null) 1352 if (Configuration.errorOnAutoCreate()) 1353 throw new Error("Attempt to auto-create EvidenceVariable.name"); 1354 else if (Configuration.doAutoCreate()) 1355 this.name = new StringType(); // bb 1356 return this.name; 1357 } 1358 1359 public boolean hasNameElement() { 1360 return this.name != null && !this.name.isEmpty(); 1361 } 1362 1363 public boolean hasName() { 1364 return this.name != null && !this.name.isEmpty(); 1365 } 1366 1367 /** 1368 * @param value {@link #name} (A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1369 */ 1370 public EvidenceVariable setNameElement(StringType value) { 1371 this.name = value; 1372 return this; 1373 } 1374 1375 /** 1376 * @return A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1377 */ 1378 public String getName() { 1379 return this.name == null ? null : this.name.getValue(); 1380 } 1381 1382 /** 1383 * @param value A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1384 */ 1385 public EvidenceVariable setName(String value) { 1386 if (Utilities.noString(value)) 1387 this.name = null; 1388 else { 1389 if (this.name == null) 1390 this.name = new StringType(); 1391 this.name.setValue(value); 1392 } 1393 return this; 1394 } 1395 1396 /** 1397 * @return {@link #title} (A short, descriptive, user-friendly title for the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1398 */ 1399 public StringType getTitleElement() { 1400 if (this.title == null) 1401 if (Configuration.errorOnAutoCreate()) 1402 throw new Error("Attempt to auto-create EvidenceVariable.title"); 1403 else if (Configuration.doAutoCreate()) 1404 this.title = new StringType(); // bb 1405 return this.title; 1406 } 1407 1408 public boolean hasTitleElement() { 1409 return this.title != null && !this.title.isEmpty(); 1410 } 1411 1412 public boolean hasTitle() { 1413 return this.title != null && !this.title.isEmpty(); 1414 } 1415 1416 /** 1417 * @param value {@link #title} (A short, descriptive, user-friendly title for the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1418 */ 1419 public EvidenceVariable setTitleElement(StringType value) { 1420 this.title = value; 1421 return this; 1422 } 1423 1424 /** 1425 * @return A short, descriptive, user-friendly title for the evidence variable. 1426 */ 1427 public String getTitle() { 1428 return this.title == null ? null : this.title.getValue(); 1429 } 1430 1431 /** 1432 * @param value A short, descriptive, user-friendly title for the evidence variable. 1433 */ 1434 public EvidenceVariable setTitle(String value) { 1435 if (Utilities.noString(value)) 1436 this.title = null; 1437 else { 1438 if (this.title == null) 1439 this.title = new StringType(); 1440 this.title.setValue(value); 1441 } 1442 return this; 1443 } 1444 1445 /** 1446 * @return {@link #shortTitle} (The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.). This is the underlying object with id, value and extensions. The accessor "getShortTitle" gives direct access to the value 1447 */ 1448 public StringType getShortTitleElement() { 1449 if (this.shortTitle == null) 1450 if (Configuration.errorOnAutoCreate()) 1451 throw new Error("Attempt to auto-create EvidenceVariable.shortTitle"); 1452 else if (Configuration.doAutoCreate()) 1453 this.shortTitle = new StringType(); // bb 1454 return this.shortTitle; 1455 } 1456 1457 public boolean hasShortTitleElement() { 1458 return this.shortTitle != null && !this.shortTitle.isEmpty(); 1459 } 1460 1461 public boolean hasShortTitle() { 1462 return this.shortTitle != null && !this.shortTitle.isEmpty(); 1463 } 1464 1465 /** 1466 * @param value {@link #shortTitle} (The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.). This is the underlying object with id, value and extensions. The accessor "getShortTitle" gives direct access to the value 1467 */ 1468 public EvidenceVariable setShortTitleElement(StringType value) { 1469 this.shortTitle = value; 1470 return this; 1471 } 1472 1473 /** 1474 * @return The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. 1475 */ 1476 public String getShortTitle() { 1477 return this.shortTitle == null ? null : this.shortTitle.getValue(); 1478 } 1479 1480 /** 1481 * @param value The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary. 1482 */ 1483 public EvidenceVariable setShortTitle(String value) { 1484 if (Utilities.noString(value)) 1485 this.shortTitle = null; 1486 else { 1487 if (this.shortTitle == null) 1488 this.shortTitle = new StringType(); 1489 this.shortTitle.setValue(value); 1490 } 1491 return this; 1492 } 1493 1494 /** 1495 * @return {@link #subtitle} (An explanatory or alternate title for the EvidenceVariable giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 1496 */ 1497 public StringType getSubtitleElement() { 1498 if (this.subtitle == null) 1499 if (Configuration.errorOnAutoCreate()) 1500 throw new Error("Attempt to auto-create EvidenceVariable.subtitle"); 1501 else if (Configuration.doAutoCreate()) 1502 this.subtitle = new StringType(); // bb 1503 return this.subtitle; 1504 } 1505 1506 public boolean hasSubtitleElement() { 1507 return this.subtitle != null && !this.subtitle.isEmpty(); 1508 } 1509 1510 public boolean hasSubtitle() { 1511 return this.subtitle != null && !this.subtitle.isEmpty(); 1512 } 1513 1514 /** 1515 * @param value {@link #subtitle} (An explanatory or alternate title for the EvidenceVariable giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 1516 */ 1517 public EvidenceVariable setSubtitleElement(StringType value) { 1518 this.subtitle = value; 1519 return this; 1520 } 1521 1522 /** 1523 * @return An explanatory or alternate title for the EvidenceVariable giving additional information about its content. 1524 */ 1525 public String getSubtitle() { 1526 return this.subtitle == null ? null : this.subtitle.getValue(); 1527 } 1528 1529 /** 1530 * @param value An explanatory or alternate title for the EvidenceVariable giving additional information about its content. 1531 */ 1532 public EvidenceVariable setSubtitle(String value) { 1533 if (Utilities.noString(value)) 1534 this.subtitle = null; 1535 else { 1536 if (this.subtitle == null) 1537 this.subtitle = new StringType(); 1538 this.subtitle.setValue(value); 1539 } 1540 return this; 1541 } 1542 1543 /** 1544 * @return {@link #status} (The status of this evidence variable. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1545 */ 1546 public Enumeration<PublicationStatus> getStatusElement() { 1547 if (this.status == null) 1548 if (Configuration.errorOnAutoCreate()) 1549 throw new Error("Attempt to auto-create EvidenceVariable.status"); 1550 else if (Configuration.doAutoCreate()) 1551 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1552 return this.status; 1553 } 1554 1555 public boolean hasStatusElement() { 1556 return this.status != null && !this.status.isEmpty(); 1557 } 1558 1559 public boolean hasStatus() { 1560 return this.status != null && !this.status.isEmpty(); 1561 } 1562 1563 /** 1564 * @param value {@link #status} (The status of this evidence variable. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1565 */ 1566 public EvidenceVariable setStatusElement(Enumeration<PublicationStatus> value) { 1567 this.status = value; 1568 return this; 1569 } 1570 1571 /** 1572 * @return The status of this evidence variable. Enables tracking the life-cycle of the content. 1573 */ 1574 public PublicationStatus getStatus() { 1575 return this.status == null ? null : this.status.getValue(); 1576 } 1577 1578 /** 1579 * @param value The status of this evidence variable. Enables tracking the life-cycle of the content. 1580 */ 1581 public EvidenceVariable setStatus(PublicationStatus value) { 1582 if (this.status == null) 1583 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1584 this.status.setValue(value); 1585 return this; 1586 } 1587 1588 /** 1589 * @return {@link #date} (The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1590 */ 1591 public DateTimeType getDateElement() { 1592 if (this.date == null) 1593 if (Configuration.errorOnAutoCreate()) 1594 throw new Error("Attempt to auto-create EvidenceVariable.date"); 1595 else if (Configuration.doAutoCreate()) 1596 this.date = new DateTimeType(); // bb 1597 return this.date; 1598 } 1599 1600 public boolean hasDateElement() { 1601 return this.date != null && !this.date.isEmpty(); 1602 } 1603 1604 public boolean hasDate() { 1605 return this.date != null && !this.date.isEmpty(); 1606 } 1607 1608 /** 1609 * @param value {@link #date} (The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1610 */ 1611 public EvidenceVariable setDateElement(DateTimeType value) { 1612 this.date = value; 1613 return this; 1614 } 1615 1616 /** 1617 * @return The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes. 1618 */ 1619 public Date getDate() { 1620 return this.date == null ? null : this.date.getValue(); 1621 } 1622 1623 /** 1624 * @param value The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes. 1625 */ 1626 public EvidenceVariable setDate(Date value) { 1627 if (value == null) 1628 this.date = null; 1629 else { 1630 if (this.date == null) 1631 this.date = new DateTimeType(); 1632 this.date.setValue(value); 1633 } 1634 return this; 1635 } 1636 1637 /** 1638 * @return {@link #publisher} (The name of the organization or individual that published the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1639 */ 1640 public StringType getPublisherElement() { 1641 if (this.publisher == null) 1642 if (Configuration.errorOnAutoCreate()) 1643 throw new Error("Attempt to auto-create EvidenceVariable.publisher"); 1644 else if (Configuration.doAutoCreate()) 1645 this.publisher = new StringType(); // bb 1646 return this.publisher; 1647 } 1648 1649 public boolean hasPublisherElement() { 1650 return this.publisher != null && !this.publisher.isEmpty(); 1651 } 1652 1653 public boolean hasPublisher() { 1654 return this.publisher != null && !this.publisher.isEmpty(); 1655 } 1656 1657 /** 1658 * @param value {@link #publisher} (The name of the organization or individual that published the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1659 */ 1660 public EvidenceVariable setPublisherElement(StringType value) { 1661 this.publisher = value; 1662 return this; 1663 } 1664 1665 /** 1666 * @return The name of the organization or individual that published the evidence variable. 1667 */ 1668 public String getPublisher() { 1669 return this.publisher == null ? null : this.publisher.getValue(); 1670 } 1671 1672 /** 1673 * @param value The name of the organization or individual that published the evidence variable. 1674 */ 1675 public EvidenceVariable setPublisher(String value) { 1676 if (Utilities.noString(value)) 1677 this.publisher = null; 1678 else { 1679 if (this.publisher == null) 1680 this.publisher = new StringType(); 1681 this.publisher.setValue(value); 1682 } 1683 return this; 1684 } 1685 1686 /** 1687 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 1688 */ 1689 public List<ContactDetail> getContact() { 1690 if (this.contact == null) 1691 this.contact = new ArrayList<ContactDetail>(); 1692 return this.contact; 1693 } 1694 1695 /** 1696 * @return Returns a reference to <code>this</code> for easy method chaining 1697 */ 1698 public EvidenceVariable setContact(List<ContactDetail> theContact) { 1699 this.contact = theContact; 1700 return this; 1701 } 1702 1703 public boolean hasContact() { 1704 if (this.contact == null) 1705 return false; 1706 for (ContactDetail item : this.contact) 1707 if (!item.isEmpty()) 1708 return true; 1709 return false; 1710 } 1711 1712 public ContactDetail addContact() { //3 1713 ContactDetail t = new ContactDetail(); 1714 if (this.contact == null) 1715 this.contact = new ArrayList<ContactDetail>(); 1716 this.contact.add(t); 1717 return t; 1718 } 1719 1720 public EvidenceVariable addContact(ContactDetail t) { //3 1721 if (t == null) 1722 return this; 1723 if (this.contact == null) 1724 this.contact = new ArrayList<ContactDetail>(); 1725 this.contact.add(t); 1726 return this; 1727 } 1728 1729 /** 1730 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 1731 */ 1732 public ContactDetail getContactFirstRep() { 1733 if (getContact().isEmpty()) { 1734 addContact(); 1735 } 1736 return getContact().get(0); 1737 } 1738 1739 /** 1740 * @return {@link #description} (A free text natural language description of the evidence variable from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1741 */ 1742 public MarkdownType getDescriptionElement() { 1743 if (this.description == null) 1744 if (Configuration.errorOnAutoCreate()) 1745 throw new Error("Attempt to auto-create EvidenceVariable.description"); 1746 else if (Configuration.doAutoCreate()) 1747 this.description = new MarkdownType(); // bb 1748 return this.description; 1749 } 1750 1751 public boolean hasDescriptionElement() { 1752 return this.description != null && !this.description.isEmpty(); 1753 } 1754 1755 public boolean hasDescription() { 1756 return this.description != null && !this.description.isEmpty(); 1757 } 1758 1759 /** 1760 * @param value {@link #description} (A free text natural language description of the evidence variable from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1761 */ 1762 public EvidenceVariable setDescriptionElement(MarkdownType value) { 1763 this.description = value; 1764 return this; 1765 } 1766 1767 /** 1768 * @return A free text natural language description of the evidence variable from a consumer's perspective. 1769 */ 1770 public String getDescription() { 1771 return this.description == null ? null : this.description.getValue(); 1772 } 1773 1774 /** 1775 * @param value A free text natural language description of the evidence variable from a consumer's perspective. 1776 */ 1777 public EvidenceVariable setDescription(String value) { 1778 if (value == null) 1779 this.description = null; 1780 else { 1781 if (this.description == null) 1782 this.description = new MarkdownType(); 1783 this.description.setValue(value); 1784 } 1785 return this; 1786 } 1787 1788 /** 1789 * @return {@link #note} (A human-readable string to clarify or explain concepts about the resource.) 1790 */ 1791 public List<Annotation> getNote() { 1792 if (this.note == null) 1793 this.note = new ArrayList<Annotation>(); 1794 return this.note; 1795 } 1796 1797 /** 1798 * @return Returns a reference to <code>this</code> for easy method chaining 1799 */ 1800 public EvidenceVariable setNote(List<Annotation> theNote) { 1801 this.note = theNote; 1802 return this; 1803 } 1804 1805 public boolean hasNote() { 1806 if (this.note == null) 1807 return false; 1808 for (Annotation item : this.note) 1809 if (!item.isEmpty()) 1810 return true; 1811 return false; 1812 } 1813 1814 public Annotation addNote() { //3 1815 Annotation t = new Annotation(); 1816 if (this.note == null) 1817 this.note = new ArrayList<Annotation>(); 1818 this.note.add(t); 1819 return t; 1820 } 1821 1822 public EvidenceVariable addNote(Annotation t) { //3 1823 if (t == null) 1824 return this; 1825 if (this.note == null) 1826 this.note = new ArrayList<Annotation>(); 1827 this.note.add(t); 1828 return this; 1829 } 1830 1831 /** 1832 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist 1833 */ 1834 public Annotation getNoteFirstRep() { 1835 if (getNote().isEmpty()) { 1836 addNote(); 1837 } 1838 return getNote().get(0); 1839 } 1840 1841 /** 1842 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence variable instances.) 1843 */ 1844 public List<UsageContext> getUseContext() { 1845 if (this.useContext == null) 1846 this.useContext = new ArrayList<UsageContext>(); 1847 return this.useContext; 1848 } 1849 1850 /** 1851 * @return Returns a reference to <code>this</code> for easy method chaining 1852 */ 1853 public EvidenceVariable setUseContext(List<UsageContext> theUseContext) { 1854 this.useContext = theUseContext; 1855 return this; 1856 } 1857 1858 public boolean hasUseContext() { 1859 if (this.useContext == null) 1860 return false; 1861 for (UsageContext item : this.useContext) 1862 if (!item.isEmpty()) 1863 return true; 1864 return false; 1865 } 1866 1867 public UsageContext addUseContext() { //3 1868 UsageContext t = new UsageContext(); 1869 if (this.useContext == null) 1870 this.useContext = new ArrayList<UsageContext>(); 1871 this.useContext.add(t); 1872 return t; 1873 } 1874 1875 public EvidenceVariable addUseContext(UsageContext t) { //3 1876 if (t == null) 1877 return this; 1878 if (this.useContext == null) 1879 this.useContext = new ArrayList<UsageContext>(); 1880 this.useContext.add(t); 1881 return this; 1882 } 1883 1884 /** 1885 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 1886 */ 1887 public UsageContext getUseContextFirstRep() { 1888 if (getUseContext().isEmpty()) { 1889 addUseContext(); 1890 } 1891 return getUseContext().get(0); 1892 } 1893 1894 /** 1895 * @return {@link #jurisdiction} (A legal or geographic region in which the evidence variable is intended to be used.) 1896 */ 1897 public List<CodeableConcept> getJurisdiction() { 1898 if (this.jurisdiction == null) 1899 this.jurisdiction = new ArrayList<CodeableConcept>(); 1900 return this.jurisdiction; 1901 } 1902 1903 /** 1904 * @return Returns a reference to <code>this</code> for easy method chaining 1905 */ 1906 public EvidenceVariable setJurisdiction(List<CodeableConcept> theJurisdiction) { 1907 this.jurisdiction = theJurisdiction; 1908 return this; 1909 } 1910 1911 public boolean hasJurisdiction() { 1912 if (this.jurisdiction == null) 1913 return false; 1914 for (CodeableConcept item : this.jurisdiction) 1915 if (!item.isEmpty()) 1916 return true; 1917 return false; 1918 } 1919 1920 public CodeableConcept addJurisdiction() { //3 1921 CodeableConcept t = new CodeableConcept(); 1922 if (this.jurisdiction == null) 1923 this.jurisdiction = new ArrayList<CodeableConcept>(); 1924 this.jurisdiction.add(t); 1925 return t; 1926 } 1927 1928 public EvidenceVariable addJurisdiction(CodeableConcept t) { //3 1929 if (t == null) 1930 return this; 1931 if (this.jurisdiction == null) 1932 this.jurisdiction = new ArrayList<CodeableConcept>(); 1933 this.jurisdiction.add(t); 1934 return this; 1935 } 1936 1937 /** 1938 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 1939 */ 1940 public CodeableConcept getJurisdictionFirstRep() { 1941 if (getJurisdiction().isEmpty()) { 1942 addJurisdiction(); 1943 } 1944 return getJurisdiction().get(0); 1945 } 1946 1947 /** 1948 * @return {@link #copyright} (A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1949 */ 1950 public MarkdownType getCopyrightElement() { 1951 if (this.copyright == null) 1952 if (Configuration.errorOnAutoCreate()) 1953 throw new Error("Attempt to auto-create EvidenceVariable.copyright"); 1954 else if (Configuration.doAutoCreate()) 1955 this.copyright = new MarkdownType(); // bb 1956 return this.copyright; 1957 } 1958 1959 public boolean hasCopyrightElement() { 1960 return this.copyright != null && !this.copyright.isEmpty(); 1961 } 1962 1963 public boolean hasCopyright() { 1964 return this.copyright != null && !this.copyright.isEmpty(); 1965 } 1966 1967 /** 1968 * @param value {@link #copyright} (A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1969 */ 1970 public EvidenceVariable setCopyrightElement(MarkdownType value) { 1971 this.copyright = value; 1972 return this; 1973 } 1974 1975 /** 1976 * @return A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable. 1977 */ 1978 public String getCopyright() { 1979 return this.copyright == null ? null : this.copyright.getValue(); 1980 } 1981 1982 /** 1983 * @param value A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable. 1984 */ 1985 public EvidenceVariable setCopyright(String value) { 1986 if (value == null) 1987 this.copyright = null; 1988 else { 1989 if (this.copyright == null) 1990 this.copyright = new MarkdownType(); 1991 this.copyright.setValue(value); 1992 } 1993 return this; 1994 } 1995 1996 /** 1997 * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 1998 */ 1999 public DateType getApprovalDateElement() { 2000 if (this.approvalDate == null) 2001 if (Configuration.errorOnAutoCreate()) 2002 throw new Error("Attempt to auto-create EvidenceVariable.approvalDate"); 2003 else if (Configuration.doAutoCreate()) 2004 this.approvalDate = new DateType(); // bb 2005 return this.approvalDate; 2006 } 2007 2008 public boolean hasApprovalDateElement() { 2009 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2010 } 2011 2012 public boolean hasApprovalDate() { 2013 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2014 } 2015 2016 /** 2017 * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 2018 */ 2019 public EvidenceVariable setApprovalDateElement(DateType value) { 2020 this.approvalDate = value; 2021 return this; 2022 } 2023 2024 /** 2025 * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2026 */ 2027 public Date getApprovalDate() { 2028 return this.approvalDate == null ? null : this.approvalDate.getValue(); 2029 } 2030 2031 /** 2032 * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2033 */ 2034 public EvidenceVariable setApprovalDate(Date value) { 2035 if (value == null) 2036 this.approvalDate = null; 2037 else { 2038 if (this.approvalDate == null) 2039 this.approvalDate = new DateType(); 2040 this.approvalDate.setValue(value); 2041 } 2042 return this; 2043 } 2044 2045 /** 2046 * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 2047 */ 2048 public DateType getLastReviewDateElement() { 2049 if (this.lastReviewDate == null) 2050 if (Configuration.errorOnAutoCreate()) 2051 throw new Error("Attempt to auto-create EvidenceVariable.lastReviewDate"); 2052 else if (Configuration.doAutoCreate()) 2053 this.lastReviewDate = new DateType(); // bb 2054 return this.lastReviewDate; 2055 } 2056 2057 public boolean hasLastReviewDateElement() { 2058 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2059 } 2060 2061 public boolean hasLastReviewDate() { 2062 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2063 } 2064 2065 /** 2066 * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 2067 */ 2068 public EvidenceVariable setLastReviewDateElement(DateType value) { 2069 this.lastReviewDate = value; 2070 return this; 2071 } 2072 2073 /** 2074 * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 2075 */ 2076 public Date getLastReviewDate() { 2077 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 2078 } 2079 2080 /** 2081 * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 2082 */ 2083 public EvidenceVariable setLastReviewDate(Date value) { 2084 if (value == null) 2085 this.lastReviewDate = null; 2086 else { 2087 if (this.lastReviewDate == null) 2088 this.lastReviewDate = new DateType(); 2089 this.lastReviewDate.setValue(value); 2090 } 2091 return this; 2092 } 2093 2094 /** 2095 * @return {@link #effectivePeriod} (The period during which the evidence variable content was or is planned to be in active use.) 2096 */ 2097 public Period getEffectivePeriod() { 2098 if (this.effectivePeriod == null) 2099 if (Configuration.errorOnAutoCreate()) 2100 throw new Error("Attempt to auto-create EvidenceVariable.effectivePeriod"); 2101 else if (Configuration.doAutoCreate()) 2102 this.effectivePeriod = new Period(); // cc 2103 return this.effectivePeriod; 2104 } 2105 2106 public boolean hasEffectivePeriod() { 2107 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 2108 } 2109 2110 /** 2111 * @param value {@link #effectivePeriod} (The period during which the evidence variable content was or is planned to be in active use.) 2112 */ 2113 public EvidenceVariable setEffectivePeriod(Period value) { 2114 this.effectivePeriod = value; 2115 return this; 2116 } 2117 2118 /** 2119 * @return {@link #topic} (Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching.) 2120 */ 2121 public List<CodeableConcept> getTopic() { 2122 if (this.topic == null) 2123 this.topic = new ArrayList<CodeableConcept>(); 2124 return this.topic; 2125 } 2126 2127 /** 2128 * @return Returns a reference to <code>this</code> for easy method chaining 2129 */ 2130 public EvidenceVariable setTopic(List<CodeableConcept> theTopic) { 2131 this.topic = theTopic; 2132 return this; 2133 } 2134 2135 public boolean hasTopic() { 2136 if (this.topic == null) 2137 return false; 2138 for (CodeableConcept item : this.topic) 2139 if (!item.isEmpty()) 2140 return true; 2141 return false; 2142 } 2143 2144 public CodeableConcept addTopic() { //3 2145 CodeableConcept t = new CodeableConcept(); 2146 if (this.topic == null) 2147 this.topic = new ArrayList<CodeableConcept>(); 2148 this.topic.add(t); 2149 return t; 2150 } 2151 2152 public EvidenceVariable addTopic(CodeableConcept t) { //3 2153 if (t == null) 2154 return this; 2155 if (this.topic == null) 2156 this.topic = new ArrayList<CodeableConcept>(); 2157 this.topic.add(t); 2158 return this; 2159 } 2160 2161 /** 2162 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist 2163 */ 2164 public CodeableConcept getTopicFirstRep() { 2165 if (getTopic().isEmpty()) { 2166 addTopic(); 2167 } 2168 return getTopic().get(0); 2169 } 2170 2171 /** 2172 * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the content.) 2173 */ 2174 public List<ContactDetail> getAuthor() { 2175 if (this.author == null) 2176 this.author = new ArrayList<ContactDetail>(); 2177 return this.author; 2178 } 2179 2180 /** 2181 * @return Returns a reference to <code>this</code> for easy method chaining 2182 */ 2183 public EvidenceVariable setAuthor(List<ContactDetail> theAuthor) { 2184 this.author = theAuthor; 2185 return this; 2186 } 2187 2188 public boolean hasAuthor() { 2189 if (this.author == null) 2190 return false; 2191 for (ContactDetail item : this.author) 2192 if (!item.isEmpty()) 2193 return true; 2194 return false; 2195 } 2196 2197 public ContactDetail addAuthor() { //3 2198 ContactDetail t = new ContactDetail(); 2199 if (this.author == null) 2200 this.author = new ArrayList<ContactDetail>(); 2201 this.author.add(t); 2202 return t; 2203 } 2204 2205 public EvidenceVariable addAuthor(ContactDetail t) { //3 2206 if (t == null) 2207 return this; 2208 if (this.author == null) 2209 this.author = new ArrayList<ContactDetail>(); 2210 this.author.add(t); 2211 return this; 2212 } 2213 2214 /** 2215 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist 2216 */ 2217 public ContactDetail getAuthorFirstRep() { 2218 if (getAuthor().isEmpty()) { 2219 addAuthor(); 2220 } 2221 return getAuthor().get(0); 2222 } 2223 2224 /** 2225 * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the content.) 2226 */ 2227 public List<ContactDetail> getEditor() { 2228 if (this.editor == null) 2229 this.editor = new ArrayList<ContactDetail>(); 2230 return this.editor; 2231 } 2232 2233 /** 2234 * @return Returns a reference to <code>this</code> for easy method chaining 2235 */ 2236 public EvidenceVariable setEditor(List<ContactDetail> theEditor) { 2237 this.editor = theEditor; 2238 return this; 2239 } 2240 2241 public boolean hasEditor() { 2242 if (this.editor == null) 2243 return false; 2244 for (ContactDetail item : this.editor) 2245 if (!item.isEmpty()) 2246 return true; 2247 return false; 2248 } 2249 2250 public ContactDetail addEditor() { //3 2251 ContactDetail t = new ContactDetail(); 2252 if (this.editor == null) 2253 this.editor = new ArrayList<ContactDetail>(); 2254 this.editor.add(t); 2255 return t; 2256 } 2257 2258 public EvidenceVariable addEditor(ContactDetail t) { //3 2259 if (t == null) 2260 return this; 2261 if (this.editor == null) 2262 this.editor = new ArrayList<ContactDetail>(); 2263 this.editor.add(t); 2264 return this; 2265 } 2266 2267 /** 2268 * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist 2269 */ 2270 public ContactDetail getEditorFirstRep() { 2271 if (getEditor().isEmpty()) { 2272 addEditor(); 2273 } 2274 return getEditor().get(0); 2275 } 2276 2277 /** 2278 * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the content.) 2279 */ 2280 public List<ContactDetail> getReviewer() { 2281 if (this.reviewer == null) 2282 this.reviewer = new ArrayList<ContactDetail>(); 2283 return this.reviewer; 2284 } 2285 2286 /** 2287 * @return Returns a reference to <code>this</code> for easy method chaining 2288 */ 2289 public EvidenceVariable setReviewer(List<ContactDetail> theReviewer) { 2290 this.reviewer = theReviewer; 2291 return this; 2292 } 2293 2294 public boolean hasReviewer() { 2295 if (this.reviewer == null) 2296 return false; 2297 for (ContactDetail item : this.reviewer) 2298 if (!item.isEmpty()) 2299 return true; 2300 return false; 2301 } 2302 2303 public ContactDetail addReviewer() { //3 2304 ContactDetail t = new ContactDetail(); 2305 if (this.reviewer == null) 2306 this.reviewer = new ArrayList<ContactDetail>(); 2307 this.reviewer.add(t); 2308 return t; 2309 } 2310 2311 public EvidenceVariable addReviewer(ContactDetail t) { //3 2312 if (t == null) 2313 return this; 2314 if (this.reviewer == null) 2315 this.reviewer = new ArrayList<ContactDetail>(); 2316 this.reviewer.add(t); 2317 return this; 2318 } 2319 2320 /** 2321 * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist 2322 */ 2323 public ContactDetail getReviewerFirstRep() { 2324 if (getReviewer().isEmpty()) { 2325 addReviewer(); 2326 } 2327 return getReviewer().get(0); 2328 } 2329 2330 /** 2331 * @return {@link #endorser} (An individual or organization responsible for officially endorsing the content for use in some setting.) 2332 */ 2333 public List<ContactDetail> getEndorser() { 2334 if (this.endorser == null) 2335 this.endorser = new ArrayList<ContactDetail>(); 2336 return this.endorser; 2337 } 2338 2339 /** 2340 * @return Returns a reference to <code>this</code> for easy method chaining 2341 */ 2342 public EvidenceVariable setEndorser(List<ContactDetail> theEndorser) { 2343 this.endorser = theEndorser; 2344 return this; 2345 } 2346 2347 public boolean hasEndorser() { 2348 if (this.endorser == null) 2349 return false; 2350 for (ContactDetail item : this.endorser) 2351 if (!item.isEmpty()) 2352 return true; 2353 return false; 2354 } 2355 2356 public ContactDetail addEndorser() { //3 2357 ContactDetail t = new ContactDetail(); 2358 if (this.endorser == null) 2359 this.endorser = new ArrayList<ContactDetail>(); 2360 this.endorser.add(t); 2361 return t; 2362 } 2363 2364 public EvidenceVariable addEndorser(ContactDetail t) { //3 2365 if (t == null) 2366 return this; 2367 if (this.endorser == null) 2368 this.endorser = new ArrayList<ContactDetail>(); 2369 this.endorser.add(t); 2370 return this; 2371 } 2372 2373 /** 2374 * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist 2375 */ 2376 public ContactDetail getEndorserFirstRep() { 2377 if (getEndorser().isEmpty()) { 2378 addEndorser(); 2379 } 2380 return getEndorser().get(0); 2381 } 2382 2383 /** 2384 * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, or bibliographic references.) 2385 */ 2386 public List<RelatedArtifact> getRelatedArtifact() { 2387 if (this.relatedArtifact == null) 2388 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2389 return this.relatedArtifact; 2390 } 2391 2392 /** 2393 * @return Returns a reference to <code>this</code> for easy method chaining 2394 */ 2395 public EvidenceVariable setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 2396 this.relatedArtifact = theRelatedArtifact; 2397 return this; 2398 } 2399 2400 public boolean hasRelatedArtifact() { 2401 if (this.relatedArtifact == null) 2402 return false; 2403 for (RelatedArtifact item : this.relatedArtifact) 2404 if (!item.isEmpty()) 2405 return true; 2406 return false; 2407 } 2408 2409 public RelatedArtifact addRelatedArtifact() { //3 2410 RelatedArtifact t = new RelatedArtifact(); 2411 if (this.relatedArtifact == null) 2412 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2413 this.relatedArtifact.add(t); 2414 return t; 2415 } 2416 2417 public EvidenceVariable addRelatedArtifact(RelatedArtifact t) { //3 2418 if (t == null) 2419 return this; 2420 if (this.relatedArtifact == null) 2421 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2422 this.relatedArtifact.add(t); 2423 return this; 2424 } 2425 2426 /** 2427 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist 2428 */ 2429 public RelatedArtifact getRelatedArtifactFirstRep() { 2430 if (getRelatedArtifact().isEmpty()) { 2431 addRelatedArtifact(); 2432 } 2433 return getRelatedArtifact().get(0); 2434 } 2435 2436 /** 2437 * @return {@link #type} (The type of evidence element, a population, an exposure, or an outcome.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 2438 */ 2439 public Enumeration<EvidenceVariableType> getTypeElement() { 2440 if (this.type == null) 2441 if (Configuration.errorOnAutoCreate()) 2442 throw new Error("Attempt to auto-create EvidenceVariable.type"); 2443 else if (Configuration.doAutoCreate()) 2444 this.type = new Enumeration<EvidenceVariableType>(new EvidenceVariableTypeEnumFactory()); // bb 2445 return this.type; 2446 } 2447 2448 public boolean hasTypeElement() { 2449 return this.type != null && !this.type.isEmpty(); 2450 } 2451 2452 public boolean hasType() { 2453 return this.type != null && !this.type.isEmpty(); 2454 } 2455 2456 /** 2457 * @param value {@link #type} (The type of evidence element, a population, an exposure, or an outcome.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 2458 */ 2459 public EvidenceVariable setTypeElement(Enumeration<EvidenceVariableType> value) { 2460 this.type = value; 2461 return this; 2462 } 2463 2464 /** 2465 * @return The type of evidence element, a population, an exposure, or an outcome. 2466 */ 2467 public EvidenceVariableType getType() { 2468 return this.type == null ? null : this.type.getValue(); 2469 } 2470 2471 /** 2472 * @param value The type of evidence element, a population, an exposure, or an outcome. 2473 */ 2474 public EvidenceVariable setType(EvidenceVariableType value) { 2475 if (value == null) 2476 this.type = null; 2477 else { 2478 if (this.type == null) 2479 this.type = new Enumeration<EvidenceVariableType>(new EvidenceVariableTypeEnumFactory()); 2480 this.type.setValue(value); 2481 } 2482 return this; 2483 } 2484 2485 /** 2486 * @return {@link #characteristic} (A characteristic that defines the members of the evidence element. Multiple characteristics are applied with "and" semantics.) 2487 */ 2488 public List<EvidenceVariableCharacteristicComponent> getCharacteristic() { 2489 if (this.characteristic == null) 2490 this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>(); 2491 return this.characteristic; 2492 } 2493 2494 /** 2495 * @return Returns a reference to <code>this</code> for easy method chaining 2496 */ 2497 public EvidenceVariable setCharacteristic(List<EvidenceVariableCharacteristicComponent> theCharacteristic) { 2498 this.characteristic = theCharacteristic; 2499 return this; 2500 } 2501 2502 public boolean hasCharacteristic() { 2503 if (this.characteristic == null) 2504 return false; 2505 for (EvidenceVariableCharacteristicComponent item : this.characteristic) 2506 if (!item.isEmpty()) 2507 return true; 2508 return false; 2509 } 2510 2511 public EvidenceVariableCharacteristicComponent addCharacteristic() { //3 2512 EvidenceVariableCharacteristicComponent t = new EvidenceVariableCharacteristicComponent(); 2513 if (this.characteristic == null) 2514 this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>(); 2515 this.characteristic.add(t); 2516 return t; 2517 } 2518 2519 public EvidenceVariable addCharacteristic(EvidenceVariableCharacteristicComponent t) { //3 2520 if (t == null) 2521 return this; 2522 if (this.characteristic == null) 2523 this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>(); 2524 this.characteristic.add(t); 2525 return this; 2526 } 2527 2528 /** 2529 * @return The first repetition of repeating field {@link #characteristic}, creating it if it does not already exist 2530 */ 2531 public EvidenceVariableCharacteristicComponent getCharacteristicFirstRep() { 2532 if (getCharacteristic().isEmpty()) { 2533 addCharacteristic(); 2534 } 2535 return getCharacteristic().get(0); 2536 } 2537 2538 protected void listChildren(List<Property> children) { 2539 super.listChildren(children); 2540 children.add(new Property("url", "uri", "An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url)); 2541 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2542 children.add(new Property("version", "string", "The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version)); 2543 children.add(new Property("name", "string", "A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 2544 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the evidence variable.", 0, 1, title)); 2545 children.add(new Property("shortTitle", "string", "The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.", 0, 1, shortTitle)); 2546 children.add(new Property("subtitle", "string", "An explanatory or alternate title for the EvidenceVariable giving additional information about its content.", 0, 1, subtitle)); 2547 children.add(new Property("status", "code", "The status of this evidence variable. Enables tracking the life-cycle of the content.", 0, 1, status)); 2548 children.add(new Property("date", "dateTime", "The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.", 0, 1, date)); 2549 children.add(new Property("publisher", "string", "The name of the organization or individual that published the evidence variable.", 0, 1, publisher)); 2550 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 2551 children.add(new Property("description", "markdown", "A free text natural language description of the evidence variable from a consumer's perspective.", 0, 1, description)); 2552 children.add(new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the resource.", 0, java.lang.Integer.MAX_VALUE, note)); 2553 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence variable instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 2554 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the evidence variable is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 2555 children.add(new Property("copyright", "markdown", "A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable.", 0, 1, copyright)); 2556 children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); 2557 children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); 2558 children.add(new Property("effectivePeriod", "Period", "The period during which the evidence variable content was or is planned to be in active use.", 0, 1, effectivePeriod)); 2559 children.add(new Property("topic", "CodeableConcept", "Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); 2560 children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author)); 2561 children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor)); 2562 children.add(new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the content.", 0, java.lang.Integer.MAX_VALUE, reviewer)); 2563 children.add(new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the content for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); 2564 children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); 2565 children.add(new Property("type", "code", "The type of evidence element, a population, an exposure, or an outcome.", 0, 1, type)); 2566 children.add(new Property("characteristic", "", "A characteristic that defines the members of the evidence element. Multiple characteristics are applied with \"and\" semantics.", 0, java.lang.Integer.MAX_VALUE, characteristic)); 2567 } 2568 2569 @Override 2570 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2571 switch (_hash) { 2572 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url); 2573 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 2574 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version); 2575 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 2576 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the evidence variable.", 0, 1, title); 2577 case 1555503932: /*shortTitle*/ return new Property("shortTitle", "string", "The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.", 0, 1, shortTitle); 2578 case -2060497896: /*subtitle*/ return new Property("subtitle", "string", "An explanatory or alternate title for the EvidenceVariable giving additional information about its content.", 0, 1, subtitle); 2579 case -892481550: /*status*/ return new Property("status", "code", "The status of this evidence variable. Enables tracking the life-cycle of the content.", 0, 1, status); 2580 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.", 0, 1, date); 2581 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the evidence variable.", 0, 1, publisher); 2582 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 2583 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the evidence variable from a consumer's perspective.", 0, 1, description); 2584 case 3387378: /*note*/ return new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the resource.", 0, java.lang.Integer.MAX_VALUE, note); 2585 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence variable instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 2586 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the evidence variable is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 2587 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the evidence variable and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence variable.", 0, 1, copyright); 2588 case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); 2589 case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); 2590 case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the evidence variable content was or is planned to be in active use.", 0, 1, effectivePeriod); 2591 case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptive topics related to the content of the EvidenceVariable. Topics provide a high-level categorization grouping types of EvidenceVariables that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); 2592 case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author); 2593 case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor); 2594 case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the content.", 0, java.lang.Integer.MAX_VALUE, reviewer); 2595 case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the content for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); 2596 case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); 2597 case 3575610: /*type*/ return new Property("type", "code", "The type of evidence element, a population, an exposure, or an outcome.", 0, 1, type); 2598 case 366313883: /*characteristic*/ return new Property("characteristic", "", "A characteristic that defines the members of the evidence element. Multiple characteristics are applied with \"and\" semantics.", 0, java.lang.Integer.MAX_VALUE, characteristic); 2599 default: return super.getNamedProperty(_hash, _name, _checkValid); 2600 } 2601 2602 } 2603 2604 @Override 2605 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2606 switch (hash) { 2607 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 2608 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2609 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 2610 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2611 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 2612 case 1555503932: /*shortTitle*/ return this.shortTitle == null ? new Base[0] : new Base[] {this.shortTitle}; // StringType 2613 case -2060497896: /*subtitle*/ return this.subtitle == null ? new Base[0] : new Base[] {this.subtitle}; // StringType 2614 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 2615 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2616 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 2617 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 2618 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 2619 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 2620 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 2621 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 2622 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 2623 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 2624 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 2625 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 2626 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept 2627 case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail 2628 case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail 2629 case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail 2630 case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail 2631 case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 2632 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<EvidenceVariableType> 2633 case 366313883: /*characteristic*/ return this.characteristic == null ? new Base[0] : this.characteristic.toArray(new Base[this.characteristic.size()]); // EvidenceVariableCharacteristicComponent 2634 default: return super.getProperty(hash, name, checkValid); 2635 } 2636 2637 } 2638 2639 @Override 2640 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2641 switch (hash) { 2642 case 116079: // url 2643 this.url = castToUri(value); // UriType 2644 return value; 2645 case -1618432855: // identifier 2646 this.getIdentifier().add(castToIdentifier(value)); // Identifier 2647 return value; 2648 case 351608024: // version 2649 this.version = castToString(value); // StringType 2650 return value; 2651 case 3373707: // name 2652 this.name = castToString(value); // StringType 2653 return value; 2654 case 110371416: // title 2655 this.title = castToString(value); // StringType 2656 return value; 2657 case 1555503932: // shortTitle 2658 this.shortTitle = castToString(value); // StringType 2659 return value; 2660 case -2060497896: // subtitle 2661 this.subtitle = castToString(value); // StringType 2662 return value; 2663 case -892481550: // status 2664 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2665 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2666 return value; 2667 case 3076014: // date 2668 this.date = castToDateTime(value); // DateTimeType 2669 return value; 2670 case 1447404028: // publisher 2671 this.publisher = castToString(value); // StringType 2672 return value; 2673 case 951526432: // contact 2674 this.getContact().add(castToContactDetail(value)); // ContactDetail 2675 return value; 2676 case -1724546052: // description 2677 this.description = castToMarkdown(value); // MarkdownType 2678 return value; 2679 case 3387378: // note 2680 this.getNote().add(castToAnnotation(value)); // Annotation 2681 return value; 2682 case -669707736: // useContext 2683 this.getUseContext().add(castToUsageContext(value)); // UsageContext 2684 return value; 2685 case -507075711: // jurisdiction 2686 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 2687 return value; 2688 case 1522889671: // copyright 2689 this.copyright = castToMarkdown(value); // MarkdownType 2690 return value; 2691 case 223539345: // approvalDate 2692 this.approvalDate = castToDate(value); // DateType 2693 return value; 2694 case -1687512484: // lastReviewDate 2695 this.lastReviewDate = castToDate(value); // DateType 2696 return value; 2697 case -403934648: // effectivePeriod 2698 this.effectivePeriod = castToPeriod(value); // Period 2699 return value; 2700 case 110546223: // topic 2701 this.getTopic().add(castToCodeableConcept(value)); // CodeableConcept 2702 return value; 2703 case -1406328437: // author 2704 this.getAuthor().add(castToContactDetail(value)); // ContactDetail 2705 return value; 2706 case -1307827859: // editor 2707 this.getEditor().add(castToContactDetail(value)); // ContactDetail 2708 return value; 2709 case -261190139: // reviewer 2710 this.getReviewer().add(castToContactDetail(value)); // ContactDetail 2711 return value; 2712 case 1740277666: // endorser 2713 this.getEndorser().add(castToContactDetail(value)); // ContactDetail 2714 return value; 2715 case 666807069: // relatedArtifact 2716 this.getRelatedArtifact().add(castToRelatedArtifact(value)); // RelatedArtifact 2717 return value; 2718 case 3575610: // type 2719 value = new EvidenceVariableTypeEnumFactory().fromType(castToCode(value)); 2720 this.type = (Enumeration) value; // Enumeration<EvidenceVariableType> 2721 return value; 2722 case 366313883: // characteristic 2723 this.getCharacteristic().add((EvidenceVariableCharacteristicComponent) value); // EvidenceVariableCharacteristicComponent 2724 return value; 2725 default: return super.setProperty(hash, name, value); 2726 } 2727 2728 } 2729 2730 @Override 2731 public Base setProperty(String name, Base value) throws FHIRException { 2732 if (name.equals("url")) { 2733 this.url = castToUri(value); // UriType 2734 } else if (name.equals("identifier")) { 2735 this.getIdentifier().add(castToIdentifier(value)); 2736 } else if (name.equals("version")) { 2737 this.version = castToString(value); // StringType 2738 } else if (name.equals("name")) { 2739 this.name = castToString(value); // StringType 2740 } else if (name.equals("title")) { 2741 this.title = castToString(value); // StringType 2742 } else if (name.equals("shortTitle")) { 2743 this.shortTitle = castToString(value); // StringType 2744 } else if (name.equals("subtitle")) { 2745 this.subtitle = castToString(value); // StringType 2746 } else if (name.equals("status")) { 2747 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2748 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2749 } else if (name.equals("date")) { 2750 this.date = castToDateTime(value); // DateTimeType 2751 } else if (name.equals("publisher")) { 2752 this.publisher = castToString(value); // StringType 2753 } else if (name.equals("contact")) { 2754 this.getContact().add(castToContactDetail(value)); 2755 } else if (name.equals("description")) { 2756 this.description = castToMarkdown(value); // MarkdownType 2757 } else if (name.equals("note")) { 2758 this.getNote().add(castToAnnotation(value)); 2759 } else if (name.equals("useContext")) { 2760 this.getUseContext().add(castToUsageContext(value)); 2761 } else if (name.equals("jurisdiction")) { 2762 this.getJurisdiction().add(castToCodeableConcept(value)); 2763 } else if (name.equals("copyright")) { 2764 this.copyright = castToMarkdown(value); // MarkdownType 2765 } else if (name.equals("approvalDate")) { 2766 this.approvalDate = castToDate(value); // DateType 2767 } else if (name.equals("lastReviewDate")) { 2768 this.lastReviewDate = castToDate(value); // DateType 2769 } else if (name.equals("effectivePeriod")) { 2770 this.effectivePeriod = castToPeriod(value); // Period 2771 } else if (name.equals("topic")) { 2772 this.getTopic().add(castToCodeableConcept(value)); 2773 } else if (name.equals("author")) { 2774 this.getAuthor().add(castToContactDetail(value)); 2775 } else if (name.equals("editor")) { 2776 this.getEditor().add(castToContactDetail(value)); 2777 } else if (name.equals("reviewer")) { 2778 this.getReviewer().add(castToContactDetail(value)); 2779 } else if (name.equals("endorser")) { 2780 this.getEndorser().add(castToContactDetail(value)); 2781 } else if (name.equals("relatedArtifact")) { 2782 this.getRelatedArtifact().add(castToRelatedArtifact(value)); 2783 } else if (name.equals("type")) { 2784 value = new EvidenceVariableTypeEnumFactory().fromType(castToCode(value)); 2785 this.type = (Enumeration) value; // Enumeration<EvidenceVariableType> 2786 } else if (name.equals("characteristic")) { 2787 this.getCharacteristic().add((EvidenceVariableCharacteristicComponent) value); 2788 } else 2789 return super.setProperty(name, value); 2790 return value; 2791 } 2792 2793 @Override 2794 public Base makeProperty(int hash, String name) throws FHIRException { 2795 switch (hash) { 2796 case 116079: return getUrlElement(); 2797 case -1618432855: return addIdentifier(); 2798 case 351608024: return getVersionElement(); 2799 case 3373707: return getNameElement(); 2800 case 110371416: return getTitleElement(); 2801 case 1555503932: return getShortTitleElement(); 2802 case -2060497896: return getSubtitleElement(); 2803 case -892481550: return getStatusElement(); 2804 case 3076014: return getDateElement(); 2805 case 1447404028: return getPublisherElement(); 2806 case 951526432: return addContact(); 2807 case -1724546052: return getDescriptionElement(); 2808 case 3387378: return addNote(); 2809 case -669707736: return addUseContext(); 2810 case -507075711: return addJurisdiction(); 2811 case 1522889671: return getCopyrightElement(); 2812 case 223539345: return getApprovalDateElement(); 2813 case -1687512484: return getLastReviewDateElement(); 2814 case -403934648: return getEffectivePeriod(); 2815 case 110546223: return addTopic(); 2816 case -1406328437: return addAuthor(); 2817 case -1307827859: return addEditor(); 2818 case -261190139: return addReviewer(); 2819 case 1740277666: return addEndorser(); 2820 case 666807069: return addRelatedArtifact(); 2821 case 3575610: return getTypeElement(); 2822 case 366313883: return addCharacteristic(); 2823 default: return super.makeProperty(hash, name); 2824 } 2825 2826 } 2827 2828 @Override 2829 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2830 switch (hash) { 2831 case 116079: /*url*/ return new String[] {"uri"}; 2832 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2833 case 351608024: /*version*/ return new String[] {"string"}; 2834 case 3373707: /*name*/ return new String[] {"string"}; 2835 case 110371416: /*title*/ return new String[] {"string"}; 2836 case 1555503932: /*shortTitle*/ return new String[] {"string"}; 2837 case -2060497896: /*subtitle*/ return new String[] {"string"}; 2838 case -892481550: /*status*/ return new String[] {"code"}; 2839 case 3076014: /*date*/ return new String[] {"dateTime"}; 2840 case 1447404028: /*publisher*/ return new String[] {"string"}; 2841 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 2842 case -1724546052: /*description*/ return new String[] {"markdown"}; 2843 case 3387378: /*note*/ return new String[] {"Annotation"}; 2844 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 2845 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 2846 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 2847 case 223539345: /*approvalDate*/ return new String[] {"date"}; 2848 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 2849 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 2850 case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; 2851 case -1406328437: /*author*/ return new String[] {"ContactDetail"}; 2852 case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; 2853 case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; 2854 case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; 2855 case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; 2856 case 3575610: /*type*/ return new String[] {"code"}; 2857 case 366313883: /*characteristic*/ return new String[] {}; 2858 default: return super.getTypesForProperty(hash, name); 2859 } 2860 2861 } 2862 2863 @Override 2864 public Base addChild(String name) throws FHIRException { 2865 if (name.equals("url")) { 2866 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.url"); 2867 } 2868 else if (name.equals("identifier")) { 2869 return addIdentifier(); 2870 } 2871 else if (name.equals("version")) { 2872 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.version"); 2873 } 2874 else if (name.equals("name")) { 2875 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.name"); 2876 } 2877 else if (name.equals("title")) { 2878 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.title"); 2879 } 2880 else if (name.equals("shortTitle")) { 2881 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.shortTitle"); 2882 } 2883 else if (name.equals("subtitle")) { 2884 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.subtitle"); 2885 } 2886 else if (name.equals("status")) { 2887 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.status"); 2888 } 2889 else if (name.equals("date")) { 2890 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.date"); 2891 } 2892 else if (name.equals("publisher")) { 2893 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.publisher"); 2894 } 2895 else if (name.equals("contact")) { 2896 return addContact(); 2897 } 2898 else if (name.equals("description")) { 2899 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.description"); 2900 } 2901 else if (name.equals("note")) { 2902 return addNote(); 2903 } 2904 else if (name.equals("useContext")) { 2905 return addUseContext(); 2906 } 2907 else if (name.equals("jurisdiction")) { 2908 return addJurisdiction(); 2909 } 2910 else if (name.equals("copyright")) { 2911 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.copyright"); 2912 } 2913 else if (name.equals("approvalDate")) { 2914 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.approvalDate"); 2915 } 2916 else if (name.equals("lastReviewDate")) { 2917 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.lastReviewDate"); 2918 } 2919 else if (name.equals("effectivePeriod")) { 2920 this.effectivePeriod = new Period(); 2921 return this.effectivePeriod; 2922 } 2923 else if (name.equals("topic")) { 2924 return addTopic(); 2925 } 2926 else if (name.equals("author")) { 2927 return addAuthor(); 2928 } 2929 else if (name.equals("editor")) { 2930 return addEditor(); 2931 } 2932 else if (name.equals("reviewer")) { 2933 return addReviewer(); 2934 } 2935 else if (name.equals("endorser")) { 2936 return addEndorser(); 2937 } 2938 else if (name.equals("relatedArtifact")) { 2939 return addRelatedArtifact(); 2940 } 2941 else if (name.equals("type")) { 2942 throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.type"); 2943 } 2944 else if (name.equals("characteristic")) { 2945 return addCharacteristic(); 2946 } 2947 else 2948 return super.addChild(name); 2949 } 2950 2951 public String fhirType() { 2952 return "EvidenceVariable"; 2953 2954 } 2955 2956 public EvidenceVariable copy() { 2957 EvidenceVariable dst = new EvidenceVariable(); 2958 copyValues(dst); 2959 return dst; 2960 } 2961 2962 public void copyValues(EvidenceVariable dst) { 2963 super.copyValues(dst); 2964 dst.url = url == null ? null : url.copy(); 2965 if (identifier != null) { 2966 dst.identifier = new ArrayList<Identifier>(); 2967 for (Identifier i : identifier) 2968 dst.identifier.add(i.copy()); 2969 }; 2970 dst.version = version == null ? null : version.copy(); 2971 dst.name = name == null ? null : name.copy(); 2972 dst.title = title == null ? null : title.copy(); 2973 dst.shortTitle = shortTitle == null ? null : shortTitle.copy(); 2974 dst.subtitle = subtitle == null ? null : subtitle.copy(); 2975 dst.status = status == null ? null : status.copy(); 2976 dst.date = date == null ? null : date.copy(); 2977 dst.publisher = publisher == null ? null : publisher.copy(); 2978 if (contact != null) { 2979 dst.contact = new ArrayList<ContactDetail>(); 2980 for (ContactDetail i : contact) 2981 dst.contact.add(i.copy()); 2982 }; 2983 dst.description = description == null ? null : description.copy(); 2984 if (note != null) { 2985 dst.note = new ArrayList<Annotation>(); 2986 for (Annotation i : note) 2987 dst.note.add(i.copy()); 2988 }; 2989 if (useContext != null) { 2990 dst.useContext = new ArrayList<UsageContext>(); 2991 for (UsageContext i : useContext) 2992 dst.useContext.add(i.copy()); 2993 }; 2994 if (jurisdiction != null) { 2995 dst.jurisdiction = new ArrayList<CodeableConcept>(); 2996 for (CodeableConcept i : jurisdiction) 2997 dst.jurisdiction.add(i.copy()); 2998 }; 2999 dst.copyright = copyright == null ? null : copyright.copy(); 3000 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 3001 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 3002 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 3003 if (topic != null) { 3004 dst.topic = new ArrayList<CodeableConcept>(); 3005 for (CodeableConcept i : topic) 3006 dst.topic.add(i.copy()); 3007 }; 3008 if (author != null) { 3009 dst.author = new ArrayList<ContactDetail>(); 3010 for (ContactDetail i : author) 3011 dst.author.add(i.copy()); 3012 }; 3013 if (editor != null) { 3014 dst.editor = new ArrayList<ContactDetail>(); 3015 for (ContactDetail i : editor) 3016 dst.editor.add(i.copy()); 3017 }; 3018 if (reviewer != null) { 3019 dst.reviewer = new ArrayList<ContactDetail>(); 3020 for (ContactDetail i : reviewer) 3021 dst.reviewer.add(i.copy()); 3022 }; 3023 if (endorser != null) { 3024 dst.endorser = new ArrayList<ContactDetail>(); 3025 for (ContactDetail i : endorser) 3026 dst.endorser.add(i.copy()); 3027 }; 3028 if (relatedArtifact != null) { 3029 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 3030 for (RelatedArtifact i : relatedArtifact) 3031 dst.relatedArtifact.add(i.copy()); 3032 }; 3033 dst.type = type == null ? null : type.copy(); 3034 if (characteristic != null) { 3035 dst.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>(); 3036 for (EvidenceVariableCharacteristicComponent i : characteristic) 3037 dst.characteristic.add(i.copy()); 3038 }; 3039 } 3040 3041 protected EvidenceVariable typedCopy() { 3042 return copy(); 3043 } 3044 3045 @Override 3046 public boolean equalsDeep(Base other_) { 3047 if (!super.equalsDeep(other_)) 3048 return false; 3049 if (!(other_ instanceof EvidenceVariable)) 3050 return false; 3051 EvidenceVariable o = (EvidenceVariable) other_; 3052 return compareDeep(identifier, o.identifier, true) && compareDeep(shortTitle, o.shortTitle, true) 3053 && compareDeep(subtitle, o.subtitle, true) && compareDeep(note, o.note, true) && compareDeep(copyright, o.copyright, true) 3054 && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) 3055 && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) 3056 && compareDeep(editor, o.editor, true) && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) 3057 && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(type, o.type, true) && compareDeep(characteristic, o.characteristic, true) 3058 ; 3059 } 3060 3061 @Override 3062 public boolean equalsShallow(Base other_) { 3063 if (!super.equalsShallow(other_)) 3064 return false; 3065 if (!(other_ instanceof EvidenceVariable)) 3066 return false; 3067 EvidenceVariable o = (EvidenceVariable) other_; 3068 return compareValues(shortTitle, o.shortTitle, true) && compareValues(subtitle, o.subtitle, true) && compareValues(copyright, o.copyright, true) 3069 && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) 3070 && compareValues(type, o.type, true); 3071 } 3072 3073 public boolean isEmpty() { 3074 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, shortTitle, subtitle 3075 , note, copyright, approvalDate, lastReviewDate, effectivePeriod, topic, author 3076 , editor, reviewer, endorser, relatedArtifact, type, characteristic); 3077 } 3078 3079 @Override 3080 public ResourceType getResourceType() { 3081 return ResourceType.EvidenceVariable; 3082 } 3083 3084 /** 3085 * Search parameter: <b>date</b> 3086 * <p> 3087 * Description: <b>The evidence variable publication date</b><br> 3088 * Type: <b>date</b><br> 3089 * Path: <b>EvidenceVariable.date</b><br> 3090 * </p> 3091 */ 3092 @SearchParamDefinition(name="date", path="EvidenceVariable.date", description="The evidence variable publication date", type="date" ) 3093 public static final String SP_DATE = "date"; 3094 /** 3095 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3096 * <p> 3097 * Description: <b>The evidence variable publication date</b><br> 3098 * Type: <b>date</b><br> 3099 * Path: <b>EvidenceVariable.date</b><br> 3100 * </p> 3101 */ 3102 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 3103 3104 /** 3105 * Search parameter: <b>identifier</b> 3106 * <p> 3107 * Description: <b>External identifier for the evidence variable</b><br> 3108 * Type: <b>token</b><br> 3109 * Path: <b>EvidenceVariable.identifier</b><br> 3110 * </p> 3111 */ 3112 @SearchParamDefinition(name="identifier", path="EvidenceVariable.identifier", description="External identifier for the evidence variable", type="token" ) 3113 public static final String SP_IDENTIFIER = "identifier"; 3114 /** 3115 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3116 * <p> 3117 * Description: <b>External identifier for the evidence variable</b><br> 3118 * Type: <b>token</b><br> 3119 * Path: <b>EvidenceVariable.identifier</b><br> 3120 * </p> 3121 */ 3122 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3123 3124 /** 3125 * Search parameter: <b>successor</b> 3126 * <p> 3127 * Description: <b>What resource is being referenced</b><br> 3128 * Type: <b>reference</b><br> 3129 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3130 * </p> 3131 */ 3132 @SearchParamDefinition(name="successor", path="EvidenceVariable.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference" ) 3133 public static final String SP_SUCCESSOR = "successor"; 3134 /** 3135 * <b>Fluent Client</b> search parameter constant for <b>successor</b> 3136 * <p> 3137 * Description: <b>What resource is being referenced</b><br> 3138 * Type: <b>reference</b><br> 3139 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3140 * </p> 3141 */ 3142 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUCCESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUCCESSOR); 3143 3144/** 3145 * Constant for fluent queries to be used to add include statements. Specifies 3146 * the path value of "<b>EvidenceVariable:successor</b>". 3147 */ 3148 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUCCESSOR = new ca.uhn.fhir.model.api.Include("EvidenceVariable:successor").toLocked(); 3149 3150 /** 3151 * Search parameter: <b>context-type-value</b> 3152 * <p> 3153 * Description: <b>A use context type and value assigned to the evidence variable</b><br> 3154 * Type: <b>composite</b><br> 3155 * Path: <b></b><br> 3156 * </p> 3157 */ 3158 @SearchParamDefinition(name="context-type-value", path="EvidenceVariable.useContext", description="A use context type and value assigned to the evidence variable", type="composite", compositeOf={"context-type", "context"} ) 3159 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 3160 /** 3161 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 3162 * <p> 3163 * Description: <b>A use context type and value assigned to the evidence variable</b><br> 3164 * Type: <b>composite</b><br> 3165 * Path: <b></b><br> 3166 * </p> 3167 */ 3168 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 3169 3170 /** 3171 * Search parameter: <b>jurisdiction</b> 3172 * <p> 3173 * Description: <b>Intended jurisdiction for the evidence variable</b><br> 3174 * Type: <b>token</b><br> 3175 * Path: <b>EvidenceVariable.jurisdiction</b><br> 3176 * </p> 3177 */ 3178 @SearchParamDefinition(name="jurisdiction", path="EvidenceVariable.jurisdiction", description="Intended jurisdiction for the evidence variable", type="token" ) 3179 public static final String SP_JURISDICTION = "jurisdiction"; 3180 /** 3181 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 3182 * <p> 3183 * Description: <b>Intended jurisdiction for the evidence variable</b><br> 3184 * Type: <b>token</b><br> 3185 * Path: <b>EvidenceVariable.jurisdiction</b><br> 3186 * </p> 3187 */ 3188 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 3189 3190 /** 3191 * Search parameter: <b>description</b> 3192 * <p> 3193 * Description: <b>The description of the evidence variable</b><br> 3194 * Type: <b>string</b><br> 3195 * Path: <b>EvidenceVariable.description</b><br> 3196 * </p> 3197 */ 3198 @SearchParamDefinition(name="description", path="EvidenceVariable.description", description="The description of the evidence variable", type="string" ) 3199 public static final String SP_DESCRIPTION = "description"; 3200 /** 3201 * <b>Fluent Client</b> search parameter constant for <b>description</b> 3202 * <p> 3203 * Description: <b>The description of the evidence variable</b><br> 3204 * Type: <b>string</b><br> 3205 * Path: <b>EvidenceVariable.description</b><br> 3206 * </p> 3207 */ 3208 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 3209 3210 /** 3211 * Search parameter: <b>derived-from</b> 3212 * <p> 3213 * Description: <b>What resource is being referenced</b><br> 3214 * Type: <b>reference</b><br> 3215 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3216 * </p> 3217 */ 3218 @SearchParamDefinition(name="derived-from", path="EvidenceVariable.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference" ) 3219 public static final String SP_DERIVED_FROM = "derived-from"; 3220 /** 3221 * <b>Fluent Client</b> search parameter constant for <b>derived-from</b> 3222 * <p> 3223 * Description: <b>What resource is being referenced</b><br> 3224 * Type: <b>reference</b><br> 3225 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3226 * </p> 3227 */ 3228 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); 3229 3230/** 3231 * Constant for fluent queries to be used to add include statements. Specifies 3232 * the path value of "<b>EvidenceVariable:derived-from</b>". 3233 */ 3234 public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("EvidenceVariable:derived-from").toLocked(); 3235 3236 /** 3237 * Search parameter: <b>context-type</b> 3238 * <p> 3239 * Description: <b>A type of use context assigned to the evidence variable</b><br> 3240 * Type: <b>token</b><br> 3241 * Path: <b>EvidenceVariable.useContext.code</b><br> 3242 * </p> 3243 */ 3244 @SearchParamDefinition(name="context-type", path="EvidenceVariable.useContext.code", description="A type of use context assigned to the evidence variable", type="token" ) 3245 public static final String SP_CONTEXT_TYPE = "context-type"; 3246 /** 3247 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 3248 * <p> 3249 * Description: <b>A type of use context assigned to the evidence variable</b><br> 3250 * Type: <b>token</b><br> 3251 * Path: <b>EvidenceVariable.useContext.code</b><br> 3252 * </p> 3253 */ 3254 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 3255 3256 /** 3257 * Search parameter: <b>predecessor</b> 3258 * <p> 3259 * Description: <b>What resource is being referenced</b><br> 3260 * Type: <b>reference</b><br> 3261 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3262 * </p> 3263 */ 3264 @SearchParamDefinition(name="predecessor", path="EvidenceVariable.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference" ) 3265 public static final String SP_PREDECESSOR = "predecessor"; 3266 /** 3267 * <b>Fluent Client</b> search parameter constant for <b>predecessor</b> 3268 * <p> 3269 * Description: <b>What resource is being referenced</b><br> 3270 * Type: <b>reference</b><br> 3271 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3272 * </p> 3273 */ 3274 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); 3275 3276/** 3277 * Constant for fluent queries to be used to add include statements. Specifies 3278 * the path value of "<b>EvidenceVariable:predecessor</b>". 3279 */ 3280 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("EvidenceVariable:predecessor").toLocked(); 3281 3282 /** 3283 * Search parameter: <b>title</b> 3284 * <p> 3285 * Description: <b>The human-friendly name of the evidence variable</b><br> 3286 * Type: <b>string</b><br> 3287 * Path: <b>EvidenceVariable.title</b><br> 3288 * </p> 3289 */ 3290 @SearchParamDefinition(name="title", path="EvidenceVariable.title", description="The human-friendly name of the evidence variable", type="string" ) 3291 public static final String SP_TITLE = "title"; 3292 /** 3293 * <b>Fluent Client</b> search parameter constant for <b>title</b> 3294 * <p> 3295 * Description: <b>The human-friendly name of the evidence variable</b><br> 3296 * Type: <b>string</b><br> 3297 * Path: <b>EvidenceVariable.title</b><br> 3298 * </p> 3299 */ 3300 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 3301 3302 /** 3303 * Search parameter: <b>composed-of</b> 3304 * <p> 3305 * Description: <b>What resource is being referenced</b><br> 3306 * Type: <b>reference</b><br> 3307 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3308 * </p> 3309 */ 3310 @SearchParamDefinition(name="composed-of", path="EvidenceVariable.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference" ) 3311 public static final String SP_COMPOSED_OF = "composed-of"; 3312 /** 3313 * <b>Fluent Client</b> search parameter constant for <b>composed-of</b> 3314 * <p> 3315 * Description: <b>What resource is being referenced</b><br> 3316 * Type: <b>reference</b><br> 3317 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3318 * </p> 3319 */ 3320 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSED_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPOSED_OF); 3321 3322/** 3323 * Constant for fluent queries to be used to add include statements. Specifies 3324 * the path value of "<b>EvidenceVariable:composed-of</b>". 3325 */ 3326 public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPOSED_OF = new ca.uhn.fhir.model.api.Include("EvidenceVariable:composed-of").toLocked(); 3327 3328 /** 3329 * Search parameter: <b>version</b> 3330 * <p> 3331 * Description: <b>The business version of the evidence variable</b><br> 3332 * Type: <b>token</b><br> 3333 * Path: <b>EvidenceVariable.version</b><br> 3334 * </p> 3335 */ 3336 @SearchParamDefinition(name="version", path="EvidenceVariable.version", description="The business version of the evidence variable", type="token" ) 3337 public static final String SP_VERSION = "version"; 3338 /** 3339 * <b>Fluent Client</b> search parameter constant for <b>version</b> 3340 * <p> 3341 * Description: <b>The business version of the evidence variable</b><br> 3342 * Type: <b>token</b><br> 3343 * Path: <b>EvidenceVariable.version</b><br> 3344 * </p> 3345 */ 3346 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 3347 3348 /** 3349 * Search parameter: <b>url</b> 3350 * <p> 3351 * Description: <b>The uri that identifies the evidence variable</b><br> 3352 * Type: <b>uri</b><br> 3353 * Path: <b>EvidenceVariable.url</b><br> 3354 * </p> 3355 */ 3356 @SearchParamDefinition(name="url", path="EvidenceVariable.url", description="The uri that identifies the evidence variable", type="uri" ) 3357 public static final String SP_URL = "url"; 3358 /** 3359 * <b>Fluent Client</b> search parameter constant for <b>url</b> 3360 * <p> 3361 * Description: <b>The uri that identifies the evidence variable</b><br> 3362 * Type: <b>uri</b><br> 3363 * Path: <b>EvidenceVariable.url</b><br> 3364 * </p> 3365 */ 3366 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 3367 3368 /** 3369 * Search parameter: <b>context-quantity</b> 3370 * <p> 3371 * Description: <b>A quantity- or range-valued use context assigned to the evidence variable</b><br> 3372 * Type: <b>quantity</b><br> 3373 * Path: <b>EvidenceVariable.useContext.valueQuantity, EvidenceVariable.useContext.valueRange</b><br> 3374 * </p> 3375 */ 3376 @SearchParamDefinition(name="context-quantity", path="(EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the evidence variable", type="quantity" ) 3377 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 3378 /** 3379 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 3380 * <p> 3381 * Description: <b>A quantity- or range-valued use context assigned to the evidence variable</b><br> 3382 * Type: <b>quantity</b><br> 3383 * Path: <b>EvidenceVariable.useContext.valueQuantity, EvidenceVariable.useContext.valueRange</b><br> 3384 * </p> 3385 */ 3386 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 3387 3388 /** 3389 * Search parameter: <b>effective</b> 3390 * <p> 3391 * Description: <b>The time during which the evidence variable is intended to be in use</b><br> 3392 * Type: <b>date</b><br> 3393 * Path: <b>EvidenceVariable.effectivePeriod</b><br> 3394 * </p> 3395 */ 3396 @SearchParamDefinition(name="effective", path="EvidenceVariable.effectivePeriod", description="The time during which the evidence variable is intended to be in use", type="date" ) 3397 public static final String SP_EFFECTIVE = "effective"; 3398 /** 3399 * <b>Fluent Client</b> search parameter constant for <b>effective</b> 3400 * <p> 3401 * Description: <b>The time during which the evidence variable is intended to be in use</b><br> 3402 * Type: <b>date</b><br> 3403 * Path: <b>EvidenceVariable.effectivePeriod</b><br> 3404 * </p> 3405 */ 3406 public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); 3407 3408 /** 3409 * Search parameter: <b>depends-on</b> 3410 * <p> 3411 * Description: <b>What resource is being referenced</b><br> 3412 * Type: <b>reference</b><br> 3413 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3414 * </p> 3415 */ 3416 @SearchParamDefinition(name="depends-on", path="EvidenceVariable.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference" ) 3417 public static final String SP_DEPENDS_ON = "depends-on"; 3418 /** 3419 * <b>Fluent Client</b> search parameter constant for <b>depends-on</b> 3420 * <p> 3421 * Description: <b>What resource is being referenced</b><br> 3422 * Type: <b>reference</b><br> 3423 * Path: <b>EvidenceVariable.relatedArtifact.resource</b><br> 3424 * </p> 3425 */ 3426 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON); 3427 3428/** 3429 * Constant for fluent queries to be used to add include statements. Specifies 3430 * the path value of "<b>EvidenceVariable:depends-on</b>". 3431 */ 3432 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("EvidenceVariable:depends-on").toLocked(); 3433 3434 /** 3435 * Search parameter: <b>name</b> 3436 * <p> 3437 * Description: <b>Computationally friendly name of the evidence variable</b><br> 3438 * Type: <b>string</b><br> 3439 * Path: <b>EvidenceVariable.name</b><br> 3440 * </p> 3441 */ 3442 @SearchParamDefinition(name="name", path="EvidenceVariable.name", description="Computationally friendly name of the evidence variable", type="string" ) 3443 public static final String SP_NAME = "name"; 3444 /** 3445 * <b>Fluent Client</b> search parameter constant for <b>name</b> 3446 * <p> 3447 * Description: <b>Computationally friendly name of the evidence variable</b><br> 3448 * Type: <b>string</b><br> 3449 * Path: <b>EvidenceVariable.name</b><br> 3450 * </p> 3451 */ 3452 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 3453 3454 /** 3455 * Search parameter: <b>context</b> 3456 * <p> 3457 * Description: <b>A use context assigned to the evidence variable</b><br> 3458 * Type: <b>token</b><br> 3459 * Path: <b>EvidenceVariable.useContext.valueCodeableConcept</b><br> 3460 * </p> 3461 */ 3462 @SearchParamDefinition(name="context", path="(EvidenceVariable.useContext.value as CodeableConcept)", description="A use context assigned to the evidence variable", type="token" ) 3463 public static final String SP_CONTEXT = "context"; 3464 /** 3465 * <b>Fluent Client</b> search parameter constant for <b>context</b> 3466 * <p> 3467 * Description: <b>A use context assigned to the evidence variable</b><br> 3468 * Type: <b>token</b><br> 3469 * Path: <b>EvidenceVariable.useContext.valueCodeableConcept</b><br> 3470 * </p> 3471 */ 3472 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 3473 3474 /** 3475 * Search parameter: <b>publisher</b> 3476 * <p> 3477 * Description: <b>Name of the publisher of the evidence variable</b><br> 3478 * Type: <b>string</b><br> 3479 * Path: <b>EvidenceVariable.publisher</b><br> 3480 * </p> 3481 */ 3482 @SearchParamDefinition(name="publisher", path="EvidenceVariable.publisher", description="Name of the publisher of the evidence variable", type="string" ) 3483 public static final String SP_PUBLISHER = "publisher"; 3484 /** 3485 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 3486 * <p> 3487 * Description: <b>Name of the publisher of the evidence variable</b><br> 3488 * Type: <b>string</b><br> 3489 * Path: <b>EvidenceVariable.publisher</b><br> 3490 * </p> 3491 */ 3492 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 3493 3494 /** 3495 * Search parameter: <b>topic</b> 3496 * <p> 3497 * Description: <b>Topics associated with the EvidenceVariable</b><br> 3498 * Type: <b>token</b><br> 3499 * Path: <b>EvidenceVariable.topic</b><br> 3500 * </p> 3501 */ 3502 @SearchParamDefinition(name="topic", path="EvidenceVariable.topic", description="Topics associated with the EvidenceVariable", type="token" ) 3503 public static final String SP_TOPIC = "topic"; 3504 /** 3505 * <b>Fluent Client</b> search parameter constant for <b>topic</b> 3506 * <p> 3507 * Description: <b>Topics associated with the EvidenceVariable</b><br> 3508 * Type: <b>token</b><br> 3509 * Path: <b>EvidenceVariable.topic</b><br> 3510 * </p> 3511 */ 3512 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); 3513 3514 /** 3515 * Search parameter: <b>context-type-quantity</b> 3516 * <p> 3517 * Description: <b>A use context type and quantity- or range-based value assigned to the evidence variable</b><br> 3518 * Type: <b>composite</b><br> 3519 * Path: <b></b><br> 3520 * </p> 3521 */ 3522 @SearchParamDefinition(name="context-type-quantity", path="EvidenceVariable.useContext", description="A use context type and quantity- or range-based value assigned to the evidence variable", type="composite", compositeOf={"context-type", "context-quantity"} ) 3523 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 3524 /** 3525 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 3526 * <p> 3527 * Description: <b>A use context type and quantity- or range-based value assigned to the evidence variable</b><br> 3528 * Type: <b>composite</b><br> 3529 * Path: <b></b><br> 3530 * </p> 3531 */ 3532 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 3533 3534 /** 3535 * Search parameter: <b>status</b> 3536 * <p> 3537 * Description: <b>The current status of the evidence variable</b><br> 3538 * Type: <b>token</b><br> 3539 * Path: <b>EvidenceVariable.status</b><br> 3540 * </p> 3541 */ 3542 @SearchParamDefinition(name="status", path="EvidenceVariable.status", description="The current status of the evidence variable", type="token" ) 3543 public static final String SP_STATUS = "status"; 3544 /** 3545 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3546 * <p> 3547 * Description: <b>The current status of the evidence variable</b><br> 3548 * Type: <b>token</b><br> 3549 * Path: <b>EvidenceVariable.status</b><br> 3550 * </p> 3551 */ 3552 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3553 3554 3555}