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