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