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