![](/hapi-fhir/images/logos/raccoon-forwards.png)
001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. 052 */ 053@ResourceDef(name="ObservationDefinition", profile="http://hl7.org/fhir/StructureDefinition/ObservationDefinition") 054public class ObservationDefinition extends DomainResource { 055 056 public enum ObservationDataType { 057 /** 058 * A measured amount. 059 */ 060 QUANTITY, 061 /** 062 * A coded concept from a reference terminology and/or text. 063 */ 064 CODEABLECONCEPT, 065 /** 066 * A sequence of Unicode characters. 067 */ 068 STRING, 069 /** 070 * true or false. 071 */ 072 BOOLEAN, 073 /** 074 * A signed integer. 075 */ 076 INTEGER, 077 /** 078 * A set of values bounded by low and high. 079 */ 080 RANGE, 081 /** 082 * A ratio of two Quantity values - a numerator and a denominator. 083 */ 084 RATIO, 085 /** 086 * A series of measurements taken by a device. 087 */ 088 SAMPLEDDATA, 089 /** 090 * A time during the day, in the format hh:mm:ss. 091 */ 092 TIME, 093 /** 094 * A date, date-time or partial date (e.g. just year or year + month) as used in human communication. 095 */ 096 DATETIME, 097 /** 098 * A time range defined by start and end date/time. 099 */ 100 PERIOD, 101 /** 102 * added to help the parsers with the generic types 103 */ 104 NULL; 105 public static ObservationDataType fromCode(String codeString) throws FHIRException { 106 if (codeString == null || "".equals(codeString)) 107 return null; 108 if ("Quantity".equals(codeString)) 109 return QUANTITY; 110 if ("CodeableConcept".equals(codeString)) 111 return CODEABLECONCEPT; 112 if ("string".equals(codeString)) 113 return STRING; 114 if ("boolean".equals(codeString)) 115 return BOOLEAN; 116 if ("integer".equals(codeString)) 117 return INTEGER; 118 if ("Range".equals(codeString)) 119 return RANGE; 120 if ("Ratio".equals(codeString)) 121 return RATIO; 122 if ("SampledData".equals(codeString)) 123 return SAMPLEDDATA; 124 if ("time".equals(codeString)) 125 return TIME; 126 if ("dateTime".equals(codeString)) 127 return DATETIME; 128 if ("Period".equals(codeString)) 129 return PERIOD; 130 if (Configuration.isAcceptInvalidEnums()) 131 return null; 132 else 133 throw new FHIRException("Unknown ObservationDataType code '"+codeString+"'"); 134 } 135 public String toCode() { 136 switch (this) { 137 case QUANTITY: return "Quantity"; 138 case CODEABLECONCEPT: return "CodeableConcept"; 139 case STRING: return "string"; 140 case BOOLEAN: return "boolean"; 141 case INTEGER: return "integer"; 142 case RANGE: return "Range"; 143 case RATIO: return "Ratio"; 144 case SAMPLEDDATA: return "SampledData"; 145 case TIME: return "time"; 146 case DATETIME: return "dateTime"; 147 case PERIOD: return "Period"; 148 case NULL: return null; 149 default: return "?"; 150 } 151 } 152 public String getSystem() { 153 switch (this) { 154 case QUANTITY: return "http://hl7.org/fhir/permitted-data-type"; 155 case CODEABLECONCEPT: return "http://hl7.org/fhir/permitted-data-type"; 156 case STRING: return "http://hl7.org/fhir/permitted-data-type"; 157 case BOOLEAN: return "http://hl7.org/fhir/permitted-data-type"; 158 case INTEGER: return "http://hl7.org/fhir/permitted-data-type"; 159 case RANGE: return "http://hl7.org/fhir/permitted-data-type"; 160 case RATIO: return "http://hl7.org/fhir/permitted-data-type"; 161 case SAMPLEDDATA: return "http://hl7.org/fhir/permitted-data-type"; 162 case TIME: return "http://hl7.org/fhir/permitted-data-type"; 163 case DATETIME: return "http://hl7.org/fhir/permitted-data-type"; 164 case PERIOD: return "http://hl7.org/fhir/permitted-data-type"; 165 case NULL: return null; 166 default: return "?"; 167 } 168 } 169 public String getDefinition() { 170 switch (this) { 171 case QUANTITY: return "A measured amount."; 172 case CODEABLECONCEPT: return "A coded concept from a reference terminology and/or text."; 173 case STRING: return "A sequence of Unicode characters."; 174 case BOOLEAN: return "true or false."; 175 case INTEGER: return "A signed integer."; 176 case RANGE: return "A set of values bounded by low and high."; 177 case RATIO: return "A ratio of two Quantity values - a numerator and a denominator."; 178 case SAMPLEDDATA: return "A series of measurements taken by a device."; 179 case TIME: return "A time during the day, in the format hh:mm:ss."; 180 case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month) as used in human communication."; 181 case PERIOD: return "A time range defined by start and end date/time."; 182 case NULL: return null; 183 default: return "?"; 184 } 185 } 186 public String getDisplay() { 187 switch (this) { 188 case QUANTITY: return "Quantity"; 189 case CODEABLECONCEPT: return "CodeableConcept"; 190 case STRING: return "string"; 191 case BOOLEAN: return "boolean"; 192 case INTEGER: return "integer"; 193 case RANGE: return "Range"; 194 case RATIO: return "Ratio"; 195 case SAMPLEDDATA: return "SampledData"; 196 case TIME: return "time"; 197 case DATETIME: return "dateTime"; 198 case PERIOD: return "Period"; 199 case NULL: return null; 200 default: return "?"; 201 } 202 } 203 } 204 205 public static class ObservationDataTypeEnumFactory implements EnumFactory<ObservationDataType> { 206 public ObservationDataType fromCode(String codeString) throws IllegalArgumentException { 207 if (codeString == null || "".equals(codeString)) 208 if (codeString == null || "".equals(codeString)) 209 return null; 210 if ("Quantity".equals(codeString)) 211 return ObservationDataType.QUANTITY; 212 if ("CodeableConcept".equals(codeString)) 213 return ObservationDataType.CODEABLECONCEPT; 214 if ("string".equals(codeString)) 215 return ObservationDataType.STRING; 216 if ("boolean".equals(codeString)) 217 return ObservationDataType.BOOLEAN; 218 if ("integer".equals(codeString)) 219 return ObservationDataType.INTEGER; 220 if ("Range".equals(codeString)) 221 return ObservationDataType.RANGE; 222 if ("Ratio".equals(codeString)) 223 return ObservationDataType.RATIO; 224 if ("SampledData".equals(codeString)) 225 return ObservationDataType.SAMPLEDDATA; 226 if ("time".equals(codeString)) 227 return ObservationDataType.TIME; 228 if ("dateTime".equals(codeString)) 229 return ObservationDataType.DATETIME; 230 if ("Period".equals(codeString)) 231 return ObservationDataType.PERIOD; 232 throw new IllegalArgumentException("Unknown ObservationDataType code '"+codeString+"'"); 233 } 234 public Enumeration<ObservationDataType> fromType(PrimitiveType<?> code) throws FHIRException { 235 if (code == null) 236 return null; 237 if (code.isEmpty()) 238 return new Enumeration<ObservationDataType>(this, ObservationDataType.NULL, code); 239 String codeString = ((PrimitiveType) code).asStringValue(); 240 if (codeString == null || "".equals(codeString)) 241 return new Enumeration<ObservationDataType>(this, ObservationDataType.NULL, code); 242 if ("Quantity".equals(codeString)) 243 return new Enumeration<ObservationDataType>(this, ObservationDataType.QUANTITY, code); 244 if ("CodeableConcept".equals(codeString)) 245 return new Enumeration<ObservationDataType>(this, ObservationDataType.CODEABLECONCEPT, code); 246 if ("string".equals(codeString)) 247 return new Enumeration<ObservationDataType>(this, ObservationDataType.STRING, code); 248 if ("boolean".equals(codeString)) 249 return new Enumeration<ObservationDataType>(this, ObservationDataType.BOOLEAN, code); 250 if ("integer".equals(codeString)) 251 return new Enumeration<ObservationDataType>(this, ObservationDataType.INTEGER, code); 252 if ("Range".equals(codeString)) 253 return new Enumeration<ObservationDataType>(this, ObservationDataType.RANGE, code); 254 if ("Ratio".equals(codeString)) 255 return new Enumeration<ObservationDataType>(this, ObservationDataType.RATIO, code); 256 if ("SampledData".equals(codeString)) 257 return new Enumeration<ObservationDataType>(this, ObservationDataType.SAMPLEDDATA, code); 258 if ("time".equals(codeString)) 259 return new Enumeration<ObservationDataType>(this, ObservationDataType.TIME, code); 260 if ("dateTime".equals(codeString)) 261 return new Enumeration<ObservationDataType>(this, ObservationDataType.DATETIME, code); 262 if ("Period".equals(codeString)) 263 return new Enumeration<ObservationDataType>(this, ObservationDataType.PERIOD, code); 264 throw new FHIRException("Unknown ObservationDataType code '"+codeString+"'"); 265 } 266 public String toCode(ObservationDataType code) { 267 if (code == ObservationDataType.QUANTITY) 268 return "Quantity"; 269 if (code == ObservationDataType.CODEABLECONCEPT) 270 return "CodeableConcept"; 271 if (code == ObservationDataType.STRING) 272 return "string"; 273 if (code == ObservationDataType.BOOLEAN) 274 return "boolean"; 275 if (code == ObservationDataType.INTEGER) 276 return "integer"; 277 if (code == ObservationDataType.RANGE) 278 return "Range"; 279 if (code == ObservationDataType.RATIO) 280 return "Ratio"; 281 if (code == ObservationDataType.SAMPLEDDATA) 282 return "SampledData"; 283 if (code == ObservationDataType.TIME) 284 return "time"; 285 if (code == ObservationDataType.DATETIME) 286 return "dateTime"; 287 if (code == ObservationDataType.PERIOD) 288 return "Period"; 289 return "?"; 290 } 291 public String toSystem(ObservationDataType code) { 292 return code.getSystem(); 293 } 294 } 295 296 public enum ObservationRangeCategory { 297 /** 298 * Reference (Normal) Range for Ordinal and Continuous Observations. 299 */ 300 REFERENCE, 301 /** 302 * Critical Range for Ordinal and Continuous Observations. Results outside this range are critical. 303 */ 304 CRITICAL, 305 /** 306 * Absolute Range for Ordinal and Continuous Observations. Results outside this range are not possible. 307 */ 308 ABSOLUTE, 309 /** 310 * added to help the parsers with the generic types 311 */ 312 NULL; 313 public static ObservationRangeCategory fromCode(String codeString) throws FHIRException { 314 if (codeString == null || "".equals(codeString)) 315 return null; 316 if ("reference".equals(codeString)) 317 return REFERENCE; 318 if ("critical".equals(codeString)) 319 return CRITICAL; 320 if ("absolute".equals(codeString)) 321 return ABSOLUTE; 322 if (Configuration.isAcceptInvalidEnums()) 323 return null; 324 else 325 throw new FHIRException("Unknown ObservationRangeCategory code '"+codeString+"'"); 326 } 327 public String toCode() { 328 switch (this) { 329 case REFERENCE: return "reference"; 330 case CRITICAL: return "critical"; 331 case ABSOLUTE: return "absolute"; 332 case NULL: return null; 333 default: return "?"; 334 } 335 } 336 public String getSystem() { 337 switch (this) { 338 case REFERENCE: return "http://hl7.org/fhir/observation-range-category"; 339 case CRITICAL: return "http://hl7.org/fhir/observation-range-category"; 340 case ABSOLUTE: return "http://hl7.org/fhir/observation-range-category"; 341 case NULL: return null; 342 default: return "?"; 343 } 344 } 345 public String getDefinition() { 346 switch (this) { 347 case REFERENCE: return "Reference (Normal) Range for Ordinal and Continuous Observations."; 348 case CRITICAL: return "Critical Range for Ordinal and Continuous Observations. Results outside this range are critical."; 349 case ABSOLUTE: return "Absolute Range for Ordinal and Continuous Observations. Results outside this range are not possible."; 350 case NULL: return null; 351 default: return "?"; 352 } 353 } 354 public String getDisplay() { 355 switch (this) { 356 case REFERENCE: return "reference range"; 357 case CRITICAL: return "critical range"; 358 case ABSOLUTE: return "absolute range"; 359 case NULL: return null; 360 default: return "?"; 361 } 362 } 363 } 364 365 public static class ObservationRangeCategoryEnumFactory implements EnumFactory<ObservationRangeCategory> { 366 public ObservationRangeCategory fromCode(String codeString) throws IllegalArgumentException { 367 if (codeString == null || "".equals(codeString)) 368 if (codeString == null || "".equals(codeString)) 369 return null; 370 if ("reference".equals(codeString)) 371 return ObservationRangeCategory.REFERENCE; 372 if ("critical".equals(codeString)) 373 return ObservationRangeCategory.CRITICAL; 374 if ("absolute".equals(codeString)) 375 return ObservationRangeCategory.ABSOLUTE; 376 throw new IllegalArgumentException("Unknown ObservationRangeCategory code '"+codeString+"'"); 377 } 378 public Enumeration<ObservationRangeCategory> fromType(PrimitiveType<?> code) throws FHIRException { 379 if (code == null) 380 return null; 381 if (code.isEmpty()) 382 return new Enumeration<ObservationRangeCategory>(this, ObservationRangeCategory.NULL, code); 383 String codeString = ((PrimitiveType) code).asStringValue(); 384 if (codeString == null || "".equals(codeString)) 385 return new Enumeration<ObservationRangeCategory>(this, ObservationRangeCategory.NULL, code); 386 if ("reference".equals(codeString)) 387 return new Enumeration<ObservationRangeCategory>(this, ObservationRangeCategory.REFERENCE, code); 388 if ("critical".equals(codeString)) 389 return new Enumeration<ObservationRangeCategory>(this, ObservationRangeCategory.CRITICAL, code); 390 if ("absolute".equals(codeString)) 391 return new Enumeration<ObservationRangeCategory>(this, ObservationRangeCategory.ABSOLUTE, code); 392 throw new FHIRException("Unknown ObservationRangeCategory code '"+codeString+"'"); 393 } 394 public String toCode(ObservationRangeCategory code) { 395 if (code == ObservationRangeCategory.REFERENCE) 396 return "reference"; 397 if (code == ObservationRangeCategory.CRITICAL) 398 return "critical"; 399 if (code == ObservationRangeCategory.ABSOLUTE) 400 return "absolute"; 401 return "?"; 402 } 403 public String toSystem(ObservationRangeCategory code) { 404 return code.getSystem(); 405 } 406 } 407 408 @Block() 409 public static class ObservationDefinitionQualifiedValueComponent extends BackboneElement implements IBaseBackboneElement { 410 /** 411 * A concept defining the context for this set of qualified values. 412 */ 413 @Child(name = "context", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 414 @Description(shortDefinition="Context qualifier for the set of qualified values", formalDefinition="A concept defining the context for this set of qualified values." ) 415 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/referencerange-meaning") 416 protected CodeableConcept context; 417 418 /** 419 * The target population this set of qualified values applies to. 420 */ 421 @Child(name = "appliesTo", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 422 @Description(shortDefinition="Targetted population for the set of qualified values", formalDefinition="The target population this set of qualified values applies to." ) 423 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/referencerange-appliesto") 424 protected List<CodeableConcept> appliesTo; 425 426 /** 427 * The gender this set of qualified values applies to. 428 */ 429 @Child(name = "gender", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 430 @Description(shortDefinition="male | female | other | unknown", formalDefinition="The gender this set of qualified values applies to." ) 431 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administrative-gender") 432 protected Enumeration<AdministrativeGender> gender; 433 434 /** 435 * The age range this set of qualified values applies to. 436 */ 437 @Child(name = "age", type = {Range.class}, order=4, min=0, max=1, modifier=false, summary=false) 438 @Description(shortDefinition="Applicable age range for the set of qualified values", formalDefinition="The age range this set of qualified values applies to." ) 439 protected Range age; 440 441 /** 442 * The gestational age this set of qualified values applies to. 443 */ 444 @Child(name = "gestationalAge", type = {Range.class}, order=5, min=0, max=1, modifier=false, summary=false) 445 @Description(shortDefinition="Applicable gestational age range for the set of qualified values", formalDefinition="The gestational age this set of qualified values applies to." ) 446 protected Range gestationalAge; 447 448 /** 449 * Text based condition for which the the set of qualified values is valid. 450 */ 451 @Child(name = "condition", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 452 @Description(shortDefinition="Condition associated with the set of qualified values", formalDefinition="Text based condition for which the the set of qualified values is valid." ) 453 protected StringType condition; 454 455 /** 456 * The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values. 457 */ 458 @Child(name = "rangeCategory", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) 459 @Description(shortDefinition="reference | critical | absolute", formalDefinition="The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values." ) 460 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-range-category") 461 protected Enumeration<ObservationRangeCategory> rangeCategory; 462 463 /** 464 * The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values. 465 */ 466 @Child(name = "range", type = {Range.class}, order=8, min=0, max=1, modifier=false, summary=false) 467 @Description(shortDefinition="The range for continuous or ordinal observations", formalDefinition="The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values." ) 468 protected Range range; 469 470 /** 471 * The set of valid coded results for qualitative observations that match the criteria of this set of qualified values. 472 */ 473 @Child(name = "validCodedValueSet", type = {CanonicalType.class}, order=9, min=0, max=1, modifier=false, summary=false) 474 @Description(shortDefinition="Value set of valid coded values as part of this set of qualified values", formalDefinition="The set of valid coded results for qualitative observations that match the criteria of this set of qualified values." ) 475 protected CanonicalType validCodedValueSet; 476 477 /** 478 * The set of normal coded results for qualitative observations that match the criteria of this set of qualified values. 479 */ 480 @Child(name = "normalCodedValueSet", type = {CanonicalType.class}, order=10, min=0, max=1, modifier=false, summary=false) 481 @Description(shortDefinition="Value set of normal coded values as part of this set of qualified values", formalDefinition="The set of normal coded results for qualitative observations that match the criteria of this set of qualified values." ) 482 protected CanonicalType normalCodedValueSet; 483 484 /** 485 * The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values. 486 */ 487 @Child(name = "abnormalCodedValueSet", type = {CanonicalType.class}, order=11, min=0, max=1, modifier=false, summary=false) 488 @Description(shortDefinition="Value set of abnormal coded values as part of this set of qualified values", formalDefinition="The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values." ) 489 protected CanonicalType abnormalCodedValueSet; 490 491 /** 492 * The set of critical coded results for qualitative observations that match the criteria of this set of qualified values. 493 */ 494 @Child(name = "criticalCodedValueSet", type = {CanonicalType.class}, order=12, min=0, max=1, modifier=false, summary=false) 495 @Description(shortDefinition="Value set of critical coded values as part of this set of qualified values", formalDefinition="The set of critical coded results for qualitative observations that match the criteria of this set of qualified values." ) 496 protected CanonicalType criticalCodedValueSet; 497 498 private static final long serialVersionUID = -538666361L; 499 500 /** 501 * Constructor 502 */ 503 public ObservationDefinitionQualifiedValueComponent() { 504 super(); 505 } 506 507 /** 508 * @return {@link #context} (A concept defining the context for this set of qualified values.) 509 */ 510 public CodeableConcept getContext() { 511 if (this.context == null) 512 if (Configuration.errorOnAutoCreate()) 513 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.context"); 514 else if (Configuration.doAutoCreate()) 515 this.context = new CodeableConcept(); // cc 516 return this.context; 517 } 518 519 public boolean hasContext() { 520 return this.context != null && !this.context.isEmpty(); 521 } 522 523 /** 524 * @param value {@link #context} (A concept defining the context for this set of qualified values.) 525 */ 526 public ObservationDefinitionQualifiedValueComponent setContext(CodeableConcept value) { 527 this.context = value; 528 return this; 529 } 530 531 /** 532 * @return {@link #appliesTo} (The target population this set of qualified values applies to.) 533 */ 534 public List<CodeableConcept> getAppliesTo() { 535 if (this.appliesTo == null) 536 this.appliesTo = new ArrayList<CodeableConcept>(); 537 return this.appliesTo; 538 } 539 540 /** 541 * @return Returns a reference to <code>this</code> for easy method chaining 542 */ 543 public ObservationDefinitionQualifiedValueComponent setAppliesTo(List<CodeableConcept> theAppliesTo) { 544 this.appliesTo = theAppliesTo; 545 return this; 546 } 547 548 public boolean hasAppliesTo() { 549 if (this.appliesTo == null) 550 return false; 551 for (CodeableConcept item : this.appliesTo) 552 if (!item.isEmpty()) 553 return true; 554 return false; 555 } 556 557 public CodeableConcept addAppliesTo() { //3 558 CodeableConcept t = new CodeableConcept(); 559 if (this.appliesTo == null) 560 this.appliesTo = new ArrayList<CodeableConcept>(); 561 this.appliesTo.add(t); 562 return t; 563 } 564 565 public ObservationDefinitionQualifiedValueComponent addAppliesTo(CodeableConcept t) { //3 566 if (t == null) 567 return this; 568 if (this.appliesTo == null) 569 this.appliesTo = new ArrayList<CodeableConcept>(); 570 this.appliesTo.add(t); 571 return this; 572 } 573 574 /** 575 * @return The first repetition of repeating field {@link #appliesTo}, creating it if it does not already exist {3} 576 */ 577 public CodeableConcept getAppliesToFirstRep() { 578 if (getAppliesTo().isEmpty()) { 579 addAppliesTo(); 580 } 581 return getAppliesTo().get(0); 582 } 583 584 /** 585 * @return {@link #gender} (The gender this set of qualified values applies to.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 586 */ 587 public Enumeration<AdministrativeGender> getGenderElement() { 588 if (this.gender == null) 589 if (Configuration.errorOnAutoCreate()) 590 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.gender"); 591 else if (Configuration.doAutoCreate()) 592 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); // bb 593 return this.gender; 594 } 595 596 public boolean hasGenderElement() { 597 return this.gender != null && !this.gender.isEmpty(); 598 } 599 600 public boolean hasGender() { 601 return this.gender != null && !this.gender.isEmpty(); 602 } 603 604 /** 605 * @param value {@link #gender} (The gender this set of qualified values applies to.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value 606 */ 607 public ObservationDefinitionQualifiedValueComponent setGenderElement(Enumeration<AdministrativeGender> value) { 608 this.gender = value; 609 return this; 610 } 611 612 /** 613 * @return The gender this set of qualified values applies to. 614 */ 615 public AdministrativeGender getGender() { 616 return this.gender == null ? null : this.gender.getValue(); 617 } 618 619 /** 620 * @param value The gender this set of qualified values applies to. 621 */ 622 public ObservationDefinitionQualifiedValueComponent setGender(AdministrativeGender value) { 623 if (value == null) 624 this.gender = null; 625 else { 626 if (this.gender == null) 627 this.gender = new Enumeration<AdministrativeGender>(new AdministrativeGenderEnumFactory()); 628 this.gender.setValue(value); 629 } 630 return this; 631 } 632 633 /** 634 * @return {@link #age} (The age range this set of qualified values applies to.) 635 */ 636 public Range getAge() { 637 if (this.age == null) 638 if (Configuration.errorOnAutoCreate()) 639 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.age"); 640 else if (Configuration.doAutoCreate()) 641 this.age = new Range(); // cc 642 return this.age; 643 } 644 645 public boolean hasAge() { 646 return this.age != null && !this.age.isEmpty(); 647 } 648 649 /** 650 * @param value {@link #age} (The age range this set of qualified values applies to.) 651 */ 652 public ObservationDefinitionQualifiedValueComponent setAge(Range value) { 653 this.age = value; 654 return this; 655 } 656 657 /** 658 * @return {@link #gestationalAge} (The gestational age this set of qualified values applies to.) 659 */ 660 public Range getGestationalAge() { 661 if (this.gestationalAge == null) 662 if (Configuration.errorOnAutoCreate()) 663 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.gestationalAge"); 664 else if (Configuration.doAutoCreate()) 665 this.gestationalAge = new Range(); // cc 666 return this.gestationalAge; 667 } 668 669 public boolean hasGestationalAge() { 670 return this.gestationalAge != null && !this.gestationalAge.isEmpty(); 671 } 672 673 /** 674 * @param value {@link #gestationalAge} (The gestational age this set of qualified values applies to.) 675 */ 676 public ObservationDefinitionQualifiedValueComponent setGestationalAge(Range value) { 677 this.gestationalAge = value; 678 return this; 679 } 680 681 /** 682 * @return {@link #condition} (Text based condition for which the the set of qualified values is valid.). This is the underlying object with id, value and extensions. The accessor "getCondition" gives direct access to the value 683 */ 684 public StringType getConditionElement() { 685 if (this.condition == null) 686 if (Configuration.errorOnAutoCreate()) 687 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.condition"); 688 else if (Configuration.doAutoCreate()) 689 this.condition = new StringType(); // bb 690 return this.condition; 691 } 692 693 public boolean hasConditionElement() { 694 return this.condition != null && !this.condition.isEmpty(); 695 } 696 697 public boolean hasCondition() { 698 return this.condition != null && !this.condition.isEmpty(); 699 } 700 701 /** 702 * @param value {@link #condition} (Text based condition for which the the set of qualified values is valid.). This is the underlying object with id, value and extensions. The accessor "getCondition" gives direct access to the value 703 */ 704 public ObservationDefinitionQualifiedValueComponent setConditionElement(StringType value) { 705 this.condition = value; 706 return this; 707 } 708 709 /** 710 * @return Text based condition for which the the set of qualified values is valid. 711 */ 712 public String getCondition() { 713 return this.condition == null ? null : this.condition.getValue(); 714 } 715 716 /** 717 * @param value Text based condition for which the the set of qualified values is valid. 718 */ 719 public ObservationDefinitionQualifiedValueComponent setCondition(String value) { 720 if (Utilities.noString(value)) 721 this.condition = null; 722 else { 723 if (this.condition == null) 724 this.condition = new StringType(); 725 this.condition.setValue(value); 726 } 727 return this; 728 } 729 730 /** 731 * @return {@link #rangeCategory} (The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getRangeCategory" gives direct access to the value 732 */ 733 public Enumeration<ObservationRangeCategory> getRangeCategoryElement() { 734 if (this.rangeCategory == null) 735 if (Configuration.errorOnAutoCreate()) 736 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.rangeCategory"); 737 else if (Configuration.doAutoCreate()) 738 this.rangeCategory = new Enumeration<ObservationRangeCategory>(new ObservationRangeCategoryEnumFactory()); // bb 739 return this.rangeCategory; 740 } 741 742 public boolean hasRangeCategoryElement() { 743 return this.rangeCategory != null && !this.rangeCategory.isEmpty(); 744 } 745 746 public boolean hasRangeCategory() { 747 return this.rangeCategory != null && !this.rangeCategory.isEmpty(); 748 } 749 750 /** 751 * @param value {@link #rangeCategory} (The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getRangeCategory" gives direct access to the value 752 */ 753 public ObservationDefinitionQualifiedValueComponent setRangeCategoryElement(Enumeration<ObservationRangeCategory> value) { 754 this.rangeCategory = value; 755 return this; 756 } 757 758 /** 759 * @return The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values. 760 */ 761 public ObservationRangeCategory getRangeCategory() { 762 return this.rangeCategory == null ? null : this.rangeCategory.getValue(); 763 } 764 765 /** 766 * @param value The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values. 767 */ 768 public ObservationDefinitionQualifiedValueComponent setRangeCategory(ObservationRangeCategory value) { 769 if (value == null) 770 this.rangeCategory = null; 771 else { 772 if (this.rangeCategory == null) 773 this.rangeCategory = new Enumeration<ObservationRangeCategory>(new ObservationRangeCategoryEnumFactory()); 774 this.rangeCategory.setValue(value); 775 } 776 return this; 777 } 778 779 /** 780 * @return {@link #range} (The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values.) 781 */ 782 public Range getRange() { 783 if (this.range == null) 784 if (Configuration.errorOnAutoCreate()) 785 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.range"); 786 else if (Configuration.doAutoCreate()) 787 this.range = new Range(); // cc 788 return this.range; 789 } 790 791 public boolean hasRange() { 792 return this.range != null && !this.range.isEmpty(); 793 } 794 795 /** 796 * @param value {@link #range} (The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values.) 797 */ 798 public ObservationDefinitionQualifiedValueComponent setRange(Range value) { 799 this.range = value; 800 return this; 801 } 802 803 /** 804 * @return {@link #validCodedValueSet} (The set of valid coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getValidCodedValueSet" gives direct access to the value 805 */ 806 public CanonicalType getValidCodedValueSetElement() { 807 if (this.validCodedValueSet == null) 808 if (Configuration.errorOnAutoCreate()) 809 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.validCodedValueSet"); 810 else if (Configuration.doAutoCreate()) 811 this.validCodedValueSet = new CanonicalType(); // bb 812 return this.validCodedValueSet; 813 } 814 815 public boolean hasValidCodedValueSetElement() { 816 return this.validCodedValueSet != null && !this.validCodedValueSet.isEmpty(); 817 } 818 819 public boolean hasValidCodedValueSet() { 820 return this.validCodedValueSet != null && !this.validCodedValueSet.isEmpty(); 821 } 822 823 /** 824 * @param value {@link #validCodedValueSet} (The set of valid coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getValidCodedValueSet" gives direct access to the value 825 */ 826 public ObservationDefinitionQualifiedValueComponent setValidCodedValueSetElement(CanonicalType value) { 827 this.validCodedValueSet = value; 828 return this; 829 } 830 831 /** 832 * @return The set of valid coded results for qualitative observations that match the criteria of this set of qualified values. 833 */ 834 public String getValidCodedValueSet() { 835 return this.validCodedValueSet == null ? null : this.validCodedValueSet.getValue(); 836 } 837 838 /** 839 * @param value The set of valid coded results for qualitative observations that match the criteria of this set of qualified values. 840 */ 841 public ObservationDefinitionQualifiedValueComponent setValidCodedValueSet(String value) { 842 if (Utilities.noString(value)) 843 this.validCodedValueSet = null; 844 else { 845 if (this.validCodedValueSet == null) 846 this.validCodedValueSet = new CanonicalType(); 847 this.validCodedValueSet.setValue(value); 848 } 849 return this; 850 } 851 852 /** 853 * @return {@link #normalCodedValueSet} (The set of normal coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getNormalCodedValueSet" gives direct access to the value 854 */ 855 public CanonicalType getNormalCodedValueSetElement() { 856 if (this.normalCodedValueSet == null) 857 if (Configuration.errorOnAutoCreate()) 858 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.normalCodedValueSet"); 859 else if (Configuration.doAutoCreate()) 860 this.normalCodedValueSet = new CanonicalType(); // bb 861 return this.normalCodedValueSet; 862 } 863 864 public boolean hasNormalCodedValueSetElement() { 865 return this.normalCodedValueSet != null && !this.normalCodedValueSet.isEmpty(); 866 } 867 868 public boolean hasNormalCodedValueSet() { 869 return this.normalCodedValueSet != null && !this.normalCodedValueSet.isEmpty(); 870 } 871 872 /** 873 * @param value {@link #normalCodedValueSet} (The set of normal coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getNormalCodedValueSet" gives direct access to the value 874 */ 875 public ObservationDefinitionQualifiedValueComponent setNormalCodedValueSetElement(CanonicalType value) { 876 this.normalCodedValueSet = value; 877 return this; 878 } 879 880 /** 881 * @return The set of normal coded results for qualitative observations that match the criteria of this set of qualified values. 882 */ 883 public String getNormalCodedValueSet() { 884 return this.normalCodedValueSet == null ? null : this.normalCodedValueSet.getValue(); 885 } 886 887 /** 888 * @param value The set of normal coded results for qualitative observations that match the criteria of this set of qualified values. 889 */ 890 public ObservationDefinitionQualifiedValueComponent setNormalCodedValueSet(String value) { 891 if (Utilities.noString(value)) 892 this.normalCodedValueSet = null; 893 else { 894 if (this.normalCodedValueSet == null) 895 this.normalCodedValueSet = new CanonicalType(); 896 this.normalCodedValueSet.setValue(value); 897 } 898 return this; 899 } 900 901 /** 902 * @return {@link #abnormalCodedValueSet} (The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getAbnormalCodedValueSet" gives direct access to the value 903 */ 904 public CanonicalType getAbnormalCodedValueSetElement() { 905 if (this.abnormalCodedValueSet == null) 906 if (Configuration.errorOnAutoCreate()) 907 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.abnormalCodedValueSet"); 908 else if (Configuration.doAutoCreate()) 909 this.abnormalCodedValueSet = new CanonicalType(); // bb 910 return this.abnormalCodedValueSet; 911 } 912 913 public boolean hasAbnormalCodedValueSetElement() { 914 return this.abnormalCodedValueSet != null && !this.abnormalCodedValueSet.isEmpty(); 915 } 916 917 public boolean hasAbnormalCodedValueSet() { 918 return this.abnormalCodedValueSet != null && !this.abnormalCodedValueSet.isEmpty(); 919 } 920 921 /** 922 * @param value {@link #abnormalCodedValueSet} (The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getAbnormalCodedValueSet" gives direct access to the value 923 */ 924 public ObservationDefinitionQualifiedValueComponent setAbnormalCodedValueSetElement(CanonicalType value) { 925 this.abnormalCodedValueSet = value; 926 return this; 927 } 928 929 /** 930 * @return The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values. 931 */ 932 public String getAbnormalCodedValueSet() { 933 return this.abnormalCodedValueSet == null ? null : this.abnormalCodedValueSet.getValue(); 934 } 935 936 /** 937 * @param value The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values. 938 */ 939 public ObservationDefinitionQualifiedValueComponent setAbnormalCodedValueSet(String value) { 940 if (Utilities.noString(value)) 941 this.abnormalCodedValueSet = null; 942 else { 943 if (this.abnormalCodedValueSet == null) 944 this.abnormalCodedValueSet = new CanonicalType(); 945 this.abnormalCodedValueSet.setValue(value); 946 } 947 return this; 948 } 949 950 /** 951 * @return {@link #criticalCodedValueSet} (The set of critical coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getCriticalCodedValueSet" gives direct access to the value 952 */ 953 public CanonicalType getCriticalCodedValueSetElement() { 954 if (this.criticalCodedValueSet == null) 955 if (Configuration.errorOnAutoCreate()) 956 throw new Error("Attempt to auto-create ObservationDefinitionQualifiedValueComponent.criticalCodedValueSet"); 957 else if (Configuration.doAutoCreate()) 958 this.criticalCodedValueSet = new CanonicalType(); // bb 959 return this.criticalCodedValueSet; 960 } 961 962 public boolean hasCriticalCodedValueSetElement() { 963 return this.criticalCodedValueSet != null && !this.criticalCodedValueSet.isEmpty(); 964 } 965 966 public boolean hasCriticalCodedValueSet() { 967 return this.criticalCodedValueSet != null && !this.criticalCodedValueSet.isEmpty(); 968 } 969 970 /** 971 * @param value {@link #criticalCodedValueSet} (The set of critical coded results for qualitative observations that match the criteria of this set of qualified values.). This is the underlying object with id, value and extensions. The accessor "getCriticalCodedValueSet" gives direct access to the value 972 */ 973 public ObservationDefinitionQualifiedValueComponent setCriticalCodedValueSetElement(CanonicalType value) { 974 this.criticalCodedValueSet = value; 975 return this; 976 } 977 978 /** 979 * @return The set of critical coded results for qualitative observations that match the criteria of this set of qualified values. 980 */ 981 public String getCriticalCodedValueSet() { 982 return this.criticalCodedValueSet == null ? null : this.criticalCodedValueSet.getValue(); 983 } 984 985 /** 986 * @param value The set of critical coded results for qualitative observations that match the criteria of this set of qualified values. 987 */ 988 public ObservationDefinitionQualifiedValueComponent setCriticalCodedValueSet(String value) { 989 if (Utilities.noString(value)) 990 this.criticalCodedValueSet = null; 991 else { 992 if (this.criticalCodedValueSet == null) 993 this.criticalCodedValueSet = new CanonicalType(); 994 this.criticalCodedValueSet.setValue(value); 995 } 996 return this; 997 } 998 999 protected void listChildren(List<Property> children) { 1000 super.listChildren(children); 1001 children.add(new Property("context", "CodeableConcept", "A concept defining the context for this set of qualified values.", 0, 1, context)); 1002 children.add(new Property("appliesTo", "CodeableConcept", "The target population this set of qualified values applies to.", 0, java.lang.Integer.MAX_VALUE, appliesTo)); 1003 children.add(new Property("gender", "code", "The gender this set of qualified values applies to.", 0, 1, gender)); 1004 children.add(new Property("age", "Range", "The age range this set of qualified values applies to.", 0, 1, age)); 1005 children.add(new Property("gestationalAge", "Range", "The gestational age this set of qualified values applies to.", 0, 1, gestationalAge)); 1006 children.add(new Property("condition", "string", "Text based condition for which the the set of qualified values is valid.", 0, 1, condition)); 1007 children.add(new Property("rangeCategory", "code", "The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values.", 0, 1, rangeCategory)); 1008 children.add(new Property("range", "Range", "The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values.", 0, 1, range)); 1009 children.add(new Property("validCodedValueSet", "canonical(ValueSet)", "The set of valid coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, validCodedValueSet)); 1010 children.add(new Property("normalCodedValueSet", "canonical(ValueSet)", "The set of normal coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, normalCodedValueSet)); 1011 children.add(new Property("abnormalCodedValueSet", "canonical(ValueSet)", "The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, abnormalCodedValueSet)); 1012 children.add(new Property("criticalCodedValueSet", "canonical(ValueSet)", "The set of critical coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, criticalCodedValueSet)); 1013 } 1014 1015 @Override 1016 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1017 switch (_hash) { 1018 case 951530927: /*context*/ return new Property("context", "CodeableConcept", "A concept defining the context for this set of qualified values.", 0, 1, context); 1019 case -2089924569: /*appliesTo*/ return new Property("appliesTo", "CodeableConcept", "The target population this set of qualified values applies to.", 0, java.lang.Integer.MAX_VALUE, appliesTo); 1020 case -1249512767: /*gender*/ return new Property("gender", "code", "The gender this set of qualified values applies to.", 0, 1, gender); 1021 case 96511: /*age*/ return new Property("age", "Range", "The age range this set of qualified values applies to.", 0, 1, age); 1022 case -241217538: /*gestationalAge*/ return new Property("gestationalAge", "Range", "The gestational age this set of qualified values applies to.", 0, 1, gestationalAge); 1023 case -861311717: /*condition*/ return new Property("condition", "string", "Text based condition for which the the set of qualified values is valid.", 0, 1, condition); 1024 case -363410085: /*rangeCategory*/ return new Property("rangeCategory", "code", "The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified values.", 0, 1, rangeCategory); 1025 case 108280125: /*range*/ return new Property("range", "Range", "The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified values.", 0, 1, range); 1026 case 1374640076: /*validCodedValueSet*/ return new Property("validCodedValueSet", "canonical(ValueSet)", "The set of valid coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, validCodedValueSet); 1027 case -837500735: /*normalCodedValueSet*/ return new Property("normalCodedValueSet", "canonical(ValueSet)", "The set of normal coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, normalCodedValueSet); 1028 case 1073600256: /*abnormalCodedValueSet*/ return new Property("abnormalCodedValueSet", "canonical(ValueSet)", "The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, abnormalCodedValueSet); 1029 case 2568457: /*criticalCodedValueSet*/ return new Property("criticalCodedValueSet", "canonical(ValueSet)", "The set of critical coded results for qualitative observations that match the criteria of this set of qualified values.", 0, 1, criticalCodedValueSet); 1030 default: return super.getNamedProperty(_hash, _name, _checkValid); 1031 } 1032 1033 } 1034 1035 @Override 1036 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1037 switch (hash) { 1038 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // CodeableConcept 1039 case -2089924569: /*appliesTo*/ return this.appliesTo == null ? new Base[0] : this.appliesTo.toArray(new Base[this.appliesTo.size()]); // CodeableConcept 1040 case -1249512767: /*gender*/ return this.gender == null ? new Base[0] : new Base[] {this.gender}; // Enumeration<AdministrativeGender> 1041 case 96511: /*age*/ return this.age == null ? new Base[0] : new Base[] {this.age}; // Range 1042 case -241217538: /*gestationalAge*/ return this.gestationalAge == null ? new Base[0] : new Base[] {this.gestationalAge}; // Range 1043 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // StringType 1044 case -363410085: /*rangeCategory*/ return this.rangeCategory == null ? new Base[0] : new Base[] {this.rangeCategory}; // Enumeration<ObservationRangeCategory> 1045 case 108280125: /*range*/ return this.range == null ? new Base[0] : new Base[] {this.range}; // Range 1046 case 1374640076: /*validCodedValueSet*/ return this.validCodedValueSet == null ? new Base[0] : new Base[] {this.validCodedValueSet}; // CanonicalType 1047 case -837500735: /*normalCodedValueSet*/ return this.normalCodedValueSet == null ? new Base[0] : new Base[] {this.normalCodedValueSet}; // CanonicalType 1048 case 1073600256: /*abnormalCodedValueSet*/ return this.abnormalCodedValueSet == null ? new Base[0] : new Base[] {this.abnormalCodedValueSet}; // CanonicalType 1049 case 2568457: /*criticalCodedValueSet*/ return this.criticalCodedValueSet == null ? new Base[0] : new Base[] {this.criticalCodedValueSet}; // CanonicalType 1050 default: return super.getProperty(hash, name, checkValid); 1051 } 1052 1053 } 1054 1055 @Override 1056 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1057 switch (hash) { 1058 case 951530927: // context 1059 this.context = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1060 return value; 1061 case -2089924569: // appliesTo 1062 this.getAppliesTo().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1063 return value; 1064 case -1249512767: // gender 1065 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1066 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1067 return value; 1068 case 96511: // age 1069 this.age = TypeConvertor.castToRange(value); // Range 1070 return value; 1071 case -241217538: // gestationalAge 1072 this.gestationalAge = TypeConvertor.castToRange(value); // Range 1073 return value; 1074 case -861311717: // condition 1075 this.condition = TypeConvertor.castToString(value); // StringType 1076 return value; 1077 case -363410085: // rangeCategory 1078 value = new ObservationRangeCategoryEnumFactory().fromType(TypeConvertor.castToCode(value)); 1079 this.rangeCategory = (Enumeration) value; // Enumeration<ObservationRangeCategory> 1080 return value; 1081 case 108280125: // range 1082 this.range = TypeConvertor.castToRange(value); // Range 1083 return value; 1084 case 1374640076: // validCodedValueSet 1085 this.validCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1086 return value; 1087 case -837500735: // normalCodedValueSet 1088 this.normalCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1089 return value; 1090 case 1073600256: // abnormalCodedValueSet 1091 this.abnormalCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1092 return value; 1093 case 2568457: // criticalCodedValueSet 1094 this.criticalCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1095 return value; 1096 default: return super.setProperty(hash, name, value); 1097 } 1098 1099 } 1100 1101 @Override 1102 public Base setProperty(String name, Base value) throws FHIRException { 1103 if (name.equals("context")) { 1104 this.context = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1105 } else if (name.equals("appliesTo")) { 1106 this.getAppliesTo().add(TypeConvertor.castToCodeableConcept(value)); 1107 } else if (name.equals("gender")) { 1108 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1109 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1110 } else if (name.equals("age")) { 1111 this.age = TypeConvertor.castToRange(value); // Range 1112 } else if (name.equals("gestationalAge")) { 1113 this.gestationalAge = TypeConvertor.castToRange(value); // Range 1114 } else if (name.equals("condition")) { 1115 this.condition = TypeConvertor.castToString(value); // StringType 1116 } else if (name.equals("rangeCategory")) { 1117 value = new ObservationRangeCategoryEnumFactory().fromType(TypeConvertor.castToCode(value)); 1118 this.rangeCategory = (Enumeration) value; // Enumeration<ObservationRangeCategory> 1119 } else if (name.equals("range")) { 1120 this.range = TypeConvertor.castToRange(value); // Range 1121 } else if (name.equals("validCodedValueSet")) { 1122 this.validCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1123 } else if (name.equals("normalCodedValueSet")) { 1124 this.normalCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1125 } else if (name.equals("abnormalCodedValueSet")) { 1126 this.abnormalCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1127 } else if (name.equals("criticalCodedValueSet")) { 1128 this.criticalCodedValueSet = TypeConvertor.castToCanonical(value); // CanonicalType 1129 } else 1130 return super.setProperty(name, value); 1131 return value; 1132 } 1133 1134 @Override 1135 public void removeChild(String name, Base value) throws FHIRException { 1136 if (name.equals("context")) { 1137 this.context = null; 1138 } else if (name.equals("appliesTo")) { 1139 this.getAppliesTo().remove(value); 1140 } else if (name.equals("gender")) { 1141 value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); 1142 this.gender = (Enumeration) value; // Enumeration<AdministrativeGender> 1143 } else if (name.equals("age")) { 1144 this.age = null; 1145 } else if (name.equals("gestationalAge")) { 1146 this.gestationalAge = null; 1147 } else if (name.equals("condition")) { 1148 this.condition = null; 1149 } else if (name.equals("rangeCategory")) { 1150 value = new ObservationRangeCategoryEnumFactory().fromType(TypeConvertor.castToCode(value)); 1151 this.rangeCategory = (Enumeration) value; // Enumeration<ObservationRangeCategory> 1152 } else if (name.equals("range")) { 1153 this.range = null; 1154 } else if (name.equals("validCodedValueSet")) { 1155 this.validCodedValueSet = null; 1156 } else if (name.equals("normalCodedValueSet")) { 1157 this.normalCodedValueSet = null; 1158 } else if (name.equals("abnormalCodedValueSet")) { 1159 this.abnormalCodedValueSet = null; 1160 } else if (name.equals("criticalCodedValueSet")) { 1161 this.criticalCodedValueSet = null; 1162 } else 1163 super.removeChild(name, value); 1164 1165 } 1166 1167 @Override 1168 public Base makeProperty(int hash, String name) throws FHIRException { 1169 switch (hash) { 1170 case 951530927: return getContext(); 1171 case -2089924569: return addAppliesTo(); 1172 case -1249512767: return getGenderElement(); 1173 case 96511: return getAge(); 1174 case -241217538: return getGestationalAge(); 1175 case -861311717: return getConditionElement(); 1176 case -363410085: return getRangeCategoryElement(); 1177 case 108280125: return getRange(); 1178 case 1374640076: return getValidCodedValueSetElement(); 1179 case -837500735: return getNormalCodedValueSetElement(); 1180 case 1073600256: return getAbnormalCodedValueSetElement(); 1181 case 2568457: return getCriticalCodedValueSetElement(); 1182 default: return super.makeProperty(hash, name); 1183 } 1184 1185 } 1186 1187 @Override 1188 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1189 switch (hash) { 1190 case 951530927: /*context*/ return new String[] {"CodeableConcept"}; 1191 case -2089924569: /*appliesTo*/ return new String[] {"CodeableConcept"}; 1192 case -1249512767: /*gender*/ return new String[] {"code"}; 1193 case 96511: /*age*/ return new String[] {"Range"}; 1194 case -241217538: /*gestationalAge*/ return new String[] {"Range"}; 1195 case -861311717: /*condition*/ return new String[] {"string"}; 1196 case -363410085: /*rangeCategory*/ return new String[] {"code"}; 1197 case 108280125: /*range*/ return new String[] {"Range"}; 1198 case 1374640076: /*validCodedValueSet*/ return new String[] {"canonical"}; 1199 case -837500735: /*normalCodedValueSet*/ return new String[] {"canonical"}; 1200 case 1073600256: /*abnormalCodedValueSet*/ return new String[] {"canonical"}; 1201 case 2568457: /*criticalCodedValueSet*/ return new String[] {"canonical"}; 1202 default: return super.getTypesForProperty(hash, name); 1203 } 1204 1205 } 1206 1207 @Override 1208 public Base addChild(String name) throws FHIRException { 1209 if (name.equals("context")) { 1210 this.context = new CodeableConcept(); 1211 return this.context; 1212 } 1213 else if (name.equals("appliesTo")) { 1214 return addAppliesTo(); 1215 } 1216 else if (name.equals("gender")) { 1217 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.gender"); 1218 } 1219 else if (name.equals("age")) { 1220 this.age = new Range(); 1221 return this.age; 1222 } 1223 else if (name.equals("gestationalAge")) { 1224 this.gestationalAge = new Range(); 1225 return this.gestationalAge; 1226 } 1227 else if (name.equals("condition")) { 1228 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.condition"); 1229 } 1230 else if (name.equals("rangeCategory")) { 1231 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.rangeCategory"); 1232 } 1233 else if (name.equals("range")) { 1234 this.range = new Range(); 1235 return this.range; 1236 } 1237 else if (name.equals("validCodedValueSet")) { 1238 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.validCodedValueSet"); 1239 } 1240 else if (name.equals("normalCodedValueSet")) { 1241 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.normalCodedValueSet"); 1242 } 1243 else if (name.equals("abnormalCodedValueSet")) { 1244 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.abnormalCodedValueSet"); 1245 } 1246 else if (name.equals("criticalCodedValueSet")) { 1247 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.qualifiedValue.criticalCodedValueSet"); 1248 } 1249 else 1250 return super.addChild(name); 1251 } 1252 1253 public ObservationDefinitionQualifiedValueComponent copy() { 1254 ObservationDefinitionQualifiedValueComponent dst = new ObservationDefinitionQualifiedValueComponent(); 1255 copyValues(dst); 1256 return dst; 1257 } 1258 1259 public void copyValues(ObservationDefinitionQualifiedValueComponent dst) { 1260 super.copyValues(dst); 1261 dst.context = context == null ? null : context.copy(); 1262 if (appliesTo != null) { 1263 dst.appliesTo = new ArrayList<CodeableConcept>(); 1264 for (CodeableConcept i : appliesTo) 1265 dst.appliesTo.add(i.copy()); 1266 }; 1267 dst.gender = gender == null ? null : gender.copy(); 1268 dst.age = age == null ? null : age.copy(); 1269 dst.gestationalAge = gestationalAge == null ? null : gestationalAge.copy(); 1270 dst.condition = condition == null ? null : condition.copy(); 1271 dst.rangeCategory = rangeCategory == null ? null : rangeCategory.copy(); 1272 dst.range = range == null ? null : range.copy(); 1273 dst.validCodedValueSet = validCodedValueSet == null ? null : validCodedValueSet.copy(); 1274 dst.normalCodedValueSet = normalCodedValueSet == null ? null : normalCodedValueSet.copy(); 1275 dst.abnormalCodedValueSet = abnormalCodedValueSet == null ? null : abnormalCodedValueSet.copy(); 1276 dst.criticalCodedValueSet = criticalCodedValueSet == null ? null : criticalCodedValueSet.copy(); 1277 } 1278 1279 @Override 1280 public boolean equalsDeep(Base other_) { 1281 if (!super.equalsDeep(other_)) 1282 return false; 1283 if (!(other_ instanceof ObservationDefinitionQualifiedValueComponent)) 1284 return false; 1285 ObservationDefinitionQualifiedValueComponent o = (ObservationDefinitionQualifiedValueComponent) other_; 1286 return compareDeep(context, o.context, true) && compareDeep(appliesTo, o.appliesTo, true) && compareDeep(gender, o.gender, true) 1287 && compareDeep(age, o.age, true) && compareDeep(gestationalAge, o.gestationalAge, true) && compareDeep(condition, o.condition, true) 1288 && compareDeep(rangeCategory, o.rangeCategory, true) && compareDeep(range, o.range, true) && compareDeep(validCodedValueSet, o.validCodedValueSet, true) 1289 && compareDeep(normalCodedValueSet, o.normalCodedValueSet, true) && compareDeep(abnormalCodedValueSet, o.abnormalCodedValueSet, true) 1290 && compareDeep(criticalCodedValueSet, o.criticalCodedValueSet, true); 1291 } 1292 1293 @Override 1294 public boolean equalsShallow(Base other_) { 1295 if (!super.equalsShallow(other_)) 1296 return false; 1297 if (!(other_ instanceof ObservationDefinitionQualifiedValueComponent)) 1298 return false; 1299 ObservationDefinitionQualifiedValueComponent o = (ObservationDefinitionQualifiedValueComponent) other_; 1300 return compareValues(gender, o.gender, true) && compareValues(condition, o.condition, true) && compareValues(rangeCategory, o.rangeCategory, true) 1301 && compareValues(validCodedValueSet, o.validCodedValueSet, true) && compareValues(normalCodedValueSet, o.normalCodedValueSet, true) 1302 && compareValues(abnormalCodedValueSet, o.abnormalCodedValueSet, true) && compareValues(criticalCodedValueSet, o.criticalCodedValueSet, true) 1303 ; 1304 } 1305 1306 public boolean isEmpty() { 1307 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(context, appliesTo, gender 1308 , age, gestationalAge, condition, rangeCategory, range, validCodedValueSet, normalCodedValueSet 1309 , abnormalCodedValueSet, criticalCodedValueSet); 1310 } 1311 1312 public String fhirType() { 1313 return "ObservationDefinition.qualifiedValue"; 1314 1315 } 1316 1317 } 1318 1319 @Block() 1320 public static class ObservationDefinitionComponentComponent extends BackboneElement implements IBaseBackboneElement { 1321 /** 1322 * Describes what will be observed. 1323 */ 1324 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 1325 @Description(shortDefinition="Type of observation", formalDefinition="Describes what will be observed." ) 1326 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-codes") 1327 protected CodeableConcept code; 1328 1329 /** 1330 * The data types allowed for the value element of the instance of this component observations. 1331 */ 1332 @Child(name = "permittedDataType", type = {CodeType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1333 @Description(shortDefinition="Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period", formalDefinition="The data types allowed for the value element of the instance of this component observations." ) 1334 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/permitted-data-type") 1335 protected List<Enumeration<ObservationDataType>> permittedDataType; 1336 1337 /** 1338 * Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition. 1339 */ 1340 @Child(name = "permittedUnit", type = {Coding.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1341 @Description(shortDefinition="Unit for quantitative results", formalDefinition="Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition." ) 1342 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ucum-units") 1343 protected List<Coding> permittedUnit; 1344 1345 /** 1346 * A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations. 1347 */ 1348 @Child(name = "qualifiedValue", type = {ObservationDefinitionQualifiedValueComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1349 @Description(shortDefinition="Set of qualified values for observation results", formalDefinition="A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations." ) 1350 protected List<ObservationDefinitionQualifiedValueComponent> qualifiedValue; 1351 1352 private static final long serialVersionUID = 2106051085L; 1353 1354 /** 1355 * Constructor 1356 */ 1357 public ObservationDefinitionComponentComponent() { 1358 super(); 1359 } 1360 1361 /** 1362 * Constructor 1363 */ 1364 public ObservationDefinitionComponentComponent(CodeableConcept code) { 1365 super(); 1366 this.setCode(code); 1367 } 1368 1369 /** 1370 * @return {@link #code} (Describes what will be observed.) 1371 */ 1372 public CodeableConcept getCode() { 1373 if (this.code == null) 1374 if (Configuration.errorOnAutoCreate()) 1375 throw new Error("Attempt to auto-create ObservationDefinitionComponentComponent.code"); 1376 else if (Configuration.doAutoCreate()) 1377 this.code = new CodeableConcept(); // cc 1378 return this.code; 1379 } 1380 1381 public boolean hasCode() { 1382 return this.code != null && !this.code.isEmpty(); 1383 } 1384 1385 /** 1386 * @param value {@link #code} (Describes what will be observed.) 1387 */ 1388 public ObservationDefinitionComponentComponent setCode(CodeableConcept value) { 1389 this.code = value; 1390 return this; 1391 } 1392 1393 /** 1394 * @return {@link #permittedDataType} (The data types allowed for the value element of the instance of this component observations.) 1395 */ 1396 public List<Enumeration<ObservationDataType>> getPermittedDataType() { 1397 if (this.permittedDataType == null) 1398 this.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 1399 return this.permittedDataType; 1400 } 1401 1402 /** 1403 * @return Returns a reference to <code>this</code> for easy method chaining 1404 */ 1405 public ObservationDefinitionComponentComponent setPermittedDataType(List<Enumeration<ObservationDataType>> thePermittedDataType) { 1406 this.permittedDataType = thePermittedDataType; 1407 return this; 1408 } 1409 1410 public boolean hasPermittedDataType() { 1411 if (this.permittedDataType == null) 1412 return false; 1413 for (Enumeration<ObservationDataType> item : this.permittedDataType) 1414 if (!item.isEmpty()) 1415 return true; 1416 return false; 1417 } 1418 1419 /** 1420 * @return {@link #permittedDataType} (The data types allowed for the value element of the instance of this component observations.) 1421 */ 1422 public Enumeration<ObservationDataType> addPermittedDataTypeElement() {//2 1423 Enumeration<ObservationDataType> t = new Enumeration<ObservationDataType>(new ObservationDataTypeEnumFactory()); 1424 if (this.permittedDataType == null) 1425 this.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 1426 this.permittedDataType.add(t); 1427 return t; 1428 } 1429 1430 /** 1431 * @param value {@link #permittedDataType} (The data types allowed for the value element of the instance of this component observations.) 1432 */ 1433 public ObservationDefinitionComponentComponent addPermittedDataType(ObservationDataType value) { //1 1434 Enumeration<ObservationDataType> t = new Enumeration<ObservationDataType>(new ObservationDataTypeEnumFactory()); 1435 t.setValue(value); 1436 if (this.permittedDataType == null) 1437 this.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 1438 this.permittedDataType.add(t); 1439 return this; 1440 } 1441 1442 /** 1443 * @param value {@link #permittedDataType} (The data types allowed for the value element of the instance of this component observations.) 1444 */ 1445 public boolean hasPermittedDataType(ObservationDataType value) { 1446 if (this.permittedDataType == null) 1447 return false; 1448 for (Enumeration<ObservationDataType> v : this.permittedDataType) 1449 if (v.getValue().equals(value)) // code 1450 return true; 1451 return false; 1452 } 1453 1454 /** 1455 * @return {@link #permittedUnit} (Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition.) 1456 */ 1457 public List<Coding> getPermittedUnit() { 1458 if (this.permittedUnit == null) 1459 this.permittedUnit = new ArrayList<Coding>(); 1460 return this.permittedUnit; 1461 } 1462 1463 /** 1464 * @return Returns a reference to <code>this</code> for easy method chaining 1465 */ 1466 public ObservationDefinitionComponentComponent setPermittedUnit(List<Coding> thePermittedUnit) { 1467 this.permittedUnit = thePermittedUnit; 1468 return this; 1469 } 1470 1471 public boolean hasPermittedUnit() { 1472 if (this.permittedUnit == null) 1473 return false; 1474 for (Coding item : this.permittedUnit) 1475 if (!item.isEmpty()) 1476 return true; 1477 return false; 1478 } 1479 1480 public Coding addPermittedUnit() { //3 1481 Coding t = new Coding(); 1482 if (this.permittedUnit == null) 1483 this.permittedUnit = new ArrayList<Coding>(); 1484 this.permittedUnit.add(t); 1485 return t; 1486 } 1487 1488 public ObservationDefinitionComponentComponent addPermittedUnit(Coding t) { //3 1489 if (t == null) 1490 return this; 1491 if (this.permittedUnit == null) 1492 this.permittedUnit = new ArrayList<Coding>(); 1493 this.permittedUnit.add(t); 1494 return this; 1495 } 1496 1497 /** 1498 * @return The first repetition of repeating field {@link #permittedUnit}, creating it if it does not already exist {3} 1499 */ 1500 public Coding getPermittedUnitFirstRep() { 1501 if (getPermittedUnit().isEmpty()) { 1502 addPermittedUnit(); 1503 } 1504 return getPermittedUnit().get(0); 1505 } 1506 1507 /** 1508 * @return {@link #qualifiedValue} (A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations.) 1509 */ 1510 public List<ObservationDefinitionQualifiedValueComponent> getQualifiedValue() { 1511 if (this.qualifiedValue == null) 1512 this.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 1513 return this.qualifiedValue; 1514 } 1515 1516 /** 1517 * @return Returns a reference to <code>this</code> for easy method chaining 1518 */ 1519 public ObservationDefinitionComponentComponent setQualifiedValue(List<ObservationDefinitionQualifiedValueComponent> theQualifiedValue) { 1520 this.qualifiedValue = theQualifiedValue; 1521 return this; 1522 } 1523 1524 public boolean hasQualifiedValue() { 1525 if (this.qualifiedValue == null) 1526 return false; 1527 for (ObservationDefinitionQualifiedValueComponent item : this.qualifiedValue) 1528 if (!item.isEmpty()) 1529 return true; 1530 return false; 1531 } 1532 1533 public ObservationDefinitionQualifiedValueComponent addQualifiedValue() { //3 1534 ObservationDefinitionQualifiedValueComponent t = new ObservationDefinitionQualifiedValueComponent(); 1535 if (this.qualifiedValue == null) 1536 this.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 1537 this.qualifiedValue.add(t); 1538 return t; 1539 } 1540 1541 public ObservationDefinitionComponentComponent addQualifiedValue(ObservationDefinitionQualifiedValueComponent t) { //3 1542 if (t == null) 1543 return this; 1544 if (this.qualifiedValue == null) 1545 this.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 1546 this.qualifiedValue.add(t); 1547 return this; 1548 } 1549 1550 /** 1551 * @return The first repetition of repeating field {@link #qualifiedValue}, creating it if it does not already exist {3} 1552 */ 1553 public ObservationDefinitionQualifiedValueComponent getQualifiedValueFirstRep() { 1554 if (getQualifiedValue().isEmpty()) { 1555 addQualifiedValue(); 1556 } 1557 return getQualifiedValue().get(0); 1558 } 1559 1560 protected void listChildren(List<Property> children) { 1561 super.listChildren(children); 1562 children.add(new Property("code", "CodeableConcept", "Describes what will be observed.", 0, 1, code)); 1563 children.add(new Property("permittedDataType", "code", "The data types allowed for the value element of the instance of this component observations.", 0, java.lang.Integer.MAX_VALUE, permittedDataType)); 1564 children.add(new Property("permittedUnit", "Coding", "Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, permittedUnit)); 1565 children.add(new Property("qualifiedValue", "@ObservationDefinition.qualifiedValue", "A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations.", 0, java.lang.Integer.MAX_VALUE, qualifiedValue)); 1566 } 1567 1568 @Override 1569 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1570 switch (_hash) { 1571 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Describes what will be observed.", 0, 1, code); 1572 case -99492804: /*permittedDataType*/ return new Property("permittedDataType", "code", "The data types allowed for the value element of the instance of this component observations.", 0, java.lang.Integer.MAX_VALUE, permittedDataType); 1573 case 1073054652: /*permittedUnit*/ return new Property("permittedUnit", "Coding", "Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, permittedUnit); 1574 case -558517707: /*qualifiedValue*/ return new Property("qualifiedValue", "@ObservationDefinition.qualifiedValue", "A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations.", 0, java.lang.Integer.MAX_VALUE, qualifiedValue); 1575 default: return super.getNamedProperty(_hash, _name, _checkValid); 1576 } 1577 1578 } 1579 1580 @Override 1581 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1582 switch (hash) { 1583 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1584 case -99492804: /*permittedDataType*/ return this.permittedDataType == null ? new Base[0] : this.permittedDataType.toArray(new Base[this.permittedDataType.size()]); // Enumeration<ObservationDataType> 1585 case 1073054652: /*permittedUnit*/ return this.permittedUnit == null ? new Base[0] : this.permittedUnit.toArray(new Base[this.permittedUnit.size()]); // Coding 1586 case -558517707: /*qualifiedValue*/ return this.qualifiedValue == null ? new Base[0] : this.qualifiedValue.toArray(new Base[this.qualifiedValue.size()]); // ObservationDefinitionQualifiedValueComponent 1587 default: return super.getProperty(hash, name, checkValid); 1588 } 1589 1590 } 1591 1592 @Override 1593 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1594 switch (hash) { 1595 case 3059181: // code 1596 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1597 return value; 1598 case -99492804: // permittedDataType 1599 value = new ObservationDataTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1600 this.getPermittedDataType().add((Enumeration) value); // Enumeration<ObservationDataType> 1601 return value; 1602 case 1073054652: // permittedUnit 1603 this.getPermittedUnit().add(TypeConvertor.castToCoding(value)); // Coding 1604 return value; 1605 case -558517707: // qualifiedValue 1606 this.getQualifiedValue().add((ObservationDefinitionQualifiedValueComponent) value); // ObservationDefinitionQualifiedValueComponent 1607 return value; 1608 default: return super.setProperty(hash, name, value); 1609 } 1610 1611 } 1612 1613 @Override 1614 public Base setProperty(String name, Base value) throws FHIRException { 1615 if (name.equals("code")) { 1616 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1617 } else if (name.equals("permittedDataType")) { 1618 value = new ObservationDataTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1619 this.getPermittedDataType().add((Enumeration) value); 1620 } else if (name.equals("permittedUnit")) { 1621 this.getPermittedUnit().add(TypeConvertor.castToCoding(value)); 1622 } else if (name.equals("qualifiedValue")) { 1623 this.getQualifiedValue().add((ObservationDefinitionQualifiedValueComponent) value); 1624 } else 1625 return super.setProperty(name, value); 1626 return value; 1627 } 1628 1629 @Override 1630 public void removeChild(String name, Base value) throws FHIRException { 1631 if (name.equals("code")) { 1632 this.code = null; 1633 } else if (name.equals("permittedDataType")) { 1634 value = new ObservationDataTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1635 this.getPermittedDataType().remove((Enumeration) value); 1636 } else if (name.equals("permittedUnit")) { 1637 this.getPermittedUnit().remove(value); 1638 } else if (name.equals("qualifiedValue")) { 1639 this.getQualifiedValue().remove((ObservationDefinitionQualifiedValueComponent) value); 1640 } else 1641 super.removeChild(name, value); 1642 1643 } 1644 1645 @Override 1646 public Base makeProperty(int hash, String name) throws FHIRException { 1647 switch (hash) { 1648 case 3059181: return getCode(); 1649 case -99492804: return addPermittedDataTypeElement(); 1650 case 1073054652: return addPermittedUnit(); 1651 case -558517707: return addQualifiedValue(); 1652 default: return super.makeProperty(hash, name); 1653 } 1654 1655 } 1656 1657 @Override 1658 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1659 switch (hash) { 1660 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1661 case -99492804: /*permittedDataType*/ return new String[] {"code"}; 1662 case 1073054652: /*permittedUnit*/ return new String[] {"Coding"}; 1663 case -558517707: /*qualifiedValue*/ return new String[] {"@ObservationDefinition.qualifiedValue"}; 1664 default: return super.getTypesForProperty(hash, name); 1665 } 1666 1667 } 1668 1669 @Override 1670 public Base addChild(String name) throws FHIRException { 1671 if (name.equals("code")) { 1672 this.code = new CodeableConcept(); 1673 return this.code; 1674 } 1675 else if (name.equals("permittedDataType")) { 1676 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.component.permittedDataType"); 1677 } 1678 else if (name.equals("permittedUnit")) { 1679 return addPermittedUnit(); 1680 } 1681 else if (name.equals("qualifiedValue")) { 1682 return addQualifiedValue(); 1683 } 1684 else 1685 return super.addChild(name); 1686 } 1687 1688 public ObservationDefinitionComponentComponent copy() { 1689 ObservationDefinitionComponentComponent dst = new ObservationDefinitionComponentComponent(); 1690 copyValues(dst); 1691 return dst; 1692 } 1693 1694 public void copyValues(ObservationDefinitionComponentComponent dst) { 1695 super.copyValues(dst); 1696 dst.code = code == null ? null : code.copy(); 1697 if (permittedDataType != null) { 1698 dst.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 1699 for (Enumeration<ObservationDataType> i : permittedDataType) 1700 dst.permittedDataType.add(i.copy()); 1701 }; 1702 if (permittedUnit != null) { 1703 dst.permittedUnit = new ArrayList<Coding>(); 1704 for (Coding i : permittedUnit) 1705 dst.permittedUnit.add(i.copy()); 1706 }; 1707 if (qualifiedValue != null) { 1708 dst.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 1709 for (ObservationDefinitionQualifiedValueComponent i : qualifiedValue) 1710 dst.qualifiedValue.add(i.copy()); 1711 }; 1712 } 1713 1714 @Override 1715 public boolean equalsDeep(Base other_) { 1716 if (!super.equalsDeep(other_)) 1717 return false; 1718 if (!(other_ instanceof ObservationDefinitionComponentComponent)) 1719 return false; 1720 ObservationDefinitionComponentComponent o = (ObservationDefinitionComponentComponent) other_; 1721 return compareDeep(code, o.code, true) && compareDeep(permittedDataType, o.permittedDataType, true) 1722 && compareDeep(permittedUnit, o.permittedUnit, true) && compareDeep(qualifiedValue, o.qualifiedValue, true) 1723 ; 1724 } 1725 1726 @Override 1727 public boolean equalsShallow(Base other_) { 1728 if (!super.equalsShallow(other_)) 1729 return false; 1730 if (!(other_ instanceof ObservationDefinitionComponentComponent)) 1731 return false; 1732 ObservationDefinitionComponentComponent o = (ObservationDefinitionComponentComponent) other_; 1733 return compareValues(permittedDataType, o.permittedDataType, true); 1734 } 1735 1736 public boolean isEmpty() { 1737 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, permittedDataType, permittedUnit 1738 , qualifiedValue); 1739 } 1740 1741 public String fhirType() { 1742 return "ObservationDefinition.component"; 1743 1744 } 1745 1746 } 1747 1748 /** 1749 * An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions. 1750 */ 1751 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 1752 @Description(shortDefinition="Logical canonical URL to reference this ObservationDefinition (globally unique)", formalDefinition="An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions." ) 1753 protected UriType url; 1754 1755 /** 1756 * Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server. 1757 */ 1758 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 1759 @Description(shortDefinition="Business identifier of the ObservationDefinition", formalDefinition="Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server." ) 1760 protected Identifier identifier; 1761 1762 /** 1763 * The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable. 1764 */ 1765 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1766 @Description(shortDefinition="Business version of the ObservationDefinition", formalDefinition="The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable." ) 1767 protected StringType version; 1768 1769 /** 1770 * Indicates the mechanism used to compare versions to determine which is more current. 1771 */ 1772 @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) 1773 @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) 1774 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") 1775 protected DataType versionAlgorithm; 1776 1777 /** 1778 * A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1779 */ 1780 @Child(name = "name", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 1781 @Description(shortDefinition="Name for this ObservationDefinition (computer friendly)", formalDefinition="A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 1782 protected StringType name; 1783 1784 /** 1785 * A short, descriptive, user-friendly title for the ObservationDefinition. 1786 */ 1787 @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 1788 @Description(shortDefinition="Name for this ObservationDefinition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the ObservationDefinition." ) 1789 protected StringType title; 1790 1791 /** 1792 * The current state of the ObservationDefinition. 1793 */ 1794 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 1795 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The current state of the ObservationDefinition." ) 1796 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 1797 protected Enumeration<PublicationStatus> status; 1798 1799 /** 1800 * A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 1801 */ 1802 @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) 1803 @Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." ) 1804 protected BooleanType experimental; 1805 1806 /** 1807 * The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes. 1808 */ 1809 @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 1810 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes." ) 1811 protected DateTimeType date; 1812 1813 /** 1814 * Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contact. 1815 */ 1816 @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 1817 @Description(shortDefinition="The name of the individual or organization that published the ObservationDefinition", formalDefinition="Helps establish the \"authority/credibility\" of the ObservationDefinition. May also allow for contact." ) 1818 protected StringType publisher; 1819 1820 /** 1821 * Contact details to assist a user in finding and communicating with the publisher. 1822 */ 1823 @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1824 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 1825 protected List<ContactDetail> contact; 1826 1827 /** 1828 * A free text natural language description of the ObservationDefinition from the consumer's perspective. 1829 */ 1830 @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) 1831 @Description(shortDefinition="Natural language description of the ObservationDefinition", formalDefinition="A free text natural language description of the ObservationDefinition from the consumer's perspective." ) 1832 protected MarkdownType description; 1833 1834 /** 1835 * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instances. 1836 */ 1837 @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1838 @Description(shortDefinition="Content intends to support these contexts", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instances." ) 1839 protected List<UsageContext> useContext; 1840 1841 /** 1842 * A jurisdiction in which the ObservationDefinition is intended to be used. 1843 */ 1844 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1845 @Description(shortDefinition="Intended jurisdiction for this ObservationDefinition (if applicable)", formalDefinition="A jurisdiction in which the ObservationDefinition is intended to be used." ) 1846 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 1847 protected List<CodeableConcept> jurisdiction; 1848 1849 /** 1850 * Explains why this ObservationDefinition is needed and why it has been designed as it has. 1851 */ 1852 @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 1853 @Description(shortDefinition="Why this ObservationDefinition is defined", formalDefinition="Explains why this ObservationDefinition is needed and why it has been designed as it has." ) 1854 protected MarkdownType purpose; 1855 1856 /** 1857 * Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition. 1858 */ 1859 @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 1860 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition." ) 1861 protected MarkdownType copyright; 1862 1863 /** 1864 * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 1865 */ 1866 @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) 1867 @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) 1868 protected StringType copyrightLabel; 1869 1870 /** 1871 * The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1872 */ 1873 @Child(name = "approvalDate", type = {DateType.class}, order=17, min=0, max=1, modifier=false, summary=false) 1874 @Description(shortDefinition="When ObservationDefinition was approved by publisher", formalDefinition="The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) 1875 protected DateType approvalDate; 1876 1877 /** 1878 * The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. 1879 */ 1880 @Child(name = "lastReviewDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) 1881 @Description(shortDefinition="Date on which the asset content was last reviewed by the publisher", formalDefinition="The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date." ) 1882 protected DateType lastReviewDate; 1883 1884 /** 1885 * The period during which the ObservationDefinition content was or is planned to be effective. 1886 */ 1887 @Child(name = "effectivePeriod", type = {Period.class}, order=19, min=0, max=1, modifier=false, summary=true) 1888 @Description(shortDefinition="The effective date range for the ObservationDefinition", formalDefinition="The period during which the ObservationDefinition content was or is planned to be effective." ) 1889 protected Period effectivePeriod; 1890 1891 /** 1892 * The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition. 1893 */ 1894 @Child(name = "derivedFromCanonical", type = {CanonicalType.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1895 @Description(shortDefinition="Based on FHIR definition of another observation", formalDefinition="The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition." ) 1896 protected List<CanonicalType> derivedFromCanonical; 1897 1898 /** 1899 * The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition. 1900 */ 1901 @Child(name = "derivedFromUri", type = {UriType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1902 @Description(shortDefinition="Based on external definition", formalDefinition="The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition." ) 1903 protected List<UriType> derivedFromUri; 1904 1905 /** 1906 * A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinition. 1907 */ 1908 @Child(name = "subject", type = {CodeableConcept.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1909 @Description(shortDefinition="Type of subject for the defined observation", formalDefinition="A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinition." ) 1910 protected List<CodeableConcept> subject; 1911 1912 /** 1913 * The type of individual/organization/device that is expected to act upon instances of this definition. 1914 */ 1915 @Child(name = "performerType", type = {CodeableConcept.class}, order=23, min=0, max=1, modifier=false, summary=true) 1916 @Description(shortDefinition="Desired kind of performer for such kind of observation", formalDefinition="The type of individual/organization/device that is expected to act upon instances of this definition." ) 1917 protected CodeableConcept performerType; 1918 1919 /** 1920 * A code that classifies the general type of observation. 1921 */ 1922 @Child(name = "category", type = {CodeableConcept.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1923 @Description(shortDefinition="General type of observation", formalDefinition="A code that classifies the general type of observation." ) 1924 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-category") 1925 protected List<CodeableConcept> category; 1926 1927 /** 1928 * Describes what will be observed. Sometimes this is called the observation "name". 1929 */ 1930 @Child(name = "code", type = {CodeableConcept.class}, order=25, min=1, max=1, modifier=false, summary=true) 1931 @Description(shortDefinition="Type of observation", formalDefinition="Describes what will be observed. Sometimes this is called the observation \"name\"." ) 1932 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-codes") 1933 protected CodeableConcept code; 1934 1935 /** 1936 * The data types allowed for the value element of the instance observations conforming to this ObservationDefinition. 1937 */ 1938 @Child(name = "permittedDataType", type = {CodeType.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1939 @Description(shortDefinition="Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period", formalDefinition="The data types allowed for the value element of the instance observations conforming to this ObservationDefinition." ) 1940 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/permitted-data-type") 1941 protected List<Enumeration<ObservationDataType>> permittedDataType; 1942 1943 /** 1944 * Multiple results allowed for observations conforming to this ObservationDefinition. 1945 */ 1946 @Child(name = "multipleResultsAllowed", type = {BooleanType.class}, order=27, min=0, max=1, modifier=false, summary=false) 1947 @Description(shortDefinition="Multiple results allowed for conforming observations", formalDefinition="Multiple results allowed for observations conforming to this ObservationDefinition." ) 1948 protected BooleanType multipleResultsAllowed; 1949 1950 /** 1951 * The site on the subject's body where the observation is to be made. 1952 */ 1953 @Child(name = "bodySite", type = {CodeableConcept.class}, order=28, min=0, max=1, modifier=false, summary=false) 1954 @Description(shortDefinition="Body part to be observed", formalDefinition="The site on the subject's body where the observation is to be made." ) 1955 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 1956 protected CodeableConcept bodySite; 1957 1958 /** 1959 * The method or technique used to perform the observation. 1960 */ 1961 @Child(name = "method", type = {CodeableConcept.class}, order=29, min=0, max=1, modifier=false, summary=false) 1962 @Description(shortDefinition="Method used to produce the observation", formalDefinition="The method or technique used to perform the observation." ) 1963 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-methods") 1964 protected CodeableConcept method; 1965 1966 /** 1967 * The kind of specimen that this type of observation is produced on. 1968 */ 1969 @Child(name = "specimen", type = {SpecimenDefinition.class}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1970 @Description(shortDefinition="Kind of specimen used by this type of observation", formalDefinition="The kind of specimen that this type of observation is produced on." ) 1971 protected List<Reference> specimen; 1972 1973 /** 1974 * The measurement model of device or actual device used to produce observations of this type. 1975 */ 1976 @Child(name = "device", type = {DeviceDefinition.class, Device.class}, order=31, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1977 @Description(shortDefinition="Measurement device or model of device", formalDefinition="The measurement model of device or actual device used to produce observations of this type." ) 1978 protected List<Reference> device; 1979 1980 /** 1981 * The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition. 1982 */ 1983 @Child(name = "preferredReportName", type = {StringType.class}, order=32, min=0, max=1, modifier=false, summary=false) 1984 @Description(shortDefinition="The preferred name to be used when reporting the observation results", formalDefinition="The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition." ) 1985 protected StringType preferredReportName; 1986 1987 /** 1988 * Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition. 1989 */ 1990 @Child(name = "permittedUnit", type = {Coding.class}, order=33, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1991 @Description(shortDefinition="Unit for quantitative results", formalDefinition="Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition." ) 1992 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ucum-units") 1993 protected List<Coding> permittedUnit; 1994 1995 /** 1996 * A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations. 1997 */ 1998 @Child(name = "qualifiedValue", type = {}, order=34, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1999 @Description(shortDefinition="Set of qualified values for observation results", formalDefinition="A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations." ) 2000 protected List<ObservationDefinitionQualifiedValueComponent> qualifiedValue; 2001 2002 /** 2003 * This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group. 2004 */ 2005 @Child(name = "hasMember", type = {ObservationDefinition.class, Questionnaire.class}, order=35, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2006 @Description(shortDefinition="Definitions of related resources belonging to this kind of observation group", formalDefinition="This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group." ) 2007 protected List<Reference> hasMember; 2008 2009 /** 2010 * Some observations have multiple component observations, expressed as separate code value pairs. 2011 */ 2012 @Child(name = "component", type = {}, order=36, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2013 @Description(shortDefinition="Component results", formalDefinition="Some observations have multiple component observations, expressed as separate code value pairs." ) 2014 protected List<ObservationDefinitionComponentComponent> component; 2015 2016 private static final long serialVersionUID = -415480292L; 2017 2018 /** 2019 * Constructor 2020 */ 2021 public ObservationDefinition() { 2022 super(); 2023 } 2024 2025 /** 2026 * Constructor 2027 */ 2028 public ObservationDefinition(PublicationStatus status, CodeableConcept code) { 2029 super(); 2030 this.setStatus(status); 2031 this.setCode(code); 2032 } 2033 2034 /** 2035 * @return {@link #url} (An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2036 */ 2037 public UriType getUrlElement() { 2038 if (this.url == null) 2039 if (Configuration.errorOnAutoCreate()) 2040 throw new Error("Attempt to auto-create ObservationDefinition.url"); 2041 else if (Configuration.doAutoCreate()) 2042 this.url = new UriType(); // bb 2043 return this.url; 2044 } 2045 2046 public boolean hasUrlElement() { 2047 return this.url != null && !this.url.isEmpty(); 2048 } 2049 2050 public boolean hasUrl() { 2051 return this.url != null && !this.url.isEmpty(); 2052 } 2053 2054 /** 2055 * @param value {@link #url} (An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2056 */ 2057 public ObservationDefinition setUrlElement(UriType value) { 2058 this.url = value; 2059 return this; 2060 } 2061 2062 /** 2063 * @return An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions. 2064 */ 2065 public String getUrl() { 2066 return this.url == null ? null : this.url.getValue(); 2067 } 2068 2069 /** 2070 * @param value An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions. 2071 */ 2072 public ObservationDefinition setUrl(String value) { 2073 if (Utilities.noString(value)) 2074 this.url = null; 2075 else { 2076 if (this.url == null) 2077 this.url = new UriType(); 2078 this.url.setValue(value); 2079 } 2080 return this; 2081 } 2082 2083 /** 2084 * @return {@link #identifier} (Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.) 2085 */ 2086 public Identifier getIdentifier() { 2087 if (this.identifier == null) 2088 if (Configuration.errorOnAutoCreate()) 2089 throw new Error("Attempt to auto-create ObservationDefinition.identifier"); 2090 else if (Configuration.doAutoCreate()) 2091 this.identifier = new Identifier(); // cc 2092 return this.identifier; 2093 } 2094 2095 public boolean hasIdentifier() { 2096 return this.identifier != null && !this.identifier.isEmpty(); 2097 } 2098 2099 /** 2100 * @param value {@link #identifier} (Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.) 2101 */ 2102 public ObservationDefinition setIdentifier(Identifier value) { 2103 this.identifier = value; 2104 return this; 2105 } 2106 2107 /** 2108 * @return {@link #version} (The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2109 */ 2110 public StringType getVersionElement() { 2111 if (this.version == null) 2112 if (Configuration.errorOnAutoCreate()) 2113 throw new Error("Attempt to auto-create ObservationDefinition.version"); 2114 else if (Configuration.doAutoCreate()) 2115 this.version = new StringType(); // bb 2116 return this.version; 2117 } 2118 2119 public boolean hasVersionElement() { 2120 return this.version != null && !this.version.isEmpty(); 2121 } 2122 2123 public boolean hasVersion() { 2124 return this.version != null && !this.version.isEmpty(); 2125 } 2126 2127 /** 2128 * @param value {@link #version} (The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2129 */ 2130 public ObservationDefinition setVersionElement(StringType value) { 2131 this.version = value; 2132 return this; 2133 } 2134 2135 /** 2136 * @return The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable. 2137 */ 2138 public String getVersion() { 2139 return this.version == null ? null : this.version.getValue(); 2140 } 2141 2142 /** 2143 * @param value The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable. 2144 */ 2145 public ObservationDefinition setVersion(String value) { 2146 if (Utilities.noString(value)) 2147 this.version = null; 2148 else { 2149 if (this.version == null) 2150 this.version = new StringType(); 2151 this.version.setValue(value); 2152 } 2153 return this; 2154 } 2155 2156 /** 2157 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 2158 */ 2159 public DataType getVersionAlgorithm() { 2160 return this.versionAlgorithm; 2161 } 2162 2163 /** 2164 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 2165 */ 2166 public StringType getVersionAlgorithmStringType() throws FHIRException { 2167 if (this.versionAlgorithm == null) 2168 this.versionAlgorithm = new StringType(); 2169 if (!(this.versionAlgorithm instanceof StringType)) 2170 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); 2171 return (StringType) this.versionAlgorithm; 2172 } 2173 2174 public boolean hasVersionAlgorithmStringType() { 2175 return this != null && this.versionAlgorithm instanceof StringType; 2176 } 2177 2178 /** 2179 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 2180 */ 2181 public Coding getVersionAlgorithmCoding() throws FHIRException { 2182 if (this.versionAlgorithm == null) 2183 this.versionAlgorithm = new Coding(); 2184 if (!(this.versionAlgorithm instanceof Coding)) 2185 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); 2186 return (Coding) this.versionAlgorithm; 2187 } 2188 2189 public boolean hasVersionAlgorithmCoding() { 2190 return this != null && this.versionAlgorithm instanceof Coding; 2191 } 2192 2193 public boolean hasVersionAlgorithm() { 2194 return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); 2195 } 2196 2197 /** 2198 * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 2199 */ 2200 public ObservationDefinition setVersionAlgorithm(DataType value) { 2201 if (value != null && !(value instanceof StringType || value instanceof Coding)) 2202 throw new FHIRException("Not the right type for ObservationDefinition.versionAlgorithm[x]: "+value.fhirType()); 2203 this.versionAlgorithm = value; 2204 return this; 2205 } 2206 2207 /** 2208 * @return {@link #name} (A natural language name identifying the ObservationDefinition. 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 2209 */ 2210 public StringType getNameElement() { 2211 if (this.name == null) 2212 if (Configuration.errorOnAutoCreate()) 2213 throw new Error("Attempt to auto-create ObservationDefinition.name"); 2214 else if (Configuration.doAutoCreate()) 2215 this.name = new StringType(); // bb 2216 return this.name; 2217 } 2218 2219 public boolean hasNameElement() { 2220 return this.name != null && !this.name.isEmpty(); 2221 } 2222 2223 public boolean hasName() { 2224 return this.name != null && !this.name.isEmpty(); 2225 } 2226 2227 /** 2228 * @param value {@link #name} (A natural language name identifying the ObservationDefinition. 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 2229 */ 2230 public ObservationDefinition setNameElement(StringType value) { 2231 this.name = value; 2232 return this; 2233 } 2234 2235 /** 2236 * @return A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2237 */ 2238 public String getName() { 2239 return this.name == null ? null : this.name.getValue(); 2240 } 2241 2242 /** 2243 * @param value A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2244 */ 2245 public ObservationDefinition setName(String value) { 2246 if (Utilities.noString(value)) 2247 this.name = null; 2248 else { 2249 if (this.name == null) 2250 this.name = new StringType(); 2251 this.name.setValue(value); 2252 } 2253 return this; 2254 } 2255 2256 /** 2257 * @return {@link #title} (A short, descriptive, user-friendly title for the ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2258 */ 2259 public StringType getTitleElement() { 2260 if (this.title == null) 2261 if (Configuration.errorOnAutoCreate()) 2262 throw new Error("Attempt to auto-create ObservationDefinition.title"); 2263 else if (Configuration.doAutoCreate()) 2264 this.title = new StringType(); // bb 2265 return this.title; 2266 } 2267 2268 public boolean hasTitleElement() { 2269 return this.title != null && !this.title.isEmpty(); 2270 } 2271 2272 public boolean hasTitle() { 2273 return this.title != null && !this.title.isEmpty(); 2274 } 2275 2276 /** 2277 * @param value {@link #title} (A short, descriptive, user-friendly title for the ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2278 */ 2279 public ObservationDefinition setTitleElement(StringType value) { 2280 this.title = value; 2281 return this; 2282 } 2283 2284 /** 2285 * @return A short, descriptive, user-friendly title for the ObservationDefinition. 2286 */ 2287 public String getTitle() { 2288 return this.title == null ? null : this.title.getValue(); 2289 } 2290 2291 /** 2292 * @param value A short, descriptive, user-friendly title for the ObservationDefinition. 2293 */ 2294 public ObservationDefinition setTitle(String value) { 2295 if (Utilities.noString(value)) 2296 this.title = null; 2297 else { 2298 if (this.title == null) 2299 this.title = new StringType(); 2300 this.title.setValue(value); 2301 } 2302 return this; 2303 } 2304 2305 /** 2306 * @return {@link #status} (The current state of the ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2307 */ 2308 public Enumeration<PublicationStatus> getStatusElement() { 2309 if (this.status == null) 2310 if (Configuration.errorOnAutoCreate()) 2311 throw new Error("Attempt to auto-create ObservationDefinition.status"); 2312 else if (Configuration.doAutoCreate()) 2313 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 2314 return this.status; 2315 } 2316 2317 public boolean hasStatusElement() { 2318 return this.status != null && !this.status.isEmpty(); 2319 } 2320 2321 public boolean hasStatus() { 2322 return this.status != null && !this.status.isEmpty(); 2323 } 2324 2325 /** 2326 * @param value {@link #status} (The current state of the ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2327 */ 2328 public ObservationDefinition setStatusElement(Enumeration<PublicationStatus> value) { 2329 this.status = value; 2330 return this; 2331 } 2332 2333 /** 2334 * @return The current state of the ObservationDefinition. 2335 */ 2336 public PublicationStatus getStatus() { 2337 return this.status == null ? null : this.status.getValue(); 2338 } 2339 2340 /** 2341 * @param value The current state of the ObservationDefinition. 2342 */ 2343 public ObservationDefinition setStatus(PublicationStatus value) { 2344 if (this.status == null) 2345 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 2346 this.status.setValue(value); 2347 return this; 2348 } 2349 2350 /** 2351 * @return {@link #experimental} (A flag to indicate that this ObservationDefinition 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 2352 */ 2353 public BooleanType getExperimentalElement() { 2354 if (this.experimental == null) 2355 if (Configuration.errorOnAutoCreate()) 2356 throw new Error("Attempt to auto-create ObservationDefinition.experimental"); 2357 else if (Configuration.doAutoCreate()) 2358 this.experimental = new BooleanType(); // bb 2359 return this.experimental; 2360 } 2361 2362 public boolean hasExperimentalElement() { 2363 return this.experimental != null && !this.experimental.isEmpty(); 2364 } 2365 2366 public boolean hasExperimental() { 2367 return this.experimental != null && !this.experimental.isEmpty(); 2368 } 2369 2370 /** 2371 * @param value {@link #experimental} (A flag to indicate that this ObservationDefinition 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 2372 */ 2373 public ObservationDefinition setExperimentalElement(BooleanType value) { 2374 this.experimental = value; 2375 return this; 2376 } 2377 2378 /** 2379 * @return A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 2380 */ 2381 public boolean getExperimental() { 2382 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 2383 } 2384 2385 /** 2386 * @param value A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 2387 */ 2388 public ObservationDefinition setExperimental(boolean value) { 2389 if (this.experimental == null) 2390 this.experimental = new BooleanType(); 2391 this.experimental.setValue(value); 2392 return this; 2393 } 2394 2395 /** 2396 * @return {@link #date} (The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2397 */ 2398 public DateTimeType getDateElement() { 2399 if (this.date == null) 2400 if (Configuration.errorOnAutoCreate()) 2401 throw new Error("Attempt to auto-create ObservationDefinition.date"); 2402 else if (Configuration.doAutoCreate()) 2403 this.date = new DateTimeType(); // bb 2404 return this.date; 2405 } 2406 2407 public boolean hasDateElement() { 2408 return this.date != null && !this.date.isEmpty(); 2409 } 2410 2411 public boolean hasDate() { 2412 return this.date != null && !this.date.isEmpty(); 2413 } 2414 2415 /** 2416 * @param value {@link #date} (The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2417 */ 2418 public ObservationDefinition setDateElement(DateTimeType value) { 2419 this.date = value; 2420 return this; 2421 } 2422 2423 /** 2424 * @return The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes. 2425 */ 2426 public Date getDate() { 2427 return this.date == null ? null : this.date.getValue(); 2428 } 2429 2430 /** 2431 * @param value The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes. 2432 */ 2433 public ObservationDefinition setDate(Date value) { 2434 if (value == null) 2435 this.date = null; 2436 else { 2437 if (this.date == null) 2438 this.date = new DateTimeType(); 2439 this.date.setValue(value); 2440 } 2441 return this; 2442 } 2443 2444 /** 2445 * @return {@link #publisher} (Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contact.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2446 */ 2447 public StringType getPublisherElement() { 2448 if (this.publisher == null) 2449 if (Configuration.errorOnAutoCreate()) 2450 throw new Error("Attempt to auto-create ObservationDefinition.publisher"); 2451 else if (Configuration.doAutoCreate()) 2452 this.publisher = new StringType(); // bb 2453 return this.publisher; 2454 } 2455 2456 public boolean hasPublisherElement() { 2457 return this.publisher != null && !this.publisher.isEmpty(); 2458 } 2459 2460 public boolean hasPublisher() { 2461 return this.publisher != null && !this.publisher.isEmpty(); 2462 } 2463 2464 /** 2465 * @param value {@link #publisher} (Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contact.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2466 */ 2467 public ObservationDefinition setPublisherElement(StringType value) { 2468 this.publisher = value; 2469 return this; 2470 } 2471 2472 /** 2473 * @return Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contact. 2474 */ 2475 public String getPublisher() { 2476 return this.publisher == null ? null : this.publisher.getValue(); 2477 } 2478 2479 /** 2480 * @param value Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contact. 2481 */ 2482 public ObservationDefinition setPublisher(String value) { 2483 if (Utilities.noString(value)) 2484 this.publisher = null; 2485 else { 2486 if (this.publisher == null) 2487 this.publisher = new StringType(); 2488 this.publisher.setValue(value); 2489 } 2490 return this; 2491 } 2492 2493 /** 2494 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2495 */ 2496 public List<ContactDetail> getContact() { 2497 if (this.contact == null) 2498 this.contact = new ArrayList<ContactDetail>(); 2499 return this.contact; 2500 } 2501 2502 /** 2503 * @return Returns a reference to <code>this</code> for easy method chaining 2504 */ 2505 public ObservationDefinition setContact(List<ContactDetail> theContact) { 2506 this.contact = theContact; 2507 return this; 2508 } 2509 2510 public boolean hasContact() { 2511 if (this.contact == null) 2512 return false; 2513 for (ContactDetail item : this.contact) 2514 if (!item.isEmpty()) 2515 return true; 2516 return false; 2517 } 2518 2519 public ContactDetail addContact() { //3 2520 ContactDetail t = new ContactDetail(); 2521 if (this.contact == null) 2522 this.contact = new ArrayList<ContactDetail>(); 2523 this.contact.add(t); 2524 return t; 2525 } 2526 2527 public ObservationDefinition addContact(ContactDetail t) { //3 2528 if (t == null) 2529 return this; 2530 if (this.contact == null) 2531 this.contact = new ArrayList<ContactDetail>(); 2532 this.contact.add(t); 2533 return this; 2534 } 2535 2536 /** 2537 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 2538 */ 2539 public ContactDetail getContactFirstRep() { 2540 if (getContact().isEmpty()) { 2541 addContact(); 2542 } 2543 return getContact().get(0); 2544 } 2545 2546 /** 2547 * @return {@link #description} (A free text natural language description of the ObservationDefinition from the consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2548 */ 2549 public MarkdownType getDescriptionElement() { 2550 if (this.description == null) 2551 if (Configuration.errorOnAutoCreate()) 2552 throw new Error("Attempt to auto-create ObservationDefinition.description"); 2553 else if (Configuration.doAutoCreate()) 2554 this.description = new MarkdownType(); // bb 2555 return this.description; 2556 } 2557 2558 public boolean hasDescriptionElement() { 2559 return this.description != null && !this.description.isEmpty(); 2560 } 2561 2562 public boolean hasDescription() { 2563 return this.description != null && !this.description.isEmpty(); 2564 } 2565 2566 /** 2567 * @param value {@link #description} (A free text natural language description of the ObservationDefinition from the consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2568 */ 2569 public ObservationDefinition setDescriptionElement(MarkdownType value) { 2570 this.description = value; 2571 return this; 2572 } 2573 2574 /** 2575 * @return A free text natural language description of the ObservationDefinition from the consumer's perspective. 2576 */ 2577 public String getDescription() { 2578 return this.description == null ? null : this.description.getValue(); 2579 } 2580 2581 /** 2582 * @param value A free text natural language description of the ObservationDefinition from the consumer's perspective. 2583 */ 2584 public ObservationDefinition setDescription(String value) { 2585 if (Utilities.noString(value)) 2586 this.description = null; 2587 else { 2588 if (this.description == null) 2589 this.description = new MarkdownType(); 2590 this.description.setValue(value); 2591 } 2592 return this; 2593 } 2594 2595 /** 2596 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instances.) 2597 */ 2598 public List<UsageContext> getUseContext() { 2599 if (this.useContext == null) 2600 this.useContext = new ArrayList<UsageContext>(); 2601 return this.useContext; 2602 } 2603 2604 /** 2605 * @return Returns a reference to <code>this</code> for easy method chaining 2606 */ 2607 public ObservationDefinition setUseContext(List<UsageContext> theUseContext) { 2608 this.useContext = theUseContext; 2609 return this; 2610 } 2611 2612 public boolean hasUseContext() { 2613 if (this.useContext == null) 2614 return false; 2615 for (UsageContext item : this.useContext) 2616 if (!item.isEmpty()) 2617 return true; 2618 return false; 2619 } 2620 2621 public UsageContext addUseContext() { //3 2622 UsageContext t = new UsageContext(); 2623 if (this.useContext == null) 2624 this.useContext = new ArrayList<UsageContext>(); 2625 this.useContext.add(t); 2626 return t; 2627 } 2628 2629 public ObservationDefinition addUseContext(UsageContext t) { //3 2630 if (t == null) 2631 return this; 2632 if (this.useContext == null) 2633 this.useContext = new ArrayList<UsageContext>(); 2634 this.useContext.add(t); 2635 return this; 2636 } 2637 2638 /** 2639 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 2640 */ 2641 public UsageContext getUseContextFirstRep() { 2642 if (getUseContext().isEmpty()) { 2643 addUseContext(); 2644 } 2645 return getUseContext().get(0); 2646 } 2647 2648 /** 2649 * @return {@link #jurisdiction} (A jurisdiction in which the ObservationDefinition is intended to be used.) 2650 */ 2651 public List<CodeableConcept> getJurisdiction() { 2652 if (this.jurisdiction == null) 2653 this.jurisdiction = new ArrayList<CodeableConcept>(); 2654 return this.jurisdiction; 2655 } 2656 2657 /** 2658 * @return Returns a reference to <code>this</code> for easy method chaining 2659 */ 2660 public ObservationDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 2661 this.jurisdiction = theJurisdiction; 2662 return this; 2663 } 2664 2665 public boolean hasJurisdiction() { 2666 if (this.jurisdiction == null) 2667 return false; 2668 for (CodeableConcept item : this.jurisdiction) 2669 if (!item.isEmpty()) 2670 return true; 2671 return false; 2672 } 2673 2674 public CodeableConcept addJurisdiction() { //3 2675 CodeableConcept t = new CodeableConcept(); 2676 if (this.jurisdiction == null) 2677 this.jurisdiction = new ArrayList<CodeableConcept>(); 2678 this.jurisdiction.add(t); 2679 return t; 2680 } 2681 2682 public ObservationDefinition addJurisdiction(CodeableConcept t) { //3 2683 if (t == null) 2684 return this; 2685 if (this.jurisdiction == null) 2686 this.jurisdiction = new ArrayList<CodeableConcept>(); 2687 this.jurisdiction.add(t); 2688 return this; 2689 } 2690 2691 /** 2692 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 2693 */ 2694 public CodeableConcept getJurisdictionFirstRep() { 2695 if (getJurisdiction().isEmpty()) { 2696 addJurisdiction(); 2697 } 2698 return getJurisdiction().get(0); 2699 } 2700 2701 /** 2702 * @return {@link #purpose} (Explains why this ObservationDefinition 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 2703 */ 2704 public MarkdownType getPurposeElement() { 2705 if (this.purpose == null) 2706 if (Configuration.errorOnAutoCreate()) 2707 throw new Error("Attempt to auto-create ObservationDefinition.purpose"); 2708 else if (Configuration.doAutoCreate()) 2709 this.purpose = new MarkdownType(); // bb 2710 return this.purpose; 2711 } 2712 2713 public boolean hasPurposeElement() { 2714 return this.purpose != null && !this.purpose.isEmpty(); 2715 } 2716 2717 public boolean hasPurpose() { 2718 return this.purpose != null && !this.purpose.isEmpty(); 2719 } 2720 2721 /** 2722 * @param value {@link #purpose} (Explains why this ObservationDefinition 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 2723 */ 2724 public ObservationDefinition setPurposeElement(MarkdownType value) { 2725 this.purpose = value; 2726 return this; 2727 } 2728 2729 /** 2730 * @return Explains why this ObservationDefinition is needed and why it has been designed as it has. 2731 */ 2732 public String getPurpose() { 2733 return this.purpose == null ? null : this.purpose.getValue(); 2734 } 2735 2736 /** 2737 * @param value Explains why this ObservationDefinition is needed and why it has been designed as it has. 2738 */ 2739 public ObservationDefinition setPurpose(String value) { 2740 if (Utilities.noString(value)) 2741 this.purpose = null; 2742 else { 2743 if (this.purpose == null) 2744 this.purpose = new MarkdownType(); 2745 this.purpose.setValue(value); 2746 } 2747 return this; 2748 } 2749 2750 /** 2751 * @return {@link #copyright} (Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2752 */ 2753 public MarkdownType getCopyrightElement() { 2754 if (this.copyright == null) 2755 if (Configuration.errorOnAutoCreate()) 2756 throw new Error("Attempt to auto-create ObservationDefinition.copyright"); 2757 else if (Configuration.doAutoCreate()) 2758 this.copyright = new MarkdownType(); // bb 2759 return this.copyright; 2760 } 2761 2762 public boolean hasCopyrightElement() { 2763 return this.copyright != null && !this.copyright.isEmpty(); 2764 } 2765 2766 public boolean hasCopyright() { 2767 return this.copyright != null && !this.copyright.isEmpty(); 2768 } 2769 2770 /** 2771 * @param value {@link #copyright} (Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2772 */ 2773 public ObservationDefinition setCopyrightElement(MarkdownType value) { 2774 this.copyright = value; 2775 return this; 2776 } 2777 2778 /** 2779 * @return Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition. 2780 */ 2781 public String getCopyright() { 2782 return this.copyright == null ? null : this.copyright.getValue(); 2783 } 2784 2785 /** 2786 * @param value Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition. 2787 */ 2788 public ObservationDefinition setCopyright(String value) { 2789 if (Utilities.noString(value)) 2790 this.copyright = null; 2791 else { 2792 if (this.copyright == null) 2793 this.copyright = new MarkdownType(); 2794 this.copyright.setValue(value); 2795 } 2796 return this; 2797 } 2798 2799 /** 2800 * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 2801 */ 2802 public StringType getCopyrightLabelElement() { 2803 if (this.copyrightLabel == null) 2804 if (Configuration.errorOnAutoCreate()) 2805 throw new Error("Attempt to auto-create ObservationDefinition.copyrightLabel"); 2806 else if (Configuration.doAutoCreate()) 2807 this.copyrightLabel = new StringType(); // bb 2808 return this.copyrightLabel; 2809 } 2810 2811 public boolean hasCopyrightLabelElement() { 2812 return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); 2813 } 2814 2815 public boolean hasCopyrightLabel() { 2816 return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); 2817 } 2818 2819 /** 2820 * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 2821 */ 2822 public ObservationDefinition setCopyrightLabelElement(StringType value) { 2823 this.copyrightLabel = value; 2824 return this; 2825 } 2826 2827 /** 2828 * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 2829 */ 2830 public String getCopyrightLabel() { 2831 return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); 2832 } 2833 2834 /** 2835 * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 2836 */ 2837 public ObservationDefinition setCopyrightLabel(String value) { 2838 if (Utilities.noString(value)) 2839 this.copyrightLabel = null; 2840 else { 2841 if (this.copyrightLabel == null) 2842 this.copyrightLabel = new StringType(); 2843 this.copyrightLabel.setValue(value); 2844 } 2845 return this; 2846 } 2847 2848 /** 2849 * @return {@link #approvalDate} (The date on which the asset 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 2850 */ 2851 public DateType getApprovalDateElement() { 2852 if (this.approvalDate == null) 2853 if (Configuration.errorOnAutoCreate()) 2854 throw new Error("Attempt to auto-create ObservationDefinition.approvalDate"); 2855 else if (Configuration.doAutoCreate()) 2856 this.approvalDate = new DateType(); // bb 2857 return this.approvalDate; 2858 } 2859 2860 public boolean hasApprovalDateElement() { 2861 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2862 } 2863 2864 public boolean hasApprovalDate() { 2865 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2866 } 2867 2868 /** 2869 * @param value {@link #approvalDate} (The date on which the asset 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 2870 */ 2871 public ObservationDefinition setApprovalDateElement(DateType value) { 2872 this.approvalDate = value; 2873 return this; 2874 } 2875 2876 /** 2877 * @return The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2878 */ 2879 public Date getApprovalDate() { 2880 return this.approvalDate == null ? null : this.approvalDate.getValue(); 2881 } 2882 2883 /** 2884 * @param value The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2885 */ 2886 public ObservationDefinition setApprovalDate(Date value) { 2887 if (value == null) 2888 this.approvalDate = null; 2889 else { 2890 if (this.approvalDate == null) 2891 this.approvalDate = new DateType(); 2892 this.approvalDate.setValue(value); 2893 } 2894 return this; 2895 } 2896 2897 /** 2898 * @return {@link #lastReviewDate} (The date on which the asset content was last reviewed. Review happens periodically after that, 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 2899 */ 2900 public DateType getLastReviewDateElement() { 2901 if (this.lastReviewDate == null) 2902 if (Configuration.errorOnAutoCreate()) 2903 throw new Error("Attempt to auto-create ObservationDefinition.lastReviewDate"); 2904 else if (Configuration.doAutoCreate()) 2905 this.lastReviewDate = new DateType(); // bb 2906 return this.lastReviewDate; 2907 } 2908 2909 public boolean hasLastReviewDateElement() { 2910 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2911 } 2912 2913 public boolean hasLastReviewDate() { 2914 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2915 } 2916 2917 /** 2918 * @param value {@link #lastReviewDate} (The date on which the asset content was last reviewed. Review happens periodically after that, 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 2919 */ 2920 public ObservationDefinition setLastReviewDateElement(DateType value) { 2921 this.lastReviewDate = value; 2922 return this; 2923 } 2924 2925 /** 2926 * @return The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. 2927 */ 2928 public Date getLastReviewDate() { 2929 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 2930 } 2931 2932 /** 2933 * @param value The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. 2934 */ 2935 public ObservationDefinition setLastReviewDate(Date value) { 2936 if (value == null) 2937 this.lastReviewDate = null; 2938 else { 2939 if (this.lastReviewDate == null) 2940 this.lastReviewDate = new DateType(); 2941 this.lastReviewDate.setValue(value); 2942 } 2943 return this; 2944 } 2945 2946 /** 2947 * @return {@link #effectivePeriod} (The period during which the ObservationDefinition content was or is planned to be effective.) 2948 */ 2949 public Period getEffectivePeriod() { 2950 if (this.effectivePeriod == null) 2951 if (Configuration.errorOnAutoCreate()) 2952 throw new Error("Attempt to auto-create ObservationDefinition.effectivePeriod"); 2953 else if (Configuration.doAutoCreate()) 2954 this.effectivePeriod = new Period(); // cc 2955 return this.effectivePeriod; 2956 } 2957 2958 public boolean hasEffectivePeriod() { 2959 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 2960 } 2961 2962 /** 2963 * @param value {@link #effectivePeriod} (The period during which the ObservationDefinition content was or is planned to be effective.) 2964 */ 2965 public ObservationDefinition setEffectivePeriod(Period value) { 2966 this.effectivePeriod = value; 2967 return this; 2968 } 2969 2970 /** 2971 * @return {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition.) 2972 */ 2973 public List<CanonicalType> getDerivedFromCanonical() { 2974 if (this.derivedFromCanonical == null) 2975 this.derivedFromCanonical = new ArrayList<CanonicalType>(); 2976 return this.derivedFromCanonical; 2977 } 2978 2979 /** 2980 * @return Returns a reference to <code>this</code> for easy method chaining 2981 */ 2982 public ObservationDefinition setDerivedFromCanonical(List<CanonicalType> theDerivedFromCanonical) { 2983 this.derivedFromCanonical = theDerivedFromCanonical; 2984 return this; 2985 } 2986 2987 public boolean hasDerivedFromCanonical() { 2988 if (this.derivedFromCanonical == null) 2989 return false; 2990 for (CanonicalType item : this.derivedFromCanonical) 2991 if (!item.isEmpty()) 2992 return true; 2993 return false; 2994 } 2995 2996 /** 2997 * @return {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition.) 2998 */ 2999 public CanonicalType addDerivedFromCanonicalElement() {//2 3000 CanonicalType t = new CanonicalType(); 3001 if (this.derivedFromCanonical == null) 3002 this.derivedFromCanonical = new ArrayList<CanonicalType>(); 3003 this.derivedFromCanonical.add(t); 3004 return t; 3005 } 3006 3007 /** 3008 * @param value {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition.) 3009 */ 3010 public ObservationDefinition addDerivedFromCanonical(String value) { //1 3011 CanonicalType t = new CanonicalType(); 3012 t.setValue(value); 3013 if (this.derivedFromCanonical == null) 3014 this.derivedFromCanonical = new ArrayList<CanonicalType>(); 3015 this.derivedFromCanonical.add(t); 3016 return this; 3017 } 3018 3019 /** 3020 * @param value {@link #derivedFromCanonical} (The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition.) 3021 */ 3022 public boolean hasDerivedFromCanonical(String value) { 3023 if (this.derivedFromCanonical == null) 3024 return false; 3025 for (CanonicalType v : this.derivedFromCanonical) 3026 if (v.getValue().equals(value)) // canonical 3027 return true; 3028 return false; 3029 } 3030 3031 /** 3032 * @return {@link #derivedFromUri} (The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition.) 3033 */ 3034 public List<UriType> getDerivedFromUri() { 3035 if (this.derivedFromUri == null) 3036 this.derivedFromUri = new ArrayList<UriType>(); 3037 return this.derivedFromUri; 3038 } 3039 3040 /** 3041 * @return Returns a reference to <code>this</code> for easy method chaining 3042 */ 3043 public ObservationDefinition setDerivedFromUri(List<UriType> theDerivedFromUri) { 3044 this.derivedFromUri = theDerivedFromUri; 3045 return this; 3046 } 3047 3048 public boolean hasDerivedFromUri() { 3049 if (this.derivedFromUri == null) 3050 return false; 3051 for (UriType item : this.derivedFromUri) 3052 if (!item.isEmpty()) 3053 return true; 3054 return false; 3055 } 3056 3057 /** 3058 * @return {@link #derivedFromUri} (The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition.) 3059 */ 3060 public UriType addDerivedFromUriElement() {//2 3061 UriType t = new UriType(); 3062 if (this.derivedFromUri == null) 3063 this.derivedFromUri = new ArrayList<UriType>(); 3064 this.derivedFromUri.add(t); 3065 return t; 3066 } 3067 3068 /** 3069 * @param value {@link #derivedFromUri} (The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition.) 3070 */ 3071 public ObservationDefinition addDerivedFromUri(String value) { //1 3072 UriType t = new UriType(); 3073 t.setValue(value); 3074 if (this.derivedFromUri == null) 3075 this.derivedFromUri = new ArrayList<UriType>(); 3076 this.derivedFromUri.add(t); 3077 return this; 3078 } 3079 3080 /** 3081 * @param value {@link #derivedFromUri} (The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition.) 3082 */ 3083 public boolean hasDerivedFromUri(String value) { 3084 if (this.derivedFromUri == null) 3085 return false; 3086 for (UriType v : this.derivedFromUri) 3087 if (v.getValue().equals(value)) // uri 3088 return true; 3089 return false; 3090 } 3091 3092 /** 3093 * @return {@link #subject} (A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinition.) 3094 */ 3095 public List<CodeableConcept> getSubject() { 3096 if (this.subject == null) 3097 this.subject = new ArrayList<CodeableConcept>(); 3098 return this.subject; 3099 } 3100 3101 /** 3102 * @return Returns a reference to <code>this</code> for easy method chaining 3103 */ 3104 public ObservationDefinition setSubject(List<CodeableConcept> theSubject) { 3105 this.subject = theSubject; 3106 return this; 3107 } 3108 3109 public boolean hasSubject() { 3110 if (this.subject == null) 3111 return false; 3112 for (CodeableConcept item : this.subject) 3113 if (!item.isEmpty()) 3114 return true; 3115 return false; 3116 } 3117 3118 public CodeableConcept addSubject() { //3 3119 CodeableConcept t = new CodeableConcept(); 3120 if (this.subject == null) 3121 this.subject = new ArrayList<CodeableConcept>(); 3122 this.subject.add(t); 3123 return t; 3124 } 3125 3126 public ObservationDefinition addSubject(CodeableConcept t) { //3 3127 if (t == null) 3128 return this; 3129 if (this.subject == null) 3130 this.subject = new ArrayList<CodeableConcept>(); 3131 this.subject.add(t); 3132 return this; 3133 } 3134 3135 /** 3136 * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist {3} 3137 */ 3138 public CodeableConcept getSubjectFirstRep() { 3139 if (getSubject().isEmpty()) { 3140 addSubject(); 3141 } 3142 return getSubject().get(0); 3143 } 3144 3145 /** 3146 * @return {@link #performerType} (The type of individual/organization/device that is expected to act upon instances of this definition.) 3147 */ 3148 public CodeableConcept getPerformerType() { 3149 if (this.performerType == null) 3150 if (Configuration.errorOnAutoCreate()) 3151 throw new Error("Attempt to auto-create ObservationDefinition.performerType"); 3152 else if (Configuration.doAutoCreate()) 3153 this.performerType = new CodeableConcept(); // cc 3154 return this.performerType; 3155 } 3156 3157 public boolean hasPerformerType() { 3158 return this.performerType != null && !this.performerType.isEmpty(); 3159 } 3160 3161 /** 3162 * @param value {@link #performerType} (The type of individual/organization/device that is expected to act upon instances of this definition.) 3163 */ 3164 public ObservationDefinition setPerformerType(CodeableConcept value) { 3165 this.performerType = value; 3166 return this; 3167 } 3168 3169 /** 3170 * @return {@link #category} (A code that classifies the general type of observation.) 3171 */ 3172 public List<CodeableConcept> getCategory() { 3173 if (this.category == null) 3174 this.category = new ArrayList<CodeableConcept>(); 3175 return this.category; 3176 } 3177 3178 /** 3179 * @return Returns a reference to <code>this</code> for easy method chaining 3180 */ 3181 public ObservationDefinition setCategory(List<CodeableConcept> theCategory) { 3182 this.category = theCategory; 3183 return this; 3184 } 3185 3186 public boolean hasCategory() { 3187 if (this.category == null) 3188 return false; 3189 for (CodeableConcept item : this.category) 3190 if (!item.isEmpty()) 3191 return true; 3192 return false; 3193 } 3194 3195 public CodeableConcept addCategory() { //3 3196 CodeableConcept t = new CodeableConcept(); 3197 if (this.category == null) 3198 this.category = new ArrayList<CodeableConcept>(); 3199 this.category.add(t); 3200 return t; 3201 } 3202 3203 public ObservationDefinition addCategory(CodeableConcept t) { //3 3204 if (t == null) 3205 return this; 3206 if (this.category == null) 3207 this.category = new ArrayList<CodeableConcept>(); 3208 this.category.add(t); 3209 return this; 3210 } 3211 3212 /** 3213 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 3214 */ 3215 public CodeableConcept getCategoryFirstRep() { 3216 if (getCategory().isEmpty()) { 3217 addCategory(); 3218 } 3219 return getCategory().get(0); 3220 } 3221 3222 /** 3223 * @return {@link #code} (Describes what will be observed. Sometimes this is called the observation "name".) 3224 */ 3225 public CodeableConcept getCode() { 3226 if (this.code == null) 3227 if (Configuration.errorOnAutoCreate()) 3228 throw new Error("Attempt to auto-create ObservationDefinition.code"); 3229 else if (Configuration.doAutoCreate()) 3230 this.code = new CodeableConcept(); // cc 3231 return this.code; 3232 } 3233 3234 public boolean hasCode() { 3235 return this.code != null && !this.code.isEmpty(); 3236 } 3237 3238 /** 3239 * @param value {@link #code} (Describes what will be observed. Sometimes this is called the observation "name".) 3240 */ 3241 public ObservationDefinition setCode(CodeableConcept value) { 3242 this.code = value; 3243 return this; 3244 } 3245 3246 /** 3247 * @return {@link #permittedDataType} (The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.) 3248 */ 3249 public List<Enumeration<ObservationDataType>> getPermittedDataType() { 3250 if (this.permittedDataType == null) 3251 this.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 3252 return this.permittedDataType; 3253 } 3254 3255 /** 3256 * @return Returns a reference to <code>this</code> for easy method chaining 3257 */ 3258 public ObservationDefinition setPermittedDataType(List<Enumeration<ObservationDataType>> thePermittedDataType) { 3259 this.permittedDataType = thePermittedDataType; 3260 return this; 3261 } 3262 3263 public boolean hasPermittedDataType() { 3264 if (this.permittedDataType == null) 3265 return false; 3266 for (Enumeration<ObservationDataType> item : this.permittedDataType) 3267 if (!item.isEmpty()) 3268 return true; 3269 return false; 3270 } 3271 3272 /** 3273 * @return {@link #permittedDataType} (The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.) 3274 */ 3275 public Enumeration<ObservationDataType> addPermittedDataTypeElement() {//2 3276 Enumeration<ObservationDataType> t = new Enumeration<ObservationDataType>(new ObservationDataTypeEnumFactory()); 3277 if (this.permittedDataType == null) 3278 this.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 3279 this.permittedDataType.add(t); 3280 return t; 3281 } 3282 3283 /** 3284 * @param value {@link #permittedDataType} (The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.) 3285 */ 3286 public ObservationDefinition addPermittedDataType(ObservationDataType value) { //1 3287 Enumeration<ObservationDataType> t = new Enumeration<ObservationDataType>(new ObservationDataTypeEnumFactory()); 3288 t.setValue(value); 3289 if (this.permittedDataType == null) 3290 this.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 3291 this.permittedDataType.add(t); 3292 return this; 3293 } 3294 3295 /** 3296 * @param value {@link #permittedDataType} (The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.) 3297 */ 3298 public boolean hasPermittedDataType(ObservationDataType value) { 3299 if (this.permittedDataType == null) 3300 return false; 3301 for (Enumeration<ObservationDataType> v : this.permittedDataType) 3302 if (v.getValue().equals(value)) // code 3303 return true; 3304 return false; 3305 } 3306 3307 /** 3308 * @return {@link #multipleResultsAllowed} (Multiple results allowed for observations conforming to this ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getMultipleResultsAllowed" gives direct access to the value 3309 */ 3310 public BooleanType getMultipleResultsAllowedElement() { 3311 if (this.multipleResultsAllowed == null) 3312 if (Configuration.errorOnAutoCreate()) 3313 throw new Error("Attempt to auto-create ObservationDefinition.multipleResultsAllowed"); 3314 else if (Configuration.doAutoCreate()) 3315 this.multipleResultsAllowed = new BooleanType(); // bb 3316 return this.multipleResultsAllowed; 3317 } 3318 3319 public boolean hasMultipleResultsAllowedElement() { 3320 return this.multipleResultsAllowed != null && !this.multipleResultsAllowed.isEmpty(); 3321 } 3322 3323 public boolean hasMultipleResultsAllowed() { 3324 return this.multipleResultsAllowed != null && !this.multipleResultsAllowed.isEmpty(); 3325 } 3326 3327 /** 3328 * @param value {@link #multipleResultsAllowed} (Multiple results allowed for observations conforming to this ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getMultipleResultsAllowed" gives direct access to the value 3329 */ 3330 public ObservationDefinition setMultipleResultsAllowedElement(BooleanType value) { 3331 this.multipleResultsAllowed = value; 3332 return this; 3333 } 3334 3335 /** 3336 * @return Multiple results allowed for observations conforming to this ObservationDefinition. 3337 */ 3338 public boolean getMultipleResultsAllowed() { 3339 return this.multipleResultsAllowed == null || this.multipleResultsAllowed.isEmpty() ? false : this.multipleResultsAllowed.getValue(); 3340 } 3341 3342 /** 3343 * @param value Multiple results allowed for observations conforming to this ObservationDefinition. 3344 */ 3345 public ObservationDefinition setMultipleResultsAllowed(boolean value) { 3346 if (this.multipleResultsAllowed == null) 3347 this.multipleResultsAllowed = new BooleanType(); 3348 this.multipleResultsAllowed.setValue(value); 3349 return this; 3350 } 3351 3352 /** 3353 * @return {@link #bodySite} (The site on the subject's body where the observation is to be made.) 3354 */ 3355 public CodeableConcept getBodySite() { 3356 if (this.bodySite == null) 3357 if (Configuration.errorOnAutoCreate()) 3358 throw new Error("Attempt to auto-create ObservationDefinition.bodySite"); 3359 else if (Configuration.doAutoCreate()) 3360 this.bodySite = new CodeableConcept(); // cc 3361 return this.bodySite; 3362 } 3363 3364 public boolean hasBodySite() { 3365 return this.bodySite != null && !this.bodySite.isEmpty(); 3366 } 3367 3368 /** 3369 * @param value {@link #bodySite} (The site on the subject's body where the observation is to be made.) 3370 */ 3371 public ObservationDefinition setBodySite(CodeableConcept value) { 3372 this.bodySite = value; 3373 return this; 3374 } 3375 3376 /** 3377 * @return {@link #method} (The method or technique used to perform the observation.) 3378 */ 3379 public CodeableConcept getMethod() { 3380 if (this.method == null) 3381 if (Configuration.errorOnAutoCreate()) 3382 throw new Error("Attempt to auto-create ObservationDefinition.method"); 3383 else if (Configuration.doAutoCreate()) 3384 this.method = new CodeableConcept(); // cc 3385 return this.method; 3386 } 3387 3388 public boolean hasMethod() { 3389 return this.method != null && !this.method.isEmpty(); 3390 } 3391 3392 /** 3393 * @param value {@link #method} (The method or technique used to perform the observation.) 3394 */ 3395 public ObservationDefinition setMethod(CodeableConcept value) { 3396 this.method = value; 3397 return this; 3398 } 3399 3400 /** 3401 * @return {@link #specimen} (The kind of specimen that this type of observation is produced on.) 3402 */ 3403 public List<Reference> getSpecimen() { 3404 if (this.specimen == null) 3405 this.specimen = new ArrayList<Reference>(); 3406 return this.specimen; 3407 } 3408 3409 /** 3410 * @return Returns a reference to <code>this</code> for easy method chaining 3411 */ 3412 public ObservationDefinition setSpecimen(List<Reference> theSpecimen) { 3413 this.specimen = theSpecimen; 3414 return this; 3415 } 3416 3417 public boolean hasSpecimen() { 3418 if (this.specimen == null) 3419 return false; 3420 for (Reference item : this.specimen) 3421 if (!item.isEmpty()) 3422 return true; 3423 return false; 3424 } 3425 3426 public Reference addSpecimen() { //3 3427 Reference t = new Reference(); 3428 if (this.specimen == null) 3429 this.specimen = new ArrayList<Reference>(); 3430 this.specimen.add(t); 3431 return t; 3432 } 3433 3434 public ObservationDefinition addSpecimen(Reference t) { //3 3435 if (t == null) 3436 return this; 3437 if (this.specimen == null) 3438 this.specimen = new ArrayList<Reference>(); 3439 this.specimen.add(t); 3440 return this; 3441 } 3442 3443 /** 3444 * @return The first repetition of repeating field {@link #specimen}, creating it if it does not already exist {3} 3445 */ 3446 public Reference getSpecimenFirstRep() { 3447 if (getSpecimen().isEmpty()) { 3448 addSpecimen(); 3449 } 3450 return getSpecimen().get(0); 3451 } 3452 3453 /** 3454 * @return {@link #device} (The measurement model of device or actual device used to produce observations of this type.) 3455 */ 3456 public List<Reference> getDevice() { 3457 if (this.device == null) 3458 this.device = new ArrayList<Reference>(); 3459 return this.device; 3460 } 3461 3462 /** 3463 * @return Returns a reference to <code>this</code> for easy method chaining 3464 */ 3465 public ObservationDefinition setDevice(List<Reference> theDevice) { 3466 this.device = theDevice; 3467 return this; 3468 } 3469 3470 public boolean hasDevice() { 3471 if (this.device == null) 3472 return false; 3473 for (Reference item : this.device) 3474 if (!item.isEmpty()) 3475 return true; 3476 return false; 3477 } 3478 3479 public Reference addDevice() { //3 3480 Reference t = new Reference(); 3481 if (this.device == null) 3482 this.device = new ArrayList<Reference>(); 3483 this.device.add(t); 3484 return t; 3485 } 3486 3487 public ObservationDefinition addDevice(Reference t) { //3 3488 if (t == null) 3489 return this; 3490 if (this.device == null) 3491 this.device = new ArrayList<Reference>(); 3492 this.device.add(t); 3493 return this; 3494 } 3495 3496 /** 3497 * @return The first repetition of repeating field {@link #device}, creating it if it does not already exist {3} 3498 */ 3499 public Reference getDeviceFirstRep() { 3500 if (getDevice().isEmpty()) { 3501 addDevice(); 3502 } 3503 return getDevice().get(0); 3504 } 3505 3506 /** 3507 * @return {@link #preferredReportName} (The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getPreferredReportName" gives direct access to the value 3508 */ 3509 public StringType getPreferredReportNameElement() { 3510 if (this.preferredReportName == null) 3511 if (Configuration.errorOnAutoCreate()) 3512 throw new Error("Attempt to auto-create ObservationDefinition.preferredReportName"); 3513 else if (Configuration.doAutoCreate()) 3514 this.preferredReportName = new StringType(); // bb 3515 return this.preferredReportName; 3516 } 3517 3518 public boolean hasPreferredReportNameElement() { 3519 return this.preferredReportName != null && !this.preferredReportName.isEmpty(); 3520 } 3521 3522 public boolean hasPreferredReportName() { 3523 return this.preferredReportName != null && !this.preferredReportName.isEmpty(); 3524 } 3525 3526 /** 3527 * @param value {@link #preferredReportName} (The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition.). This is the underlying object with id, value and extensions. The accessor "getPreferredReportName" gives direct access to the value 3528 */ 3529 public ObservationDefinition setPreferredReportNameElement(StringType value) { 3530 this.preferredReportName = value; 3531 return this; 3532 } 3533 3534 /** 3535 * @return The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition. 3536 */ 3537 public String getPreferredReportName() { 3538 return this.preferredReportName == null ? null : this.preferredReportName.getValue(); 3539 } 3540 3541 /** 3542 * @param value The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition. 3543 */ 3544 public ObservationDefinition setPreferredReportName(String value) { 3545 if (Utilities.noString(value)) 3546 this.preferredReportName = null; 3547 else { 3548 if (this.preferredReportName == null) 3549 this.preferredReportName = new StringType(); 3550 this.preferredReportName.setValue(value); 3551 } 3552 return this; 3553 } 3554 3555 /** 3556 * @return {@link #permittedUnit} (Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition.) 3557 */ 3558 public List<Coding> getPermittedUnit() { 3559 if (this.permittedUnit == null) 3560 this.permittedUnit = new ArrayList<Coding>(); 3561 return this.permittedUnit; 3562 } 3563 3564 /** 3565 * @return Returns a reference to <code>this</code> for easy method chaining 3566 */ 3567 public ObservationDefinition setPermittedUnit(List<Coding> thePermittedUnit) { 3568 this.permittedUnit = thePermittedUnit; 3569 return this; 3570 } 3571 3572 public boolean hasPermittedUnit() { 3573 if (this.permittedUnit == null) 3574 return false; 3575 for (Coding item : this.permittedUnit) 3576 if (!item.isEmpty()) 3577 return true; 3578 return false; 3579 } 3580 3581 public Coding addPermittedUnit() { //3 3582 Coding t = new Coding(); 3583 if (this.permittedUnit == null) 3584 this.permittedUnit = new ArrayList<Coding>(); 3585 this.permittedUnit.add(t); 3586 return t; 3587 } 3588 3589 public ObservationDefinition addPermittedUnit(Coding t) { //3 3590 if (t == null) 3591 return this; 3592 if (this.permittedUnit == null) 3593 this.permittedUnit = new ArrayList<Coding>(); 3594 this.permittedUnit.add(t); 3595 return this; 3596 } 3597 3598 /** 3599 * @return The first repetition of repeating field {@link #permittedUnit}, creating it if it does not already exist {3} 3600 */ 3601 public Coding getPermittedUnitFirstRep() { 3602 if (getPermittedUnit().isEmpty()) { 3603 addPermittedUnit(); 3604 } 3605 return getPermittedUnit().get(0); 3606 } 3607 3608 /** 3609 * @return {@link #qualifiedValue} (A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations.) 3610 */ 3611 public List<ObservationDefinitionQualifiedValueComponent> getQualifiedValue() { 3612 if (this.qualifiedValue == null) 3613 this.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 3614 return this.qualifiedValue; 3615 } 3616 3617 /** 3618 * @return Returns a reference to <code>this</code> for easy method chaining 3619 */ 3620 public ObservationDefinition setQualifiedValue(List<ObservationDefinitionQualifiedValueComponent> theQualifiedValue) { 3621 this.qualifiedValue = theQualifiedValue; 3622 return this; 3623 } 3624 3625 public boolean hasQualifiedValue() { 3626 if (this.qualifiedValue == null) 3627 return false; 3628 for (ObservationDefinitionQualifiedValueComponent item : this.qualifiedValue) 3629 if (!item.isEmpty()) 3630 return true; 3631 return false; 3632 } 3633 3634 public ObservationDefinitionQualifiedValueComponent addQualifiedValue() { //3 3635 ObservationDefinitionQualifiedValueComponent t = new ObservationDefinitionQualifiedValueComponent(); 3636 if (this.qualifiedValue == null) 3637 this.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 3638 this.qualifiedValue.add(t); 3639 return t; 3640 } 3641 3642 public ObservationDefinition addQualifiedValue(ObservationDefinitionQualifiedValueComponent t) { //3 3643 if (t == null) 3644 return this; 3645 if (this.qualifiedValue == null) 3646 this.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 3647 this.qualifiedValue.add(t); 3648 return this; 3649 } 3650 3651 /** 3652 * @return The first repetition of repeating field {@link #qualifiedValue}, creating it if it does not already exist {3} 3653 */ 3654 public ObservationDefinitionQualifiedValueComponent getQualifiedValueFirstRep() { 3655 if (getQualifiedValue().isEmpty()) { 3656 addQualifiedValue(); 3657 } 3658 return getQualifiedValue().get(0); 3659 } 3660 3661 /** 3662 * @return {@link #hasMember} (This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.) 3663 */ 3664 public List<Reference> getHasMember() { 3665 if (this.hasMember == null) 3666 this.hasMember = new ArrayList<Reference>(); 3667 return this.hasMember; 3668 } 3669 3670 /** 3671 * @return Returns a reference to <code>this</code> for easy method chaining 3672 */ 3673 public ObservationDefinition setHasMember(List<Reference> theHasMember) { 3674 this.hasMember = theHasMember; 3675 return this; 3676 } 3677 3678 public boolean hasHasMember() { 3679 if (this.hasMember == null) 3680 return false; 3681 for (Reference item : this.hasMember) 3682 if (!item.isEmpty()) 3683 return true; 3684 return false; 3685 } 3686 3687 public Reference addHasMember() { //3 3688 Reference t = new Reference(); 3689 if (this.hasMember == null) 3690 this.hasMember = new ArrayList<Reference>(); 3691 this.hasMember.add(t); 3692 return t; 3693 } 3694 3695 public ObservationDefinition addHasMember(Reference t) { //3 3696 if (t == null) 3697 return this; 3698 if (this.hasMember == null) 3699 this.hasMember = new ArrayList<Reference>(); 3700 this.hasMember.add(t); 3701 return this; 3702 } 3703 3704 /** 3705 * @return The first repetition of repeating field {@link #hasMember}, creating it if it does not already exist {3} 3706 */ 3707 public Reference getHasMemberFirstRep() { 3708 if (getHasMember().isEmpty()) { 3709 addHasMember(); 3710 } 3711 return getHasMember().get(0); 3712 } 3713 3714 /** 3715 * @return {@link #component} (Some observations have multiple component observations, expressed as separate code value pairs.) 3716 */ 3717 public List<ObservationDefinitionComponentComponent> getComponent() { 3718 if (this.component == null) 3719 this.component = new ArrayList<ObservationDefinitionComponentComponent>(); 3720 return this.component; 3721 } 3722 3723 /** 3724 * @return Returns a reference to <code>this</code> for easy method chaining 3725 */ 3726 public ObservationDefinition setComponent(List<ObservationDefinitionComponentComponent> theComponent) { 3727 this.component = theComponent; 3728 return this; 3729 } 3730 3731 public boolean hasComponent() { 3732 if (this.component == null) 3733 return false; 3734 for (ObservationDefinitionComponentComponent item : this.component) 3735 if (!item.isEmpty()) 3736 return true; 3737 return false; 3738 } 3739 3740 public ObservationDefinitionComponentComponent addComponent() { //3 3741 ObservationDefinitionComponentComponent t = new ObservationDefinitionComponentComponent(); 3742 if (this.component == null) 3743 this.component = new ArrayList<ObservationDefinitionComponentComponent>(); 3744 this.component.add(t); 3745 return t; 3746 } 3747 3748 public ObservationDefinition addComponent(ObservationDefinitionComponentComponent t) { //3 3749 if (t == null) 3750 return this; 3751 if (this.component == null) 3752 this.component = new ArrayList<ObservationDefinitionComponentComponent>(); 3753 this.component.add(t); 3754 return this; 3755 } 3756 3757 /** 3758 * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3} 3759 */ 3760 public ObservationDefinitionComponentComponent getComponentFirstRep() { 3761 if (getComponent().isEmpty()) { 3762 addComponent(); 3763 } 3764 return getComponent().get(0); 3765 } 3766 3767 protected void listChildren(List<Property> children) { 3768 super.listChildren(children); 3769 children.add(new Property("url", "uri", "An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions.", 0, 1, url)); 3770 children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.", 0, 1, identifier)); 3771 children.add(new Property("version", "string", "The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable.", 0, 1, version)); 3772 children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); 3773 children.add(new Property("name", "string", "A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 3774 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the ObservationDefinition.", 0, 1, title)); 3775 children.add(new Property("status", "code", "The current state of the ObservationDefinition.", 0, 1, status)); 3776 children.add(new Property("experimental", "boolean", "A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, 1, experimental)); 3777 children.add(new Property("date", "dateTime", "The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes.", 0, 1, date)); 3778 children.add(new Property("publisher", "string", "Helps establish the \"authority/credibility\" of the ObservationDefinition. May also allow for contact.", 0, 1, publisher)); 3779 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 3780 children.add(new Property("description", "markdown", "A free text natural language description of the ObservationDefinition from the consumer's perspective.", 0, 1, description)); 3781 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 3782 children.add(new Property("jurisdiction", "CodeableConcept", "A jurisdiction in which the ObservationDefinition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 3783 children.add(new Property("purpose", "markdown", "Explains why this ObservationDefinition is needed and why it has been designed as it has.", 0, 1, purpose)); 3784 children.add(new Property("copyright", "markdown", "Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition.", 0, 1, copyright)); 3785 children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); 3786 children.add(new Property("approvalDate", "date", "The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); 3787 children.add(new Property("lastReviewDate", "date", "The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.", 0, 1, lastReviewDate)); 3788 children.add(new Property("effectivePeriod", "Period", "The period during which the ObservationDefinition content was or is planned to be effective.", 0, 1, effectivePeriod)); 3789 children.add(new Property("derivedFromCanonical", "canonical(ObservationDefinition)", "The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromCanonical)); 3790 children.add(new Property("derivedFromUri", "uri", "The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromUri)); 3791 children.add(new Property("subject", "CodeableConcept", "A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, subject)); 3792 children.add(new Property("performerType", "CodeableConcept", "The type of individual/organization/device that is expected to act upon instances of this definition.", 0, 1, performerType)); 3793 children.add(new Property("category", "CodeableConcept", "A code that classifies the general type of observation.", 0, java.lang.Integer.MAX_VALUE, category)); 3794 children.add(new Property("code", "CodeableConcept", "Describes what will be observed. Sometimes this is called the observation \"name\".", 0, 1, code)); 3795 children.add(new Property("permittedDataType", "code", "The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, permittedDataType)); 3796 children.add(new Property("multipleResultsAllowed", "boolean", "Multiple results allowed for observations conforming to this ObservationDefinition.", 0, 1, multipleResultsAllowed)); 3797 children.add(new Property("bodySite", "CodeableConcept", "The site on the subject's body where the observation is to be made.", 0, 1, bodySite)); 3798 children.add(new Property("method", "CodeableConcept", "The method or technique used to perform the observation.", 0, 1, method)); 3799 children.add(new Property("specimen", "Reference(SpecimenDefinition)", "The kind of specimen that this type of observation is produced on.", 0, java.lang.Integer.MAX_VALUE, specimen)); 3800 children.add(new Property("device", "Reference(DeviceDefinition|Device)", "The measurement model of device or actual device used to produce observations of this type.", 0, java.lang.Integer.MAX_VALUE, device)); 3801 children.add(new Property("preferredReportName", "string", "The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition.", 0, 1, preferredReportName)); 3802 children.add(new Property("permittedUnit", "Coding", "Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, permittedUnit)); 3803 children.add(new Property("qualifiedValue", "", "A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations.", 0, java.lang.Integer.MAX_VALUE, qualifiedValue)); 3804 children.add(new Property("hasMember", "Reference(ObservationDefinition|Questionnaire)", "This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.", 0, java.lang.Integer.MAX_VALUE, hasMember)); 3805 children.add(new Property("component", "", "Some observations have multiple component observations, expressed as separate code value pairs.", 0, java.lang.Integer.MAX_VALUE, component)); 3806 } 3807 3808 @Override 3809 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3810 switch (_hash) { 3811 case 116079: /*url*/ return new Property("url", "uri", "An absolute URL that is used to identify this ObservationDefinition 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 ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versions.", 0, 1, url); 3812 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.", 0, 1, identifier); 3813 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition 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 are orderable.", 0, 1, version); 3814 case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 3815 case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 3816 case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 3817 case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 3818 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 3819 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the ObservationDefinition.", 0, 1, title); 3820 case -892481550: /*status*/ return new Property("status", "code", "The current state of the ObservationDefinition.", 0, 1, status); 3821 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, 1, experimental); 3822 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changes.", 0, 1, date); 3823 case 1447404028: /*publisher*/ return new Property("publisher", "string", "Helps establish the \"authority/credibility\" of the ObservationDefinition. May also allow for contact.", 0, 1, publisher); 3824 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 3825 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the ObservationDefinition from the consumer's perspective.", 0, 1, description); 3826 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 3827 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A jurisdiction in which the ObservationDefinition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 3828 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explains why this ObservationDefinition is needed and why it has been designed as it has.", 0, 1, purpose); 3829 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinition.", 0, 1, copyright); 3830 case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); 3831 case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); 3832 case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.", 0, 1, lastReviewDate); 3833 case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the ObservationDefinition content was or is planned to be effective.", 0, 1, effectivePeriod); 3834 case -978133683: /*derivedFromCanonical*/ return new Property("derivedFromCanonical", "canonical(ObservationDefinition)", "The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromCanonical); 3835 case -1076333435: /*derivedFromUri*/ return new Property("derivedFromUri", "uri", "The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromUri); 3836 case -1867885268: /*subject*/ return new Property("subject", "CodeableConcept", "A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, subject); 3837 case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "The type of individual/organization/device that is expected to act upon instances of this definition.", 0, 1, performerType); 3838 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the general type of observation.", 0, java.lang.Integer.MAX_VALUE, category); 3839 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Describes what will be observed. Sometimes this is called the observation \"name\".", 0, 1, code); 3840 case -99492804: /*permittedDataType*/ return new Property("permittedDataType", "code", "The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, permittedDataType); 3841 case -2102414590: /*multipleResultsAllowed*/ return new Property("multipleResultsAllowed", "boolean", "Multiple results allowed for observations conforming to this ObservationDefinition.", 0, 1, multipleResultsAllowed); 3842 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "The site on the subject's body where the observation is to be made.", 0, 1, bodySite); 3843 case -1077554975: /*method*/ return new Property("method", "CodeableConcept", "The method or technique used to perform the observation.", 0, 1, method); 3844 case -2132868344: /*specimen*/ return new Property("specimen", "Reference(SpecimenDefinition)", "The kind of specimen that this type of observation is produced on.", 0, java.lang.Integer.MAX_VALUE, specimen); 3845 case -1335157162: /*device*/ return new Property("device", "Reference(DeviceDefinition|Device)", "The measurement model of device or actual device used to produce observations of this type.", 0, java.lang.Integer.MAX_VALUE, device); 3846 case -1851030208: /*preferredReportName*/ return new Property("preferredReportName", "string", "The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition.", 0, 1, preferredReportName); 3847 case 1073054652: /*permittedUnit*/ return new Property("permittedUnit", "Coding", "Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinition.", 0, java.lang.Integer.MAX_VALUE, permittedUnit); 3848 case -558517707: /*qualifiedValue*/ return new Property("qualifiedValue", "", "A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observations.", 0, java.lang.Integer.MAX_VALUE, qualifiedValue); 3849 case -458019372: /*hasMember*/ return new Property("hasMember", "Reference(ObservationDefinition|Questionnaire)", "This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.", 0, java.lang.Integer.MAX_VALUE, hasMember); 3850 case -1399907075: /*component*/ return new Property("component", "", "Some observations have multiple component observations, expressed as separate code value pairs.", 0, java.lang.Integer.MAX_VALUE, component); 3851 default: return super.getNamedProperty(_hash, _name, _checkValid); 3852 } 3853 3854 } 3855 3856 @Override 3857 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3858 switch (hash) { 3859 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3860 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 3861 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3862 case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType 3863 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3864 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3865 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3866 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3867 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3868 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3869 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 3870 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3871 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 3872 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 3873 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 3874 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 3875 case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType 3876 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 3877 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 3878 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 3879 case -978133683: /*derivedFromCanonical*/ return this.derivedFromCanonical == null ? new Base[0] : this.derivedFromCanonical.toArray(new Base[this.derivedFromCanonical.size()]); // CanonicalType 3880 case -1076333435: /*derivedFromUri*/ return this.derivedFromUri == null ? new Base[0] : this.derivedFromUri.toArray(new Base[this.derivedFromUri.size()]); // UriType 3881 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // CodeableConcept 3882 case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : new Base[] {this.performerType}; // CodeableConcept 3883 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 3884 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 3885 case -99492804: /*permittedDataType*/ return this.permittedDataType == null ? new Base[0] : this.permittedDataType.toArray(new Base[this.permittedDataType.size()]); // Enumeration<ObservationDataType> 3886 case -2102414590: /*multipleResultsAllowed*/ return this.multipleResultsAllowed == null ? new Base[0] : new Base[] {this.multipleResultsAllowed}; // BooleanType 3887 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableConcept 3888 case -1077554975: /*method*/ return this.method == null ? new Base[0] : new Base[] {this.method}; // CodeableConcept 3889 case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : this.specimen.toArray(new Base[this.specimen.size()]); // Reference 3890 case -1335157162: /*device*/ return this.device == null ? new Base[0] : this.device.toArray(new Base[this.device.size()]); // Reference 3891 case -1851030208: /*preferredReportName*/ return this.preferredReportName == null ? new Base[0] : new Base[] {this.preferredReportName}; // StringType 3892 case 1073054652: /*permittedUnit*/ return this.permittedUnit == null ? new Base[0] : this.permittedUnit.toArray(new Base[this.permittedUnit.size()]); // Coding 3893 case -558517707: /*qualifiedValue*/ return this.qualifiedValue == null ? new Base[0] : this.qualifiedValue.toArray(new Base[this.qualifiedValue.size()]); // ObservationDefinitionQualifiedValueComponent 3894 case -458019372: /*hasMember*/ return this.hasMember == null ? new Base[0] : this.hasMember.toArray(new Base[this.hasMember.size()]); // Reference 3895 case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // ObservationDefinitionComponentComponent 3896 default: return super.getProperty(hash, name, checkValid); 3897 } 3898 3899 } 3900 3901 @Override 3902 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3903 switch (hash) { 3904 case 116079: // url 3905 this.url = TypeConvertor.castToUri(value); // UriType 3906 return value; 3907 case -1618432855: // identifier 3908 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 3909 return value; 3910 case 351608024: // version 3911 this.version = TypeConvertor.castToString(value); // StringType 3912 return value; 3913 case 1508158071: // versionAlgorithm 3914 this.versionAlgorithm = TypeConvertor.castToType(value); // DataType 3915 return value; 3916 case 3373707: // name 3917 this.name = TypeConvertor.castToString(value); // StringType 3918 return value; 3919 case 110371416: // title 3920 this.title = TypeConvertor.castToString(value); // StringType 3921 return value; 3922 case -892481550: // status 3923 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3924 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3925 return value; 3926 case -404562712: // experimental 3927 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3928 return value; 3929 case 3076014: // date 3930 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3931 return value; 3932 case 1447404028: // publisher 3933 this.publisher = TypeConvertor.castToString(value); // StringType 3934 return value; 3935 case 951526432: // contact 3936 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3937 return value; 3938 case -1724546052: // description 3939 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3940 return value; 3941 case -669707736: // useContext 3942 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 3943 return value; 3944 case -507075711: // jurisdiction 3945 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3946 return value; 3947 case -220463842: // purpose 3948 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 3949 return value; 3950 case 1522889671: // copyright 3951 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 3952 return value; 3953 case 765157229: // copyrightLabel 3954 this.copyrightLabel = TypeConvertor.castToString(value); // StringType 3955 return value; 3956 case 223539345: // approvalDate 3957 this.approvalDate = TypeConvertor.castToDate(value); // DateType 3958 return value; 3959 case -1687512484: // lastReviewDate 3960 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 3961 return value; 3962 case -403934648: // effectivePeriod 3963 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 3964 return value; 3965 case -978133683: // derivedFromCanonical 3966 this.getDerivedFromCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType 3967 return value; 3968 case -1076333435: // derivedFromUri 3969 this.getDerivedFromUri().add(TypeConvertor.castToUri(value)); // UriType 3970 return value; 3971 case -1867885268: // subject 3972 this.getSubject().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3973 return value; 3974 case -901444568: // performerType 3975 this.performerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3976 return value; 3977 case 50511102: // category 3978 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3979 return value; 3980 case 3059181: // code 3981 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3982 return value; 3983 case -99492804: // permittedDataType 3984 value = new ObservationDataTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3985 this.getPermittedDataType().add((Enumeration) value); // Enumeration<ObservationDataType> 3986 return value; 3987 case -2102414590: // multipleResultsAllowed 3988 this.multipleResultsAllowed = TypeConvertor.castToBoolean(value); // BooleanType 3989 return value; 3990 case 1702620169: // bodySite 3991 this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3992 return value; 3993 case -1077554975: // method 3994 this.method = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3995 return value; 3996 case -2132868344: // specimen 3997 this.getSpecimen().add(TypeConvertor.castToReference(value)); // Reference 3998 return value; 3999 case -1335157162: // device 4000 this.getDevice().add(TypeConvertor.castToReference(value)); // Reference 4001 return value; 4002 case -1851030208: // preferredReportName 4003 this.preferredReportName = TypeConvertor.castToString(value); // StringType 4004 return value; 4005 case 1073054652: // permittedUnit 4006 this.getPermittedUnit().add(TypeConvertor.castToCoding(value)); // Coding 4007 return value; 4008 case -558517707: // qualifiedValue 4009 this.getQualifiedValue().add((ObservationDefinitionQualifiedValueComponent) value); // ObservationDefinitionQualifiedValueComponent 4010 return value; 4011 case -458019372: // hasMember 4012 this.getHasMember().add(TypeConvertor.castToReference(value)); // Reference 4013 return value; 4014 case -1399907075: // component 4015 this.getComponent().add((ObservationDefinitionComponentComponent) value); // ObservationDefinitionComponentComponent 4016 return value; 4017 default: return super.setProperty(hash, name, value); 4018 } 4019 4020 } 4021 4022 @Override 4023 public Base setProperty(String name, Base value) throws FHIRException { 4024 if (name.equals("url")) { 4025 this.url = TypeConvertor.castToUri(value); // UriType 4026 } else if (name.equals("identifier")) { 4027 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 4028 } else if (name.equals("version")) { 4029 this.version = TypeConvertor.castToString(value); // StringType 4030 } else if (name.equals("versionAlgorithm[x]")) { 4031 this.versionAlgorithm = TypeConvertor.castToType(value); // DataType 4032 } else if (name.equals("name")) { 4033 this.name = TypeConvertor.castToString(value); // StringType 4034 } else if (name.equals("title")) { 4035 this.title = TypeConvertor.castToString(value); // StringType 4036 } else if (name.equals("status")) { 4037 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4038 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4039 } else if (name.equals("experimental")) { 4040 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4041 } else if (name.equals("date")) { 4042 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4043 } else if (name.equals("publisher")) { 4044 this.publisher = TypeConvertor.castToString(value); // StringType 4045 } else if (name.equals("contact")) { 4046 this.getContact().add(TypeConvertor.castToContactDetail(value)); 4047 } else if (name.equals("description")) { 4048 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4049 } else if (name.equals("useContext")) { 4050 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 4051 } else if (name.equals("jurisdiction")) { 4052 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 4053 } else if (name.equals("purpose")) { 4054 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4055 } else if (name.equals("copyright")) { 4056 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4057 } else if (name.equals("copyrightLabel")) { 4058 this.copyrightLabel = TypeConvertor.castToString(value); // StringType 4059 } else if (name.equals("approvalDate")) { 4060 this.approvalDate = TypeConvertor.castToDate(value); // DateType 4061 } else if (name.equals("lastReviewDate")) { 4062 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 4063 } else if (name.equals("effectivePeriod")) { 4064 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 4065 } else if (name.equals("derivedFromCanonical")) { 4066 this.getDerivedFromCanonical().add(TypeConvertor.castToCanonical(value)); 4067 } else if (name.equals("derivedFromUri")) { 4068 this.getDerivedFromUri().add(TypeConvertor.castToUri(value)); 4069 } else if (name.equals("subject")) { 4070 this.getSubject().add(TypeConvertor.castToCodeableConcept(value)); 4071 } else if (name.equals("performerType")) { 4072 this.performerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 4073 } else if (name.equals("category")) { 4074 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 4075 } else if (name.equals("code")) { 4076 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 4077 } else if (name.equals("permittedDataType")) { 4078 value = new ObservationDataTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 4079 this.getPermittedDataType().add((Enumeration) value); 4080 } else if (name.equals("multipleResultsAllowed")) { 4081 this.multipleResultsAllowed = TypeConvertor.castToBoolean(value); // BooleanType 4082 } else if (name.equals("bodySite")) { 4083 this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 4084 } else if (name.equals("method")) { 4085 this.method = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 4086 } else if (name.equals("specimen")) { 4087 this.getSpecimen().add(TypeConvertor.castToReference(value)); 4088 } else if (name.equals("device")) { 4089 this.getDevice().add(TypeConvertor.castToReference(value)); 4090 } else if (name.equals("preferredReportName")) { 4091 this.preferredReportName = TypeConvertor.castToString(value); // StringType 4092 } else if (name.equals("permittedUnit")) { 4093 this.getPermittedUnit().add(TypeConvertor.castToCoding(value)); 4094 } else if (name.equals("qualifiedValue")) { 4095 this.getQualifiedValue().add((ObservationDefinitionQualifiedValueComponent) value); 4096 } else if (name.equals("hasMember")) { 4097 this.getHasMember().add(TypeConvertor.castToReference(value)); 4098 } else if (name.equals("component")) { 4099 this.getComponent().add((ObservationDefinitionComponentComponent) value); 4100 } else 4101 return super.setProperty(name, value); 4102 return value; 4103 } 4104 4105 @Override 4106 public void removeChild(String name, Base value) throws FHIRException { 4107 if (name.equals("url")) { 4108 this.url = null; 4109 } else if (name.equals("identifier")) { 4110 this.identifier = null; 4111 } else if (name.equals("version")) { 4112 this.version = null; 4113 } else if (name.equals("versionAlgorithm[x]")) { 4114 this.versionAlgorithm = null; 4115 } else if (name.equals("name")) { 4116 this.name = null; 4117 } else if (name.equals("title")) { 4118 this.title = null; 4119 } else if (name.equals("status")) { 4120 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4121 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4122 } else if (name.equals("experimental")) { 4123 this.experimental = null; 4124 } else if (name.equals("date")) { 4125 this.date = null; 4126 } else if (name.equals("publisher")) { 4127 this.publisher = null; 4128 } else if (name.equals("contact")) { 4129 this.getContact().remove(value); 4130 } else if (name.equals("description")) { 4131 this.description = null; 4132 } else if (name.equals("useContext")) { 4133 this.getUseContext().remove(value); 4134 } else if (name.equals("jurisdiction")) { 4135 this.getJurisdiction().remove(value); 4136 } else if (name.equals("purpose")) { 4137 this.purpose = null; 4138 } else if (name.equals("copyright")) { 4139 this.copyright = null; 4140 } else if (name.equals("copyrightLabel")) { 4141 this.copyrightLabel = null; 4142 } else if (name.equals("approvalDate")) { 4143 this.approvalDate = null; 4144 } else if (name.equals("lastReviewDate")) { 4145 this.lastReviewDate = null; 4146 } else if (name.equals("effectivePeriod")) { 4147 this.effectivePeriod = null; 4148 } else if (name.equals("derivedFromCanonical")) { 4149 this.getDerivedFromCanonical().remove(value); 4150 } else if (name.equals("derivedFromUri")) { 4151 this.getDerivedFromUri().remove(value); 4152 } else if (name.equals("subject")) { 4153 this.getSubject().remove(value); 4154 } else if (name.equals("performerType")) { 4155 this.performerType = null; 4156 } else if (name.equals("category")) { 4157 this.getCategory().remove(value); 4158 } else if (name.equals("code")) { 4159 this.code = null; 4160 } else if (name.equals("permittedDataType")) { 4161 value = new ObservationDataTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 4162 this.getPermittedDataType().remove((Enumeration) value); 4163 } else if (name.equals("multipleResultsAllowed")) { 4164 this.multipleResultsAllowed = null; 4165 } else if (name.equals("bodySite")) { 4166 this.bodySite = null; 4167 } else if (name.equals("method")) { 4168 this.method = null; 4169 } else if (name.equals("specimen")) { 4170 this.getSpecimen().remove(value); 4171 } else if (name.equals("device")) { 4172 this.getDevice().remove(value); 4173 } else if (name.equals("preferredReportName")) { 4174 this.preferredReportName = null; 4175 } else if (name.equals("permittedUnit")) { 4176 this.getPermittedUnit().remove(value); 4177 } else if (name.equals("qualifiedValue")) { 4178 this.getQualifiedValue().remove((ObservationDefinitionQualifiedValueComponent) value); 4179 } else if (name.equals("hasMember")) { 4180 this.getHasMember().remove(value); 4181 } else if (name.equals("component")) { 4182 this.getComponent().remove((ObservationDefinitionComponentComponent) value); 4183 } else 4184 super.removeChild(name, value); 4185 4186 } 4187 4188 @Override 4189 public Base makeProperty(int hash, String name) throws FHIRException { 4190 switch (hash) { 4191 case 116079: return getUrlElement(); 4192 case -1618432855: return getIdentifier(); 4193 case 351608024: return getVersionElement(); 4194 case -115699031: return getVersionAlgorithm(); 4195 case 1508158071: return getVersionAlgorithm(); 4196 case 3373707: return getNameElement(); 4197 case 110371416: return getTitleElement(); 4198 case -892481550: return getStatusElement(); 4199 case -404562712: return getExperimentalElement(); 4200 case 3076014: return getDateElement(); 4201 case 1447404028: return getPublisherElement(); 4202 case 951526432: return addContact(); 4203 case -1724546052: return getDescriptionElement(); 4204 case -669707736: return addUseContext(); 4205 case -507075711: return addJurisdiction(); 4206 case -220463842: return getPurposeElement(); 4207 case 1522889671: return getCopyrightElement(); 4208 case 765157229: return getCopyrightLabelElement(); 4209 case 223539345: return getApprovalDateElement(); 4210 case -1687512484: return getLastReviewDateElement(); 4211 case -403934648: return getEffectivePeriod(); 4212 case -978133683: return addDerivedFromCanonicalElement(); 4213 case -1076333435: return addDerivedFromUriElement(); 4214 case -1867885268: return addSubject(); 4215 case -901444568: return getPerformerType(); 4216 case 50511102: return addCategory(); 4217 case 3059181: return getCode(); 4218 case -99492804: return addPermittedDataTypeElement(); 4219 case -2102414590: return getMultipleResultsAllowedElement(); 4220 case 1702620169: return getBodySite(); 4221 case -1077554975: return getMethod(); 4222 case -2132868344: return addSpecimen(); 4223 case -1335157162: return addDevice(); 4224 case -1851030208: return getPreferredReportNameElement(); 4225 case 1073054652: return addPermittedUnit(); 4226 case -558517707: return addQualifiedValue(); 4227 case -458019372: return addHasMember(); 4228 case -1399907075: return addComponent(); 4229 default: return super.makeProperty(hash, name); 4230 } 4231 4232 } 4233 4234 @Override 4235 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4236 switch (hash) { 4237 case 116079: /*url*/ return new String[] {"uri"}; 4238 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 4239 case 351608024: /*version*/ return new String[] {"string"}; 4240 case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; 4241 case 3373707: /*name*/ return new String[] {"string"}; 4242 case 110371416: /*title*/ return new String[] {"string"}; 4243 case -892481550: /*status*/ return new String[] {"code"}; 4244 case -404562712: /*experimental*/ return new String[] {"boolean"}; 4245 case 3076014: /*date*/ return new String[] {"dateTime"}; 4246 case 1447404028: /*publisher*/ return new String[] {"string"}; 4247 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 4248 case -1724546052: /*description*/ return new String[] {"markdown"}; 4249 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 4250 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 4251 case -220463842: /*purpose*/ return new String[] {"markdown"}; 4252 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 4253 case 765157229: /*copyrightLabel*/ return new String[] {"string"}; 4254 case 223539345: /*approvalDate*/ return new String[] {"date"}; 4255 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 4256 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 4257 case -978133683: /*derivedFromCanonical*/ return new String[] {"canonical"}; 4258 case -1076333435: /*derivedFromUri*/ return new String[] {"uri"}; 4259 case -1867885268: /*subject*/ return new String[] {"CodeableConcept"}; 4260 case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; 4261 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 4262 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 4263 case -99492804: /*permittedDataType*/ return new String[] {"code"}; 4264 case -2102414590: /*multipleResultsAllowed*/ return new String[] {"boolean"}; 4265 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 4266 case -1077554975: /*method*/ return new String[] {"CodeableConcept"}; 4267 case -2132868344: /*specimen*/ return new String[] {"Reference"}; 4268 case -1335157162: /*device*/ return new String[] {"Reference"}; 4269 case -1851030208: /*preferredReportName*/ return new String[] {"string"}; 4270 case 1073054652: /*permittedUnit*/ return new String[] {"Coding"}; 4271 case -558517707: /*qualifiedValue*/ return new String[] {}; 4272 case -458019372: /*hasMember*/ return new String[] {"Reference"}; 4273 case -1399907075: /*component*/ return new String[] {}; 4274 default: return super.getTypesForProperty(hash, name); 4275 } 4276 4277 } 4278 4279 @Override 4280 public Base addChild(String name) throws FHIRException { 4281 if (name.equals("url")) { 4282 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.url"); 4283 } 4284 else if (name.equals("identifier")) { 4285 this.identifier = new Identifier(); 4286 return this.identifier; 4287 } 4288 else if (name.equals("version")) { 4289 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.version"); 4290 } 4291 else if (name.equals("versionAlgorithmString")) { 4292 this.versionAlgorithm = new StringType(); 4293 return this.versionAlgorithm; 4294 } 4295 else if (name.equals("versionAlgorithmCoding")) { 4296 this.versionAlgorithm = new Coding(); 4297 return this.versionAlgorithm; 4298 } 4299 else if (name.equals("name")) { 4300 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.name"); 4301 } 4302 else if (name.equals("title")) { 4303 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.title"); 4304 } 4305 else if (name.equals("status")) { 4306 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.status"); 4307 } 4308 else if (name.equals("experimental")) { 4309 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.experimental"); 4310 } 4311 else if (name.equals("date")) { 4312 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.date"); 4313 } 4314 else if (name.equals("publisher")) { 4315 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.publisher"); 4316 } 4317 else if (name.equals("contact")) { 4318 return addContact(); 4319 } 4320 else if (name.equals("description")) { 4321 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.description"); 4322 } 4323 else if (name.equals("useContext")) { 4324 return addUseContext(); 4325 } 4326 else if (name.equals("jurisdiction")) { 4327 return addJurisdiction(); 4328 } 4329 else if (name.equals("purpose")) { 4330 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.purpose"); 4331 } 4332 else if (name.equals("copyright")) { 4333 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.copyright"); 4334 } 4335 else if (name.equals("copyrightLabel")) { 4336 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.copyrightLabel"); 4337 } 4338 else if (name.equals("approvalDate")) { 4339 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.approvalDate"); 4340 } 4341 else if (name.equals("lastReviewDate")) { 4342 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.lastReviewDate"); 4343 } 4344 else if (name.equals("effectivePeriod")) { 4345 this.effectivePeriod = new Period(); 4346 return this.effectivePeriod; 4347 } 4348 else if (name.equals("derivedFromCanonical")) { 4349 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.derivedFromCanonical"); 4350 } 4351 else if (name.equals("derivedFromUri")) { 4352 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.derivedFromUri"); 4353 } 4354 else if (name.equals("subject")) { 4355 return addSubject(); 4356 } 4357 else if (name.equals("performerType")) { 4358 this.performerType = new CodeableConcept(); 4359 return this.performerType; 4360 } 4361 else if (name.equals("category")) { 4362 return addCategory(); 4363 } 4364 else if (name.equals("code")) { 4365 this.code = new CodeableConcept(); 4366 return this.code; 4367 } 4368 else if (name.equals("permittedDataType")) { 4369 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.permittedDataType"); 4370 } 4371 else if (name.equals("multipleResultsAllowed")) { 4372 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.multipleResultsAllowed"); 4373 } 4374 else if (name.equals("bodySite")) { 4375 this.bodySite = new CodeableConcept(); 4376 return this.bodySite; 4377 } 4378 else if (name.equals("method")) { 4379 this.method = new CodeableConcept(); 4380 return this.method; 4381 } 4382 else if (name.equals("specimen")) { 4383 return addSpecimen(); 4384 } 4385 else if (name.equals("device")) { 4386 return addDevice(); 4387 } 4388 else if (name.equals("preferredReportName")) { 4389 throw new FHIRException("Cannot call addChild on a singleton property ObservationDefinition.preferredReportName"); 4390 } 4391 else if (name.equals("permittedUnit")) { 4392 return addPermittedUnit(); 4393 } 4394 else if (name.equals("qualifiedValue")) { 4395 return addQualifiedValue(); 4396 } 4397 else if (name.equals("hasMember")) { 4398 return addHasMember(); 4399 } 4400 else if (name.equals("component")) { 4401 return addComponent(); 4402 } 4403 else 4404 return super.addChild(name); 4405 } 4406 4407 public String fhirType() { 4408 return "ObservationDefinition"; 4409 4410 } 4411 4412 public ObservationDefinition copy() { 4413 ObservationDefinition dst = new ObservationDefinition(); 4414 copyValues(dst); 4415 return dst; 4416 } 4417 4418 public void copyValues(ObservationDefinition dst) { 4419 super.copyValues(dst); 4420 dst.url = url == null ? null : url.copy(); 4421 dst.identifier = identifier == null ? null : identifier.copy(); 4422 dst.version = version == null ? null : version.copy(); 4423 dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); 4424 dst.name = name == null ? null : name.copy(); 4425 dst.title = title == null ? null : title.copy(); 4426 dst.status = status == null ? null : status.copy(); 4427 dst.experimental = experimental == null ? null : experimental.copy(); 4428 dst.date = date == null ? null : date.copy(); 4429 dst.publisher = publisher == null ? null : publisher.copy(); 4430 if (contact != null) { 4431 dst.contact = new ArrayList<ContactDetail>(); 4432 for (ContactDetail i : contact) 4433 dst.contact.add(i.copy()); 4434 }; 4435 dst.description = description == null ? null : description.copy(); 4436 if (useContext != null) { 4437 dst.useContext = new ArrayList<UsageContext>(); 4438 for (UsageContext i : useContext) 4439 dst.useContext.add(i.copy()); 4440 }; 4441 if (jurisdiction != null) { 4442 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4443 for (CodeableConcept i : jurisdiction) 4444 dst.jurisdiction.add(i.copy()); 4445 }; 4446 dst.purpose = purpose == null ? null : purpose.copy(); 4447 dst.copyright = copyright == null ? null : copyright.copy(); 4448 dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); 4449 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 4450 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 4451 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 4452 if (derivedFromCanonical != null) { 4453 dst.derivedFromCanonical = new ArrayList<CanonicalType>(); 4454 for (CanonicalType i : derivedFromCanonical) 4455 dst.derivedFromCanonical.add(i.copy()); 4456 }; 4457 if (derivedFromUri != null) { 4458 dst.derivedFromUri = new ArrayList<UriType>(); 4459 for (UriType i : derivedFromUri) 4460 dst.derivedFromUri.add(i.copy()); 4461 }; 4462 if (subject != null) { 4463 dst.subject = new ArrayList<CodeableConcept>(); 4464 for (CodeableConcept i : subject) 4465 dst.subject.add(i.copy()); 4466 }; 4467 dst.performerType = performerType == null ? null : performerType.copy(); 4468 if (category != null) { 4469 dst.category = new ArrayList<CodeableConcept>(); 4470 for (CodeableConcept i : category) 4471 dst.category.add(i.copy()); 4472 }; 4473 dst.code = code == null ? null : code.copy(); 4474 if (permittedDataType != null) { 4475 dst.permittedDataType = new ArrayList<Enumeration<ObservationDataType>>(); 4476 for (Enumeration<ObservationDataType> i : permittedDataType) 4477 dst.permittedDataType.add(i.copy()); 4478 }; 4479 dst.multipleResultsAllowed = multipleResultsAllowed == null ? null : multipleResultsAllowed.copy(); 4480 dst.bodySite = bodySite == null ? null : bodySite.copy(); 4481 dst.method = method == null ? null : method.copy(); 4482 if (specimen != null) { 4483 dst.specimen = new ArrayList<Reference>(); 4484 for (Reference i : specimen) 4485 dst.specimen.add(i.copy()); 4486 }; 4487 if (device != null) { 4488 dst.device = new ArrayList<Reference>(); 4489 for (Reference i : device) 4490 dst.device.add(i.copy()); 4491 }; 4492 dst.preferredReportName = preferredReportName == null ? null : preferredReportName.copy(); 4493 if (permittedUnit != null) { 4494 dst.permittedUnit = new ArrayList<Coding>(); 4495 for (Coding i : permittedUnit) 4496 dst.permittedUnit.add(i.copy()); 4497 }; 4498 if (qualifiedValue != null) { 4499 dst.qualifiedValue = new ArrayList<ObservationDefinitionQualifiedValueComponent>(); 4500 for (ObservationDefinitionQualifiedValueComponent i : qualifiedValue) 4501 dst.qualifiedValue.add(i.copy()); 4502 }; 4503 if (hasMember != null) { 4504 dst.hasMember = new ArrayList<Reference>(); 4505 for (Reference i : hasMember) 4506 dst.hasMember.add(i.copy()); 4507 }; 4508 if (component != null) { 4509 dst.component = new ArrayList<ObservationDefinitionComponentComponent>(); 4510 for (ObservationDefinitionComponentComponent i : component) 4511 dst.component.add(i.copy()); 4512 }; 4513 } 4514 4515 protected ObservationDefinition typedCopy() { 4516 return copy(); 4517 } 4518 4519 @Override 4520 public boolean equalsDeep(Base other_) { 4521 if (!super.equalsDeep(other_)) 4522 return false; 4523 if (!(other_ instanceof ObservationDefinition)) 4524 return false; 4525 ObservationDefinition o = (ObservationDefinition) other_; 4526 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 4527 && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) 4528 && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) 4529 && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) 4530 && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) 4531 && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) 4532 && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) 4533 && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(derivedFromCanonical, o.derivedFromCanonical, true) 4534 && compareDeep(derivedFromUri, o.derivedFromUri, true) && compareDeep(subject, o.subject, true) 4535 && compareDeep(performerType, o.performerType, true) && compareDeep(category, o.category, true) 4536 && compareDeep(code, o.code, true) && compareDeep(permittedDataType, o.permittedDataType, true) 4537 && compareDeep(multipleResultsAllowed, o.multipleResultsAllowed, true) && compareDeep(bodySite, o.bodySite, true) 4538 && compareDeep(method, o.method, true) && compareDeep(specimen, o.specimen, true) && compareDeep(device, o.device, true) 4539 && compareDeep(preferredReportName, o.preferredReportName, true) && compareDeep(permittedUnit, o.permittedUnit, true) 4540 && compareDeep(qualifiedValue, o.qualifiedValue, true) && compareDeep(hasMember, o.hasMember, true) 4541 && compareDeep(component, o.component, true); 4542 } 4543 4544 @Override 4545 public boolean equalsShallow(Base other_) { 4546 if (!super.equalsShallow(other_)) 4547 return false; 4548 if (!(other_ instanceof ObservationDefinition)) 4549 return false; 4550 ObservationDefinition o = (ObservationDefinition) other_; 4551 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 4552 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 4553 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 4554 && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) 4555 && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) 4556 && compareValues(derivedFromCanonical, o.derivedFromCanonical, true) && compareValues(derivedFromUri, o.derivedFromUri, true) 4557 && compareValues(permittedDataType, o.permittedDataType, true) && compareValues(multipleResultsAllowed, o.multipleResultsAllowed, true) 4558 && compareValues(preferredReportName, o.preferredReportName, true); 4559 } 4560 4561 public boolean isEmpty() { 4562 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 4563 , versionAlgorithm, name, title, status, experimental, date, publisher, contact 4564 , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, approvalDate 4565 , lastReviewDate, effectivePeriod, derivedFromCanonical, derivedFromUri, subject, performerType 4566 , category, code, permittedDataType, multipleResultsAllowed, bodySite, method, specimen 4567 , device, preferredReportName, permittedUnit, qualifiedValue, hasMember, component 4568 ); 4569 } 4570 4571 @Override 4572 public ResourceType getResourceType() { 4573 return ResourceType.ObservationDefinition; 4574 } 4575 4576 /** 4577 * Search parameter: <b>identifier</b> 4578 * <p> 4579 * Description: <b>Multiple Resources: 4580 4581* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition 4582* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition 4583* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement 4584* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition 4585* [Citation](citation.html): External identifier for the citation 4586* [CodeSystem](codesystem.html): External identifier for the code system 4587* [ConceptMap](conceptmap.html): External identifier for the concept map 4588* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition 4589* [EventDefinition](eventdefinition.html): External identifier for the event definition 4590* [Evidence](evidence.html): External identifier for the evidence 4591* [EvidenceReport](evidencereport.html): External identifier for the evidence report 4592* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable 4593* [ExampleScenario](examplescenario.html): External identifier for the example scenario 4594* [GraphDefinition](graphdefinition.html): External identifier for the graph definition 4595* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide 4596* [Library](library.html): External identifier for the library 4597* [Measure](measure.html): External identifier for the measure 4598* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication 4599* [MessageDefinition](messagedefinition.html): External identifier for the message definition 4600* [NamingSystem](namingsystem.html): External identifier for the naming system 4601* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition 4602* [OperationDefinition](operationdefinition.html): External identifier for the search parameter 4603* [PlanDefinition](plandefinition.html): External identifier for the plan definition 4604* [Questionnaire](questionnaire.html): External identifier for the questionnaire 4605* [Requirements](requirements.html): External identifier for the requirements 4606* [SearchParameter](searchparameter.html): External identifier for the search parameter 4607* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition 4608* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 4609* [StructureMap](structuremap.html): External identifier for the structure map 4610* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic 4611* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 4612* [TestPlan](testplan.html): An identifier for the test plan 4613* [TestScript](testscript.html): External identifier for the test script 4614* [ValueSet](valueset.html): External identifier for the value set 4615</b><br> 4616 * Type: <b>token</b><br> 4617 * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br> 4618 * </p> 4619 */ 4620 @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition\r\n* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition\r\n* [Citation](citation.html): External identifier for the citation\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition\r\n* [EventDefinition](eventdefinition.html): External identifier for the event definition\r\n* [Evidence](evidence.html): External identifier for the evidence\r\n* [EvidenceReport](evidencereport.html): External identifier for the evidence report\r\n* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable\r\n* [ExampleScenario](examplescenario.html): External identifier for the example scenario\r\n* [GraphDefinition](graphdefinition.html): External identifier for the graph definition\r\n* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide\r\n* [Library](library.html): External identifier for the library\r\n* [Measure](measure.html): External identifier for the measure\r\n* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition\r\n* [OperationDefinition](operationdefinition.html): External identifier for the search parameter\r\n* [PlanDefinition](plandefinition.html): External identifier for the plan definition\r\n* [Questionnaire](questionnaire.html): External identifier for the questionnaire\r\n* [Requirements](requirements.html): External identifier for the requirements\r\n* [SearchParameter](searchparameter.html): External identifier for the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [TestPlan](testplan.html): An identifier for the test plan\r\n* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 4621 public static final String SP_IDENTIFIER = "identifier"; 4622 /** 4623 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4624 * <p> 4625 * Description: <b>Multiple Resources: 4626 4627* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition 4628* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition 4629* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement 4630* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition 4631* [Citation](citation.html): External identifier for the citation 4632* [CodeSystem](codesystem.html): External identifier for the code system 4633* [ConceptMap](conceptmap.html): External identifier for the concept map 4634* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition 4635* [EventDefinition](eventdefinition.html): External identifier for the event definition 4636* [Evidence](evidence.html): External identifier for the evidence 4637* [EvidenceReport](evidencereport.html): External identifier for the evidence report 4638* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable 4639* [ExampleScenario](examplescenario.html): External identifier for the example scenario 4640* [GraphDefinition](graphdefinition.html): External identifier for the graph definition 4641* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide 4642* [Library](library.html): External identifier for the library 4643* [Measure](measure.html): External identifier for the measure 4644* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication 4645* [MessageDefinition](messagedefinition.html): External identifier for the message definition 4646* [NamingSystem](namingsystem.html): External identifier for the naming system 4647* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition 4648* [OperationDefinition](operationdefinition.html): External identifier for the search parameter 4649* [PlanDefinition](plandefinition.html): External identifier for the plan definition 4650* [Questionnaire](questionnaire.html): External identifier for the questionnaire 4651* [Requirements](requirements.html): External identifier for the requirements 4652* [SearchParameter](searchparameter.html): External identifier for the search parameter 4653* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition 4654* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 4655* [StructureMap](structuremap.html): External identifier for the structure map 4656* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic 4657* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 4658* [TestPlan](testplan.html): An identifier for the test plan 4659* [TestScript](testscript.html): External identifier for the test script 4660* [ValueSet](valueset.html): External identifier for the value set 4661</b><br> 4662 * Type: <b>token</b><br> 4663 * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br> 4664 * </p> 4665 */ 4666 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4667 4668 /** 4669 * Search parameter: <b>status</b> 4670 * <p> 4671 * Description: <b>Multiple Resources: 4672 4673* [ActivityDefinition](activitydefinition.html): The current status of the activity definition 4674* [ActorDefinition](actordefinition.html): The current status of the Actor Definition 4675* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 4676* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition 4677* [Citation](citation.html): The current status of the citation 4678* [CodeSystem](codesystem.html): The current status of the code system 4679* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 4680* [ConceptMap](conceptmap.html): The current status of the concept map 4681* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition 4682* [EventDefinition](eventdefinition.html): The current status of the event definition 4683* [Evidence](evidence.html): The current status of the evidence 4684* [EvidenceReport](evidencereport.html): The current status of the evidence report 4685* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable 4686* [ExampleScenario](examplescenario.html): The current status of the example scenario 4687* [GraphDefinition](graphdefinition.html): The current status of the graph definition 4688* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 4689* [Library](library.html): The current status of the library 4690* [Measure](measure.html): The current status of the measure 4691* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error 4692* [MessageDefinition](messagedefinition.html): The current status of the message definition 4693* [NamingSystem](namingsystem.html): The current status of the naming system 4694* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown 4695* [OperationDefinition](operationdefinition.html): The current status of the operation definition 4696* [PlanDefinition](plandefinition.html): The current status of the plan definition 4697* [Questionnaire](questionnaire.html): The current status of the questionnaire 4698* [Requirements](requirements.html): The current status of the requirements 4699* [SearchParameter](searchparameter.html): The current status of the search parameter 4700* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown 4701* [StructureDefinition](structuredefinition.html): The current status of the structure definition 4702* [StructureMap](structuremap.html): The current status of the structure map 4703* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown 4704* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 4705* [TestPlan](testplan.html): The current status of the test plan 4706* [TestScript](testscript.html): The current status of the test script 4707* [ValueSet](valueset.html): The current status of the value set 4708</b><br> 4709 * Type: <b>token</b><br> 4710 * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status</b><br> 4711 * </p> 4712 */ 4713 @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestPlan](testplan.html): The current status of the test plan\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" ) 4714 public static final String SP_STATUS = "status"; 4715 /** 4716 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4717 * <p> 4718 * Description: <b>Multiple Resources: 4719 4720* [ActivityDefinition](activitydefinition.html): The current status of the activity definition 4721* [ActorDefinition](actordefinition.html): The current status of the Actor Definition 4722* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 4723* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition 4724* [Citation](citation.html): The current status of the citation 4725* [CodeSystem](codesystem.html): The current status of the code system 4726* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 4727* [ConceptMap](conceptmap.html): The current status of the concept map 4728* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition 4729* [EventDefinition](eventdefinition.html): The current status of the event definition 4730* [Evidence](evidence.html): The current status of the evidence 4731* [EvidenceReport](evidencereport.html): The current status of the evidence report 4732* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable 4733* [ExampleScenario](examplescenario.html): The current status of the example scenario 4734* [GraphDefinition](graphdefinition.html): The current status of the graph definition 4735* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 4736* [Library](library.html): The current status of the library 4737* [Measure](measure.html): The current status of the measure 4738* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error 4739* [MessageDefinition](messagedefinition.html): The current status of the message definition 4740* [NamingSystem](namingsystem.html): The current status of the naming system 4741* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown 4742* [OperationDefinition](operationdefinition.html): The current status of the operation definition 4743* [PlanDefinition](plandefinition.html): The current status of the plan definition 4744* [Questionnaire](questionnaire.html): The current status of the questionnaire 4745* [Requirements](requirements.html): The current status of the requirements 4746* [SearchParameter](searchparameter.html): The current status of the search parameter 4747* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown 4748* [StructureDefinition](structuredefinition.html): The current status of the structure definition 4749* [StructureMap](structuremap.html): The current status of the structure map 4750* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown 4751* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 4752* [TestPlan](testplan.html): The current status of the test plan 4753* [TestScript](testscript.html): The current status of the test script 4754* [ValueSet](valueset.html): The current status of the value set 4755</b><br> 4756 * Type: <b>token</b><br> 4757 * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status</b><br> 4758 * </p> 4759 */ 4760 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4761 4762 /** 4763 * Search parameter: <b>title</b> 4764 * <p> 4765 * Description: <b>Multiple Resources: 4766 4767* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition 4768* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition 4769* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 4770* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition 4771* [Citation](citation.html): The human-friendly name of the citation 4772* [CodeSystem](codesystem.html): The human-friendly name of the code system 4773* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 4774* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition 4775* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition 4776* [Evidence](evidence.html): The human-friendly name of the evidence 4777* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable 4778* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 4779* [Library](library.html): The human-friendly name of the library 4780* [Measure](measure.html): The human-friendly name of the measure 4781* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 4782* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition 4783* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 4784* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition 4785* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire 4786* [Requirements](requirements.html): The human-friendly name of the requirements 4787* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition 4788* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 4789* [StructureMap](structuremap.html): The human-friendly name of the structure map 4790* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly) 4791* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 4792* [TestScript](testscript.html): The human-friendly name of the test script 4793* [ValueSet](valueset.html): The human-friendly name of the value set 4794</b><br> 4795 * Type: <b>string</b><br> 4796 * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br> 4797 * </p> 4798 */ 4799 @SearchParamDefinition(name="title", path="ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition\r\n* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition\r\n* [Citation](citation.html): The human-friendly name of the citation\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition\r\n* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition\r\n* [Evidence](evidence.html): The human-friendly name of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [Library](library.html): The human-friendly name of the library\r\n* [Measure](measure.html): The human-friendly name of the measure\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition\r\n* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire\r\n* [Requirements](requirements.html): The human-friendly name of the requirements\r\n* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [TestScript](testscript.html): The human-friendly name of the test script\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" ) 4800 public static final String SP_TITLE = "title"; 4801 /** 4802 * <b>Fluent Client</b> search parameter constant for <b>title</b> 4803 * <p> 4804 * Description: <b>Multiple Resources: 4805 4806* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition 4807* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition 4808* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 4809* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition 4810* [Citation](citation.html): The human-friendly name of the citation 4811* [CodeSystem](codesystem.html): The human-friendly name of the code system 4812* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 4813* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition 4814* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition 4815* [Evidence](evidence.html): The human-friendly name of the evidence 4816* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable 4817* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 4818* [Library](library.html): The human-friendly name of the library 4819* [Measure](measure.html): The human-friendly name of the measure 4820* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 4821* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition 4822* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 4823* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition 4824* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire 4825* [Requirements](requirements.html): The human-friendly name of the requirements 4826* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition 4827* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 4828* [StructureMap](structuremap.html): The human-friendly name of the structure map 4829* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly) 4830* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 4831* [TestScript](testscript.html): The human-friendly name of the test script 4832* [ValueSet](valueset.html): The human-friendly name of the value set 4833</b><br> 4834 * Type: <b>string</b><br> 4835 * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br> 4836 * </p> 4837 */ 4838 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 4839 4840 /** 4841 * Search parameter: <b>url</b> 4842 * <p> 4843 * Description: <b>Multiple Resources: 4844 4845* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition 4846* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition 4847* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 4848* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition 4849* [Citation](citation.html): The uri that identifies the citation 4850* [CodeSystem](codesystem.html): The uri that identifies the code system 4851* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 4852* [ConceptMap](conceptmap.html): The URI that identifies the concept map 4853* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition 4854* [EventDefinition](eventdefinition.html): The uri that identifies the event definition 4855* [Evidence](evidence.html): The uri that identifies the evidence 4856* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report 4857* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable 4858* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario 4859* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 4860* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 4861* [Library](library.html): The uri that identifies the library 4862* [Measure](measure.html): The uri that identifies the measure 4863* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 4864* [NamingSystem](namingsystem.html): The uri that identifies the naming system 4865* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition 4866* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 4867* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition 4868* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire 4869* [Requirements](requirements.html): The uri that identifies the requirements 4870* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 4871* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition 4872* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 4873* [StructureMap](structuremap.html): The uri that identifies the structure map 4874* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique) 4875* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 4876* [TestPlan](testplan.html): The uri that identifies the test plan 4877* [TestScript](testscript.html): The uri that identifies the test script 4878* [ValueSet](valueset.html): The uri that identifies the value set 4879</b><br> 4880 * Type: <b>uri</b><br> 4881 * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url</b><br> 4882 * </p> 4883 */ 4884 @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestPlan](testplan.html): The uri that identifies the test plan\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) 4885 public static final String SP_URL = "url"; 4886 /** 4887 * <b>Fluent Client</b> search parameter constant for <b>url</b> 4888 * <p> 4889 * Description: <b>Multiple Resources: 4890 4891* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition 4892* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition 4893* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 4894* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition 4895* [Citation](citation.html): The uri that identifies the citation 4896* [CodeSystem](codesystem.html): The uri that identifies the code system 4897* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 4898* [ConceptMap](conceptmap.html): The URI that identifies the concept map 4899* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition 4900* [EventDefinition](eventdefinition.html): The uri that identifies the event definition 4901* [Evidence](evidence.html): The uri that identifies the evidence 4902* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report 4903* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable 4904* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario 4905* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 4906* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 4907* [Library](library.html): The uri that identifies the library 4908* [Measure](measure.html): The uri that identifies the measure 4909* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 4910* [NamingSystem](namingsystem.html): The uri that identifies the naming system 4911* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition 4912* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 4913* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition 4914* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire 4915* [Requirements](requirements.html): The uri that identifies the requirements 4916* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 4917* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition 4918* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 4919* [StructureMap](structuremap.html): The uri that identifies the structure map 4920* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique) 4921* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 4922* [TestPlan](testplan.html): The uri that identifies the test plan 4923* [TestScript](testscript.html): The uri that identifies the test script 4924* [ValueSet](valueset.html): The uri that identifies the value set 4925</b><br> 4926 * Type: <b>uri</b><br> 4927 * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url</b><br> 4928 * </p> 4929 */ 4930 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 4931 4932 /** 4933 * Search parameter: <b>category</b> 4934 * <p> 4935 * Description: <b>Category (class) of observation</b><br> 4936 * Type: <b>token</b><br> 4937 * Path: <b>ObservationDefinition.category</b><br> 4938 * </p> 4939 */ 4940 @SearchParamDefinition(name="category", path="ObservationDefinition.category", description="Category (class) of observation", type="token" ) 4941 public static final String SP_CATEGORY = "category"; 4942 /** 4943 * <b>Fluent Client</b> search parameter constant for <b>category</b> 4944 * <p> 4945 * Description: <b>Category (class) of observation</b><br> 4946 * Type: <b>token</b><br> 4947 * Path: <b>ObservationDefinition.category</b><br> 4948 * </p> 4949 */ 4950 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 4951 4952 /** 4953 * Search parameter: <b>code</b> 4954 * <p> 4955 * Description: <b>Observation code</b><br> 4956 * Type: <b>token</b><br> 4957 * Path: <b>ObservationDefinition.code</b><br> 4958 * </p> 4959 */ 4960 @SearchParamDefinition(name="code", path="ObservationDefinition.code", description="Observation code", type="token" ) 4961 public static final String SP_CODE = "code"; 4962 /** 4963 * <b>Fluent Client</b> search parameter constant for <b>code</b> 4964 * <p> 4965 * Description: <b>Observation code</b><br> 4966 * Type: <b>token</b><br> 4967 * Path: <b>ObservationDefinition.code</b><br> 4968 * </p> 4969 */ 4970 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 4971 4972 /** 4973 * Search parameter: <b>experimental</b> 4974 * <p> 4975 * Description: <b>Not for genuine usage (true)</b><br> 4976 * Type: <b>token</b><br> 4977 * Path: <b>ObservationDefinition.experimental</b><br> 4978 * </p> 4979 */ 4980 @SearchParamDefinition(name="experimental", path="ObservationDefinition.experimental", description="Not for genuine usage (true)", type="token" ) 4981 public static final String SP_EXPERIMENTAL = "experimental"; 4982 /** 4983 * <b>Fluent Client</b> search parameter constant for <b>experimental</b> 4984 * <p> 4985 * Description: <b>Not for genuine usage (true)</b><br> 4986 * Type: <b>token</b><br> 4987 * Path: <b>ObservationDefinition.experimental</b><br> 4988 * </p> 4989 */ 4990 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXPERIMENTAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXPERIMENTAL); 4991 4992 /** 4993 * Search parameter: <b>method</b> 4994 * <p> 4995 * Description: <b>Method of observation</b><br> 4996 * Type: <b>token</b><br> 4997 * Path: <b>ObservationDefinition.method</b><br> 4998 * </p> 4999 */ 5000 @SearchParamDefinition(name="method", path="ObservationDefinition.method", description="Method of observation", type="token" ) 5001 public static final String SP_METHOD = "method"; 5002 /** 5003 * <b>Fluent Client</b> search parameter constant for <b>method</b> 5004 * <p> 5005 * Description: <b>Method of observation</b><br> 5006 * Type: <b>token</b><br> 5007 * Path: <b>ObservationDefinition.method</b><br> 5008 * </p> 5009 */ 5010 public static final ca.uhn.fhir.rest.gclient.TokenClientParam METHOD = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_METHOD); 5011 5012 5013} 5014