001package org.hl7.fhir.dstu3.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Mon, Apr 17, 2017 17:38-0400 for FHIR v3.0.1 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.dstu3.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * The Measure resource provides the definition of a quality measure. 048 */ 049@ResourceDef(name="Measure", profile="http://hl7.org/fhir/Profile/Measure") 050@ChildOrder(names={"url", "identifier", "version", "name", "title", "status", "experimental", "date", "publisher", "description", "purpose", "usage", "approvalDate", "lastReviewDate", "effectivePeriod", "useContext", "jurisdiction", "topic", "contributor", "contact", "copyright", "relatedArtifact", "library", "disclaimer", "scoring", "compositeScoring", "type", "riskAdjustment", "rateAggregation", "rationale", "clinicalRecommendationStatement", "improvementNotation", "definition", "guidance", "set", "group", "supplementalData"}) 051public class Measure extends MetadataResource { 052 053 @Block() 054 public static class MeasureGroupComponent extends BackboneElement implements IBaseBackboneElement { 055 /** 056 * A unique identifier for the group. This identifier will used to report data for the group in the measure report. 057 */ 058 @Child(name = "identifier", type = {Identifier.class}, order=1, min=1, max=1, modifier=false, summary=false) 059 @Description(shortDefinition="Unique identifier", formalDefinition="A unique identifier for the group. This identifier will used to report data for the group in the measure report." ) 060 protected Identifier identifier; 061 062 /** 063 * Optional name or short description of this group. 064 */ 065 @Child(name = "name", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 066 @Description(shortDefinition="Short name", formalDefinition="Optional name or short description of this group." ) 067 protected StringType name; 068 069 /** 070 * The human readable description of this population group. 071 */ 072 @Child(name = "description", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 073 @Description(shortDefinition="Summary description", formalDefinition="The human readable description of this population group." ) 074 protected StringType description; 075 076 /** 077 * A population criteria for the measure. 078 */ 079 @Child(name = "population", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 080 @Description(shortDefinition="Population criteria", formalDefinition="A population criteria for the measure." ) 081 protected List<MeasureGroupPopulationComponent> population; 082 083 /** 084 * The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path. 085 */ 086 @Child(name = "stratifier", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 087 @Description(shortDefinition="Stratifier criteria for the measure", formalDefinition="The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path." ) 088 protected List<MeasureGroupStratifierComponent> stratifier; 089 090 private static final long serialVersionUID = 1287622059L; 091 092 /** 093 * Constructor 094 */ 095 public MeasureGroupComponent() { 096 super(); 097 } 098 099 /** 100 * Constructor 101 */ 102 public MeasureGroupComponent(Identifier identifier) { 103 super(); 104 this.identifier = identifier; 105 } 106 107 /** 108 * @return {@link #identifier} (A unique identifier for the group. This identifier will used to report data for the group in the measure report.) 109 */ 110 public Identifier getIdentifier() { 111 if (this.identifier == null) 112 if (Configuration.errorOnAutoCreate()) 113 throw new Error("Attempt to auto-create MeasureGroupComponent.identifier"); 114 else if (Configuration.doAutoCreate()) 115 this.identifier = new Identifier(); // cc 116 return this.identifier; 117 } 118 119 public boolean hasIdentifier() { 120 return this.identifier != null && !this.identifier.isEmpty(); 121 } 122 123 /** 124 * @param value {@link #identifier} (A unique identifier for the group. This identifier will used to report data for the group in the measure report.) 125 */ 126 public MeasureGroupComponent setIdentifier(Identifier value) { 127 this.identifier = value; 128 return this; 129 } 130 131 /** 132 * @return {@link #name} (Optional name or short description of this group.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 133 */ 134 public StringType getNameElement() { 135 if (this.name == null) 136 if (Configuration.errorOnAutoCreate()) 137 throw new Error("Attempt to auto-create MeasureGroupComponent.name"); 138 else if (Configuration.doAutoCreate()) 139 this.name = new StringType(); // bb 140 return this.name; 141 } 142 143 public boolean hasNameElement() { 144 return this.name != null && !this.name.isEmpty(); 145 } 146 147 public boolean hasName() { 148 return this.name != null && !this.name.isEmpty(); 149 } 150 151 /** 152 * @param value {@link #name} (Optional name or short description of this group.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 153 */ 154 public MeasureGroupComponent setNameElement(StringType value) { 155 this.name = value; 156 return this; 157 } 158 159 /** 160 * @return Optional name or short description of this group. 161 */ 162 public String getName() { 163 return this.name == null ? null : this.name.getValue(); 164 } 165 166 /** 167 * @param value Optional name or short description of this group. 168 */ 169 public MeasureGroupComponent setName(String value) { 170 if (Utilities.noString(value)) 171 this.name = null; 172 else { 173 if (this.name == null) 174 this.name = new StringType(); 175 this.name.setValue(value); 176 } 177 return this; 178 } 179 180 /** 181 * @return {@link #description} (The human readable description of this population group.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 182 */ 183 public StringType getDescriptionElement() { 184 if (this.description == null) 185 if (Configuration.errorOnAutoCreate()) 186 throw new Error("Attempt to auto-create MeasureGroupComponent.description"); 187 else if (Configuration.doAutoCreate()) 188 this.description = new StringType(); // bb 189 return this.description; 190 } 191 192 public boolean hasDescriptionElement() { 193 return this.description != null && !this.description.isEmpty(); 194 } 195 196 public boolean hasDescription() { 197 return this.description != null && !this.description.isEmpty(); 198 } 199 200 /** 201 * @param value {@link #description} (The human readable description of this population group.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 202 */ 203 public MeasureGroupComponent setDescriptionElement(StringType value) { 204 this.description = value; 205 return this; 206 } 207 208 /** 209 * @return The human readable description of this population group. 210 */ 211 public String getDescription() { 212 return this.description == null ? null : this.description.getValue(); 213 } 214 215 /** 216 * @param value The human readable description of this population group. 217 */ 218 public MeasureGroupComponent setDescription(String value) { 219 if (Utilities.noString(value)) 220 this.description = null; 221 else { 222 if (this.description == null) 223 this.description = new StringType(); 224 this.description.setValue(value); 225 } 226 return this; 227 } 228 229 /** 230 * @return {@link #population} (A population criteria for the measure.) 231 */ 232 public List<MeasureGroupPopulationComponent> getPopulation() { 233 if (this.population == null) 234 this.population = new ArrayList<MeasureGroupPopulationComponent>(); 235 return this.population; 236 } 237 238 /** 239 * @return Returns a reference to <code>this</code> for easy method chaining 240 */ 241 public MeasureGroupComponent setPopulation(List<MeasureGroupPopulationComponent> thePopulation) { 242 this.population = thePopulation; 243 return this; 244 } 245 246 public boolean hasPopulation() { 247 if (this.population == null) 248 return false; 249 for (MeasureGroupPopulationComponent item : this.population) 250 if (!item.isEmpty()) 251 return true; 252 return false; 253 } 254 255 public MeasureGroupPopulationComponent addPopulation() { //3 256 MeasureGroupPopulationComponent t = new MeasureGroupPopulationComponent(); 257 if (this.population == null) 258 this.population = new ArrayList<MeasureGroupPopulationComponent>(); 259 this.population.add(t); 260 return t; 261 } 262 263 public MeasureGroupComponent addPopulation(MeasureGroupPopulationComponent t) { //3 264 if (t == null) 265 return this; 266 if (this.population == null) 267 this.population = new ArrayList<MeasureGroupPopulationComponent>(); 268 this.population.add(t); 269 return this; 270 } 271 272 /** 273 * @return The first repetition of repeating field {@link #population}, creating it if it does not already exist 274 */ 275 public MeasureGroupPopulationComponent getPopulationFirstRep() { 276 if (getPopulation().isEmpty()) { 277 addPopulation(); 278 } 279 return getPopulation().get(0); 280 } 281 282 /** 283 * @return {@link #stratifier} (The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path.) 284 */ 285 public List<MeasureGroupStratifierComponent> getStratifier() { 286 if (this.stratifier == null) 287 this.stratifier = new ArrayList<MeasureGroupStratifierComponent>(); 288 return this.stratifier; 289 } 290 291 /** 292 * @return Returns a reference to <code>this</code> for easy method chaining 293 */ 294 public MeasureGroupComponent setStratifier(List<MeasureGroupStratifierComponent> theStratifier) { 295 this.stratifier = theStratifier; 296 return this; 297 } 298 299 public boolean hasStratifier() { 300 if (this.stratifier == null) 301 return false; 302 for (MeasureGroupStratifierComponent item : this.stratifier) 303 if (!item.isEmpty()) 304 return true; 305 return false; 306 } 307 308 public MeasureGroupStratifierComponent addStratifier() { //3 309 MeasureGroupStratifierComponent t = new MeasureGroupStratifierComponent(); 310 if (this.stratifier == null) 311 this.stratifier = new ArrayList<MeasureGroupStratifierComponent>(); 312 this.stratifier.add(t); 313 return t; 314 } 315 316 public MeasureGroupComponent addStratifier(MeasureGroupStratifierComponent t) { //3 317 if (t == null) 318 return this; 319 if (this.stratifier == null) 320 this.stratifier = new ArrayList<MeasureGroupStratifierComponent>(); 321 this.stratifier.add(t); 322 return this; 323 } 324 325 /** 326 * @return The first repetition of repeating field {@link #stratifier}, creating it if it does not already exist 327 */ 328 public MeasureGroupStratifierComponent getStratifierFirstRep() { 329 if (getStratifier().isEmpty()) { 330 addStratifier(); 331 } 332 return getStratifier().get(0); 333 } 334 335 protected void listChildren(List<Property> childrenList) { 336 super.listChildren(childrenList); 337 childrenList.add(new Property("identifier", "Identifier", "A unique identifier for the group. This identifier will used to report data for the group in the measure report.", 0, java.lang.Integer.MAX_VALUE, identifier)); 338 childrenList.add(new Property("name", "string", "Optional name or short description of this group.", 0, java.lang.Integer.MAX_VALUE, name)); 339 childrenList.add(new Property("description", "string", "The human readable description of this population group.", 0, java.lang.Integer.MAX_VALUE, description)); 340 childrenList.add(new Property("population", "", "A population criteria for the measure.", 0, java.lang.Integer.MAX_VALUE, population)); 341 childrenList.add(new Property("stratifier", "", "The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library, or a valid FHIR Resource Path.", 0, java.lang.Integer.MAX_VALUE, stratifier)); 342 } 343 344 @Override 345 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 346 switch (hash) { 347 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 348 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 349 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 350 case -2023558323: /*population*/ return this.population == null ? new Base[0] : this.population.toArray(new Base[this.population.size()]); // MeasureGroupPopulationComponent 351 case 90983669: /*stratifier*/ return this.stratifier == null ? new Base[0] : this.stratifier.toArray(new Base[this.stratifier.size()]); // MeasureGroupStratifierComponent 352 default: return super.getProperty(hash, name, checkValid); 353 } 354 355 } 356 357 @Override 358 public Base setProperty(int hash, String name, Base value) throws FHIRException { 359 switch (hash) { 360 case -1618432855: // identifier 361 this.identifier = castToIdentifier(value); // Identifier 362 return value; 363 case 3373707: // name 364 this.name = castToString(value); // StringType 365 return value; 366 case -1724546052: // description 367 this.description = castToString(value); // StringType 368 return value; 369 case -2023558323: // population 370 this.getPopulation().add((MeasureGroupPopulationComponent) value); // MeasureGroupPopulationComponent 371 return value; 372 case 90983669: // stratifier 373 this.getStratifier().add((MeasureGroupStratifierComponent) value); // MeasureGroupStratifierComponent 374 return value; 375 default: return super.setProperty(hash, name, value); 376 } 377 378 } 379 380 @Override 381 public Base setProperty(String name, Base value) throws FHIRException { 382 if (name.equals("identifier")) { 383 this.identifier = castToIdentifier(value); // Identifier 384 } else if (name.equals("name")) { 385 this.name = castToString(value); // StringType 386 } else if (name.equals("description")) { 387 this.description = castToString(value); // StringType 388 } else if (name.equals("population")) { 389 this.getPopulation().add((MeasureGroupPopulationComponent) value); 390 } else if (name.equals("stratifier")) { 391 this.getStratifier().add((MeasureGroupStratifierComponent) value); 392 } else 393 return super.setProperty(name, value); 394 return value; 395 } 396 397 @Override 398 public Base makeProperty(int hash, String name) throws FHIRException { 399 switch (hash) { 400 case -1618432855: return getIdentifier(); 401 case 3373707: return getNameElement(); 402 case -1724546052: return getDescriptionElement(); 403 case -2023558323: return addPopulation(); 404 case 90983669: return addStratifier(); 405 default: return super.makeProperty(hash, name); 406 } 407 408 } 409 410 @Override 411 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 412 switch (hash) { 413 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 414 case 3373707: /*name*/ return new String[] {"string"}; 415 case -1724546052: /*description*/ return new String[] {"string"}; 416 case -2023558323: /*population*/ return new String[] {}; 417 case 90983669: /*stratifier*/ return new String[] {}; 418 default: return super.getTypesForProperty(hash, name); 419 } 420 421 } 422 423 @Override 424 public Base addChild(String name) throws FHIRException { 425 if (name.equals("identifier")) { 426 this.identifier = new Identifier(); 427 return this.identifier; 428 } 429 else if (name.equals("name")) { 430 throw new FHIRException("Cannot call addChild on a primitive type Measure.name"); 431 } 432 else if (name.equals("description")) { 433 throw new FHIRException("Cannot call addChild on a primitive type Measure.description"); 434 } 435 else if (name.equals("population")) { 436 return addPopulation(); 437 } 438 else if (name.equals("stratifier")) { 439 return addStratifier(); 440 } 441 else 442 return super.addChild(name); 443 } 444 445 public MeasureGroupComponent copy() { 446 MeasureGroupComponent dst = new MeasureGroupComponent(); 447 copyValues(dst); 448 dst.identifier = identifier == null ? null : identifier.copy(); 449 dst.name = name == null ? null : name.copy(); 450 dst.description = description == null ? null : description.copy(); 451 if (population != null) { 452 dst.population = new ArrayList<MeasureGroupPopulationComponent>(); 453 for (MeasureGroupPopulationComponent i : population) 454 dst.population.add(i.copy()); 455 }; 456 if (stratifier != null) { 457 dst.stratifier = new ArrayList<MeasureGroupStratifierComponent>(); 458 for (MeasureGroupStratifierComponent i : stratifier) 459 dst.stratifier.add(i.copy()); 460 }; 461 return dst; 462 } 463 464 @Override 465 public boolean equalsDeep(Base other) { 466 if (!super.equalsDeep(other)) 467 return false; 468 if (!(other instanceof MeasureGroupComponent)) 469 return false; 470 MeasureGroupComponent o = (MeasureGroupComponent) other; 471 return compareDeep(identifier, o.identifier, true) && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) 472 && compareDeep(population, o.population, true) && compareDeep(stratifier, o.stratifier, true); 473 } 474 475 @Override 476 public boolean equalsShallow(Base other) { 477 if (!super.equalsShallow(other)) 478 return false; 479 if (!(other instanceof MeasureGroupComponent)) 480 return false; 481 MeasureGroupComponent o = (MeasureGroupComponent) other; 482 return compareValues(name, o.name, true) && compareValues(description, o.description, true); 483 } 484 485 public boolean isEmpty() { 486 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, name, description 487 , population, stratifier); 488 } 489 490 public String fhirType() { 491 return "Measure.group"; 492 493 } 494 495 } 496 497 @Block() 498 public static class MeasureGroupPopulationComponent extends BackboneElement implements IBaseBackboneElement { 499 /** 500 * A unique identifier for the population criteria. This identifier is used to report data against this criteria within the measure report. 501 */ 502 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=false) 503 @Description(shortDefinition="Unique identifier", formalDefinition="A unique identifier for the population criteria. This identifier is used to report data against this criteria within the measure report." ) 504 protected Identifier identifier; 505 506 /** 507 * The type of population criteria. 508 */ 509 @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 510 @Description(shortDefinition="initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation", formalDefinition="The type of population criteria." ) 511 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-population") 512 protected CodeableConcept code; 513 514 /** 515 * Optional name or short description of this population. 516 */ 517 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 518 @Description(shortDefinition="Short name", formalDefinition="Optional name or short description of this population." ) 519 protected StringType name; 520 521 /** 522 * The human readable description of this population criteria. 523 */ 524 @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 525 @Description(shortDefinition="The human readable description of this population criteria", formalDefinition="The human readable description of this population criteria." ) 526 protected StringType description; 527 528 /** 529 * The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria. 530 */ 531 @Child(name = "criteria", type = {StringType.class}, order=5, min=1, max=1, modifier=false, summary=false) 532 @Description(shortDefinition="The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria", formalDefinition="The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria." ) 533 protected StringType criteria; 534 535 private static final long serialVersionUID = -561575429L; 536 537 /** 538 * Constructor 539 */ 540 public MeasureGroupPopulationComponent() { 541 super(); 542 } 543 544 /** 545 * Constructor 546 */ 547 public MeasureGroupPopulationComponent(StringType criteria) { 548 super(); 549 this.criteria = criteria; 550 } 551 552 /** 553 * @return {@link #identifier} (A unique identifier for the population criteria. This identifier is used to report data against this criteria within the measure report.) 554 */ 555 public Identifier getIdentifier() { 556 if (this.identifier == null) 557 if (Configuration.errorOnAutoCreate()) 558 throw new Error("Attempt to auto-create MeasureGroupPopulationComponent.identifier"); 559 else if (Configuration.doAutoCreate()) 560 this.identifier = new Identifier(); // cc 561 return this.identifier; 562 } 563 564 public boolean hasIdentifier() { 565 return this.identifier != null && !this.identifier.isEmpty(); 566 } 567 568 /** 569 * @param value {@link #identifier} (A unique identifier for the population criteria. This identifier is used to report data against this criteria within the measure report.) 570 */ 571 public MeasureGroupPopulationComponent setIdentifier(Identifier value) { 572 this.identifier = value; 573 return this; 574 } 575 576 /** 577 * @return {@link #code} (The type of population criteria.) 578 */ 579 public CodeableConcept getCode() { 580 if (this.code == null) 581 if (Configuration.errorOnAutoCreate()) 582 throw new Error("Attempt to auto-create MeasureGroupPopulationComponent.code"); 583 else if (Configuration.doAutoCreate()) 584 this.code = new CodeableConcept(); // cc 585 return this.code; 586 } 587 588 public boolean hasCode() { 589 return this.code != null && !this.code.isEmpty(); 590 } 591 592 /** 593 * @param value {@link #code} (The type of population criteria.) 594 */ 595 public MeasureGroupPopulationComponent setCode(CodeableConcept value) { 596 this.code = value; 597 return this; 598 } 599 600 /** 601 * @return {@link #name} (Optional name or short description of this population.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 602 */ 603 public StringType getNameElement() { 604 if (this.name == null) 605 if (Configuration.errorOnAutoCreate()) 606 throw new Error("Attempt to auto-create MeasureGroupPopulationComponent.name"); 607 else if (Configuration.doAutoCreate()) 608 this.name = new StringType(); // bb 609 return this.name; 610 } 611 612 public boolean hasNameElement() { 613 return this.name != null && !this.name.isEmpty(); 614 } 615 616 public boolean hasName() { 617 return this.name != null && !this.name.isEmpty(); 618 } 619 620 /** 621 * @param value {@link #name} (Optional name or short description of this population.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 622 */ 623 public MeasureGroupPopulationComponent setNameElement(StringType value) { 624 this.name = value; 625 return this; 626 } 627 628 /** 629 * @return Optional name or short description of this population. 630 */ 631 public String getName() { 632 return this.name == null ? null : this.name.getValue(); 633 } 634 635 /** 636 * @param value Optional name or short description of this population. 637 */ 638 public MeasureGroupPopulationComponent setName(String value) { 639 if (Utilities.noString(value)) 640 this.name = null; 641 else { 642 if (this.name == null) 643 this.name = new StringType(); 644 this.name.setValue(value); 645 } 646 return this; 647 } 648 649 /** 650 * @return {@link #description} (The human readable description of this population criteria.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 651 */ 652 public StringType getDescriptionElement() { 653 if (this.description == null) 654 if (Configuration.errorOnAutoCreate()) 655 throw new Error("Attempt to auto-create MeasureGroupPopulationComponent.description"); 656 else if (Configuration.doAutoCreate()) 657 this.description = new StringType(); // bb 658 return this.description; 659 } 660 661 public boolean hasDescriptionElement() { 662 return this.description != null && !this.description.isEmpty(); 663 } 664 665 public boolean hasDescription() { 666 return this.description != null && !this.description.isEmpty(); 667 } 668 669 /** 670 * @param value {@link #description} (The human readable description of this population criteria.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 671 */ 672 public MeasureGroupPopulationComponent setDescriptionElement(StringType value) { 673 this.description = value; 674 return this; 675 } 676 677 /** 678 * @return The human readable description of this population criteria. 679 */ 680 public String getDescription() { 681 return this.description == null ? null : this.description.getValue(); 682 } 683 684 /** 685 * @param value The human readable description of this population criteria. 686 */ 687 public MeasureGroupPopulationComponent setDescription(String value) { 688 if (Utilities.noString(value)) 689 this.description = null; 690 else { 691 if (this.description == null) 692 this.description = new StringType(); 693 this.description.setValue(value); 694 } 695 return this; 696 } 697 698 /** 699 * @return {@link #criteria} (The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria.). This is the underlying object with id, value and extensions. The accessor "getCriteria" gives direct access to the value 700 */ 701 public StringType getCriteriaElement() { 702 if (this.criteria == null) 703 if (Configuration.errorOnAutoCreate()) 704 throw new Error("Attempt to auto-create MeasureGroupPopulationComponent.criteria"); 705 else if (Configuration.doAutoCreate()) 706 this.criteria = new StringType(); // bb 707 return this.criteria; 708 } 709 710 public boolean hasCriteriaElement() { 711 return this.criteria != null && !this.criteria.isEmpty(); 712 } 713 714 public boolean hasCriteria() { 715 return this.criteria != null && !this.criteria.isEmpty(); 716 } 717 718 /** 719 * @param value {@link #criteria} (The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria.). This is the underlying object with id, value and extensions. The accessor "getCriteria" gives direct access to the value 720 */ 721 public MeasureGroupPopulationComponent setCriteriaElement(StringType value) { 722 this.criteria = value; 723 return this; 724 } 725 726 /** 727 * @return The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria. 728 */ 729 public String getCriteria() { 730 return this.criteria == null ? null : this.criteria.getValue(); 731 } 732 733 /** 734 * @param value The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria. 735 */ 736 public MeasureGroupPopulationComponent setCriteria(String value) { 737 if (this.criteria == null) 738 this.criteria = new StringType(); 739 this.criteria.setValue(value); 740 return this; 741 } 742 743 protected void listChildren(List<Property> childrenList) { 744 super.listChildren(childrenList); 745 childrenList.add(new Property("identifier", "Identifier", "A unique identifier for the population criteria. This identifier is used to report data against this criteria within the measure report.", 0, java.lang.Integer.MAX_VALUE, identifier)); 746 childrenList.add(new Property("code", "CodeableConcept", "The type of population criteria.", 0, java.lang.Integer.MAX_VALUE, code)); 747 childrenList.add(new Property("name", "string", "Optional name or short description of this population.", 0, java.lang.Integer.MAX_VALUE, name)); 748 childrenList.add(new Property("description", "string", "The human readable description of this population criteria.", 0, java.lang.Integer.MAX_VALUE, description)); 749 childrenList.add(new Property("criteria", "string", "The name of a valid referenced CQL expression (may be namespaced) that defines this population criteria.", 0, java.lang.Integer.MAX_VALUE, criteria)); 750 } 751 752 @Override 753 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 754 switch (hash) { 755 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 756 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 757 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 758 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 759 case 1952046943: /*criteria*/ return this.criteria == null ? new Base[0] : new Base[] {this.criteria}; // StringType 760 default: return super.getProperty(hash, name, checkValid); 761 } 762 763 } 764 765 @Override 766 public Base setProperty(int hash, String name, Base value) throws FHIRException { 767 switch (hash) { 768 case -1618432855: // identifier 769 this.identifier = castToIdentifier(value); // Identifier 770 return value; 771 case 3059181: // code 772 this.code = castToCodeableConcept(value); // CodeableConcept 773 return value; 774 case 3373707: // name 775 this.name = castToString(value); // StringType 776 return value; 777 case -1724546052: // description 778 this.description = castToString(value); // StringType 779 return value; 780 case 1952046943: // criteria 781 this.criteria = castToString(value); // StringType 782 return value; 783 default: return super.setProperty(hash, name, value); 784 } 785 786 } 787 788 @Override 789 public Base setProperty(String name, Base value) throws FHIRException { 790 if (name.equals("identifier")) { 791 this.identifier = castToIdentifier(value); // Identifier 792 } else if (name.equals("code")) { 793 this.code = castToCodeableConcept(value); // CodeableConcept 794 } else if (name.equals("name")) { 795 this.name = castToString(value); // StringType 796 } else if (name.equals("description")) { 797 this.description = castToString(value); // StringType 798 } else if (name.equals("criteria")) { 799 this.criteria = castToString(value); // StringType 800 } else 801 return super.setProperty(name, value); 802 return value; 803 } 804 805 @Override 806 public Base makeProperty(int hash, String name) throws FHIRException { 807 switch (hash) { 808 case -1618432855: return getIdentifier(); 809 case 3059181: return getCode(); 810 case 3373707: return getNameElement(); 811 case -1724546052: return getDescriptionElement(); 812 case 1952046943: return getCriteriaElement(); 813 default: return super.makeProperty(hash, name); 814 } 815 816 } 817 818 @Override 819 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 820 switch (hash) { 821 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 822 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 823 case 3373707: /*name*/ return new String[] {"string"}; 824 case -1724546052: /*description*/ return new String[] {"string"}; 825 case 1952046943: /*criteria*/ return new String[] {"string"}; 826 default: return super.getTypesForProperty(hash, name); 827 } 828 829 } 830 831 @Override 832 public Base addChild(String name) throws FHIRException { 833 if (name.equals("identifier")) { 834 this.identifier = new Identifier(); 835 return this.identifier; 836 } 837 else if (name.equals("code")) { 838 this.code = new CodeableConcept(); 839 return this.code; 840 } 841 else if (name.equals("name")) { 842 throw new FHIRException("Cannot call addChild on a primitive type Measure.name"); 843 } 844 else if (name.equals("description")) { 845 throw new FHIRException("Cannot call addChild on a primitive type Measure.description"); 846 } 847 else if (name.equals("criteria")) { 848 throw new FHIRException("Cannot call addChild on a primitive type Measure.criteria"); 849 } 850 else 851 return super.addChild(name); 852 } 853 854 public MeasureGroupPopulationComponent copy() { 855 MeasureGroupPopulationComponent dst = new MeasureGroupPopulationComponent(); 856 copyValues(dst); 857 dst.identifier = identifier == null ? null : identifier.copy(); 858 dst.code = code == null ? null : code.copy(); 859 dst.name = name == null ? null : name.copy(); 860 dst.description = description == null ? null : description.copy(); 861 dst.criteria = criteria == null ? null : criteria.copy(); 862 return dst; 863 } 864 865 @Override 866 public boolean equalsDeep(Base other) { 867 if (!super.equalsDeep(other)) 868 return false; 869 if (!(other instanceof MeasureGroupPopulationComponent)) 870 return false; 871 MeasureGroupPopulationComponent o = (MeasureGroupPopulationComponent) other; 872 return compareDeep(identifier, o.identifier, true) && compareDeep(code, o.code, true) && compareDeep(name, o.name, true) 873 && compareDeep(description, o.description, true) && compareDeep(criteria, o.criteria, true); 874 } 875 876 @Override 877 public boolean equalsShallow(Base other) { 878 if (!super.equalsShallow(other)) 879 return false; 880 if (!(other instanceof MeasureGroupPopulationComponent)) 881 return false; 882 MeasureGroupPopulationComponent o = (MeasureGroupPopulationComponent) other; 883 return compareValues(name, o.name, true) && compareValues(description, o.description, true) && compareValues(criteria, o.criteria, true) 884 ; 885 } 886 887 public boolean isEmpty() { 888 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, code, name, description 889 , criteria); 890 } 891 892 public String fhirType() { 893 return "Measure.group.population"; 894 895 } 896 897 } 898 899 @Block() 900 public static class MeasureGroupStratifierComponent extends BackboneElement implements IBaseBackboneElement { 901 /** 902 * The identifier for the stratifier used to coordinate the reported data back to this stratifier. 903 */ 904 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=false) 905 @Description(shortDefinition="The identifier for the stratifier used to coordinate the reported data back to this stratifier", formalDefinition="The identifier for the stratifier used to coordinate the reported data back to this stratifier." ) 906 protected Identifier identifier; 907 908 /** 909 * The criteria for the stratifier. This must be the name of an expression defined within a referenced library. 910 */ 911 @Child(name = "criteria", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 912 @Description(shortDefinition="How the measure should be stratified", formalDefinition="The criteria for the stratifier. This must be the name of an expression defined within a referenced library." ) 913 protected StringType criteria; 914 915 /** 916 * The path to an element that defines the stratifier, specified as a valid FHIR resource path. 917 */ 918 @Child(name = "path", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 919 @Description(shortDefinition="Path to the stratifier", formalDefinition="The path to an element that defines the stratifier, specified as a valid FHIR resource path." ) 920 protected StringType path; 921 922 private static final long serialVersionUID = -196134448L; 923 924 /** 925 * Constructor 926 */ 927 public MeasureGroupStratifierComponent() { 928 super(); 929 } 930 931 /** 932 * @return {@link #identifier} (The identifier for the stratifier used to coordinate the reported data back to this stratifier.) 933 */ 934 public Identifier getIdentifier() { 935 if (this.identifier == null) 936 if (Configuration.errorOnAutoCreate()) 937 throw new Error("Attempt to auto-create MeasureGroupStratifierComponent.identifier"); 938 else if (Configuration.doAutoCreate()) 939 this.identifier = new Identifier(); // cc 940 return this.identifier; 941 } 942 943 public boolean hasIdentifier() { 944 return this.identifier != null && !this.identifier.isEmpty(); 945 } 946 947 /** 948 * @param value {@link #identifier} (The identifier for the stratifier used to coordinate the reported data back to this stratifier.) 949 */ 950 public MeasureGroupStratifierComponent setIdentifier(Identifier value) { 951 this.identifier = value; 952 return this; 953 } 954 955 /** 956 * @return {@link #criteria} (The criteria for the stratifier. This must be the name of an expression defined within a referenced library.). This is the underlying object with id, value and extensions. The accessor "getCriteria" gives direct access to the value 957 */ 958 public StringType getCriteriaElement() { 959 if (this.criteria == null) 960 if (Configuration.errorOnAutoCreate()) 961 throw new Error("Attempt to auto-create MeasureGroupStratifierComponent.criteria"); 962 else if (Configuration.doAutoCreate()) 963 this.criteria = new StringType(); // bb 964 return this.criteria; 965 } 966 967 public boolean hasCriteriaElement() { 968 return this.criteria != null && !this.criteria.isEmpty(); 969 } 970 971 public boolean hasCriteria() { 972 return this.criteria != null && !this.criteria.isEmpty(); 973 } 974 975 /** 976 * @param value {@link #criteria} (The criteria for the stratifier. This must be the name of an expression defined within a referenced library.). This is the underlying object with id, value and extensions. The accessor "getCriteria" gives direct access to the value 977 */ 978 public MeasureGroupStratifierComponent setCriteriaElement(StringType value) { 979 this.criteria = value; 980 return this; 981 } 982 983 /** 984 * @return The criteria for the stratifier. This must be the name of an expression defined within a referenced library. 985 */ 986 public String getCriteria() { 987 return this.criteria == null ? null : this.criteria.getValue(); 988 } 989 990 /** 991 * @param value The criteria for the stratifier. This must be the name of an expression defined within a referenced library. 992 */ 993 public MeasureGroupStratifierComponent setCriteria(String value) { 994 if (Utilities.noString(value)) 995 this.criteria = null; 996 else { 997 if (this.criteria == null) 998 this.criteria = new StringType(); 999 this.criteria.setValue(value); 1000 } 1001 return this; 1002 } 1003 1004 /** 1005 * @return {@link #path} (The path to an element that defines the stratifier, specified as a valid FHIR resource path.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 1006 */ 1007 public StringType getPathElement() { 1008 if (this.path == null) 1009 if (Configuration.errorOnAutoCreate()) 1010 throw new Error("Attempt to auto-create MeasureGroupStratifierComponent.path"); 1011 else if (Configuration.doAutoCreate()) 1012 this.path = new StringType(); // bb 1013 return this.path; 1014 } 1015 1016 public boolean hasPathElement() { 1017 return this.path != null && !this.path.isEmpty(); 1018 } 1019 1020 public boolean hasPath() { 1021 return this.path != null && !this.path.isEmpty(); 1022 } 1023 1024 /** 1025 * @param value {@link #path} (The path to an element that defines the stratifier, specified as a valid FHIR resource path.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 1026 */ 1027 public MeasureGroupStratifierComponent setPathElement(StringType value) { 1028 this.path = value; 1029 return this; 1030 } 1031 1032 /** 1033 * @return The path to an element that defines the stratifier, specified as a valid FHIR resource path. 1034 */ 1035 public String getPath() { 1036 return this.path == null ? null : this.path.getValue(); 1037 } 1038 1039 /** 1040 * @param value The path to an element that defines the stratifier, specified as a valid FHIR resource path. 1041 */ 1042 public MeasureGroupStratifierComponent setPath(String value) { 1043 if (Utilities.noString(value)) 1044 this.path = null; 1045 else { 1046 if (this.path == null) 1047 this.path = new StringType(); 1048 this.path.setValue(value); 1049 } 1050 return this; 1051 } 1052 1053 protected void listChildren(List<Property> childrenList) { 1054 super.listChildren(childrenList); 1055 childrenList.add(new Property("identifier", "Identifier", "The identifier for the stratifier used to coordinate the reported data back to this stratifier.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1056 childrenList.add(new Property("criteria", "string", "The criteria for the stratifier. This must be the name of an expression defined within a referenced library.", 0, java.lang.Integer.MAX_VALUE, criteria)); 1057 childrenList.add(new Property("path", "string", "The path to an element that defines the stratifier, specified as a valid FHIR resource path.", 0, java.lang.Integer.MAX_VALUE, path)); 1058 } 1059 1060 @Override 1061 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1062 switch (hash) { 1063 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 1064 case 1952046943: /*criteria*/ return this.criteria == null ? new Base[0] : new Base[] {this.criteria}; // StringType 1065 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 1066 default: return super.getProperty(hash, name, checkValid); 1067 } 1068 1069 } 1070 1071 @Override 1072 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1073 switch (hash) { 1074 case -1618432855: // identifier 1075 this.identifier = castToIdentifier(value); // Identifier 1076 return value; 1077 case 1952046943: // criteria 1078 this.criteria = castToString(value); // StringType 1079 return value; 1080 case 3433509: // path 1081 this.path = castToString(value); // StringType 1082 return value; 1083 default: return super.setProperty(hash, name, value); 1084 } 1085 1086 } 1087 1088 @Override 1089 public Base setProperty(String name, Base value) throws FHIRException { 1090 if (name.equals("identifier")) { 1091 this.identifier = castToIdentifier(value); // Identifier 1092 } else if (name.equals("criteria")) { 1093 this.criteria = castToString(value); // StringType 1094 } else if (name.equals("path")) { 1095 this.path = castToString(value); // StringType 1096 } else 1097 return super.setProperty(name, value); 1098 return value; 1099 } 1100 1101 @Override 1102 public Base makeProperty(int hash, String name) throws FHIRException { 1103 switch (hash) { 1104 case -1618432855: return getIdentifier(); 1105 case 1952046943: return getCriteriaElement(); 1106 case 3433509: return getPathElement(); 1107 default: return super.makeProperty(hash, name); 1108 } 1109 1110 } 1111 1112 @Override 1113 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1114 switch (hash) { 1115 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1116 case 1952046943: /*criteria*/ return new String[] {"string"}; 1117 case 3433509: /*path*/ return new String[] {"string"}; 1118 default: return super.getTypesForProperty(hash, name); 1119 } 1120 1121 } 1122 1123 @Override 1124 public Base addChild(String name) throws FHIRException { 1125 if (name.equals("identifier")) { 1126 this.identifier = new Identifier(); 1127 return this.identifier; 1128 } 1129 else if (name.equals("criteria")) { 1130 throw new FHIRException("Cannot call addChild on a primitive type Measure.criteria"); 1131 } 1132 else if (name.equals("path")) { 1133 throw new FHIRException("Cannot call addChild on a primitive type Measure.path"); 1134 } 1135 else 1136 return super.addChild(name); 1137 } 1138 1139 public MeasureGroupStratifierComponent copy() { 1140 MeasureGroupStratifierComponent dst = new MeasureGroupStratifierComponent(); 1141 copyValues(dst); 1142 dst.identifier = identifier == null ? null : identifier.copy(); 1143 dst.criteria = criteria == null ? null : criteria.copy(); 1144 dst.path = path == null ? null : path.copy(); 1145 return dst; 1146 } 1147 1148 @Override 1149 public boolean equalsDeep(Base other) { 1150 if (!super.equalsDeep(other)) 1151 return false; 1152 if (!(other instanceof MeasureGroupStratifierComponent)) 1153 return false; 1154 MeasureGroupStratifierComponent o = (MeasureGroupStratifierComponent) other; 1155 return compareDeep(identifier, o.identifier, true) && compareDeep(criteria, o.criteria, true) && compareDeep(path, o.path, true) 1156 ; 1157 } 1158 1159 @Override 1160 public boolean equalsShallow(Base other) { 1161 if (!super.equalsShallow(other)) 1162 return false; 1163 if (!(other instanceof MeasureGroupStratifierComponent)) 1164 return false; 1165 MeasureGroupStratifierComponent o = (MeasureGroupStratifierComponent) other; 1166 return compareValues(criteria, o.criteria, true) && compareValues(path, o.path, true); 1167 } 1168 1169 public boolean isEmpty() { 1170 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, criteria, path 1171 ); 1172 } 1173 1174 public String fhirType() { 1175 return "Measure.group.stratifier"; 1176 1177 } 1178 1179 } 1180 1181 @Block() 1182 public static class MeasureSupplementalDataComponent extends BackboneElement implements IBaseBackboneElement { 1183 /** 1184 * An identifier for the supplemental data. 1185 */ 1186 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=false) 1187 @Description(shortDefinition="Identifier, unique within the measure", formalDefinition="An identifier for the supplemental data." ) 1188 protected Identifier identifier; 1189 1190 /** 1191 * An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation. 1192 */ 1193 @Child(name = "usage", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1194 @Description(shortDefinition="supplemental-data | risk-adjustment-factor", formalDefinition="An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation." ) 1195 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-data-usage") 1196 protected List<CodeableConcept> usage; 1197 1198 /** 1199 * The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element. 1200 */ 1201 @Child(name = "criteria", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1202 @Description(shortDefinition="Expression describing additional data to be reported", formalDefinition="The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element." ) 1203 protected StringType criteria; 1204 1205 /** 1206 * The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path. 1207 */ 1208 @Child(name = "path", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1209 @Description(shortDefinition="Path to the supplemental data element", formalDefinition="The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path." ) 1210 protected StringType path; 1211 1212 private static final long serialVersionUID = -101576770L; 1213 1214 /** 1215 * Constructor 1216 */ 1217 public MeasureSupplementalDataComponent() { 1218 super(); 1219 } 1220 1221 /** 1222 * @return {@link #identifier} (An identifier for the supplemental data.) 1223 */ 1224 public Identifier getIdentifier() { 1225 if (this.identifier == null) 1226 if (Configuration.errorOnAutoCreate()) 1227 throw new Error("Attempt to auto-create MeasureSupplementalDataComponent.identifier"); 1228 else if (Configuration.doAutoCreate()) 1229 this.identifier = new Identifier(); // cc 1230 return this.identifier; 1231 } 1232 1233 public boolean hasIdentifier() { 1234 return this.identifier != null && !this.identifier.isEmpty(); 1235 } 1236 1237 /** 1238 * @param value {@link #identifier} (An identifier for the supplemental data.) 1239 */ 1240 public MeasureSupplementalDataComponent setIdentifier(Identifier value) { 1241 this.identifier = value; 1242 return this; 1243 } 1244 1245 /** 1246 * @return {@link #usage} (An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation.) 1247 */ 1248 public List<CodeableConcept> getUsage() { 1249 if (this.usage == null) 1250 this.usage = new ArrayList<CodeableConcept>(); 1251 return this.usage; 1252 } 1253 1254 /** 1255 * @return Returns a reference to <code>this</code> for easy method chaining 1256 */ 1257 public MeasureSupplementalDataComponent setUsage(List<CodeableConcept> theUsage) { 1258 this.usage = theUsage; 1259 return this; 1260 } 1261 1262 public boolean hasUsage() { 1263 if (this.usage == null) 1264 return false; 1265 for (CodeableConcept item : this.usage) 1266 if (!item.isEmpty()) 1267 return true; 1268 return false; 1269 } 1270 1271 public CodeableConcept addUsage() { //3 1272 CodeableConcept t = new CodeableConcept(); 1273 if (this.usage == null) 1274 this.usage = new ArrayList<CodeableConcept>(); 1275 this.usage.add(t); 1276 return t; 1277 } 1278 1279 public MeasureSupplementalDataComponent addUsage(CodeableConcept t) { //3 1280 if (t == null) 1281 return this; 1282 if (this.usage == null) 1283 this.usage = new ArrayList<CodeableConcept>(); 1284 this.usage.add(t); 1285 return this; 1286 } 1287 1288 /** 1289 * @return The first repetition of repeating field {@link #usage}, creating it if it does not already exist 1290 */ 1291 public CodeableConcept getUsageFirstRep() { 1292 if (getUsage().isEmpty()) { 1293 addUsage(); 1294 } 1295 return getUsage().get(0); 1296 } 1297 1298 /** 1299 * @return {@link #criteria} (The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element.). This is the underlying object with id, value and extensions. The accessor "getCriteria" gives direct access to the value 1300 */ 1301 public StringType getCriteriaElement() { 1302 if (this.criteria == null) 1303 if (Configuration.errorOnAutoCreate()) 1304 throw new Error("Attempt to auto-create MeasureSupplementalDataComponent.criteria"); 1305 else if (Configuration.doAutoCreate()) 1306 this.criteria = new StringType(); // bb 1307 return this.criteria; 1308 } 1309 1310 public boolean hasCriteriaElement() { 1311 return this.criteria != null && !this.criteria.isEmpty(); 1312 } 1313 1314 public boolean hasCriteria() { 1315 return this.criteria != null && !this.criteria.isEmpty(); 1316 } 1317 1318 /** 1319 * @param value {@link #criteria} (The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element.). This is the underlying object with id, value and extensions. The accessor "getCriteria" gives direct access to the value 1320 */ 1321 public MeasureSupplementalDataComponent setCriteriaElement(StringType value) { 1322 this.criteria = value; 1323 return this; 1324 } 1325 1326 /** 1327 * @return The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element. 1328 */ 1329 public String getCriteria() { 1330 return this.criteria == null ? null : this.criteria.getValue(); 1331 } 1332 1333 /** 1334 * @param value The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element. 1335 */ 1336 public MeasureSupplementalDataComponent setCriteria(String value) { 1337 if (Utilities.noString(value)) 1338 this.criteria = null; 1339 else { 1340 if (this.criteria == null) 1341 this.criteria = new StringType(); 1342 this.criteria.setValue(value); 1343 } 1344 return this; 1345 } 1346 1347 /** 1348 * @return {@link #path} (The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 1349 */ 1350 public StringType getPathElement() { 1351 if (this.path == null) 1352 if (Configuration.errorOnAutoCreate()) 1353 throw new Error("Attempt to auto-create MeasureSupplementalDataComponent.path"); 1354 else if (Configuration.doAutoCreate()) 1355 this.path = new StringType(); // bb 1356 return this.path; 1357 } 1358 1359 public boolean hasPathElement() { 1360 return this.path != null && !this.path.isEmpty(); 1361 } 1362 1363 public boolean hasPath() { 1364 return this.path != null && !this.path.isEmpty(); 1365 } 1366 1367 /** 1368 * @param value {@link #path} (The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 1369 */ 1370 public MeasureSupplementalDataComponent setPathElement(StringType value) { 1371 this.path = value; 1372 return this; 1373 } 1374 1375 /** 1376 * @return The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path. 1377 */ 1378 public String getPath() { 1379 return this.path == null ? null : this.path.getValue(); 1380 } 1381 1382 /** 1383 * @param value The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path. 1384 */ 1385 public MeasureSupplementalDataComponent setPath(String value) { 1386 if (Utilities.noString(value)) 1387 this.path = null; 1388 else { 1389 if (this.path == null) 1390 this.path = new StringType(); 1391 this.path.setValue(value); 1392 } 1393 return this; 1394 } 1395 1396 protected void listChildren(List<Property> childrenList) { 1397 super.listChildren(childrenList); 1398 childrenList.add(new Property("identifier", "Identifier", "An identifier for the supplemental data.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1399 childrenList.add(new Property("usage", "CodeableConcept", "An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation.", 0, java.lang.Integer.MAX_VALUE, usage)); 1400 childrenList.add(new Property("criteria", "string", "The criteria for the supplemental data. This must be the name of a valid expression defined within a referenced library, and defines the data to be returned for this element.", 0, java.lang.Integer.MAX_VALUE, criteria)); 1401 childrenList.add(new Property("path", "string", "The supplemental data to be supplied as part of the measure response, specified as a valid FHIR Resource Path.", 0, java.lang.Integer.MAX_VALUE, path)); 1402 } 1403 1404 @Override 1405 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1406 switch (hash) { 1407 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 1408 case 111574433: /*usage*/ return this.usage == null ? new Base[0] : this.usage.toArray(new Base[this.usage.size()]); // CodeableConcept 1409 case 1952046943: /*criteria*/ return this.criteria == null ? new Base[0] : new Base[] {this.criteria}; // StringType 1410 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 1411 default: return super.getProperty(hash, name, checkValid); 1412 } 1413 1414 } 1415 1416 @Override 1417 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1418 switch (hash) { 1419 case -1618432855: // identifier 1420 this.identifier = castToIdentifier(value); // Identifier 1421 return value; 1422 case 111574433: // usage 1423 this.getUsage().add(castToCodeableConcept(value)); // CodeableConcept 1424 return value; 1425 case 1952046943: // criteria 1426 this.criteria = castToString(value); // StringType 1427 return value; 1428 case 3433509: // path 1429 this.path = castToString(value); // StringType 1430 return value; 1431 default: return super.setProperty(hash, name, value); 1432 } 1433 1434 } 1435 1436 @Override 1437 public Base setProperty(String name, Base value) throws FHIRException { 1438 if (name.equals("identifier")) { 1439 this.identifier = castToIdentifier(value); // Identifier 1440 } else if (name.equals("usage")) { 1441 this.getUsage().add(castToCodeableConcept(value)); 1442 } else if (name.equals("criteria")) { 1443 this.criteria = castToString(value); // StringType 1444 } else if (name.equals("path")) { 1445 this.path = castToString(value); // StringType 1446 } else 1447 return super.setProperty(name, value); 1448 return value; 1449 } 1450 1451 @Override 1452 public Base makeProperty(int hash, String name) throws FHIRException { 1453 switch (hash) { 1454 case -1618432855: return getIdentifier(); 1455 case 111574433: return addUsage(); 1456 case 1952046943: return getCriteriaElement(); 1457 case 3433509: return getPathElement(); 1458 default: return super.makeProperty(hash, name); 1459 } 1460 1461 } 1462 1463 @Override 1464 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1465 switch (hash) { 1466 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1467 case 111574433: /*usage*/ return new String[] {"CodeableConcept"}; 1468 case 1952046943: /*criteria*/ return new String[] {"string"}; 1469 case 3433509: /*path*/ return new String[] {"string"}; 1470 default: return super.getTypesForProperty(hash, name); 1471 } 1472 1473 } 1474 1475 @Override 1476 public Base addChild(String name) throws FHIRException { 1477 if (name.equals("identifier")) { 1478 this.identifier = new Identifier(); 1479 return this.identifier; 1480 } 1481 else if (name.equals("usage")) { 1482 return addUsage(); 1483 } 1484 else if (name.equals("criteria")) { 1485 throw new FHIRException("Cannot call addChild on a primitive type Measure.criteria"); 1486 } 1487 else if (name.equals("path")) { 1488 throw new FHIRException("Cannot call addChild on a primitive type Measure.path"); 1489 } 1490 else 1491 return super.addChild(name); 1492 } 1493 1494 public MeasureSupplementalDataComponent copy() { 1495 MeasureSupplementalDataComponent dst = new MeasureSupplementalDataComponent(); 1496 copyValues(dst); 1497 dst.identifier = identifier == null ? null : identifier.copy(); 1498 if (usage != null) { 1499 dst.usage = new ArrayList<CodeableConcept>(); 1500 for (CodeableConcept i : usage) 1501 dst.usage.add(i.copy()); 1502 }; 1503 dst.criteria = criteria == null ? null : criteria.copy(); 1504 dst.path = path == null ? null : path.copy(); 1505 return dst; 1506 } 1507 1508 @Override 1509 public boolean equalsDeep(Base other) { 1510 if (!super.equalsDeep(other)) 1511 return false; 1512 if (!(other instanceof MeasureSupplementalDataComponent)) 1513 return false; 1514 MeasureSupplementalDataComponent o = (MeasureSupplementalDataComponent) other; 1515 return compareDeep(identifier, o.identifier, true) && compareDeep(usage, o.usage, true) && compareDeep(criteria, o.criteria, true) 1516 && compareDeep(path, o.path, true); 1517 } 1518 1519 @Override 1520 public boolean equalsShallow(Base other) { 1521 if (!super.equalsShallow(other)) 1522 return false; 1523 if (!(other instanceof MeasureSupplementalDataComponent)) 1524 return false; 1525 MeasureSupplementalDataComponent o = (MeasureSupplementalDataComponent) other; 1526 return compareValues(criteria, o.criteria, true) && compareValues(path, o.path, true); 1527 } 1528 1529 public boolean isEmpty() { 1530 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, usage, criteria 1531 , path); 1532 } 1533 1534 public String fhirType() { 1535 return "Measure.supplementalData"; 1536 1537 } 1538 1539 } 1540 1541 /** 1542 * A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance. 1543 */ 1544 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1545 @Description(shortDefinition="Additional identifier for the measure", formalDefinition="A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 1546 protected List<Identifier> identifier; 1547 1548 /** 1549 * Explaination of why this measure is needed and why it has been designed as it has. 1550 */ 1551 @Child(name = "purpose", type = {MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1552 @Description(shortDefinition="Why this measure is defined", formalDefinition="Explaination of why this measure is needed and why it has been designed as it has." ) 1553 protected MarkdownType purpose; 1554 1555 /** 1556 * A detailed description of how the measure is used from a clinical perspective. 1557 */ 1558 @Child(name = "usage", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1559 @Description(shortDefinition="Describes the clinical usage of the measure", formalDefinition="A detailed description of how the measure is used from a clinical perspective." ) 1560 protected StringType usage; 1561 1562 /** 1563 * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1564 */ 1565 @Child(name = "approvalDate", type = {DateType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1566 @Description(shortDefinition="When the measure 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." ) 1567 protected DateType approvalDate; 1568 1569 /** 1570 * The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date. 1571 */ 1572 @Child(name = "lastReviewDate", type = {DateType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1573 @Description(shortDefinition="When the measure was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date." ) 1574 protected DateType lastReviewDate; 1575 1576 /** 1577 * The period during which the measure content was or is planned to be in active use. 1578 */ 1579 @Child(name = "effectivePeriod", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=true) 1580 @Description(shortDefinition="When the measure is expected to be used", formalDefinition="The period during which the measure content was or is planned to be in active use." ) 1581 protected Period effectivePeriod; 1582 1583 /** 1584 * Descriptive topics related to the content of the measure. Topics provide a high-level categorization of the type of the measure that can be useful for filtering and searching. 1585 */ 1586 @Child(name = "topic", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1587 @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc", formalDefinition="Descriptive topics related to the content of the measure. Topics provide a high-level categorization of the type of the measure that can be useful for filtering and searching." ) 1588 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") 1589 protected List<CodeableConcept> topic; 1590 1591 /** 1592 * A contributor to the content of the measure, including authors, editors, reviewers, and endorsers. 1593 */ 1594 @Child(name = "contributor", type = {Contributor.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1595 @Description(shortDefinition="A content contributor", formalDefinition="A contributor to the content of the measure, including authors, editors, reviewers, and endorsers." ) 1596 protected List<Contributor> contributor; 1597 1598 /** 1599 * A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. 1600 */ 1601 @Child(name = "copyright", type = {MarkdownType.class}, order=8, min=0, max=1, modifier=false, summary=false) 1602 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure." ) 1603 protected MarkdownType copyright; 1604 1605 /** 1606 * Related artifacts such as additional documentation, justification, or bibliographic references. 1607 */ 1608 @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1609 @Description(shortDefinition="Additional documentation, citations, etc", formalDefinition="Related artifacts such as additional documentation, justification, or bibliographic references." ) 1610 protected List<RelatedArtifact> relatedArtifact; 1611 1612 /** 1613 * A reference to a Library resource containing the formal logic used by the measure. 1614 */ 1615 @Child(name = "library", type = {Library.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1616 @Description(shortDefinition="Logic used by the measure", formalDefinition="A reference to a Library resource containing the formal logic used by the measure." ) 1617 protected List<Reference> library; 1618 /** 1619 * The actual objects that are the target of the reference (A reference to a Library resource containing the formal logic used by the measure.) 1620 */ 1621 protected List<Library> libraryTarget; 1622 1623 1624 /** 1625 * Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure. 1626 */ 1627 @Child(name = "disclaimer", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=true) 1628 @Description(shortDefinition="Disclaimer for use of the measure or its referenced content", formalDefinition="Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure." ) 1629 protected MarkdownType disclaimer; 1630 1631 /** 1632 * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. 1633 */ 1634 @Child(name = "scoring", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=true) 1635 @Description(shortDefinition="proportion | ratio | continuous-variable | cohort", formalDefinition="Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented." ) 1636 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-scoring") 1637 protected CodeableConcept scoring; 1638 1639 /** 1640 * If this is a composite measure, the scoring method used to combine the component measures to determine the composite score. 1641 */ 1642 @Child(name = "compositeScoring", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=false, summary=true) 1643 @Description(shortDefinition="opportunity | all-or-nothing | linear | weighted", formalDefinition="If this is a composite measure, the scoring method used to combine the component measures to determine the composite score." ) 1644 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/composite-measure-scoring") 1645 protected CodeableConcept compositeScoring; 1646 1647 /** 1648 * Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization. 1649 */ 1650 @Child(name = "type", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1651 @Description(shortDefinition="process | outcome | structure | patient-reported-outcome | composite", formalDefinition="Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization." ) 1652 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-type") 1653 protected List<CodeableConcept> type; 1654 1655 /** 1656 * A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results. 1657 */ 1658 @Child(name = "riskAdjustment", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=true) 1659 @Description(shortDefinition="How is risk adjustment applied for this measure", formalDefinition="A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results." ) 1660 protected StringType riskAdjustment; 1661 1662 /** 1663 * Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result. 1664 */ 1665 @Child(name = "rateAggregation", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=true) 1666 @Description(shortDefinition="How is rate aggregation performed for this measure", formalDefinition="Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result." ) 1667 protected StringType rateAggregation; 1668 1669 /** 1670 * Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. 1671 */ 1672 @Child(name = "rationale", type = {MarkdownType.class}, order=17, min=0, max=1, modifier=false, summary=true) 1673 @Description(shortDefinition="Why does this measure exist", formalDefinition="Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence." ) 1674 protected MarkdownType rationale; 1675 1676 /** 1677 * Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. 1678 */ 1679 @Child(name = "clinicalRecommendationStatement", type = {MarkdownType.class}, order=18, min=0, max=1, modifier=false, summary=true) 1680 @Description(shortDefinition="Summary of clinical guidelines", formalDefinition="Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure." ) 1681 protected MarkdownType clinicalRecommendationStatement; 1682 1683 /** 1684 * Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range). 1685 */ 1686 @Child(name = "improvementNotation", type = {StringType.class}, order=19, min=0, max=1, modifier=false, summary=true) 1687 @Description(shortDefinition="Improvement notation for the measure, e.g. higher score indicates better quality", formalDefinition="Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range)." ) 1688 protected StringType improvementNotation; 1689 1690 /** 1691 * Provides a description of an individual term used within the measure. 1692 */ 1693 @Child(name = "definition", type = {MarkdownType.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1694 @Description(shortDefinition="Defined terms used in the measure documentation", formalDefinition="Provides a description of an individual term used within the measure." ) 1695 protected List<MarkdownType> definition; 1696 1697 /** 1698 * Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. 1699 */ 1700 @Child(name = "guidance", type = {MarkdownType.class}, order=21, min=0, max=1, modifier=false, summary=true) 1701 @Description(shortDefinition="Additional guidance for implementers", formalDefinition="Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure." ) 1702 protected MarkdownType guidance; 1703 1704 /** 1705 * The measure set, e.g. Preventive Care and Screening. 1706 */ 1707 @Child(name = "set", type = {StringType.class}, order=22, min=0, max=1, modifier=false, summary=true) 1708 @Description(shortDefinition="The measure set, e.g. Preventive Care and Screening", formalDefinition="The measure set, e.g. Preventive Care and Screening." ) 1709 protected StringType set; 1710 1711 /** 1712 * A group of population criteria for the measure. 1713 */ 1714 @Child(name = "group", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1715 @Description(shortDefinition="Population criteria group", formalDefinition="A group of population criteria for the measure." ) 1716 protected List<MeasureGroupComponent> group; 1717 1718 /** 1719 * The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path. 1720 */ 1721 @Child(name = "supplementalData", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1722 @Description(shortDefinition="What other data should be reported with the measure", formalDefinition="The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path." ) 1723 protected List<MeasureSupplementalDataComponent> supplementalData; 1724 1725 private static final long serialVersionUID = -875918689L; 1726 1727 /** 1728 * Constructor 1729 */ 1730 public Measure() { 1731 super(); 1732 } 1733 1734 /** 1735 * Constructor 1736 */ 1737 public Measure(Enumeration<PublicationStatus> status) { 1738 super(); 1739 this.status = status; 1740 } 1741 1742 /** 1743 * @return {@link #url} (An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this measure is (or will be) published. The URL SHOULD include the major version of the measure. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1744 */ 1745 public UriType getUrlElement() { 1746 if (this.url == null) 1747 if (Configuration.errorOnAutoCreate()) 1748 throw new Error("Attempt to auto-create Measure.url"); 1749 else if (Configuration.doAutoCreate()) 1750 this.url = new UriType(); // bb 1751 return this.url; 1752 } 1753 1754 public boolean hasUrlElement() { 1755 return this.url != null && !this.url.isEmpty(); 1756 } 1757 1758 public boolean hasUrl() { 1759 return this.url != null && !this.url.isEmpty(); 1760 } 1761 1762 /** 1763 * @param value {@link #url} (An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this measure is (or will be) published. The URL SHOULD include the major version of the measure. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1764 */ 1765 public Measure setUrlElement(UriType value) { 1766 this.url = value; 1767 return this; 1768 } 1769 1770 /** 1771 * @return An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this measure is (or will be) published. The URL SHOULD include the major version of the measure. For more information see [Technical and Business Versions](resource.html#versions). 1772 */ 1773 public String getUrl() { 1774 return this.url == null ? null : this.url.getValue(); 1775 } 1776 1777 /** 1778 * @param value An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this measure is (or will be) published. The URL SHOULD include the major version of the measure. For more information see [Technical and Business Versions](resource.html#versions). 1779 */ 1780 public Measure setUrl(String value) { 1781 if (Utilities.noString(value)) 1782 this.url = null; 1783 else { 1784 if (this.url == null) 1785 this.url = new UriType(); 1786 this.url.setValue(value); 1787 } 1788 return this; 1789 } 1790 1791 /** 1792 * @return {@link #identifier} (A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1793 */ 1794 public List<Identifier> getIdentifier() { 1795 if (this.identifier == null) 1796 this.identifier = new ArrayList<Identifier>(); 1797 return this.identifier; 1798 } 1799 1800 /** 1801 * @return Returns a reference to <code>this</code> for easy method chaining 1802 */ 1803 public Measure setIdentifier(List<Identifier> theIdentifier) { 1804 this.identifier = theIdentifier; 1805 return this; 1806 } 1807 1808 public boolean hasIdentifier() { 1809 if (this.identifier == null) 1810 return false; 1811 for (Identifier item : this.identifier) 1812 if (!item.isEmpty()) 1813 return true; 1814 return false; 1815 } 1816 1817 public Identifier addIdentifier() { //3 1818 Identifier t = new Identifier(); 1819 if (this.identifier == null) 1820 this.identifier = new ArrayList<Identifier>(); 1821 this.identifier.add(t); 1822 return t; 1823 } 1824 1825 public Measure addIdentifier(Identifier t) { //3 1826 if (t == null) 1827 return this; 1828 if (this.identifier == null) 1829 this.identifier = new ArrayList<Identifier>(); 1830 this.identifier.add(t); 1831 return this; 1832 } 1833 1834 /** 1835 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1836 */ 1837 public Identifier getIdentifierFirstRep() { 1838 if (getIdentifier().isEmpty()) { 1839 addIdentifier(); 1840 } 1841 return getIdentifier().get(0); 1842 } 1843 1844 /** 1845 * @return {@link #version} (The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure 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 1846 */ 1847 public StringType getVersionElement() { 1848 if (this.version == null) 1849 if (Configuration.errorOnAutoCreate()) 1850 throw new Error("Attempt to auto-create Measure.version"); 1851 else if (Configuration.doAutoCreate()) 1852 this.version = new StringType(); // bb 1853 return this.version; 1854 } 1855 1856 public boolean hasVersionElement() { 1857 return this.version != null && !this.version.isEmpty(); 1858 } 1859 1860 public boolean hasVersion() { 1861 return this.version != null && !this.version.isEmpty(); 1862 } 1863 1864 /** 1865 * @param value {@link #version} (The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure 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 1866 */ 1867 public Measure setVersionElement(StringType value) { 1868 this.version = value; 1869 return this; 1870 } 1871 1872 /** 1873 * @return The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure 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. 1874 */ 1875 public String getVersion() { 1876 return this.version == null ? null : this.version.getValue(); 1877 } 1878 1879 /** 1880 * @param value The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure 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. 1881 */ 1882 public Measure setVersion(String value) { 1883 if (Utilities.noString(value)) 1884 this.version = null; 1885 else { 1886 if (this.version == null) 1887 this.version = new StringType(); 1888 this.version.setValue(value); 1889 } 1890 return this; 1891 } 1892 1893 /** 1894 * @return {@link #name} (A natural language name identifying the measure. 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 1895 */ 1896 public StringType getNameElement() { 1897 if (this.name == null) 1898 if (Configuration.errorOnAutoCreate()) 1899 throw new Error("Attempt to auto-create Measure.name"); 1900 else if (Configuration.doAutoCreate()) 1901 this.name = new StringType(); // bb 1902 return this.name; 1903 } 1904 1905 public boolean hasNameElement() { 1906 return this.name != null && !this.name.isEmpty(); 1907 } 1908 1909 public boolean hasName() { 1910 return this.name != null && !this.name.isEmpty(); 1911 } 1912 1913 /** 1914 * @param value {@link #name} (A natural language name identifying the measure. 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 1915 */ 1916 public Measure setNameElement(StringType value) { 1917 this.name = value; 1918 return this; 1919 } 1920 1921 /** 1922 * @return A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1923 */ 1924 public String getName() { 1925 return this.name == null ? null : this.name.getValue(); 1926 } 1927 1928 /** 1929 * @param value A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1930 */ 1931 public Measure setName(String value) { 1932 if (Utilities.noString(value)) 1933 this.name = null; 1934 else { 1935 if (this.name == null) 1936 this.name = new StringType(); 1937 this.name.setValue(value); 1938 } 1939 return this; 1940 } 1941 1942 /** 1943 * @return {@link #title} (A short, descriptive, user-friendly title for the measure.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1944 */ 1945 public StringType getTitleElement() { 1946 if (this.title == null) 1947 if (Configuration.errorOnAutoCreate()) 1948 throw new Error("Attempt to auto-create Measure.title"); 1949 else if (Configuration.doAutoCreate()) 1950 this.title = new StringType(); // bb 1951 return this.title; 1952 } 1953 1954 public boolean hasTitleElement() { 1955 return this.title != null && !this.title.isEmpty(); 1956 } 1957 1958 public boolean hasTitle() { 1959 return this.title != null && !this.title.isEmpty(); 1960 } 1961 1962 /** 1963 * @param value {@link #title} (A short, descriptive, user-friendly title for the measure.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1964 */ 1965 public Measure setTitleElement(StringType value) { 1966 this.title = value; 1967 return this; 1968 } 1969 1970 /** 1971 * @return A short, descriptive, user-friendly title for the measure. 1972 */ 1973 public String getTitle() { 1974 return this.title == null ? null : this.title.getValue(); 1975 } 1976 1977 /** 1978 * @param value A short, descriptive, user-friendly title for the measure. 1979 */ 1980 public Measure setTitle(String value) { 1981 if (Utilities.noString(value)) 1982 this.title = null; 1983 else { 1984 if (this.title == null) 1985 this.title = new StringType(); 1986 this.title.setValue(value); 1987 } 1988 return this; 1989 } 1990 1991 /** 1992 * @return {@link #status} (The status of this measure. 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 1993 */ 1994 public Enumeration<PublicationStatus> getStatusElement() { 1995 if (this.status == null) 1996 if (Configuration.errorOnAutoCreate()) 1997 throw new Error("Attempt to auto-create Measure.status"); 1998 else if (Configuration.doAutoCreate()) 1999 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 2000 return this.status; 2001 } 2002 2003 public boolean hasStatusElement() { 2004 return this.status != null && !this.status.isEmpty(); 2005 } 2006 2007 public boolean hasStatus() { 2008 return this.status != null && !this.status.isEmpty(); 2009 } 2010 2011 /** 2012 * @param value {@link #status} (The status of this measure. 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 2013 */ 2014 public Measure setStatusElement(Enumeration<PublicationStatus> value) { 2015 this.status = value; 2016 return this; 2017 } 2018 2019 /** 2020 * @return The status of this measure. Enables tracking the life-cycle of the content. 2021 */ 2022 public PublicationStatus getStatus() { 2023 return this.status == null ? null : this.status.getValue(); 2024 } 2025 2026 /** 2027 * @param value The status of this measure. Enables tracking the life-cycle of the content. 2028 */ 2029 public Measure setStatus(PublicationStatus value) { 2030 if (this.status == null) 2031 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 2032 this.status.setValue(value); 2033 return this; 2034 } 2035 2036 /** 2037 * @return {@link #experimental} (A boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2038 */ 2039 public BooleanType getExperimentalElement() { 2040 if (this.experimental == null) 2041 if (Configuration.errorOnAutoCreate()) 2042 throw new Error("Attempt to auto-create Measure.experimental"); 2043 else if (Configuration.doAutoCreate()) 2044 this.experimental = new BooleanType(); // bb 2045 return this.experimental; 2046 } 2047 2048 public boolean hasExperimentalElement() { 2049 return this.experimental != null && !this.experimental.isEmpty(); 2050 } 2051 2052 public boolean hasExperimental() { 2053 return this.experimental != null && !this.experimental.isEmpty(); 2054 } 2055 2056 /** 2057 * @param value {@link #experimental} (A boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2058 */ 2059 public Measure setExperimentalElement(BooleanType value) { 2060 this.experimental = value; 2061 return this; 2062 } 2063 2064 /** 2065 * @return A boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 2066 */ 2067 public boolean getExperimental() { 2068 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 2069 } 2070 2071 /** 2072 * @param value A boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 2073 */ 2074 public Measure setExperimental(boolean value) { 2075 if (this.experimental == null) 2076 this.experimental = new BooleanType(); 2077 this.experimental.setValue(value); 2078 return this; 2079 } 2080 2081 /** 2082 * @return {@link #date} (The date (and optionally time) when the measure was published. The date must change if and 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 measure changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2083 */ 2084 public DateTimeType getDateElement() { 2085 if (this.date == null) 2086 if (Configuration.errorOnAutoCreate()) 2087 throw new Error("Attempt to auto-create Measure.date"); 2088 else if (Configuration.doAutoCreate()) 2089 this.date = new DateTimeType(); // bb 2090 return this.date; 2091 } 2092 2093 public boolean hasDateElement() { 2094 return this.date != null && !this.date.isEmpty(); 2095 } 2096 2097 public boolean hasDate() { 2098 return this.date != null && !this.date.isEmpty(); 2099 } 2100 2101 /** 2102 * @param value {@link #date} (The date (and optionally time) when the measure was published. The date must change if and 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 measure changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2103 */ 2104 public Measure setDateElement(DateTimeType value) { 2105 this.date = value; 2106 return this; 2107 } 2108 2109 /** 2110 * @return The date (and optionally time) when the measure was published. The date must change if and 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 measure changes. 2111 */ 2112 public Date getDate() { 2113 return this.date == null ? null : this.date.getValue(); 2114 } 2115 2116 /** 2117 * @param value The date (and optionally time) when the measure was published. The date must change if and 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 measure changes. 2118 */ 2119 public Measure setDate(Date value) { 2120 if (value == null) 2121 this.date = null; 2122 else { 2123 if (this.date == null) 2124 this.date = new DateTimeType(); 2125 this.date.setValue(value); 2126 } 2127 return this; 2128 } 2129 2130 /** 2131 * @return {@link #publisher} (The name of the individual or organization that published the measure.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2132 */ 2133 public StringType getPublisherElement() { 2134 if (this.publisher == null) 2135 if (Configuration.errorOnAutoCreate()) 2136 throw new Error("Attempt to auto-create Measure.publisher"); 2137 else if (Configuration.doAutoCreate()) 2138 this.publisher = new StringType(); // bb 2139 return this.publisher; 2140 } 2141 2142 public boolean hasPublisherElement() { 2143 return this.publisher != null && !this.publisher.isEmpty(); 2144 } 2145 2146 public boolean hasPublisher() { 2147 return this.publisher != null && !this.publisher.isEmpty(); 2148 } 2149 2150 /** 2151 * @param value {@link #publisher} (The name of the individual or organization that published the measure.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2152 */ 2153 public Measure setPublisherElement(StringType value) { 2154 this.publisher = value; 2155 return this; 2156 } 2157 2158 /** 2159 * @return The name of the individual or organization that published the measure. 2160 */ 2161 public String getPublisher() { 2162 return this.publisher == null ? null : this.publisher.getValue(); 2163 } 2164 2165 /** 2166 * @param value The name of the individual or organization that published the measure. 2167 */ 2168 public Measure setPublisher(String value) { 2169 if (Utilities.noString(value)) 2170 this.publisher = null; 2171 else { 2172 if (this.publisher == null) 2173 this.publisher = new StringType(); 2174 this.publisher.setValue(value); 2175 } 2176 return this; 2177 } 2178 2179 /** 2180 * @return {@link #description} (A free text natural language description of the measure from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2181 */ 2182 public MarkdownType getDescriptionElement() { 2183 if (this.description == null) 2184 if (Configuration.errorOnAutoCreate()) 2185 throw new Error("Attempt to auto-create Measure.description"); 2186 else if (Configuration.doAutoCreate()) 2187 this.description = new MarkdownType(); // bb 2188 return this.description; 2189 } 2190 2191 public boolean hasDescriptionElement() { 2192 return this.description != null && !this.description.isEmpty(); 2193 } 2194 2195 public boolean hasDescription() { 2196 return this.description != null && !this.description.isEmpty(); 2197 } 2198 2199 /** 2200 * @param value {@link #description} (A free text natural language description of the measure from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2201 */ 2202 public Measure setDescriptionElement(MarkdownType value) { 2203 this.description = value; 2204 return this; 2205 } 2206 2207 /** 2208 * @return A free text natural language description of the measure from a consumer's perspective. 2209 */ 2210 public String getDescription() { 2211 return this.description == null ? null : this.description.getValue(); 2212 } 2213 2214 /** 2215 * @param value A free text natural language description of the measure from a consumer's perspective. 2216 */ 2217 public Measure setDescription(String value) { 2218 if (value == null) 2219 this.description = null; 2220 else { 2221 if (this.description == null) 2222 this.description = new MarkdownType(); 2223 this.description.setValue(value); 2224 } 2225 return this; 2226 } 2227 2228 /** 2229 * @return {@link #purpose} (Explaination of why this measure is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 2230 */ 2231 public MarkdownType getPurposeElement() { 2232 if (this.purpose == null) 2233 if (Configuration.errorOnAutoCreate()) 2234 throw new Error("Attempt to auto-create Measure.purpose"); 2235 else if (Configuration.doAutoCreate()) 2236 this.purpose = new MarkdownType(); // bb 2237 return this.purpose; 2238 } 2239 2240 public boolean hasPurposeElement() { 2241 return this.purpose != null && !this.purpose.isEmpty(); 2242 } 2243 2244 public boolean hasPurpose() { 2245 return this.purpose != null && !this.purpose.isEmpty(); 2246 } 2247 2248 /** 2249 * @param value {@link #purpose} (Explaination of why this measure is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 2250 */ 2251 public Measure setPurposeElement(MarkdownType value) { 2252 this.purpose = value; 2253 return this; 2254 } 2255 2256 /** 2257 * @return Explaination of why this measure is needed and why it has been designed as it has. 2258 */ 2259 public String getPurpose() { 2260 return this.purpose == null ? null : this.purpose.getValue(); 2261 } 2262 2263 /** 2264 * @param value Explaination of why this measure is needed and why it has been designed as it has. 2265 */ 2266 public Measure setPurpose(String value) { 2267 if (value == null) 2268 this.purpose = null; 2269 else { 2270 if (this.purpose == null) 2271 this.purpose = new MarkdownType(); 2272 this.purpose.setValue(value); 2273 } 2274 return this; 2275 } 2276 2277 /** 2278 * @return {@link #usage} (A detailed description of how the measure is used from a clinical perspective.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value 2279 */ 2280 public StringType getUsageElement() { 2281 if (this.usage == null) 2282 if (Configuration.errorOnAutoCreate()) 2283 throw new Error("Attempt to auto-create Measure.usage"); 2284 else if (Configuration.doAutoCreate()) 2285 this.usage = new StringType(); // bb 2286 return this.usage; 2287 } 2288 2289 public boolean hasUsageElement() { 2290 return this.usage != null && !this.usage.isEmpty(); 2291 } 2292 2293 public boolean hasUsage() { 2294 return this.usage != null && !this.usage.isEmpty(); 2295 } 2296 2297 /** 2298 * @param value {@link #usage} (A detailed description of how the measure is used from a clinical perspective.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value 2299 */ 2300 public Measure setUsageElement(StringType value) { 2301 this.usage = value; 2302 return this; 2303 } 2304 2305 /** 2306 * @return A detailed description of how the measure is used from a clinical perspective. 2307 */ 2308 public String getUsage() { 2309 return this.usage == null ? null : this.usage.getValue(); 2310 } 2311 2312 /** 2313 * @param value A detailed description of how the measure is used from a clinical perspective. 2314 */ 2315 public Measure setUsage(String value) { 2316 if (Utilities.noString(value)) 2317 this.usage = null; 2318 else { 2319 if (this.usage == null) 2320 this.usage = new StringType(); 2321 this.usage.setValue(value); 2322 } 2323 return this; 2324 } 2325 2326 /** 2327 * @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 2328 */ 2329 public DateType getApprovalDateElement() { 2330 if (this.approvalDate == null) 2331 if (Configuration.errorOnAutoCreate()) 2332 throw new Error("Attempt to auto-create Measure.approvalDate"); 2333 else if (Configuration.doAutoCreate()) 2334 this.approvalDate = new DateType(); // bb 2335 return this.approvalDate; 2336 } 2337 2338 public boolean hasApprovalDateElement() { 2339 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2340 } 2341 2342 public boolean hasApprovalDate() { 2343 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2344 } 2345 2346 /** 2347 * @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 2348 */ 2349 public Measure setApprovalDateElement(DateType value) { 2350 this.approvalDate = value; 2351 return this; 2352 } 2353 2354 /** 2355 * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2356 */ 2357 public Date getApprovalDate() { 2358 return this.approvalDate == null ? null : this.approvalDate.getValue(); 2359 } 2360 2361 /** 2362 * @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. 2363 */ 2364 public Measure setApprovalDate(Date value) { 2365 if (value == null) 2366 this.approvalDate = null; 2367 else { 2368 if (this.approvalDate == null) 2369 this.approvalDate = new DateType(); 2370 this.approvalDate.setValue(value); 2371 } 2372 return this; 2373 } 2374 2375 /** 2376 * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 2377 */ 2378 public DateType getLastReviewDateElement() { 2379 if (this.lastReviewDate == null) 2380 if (Configuration.errorOnAutoCreate()) 2381 throw new Error("Attempt to auto-create Measure.lastReviewDate"); 2382 else if (Configuration.doAutoCreate()) 2383 this.lastReviewDate = new DateType(); // bb 2384 return this.lastReviewDate; 2385 } 2386 2387 public boolean hasLastReviewDateElement() { 2388 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2389 } 2390 2391 public boolean hasLastReviewDate() { 2392 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2393 } 2394 2395 /** 2396 * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 2397 */ 2398 public Measure setLastReviewDateElement(DateType value) { 2399 this.lastReviewDate = value; 2400 return this; 2401 } 2402 2403 /** 2404 * @return The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date. 2405 */ 2406 public Date getLastReviewDate() { 2407 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 2408 } 2409 2410 /** 2411 * @param value The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date. 2412 */ 2413 public Measure setLastReviewDate(Date value) { 2414 if (value == null) 2415 this.lastReviewDate = null; 2416 else { 2417 if (this.lastReviewDate == null) 2418 this.lastReviewDate = new DateType(); 2419 this.lastReviewDate.setValue(value); 2420 } 2421 return this; 2422 } 2423 2424 /** 2425 * @return {@link #effectivePeriod} (The period during which the measure content was or is planned to be in active use.) 2426 */ 2427 public Period getEffectivePeriod() { 2428 if (this.effectivePeriod == null) 2429 if (Configuration.errorOnAutoCreate()) 2430 throw new Error("Attempt to auto-create Measure.effectivePeriod"); 2431 else if (Configuration.doAutoCreate()) 2432 this.effectivePeriod = new Period(); // cc 2433 return this.effectivePeriod; 2434 } 2435 2436 public boolean hasEffectivePeriod() { 2437 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 2438 } 2439 2440 /** 2441 * @param value {@link #effectivePeriod} (The period during which the measure content was or is planned to be in active use.) 2442 */ 2443 public Measure setEffectivePeriod(Period value) { 2444 this.effectivePeriod = value; 2445 return this; 2446 } 2447 2448 /** 2449 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate measure instances.) 2450 */ 2451 public List<UsageContext> getUseContext() { 2452 if (this.useContext == null) 2453 this.useContext = new ArrayList<UsageContext>(); 2454 return this.useContext; 2455 } 2456 2457 /** 2458 * @return Returns a reference to <code>this</code> for easy method chaining 2459 */ 2460 public Measure setUseContext(List<UsageContext> theUseContext) { 2461 this.useContext = theUseContext; 2462 return this; 2463 } 2464 2465 public boolean hasUseContext() { 2466 if (this.useContext == null) 2467 return false; 2468 for (UsageContext item : this.useContext) 2469 if (!item.isEmpty()) 2470 return true; 2471 return false; 2472 } 2473 2474 public UsageContext addUseContext() { //3 2475 UsageContext t = new UsageContext(); 2476 if (this.useContext == null) 2477 this.useContext = new ArrayList<UsageContext>(); 2478 this.useContext.add(t); 2479 return t; 2480 } 2481 2482 public Measure addUseContext(UsageContext t) { //3 2483 if (t == null) 2484 return this; 2485 if (this.useContext == null) 2486 this.useContext = new ArrayList<UsageContext>(); 2487 this.useContext.add(t); 2488 return this; 2489 } 2490 2491 /** 2492 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 2493 */ 2494 public UsageContext getUseContextFirstRep() { 2495 if (getUseContext().isEmpty()) { 2496 addUseContext(); 2497 } 2498 return getUseContext().get(0); 2499 } 2500 2501 /** 2502 * @return {@link #jurisdiction} (A legal or geographic region in which the measure is intended to be used.) 2503 */ 2504 public List<CodeableConcept> getJurisdiction() { 2505 if (this.jurisdiction == null) 2506 this.jurisdiction = new ArrayList<CodeableConcept>(); 2507 return this.jurisdiction; 2508 } 2509 2510 /** 2511 * @return Returns a reference to <code>this</code> for easy method chaining 2512 */ 2513 public Measure setJurisdiction(List<CodeableConcept> theJurisdiction) { 2514 this.jurisdiction = theJurisdiction; 2515 return this; 2516 } 2517 2518 public boolean hasJurisdiction() { 2519 if (this.jurisdiction == null) 2520 return false; 2521 for (CodeableConcept item : this.jurisdiction) 2522 if (!item.isEmpty()) 2523 return true; 2524 return false; 2525 } 2526 2527 public CodeableConcept addJurisdiction() { //3 2528 CodeableConcept t = new CodeableConcept(); 2529 if (this.jurisdiction == null) 2530 this.jurisdiction = new ArrayList<CodeableConcept>(); 2531 this.jurisdiction.add(t); 2532 return t; 2533 } 2534 2535 public Measure addJurisdiction(CodeableConcept t) { //3 2536 if (t == null) 2537 return this; 2538 if (this.jurisdiction == null) 2539 this.jurisdiction = new ArrayList<CodeableConcept>(); 2540 this.jurisdiction.add(t); 2541 return this; 2542 } 2543 2544 /** 2545 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 2546 */ 2547 public CodeableConcept getJurisdictionFirstRep() { 2548 if (getJurisdiction().isEmpty()) { 2549 addJurisdiction(); 2550 } 2551 return getJurisdiction().get(0); 2552 } 2553 2554 /** 2555 * @return {@link #topic} (Descriptive topics related to the content of the measure. Topics provide a high-level categorization of the type of the measure that can be useful for filtering and searching.) 2556 */ 2557 public List<CodeableConcept> getTopic() { 2558 if (this.topic == null) 2559 this.topic = new ArrayList<CodeableConcept>(); 2560 return this.topic; 2561 } 2562 2563 /** 2564 * @return Returns a reference to <code>this</code> for easy method chaining 2565 */ 2566 public Measure setTopic(List<CodeableConcept> theTopic) { 2567 this.topic = theTopic; 2568 return this; 2569 } 2570 2571 public boolean hasTopic() { 2572 if (this.topic == null) 2573 return false; 2574 for (CodeableConcept item : this.topic) 2575 if (!item.isEmpty()) 2576 return true; 2577 return false; 2578 } 2579 2580 public CodeableConcept addTopic() { //3 2581 CodeableConcept t = new CodeableConcept(); 2582 if (this.topic == null) 2583 this.topic = new ArrayList<CodeableConcept>(); 2584 this.topic.add(t); 2585 return t; 2586 } 2587 2588 public Measure addTopic(CodeableConcept t) { //3 2589 if (t == null) 2590 return this; 2591 if (this.topic == null) 2592 this.topic = new ArrayList<CodeableConcept>(); 2593 this.topic.add(t); 2594 return this; 2595 } 2596 2597 /** 2598 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist 2599 */ 2600 public CodeableConcept getTopicFirstRep() { 2601 if (getTopic().isEmpty()) { 2602 addTopic(); 2603 } 2604 return getTopic().get(0); 2605 } 2606 2607 /** 2608 * @return {@link #contributor} (A contributor to the content of the measure, including authors, editors, reviewers, and endorsers.) 2609 */ 2610 public List<Contributor> getContributor() { 2611 if (this.contributor == null) 2612 this.contributor = new ArrayList<Contributor>(); 2613 return this.contributor; 2614 } 2615 2616 /** 2617 * @return Returns a reference to <code>this</code> for easy method chaining 2618 */ 2619 public Measure setContributor(List<Contributor> theContributor) { 2620 this.contributor = theContributor; 2621 return this; 2622 } 2623 2624 public boolean hasContributor() { 2625 if (this.contributor == null) 2626 return false; 2627 for (Contributor item : this.contributor) 2628 if (!item.isEmpty()) 2629 return true; 2630 return false; 2631 } 2632 2633 public Contributor addContributor() { //3 2634 Contributor t = new Contributor(); 2635 if (this.contributor == null) 2636 this.contributor = new ArrayList<Contributor>(); 2637 this.contributor.add(t); 2638 return t; 2639 } 2640 2641 public Measure addContributor(Contributor t) { //3 2642 if (t == null) 2643 return this; 2644 if (this.contributor == null) 2645 this.contributor = new ArrayList<Contributor>(); 2646 this.contributor.add(t); 2647 return this; 2648 } 2649 2650 /** 2651 * @return The first repetition of repeating field {@link #contributor}, creating it if it does not already exist 2652 */ 2653 public Contributor getContributorFirstRep() { 2654 if (getContributor().isEmpty()) { 2655 addContributor(); 2656 } 2657 return getContributor().get(0); 2658 } 2659 2660 /** 2661 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2662 */ 2663 public List<ContactDetail> getContact() { 2664 if (this.contact == null) 2665 this.contact = new ArrayList<ContactDetail>(); 2666 return this.contact; 2667 } 2668 2669 /** 2670 * @return Returns a reference to <code>this</code> for easy method chaining 2671 */ 2672 public Measure setContact(List<ContactDetail> theContact) { 2673 this.contact = theContact; 2674 return this; 2675 } 2676 2677 public boolean hasContact() { 2678 if (this.contact == null) 2679 return false; 2680 for (ContactDetail item : this.contact) 2681 if (!item.isEmpty()) 2682 return true; 2683 return false; 2684 } 2685 2686 public ContactDetail addContact() { //3 2687 ContactDetail t = new ContactDetail(); 2688 if (this.contact == null) 2689 this.contact = new ArrayList<ContactDetail>(); 2690 this.contact.add(t); 2691 return t; 2692 } 2693 2694 public Measure addContact(ContactDetail t) { //3 2695 if (t == null) 2696 return this; 2697 if (this.contact == null) 2698 this.contact = new ArrayList<ContactDetail>(); 2699 this.contact.add(t); 2700 return this; 2701 } 2702 2703 /** 2704 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 2705 */ 2706 public ContactDetail getContactFirstRep() { 2707 if (getContact().isEmpty()) { 2708 addContact(); 2709 } 2710 return getContact().get(0); 2711 } 2712 2713 /** 2714 * @return {@link #copyright} (A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2715 */ 2716 public MarkdownType getCopyrightElement() { 2717 if (this.copyright == null) 2718 if (Configuration.errorOnAutoCreate()) 2719 throw new Error("Attempt to auto-create Measure.copyright"); 2720 else if (Configuration.doAutoCreate()) 2721 this.copyright = new MarkdownType(); // bb 2722 return this.copyright; 2723 } 2724 2725 public boolean hasCopyrightElement() { 2726 return this.copyright != null && !this.copyright.isEmpty(); 2727 } 2728 2729 public boolean hasCopyright() { 2730 return this.copyright != null && !this.copyright.isEmpty(); 2731 } 2732 2733 /** 2734 * @param value {@link #copyright} (A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2735 */ 2736 public Measure setCopyrightElement(MarkdownType value) { 2737 this.copyright = value; 2738 return this; 2739 } 2740 2741 /** 2742 * @return A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. 2743 */ 2744 public String getCopyright() { 2745 return this.copyright == null ? null : this.copyright.getValue(); 2746 } 2747 2748 /** 2749 * @param value A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure. 2750 */ 2751 public Measure setCopyright(String value) { 2752 if (value == null) 2753 this.copyright = null; 2754 else { 2755 if (this.copyright == null) 2756 this.copyright = new MarkdownType(); 2757 this.copyright.setValue(value); 2758 } 2759 return this; 2760 } 2761 2762 /** 2763 * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, or bibliographic references.) 2764 */ 2765 public List<RelatedArtifact> getRelatedArtifact() { 2766 if (this.relatedArtifact == null) 2767 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2768 return this.relatedArtifact; 2769 } 2770 2771 /** 2772 * @return Returns a reference to <code>this</code> for easy method chaining 2773 */ 2774 public Measure setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 2775 this.relatedArtifact = theRelatedArtifact; 2776 return this; 2777 } 2778 2779 public boolean hasRelatedArtifact() { 2780 if (this.relatedArtifact == null) 2781 return false; 2782 for (RelatedArtifact item : this.relatedArtifact) 2783 if (!item.isEmpty()) 2784 return true; 2785 return false; 2786 } 2787 2788 public RelatedArtifact addRelatedArtifact() { //3 2789 RelatedArtifact t = new RelatedArtifact(); 2790 if (this.relatedArtifact == null) 2791 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2792 this.relatedArtifact.add(t); 2793 return t; 2794 } 2795 2796 public Measure addRelatedArtifact(RelatedArtifact t) { //3 2797 if (t == null) 2798 return this; 2799 if (this.relatedArtifact == null) 2800 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2801 this.relatedArtifact.add(t); 2802 return this; 2803 } 2804 2805 /** 2806 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist 2807 */ 2808 public RelatedArtifact getRelatedArtifactFirstRep() { 2809 if (getRelatedArtifact().isEmpty()) { 2810 addRelatedArtifact(); 2811 } 2812 return getRelatedArtifact().get(0); 2813 } 2814 2815 /** 2816 * @return {@link #library} (A reference to a Library resource containing the formal logic used by the measure.) 2817 */ 2818 public List<Reference> getLibrary() { 2819 if (this.library == null) 2820 this.library = new ArrayList<Reference>(); 2821 return this.library; 2822 } 2823 2824 /** 2825 * @return Returns a reference to <code>this</code> for easy method chaining 2826 */ 2827 public Measure setLibrary(List<Reference> theLibrary) { 2828 this.library = theLibrary; 2829 return this; 2830 } 2831 2832 public boolean hasLibrary() { 2833 if (this.library == null) 2834 return false; 2835 for (Reference item : this.library) 2836 if (!item.isEmpty()) 2837 return true; 2838 return false; 2839 } 2840 2841 public Reference addLibrary() { //3 2842 Reference t = new Reference(); 2843 if (this.library == null) 2844 this.library = new ArrayList<Reference>(); 2845 this.library.add(t); 2846 return t; 2847 } 2848 2849 public Measure addLibrary(Reference t) { //3 2850 if (t == null) 2851 return this; 2852 if (this.library == null) 2853 this.library = new ArrayList<Reference>(); 2854 this.library.add(t); 2855 return this; 2856 } 2857 2858 /** 2859 * @return The first repetition of repeating field {@link #library}, creating it if it does not already exist 2860 */ 2861 public Reference getLibraryFirstRep() { 2862 if (getLibrary().isEmpty()) { 2863 addLibrary(); 2864 } 2865 return getLibrary().get(0); 2866 } 2867 2868 /** 2869 * @deprecated Use Reference#setResource(IBaseResource) instead 2870 */ 2871 @Deprecated 2872 public List<Library> getLibraryTarget() { 2873 if (this.libraryTarget == null) 2874 this.libraryTarget = new ArrayList<Library>(); 2875 return this.libraryTarget; 2876 } 2877 2878 /** 2879 * @deprecated Use Reference#setResource(IBaseResource) instead 2880 */ 2881 @Deprecated 2882 public Library addLibraryTarget() { 2883 Library r = new Library(); 2884 if (this.libraryTarget == null) 2885 this.libraryTarget = new ArrayList<Library>(); 2886 this.libraryTarget.add(r); 2887 return r; 2888 } 2889 2890 /** 2891 * @return {@link #disclaimer} (Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure.). This is the underlying object with id, value and extensions. The accessor "getDisclaimer" gives direct access to the value 2892 */ 2893 public MarkdownType getDisclaimerElement() { 2894 if (this.disclaimer == null) 2895 if (Configuration.errorOnAutoCreate()) 2896 throw new Error("Attempt to auto-create Measure.disclaimer"); 2897 else if (Configuration.doAutoCreate()) 2898 this.disclaimer = new MarkdownType(); // bb 2899 return this.disclaimer; 2900 } 2901 2902 public boolean hasDisclaimerElement() { 2903 return this.disclaimer != null && !this.disclaimer.isEmpty(); 2904 } 2905 2906 public boolean hasDisclaimer() { 2907 return this.disclaimer != null && !this.disclaimer.isEmpty(); 2908 } 2909 2910 /** 2911 * @param value {@link #disclaimer} (Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure.). This is the underlying object with id, value and extensions. The accessor "getDisclaimer" gives direct access to the value 2912 */ 2913 public Measure setDisclaimerElement(MarkdownType value) { 2914 this.disclaimer = value; 2915 return this; 2916 } 2917 2918 /** 2919 * @return Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure. 2920 */ 2921 public String getDisclaimer() { 2922 return this.disclaimer == null ? null : this.disclaimer.getValue(); 2923 } 2924 2925 /** 2926 * @param value Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure. 2927 */ 2928 public Measure setDisclaimer(String value) { 2929 if (value == null) 2930 this.disclaimer = null; 2931 else { 2932 if (this.disclaimer == null) 2933 this.disclaimer = new MarkdownType(); 2934 this.disclaimer.setValue(value); 2935 } 2936 return this; 2937 } 2938 2939 /** 2940 * @return {@link #scoring} (Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented.) 2941 */ 2942 public CodeableConcept getScoring() { 2943 if (this.scoring == null) 2944 if (Configuration.errorOnAutoCreate()) 2945 throw new Error("Attempt to auto-create Measure.scoring"); 2946 else if (Configuration.doAutoCreate()) 2947 this.scoring = new CodeableConcept(); // cc 2948 return this.scoring; 2949 } 2950 2951 public boolean hasScoring() { 2952 return this.scoring != null && !this.scoring.isEmpty(); 2953 } 2954 2955 /** 2956 * @param value {@link #scoring} (Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented.) 2957 */ 2958 public Measure setScoring(CodeableConcept value) { 2959 this.scoring = value; 2960 return this; 2961 } 2962 2963 /** 2964 * @return {@link #compositeScoring} (If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.) 2965 */ 2966 public CodeableConcept getCompositeScoring() { 2967 if (this.compositeScoring == null) 2968 if (Configuration.errorOnAutoCreate()) 2969 throw new Error("Attempt to auto-create Measure.compositeScoring"); 2970 else if (Configuration.doAutoCreate()) 2971 this.compositeScoring = new CodeableConcept(); // cc 2972 return this.compositeScoring; 2973 } 2974 2975 public boolean hasCompositeScoring() { 2976 return this.compositeScoring != null && !this.compositeScoring.isEmpty(); 2977 } 2978 2979 /** 2980 * @param value {@link #compositeScoring} (If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.) 2981 */ 2982 public Measure setCompositeScoring(CodeableConcept value) { 2983 this.compositeScoring = value; 2984 return this; 2985 } 2986 2987 /** 2988 * @return {@link #type} (Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization.) 2989 */ 2990 public List<CodeableConcept> getType() { 2991 if (this.type == null) 2992 this.type = new ArrayList<CodeableConcept>(); 2993 return this.type; 2994 } 2995 2996 /** 2997 * @return Returns a reference to <code>this</code> for easy method chaining 2998 */ 2999 public Measure setType(List<CodeableConcept> theType) { 3000 this.type = theType; 3001 return this; 3002 } 3003 3004 public boolean hasType() { 3005 if (this.type == null) 3006 return false; 3007 for (CodeableConcept item : this.type) 3008 if (!item.isEmpty()) 3009 return true; 3010 return false; 3011 } 3012 3013 public CodeableConcept addType() { //3 3014 CodeableConcept t = new CodeableConcept(); 3015 if (this.type == null) 3016 this.type = new ArrayList<CodeableConcept>(); 3017 this.type.add(t); 3018 return t; 3019 } 3020 3021 public Measure addType(CodeableConcept t) { //3 3022 if (t == null) 3023 return this; 3024 if (this.type == null) 3025 this.type = new ArrayList<CodeableConcept>(); 3026 this.type.add(t); 3027 return this; 3028 } 3029 3030 /** 3031 * @return The first repetition of repeating field {@link #type}, creating it if it does not already exist 3032 */ 3033 public CodeableConcept getTypeFirstRep() { 3034 if (getType().isEmpty()) { 3035 addType(); 3036 } 3037 return getType().get(0); 3038 } 3039 3040 /** 3041 * @return {@link #riskAdjustment} (A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results.). This is the underlying object with id, value and extensions. The accessor "getRiskAdjustment" gives direct access to the value 3042 */ 3043 public StringType getRiskAdjustmentElement() { 3044 if (this.riskAdjustment == null) 3045 if (Configuration.errorOnAutoCreate()) 3046 throw new Error("Attempt to auto-create Measure.riskAdjustment"); 3047 else if (Configuration.doAutoCreate()) 3048 this.riskAdjustment = new StringType(); // bb 3049 return this.riskAdjustment; 3050 } 3051 3052 public boolean hasRiskAdjustmentElement() { 3053 return this.riskAdjustment != null && !this.riskAdjustment.isEmpty(); 3054 } 3055 3056 public boolean hasRiskAdjustment() { 3057 return this.riskAdjustment != null && !this.riskAdjustment.isEmpty(); 3058 } 3059 3060 /** 3061 * @param value {@link #riskAdjustment} (A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results.). This is the underlying object with id, value and extensions. The accessor "getRiskAdjustment" gives direct access to the value 3062 */ 3063 public Measure setRiskAdjustmentElement(StringType value) { 3064 this.riskAdjustment = value; 3065 return this; 3066 } 3067 3068 /** 3069 * @return A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results. 3070 */ 3071 public String getRiskAdjustment() { 3072 return this.riskAdjustment == null ? null : this.riskAdjustment.getValue(); 3073 } 3074 3075 /** 3076 * @param value A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results. 3077 */ 3078 public Measure setRiskAdjustment(String value) { 3079 if (Utilities.noString(value)) 3080 this.riskAdjustment = null; 3081 else { 3082 if (this.riskAdjustment == null) 3083 this.riskAdjustment = new StringType(); 3084 this.riskAdjustment.setValue(value); 3085 } 3086 return this; 3087 } 3088 3089 /** 3090 * @return {@link #rateAggregation} (Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result.). This is the underlying object with id, value and extensions. The accessor "getRateAggregation" gives direct access to the value 3091 */ 3092 public StringType getRateAggregationElement() { 3093 if (this.rateAggregation == null) 3094 if (Configuration.errorOnAutoCreate()) 3095 throw new Error("Attempt to auto-create Measure.rateAggregation"); 3096 else if (Configuration.doAutoCreate()) 3097 this.rateAggregation = new StringType(); // bb 3098 return this.rateAggregation; 3099 } 3100 3101 public boolean hasRateAggregationElement() { 3102 return this.rateAggregation != null && !this.rateAggregation.isEmpty(); 3103 } 3104 3105 public boolean hasRateAggregation() { 3106 return this.rateAggregation != null && !this.rateAggregation.isEmpty(); 3107 } 3108 3109 /** 3110 * @param value {@link #rateAggregation} (Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result.). This is the underlying object with id, value and extensions. The accessor "getRateAggregation" gives direct access to the value 3111 */ 3112 public Measure setRateAggregationElement(StringType value) { 3113 this.rateAggregation = value; 3114 return this; 3115 } 3116 3117 /** 3118 * @return Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result. 3119 */ 3120 public String getRateAggregation() { 3121 return this.rateAggregation == null ? null : this.rateAggregation.getValue(); 3122 } 3123 3124 /** 3125 * @param value Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result. 3126 */ 3127 public Measure setRateAggregation(String value) { 3128 if (Utilities.noString(value)) 3129 this.rateAggregation = null; 3130 else { 3131 if (this.rateAggregation == null) 3132 this.rateAggregation = new StringType(); 3133 this.rateAggregation.setValue(value); 3134 } 3135 return this; 3136 } 3137 3138 /** 3139 * @return {@link #rationale} (Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.). This is the underlying object with id, value and extensions. The accessor "getRationale" gives direct access to the value 3140 */ 3141 public MarkdownType getRationaleElement() { 3142 if (this.rationale == null) 3143 if (Configuration.errorOnAutoCreate()) 3144 throw new Error("Attempt to auto-create Measure.rationale"); 3145 else if (Configuration.doAutoCreate()) 3146 this.rationale = new MarkdownType(); // bb 3147 return this.rationale; 3148 } 3149 3150 public boolean hasRationaleElement() { 3151 return this.rationale != null && !this.rationale.isEmpty(); 3152 } 3153 3154 public boolean hasRationale() { 3155 return this.rationale != null && !this.rationale.isEmpty(); 3156 } 3157 3158 /** 3159 * @param value {@link #rationale} (Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.). This is the underlying object with id, value and extensions. The accessor "getRationale" gives direct access to the value 3160 */ 3161 public Measure setRationaleElement(MarkdownType value) { 3162 this.rationale = value; 3163 return this; 3164 } 3165 3166 /** 3167 * @return Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. 3168 */ 3169 public String getRationale() { 3170 return this.rationale == null ? null : this.rationale.getValue(); 3171 } 3172 3173 /** 3174 * @param value Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence. 3175 */ 3176 public Measure setRationale(String value) { 3177 if (value == null) 3178 this.rationale = null; 3179 else { 3180 if (this.rationale == null) 3181 this.rationale = new MarkdownType(); 3182 this.rationale.setValue(value); 3183 } 3184 return this; 3185 } 3186 3187 /** 3188 * @return {@link #clinicalRecommendationStatement} (Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.). This is the underlying object with id, value and extensions. The accessor "getClinicalRecommendationStatement" gives direct access to the value 3189 */ 3190 public MarkdownType getClinicalRecommendationStatementElement() { 3191 if (this.clinicalRecommendationStatement == null) 3192 if (Configuration.errorOnAutoCreate()) 3193 throw new Error("Attempt to auto-create Measure.clinicalRecommendationStatement"); 3194 else if (Configuration.doAutoCreate()) 3195 this.clinicalRecommendationStatement = new MarkdownType(); // bb 3196 return this.clinicalRecommendationStatement; 3197 } 3198 3199 public boolean hasClinicalRecommendationStatementElement() { 3200 return this.clinicalRecommendationStatement != null && !this.clinicalRecommendationStatement.isEmpty(); 3201 } 3202 3203 public boolean hasClinicalRecommendationStatement() { 3204 return this.clinicalRecommendationStatement != null && !this.clinicalRecommendationStatement.isEmpty(); 3205 } 3206 3207 /** 3208 * @param value {@link #clinicalRecommendationStatement} (Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.). This is the underlying object with id, value and extensions. The accessor "getClinicalRecommendationStatement" gives direct access to the value 3209 */ 3210 public Measure setClinicalRecommendationStatementElement(MarkdownType value) { 3211 this.clinicalRecommendationStatement = value; 3212 return this; 3213 } 3214 3215 /** 3216 * @return Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. 3217 */ 3218 public String getClinicalRecommendationStatement() { 3219 return this.clinicalRecommendationStatement == null ? null : this.clinicalRecommendationStatement.getValue(); 3220 } 3221 3222 /** 3223 * @param value Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure. 3224 */ 3225 public Measure setClinicalRecommendationStatement(String value) { 3226 if (value == null) 3227 this.clinicalRecommendationStatement = null; 3228 else { 3229 if (this.clinicalRecommendationStatement == null) 3230 this.clinicalRecommendationStatement = new MarkdownType(); 3231 this.clinicalRecommendationStatement.setValue(value); 3232 } 3233 return this; 3234 } 3235 3236 /** 3237 * @return {@link #improvementNotation} (Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range).). This is the underlying object with id, value and extensions. The accessor "getImprovementNotation" gives direct access to the value 3238 */ 3239 public StringType getImprovementNotationElement() { 3240 if (this.improvementNotation == null) 3241 if (Configuration.errorOnAutoCreate()) 3242 throw new Error("Attempt to auto-create Measure.improvementNotation"); 3243 else if (Configuration.doAutoCreate()) 3244 this.improvementNotation = new StringType(); // bb 3245 return this.improvementNotation; 3246 } 3247 3248 public boolean hasImprovementNotationElement() { 3249 return this.improvementNotation != null && !this.improvementNotation.isEmpty(); 3250 } 3251 3252 public boolean hasImprovementNotation() { 3253 return this.improvementNotation != null && !this.improvementNotation.isEmpty(); 3254 } 3255 3256 /** 3257 * @param value {@link #improvementNotation} (Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range).). This is the underlying object with id, value and extensions. The accessor "getImprovementNotation" gives direct access to the value 3258 */ 3259 public Measure setImprovementNotationElement(StringType value) { 3260 this.improvementNotation = value; 3261 return this; 3262 } 3263 3264 /** 3265 * @return Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range). 3266 */ 3267 public String getImprovementNotation() { 3268 return this.improvementNotation == null ? null : this.improvementNotation.getValue(); 3269 } 3270 3271 /** 3272 * @param value Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range). 3273 */ 3274 public Measure setImprovementNotation(String value) { 3275 if (Utilities.noString(value)) 3276 this.improvementNotation = null; 3277 else { 3278 if (this.improvementNotation == null) 3279 this.improvementNotation = new StringType(); 3280 this.improvementNotation.setValue(value); 3281 } 3282 return this; 3283 } 3284 3285 /** 3286 * @return {@link #definition} (Provides a description of an individual term used within the measure.) 3287 */ 3288 public List<MarkdownType> getDefinition() { 3289 if (this.definition == null) 3290 this.definition = new ArrayList<MarkdownType>(); 3291 return this.definition; 3292 } 3293 3294 /** 3295 * @return Returns a reference to <code>this</code> for easy method chaining 3296 */ 3297 public Measure setDefinition(List<MarkdownType> theDefinition) { 3298 this.definition = theDefinition; 3299 return this; 3300 } 3301 3302 public boolean hasDefinition() { 3303 if (this.definition == null) 3304 return false; 3305 for (MarkdownType item : this.definition) 3306 if (!item.isEmpty()) 3307 return true; 3308 return false; 3309 } 3310 3311 /** 3312 * @return {@link #definition} (Provides a description of an individual term used within the measure.) 3313 */ 3314 public MarkdownType addDefinitionElement() {//2 3315 MarkdownType t = new MarkdownType(); 3316 if (this.definition == null) 3317 this.definition = new ArrayList<MarkdownType>(); 3318 this.definition.add(t); 3319 return t; 3320 } 3321 3322 /** 3323 * @param value {@link #definition} (Provides a description of an individual term used within the measure.) 3324 */ 3325 public Measure addDefinition(String value) { //1 3326 MarkdownType t = new MarkdownType(); 3327 t.setValue(value); 3328 if (this.definition == null) 3329 this.definition = new ArrayList<MarkdownType>(); 3330 this.definition.add(t); 3331 return this; 3332 } 3333 3334 /** 3335 * @param value {@link #definition} (Provides a description of an individual term used within the measure.) 3336 */ 3337 public boolean hasDefinition(String value) { 3338 if (this.definition == null) 3339 return false; 3340 for (MarkdownType v : this.definition) 3341 if (v.equals(value)) // markdown 3342 return true; 3343 return false; 3344 } 3345 3346 /** 3347 * @return {@link #guidance} (Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.). This is the underlying object with id, value and extensions. The accessor "getGuidance" gives direct access to the value 3348 */ 3349 public MarkdownType getGuidanceElement() { 3350 if (this.guidance == null) 3351 if (Configuration.errorOnAutoCreate()) 3352 throw new Error("Attempt to auto-create Measure.guidance"); 3353 else if (Configuration.doAutoCreate()) 3354 this.guidance = new MarkdownType(); // bb 3355 return this.guidance; 3356 } 3357 3358 public boolean hasGuidanceElement() { 3359 return this.guidance != null && !this.guidance.isEmpty(); 3360 } 3361 3362 public boolean hasGuidance() { 3363 return this.guidance != null && !this.guidance.isEmpty(); 3364 } 3365 3366 /** 3367 * @param value {@link #guidance} (Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.). This is the underlying object with id, value and extensions. The accessor "getGuidance" gives direct access to the value 3368 */ 3369 public Measure setGuidanceElement(MarkdownType value) { 3370 this.guidance = value; 3371 return this; 3372 } 3373 3374 /** 3375 * @return Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. 3376 */ 3377 public String getGuidance() { 3378 return this.guidance == null ? null : this.guidance.getValue(); 3379 } 3380 3381 /** 3382 * @param value Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. 3383 */ 3384 public Measure setGuidance(String value) { 3385 if (value == null) 3386 this.guidance = null; 3387 else { 3388 if (this.guidance == null) 3389 this.guidance = new MarkdownType(); 3390 this.guidance.setValue(value); 3391 } 3392 return this; 3393 } 3394 3395 /** 3396 * @return {@link #set} (The measure set, e.g. Preventive Care and Screening.). This is the underlying object with id, value and extensions. The accessor "getSet" gives direct access to the value 3397 */ 3398 public StringType getSetElement() { 3399 if (this.set == null) 3400 if (Configuration.errorOnAutoCreate()) 3401 throw new Error("Attempt to auto-create Measure.set"); 3402 else if (Configuration.doAutoCreate()) 3403 this.set = new StringType(); // bb 3404 return this.set; 3405 } 3406 3407 public boolean hasSetElement() { 3408 return this.set != null && !this.set.isEmpty(); 3409 } 3410 3411 public boolean hasSet() { 3412 return this.set != null && !this.set.isEmpty(); 3413 } 3414 3415 /** 3416 * @param value {@link #set} (The measure set, e.g. Preventive Care and Screening.). This is the underlying object with id, value and extensions. The accessor "getSet" gives direct access to the value 3417 */ 3418 public Measure setSetElement(StringType value) { 3419 this.set = value; 3420 return this; 3421 } 3422 3423 /** 3424 * @return The measure set, e.g. Preventive Care and Screening. 3425 */ 3426 public String getSet() { 3427 return this.set == null ? null : this.set.getValue(); 3428 } 3429 3430 /** 3431 * @param value The measure set, e.g. Preventive Care and Screening. 3432 */ 3433 public Measure setSet(String value) { 3434 if (Utilities.noString(value)) 3435 this.set = null; 3436 else { 3437 if (this.set == null) 3438 this.set = new StringType(); 3439 this.set.setValue(value); 3440 } 3441 return this; 3442 } 3443 3444 /** 3445 * @return {@link #group} (A group of population criteria for the measure.) 3446 */ 3447 public List<MeasureGroupComponent> getGroup() { 3448 if (this.group == null) 3449 this.group = new ArrayList<MeasureGroupComponent>(); 3450 return this.group; 3451 } 3452 3453 /** 3454 * @return Returns a reference to <code>this</code> for easy method chaining 3455 */ 3456 public Measure setGroup(List<MeasureGroupComponent> theGroup) { 3457 this.group = theGroup; 3458 return this; 3459 } 3460 3461 public boolean hasGroup() { 3462 if (this.group == null) 3463 return false; 3464 for (MeasureGroupComponent item : this.group) 3465 if (!item.isEmpty()) 3466 return true; 3467 return false; 3468 } 3469 3470 public MeasureGroupComponent addGroup() { //3 3471 MeasureGroupComponent t = new MeasureGroupComponent(); 3472 if (this.group == null) 3473 this.group = new ArrayList<MeasureGroupComponent>(); 3474 this.group.add(t); 3475 return t; 3476 } 3477 3478 public Measure addGroup(MeasureGroupComponent t) { //3 3479 if (t == null) 3480 return this; 3481 if (this.group == null) 3482 this.group = new ArrayList<MeasureGroupComponent>(); 3483 this.group.add(t); 3484 return this; 3485 } 3486 3487 /** 3488 * @return The first repetition of repeating field {@link #group}, creating it if it does not already exist 3489 */ 3490 public MeasureGroupComponent getGroupFirstRep() { 3491 if (getGroup().isEmpty()) { 3492 addGroup(); 3493 } 3494 return getGroup().get(0); 3495 } 3496 3497 /** 3498 * @return {@link #supplementalData} (The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path.) 3499 */ 3500 public List<MeasureSupplementalDataComponent> getSupplementalData() { 3501 if (this.supplementalData == null) 3502 this.supplementalData = new ArrayList<MeasureSupplementalDataComponent>(); 3503 return this.supplementalData; 3504 } 3505 3506 /** 3507 * @return Returns a reference to <code>this</code> for easy method chaining 3508 */ 3509 public Measure setSupplementalData(List<MeasureSupplementalDataComponent> theSupplementalData) { 3510 this.supplementalData = theSupplementalData; 3511 return this; 3512 } 3513 3514 public boolean hasSupplementalData() { 3515 if (this.supplementalData == null) 3516 return false; 3517 for (MeasureSupplementalDataComponent item : this.supplementalData) 3518 if (!item.isEmpty()) 3519 return true; 3520 return false; 3521 } 3522 3523 public MeasureSupplementalDataComponent addSupplementalData() { //3 3524 MeasureSupplementalDataComponent t = new MeasureSupplementalDataComponent(); 3525 if (this.supplementalData == null) 3526 this.supplementalData = new ArrayList<MeasureSupplementalDataComponent>(); 3527 this.supplementalData.add(t); 3528 return t; 3529 } 3530 3531 public Measure addSupplementalData(MeasureSupplementalDataComponent t) { //3 3532 if (t == null) 3533 return this; 3534 if (this.supplementalData == null) 3535 this.supplementalData = new ArrayList<MeasureSupplementalDataComponent>(); 3536 this.supplementalData.add(t); 3537 return this; 3538 } 3539 3540 /** 3541 * @return The first repetition of repeating field {@link #supplementalData}, creating it if it does not already exist 3542 */ 3543 public MeasureSupplementalDataComponent getSupplementalDataFirstRep() { 3544 if (getSupplementalData().isEmpty()) { 3545 addSupplementalData(); 3546 } 3547 return getSupplementalData().get(0); 3548 } 3549 3550 protected void listChildren(List<Property> childrenList) { 3551 super.listChildren(childrenList); 3552 childrenList.add(new Property("url", "uri", "An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this measure is (or will be) published. The URL SHOULD include the major version of the measure. For more information see [Technical and Business Versions](resource.html#versions).", 0, java.lang.Integer.MAX_VALUE, url)); 3553 childrenList.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3554 childrenList.add(new Property("version", "string", "The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure 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, java.lang.Integer.MAX_VALUE, version)); 3555 childrenList.add(new Property("name", "string", "A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, java.lang.Integer.MAX_VALUE, name)); 3556 childrenList.add(new Property("title", "string", "A short, descriptive, user-friendly title for the measure.", 0, java.lang.Integer.MAX_VALUE, title)); 3557 childrenList.add(new Property("status", "code", "The status of this measure. Enables tracking the life-cycle of the content.", 0, java.lang.Integer.MAX_VALUE, status)); 3558 childrenList.add(new Property("experimental", "boolean", "A boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, java.lang.Integer.MAX_VALUE, experimental)); 3559 childrenList.add(new Property("date", "dateTime", "The date (and optionally time) when the measure was published. The date must change if and 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 measure changes.", 0, java.lang.Integer.MAX_VALUE, date)); 3560 childrenList.add(new Property("publisher", "string", "The name of the individual or organization that published the measure.", 0, java.lang.Integer.MAX_VALUE, publisher)); 3561 childrenList.add(new Property("description", "markdown", "A free text natural language description of the measure from a consumer's perspective.", 0, java.lang.Integer.MAX_VALUE, description)); 3562 childrenList.add(new Property("purpose", "markdown", "Explaination of why this measure is needed and why it has been designed as it has.", 0, java.lang.Integer.MAX_VALUE, purpose)); 3563 childrenList.add(new Property("usage", "string", "A detailed description of how the measure is used from a clinical perspective.", 0, java.lang.Integer.MAX_VALUE, usage)); 3564 childrenList.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, java.lang.Integer.MAX_VALUE, approvalDate)); 3565 childrenList.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval date.", 0, java.lang.Integer.MAX_VALUE, lastReviewDate)); 3566 childrenList.add(new Property("effectivePeriod", "Period", "The period during which the measure content was or is planned to be in active use.", 0, java.lang.Integer.MAX_VALUE, effectivePeriod)); 3567 childrenList.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate measure instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 3568 childrenList.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the measure is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 3569 childrenList.add(new Property("topic", "CodeableConcept", "Descriptive topics related to the content of the measure. Topics provide a high-level categorization of the type of the measure that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); 3570 childrenList.add(new Property("contributor", "Contributor", "A contributor to the content of the measure, including authors, editors, reviewers, and endorsers.", 0, java.lang.Integer.MAX_VALUE, contributor)); 3571 childrenList.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)); 3572 childrenList.add(new Property("copyright", "markdown", "A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure.", 0, java.lang.Integer.MAX_VALUE, copyright)); 3573 childrenList.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); 3574 childrenList.add(new Property("library", "Reference(Library)", "A reference to a Library resource containing the formal logic used by the measure.", 0, java.lang.Integer.MAX_VALUE, library)); 3575 childrenList.add(new Property("disclaimer", "markdown", "Notices and disclaimers regarding the use of the measure, or related to intellectual property (such as code systems) referenced by the measure.", 0, java.lang.Integer.MAX_VALUE, disclaimer)); 3576 childrenList.add(new Property("scoring", "CodeableConcept", "Indicates how the calculation is performed for the measure, including proportion, ratio, continuous variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented.", 0, java.lang.Integer.MAX_VALUE, scoring)); 3577 childrenList.add(new Property("compositeScoring", "CodeableConcept", "If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.", 0, java.lang.Integer.MAX_VALUE, compositeScoring)); 3578 childrenList.add(new Property("type", "CodeableConcept", "Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization.", 0, java.lang.Integer.MAX_VALUE, type)); 3579 childrenList.add(new Property("riskAdjustment", "string", "A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results.", 0, java.lang.Integer.MAX_VALUE, riskAdjustment)); 3580 childrenList.add(new Property("rateAggregation", "string", "Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result.", 0, java.lang.Integer.MAX_VALUE, rateAggregation)); 3581 childrenList.add(new Property("rationale", "markdown", "Provides a succint statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.", 0, java.lang.Integer.MAX_VALUE, rationale)); 3582 childrenList.add(new Property("clinicalRecommendationStatement", "markdown", "Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.", 0, java.lang.Integer.MAX_VALUE, clinicalRecommendationStatement)); 3583 childrenList.add(new Property("improvementNotation", "string", "Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is whthin a range).", 0, java.lang.Integer.MAX_VALUE, improvementNotation)); 3584 childrenList.add(new Property("definition", "markdown", "Provides a description of an individual term used within the measure.", 0, java.lang.Integer.MAX_VALUE, definition)); 3585 childrenList.add(new Property("guidance", "markdown", "Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.", 0, java.lang.Integer.MAX_VALUE, guidance)); 3586 childrenList.add(new Property("set", "string", "The measure set, e.g. Preventive Care and Screening.", 0, java.lang.Integer.MAX_VALUE, set)); 3587 childrenList.add(new Property("group", "", "A group of population criteria for the measure.", 0, java.lang.Integer.MAX_VALUE, group)); 3588 childrenList.add(new Property("supplementalData", "", "The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path.", 0, java.lang.Integer.MAX_VALUE, supplementalData)); 3589 } 3590 3591 @Override 3592 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3593 switch (hash) { 3594 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3595 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3596 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3597 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3598 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3599 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3600 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3601 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3602 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3603 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3604 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 3605 case 111574433: /*usage*/ return this.usage == null ? new Base[0] : new Base[] {this.usage}; // StringType 3606 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 3607 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 3608 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 3609 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 3610 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 3611 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept 3612 case -1895276325: /*contributor*/ return this.contributor == null ? new Base[0] : this.contributor.toArray(new Base[this.contributor.size()]); // Contributor 3613 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 3614 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 3615 case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 3616 case 166208699: /*library*/ return this.library == null ? new Base[0] : this.library.toArray(new Base[this.library.size()]); // Reference 3617 case 432371099: /*disclaimer*/ return this.disclaimer == null ? new Base[0] : new Base[] {this.disclaimer}; // MarkdownType 3618 case 1924005583: /*scoring*/ return this.scoring == null ? new Base[0] : new Base[] {this.scoring}; // CodeableConcept 3619 case 569347656: /*compositeScoring*/ return this.compositeScoring == null ? new Base[0] : new Base[] {this.compositeScoring}; // CodeableConcept 3620 case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept 3621 case 93273500: /*riskAdjustment*/ return this.riskAdjustment == null ? new Base[0] : new Base[] {this.riskAdjustment}; // StringType 3622 case 1254503906: /*rateAggregation*/ return this.rateAggregation == null ? new Base[0] : new Base[] {this.rateAggregation}; // StringType 3623 case 345689335: /*rationale*/ return this.rationale == null ? new Base[0] : new Base[] {this.rationale}; // MarkdownType 3624 case -18631389: /*clinicalRecommendationStatement*/ return this.clinicalRecommendationStatement == null ? new Base[0] : new Base[] {this.clinicalRecommendationStatement}; // MarkdownType 3625 case -2085456136: /*improvementNotation*/ return this.improvementNotation == null ? new Base[0] : new Base[] {this.improvementNotation}; // StringType 3626 case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : this.definition.toArray(new Base[this.definition.size()]); // MarkdownType 3627 case -1314002088: /*guidance*/ return this.guidance == null ? new Base[0] : new Base[] {this.guidance}; // MarkdownType 3628 case 113762: /*set*/ return this.set == null ? new Base[0] : new Base[] {this.set}; // StringType 3629 case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // MeasureGroupComponent 3630 case 1447496814: /*supplementalData*/ return this.supplementalData == null ? new Base[0] : this.supplementalData.toArray(new Base[this.supplementalData.size()]); // MeasureSupplementalDataComponent 3631 default: return super.getProperty(hash, name, checkValid); 3632 } 3633 3634 } 3635 3636 @Override 3637 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3638 switch (hash) { 3639 case 116079: // url 3640 this.url = castToUri(value); // UriType 3641 return value; 3642 case -1618432855: // identifier 3643 this.getIdentifier().add(castToIdentifier(value)); // Identifier 3644 return value; 3645 case 351608024: // version 3646 this.version = castToString(value); // StringType 3647 return value; 3648 case 3373707: // name 3649 this.name = castToString(value); // StringType 3650 return value; 3651 case 110371416: // title 3652 this.title = castToString(value); // StringType 3653 return value; 3654 case -892481550: // status 3655 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 3656 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3657 return value; 3658 case -404562712: // experimental 3659 this.experimental = castToBoolean(value); // BooleanType 3660 return value; 3661 case 3076014: // date 3662 this.date = castToDateTime(value); // DateTimeType 3663 return value; 3664 case 1447404028: // publisher 3665 this.publisher = castToString(value); // StringType 3666 return value; 3667 case -1724546052: // description 3668 this.description = castToMarkdown(value); // MarkdownType 3669 return value; 3670 case -220463842: // purpose 3671 this.purpose = castToMarkdown(value); // MarkdownType 3672 return value; 3673 case 111574433: // usage 3674 this.usage = castToString(value); // StringType 3675 return value; 3676 case 223539345: // approvalDate 3677 this.approvalDate = castToDate(value); // DateType 3678 return value; 3679 case -1687512484: // lastReviewDate 3680 this.lastReviewDate = castToDate(value); // DateType 3681 return value; 3682 case -403934648: // effectivePeriod 3683 this.effectivePeriod = castToPeriod(value); // Period 3684 return value; 3685 case -669707736: // useContext 3686 this.getUseContext().add(castToUsageContext(value)); // UsageContext 3687 return value; 3688 case -507075711: // jurisdiction 3689 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 3690 return value; 3691 case 110546223: // topic 3692 this.getTopic().add(castToCodeableConcept(value)); // CodeableConcept 3693 return value; 3694 case -1895276325: // contributor 3695 this.getContributor().add(castToContributor(value)); // Contributor 3696 return value; 3697 case 951526432: // contact 3698 this.getContact().add(castToContactDetail(value)); // ContactDetail 3699 return value; 3700 case 1522889671: // copyright 3701 this.copyright = castToMarkdown(value); // MarkdownType 3702 return value; 3703 case 666807069: // relatedArtifact 3704 this.getRelatedArtifact().add(castToRelatedArtifact(value)); // RelatedArtifact 3705 return value; 3706 case 166208699: // library 3707 this.getLibrary().add(castToReference(value)); // Reference 3708 return value; 3709 case 432371099: // disclaimer 3710 this.disclaimer = castToMarkdown(value); // MarkdownType 3711 return value; 3712 case 1924005583: // scoring 3713 this.scoring = castToCodeableConcept(value); // CodeableConcept 3714 return value; 3715 case 569347656: // compositeScoring 3716 this.compositeScoring = castToCodeableConcept(value); // CodeableConcept 3717 return value; 3718 case 3575610: // type 3719 this.getType().add(castToCodeableConcept(value)); // CodeableConcept 3720 return value; 3721 case 93273500: // riskAdjustment 3722 this.riskAdjustment = castToString(value); // StringType 3723 return value; 3724 case 1254503906: // rateAggregation 3725 this.rateAggregation = castToString(value); // StringType 3726 return value; 3727 case 345689335: // rationale 3728 this.rationale = castToMarkdown(value); // MarkdownType 3729 return value; 3730 case -18631389: // clinicalRecommendationStatement 3731 this.clinicalRecommendationStatement = castToMarkdown(value); // MarkdownType 3732 return value; 3733 case -2085456136: // improvementNotation 3734 this.improvementNotation = castToString(value); // StringType 3735 return value; 3736 case -1014418093: // definition 3737 this.getDefinition().add(castToMarkdown(value)); // MarkdownType 3738 return value; 3739 case -1314002088: // guidance 3740 this.guidance = castToMarkdown(value); // MarkdownType 3741 return value; 3742 case 113762: // set 3743 this.set = castToString(value); // StringType 3744 return value; 3745 case 98629247: // group 3746 this.getGroup().add((MeasureGroupComponent) value); // MeasureGroupComponent 3747 return value; 3748 case 1447496814: // supplementalData 3749 this.getSupplementalData().add((MeasureSupplementalDataComponent) value); // MeasureSupplementalDataComponent 3750 return value; 3751 default: return super.setProperty(hash, name, value); 3752 } 3753 3754 } 3755 3756 @Override 3757 public Base setProperty(String name, Base value) throws FHIRException { 3758 if (name.equals("url")) { 3759 this.url = castToUri(value); // UriType 3760 } else if (name.equals("identifier")) { 3761 this.getIdentifier().add(castToIdentifier(value)); 3762 } else if (name.equals("version")) { 3763 this.version = castToString(value); // StringType 3764 } else if (name.equals("name")) { 3765 this.name = castToString(value); // StringType 3766 } else if (name.equals("title")) { 3767 this.title = castToString(value); // StringType 3768 } else if (name.equals("status")) { 3769 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 3770 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3771 } else if (name.equals("experimental")) { 3772 this.experimental = castToBoolean(value); // BooleanType 3773 } else if (name.equals("date")) { 3774 this.date = castToDateTime(value); // DateTimeType 3775 } else if (name.equals("publisher")) { 3776 this.publisher = castToString(value); // StringType 3777 } else if (name.equals("description")) { 3778 this.description = castToMarkdown(value); // MarkdownType 3779 } else if (name.equals("purpose")) { 3780 this.purpose = castToMarkdown(value); // MarkdownType 3781 } else if (name.equals("usage")) { 3782 this.usage = castToString(value); // StringType 3783 } else if (name.equals("approvalDate")) { 3784 this.approvalDate = castToDate(value); // DateType 3785 } else if (name.equals("lastReviewDate")) { 3786 this.lastReviewDate = castToDate(value); // DateType 3787 } else if (name.equals("effectivePeriod")) { 3788 this.effectivePeriod = castToPeriod(value); // Period 3789 } else if (name.equals("useContext")) { 3790 this.getUseContext().add(castToUsageContext(value)); 3791 } else if (name.equals("jurisdiction")) { 3792 this.getJurisdiction().add(castToCodeableConcept(value)); 3793 } else if (name.equals("topic")) { 3794 this.getTopic().add(castToCodeableConcept(value)); 3795 } else if (name.equals("contributor")) { 3796 this.getContributor().add(castToContributor(value)); 3797 } else if (name.equals("contact")) { 3798 this.getContact().add(castToContactDetail(value)); 3799 } else if (name.equals("copyright")) { 3800 this.copyright = castToMarkdown(value); // MarkdownType 3801 } else if (name.equals("relatedArtifact")) { 3802 this.getRelatedArtifact().add(castToRelatedArtifact(value)); 3803 } else if (name.equals("library")) { 3804 this.getLibrary().add(castToReference(value)); 3805 } else if (name.equals("disclaimer")) { 3806 this.disclaimer = castToMarkdown(value); // MarkdownType 3807 } else if (name.equals("scoring")) { 3808 this.scoring = castToCodeableConcept(value); // CodeableConcept 3809 } else if (name.equals("compositeScoring")) { 3810 this.compositeScoring = castToCodeableConcept(value); // CodeableConcept 3811 } else if (name.equals("type")) { 3812 this.getType().add(castToCodeableConcept(value)); 3813 } else if (name.equals("riskAdjustment")) { 3814 this.riskAdjustment = castToString(value); // StringType 3815 } else if (name.equals("rateAggregation")) { 3816 this.rateAggregation = castToString(value); // StringType 3817 } else if (name.equals("rationale")) { 3818 this.rationale = castToMarkdown(value); // MarkdownType 3819 } else if (name.equals("clinicalRecommendationStatement")) { 3820 this.clinicalRecommendationStatement = castToMarkdown(value); // MarkdownType 3821 } else if (name.equals("improvementNotation")) { 3822 this.improvementNotation = castToString(value); // StringType 3823 } else if (name.equals("definition")) { 3824 this.getDefinition().add(castToMarkdown(value)); 3825 } else if (name.equals("guidance")) { 3826 this.guidance = castToMarkdown(value); // MarkdownType 3827 } else if (name.equals("set")) { 3828 this.set = castToString(value); // StringType 3829 } else if (name.equals("group")) { 3830 this.getGroup().add((MeasureGroupComponent) value); 3831 } else if (name.equals("supplementalData")) { 3832 this.getSupplementalData().add((MeasureSupplementalDataComponent) value); 3833 } else 3834 return super.setProperty(name, value); 3835 return value; 3836 } 3837 3838 @Override 3839 public Base makeProperty(int hash, String name) throws FHIRException { 3840 switch (hash) { 3841 case 116079: return getUrlElement(); 3842 case -1618432855: return addIdentifier(); 3843 case 351608024: return getVersionElement(); 3844 case 3373707: return getNameElement(); 3845 case 110371416: return getTitleElement(); 3846 case -892481550: return getStatusElement(); 3847 case -404562712: return getExperimentalElement(); 3848 case 3076014: return getDateElement(); 3849 case 1447404028: return getPublisherElement(); 3850 case -1724546052: return getDescriptionElement(); 3851 case -220463842: return getPurposeElement(); 3852 case 111574433: return getUsageElement(); 3853 case 223539345: return getApprovalDateElement(); 3854 case -1687512484: return getLastReviewDateElement(); 3855 case -403934648: return getEffectivePeriod(); 3856 case -669707736: return addUseContext(); 3857 case -507075711: return addJurisdiction(); 3858 case 110546223: return addTopic(); 3859 case -1895276325: return addContributor(); 3860 case 951526432: return addContact(); 3861 case 1522889671: return getCopyrightElement(); 3862 case 666807069: return addRelatedArtifact(); 3863 case 166208699: return addLibrary(); 3864 case 432371099: return getDisclaimerElement(); 3865 case 1924005583: return getScoring(); 3866 case 569347656: return getCompositeScoring(); 3867 case 3575610: return addType(); 3868 case 93273500: return getRiskAdjustmentElement(); 3869 case 1254503906: return getRateAggregationElement(); 3870 case 345689335: return getRationaleElement(); 3871 case -18631389: return getClinicalRecommendationStatementElement(); 3872 case -2085456136: return getImprovementNotationElement(); 3873 case -1014418093: return addDefinitionElement(); 3874 case -1314002088: return getGuidanceElement(); 3875 case 113762: return getSetElement(); 3876 case 98629247: return addGroup(); 3877 case 1447496814: return addSupplementalData(); 3878 default: return super.makeProperty(hash, name); 3879 } 3880 3881 } 3882 3883 @Override 3884 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3885 switch (hash) { 3886 case 116079: /*url*/ return new String[] {"uri"}; 3887 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3888 case 351608024: /*version*/ return new String[] {"string"}; 3889 case 3373707: /*name*/ return new String[] {"string"}; 3890 case 110371416: /*title*/ return new String[] {"string"}; 3891 case -892481550: /*status*/ return new String[] {"code"}; 3892 case -404562712: /*experimental*/ return new String[] {"boolean"}; 3893 case 3076014: /*date*/ return new String[] {"dateTime"}; 3894 case 1447404028: /*publisher*/ return new String[] {"string"}; 3895 case -1724546052: /*description*/ return new String[] {"markdown"}; 3896 case -220463842: /*purpose*/ return new String[] {"markdown"}; 3897 case 111574433: /*usage*/ return new String[] {"string"}; 3898 case 223539345: /*approvalDate*/ return new String[] {"date"}; 3899 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 3900 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 3901 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 3902 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 3903 case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; 3904 case -1895276325: /*contributor*/ return new String[] {"Contributor"}; 3905 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 3906 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 3907 case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; 3908 case 166208699: /*library*/ return new String[] {"Reference"}; 3909 case 432371099: /*disclaimer*/ return new String[] {"markdown"}; 3910 case 1924005583: /*scoring*/ return new String[] {"CodeableConcept"}; 3911 case 569347656: /*compositeScoring*/ return new String[] {"CodeableConcept"}; 3912 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 3913 case 93273500: /*riskAdjustment*/ return new String[] {"string"}; 3914 case 1254503906: /*rateAggregation*/ return new String[] {"string"}; 3915 case 345689335: /*rationale*/ return new String[] {"markdown"}; 3916 case -18631389: /*clinicalRecommendationStatement*/ return new String[] {"markdown"}; 3917 case -2085456136: /*improvementNotation*/ return new String[] {"string"}; 3918 case -1014418093: /*definition*/ return new String[] {"markdown"}; 3919 case -1314002088: /*guidance*/ return new String[] {"markdown"}; 3920 case 113762: /*set*/ return new String[] {"string"}; 3921 case 98629247: /*group*/ return new String[] {}; 3922 case 1447496814: /*supplementalData*/ return new String[] {}; 3923 default: return super.getTypesForProperty(hash, name); 3924 } 3925 3926 } 3927 3928 @Override 3929 public Base addChild(String name) throws FHIRException { 3930 if (name.equals("url")) { 3931 throw new FHIRException("Cannot call addChild on a primitive type Measure.url"); 3932 } 3933 else if (name.equals("identifier")) { 3934 return addIdentifier(); 3935 } 3936 else if (name.equals("version")) { 3937 throw new FHIRException("Cannot call addChild on a primitive type Measure.version"); 3938 } 3939 else if (name.equals("name")) { 3940 throw new FHIRException("Cannot call addChild on a primitive type Measure.name"); 3941 } 3942 else if (name.equals("title")) { 3943 throw new FHIRException("Cannot call addChild on a primitive type Measure.title"); 3944 } 3945 else if (name.equals("status")) { 3946 throw new FHIRException("Cannot call addChild on a primitive type Measure.status"); 3947 } 3948 else if (name.equals("experimental")) { 3949 throw new FHIRException("Cannot call addChild on a primitive type Measure.experimental"); 3950 } 3951 else if (name.equals("date")) { 3952 throw new FHIRException("Cannot call addChild on a primitive type Measure.date"); 3953 } 3954 else if (name.equals("publisher")) { 3955 throw new FHIRException("Cannot call addChild on a primitive type Measure.publisher"); 3956 } 3957 else if (name.equals("description")) { 3958 throw new FHIRException("Cannot call addChild on a primitive type Measure.description"); 3959 } 3960 else if (name.equals("purpose")) { 3961 throw new FHIRException("Cannot call addChild on a primitive type Measure.purpose"); 3962 } 3963 else if (name.equals("usage")) { 3964 throw new FHIRException("Cannot call addChild on a primitive type Measure.usage"); 3965 } 3966 else if (name.equals("approvalDate")) { 3967 throw new FHIRException("Cannot call addChild on a primitive type Measure.approvalDate"); 3968 } 3969 else if (name.equals("lastReviewDate")) { 3970 throw new FHIRException("Cannot call addChild on a primitive type Measure.lastReviewDate"); 3971 } 3972 else if (name.equals("effectivePeriod")) { 3973 this.effectivePeriod = new Period(); 3974 return this.effectivePeriod; 3975 } 3976 else if (name.equals("useContext")) { 3977 return addUseContext(); 3978 } 3979 else if (name.equals("jurisdiction")) { 3980 return addJurisdiction(); 3981 } 3982 else if (name.equals("topic")) { 3983 return addTopic(); 3984 } 3985 else if (name.equals("contributor")) { 3986 return addContributor(); 3987 } 3988 else if (name.equals("contact")) { 3989 return addContact(); 3990 } 3991 else if (name.equals("copyright")) { 3992 throw new FHIRException("Cannot call addChild on a primitive type Measure.copyright"); 3993 } 3994 else if (name.equals("relatedArtifact")) { 3995 return addRelatedArtifact(); 3996 } 3997 else if (name.equals("library")) { 3998 return addLibrary(); 3999 } 4000 else if (name.equals("disclaimer")) { 4001 throw new FHIRException("Cannot call addChild on a primitive type Measure.disclaimer"); 4002 } 4003 else if (name.equals("scoring")) { 4004 this.scoring = new CodeableConcept(); 4005 return this.scoring; 4006 } 4007 else if (name.equals("compositeScoring")) { 4008 this.compositeScoring = new CodeableConcept(); 4009 return this.compositeScoring; 4010 } 4011 else if (name.equals("type")) { 4012 return addType(); 4013 } 4014 else if (name.equals("riskAdjustment")) { 4015 throw new FHIRException("Cannot call addChild on a primitive type Measure.riskAdjustment"); 4016 } 4017 else if (name.equals("rateAggregation")) { 4018 throw new FHIRException("Cannot call addChild on a primitive type Measure.rateAggregation"); 4019 } 4020 else if (name.equals("rationale")) { 4021 throw new FHIRException("Cannot call addChild on a primitive type Measure.rationale"); 4022 } 4023 else if (name.equals("clinicalRecommendationStatement")) { 4024 throw new FHIRException("Cannot call addChild on a primitive type Measure.clinicalRecommendationStatement"); 4025 } 4026 else if (name.equals("improvementNotation")) { 4027 throw new FHIRException("Cannot call addChild on a primitive type Measure.improvementNotation"); 4028 } 4029 else if (name.equals("definition")) { 4030 throw new FHIRException("Cannot call addChild on a primitive type Measure.definition"); 4031 } 4032 else if (name.equals("guidance")) { 4033 throw new FHIRException("Cannot call addChild on a primitive type Measure.guidance"); 4034 } 4035 else if (name.equals("set")) { 4036 throw new FHIRException("Cannot call addChild on a primitive type Measure.set"); 4037 } 4038 else if (name.equals("group")) { 4039 return addGroup(); 4040 } 4041 else if (name.equals("supplementalData")) { 4042 return addSupplementalData(); 4043 } 4044 else 4045 return super.addChild(name); 4046 } 4047 4048 public String fhirType() { 4049 return "Measure"; 4050 4051 } 4052 4053 public Measure copy() { 4054 Measure dst = new Measure(); 4055 copyValues(dst); 4056 dst.url = url == null ? null : url.copy(); 4057 if (identifier != null) { 4058 dst.identifier = new ArrayList<Identifier>(); 4059 for (Identifier i : identifier) 4060 dst.identifier.add(i.copy()); 4061 }; 4062 dst.version = version == null ? null : version.copy(); 4063 dst.name = name == null ? null : name.copy(); 4064 dst.title = title == null ? null : title.copy(); 4065 dst.status = status == null ? null : status.copy(); 4066 dst.experimental = experimental == null ? null : experimental.copy(); 4067 dst.date = date == null ? null : date.copy(); 4068 dst.publisher = publisher == null ? null : publisher.copy(); 4069 dst.description = description == null ? null : description.copy(); 4070 dst.purpose = purpose == null ? null : purpose.copy(); 4071 dst.usage = usage == null ? null : usage.copy(); 4072 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 4073 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 4074 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 4075 if (useContext != null) { 4076 dst.useContext = new ArrayList<UsageContext>(); 4077 for (UsageContext i : useContext) 4078 dst.useContext.add(i.copy()); 4079 }; 4080 if (jurisdiction != null) { 4081 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4082 for (CodeableConcept i : jurisdiction) 4083 dst.jurisdiction.add(i.copy()); 4084 }; 4085 if (topic != null) { 4086 dst.topic = new ArrayList<CodeableConcept>(); 4087 for (CodeableConcept i : topic) 4088 dst.topic.add(i.copy()); 4089 }; 4090 if (contributor != null) { 4091 dst.contributor = new ArrayList<Contributor>(); 4092 for (Contributor i : contributor) 4093 dst.contributor.add(i.copy()); 4094 }; 4095 if (contact != null) { 4096 dst.contact = new ArrayList<ContactDetail>(); 4097 for (ContactDetail i : contact) 4098 dst.contact.add(i.copy()); 4099 }; 4100 dst.copyright = copyright == null ? null : copyright.copy(); 4101 if (relatedArtifact != null) { 4102 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 4103 for (RelatedArtifact i : relatedArtifact) 4104 dst.relatedArtifact.add(i.copy()); 4105 }; 4106 if (library != null) { 4107 dst.library = new ArrayList<Reference>(); 4108 for (Reference i : library) 4109 dst.library.add(i.copy()); 4110 }; 4111 dst.disclaimer = disclaimer == null ? null : disclaimer.copy(); 4112 dst.scoring = scoring == null ? null : scoring.copy(); 4113 dst.compositeScoring = compositeScoring == null ? null : compositeScoring.copy(); 4114 if (type != null) { 4115 dst.type = new ArrayList<CodeableConcept>(); 4116 for (CodeableConcept i : type) 4117 dst.type.add(i.copy()); 4118 }; 4119 dst.riskAdjustment = riskAdjustment == null ? null : riskAdjustment.copy(); 4120 dst.rateAggregation = rateAggregation == null ? null : rateAggregation.copy(); 4121 dst.rationale = rationale == null ? null : rationale.copy(); 4122 dst.clinicalRecommendationStatement = clinicalRecommendationStatement == null ? null : clinicalRecommendationStatement.copy(); 4123 dst.improvementNotation = improvementNotation == null ? null : improvementNotation.copy(); 4124 if (definition != null) { 4125 dst.definition = new ArrayList<MarkdownType>(); 4126 for (MarkdownType i : definition) 4127 dst.definition.add(i.copy()); 4128 }; 4129 dst.guidance = guidance == null ? null : guidance.copy(); 4130 dst.set = set == null ? null : set.copy(); 4131 if (group != null) { 4132 dst.group = new ArrayList<MeasureGroupComponent>(); 4133 for (MeasureGroupComponent i : group) 4134 dst.group.add(i.copy()); 4135 }; 4136 if (supplementalData != null) { 4137 dst.supplementalData = new ArrayList<MeasureSupplementalDataComponent>(); 4138 for (MeasureSupplementalDataComponent i : supplementalData) 4139 dst.supplementalData.add(i.copy()); 4140 }; 4141 return dst; 4142 } 4143 4144 protected Measure typedCopy() { 4145 return copy(); 4146 } 4147 4148 @Override 4149 public boolean equalsDeep(Base other) { 4150 if (!super.equalsDeep(other)) 4151 return false; 4152 if (!(other instanceof Measure)) 4153 return false; 4154 Measure o = (Measure) other; 4155 return compareDeep(identifier, o.identifier, true) && compareDeep(purpose, o.purpose, true) && compareDeep(usage, o.usage, true) 4156 && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) 4157 && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) && compareDeep(contributor, o.contributor, true) 4158 && compareDeep(copyright, o.copyright, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) 4159 && compareDeep(library, o.library, true) && compareDeep(disclaimer, o.disclaimer, true) && compareDeep(scoring, o.scoring, true) 4160 && compareDeep(compositeScoring, o.compositeScoring, true) && compareDeep(type, o.type, true) && compareDeep(riskAdjustment, o.riskAdjustment, true) 4161 && compareDeep(rateAggregation, o.rateAggregation, true) && compareDeep(rationale, o.rationale, true) 4162 && compareDeep(clinicalRecommendationStatement, o.clinicalRecommendationStatement, true) && compareDeep(improvementNotation, o.improvementNotation, true) 4163 && compareDeep(definition, o.definition, true) && compareDeep(guidance, o.guidance, true) && compareDeep(set, o.set, true) 4164 && compareDeep(group, o.group, true) && compareDeep(supplementalData, o.supplementalData, true) 4165 ; 4166 } 4167 4168 @Override 4169 public boolean equalsShallow(Base other) { 4170 if (!super.equalsShallow(other)) 4171 return false; 4172 if (!(other instanceof Measure)) 4173 return false; 4174 Measure o = (Measure) other; 4175 return compareValues(purpose, o.purpose, true) && compareValues(usage, o.usage, true) && compareValues(approvalDate, o.approvalDate, true) 4176 && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(copyright, o.copyright, true) 4177 && compareValues(disclaimer, o.disclaimer, true) && compareValues(riskAdjustment, o.riskAdjustment, true) 4178 && compareValues(rateAggregation, o.rateAggregation, true) && compareValues(rationale, o.rationale, true) 4179 && compareValues(clinicalRecommendationStatement, o.clinicalRecommendationStatement, true) && compareValues(improvementNotation, o.improvementNotation, true) 4180 && compareValues(definition, o.definition, true) && compareValues(guidance, o.guidance, true) && compareValues(set, o.set, true) 4181 ; 4182 } 4183 4184 public boolean isEmpty() { 4185 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, purpose, usage 4186 , approvalDate, lastReviewDate, effectivePeriod, topic, contributor, copyright, relatedArtifact 4187 , library, disclaimer, scoring, compositeScoring, type, riskAdjustment, rateAggregation 4188 , rationale, clinicalRecommendationStatement, improvementNotation, definition, guidance 4189 , set, group, supplementalData); 4190 } 4191 4192 @Override 4193 public ResourceType getResourceType() { 4194 return ResourceType.Measure; 4195 } 4196 4197 /** 4198 * Search parameter: <b>date</b> 4199 * <p> 4200 * Description: <b>The measure publication date</b><br> 4201 * Type: <b>date</b><br> 4202 * Path: <b>Measure.date</b><br> 4203 * </p> 4204 */ 4205 @SearchParamDefinition(name="date", path="Measure.date", description="The measure publication date", type="date" ) 4206 public static final String SP_DATE = "date"; 4207 /** 4208 * <b>Fluent Client</b> search parameter constant for <b>date</b> 4209 * <p> 4210 * Description: <b>The measure publication date</b><br> 4211 * Type: <b>date</b><br> 4212 * Path: <b>Measure.date</b><br> 4213 * </p> 4214 */ 4215 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 4216 4217 /** 4218 * Search parameter: <b>identifier</b> 4219 * <p> 4220 * Description: <b>External identifier for the measure</b><br> 4221 * Type: <b>token</b><br> 4222 * Path: <b>Measure.identifier</b><br> 4223 * </p> 4224 */ 4225 @SearchParamDefinition(name="identifier", path="Measure.identifier", description="External identifier for the measure", type="token" ) 4226 public static final String SP_IDENTIFIER = "identifier"; 4227 /** 4228 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4229 * <p> 4230 * Description: <b>External identifier for the measure</b><br> 4231 * Type: <b>token</b><br> 4232 * Path: <b>Measure.identifier</b><br> 4233 * </p> 4234 */ 4235 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4236 4237 /** 4238 * Search parameter: <b>successor</b> 4239 * <p> 4240 * Description: <b>What resource is being referenced</b><br> 4241 * Type: <b>reference</b><br> 4242 * Path: <b>Measure.relatedArtifact.resource</b><br> 4243 * </p> 4244 */ 4245 @SearchParamDefinition(name="successor", path="Measure.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference" ) 4246 public static final String SP_SUCCESSOR = "successor"; 4247 /** 4248 * <b>Fluent Client</b> search parameter constant for <b>successor</b> 4249 * <p> 4250 * Description: <b>What resource is being referenced</b><br> 4251 * Type: <b>reference</b><br> 4252 * Path: <b>Measure.relatedArtifact.resource</b><br> 4253 * </p> 4254 */ 4255 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUCCESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUCCESSOR); 4256 4257/** 4258 * Constant for fluent queries to be used to add include statements. Specifies 4259 * the path value of "<b>Measure:successor</b>". 4260 */ 4261 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUCCESSOR = new ca.uhn.fhir.model.api.Include("Measure:successor").toLocked(); 4262 4263 /** 4264 * Search parameter: <b>jurisdiction</b> 4265 * <p> 4266 * Description: <b>Intended jurisdiction for the measure</b><br> 4267 * Type: <b>token</b><br> 4268 * Path: <b>Measure.jurisdiction</b><br> 4269 * </p> 4270 */ 4271 @SearchParamDefinition(name="jurisdiction", path="Measure.jurisdiction", description="Intended jurisdiction for the measure", type="token" ) 4272 public static final String SP_JURISDICTION = "jurisdiction"; 4273 /** 4274 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 4275 * <p> 4276 * Description: <b>Intended jurisdiction for the measure</b><br> 4277 * Type: <b>token</b><br> 4278 * Path: <b>Measure.jurisdiction</b><br> 4279 * </p> 4280 */ 4281 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 4282 4283 /** 4284 * Search parameter: <b>description</b> 4285 * <p> 4286 * Description: <b>The description of the measure</b><br> 4287 * Type: <b>string</b><br> 4288 * Path: <b>Measure.description</b><br> 4289 * </p> 4290 */ 4291 @SearchParamDefinition(name="description", path="Measure.description", description="The description of the measure", type="string" ) 4292 public static final String SP_DESCRIPTION = "description"; 4293 /** 4294 * <b>Fluent Client</b> search parameter constant for <b>description</b> 4295 * <p> 4296 * Description: <b>The description of the measure</b><br> 4297 * Type: <b>string</b><br> 4298 * Path: <b>Measure.description</b><br> 4299 * </p> 4300 */ 4301 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 4302 4303 /** 4304 * Search parameter: <b>derived-from</b> 4305 * <p> 4306 * Description: <b>What resource is being referenced</b><br> 4307 * Type: <b>reference</b><br> 4308 * Path: <b>Measure.relatedArtifact.resource</b><br> 4309 * </p> 4310 */ 4311 @SearchParamDefinition(name="derived-from", path="Measure.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference" ) 4312 public static final String SP_DERIVED_FROM = "derived-from"; 4313 /** 4314 * <b>Fluent Client</b> search parameter constant for <b>derived-from</b> 4315 * <p> 4316 * Description: <b>What resource is being referenced</b><br> 4317 * Type: <b>reference</b><br> 4318 * Path: <b>Measure.relatedArtifact.resource</b><br> 4319 * </p> 4320 */ 4321 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); 4322 4323/** 4324 * Constant for fluent queries to be used to add include statements. Specifies 4325 * the path value of "<b>Measure:derived-from</b>". 4326 */ 4327 public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("Measure:derived-from").toLocked(); 4328 4329 /** 4330 * Search parameter: <b>predecessor</b> 4331 * <p> 4332 * Description: <b>What resource is being referenced</b><br> 4333 * Type: <b>reference</b><br> 4334 * Path: <b>Measure.relatedArtifact.resource</b><br> 4335 * </p> 4336 */ 4337 @SearchParamDefinition(name="predecessor", path="Measure.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference" ) 4338 public static final String SP_PREDECESSOR = "predecessor"; 4339 /** 4340 * <b>Fluent Client</b> search parameter constant for <b>predecessor</b> 4341 * <p> 4342 * Description: <b>What resource is being referenced</b><br> 4343 * Type: <b>reference</b><br> 4344 * Path: <b>Measure.relatedArtifact.resource</b><br> 4345 * </p> 4346 */ 4347 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); 4348 4349/** 4350 * Constant for fluent queries to be used to add include statements. Specifies 4351 * the path value of "<b>Measure:predecessor</b>". 4352 */ 4353 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("Measure:predecessor").toLocked(); 4354 4355 /** 4356 * Search parameter: <b>title</b> 4357 * <p> 4358 * Description: <b>The human-friendly name of the measure</b><br> 4359 * Type: <b>string</b><br> 4360 * Path: <b>Measure.title</b><br> 4361 * </p> 4362 */ 4363 @SearchParamDefinition(name="title", path="Measure.title", description="The human-friendly name of the measure", type="string" ) 4364 public static final String SP_TITLE = "title"; 4365 /** 4366 * <b>Fluent Client</b> search parameter constant for <b>title</b> 4367 * <p> 4368 * Description: <b>The human-friendly name of the measure</b><br> 4369 * Type: <b>string</b><br> 4370 * Path: <b>Measure.title</b><br> 4371 * </p> 4372 */ 4373 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 4374 4375 /** 4376 * Search parameter: <b>composed-of</b> 4377 * <p> 4378 * Description: <b>What resource is being referenced</b><br> 4379 * Type: <b>reference</b><br> 4380 * Path: <b>Measure.relatedArtifact.resource</b><br> 4381 * </p> 4382 */ 4383 @SearchParamDefinition(name="composed-of", path="Measure.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference" ) 4384 public static final String SP_COMPOSED_OF = "composed-of"; 4385 /** 4386 * <b>Fluent Client</b> search parameter constant for <b>composed-of</b> 4387 * <p> 4388 * Description: <b>What resource is being referenced</b><br> 4389 * Type: <b>reference</b><br> 4390 * Path: <b>Measure.relatedArtifact.resource</b><br> 4391 * </p> 4392 */ 4393 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSED_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPOSED_OF); 4394 4395/** 4396 * Constant for fluent queries to be used to add include statements. Specifies 4397 * the path value of "<b>Measure:composed-of</b>". 4398 */ 4399 public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPOSED_OF = new ca.uhn.fhir.model.api.Include("Measure:composed-of").toLocked(); 4400 4401 /** 4402 * Search parameter: <b>version</b> 4403 * <p> 4404 * Description: <b>The business version of the measure</b><br> 4405 * Type: <b>token</b><br> 4406 * Path: <b>Measure.version</b><br> 4407 * </p> 4408 */ 4409 @SearchParamDefinition(name="version", path="Measure.version", description="The business version of the measure", type="token" ) 4410 public static final String SP_VERSION = "version"; 4411 /** 4412 * <b>Fluent Client</b> search parameter constant for <b>version</b> 4413 * <p> 4414 * Description: <b>The business version of the measure</b><br> 4415 * Type: <b>token</b><br> 4416 * Path: <b>Measure.version</b><br> 4417 * </p> 4418 */ 4419 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 4420 4421 /** 4422 * Search parameter: <b>url</b> 4423 * <p> 4424 * Description: <b>The uri that identifies the measure</b><br> 4425 * Type: <b>uri</b><br> 4426 * Path: <b>Measure.url</b><br> 4427 * </p> 4428 */ 4429 @SearchParamDefinition(name="url", path="Measure.url", description="The uri that identifies the measure", type="uri" ) 4430 public static final String SP_URL = "url"; 4431 /** 4432 * <b>Fluent Client</b> search parameter constant for <b>url</b> 4433 * <p> 4434 * Description: <b>The uri that identifies the measure</b><br> 4435 * Type: <b>uri</b><br> 4436 * Path: <b>Measure.url</b><br> 4437 * </p> 4438 */ 4439 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 4440 4441 /** 4442 * Search parameter: <b>effective</b> 4443 * <p> 4444 * Description: <b>The time during which the measure is intended to be in use</b><br> 4445 * Type: <b>date</b><br> 4446 * Path: <b>Measure.effectivePeriod</b><br> 4447 * </p> 4448 */ 4449 @SearchParamDefinition(name="effective", path="Measure.effectivePeriod", description="The time during which the measure is intended to be in use", type="date" ) 4450 public static final String SP_EFFECTIVE = "effective"; 4451 /** 4452 * <b>Fluent Client</b> search parameter constant for <b>effective</b> 4453 * <p> 4454 * Description: <b>The time during which the measure is intended to be in use</b><br> 4455 * Type: <b>date</b><br> 4456 * Path: <b>Measure.effectivePeriod</b><br> 4457 * </p> 4458 */ 4459 public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); 4460 4461 /** 4462 * Search parameter: <b>depends-on</b> 4463 * <p> 4464 * Description: <b>What resource is being referenced</b><br> 4465 * Type: <b>reference</b><br> 4466 * Path: <b>Measure.relatedArtifact.resource, Measure.library</b><br> 4467 * </p> 4468 */ 4469 @SearchParamDefinition(name="depends-on", path="Measure.relatedArtifact.where(type='depends-on').resource | Measure.library", description="What resource is being referenced", type="reference" ) 4470 public static final String SP_DEPENDS_ON = "depends-on"; 4471 /** 4472 * <b>Fluent Client</b> search parameter constant for <b>depends-on</b> 4473 * <p> 4474 * Description: <b>What resource is being referenced</b><br> 4475 * Type: <b>reference</b><br> 4476 * Path: <b>Measure.relatedArtifact.resource, Measure.library</b><br> 4477 * </p> 4478 */ 4479 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON); 4480 4481/** 4482 * Constant for fluent queries to be used to add include statements. Specifies 4483 * the path value of "<b>Measure:depends-on</b>". 4484 */ 4485 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("Measure:depends-on").toLocked(); 4486 4487 /** 4488 * Search parameter: <b>name</b> 4489 * <p> 4490 * Description: <b>Computationally friendly name of the measure</b><br> 4491 * Type: <b>string</b><br> 4492 * Path: <b>Measure.name</b><br> 4493 * </p> 4494 */ 4495 @SearchParamDefinition(name="name", path="Measure.name", description="Computationally friendly name of the measure", type="string" ) 4496 public static final String SP_NAME = "name"; 4497 /** 4498 * <b>Fluent Client</b> search parameter constant for <b>name</b> 4499 * <p> 4500 * Description: <b>Computationally friendly name of the measure</b><br> 4501 * Type: <b>string</b><br> 4502 * Path: <b>Measure.name</b><br> 4503 * </p> 4504 */ 4505 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 4506 4507 /** 4508 * Search parameter: <b>publisher</b> 4509 * <p> 4510 * Description: <b>Name of the publisher of the measure</b><br> 4511 * Type: <b>string</b><br> 4512 * Path: <b>Measure.publisher</b><br> 4513 * </p> 4514 */ 4515 @SearchParamDefinition(name="publisher", path="Measure.publisher", description="Name of the publisher of the measure", type="string" ) 4516 public static final String SP_PUBLISHER = "publisher"; 4517 /** 4518 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 4519 * <p> 4520 * Description: <b>Name of the publisher of the measure</b><br> 4521 * Type: <b>string</b><br> 4522 * Path: <b>Measure.publisher</b><br> 4523 * </p> 4524 */ 4525 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 4526 4527 /** 4528 * Search parameter: <b>topic</b> 4529 * <p> 4530 * Description: <b>Topics associated with the module</b><br> 4531 * Type: <b>token</b><br> 4532 * Path: <b>Measure.topic</b><br> 4533 * </p> 4534 */ 4535 @SearchParamDefinition(name="topic", path="Measure.topic", description="Topics associated with the module", type="token" ) 4536 public static final String SP_TOPIC = "topic"; 4537 /** 4538 * <b>Fluent Client</b> search parameter constant for <b>topic</b> 4539 * <p> 4540 * Description: <b>Topics associated with the module</b><br> 4541 * Type: <b>token</b><br> 4542 * Path: <b>Measure.topic</b><br> 4543 * </p> 4544 */ 4545 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); 4546 4547 /** 4548 * Search parameter: <b>status</b> 4549 * <p> 4550 * Description: <b>The current status of the measure</b><br> 4551 * Type: <b>token</b><br> 4552 * Path: <b>Measure.status</b><br> 4553 * </p> 4554 */ 4555 @SearchParamDefinition(name="status", path="Measure.status", description="The current status of the measure", type="token" ) 4556 public static final String SP_STATUS = "status"; 4557 /** 4558 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4559 * <p> 4560 * Description: <b>The current status of the measure</b><br> 4561 * Type: <b>token</b><br> 4562 * Path: <b>Measure.status</b><br> 4563 * </p> 4564 */ 4565 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4566 4567 4568} 4569