
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 Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 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 * A definition of a condition and information relevant to managing it. 052 */ 053@ResourceDef(name="ConditionDefinition", profile="http://hl7.org/fhir/StructureDefinition/ConditionDefinition") 054public class ConditionDefinition extends MetadataResource { 055 056 public enum ConditionPreconditionType { 057 /** 058 * The observation is very sensitive for the condition, but may also indicate other conditions. 059 */ 060 SENSITIVE, 061 /** 062 * The observation is very specific for this condition, but not particularly sensitive. 063 */ 064 SPECIFIC, 065 /** 066 * added to help the parsers with the generic types 067 */ 068 NULL; 069 public static ConditionPreconditionType fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("sensitive".equals(codeString)) 073 return SENSITIVE; 074 if ("specific".equals(codeString)) 075 return SPECIFIC; 076 if (Configuration.isAcceptInvalidEnums()) 077 return null; 078 else 079 throw new FHIRException("Unknown ConditionPreconditionType code '"+codeString+"'"); 080 } 081 public String toCode() { 082 switch (this) { 083 case SENSITIVE: return "sensitive"; 084 case SPECIFIC: return "specific"; 085 default: return "?"; 086 } 087 } 088 public String getSystem() { 089 switch (this) { 090 case SENSITIVE: return "http://hl7.org/fhir/condition-precondition-type"; 091 case SPECIFIC: return "http://hl7.org/fhir/condition-precondition-type"; 092 default: return "?"; 093 } 094 } 095 public String getDefinition() { 096 switch (this) { 097 case SENSITIVE: return "The observation is very sensitive for the condition, but may also indicate other conditions."; 098 case SPECIFIC: return "The observation is very specific for this condition, but not particularly sensitive."; 099 default: return "?"; 100 } 101 } 102 public String getDisplay() { 103 switch (this) { 104 case SENSITIVE: return "Sensitive"; 105 case SPECIFIC: return "Specific"; 106 default: return "?"; 107 } 108 } 109 } 110 111 public static class ConditionPreconditionTypeEnumFactory implements EnumFactory<ConditionPreconditionType> { 112 public ConditionPreconditionType fromCode(String codeString) throws IllegalArgumentException { 113 if (codeString == null || "".equals(codeString)) 114 if (codeString == null || "".equals(codeString)) 115 return null; 116 if ("sensitive".equals(codeString)) 117 return ConditionPreconditionType.SENSITIVE; 118 if ("specific".equals(codeString)) 119 return ConditionPreconditionType.SPECIFIC; 120 throw new IllegalArgumentException("Unknown ConditionPreconditionType code '"+codeString+"'"); 121 } 122 public Enumeration<ConditionPreconditionType> fromType(Base code) throws FHIRException { 123 if (code == null) 124 return null; 125 if (code.isEmpty()) 126 return new Enumeration<ConditionPreconditionType>(this); 127 String codeString = ((PrimitiveType) code).asStringValue(); 128 if (codeString == null || "".equals(codeString)) 129 return null; 130 if ("sensitive".equals(codeString)) 131 return new Enumeration<ConditionPreconditionType>(this, ConditionPreconditionType.SENSITIVE); 132 if ("specific".equals(codeString)) 133 return new Enumeration<ConditionPreconditionType>(this, ConditionPreconditionType.SPECIFIC); 134 throw new FHIRException("Unknown ConditionPreconditionType code '"+codeString+"'"); 135 } 136 public String toCode(ConditionPreconditionType code) { 137 if (code == ConditionPreconditionType.SENSITIVE) 138 return "sensitive"; 139 if (code == ConditionPreconditionType.SPECIFIC) 140 return "specific"; 141 return "?"; 142 } 143 public String toSystem(ConditionPreconditionType code) { 144 return code.getSystem(); 145 } 146 } 147 148 public enum ConditionQuestionnairePurpose { 149 /** 150 * A pre-admit questionnaire. 151 */ 152 PREADMIT, 153 /** 154 * A questionnaire that helps with diferential diagnosis. 155 */ 156 DIFFDIAGNOSIS, 157 /** 158 * A questionnaire to check on outcomes for the patient. 159 */ 160 OUTCOME, 161 /** 162 * added to help the parsers with the generic types 163 */ 164 NULL; 165 public static ConditionQuestionnairePurpose fromCode(String codeString) throws FHIRException { 166 if (codeString == null || "".equals(codeString)) 167 return null; 168 if ("preadmit".equals(codeString)) 169 return PREADMIT; 170 if ("diff-diagnosis".equals(codeString)) 171 return DIFFDIAGNOSIS; 172 if ("outcome".equals(codeString)) 173 return OUTCOME; 174 if (Configuration.isAcceptInvalidEnums()) 175 return null; 176 else 177 throw new FHIRException("Unknown ConditionQuestionnairePurpose code '"+codeString+"'"); 178 } 179 public String toCode() { 180 switch (this) { 181 case PREADMIT: return "preadmit"; 182 case DIFFDIAGNOSIS: return "diff-diagnosis"; 183 case OUTCOME: return "outcome"; 184 default: return "?"; 185 } 186 } 187 public String getSystem() { 188 switch (this) { 189 case PREADMIT: return "http://hl7.org/fhir/condition-questionnaire-purpose"; 190 case DIFFDIAGNOSIS: return "http://hl7.org/fhir/condition-questionnaire-purpose"; 191 case OUTCOME: return "http://hl7.org/fhir/condition-questionnaire-purpose"; 192 default: return "?"; 193 } 194 } 195 public String getDefinition() { 196 switch (this) { 197 case PREADMIT: return "A pre-admit questionnaire."; 198 case DIFFDIAGNOSIS: return "A questionnaire that helps with diferential diagnosis."; 199 case OUTCOME: return "A questionnaire to check on outcomes for the patient."; 200 default: return "?"; 201 } 202 } 203 public String getDisplay() { 204 switch (this) { 205 case PREADMIT: return "Pre-admit"; 206 case DIFFDIAGNOSIS: return "Diff Diagnosis"; 207 case OUTCOME: return "Outcome"; 208 default: return "?"; 209 } 210 } 211 } 212 213 public static class ConditionQuestionnairePurposeEnumFactory implements EnumFactory<ConditionQuestionnairePurpose> { 214 public ConditionQuestionnairePurpose fromCode(String codeString) throws IllegalArgumentException { 215 if (codeString == null || "".equals(codeString)) 216 if (codeString == null || "".equals(codeString)) 217 return null; 218 if ("preadmit".equals(codeString)) 219 return ConditionQuestionnairePurpose.PREADMIT; 220 if ("diff-diagnosis".equals(codeString)) 221 return ConditionQuestionnairePurpose.DIFFDIAGNOSIS; 222 if ("outcome".equals(codeString)) 223 return ConditionQuestionnairePurpose.OUTCOME; 224 throw new IllegalArgumentException("Unknown ConditionQuestionnairePurpose code '"+codeString+"'"); 225 } 226 public Enumeration<ConditionQuestionnairePurpose> fromType(Base code) throws FHIRException { 227 if (code == null) 228 return null; 229 if (code.isEmpty()) 230 return new Enumeration<ConditionQuestionnairePurpose>(this); 231 String codeString = ((PrimitiveType) code).asStringValue(); 232 if (codeString == null || "".equals(codeString)) 233 return null; 234 if ("preadmit".equals(codeString)) 235 return new Enumeration<ConditionQuestionnairePurpose>(this, ConditionQuestionnairePurpose.PREADMIT); 236 if ("diff-diagnosis".equals(codeString)) 237 return new Enumeration<ConditionQuestionnairePurpose>(this, ConditionQuestionnairePurpose.DIFFDIAGNOSIS); 238 if ("outcome".equals(codeString)) 239 return new Enumeration<ConditionQuestionnairePurpose>(this, ConditionQuestionnairePurpose.OUTCOME); 240 throw new FHIRException("Unknown ConditionQuestionnairePurpose code '"+codeString+"'"); 241 } 242 public String toCode(ConditionQuestionnairePurpose code) { 243 if (code == ConditionQuestionnairePurpose.PREADMIT) 244 return "preadmit"; 245 if (code == ConditionQuestionnairePurpose.DIFFDIAGNOSIS) 246 return "diff-diagnosis"; 247 if (code == ConditionQuestionnairePurpose.OUTCOME) 248 return "outcome"; 249 return "?"; 250 } 251 public String toSystem(ConditionQuestionnairePurpose code) { 252 return code.getSystem(); 253 } 254 } 255 256 @Block() 257 public static class ConditionDefinitionObservationComponent extends BackboneElement implements IBaseBackboneElement { 258 /** 259 * Category that is relevant. 260 */ 261 @Child(name = "category", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 262 @Description(shortDefinition="Category that is relevant", formalDefinition="Category that is relevant." ) 263 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-category") 264 protected CodeableConcept category; 265 266 /** 267 * Code for relevant Observation. 268 */ 269 @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 270 @Description(shortDefinition="Code for relevant Observation", formalDefinition="Code for relevant Observation." ) 271 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-codes") 272 protected CodeableConcept code; 273 274 private static final long serialVersionUID = -1433986479L; 275 276 /** 277 * Constructor 278 */ 279 public ConditionDefinitionObservationComponent() { 280 super(); 281 } 282 283 /** 284 * @return {@link #category} (Category that is relevant.) 285 */ 286 public CodeableConcept getCategory() { 287 if (this.category == null) 288 if (Configuration.errorOnAutoCreate()) 289 throw new Error("Attempt to auto-create ConditionDefinitionObservationComponent.category"); 290 else if (Configuration.doAutoCreate()) 291 this.category = new CodeableConcept(); // cc 292 return this.category; 293 } 294 295 public boolean hasCategory() { 296 return this.category != null && !this.category.isEmpty(); 297 } 298 299 /** 300 * @param value {@link #category} (Category that is relevant.) 301 */ 302 public ConditionDefinitionObservationComponent setCategory(CodeableConcept value) { 303 this.category = value; 304 return this; 305 } 306 307 /** 308 * @return {@link #code} (Code for relevant Observation.) 309 */ 310 public CodeableConcept getCode() { 311 if (this.code == null) 312 if (Configuration.errorOnAutoCreate()) 313 throw new Error("Attempt to auto-create ConditionDefinitionObservationComponent.code"); 314 else if (Configuration.doAutoCreate()) 315 this.code = new CodeableConcept(); // cc 316 return this.code; 317 } 318 319 public boolean hasCode() { 320 return this.code != null && !this.code.isEmpty(); 321 } 322 323 /** 324 * @param value {@link #code} (Code for relevant Observation.) 325 */ 326 public ConditionDefinitionObservationComponent setCode(CodeableConcept value) { 327 this.code = value; 328 return this; 329 } 330 331 protected void listChildren(List<Property> children) { 332 super.listChildren(children); 333 children.add(new Property("category", "CodeableConcept", "Category that is relevant.", 0, 1, category)); 334 children.add(new Property("code", "CodeableConcept", "Code for relevant Observation.", 0, 1, code)); 335 } 336 337 @Override 338 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 339 switch (_hash) { 340 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Category that is relevant.", 0, 1, category); 341 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Code for relevant Observation.", 0, 1, code); 342 default: return super.getNamedProperty(_hash, _name, _checkValid); 343 } 344 345 } 346 347 @Override 348 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 349 switch (hash) { 350 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 351 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 352 default: return super.getProperty(hash, name, checkValid); 353 } 354 355 } 356 357 @Override 358 public Base setProperty(int hash, String name, Base value) throws FHIRException { 359 switch (hash) { 360 case 50511102: // category 361 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 362 return value; 363 case 3059181: // code 364 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 365 return value; 366 default: return super.setProperty(hash, name, value); 367 } 368 369 } 370 371 @Override 372 public Base setProperty(String name, Base value) throws FHIRException { 373 if (name.equals("category")) { 374 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 375 } else if (name.equals("code")) { 376 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 377 } else 378 return super.setProperty(name, value); 379 return value; 380 } 381 382 @Override 383 public Base makeProperty(int hash, String name) throws FHIRException { 384 switch (hash) { 385 case 50511102: return getCategory(); 386 case 3059181: return getCode(); 387 default: return super.makeProperty(hash, name); 388 } 389 390 } 391 392 @Override 393 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 394 switch (hash) { 395 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 396 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 397 default: return super.getTypesForProperty(hash, name); 398 } 399 400 } 401 402 @Override 403 public Base addChild(String name) throws FHIRException { 404 if (name.equals("category")) { 405 this.category = new CodeableConcept(); 406 return this.category; 407 } 408 else if (name.equals("code")) { 409 this.code = new CodeableConcept(); 410 return this.code; 411 } 412 else 413 return super.addChild(name); 414 } 415 416 public ConditionDefinitionObservationComponent copy() { 417 ConditionDefinitionObservationComponent dst = new ConditionDefinitionObservationComponent(); 418 copyValues(dst); 419 return dst; 420 } 421 422 public void copyValues(ConditionDefinitionObservationComponent dst) { 423 super.copyValues(dst); 424 dst.category = category == null ? null : category.copy(); 425 dst.code = code == null ? null : code.copy(); 426 } 427 428 @Override 429 public boolean equalsDeep(Base other_) { 430 if (!super.equalsDeep(other_)) 431 return false; 432 if (!(other_ instanceof ConditionDefinitionObservationComponent)) 433 return false; 434 ConditionDefinitionObservationComponent o = (ConditionDefinitionObservationComponent) other_; 435 return compareDeep(category, o.category, true) && compareDeep(code, o.code, true); 436 } 437 438 @Override 439 public boolean equalsShallow(Base other_) { 440 if (!super.equalsShallow(other_)) 441 return false; 442 if (!(other_ instanceof ConditionDefinitionObservationComponent)) 443 return false; 444 ConditionDefinitionObservationComponent o = (ConditionDefinitionObservationComponent) other_; 445 return true; 446 } 447 448 public boolean isEmpty() { 449 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(category, code); 450 } 451 452 public String fhirType() { 453 return "ConditionDefinition.observation"; 454 455 } 456 457 } 458 459 @Block() 460 public static class ConditionDefinitionMedicationComponent extends BackboneElement implements IBaseBackboneElement { 461 /** 462 * Category that is relevant. 463 */ 464 @Child(name = "category", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 465 @Description(shortDefinition="Category that is relevant", formalDefinition="Category that is relevant." ) 466 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-category") 467 protected CodeableConcept category; 468 469 /** 470 * Code for relevant Medication. 471 */ 472 @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 473 @Description(shortDefinition="Code for relevant Medication", formalDefinition="Code for relevant Medication." ) 474 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") 475 protected CodeableConcept code; 476 477 private static final long serialVersionUID = -1433986479L; 478 479 /** 480 * Constructor 481 */ 482 public ConditionDefinitionMedicationComponent() { 483 super(); 484 } 485 486 /** 487 * @return {@link #category} (Category that is relevant.) 488 */ 489 public CodeableConcept getCategory() { 490 if (this.category == null) 491 if (Configuration.errorOnAutoCreate()) 492 throw new Error("Attempt to auto-create ConditionDefinitionMedicationComponent.category"); 493 else if (Configuration.doAutoCreate()) 494 this.category = new CodeableConcept(); // cc 495 return this.category; 496 } 497 498 public boolean hasCategory() { 499 return this.category != null && !this.category.isEmpty(); 500 } 501 502 /** 503 * @param value {@link #category} (Category that is relevant.) 504 */ 505 public ConditionDefinitionMedicationComponent setCategory(CodeableConcept value) { 506 this.category = value; 507 return this; 508 } 509 510 /** 511 * @return {@link #code} (Code for relevant Medication.) 512 */ 513 public CodeableConcept getCode() { 514 if (this.code == null) 515 if (Configuration.errorOnAutoCreate()) 516 throw new Error("Attempt to auto-create ConditionDefinitionMedicationComponent.code"); 517 else if (Configuration.doAutoCreate()) 518 this.code = new CodeableConcept(); // cc 519 return this.code; 520 } 521 522 public boolean hasCode() { 523 return this.code != null && !this.code.isEmpty(); 524 } 525 526 /** 527 * @param value {@link #code} (Code for relevant Medication.) 528 */ 529 public ConditionDefinitionMedicationComponent setCode(CodeableConcept value) { 530 this.code = value; 531 return this; 532 } 533 534 protected void listChildren(List<Property> children) { 535 super.listChildren(children); 536 children.add(new Property("category", "CodeableConcept", "Category that is relevant.", 0, 1, category)); 537 children.add(new Property("code", "CodeableConcept", "Code for relevant Medication.", 0, 1, code)); 538 } 539 540 @Override 541 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 542 switch (_hash) { 543 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Category that is relevant.", 0, 1, category); 544 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Code for relevant Medication.", 0, 1, code); 545 default: return super.getNamedProperty(_hash, _name, _checkValid); 546 } 547 548 } 549 550 @Override 551 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 552 switch (hash) { 553 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept 554 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 555 default: return super.getProperty(hash, name, checkValid); 556 } 557 558 } 559 560 @Override 561 public Base setProperty(int hash, String name, Base value) throws FHIRException { 562 switch (hash) { 563 case 50511102: // category 564 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 565 return value; 566 case 3059181: // code 567 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 568 return value; 569 default: return super.setProperty(hash, name, value); 570 } 571 572 } 573 574 @Override 575 public Base setProperty(String name, Base value) throws FHIRException { 576 if (name.equals("category")) { 577 this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 578 } else if (name.equals("code")) { 579 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 580 } else 581 return super.setProperty(name, value); 582 return value; 583 } 584 585 @Override 586 public Base makeProperty(int hash, String name) throws FHIRException { 587 switch (hash) { 588 case 50511102: return getCategory(); 589 case 3059181: return getCode(); 590 default: return super.makeProperty(hash, name); 591 } 592 593 } 594 595 @Override 596 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 597 switch (hash) { 598 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 599 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 600 default: return super.getTypesForProperty(hash, name); 601 } 602 603 } 604 605 @Override 606 public Base addChild(String name) throws FHIRException { 607 if (name.equals("category")) { 608 this.category = new CodeableConcept(); 609 return this.category; 610 } 611 else if (name.equals("code")) { 612 this.code = new CodeableConcept(); 613 return this.code; 614 } 615 else 616 return super.addChild(name); 617 } 618 619 public ConditionDefinitionMedicationComponent copy() { 620 ConditionDefinitionMedicationComponent dst = new ConditionDefinitionMedicationComponent(); 621 copyValues(dst); 622 return dst; 623 } 624 625 public void copyValues(ConditionDefinitionMedicationComponent dst) { 626 super.copyValues(dst); 627 dst.category = category == null ? null : category.copy(); 628 dst.code = code == null ? null : code.copy(); 629 } 630 631 @Override 632 public boolean equalsDeep(Base other_) { 633 if (!super.equalsDeep(other_)) 634 return false; 635 if (!(other_ instanceof ConditionDefinitionMedicationComponent)) 636 return false; 637 ConditionDefinitionMedicationComponent o = (ConditionDefinitionMedicationComponent) other_; 638 return compareDeep(category, o.category, true) && compareDeep(code, o.code, true); 639 } 640 641 @Override 642 public boolean equalsShallow(Base other_) { 643 if (!super.equalsShallow(other_)) 644 return false; 645 if (!(other_ instanceof ConditionDefinitionMedicationComponent)) 646 return false; 647 ConditionDefinitionMedicationComponent o = (ConditionDefinitionMedicationComponent) other_; 648 return true; 649 } 650 651 public boolean isEmpty() { 652 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(category, code); 653 } 654 655 public String fhirType() { 656 return "ConditionDefinition.medication"; 657 658 } 659 660 } 661 662 @Block() 663 public static class ConditionDefinitionPreconditionComponent extends BackboneElement implements IBaseBackboneElement { 664 /** 665 * Kind of pre-condition. 666 */ 667 @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 668 @Description(shortDefinition="sensitive | specific", formalDefinition="Kind of pre-condition." ) 669 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-precondition-type") 670 protected Enumeration<ConditionPreconditionType> type; 671 672 /** 673 * Code for relevant Observation. 674 */ 675 @Child(name = "code", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) 676 @Description(shortDefinition="Code for relevant Observation", formalDefinition="Code for relevant Observation." ) 677 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-codes") 678 protected CodeableConcept code; 679 680 /** 681 * Value of Observation. 682 */ 683 @Child(name = "value", type = {CodeableConcept.class, Quantity.class}, order=3, min=0, max=1, modifier=false, summary=false) 684 @Description(shortDefinition="Value of Observation", formalDefinition="Value of Observation." ) 685 protected DataType value; 686 687 private static final long serialVersionUID = -1210333235L; 688 689 /** 690 * Constructor 691 */ 692 public ConditionDefinitionPreconditionComponent() { 693 super(); 694 } 695 696 /** 697 * Constructor 698 */ 699 public ConditionDefinitionPreconditionComponent(ConditionPreconditionType type, CodeableConcept code) { 700 super(); 701 this.setType(type); 702 this.setCode(code); 703 } 704 705 /** 706 * @return {@link #type} (Kind of pre-condition.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 707 */ 708 public Enumeration<ConditionPreconditionType> getTypeElement() { 709 if (this.type == null) 710 if (Configuration.errorOnAutoCreate()) 711 throw new Error("Attempt to auto-create ConditionDefinitionPreconditionComponent.type"); 712 else if (Configuration.doAutoCreate()) 713 this.type = new Enumeration<ConditionPreconditionType>(new ConditionPreconditionTypeEnumFactory()); // bb 714 return this.type; 715 } 716 717 public boolean hasTypeElement() { 718 return this.type != null && !this.type.isEmpty(); 719 } 720 721 public boolean hasType() { 722 return this.type != null && !this.type.isEmpty(); 723 } 724 725 /** 726 * @param value {@link #type} (Kind of pre-condition.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 727 */ 728 public ConditionDefinitionPreconditionComponent setTypeElement(Enumeration<ConditionPreconditionType> value) { 729 this.type = value; 730 return this; 731 } 732 733 /** 734 * @return Kind of pre-condition. 735 */ 736 public ConditionPreconditionType getType() { 737 return this.type == null ? null : this.type.getValue(); 738 } 739 740 /** 741 * @param value Kind of pre-condition. 742 */ 743 public ConditionDefinitionPreconditionComponent setType(ConditionPreconditionType value) { 744 if (this.type == null) 745 this.type = new Enumeration<ConditionPreconditionType>(new ConditionPreconditionTypeEnumFactory()); 746 this.type.setValue(value); 747 return this; 748 } 749 750 /** 751 * @return {@link #code} (Code for relevant Observation.) 752 */ 753 public CodeableConcept getCode() { 754 if (this.code == null) 755 if (Configuration.errorOnAutoCreate()) 756 throw new Error("Attempt to auto-create ConditionDefinitionPreconditionComponent.code"); 757 else if (Configuration.doAutoCreate()) 758 this.code = new CodeableConcept(); // cc 759 return this.code; 760 } 761 762 public boolean hasCode() { 763 return this.code != null && !this.code.isEmpty(); 764 } 765 766 /** 767 * @param value {@link #code} (Code for relevant Observation.) 768 */ 769 public ConditionDefinitionPreconditionComponent setCode(CodeableConcept value) { 770 this.code = value; 771 return this; 772 } 773 774 /** 775 * @return {@link #value} (Value of Observation.) 776 */ 777 public DataType getValue() { 778 return this.value; 779 } 780 781 /** 782 * @return {@link #value} (Value of Observation.) 783 */ 784 public CodeableConcept getValueCodeableConcept() throws FHIRException { 785 if (this.value == null) 786 this.value = new CodeableConcept(); 787 if (!(this.value instanceof CodeableConcept)) 788 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.value.getClass().getName()+" was encountered"); 789 return (CodeableConcept) this.value; 790 } 791 792 public boolean hasValueCodeableConcept() { 793 return this != null && this.value instanceof CodeableConcept; 794 } 795 796 /** 797 * @return {@link #value} (Value of Observation.) 798 */ 799 public Quantity getValueQuantity() throws FHIRException { 800 if (this.value == null) 801 this.value = new Quantity(); 802 if (!(this.value instanceof Quantity)) 803 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered"); 804 return (Quantity) this.value; 805 } 806 807 public boolean hasValueQuantity() { 808 return this != null && this.value instanceof Quantity; 809 } 810 811 public boolean hasValue() { 812 return this.value != null && !this.value.isEmpty(); 813 } 814 815 /** 816 * @param value {@link #value} (Value of Observation.) 817 */ 818 public ConditionDefinitionPreconditionComponent setValue(DataType value) { 819 if (value != null && !(value instanceof CodeableConcept || value instanceof Quantity)) 820 throw new Error("Not the right type for ConditionDefinition.precondition.value[x]: "+value.fhirType()); 821 this.value = value; 822 return this; 823 } 824 825 protected void listChildren(List<Property> children) { 826 super.listChildren(children); 827 children.add(new Property("type", "code", "Kind of pre-condition.", 0, 1, type)); 828 children.add(new Property("code", "CodeableConcept", "Code for relevant Observation.", 0, 1, code)); 829 children.add(new Property("value[x]", "CodeableConcept|Quantity", "Value of Observation.", 0, 1, value)); 830 } 831 832 @Override 833 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 834 switch (_hash) { 835 case 3575610: /*type*/ return new Property("type", "code", "Kind of pre-condition.", 0, 1, type); 836 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Code for relevant Observation.", 0, 1, code); 837 case -1410166417: /*value[x]*/ return new Property("value[x]", "CodeableConcept|Quantity", "Value of Observation.", 0, 1, value); 838 case 111972721: /*value*/ return new Property("value[x]", "CodeableConcept|Quantity", "Value of Observation.", 0, 1, value); 839 case 924902896: /*valueCodeableConcept*/ return new Property("value[x]", "CodeableConcept", "Value of Observation.", 0, 1, value); 840 case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Value of Observation.", 0, 1, value); 841 default: return super.getNamedProperty(_hash, _name, _checkValid); 842 } 843 844 } 845 846 @Override 847 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 848 switch (hash) { 849 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ConditionPreconditionType> 850 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 851 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 852 default: return super.getProperty(hash, name, checkValid); 853 } 854 855 } 856 857 @Override 858 public Base setProperty(int hash, String name, Base value) throws FHIRException { 859 switch (hash) { 860 case 3575610: // type 861 value = new ConditionPreconditionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 862 this.type = (Enumeration) value; // Enumeration<ConditionPreconditionType> 863 return value; 864 case 3059181: // code 865 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 866 return value; 867 case 111972721: // value 868 this.value = TypeConvertor.castToType(value); // DataType 869 return value; 870 default: return super.setProperty(hash, name, value); 871 } 872 873 } 874 875 @Override 876 public Base setProperty(String name, Base value) throws FHIRException { 877 if (name.equals("type")) { 878 value = new ConditionPreconditionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 879 this.type = (Enumeration) value; // Enumeration<ConditionPreconditionType> 880 } else if (name.equals("code")) { 881 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 882 } else if (name.equals("value[x]")) { 883 this.value = TypeConvertor.castToType(value); // DataType 884 } else 885 return super.setProperty(name, value); 886 return value; 887 } 888 889 @Override 890 public Base makeProperty(int hash, String name) throws FHIRException { 891 switch (hash) { 892 case 3575610: return getTypeElement(); 893 case 3059181: return getCode(); 894 case -1410166417: return getValue(); 895 case 111972721: return getValue(); 896 default: return super.makeProperty(hash, name); 897 } 898 899 } 900 901 @Override 902 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 903 switch (hash) { 904 case 3575610: /*type*/ return new String[] {"code"}; 905 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 906 case 111972721: /*value*/ return new String[] {"CodeableConcept", "Quantity"}; 907 default: return super.getTypesForProperty(hash, name); 908 } 909 910 } 911 912 @Override 913 public Base addChild(String name) throws FHIRException { 914 if (name.equals("type")) { 915 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.precondition.type"); 916 } 917 else if (name.equals("code")) { 918 this.code = new CodeableConcept(); 919 return this.code; 920 } 921 else if (name.equals("valueCodeableConcept")) { 922 this.value = new CodeableConcept(); 923 return this.value; 924 } 925 else if (name.equals("valueQuantity")) { 926 this.value = new Quantity(); 927 return this.value; 928 } 929 else 930 return super.addChild(name); 931 } 932 933 public ConditionDefinitionPreconditionComponent copy() { 934 ConditionDefinitionPreconditionComponent dst = new ConditionDefinitionPreconditionComponent(); 935 copyValues(dst); 936 return dst; 937 } 938 939 public void copyValues(ConditionDefinitionPreconditionComponent dst) { 940 super.copyValues(dst); 941 dst.type = type == null ? null : type.copy(); 942 dst.code = code == null ? null : code.copy(); 943 dst.value = value == null ? null : value.copy(); 944 } 945 946 @Override 947 public boolean equalsDeep(Base other_) { 948 if (!super.equalsDeep(other_)) 949 return false; 950 if (!(other_ instanceof ConditionDefinitionPreconditionComponent)) 951 return false; 952 ConditionDefinitionPreconditionComponent o = (ConditionDefinitionPreconditionComponent) other_; 953 return compareDeep(type, o.type, true) && compareDeep(code, o.code, true) && compareDeep(value, o.value, true) 954 ; 955 } 956 957 @Override 958 public boolean equalsShallow(Base other_) { 959 if (!super.equalsShallow(other_)) 960 return false; 961 if (!(other_ instanceof ConditionDefinitionPreconditionComponent)) 962 return false; 963 ConditionDefinitionPreconditionComponent o = (ConditionDefinitionPreconditionComponent) other_; 964 return compareValues(type, o.type, true); 965 } 966 967 public boolean isEmpty() { 968 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, code, value); 969 } 970 971 public String fhirType() { 972 return "ConditionDefinition.precondition"; 973 974 } 975 976 } 977 978 @Block() 979 public static class ConditionDefinitionQuestionnaireComponent extends BackboneElement implements IBaseBackboneElement { 980 /** 981 * Use of the questionnaire. 982 */ 983 @Child(name = "purpose", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 984 @Description(shortDefinition="preadmit | diff-diagnosis | outcome", formalDefinition="Use of the questionnaire." ) 985 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-questionnaire-purpose") 986 protected Enumeration<ConditionQuestionnairePurpose> purpose; 987 988 /** 989 * Specific Questionnaire. 990 */ 991 @Child(name = "reference", type = {Questionnaire.class}, order=2, min=1, max=1, modifier=false, summary=false) 992 @Description(shortDefinition="Specific Questionnaire", formalDefinition="Specific Questionnaire." ) 993 protected Reference reference; 994 995 private static final long serialVersionUID = -1791379681L; 996 997 /** 998 * Constructor 999 */ 1000 public ConditionDefinitionQuestionnaireComponent() { 1001 super(); 1002 } 1003 1004 /** 1005 * Constructor 1006 */ 1007 public ConditionDefinitionQuestionnaireComponent(ConditionQuestionnairePurpose purpose, Reference reference) { 1008 super(); 1009 this.setPurpose(purpose); 1010 this.setReference(reference); 1011 } 1012 1013 /** 1014 * @return {@link #purpose} (Use of the questionnaire.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1015 */ 1016 public Enumeration<ConditionQuestionnairePurpose> getPurposeElement() { 1017 if (this.purpose == null) 1018 if (Configuration.errorOnAutoCreate()) 1019 throw new Error("Attempt to auto-create ConditionDefinitionQuestionnaireComponent.purpose"); 1020 else if (Configuration.doAutoCreate()) 1021 this.purpose = new Enumeration<ConditionQuestionnairePurpose>(new ConditionQuestionnairePurposeEnumFactory()); // bb 1022 return this.purpose; 1023 } 1024 1025 public boolean hasPurposeElement() { 1026 return this.purpose != null && !this.purpose.isEmpty(); 1027 } 1028 1029 public boolean hasPurpose() { 1030 return this.purpose != null && !this.purpose.isEmpty(); 1031 } 1032 1033 /** 1034 * @param value {@link #purpose} (Use of the questionnaire.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1035 */ 1036 public ConditionDefinitionQuestionnaireComponent setPurposeElement(Enumeration<ConditionQuestionnairePurpose> value) { 1037 this.purpose = value; 1038 return this; 1039 } 1040 1041 /** 1042 * @return Use of the questionnaire. 1043 */ 1044 public ConditionQuestionnairePurpose getPurpose() { 1045 return this.purpose == null ? null : this.purpose.getValue(); 1046 } 1047 1048 /** 1049 * @param value Use of the questionnaire. 1050 */ 1051 public ConditionDefinitionQuestionnaireComponent setPurpose(ConditionQuestionnairePurpose value) { 1052 if (this.purpose == null) 1053 this.purpose = new Enumeration<ConditionQuestionnairePurpose>(new ConditionQuestionnairePurposeEnumFactory()); 1054 this.purpose.setValue(value); 1055 return this; 1056 } 1057 1058 /** 1059 * @return {@link #reference} (Specific Questionnaire.) 1060 */ 1061 public Reference getReference() { 1062 if (this.reference == null) 1063 if (Configuration.errorOnAutoCreate()) 1064 throw new Error("Attempt to auto-create ConditionDefinitionQuestionnaireComponent.reference"); 1065 else if (Configuration.doAutoCreate()) 1066 this.reference = new Reference(); // cc 1067 return this.reference; 1068 } 1069 1070 public boolean hasReference() { 1071 return this.reference != null && !this.reference.isEmpty(); 1072 } 1073 1074 /** 1075 * @param value {@link #reference} (Specific Questionnaire.) 1076 */ 1077 public ConditionDefinitionQuestionnaireComponent setReference(Reference value) { 1078 this.reference = value; 1079 return this; 1080 } 1081 1082 protected void listChildren(List<Property> children) { 1083 super.listChildren(children); 1084 children.add(new Property("purpose", "code", "Use of the questionnaire.", 0, 1, purpose)); 1085 children.add(new Property("reference", "Reference(Questionnaire)", "Specific Questionnaire.", 0, 1, reference)); 1086 } 1087 1088 @Override 1089 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1090 switch (_hash) { 1091 case -220463842: /*purpose*/ return new Property("purpose", "code", "Use of the questionnaire.", 0, 1, purpose); 1092 case -925155509: /*reference*/ return new Property("reference", "Reference(Questionnaire)", "Specific Questionnaire.", 0, 1, reference); 1093 default: return super.getNamedProperty(_hash, _name, _checkValid); 1094 } 1095 1096 } 1097 1098 @Override 1099 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1100 switch (hash) { 1101 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // Enumeration<ConditionQuestionnairePurpose> 1102 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 1103 default: return super.getProperty(hash, name, checkValid); 1104 } 1105 1106 } 1107 1108 @Override 1109 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1110 switch (hash) { 1111 case -220463842: // purpose 1112 value = new ConditionQuestionnairePurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1113 this.purpose = (Enumeration) value; // Enumeration<ConditionQuestionnairePurpose> 1114 return value; 1115 case -925155509: // reference 1116 this.reference = TypeConvertor.castToReference(value); // Reference 1117 return value; 1118 default: return super.setProperty(hash, name, value); 1119 } 1120 1121 } 1122 1123 @Override 1124 public Base setProperty(String name, Base value) throws FHIRException { 1125 if (name.equals("purpose")) { 1126 value = new ConditionQuestionnairePurposeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1127 this.purpose = (Enumeration) value; // Enumeration<ConditionQuestionnairePurpose> 1128 } else if (name.equals("reference")) { 1129 this.reference = TypeConvertor.castToReference(value); // Reference 1130 } else 1131 return super.setProperty(name, value); 1132 return value; 1133 } 1134 1135 @Override 1136 public Base makeProperty(int hash, String name) throws FHIRException { 1137 switch (hash) { 1138 case -220463842: return getPurposeElement(); 1139 case -925155509: return getReference(); 1140 default: return super.makeProperty(hash, name); 1141 } 1142 1143 } 1144 1145 @Override 1146 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1147 switch (hash) { 1148 case -220463842: /*purpose*/ return new String[] {"code"}; 1149 case -925155509: /*reference*/ return new String[] {"Reference"}; 1150 default: return super.getTypesForProperty(hash, name); 1151 } 1152 1153 } 1154 1155 @Override 1156 public Base addChild(String name) throws FHIRException { 1157 if (name.equals("purpose")) { 1158 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.questionnaire.purpose"); 1159 } 1160 else if (name.equals("reference")) { 1161 this.reference = new Reference(); 1162 return this.reference; 1163 } 1164 else 1165 return super.addChild(name); 1166 } 1167 1168 public ConditionDefinitionQuestionnaireComponent copy() { 1169 ConditionDefinitionQuestionnaireComponent dst = new ConditionDefinitionQuestionnaireComponent(); 1170 copyValues(dst); 1171 return dst; 1172 } 1173 1174 public void copyValues(ConditionDefinitionQuestionnaireComponent dst) { 1175 super.copyValues(dst); 1176 dst.purpose = purpose == null ? null : purpose.copy(); 1177 dst.reference = reference == null ? null : reference.copy(); 1178 } 1179 1180 @Override 1181 public boolean equalsDeep(Base other_) { 1182 if (!super.equalsDeep(other_)) 1183 return false; 1184 if (!(other_ instanceof ConditionDefinitionQuestionnaireComponent)) 1185 return false; 1186 ConditionDefinitionQuestionnaireComponent o = (ConditionDefinitionQuestionnaireComponent) other_; 1187 return compareDeep(purpose, o.purpose, true) && compareDeep(reference, o.reference, true); 1188 } 1189 1190 @Override 1191 public boolean equalsShallow(Base other_) { 1192 if (!super.equalsShallow(other_)) 1193 return false; 1194 if (!(other_ instanceof ConditionDefinitionQuestionnaireComponent)) 1195 return false; 1196 ConditionDefinitionQuestionnaireComponent o = (ConditionDefinitionQuestionnaireComponent) other_; 1197 return compareValues(purpose, o.purpose, true); 1198 } 1199 1200 public boolean isEmpty() { 1201 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(purpose, reference); 1202 } 1203 1204 public String fhirType() { 1205 return "ConditionDefinition.questionnaire"; 1206 1207 } 1208 1209 } 1210 1211 @Block() 1212 public static class ConditionDefinitionPlanComponent extends BackboneElement implements IBaseBackboneElement { 1213 /** 1214 * Use for the plan. 1215 */ 1216 @Child(name = "role", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 1217 @Description(shortDefinition="Use for the plan", formalDefinition="Use for the plan." ) 1218 protected CodeableConcept role; 1219 1220 /** 1221 * The actual plan. 1222 */ 1223 @Child(name = "reference", type = {PlanDefinition.class}, order=2, min=1, max=1, modifier=false, summary=false) 1224 @Description(shortDefinition="The actual plan", formalDefinition="The actual plan." ) 1225 protected Reference reference; 1226 1227 private static final long serialVersionUID = -1992921787L; 1228 1229 /** 1230 * Constructor 1231 */ 1232 public ConditionDefinitionPlanComponent() { 1233 super(); 1234 } 1235 1236 /** 1237 * Constructor 1238 */ 1239 public ConditionDefinitionPlanComponent(Reference reference) { 1240 super(); 1241 this.setReference(reference); 1242 } 1243 1244 /** 1245 * @return {@link #role} (Use for the plan.) 1246 */ 1247 public CodeableConcept getRole() { 1248 if (this.role == null) 1249 if (Configuration.errorOnAutoCreate()) 1250 throw new Error("Attempt to auto-create ConditionDefinitionPlanComponent.role"); 1251 else if (Configuration.doAutoCreate()) 1252 this.role = new CodeableConcept(); // cc 1253 return this.role; 1254 } 1255 1256 public boolean hasRole() { 1257 return this.role != null && !this.role.isEmpty(); 1258 } 1259 1260 /** 1261 * @param value {@link #role} (Use for the plan.) 1262 */ 1263 public ConditionDefinitionPlanComponent setRole(CodeableConcept value) { 1264 this.role = value; 1265 return this; 1266 } 1267 1268 /** 1269 * @return {@link #reference} (The actual plan.) 1270 */ 1271 public Reference getReference() { 1272 if (this.reference == null) 1273 if (Configuration.errorOnAutoCreate()) 1274 throw new Error("Attempt to auto-create ConditionDefinitionPlanComponent.reference"); 1275 else if (Configuration.doAutoCreate()) 1276 this.reference = new Reference(); // cc 1277 return this.reference; 1278 } 1279 1280 public boolean hasReference() { 1281 return this.reference != null && !this.reference.isEmpty(); 1282 } 1283 1284 /** 1285 * @param value {@link #reference} (The actual plan.) 1286 */ 1287 public ConditionDefinitionPlanComponent setReference(Reference value) { 1288 this.reference = value; 1289 return this; 1290 } 1291 1292 protected void listChildren(List<Property> children) { 1293 super.listChildren(children); 1294 children.add(new Property("role", "CodeableConcept", "Use for the plan.", 0, 1, role)); 1295 children.add(new Property("reference", "Reference(PlanDefinition)", "The actual plan.", 0, 1, reference)); 1296 } 1297 1298 @Override 1299 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1300 switch (_hash) { 1301 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Use for the plan.", 0, 1, role); 1302 case -925155509: /*reference*/ return new Property("reference", "Reference(PlanDefinition)", "The actual plan.", 0, 1, reference); 1303 default: return super.getNamedProperty(_hash, _name, _checkValid); 1304 } 1305 1306 } 1307 1308 @Override 1309 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1310 switch (hash) { 1311 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 1312 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 1313 default: return super.getProperty(hash, name, checkValid); 1314 } 1315 1316 } 1317 1318 @Override 1319 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1320 switch (hash) { 1321 case 3506294: // role 1322 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1323 return value; 1324 case -925155509: // reference 1325 this.reference = TypeConvertor.castToReference(value); // Reference 1326 return value; 1327 default: return super.setProperty(hash, name, value); 1328 } 1329 1330 } 1331 1332 @Override 1333 public Base setProperty(String name, Base value) throws FHIRException { 1334 if (name.equals("role")) { 1335 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1336 } else if (name.equals("reference")) { 1337 this.reference = TypeConvertor.castToReference(value); // Reference 1338 } else 1339 return super.setProperty(name, value); 1340 return value; 1341 } 1342 1343 @Override 1344 public Base makeProperty(int hash, String name) throws FHIRException { 1345 switch (hash) { 1346 case 3506294: return getRole(); 1347 case -925155509: return getReference(); 1348 default: return super.makeProperty(hash, name); 1349 } 1350 1351 } 1352 1353 @Override 1354 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1355 switch (hash) { 1356 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 1357 case -925155509: /*reference*/ return new String[] {"Reference"}; 1358 default: return super.getTypesForProperty(hash, name); 1359 } 1360 1361 } 1362 1363 @Override 1364 public Base addChild(String name) throws FHIRException { 1365 if (name.equals("role")) { 1366 this.role = new CodeableConcept(); 1367 return this.role; 1368 } 1369 else if (name.equals("reference")) { 1370 this.reference = new Reference(); 1371 return this.reference; 1372 } 1373 else 1374 return super.addChild(name); 1375 } 1376 1377 public ConditionDefinitionPlanComponent copy() { 1378 ConditionDefinitionPlanComponent dst = new ConditionDefinitionPlanComponent(); 1379 copyValues(dst); 1380 return dst; 1381 } 1382 1383 public void copyValues(ConditionDefinitionPlanComponent dst) { 1384 super.copyValues(dst); 1385 dst.role = role == null ? null : role.copy(); 1386 dst.reference = reference == null ? null : reference.copy(); 1387 } 1388 1389 @Override 1390 public boolean equalsDeep(Base other_) { 1391 if (!super.equalsDeep(other_)) 1392 return false; 1393 if (!(other_ instanceof ConditionDefinitionPlanComponent)) 1394 return false; 1395 ConditionDefinitionPlanComponent o = (ConditionDefinitionPlanComponent) other_; 1396 return compareDeep(role, o.role, true) && compareDeep(reference, o.reference, true); 1397 } 1398 1399 @Override 1400 public boolean equalsShallow(Base other_) { 1401 if (!super.equalsShallow(other_)) 1402 return false; 1403 if (!(other_ instanceof ConditionDefinitionPlanComponent)) 1404 return false; 1405 ConditionDefinitionPlanComponent o = (ConditionDefinitionPlanComponent) other_; 1406 return true; 1407 } 1408 1409 public boolean isEmpty() { 1410 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(role, reference); 1411 } 1412 1413 public String fhirType() { 1414 return "ConditionDefinition.plan"; 1415 1416 } 1417 1418 } 1419 1420 /** 1421 * An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. 1422 */ 1423 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 1424 @Description(shortDefinition="Canonical identifier for this condition definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers." ) 1425 protected UriType url; 1426 1427 /** 1428 * A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance. 1429 */ 1430 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1431 @Description(shortDefinition="Additional identifier for the condition definition", formalDefinition="A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 1432 protected List<Identifier> identifier; 1433 1434 /** 1435 * The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 1436 */ 1437 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1438 @Description(shortDefinition="Business version of the condition definition", formalDefinition="The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) 1439 protected StringType version; 1440 1441 /** 1442 * A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1443 */ 1444 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 1445 @Description(shortDefinition="Name for this condition definition (computer friendly)", formalDefinition="A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 1446 protected StringType name; 1447 1448 /** 1449 * A short, descriptive, user-friendly title for the condition definition. 1450 */ 1451 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 1452 @Description(shortDefinition="Name for this condition definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the condition definition." ) 1453 protected StringType title; 1454 1455 /** 1456 * An explanatory or alternate title for the event definition giving additional information about its content. 1457 */ 1458 @Child(name = "subtitle", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 1459 @Description(shortDefinition="Subordinate title of the event definition", formalDefinition="An explanatory or alternate title for the event definition giving additional information about its content." ) 1460 protected StringType subtitle; 1461 1462 /** 1463 * The status of this condition definition. Enables tracking the life-cycle of the content. 1464 */ 1465 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 1466 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this condition definition. Enables tracking the life-cycle of the content." ) 1467 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 1468 protected Enumeration<PublicationStatus> status; 1469 1470 /** 1471 * A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 1472 */ 1473 @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) 1474 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 1475 protected BooleanType experimental; 1476 1477 /** 1478 * The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes. 1479 */ 1480 @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 1481 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes." ) 1482 protected DateTimeType date; 1483 1484 /** 1485 * The name of the organization or individual that published the condition definition. 1486 */ 1487 @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 1488 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the condition definition." ) 1489 protected StringType publisher; 1490 1491 /** 1492 * Contact details to assist a user in finding and communicating with the publisher. 1493 */ 1494 @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1495 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 1496 protected List<ContactDetail> contact; 1497 1498 /** 1499 * A free text natural language description of the condition definition from a consumer's perspective. 1500 */ 1501 @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) 1502 @Description(shortDefinition="Natural language description of the condition definition", formalDefinition="A free text natural language description of the condition definition from a consumer's perspective." ) 1503 protected MarkdownType description; 1504 1505 /** 1506 * 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 condition definition instances. 1507 */ 1508 @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1509 @Description(shortDefinition="The context that the content is intended to support", 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 condition definition instances." ) 1510 protected List<UsageContext> useContext; 1511 1512 /** 1513 * A legal or geographic region in which the condition definition is intended to be used. 1514 */ 1515 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1516 @Description(shortDefinition="Intended jurisdiction for condition definition (if applicable)", formalDefinition="A legal or geographic region in which the condition definition is intended to be used." ) 1517 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 1518 protected List<CodeableConcept> jurisdiction; 1519 1520 /** 1521 * Identification of the condition, problem or diagnosis. 1522 */ 1523 @Child(name = "code", type = {CodeableConcept.class}, order=14, min=1, max=1, modifier=false, summary=true) 1524 @Description(shortDefinition="Identification of the condition, problem or diagnosis", formalDefinition="Identification of the condition, problem or diagnosis." ) 1525 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 1526 protected CodeableConcept code; 1527 1528 /** 1529 * A subjective assessment of the severity of the condition as evaluated by the clinician. 1530 */ 1531 @Child(name = "severity", type = {CodeableConcept.class}, order=15, min=0, max=1, modifier=false, summary=true) 1532 @Description(shortDefinition="Subjective severity of condition", formalDefinition="A subjective assessment of the severity of the condition as evaluated by the clinician." ) 1533 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-severity") 1534 protected CodeableConcept severity; 1535 1536 /** 1537 * The anatomical location where this condition manifests itself. 1538 */ 1539 @Child(name = "bodySite", type = {CodeableConcept.class}, order=16, min=0, max=1, modifier=false, summary=true) 1540 @Description(shortDefinition="Anatomical location, if relevant", formalDefinition="The anatomical location where this condition manifests itself." ) 1541 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 1542 protected CodeableConcept bodySite; 1543 1544 /** 1545 * Clinical stage or grade of a condition. May include formal severity assessments. 1546 */ 1547 @Child(name = "stage", type = {CodeableConcept.class}, order=17, min=0, max=1, modifier=false, summary=true) 1548 @Description(shortDefinition="Stage/grade, usually assessed formally", formalDefinition="Clinical stage or grade of a condition. May include formal severity assessments." ) 1549 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-stage") 1550 protected CodeableConcept stage; 1551 1552 /** 1553 * Whether Severity is appropriate to collect for this condition. 1554 */ 1555 @Child(name = "hasSeverity", type = {BooleanType.class}, order=18, min=0, max=1, modifier=false, summary=false) 1556 @Description(shortDefinition="Whether Severity is appropriate", formalDefinition="Whether Severity is appropriate to collect for this condition." ) 1557 protected BooleanType hasSeverity; 1558 1559 /** 1560 * Whether bodySite is appropriate to collect for this condition. 1561 */ 1562 @Child(name = "hasBodySite", type = {BooleanType.class}, order=19, min=0, max=1, modifier=false, summary=false) 1563 @Description(shortDefinition="Whether bodySite is appropriate", formalDefinition="Whether bodySite is appropriate to collect for this condition." ) 1564 protected BooleanType hasBodySite; 1565 1566 /** 1567 * Whether stage is appropriate to collect for this condition. 1568 */ 1569 @Child(name = "hasStage", type = {BooleanType.class}, order=20, min=0, max=1, modifier=false, summary=false) 1570 @Description(shortDefinition="Whether stage is appropriate", formalDefinition="Whether stage is appropriate to collect for this condition." ) 1571 protected BooleanType hasStage; 1572 1573 /** 1574 * Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers. 1575 */ 1576 @Child(name = "definition", type = {UriType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1577 @Description(shortDefinition="Formal Definition for the condition", formalDefinition="Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers." ) 1578 protected List<UriType> definition; 1579 1580 /** 1581 * Observations particularly relevant to this condition. 1582 */ 1583 @Child(name = "observation", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1584 @Description(shortDefinition="Observations particularly relevant to this condition", formalDefinition="Observations particularly relevant to this condition." ) 1585 protected List<ConditionDefinitionObservationComponent> observation; 1586 1587 /** 1588 * Medications particularly relevant for this condition. 1589 */ 1590 @Child(name = "medication", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1591 @Description(shortDefinition="Medications particularly relevant for this condition", formalDefinition="Medications particularly relevant for this condition." ) 1592 protected List<ConditionDefinitionMedicationComponent> medication; 1593 1594 /** 1595 * An observation that suggests that this condition applies. 1596 */ 1597 @Child(name = "precondition", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1598 @Description(shortDefinition="Observation that suggets this condition", formalDefinition="An observation that suggests that this condition applies." ) 1599 protected List<ConditionDefinitionPreconditionComponent> precondition; 1600 1601 /** 1602 * Appropriate team for this condition. 1603 */ 1604 @Child(name = "team", type = {CareTeam.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1605 @Description(shortDefinition="Appropriate team for this condition", formalDefinition="Appropriate team for this condition." ) 1606 protected List<Reference> team; 1607 1608 /** 1609 * Questionnaire for this condition. 1610 */ 1611 @Child(name = "questionnaire", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1612 @Description(shortDefinition="Questionnaire for this condition", formalDefinition="Questionnaire for this condition." ) 1613 protected List<ConditionDefinitionQuestionnaireComponent> questionnaire; 1614 1615 /** 1616 * Plan that is appropriate. 1617 */ 1618 @Child(name = "plan", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1619 @Description(shortDefinition="Plan that is appropriate", formalDefinition="Plan that is appropriate." ) 1620 protected List<ConditionDefinitionPlanComponent> plan; 1621 1622 private static final long serialVersionUID = 1798806914L; 1623 1624 /** 1625 * Constructor 1626 */ 1627 public ConditionDefinition() { 1628 super(); 1629 } 1630 1631 /** 1632 * Constructor 1633 */ 1634 public ConditionDefinition(PublicationStatus status, CodeableConcept code) { 1635 super(); 1636 this.setStatus(status); 1637 this.setCode(code); 1638 } 1639 1640 /** 1641 * @return {@link #url} (An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1642 */ 1643 public UriType getUrlElement() { 1644 if (this.url == null) 1645 if (Configuration.errorOnAutoCreate()) 1646 throw new Error("Attempt to auto-create ConditionDefinition.url"); 1647 else if (Configuration.doAutoCreate()) 1648 this.url = new UriType(); // bb 1649 return this.url; 1650 } 1651 1652 public boolean hasUrlElement() { 1653 return this.url != null && !this.url.isEmpty(); 1654 } 1655 1656 public boolean hasUrl() { 1657 return this.url != null && !this.url.isEmpty(); 1658 } 1659 1660 /** 1661 * @param value {@link #url} (An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1662 */ 1663 public ConditionDefinition setUrlElement(UriType value) { 1664 this.url = value; 1665 return this; 1666 } 1667 1668 /** 1669 * @return An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. 1670 */ 1671 public String getUrl() { 1672 return this.url == null ? null : this.url.getValue(); 1673 } 1674 1675 /** 1676 * @param value An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. 1677 */ 1678 public ConditionDefinition setUrl(String value) { 1679 if (Utilities.noString(value)) 1680 this.url = null; 1681 else { 1682 if (this.url == null) 1683 this.url = new UriType(); 1684 this.url.setValue(value); 1685 } 1686 return this; 1687 } 1688 1689 /** 1690 * @return {@link #identifier} (A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1691 */ 1692 public List<Identifier> getIdentifier() { 1693 if (this.identifier == null) 1694 this.identifier = new ArrayList<Identifier>(); 1695 return this.identifier; 1696 } 1697 1698 /** 1699 * @return Returns a reference to <code>this</code> for easy method chaining 1700 */ 1701 public ConditionDefinition setIdentifier(List<Identifier> theIdentifier) { 1702 this.identifier = theIdentifier; 1703 return this; 1704 } 1705 1706 public boolean hasIdentifier() { 1707 if (this.identifier == null) 1708 return false; 1709 for (Identifier item : this.identifier) 1710 if (!item.isEmpty()) 1711 return true; 1712 return false; 1713 } 1714 1715 public Identifier addIdentifier() { //3 1716 Identifier t = new Identifier(); 1717 if (this.identifier == null) 1718 this.identifier = new ArrayList<Identifier>(); 1719 this.identifier.add(t); 1720 return t; 1721 } 1722 1723 public ConditionDefinition addIdentifier(Identifier t) { //3 1724 if (t == null) 1725 return this; 1726 if (this.identifier == null) 1727 this.identifier = new ArrayList<Identifier>(); 1728 this.identifier.add(t); 1729 return this; 1730 } 1731 1732 /** 1733 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1734 */ 1735 public Identifier getIdentifierFirstRep() { 1736 if (getIdentifier().isEmpty()) { 1737 addIdentifier(); 1738 } 1739 return getIdentifier().get(0); 1740 } 1741 1742 /** 1743 * @return {@link #version} (The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1744 */ 1745 public StringType getVersionElement() { 1746 if (this.version == null) 1747 if (Configuration.errorOnAutoCreate()) 1748 throw new Error("Attempt to auto-create ConditionDefinition.version"); 1749 else if (Configuration.doAutoCreate()) 1750 this.version = new StringType(); // bb 1751 return this.version; 1752 } 1753 1754 public boolean hasVersionElement() { 1755 return this.version != null && !this.version.isEmpty(); 1756 } 1757 1758 public boolean hasVersion() { 1759 return this.version != null && !this.version.isEmpty(); 1760 } 1761 1762 /** 1763 * @param value {@link #version} (The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1764 */ 1765 public ConditionDefinition setVersionElement(StringType value) { 1766 this.version = value; 1767 return this; 1768 } 1769 1770 /** 1771 * @return The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 1772 */ 1773 public String getVersion() { 1774 return this.version == null ? null : this.version.getValue(); 1775 } 1776 1777 /** 1778 * @param value The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 1779 */ 1780 public ConditionDefinition setVersion(String value) { 1781 if (Utilities.noString(value)) 1782 this.version = null; 1783 else { 1784 if (this.version == null) 1785 this.version = new StringType(); 1786 this.version.setValue(value); 1787 } 1788 return this; 1789 } 1790 1791 /** 1792 * @return {@link #name} (A natural language name identifying the condition definition. 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 1793 */ 1794 public StringType getNameElement() { 1795 if (this.name == null) 1796 if (Configuration.errorOnAutoCreate()) 1797 throw new Error("Attempt to auto-create ConditionDefinition.name"); 1798 else if (Configuration.doAutoCreate()) 1799 this.name = new StringType(); // bb 1800 return this.name; 1801 } 1802 1803 public boolean hasNameElement() { 1804 return this.name != null && !this.name.isEmpty(); 1805 } 1806 1807 public boolean hasName() { 1808 return this.name != null && !this.name.isEmpty(); 1809 } 1810 1811 /** 1812 * @param value {@link #name} (A natural language name identifying the condition definition. 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 1813 */ 1814 public ConditionDefinition setNameElement(StringType value) { 1815 this.name = value; 1816 return this; 1817 } 1818 1819 /** 1820 * @return A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1821 */ 1822 public String getName() { 1823 return this.name == null ? null : this.name.getValue(); 1824 } 1825 1826 /** 1827 * @param value A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1828 */ 1829 public ConditionDefinition setName(String value) { 1830 if (Utilities.noString(value)) 1831 this.name = null; 1832 else { 1833 if (this.name == null) 1834 this.name = new StringType(); 1835 this.name.setValue(value); 1836 } 1837 return this; 1838 } 1839 1840 /** 1841 * @return {@link #title} (A short, descriptive, user-friendly title for the condition definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1842 */ 1843 public StringType getTitleElement() { 1844 if (this.title == null) 1845 if (Configuration.errorOnAutoCreate()) 1846 throw new Error("Attempt to auto-create ConditionDefinition.title"); 1847 else if (Configuration.doAutoCreate()) 1848 this.title = new StringType(); // bb 1849 return this.title; 1850 } 1851 1852 public boolean hasTitleElement() { 1853 return this.title != null && !this.title.isEmpty(); 1854 } 1855 1856 public boolean hasTitle() { 1857 return this.title != null && !this.title.isEmpty(); 1858 } 1859 1860 /** 1861 * @param value {@link #title} (A short, descriptive, user-friendly title for the condition definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1862 */ 1863 public ConditionDefinition setTitleElement(StringType value) { 1864 this.title = value; 1865 return this; 1866 } 1867 1868 /** 1869 * @return A short, descriptive, user-friendly title for the condition definition. 1870 */ 1871 public String getTitle() { 1872 return this.title == null ? null : this.title.getValue(); 1873 } 1874 1875 /** 1876 * @param value A short, descriptive, user-friendly title for the condition definition. 1877 */ 1878 public ConditionDefinition setTitle(String value) { 1879 if (Utilities.noString(value)) 1880 this.title = null; 1881 else { 1882 if (this.title == null) 1883 this.title = new StringType(); 1884 this.title.setValue(value); 1885 } 1886 return this; 1887 } 1888 1889 /** 1890 * @return {@link #subtitle} (An explanatory or alternate title for the event definition giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 1891 */ 1892 public StringType getSubtitleElement() { 1893 if (this.subtitle == null) 1894 if (Configuration.errorOnAutoCreate()) 1895 throw new Error("Attempt to auto-create ConditionDefinition.subtitle"); 1896 else if (Configuration.doAutoCreate()) 1897 this.subtitle = new StringType(); // bb 1898 return this.subtitle; 1899 } 1900 1901 public boolean hasSubtitleElement() { 1902 return this.subtitle != null && !this.subtitle.isEmpty(); 1903 } 1904 1905 public boolean hasSubtitle() { 1906 return this.subtitle != null && !this.subtitle.isEmpty(); 1907 } 1908 1909 /** 1910 * @param value {@link #subtitle} (An explanatory or alternate title for the event definition giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 1911 */ 1912 public ConditionDefinition setSubtitleElement(StringType value) { 1913 this.subtitle = value; 1914 return this; 1915 } 1916 1917 /** 1918 * @return An explanatory or alternate title for the event definition giving additional information about its content. 1919 */ 1920 public String getSubtitle() { 1921 return this.subtitle == null ? null : this.subtitle.getValue(); 1922 } 1923 1924 /** 1925 * @param value An explanatory or alternate title for the event definition giving additional information about its content. 1926 */ 1927 public ConditionDefinition setSubtitle(String value) { 1928 if (Utilities.noString(value)) 1929 this.subtitle = null; 1930 else { 1931 if (this.subtitle == null) 1932 this.subtitle = new StringType(); 1933 this.subtitle.setValue(value); 1934 } 1935 return this; 1936 } 1937 1938 /** 1939 * @return {@link #status} (The status of this condition definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1940 */ 1941 public Enumeration<PublicationStatus> getStatusElement() { 1942 if (this.status == null) 1943 if (Configuration.errorOnAutoCreate()) 1944 throw new Error("Attempt to auto-create ConditionDefinition.status"); 1945 else if (Configuration.doAutoCreate()) 1946 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1947 return this.status; 1948 } 1949 1950 public boolean hasStatusElement() { 1951 return this.status != null && !this.status.isEmpty(); 1952 } 1953 1954 public boolean hasStatus() { 1955 return this.status != null && !this.status.isEmpty(); 1956 } 1957 1958 /** 1959 * @param value {@link #status} (The status of this condition definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1960 */ 1961 public ConditionDefinition setStatusElement(Enumeration<PublicationStatus> value) { 1962 this.status = value; 1963 return this; 1964 } 1965 1966 /** 1967 * @return The status of this condition definition. Enables tracking the life-cycle of the content. 1968 */ 1969 public PublicationStatus getStatus() { 1970 return this.status == null ? null : this.status.getValue(); 1971 } 1972 1973 /** 1974 * @param value The status of this condition definition. Enables tracking the life-cycle of the content. 1975 */ 1976 public ConditionDefinition setStatus(PublicationStatus value) { 1977 if (this.status == null) 1978 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1979 this.status.setValue(value); 1980 return this; 1981 } 1982 1983 /** 1984 * @return {@link #experimental} (A Boolean value to indicate that this condition definition 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 1985 */ 1986 public BooleanType getExperimentalElement() { 1987 if (this.experimental == null) 1988 if (Configuration.errorOnAutoCreate()) 1989 throw new Error("Attempt to auto-create ConditionDefinition.experimental"); 1990 else if (Configuration.doAutoCreate()) 1991 this.experimental = new BooleanType(); // bb 1992 return this.experimental; 1993 } 1994 1995 public boolean hasExperimentalElement() { 1996 return this.experimental != null && !this.experimental.isEmpty(); 1997 } 1998 1999 public boolean hasExperimental() { 2000 return this.experimental != null && !this.experimental.isEmpty(); 2001 } 2002 2003 /** 2004 * @param value {@link #experimental} (A Boolean value to indicate that this condition definition 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 2005 */ 2006 public ConditionDefinition setExperimentalElement(BooleanType value) { 2007 this.experimental = value; 2008 return this; 2009 } 2010 2011 /** 2012 * @return A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 2013 */ 2014 public boolean getExperimental() { 2015 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 2016 } 2017 2018 /** 2019 * @param value A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 2020 */ 2021 public ConditionDefinition setExperimental(boolean value) { 2022 if (this.experimental == null) 2023 this.experimental = new BooleanType(); 2024 this.experimental.setValue(value); 2025 return this; 2026 } 2027 2028 /** 2029 * @return {@link #date} (The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2030 */ 2031 public DateTimeType getDateElement() { 2032 if (this.date == null) 2033 if (Configuration.errorOnAutoCreate()) 2034 throw new Error("Attempt to auto-create ConditionDefinition.date"); 2035 else if (Configuration.doAutoCreate()) 2036 this.date = new DateTimeType(); // bb 2037 return this.date; 2038 } 2039 2040 public boolean hasDateElement() { 2041 return this.date != null && !this.date.isEmpty(); 2042 } 2043 2044 public boolean hasDate() { 2045 return this.date != null && !this.date.isEmpty(); 2046 } 2047 2048 /** 2049 * @param value {@link #date} (The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2050 */ 2051 public ConditionDefinition setDateElement(DateTimeType value) { 2052 this.date = value; 2053 return this; 2054 } 2055 2056 /** 2057 * @return The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes. 2058 */ 2059 public Date getDate() { 2060 return this.date == null ? null : this.date.getValue(); 2061 } 2062 2063 /** 2064 * @param value The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes. 2065 */ 2066 public ConditionDefinition setDate(Date value) { 2067 if (value == null) 2068 this.date = null; 2069 else { 2070 if (this.date == null) 2071 this.date = new DateTimeType(); 2072 this.date.setValue(value); 2073 } 2074 return this; 2075 } 2076 2077 /** 2078 * @return {@link #publisher} (The name of the organization or individual that published the condition definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2079 */ 2080 public StringType getPublisherElement() { 2081 if (this.publisher == null) 2082 if (Configuration.errorOnAutoCreate()) 2083 throw new Error("Attempt to auto-create ConditionDefinition.publisher"); 2084 else if (Configuration.doAutoCreate()) 2085 this.publisher = new StringType(); // bb 2086 return this.publisher; 2087 } 2088 2089 public boolean hasPublisherElement() { 2090 return this.publisher != null && !this.publisher.isEmpty(); 2091 } 2092 2093 public boolean hasPublisher() { 2094 return this.publisher != null && !this.publisher.isEmpty(); 2095 } 2096 2097 /** 2098 * @param value {@link #publisher} (The name of the organization or individual that published the condition definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2099 */ 2100 public ConditionDefinition setPublisherElement(StringType value) { 2101 this.publisher = value; 2102 return this; 2103 } 2104 2105 /** 2106 * @return The name of the organization or individual that published the condition definition. 2107 */ 2108 public String getPublisher() { 2109 return this.publisher == null ? null : this.publisher.getValue(); 2110 } 2111 2112 /** 2113 * @param value The name of the organization or individual that published the condition definition. 2114 */ 2115 public ConditionDefinition setPublisher(String value) { 2116 if (Utilities.noString(value)) 2117 this.publisher = null; 2118 else { 2119 if (this.publisher == null) 2120 this.publisher = new StringType(); 2121 this.publisher.setValue(value); 2122 } 2123 return this; 2124 } 2125 2126 /** 2127 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2128 */ 2129 public List<ContactDetail> getContact() { 2130 if (this.contact == null) 2131 this.contact = new ArrayList<ContactDetail>(); 2132 return this.contact; 2133 } 2134 2135 /** 2136 * @return Returns a reference to <code>this</code> for easy method chaining 2137 */ 2138 public ConditionDefinition setContact(List<ContactDetail> theContact) { 2139 this.contact = theContact; 2140 return this; 2141 } 2142 2143 public boolean hasContact() { 2144 if (this.contact == null) 2145 return false; 2146 for (ContactDetail item : this.contact) 2147 if (!item.isEmpty()) 2148 return true; 2149 return false; 2150 } 2151 2152 public ContactDetail addContact() { //3 2153 ContactDetail t = new ContactDetail(); 2154 if (this.contact == null) 2155 this.contact = new ArrayList<ContactDetail>(); 2156 this.contact.add(t); 2157 return t; 2158 } 2159 2160 public ConditionDefinition addContact(ContactDetail t) { //3 2161 if (t == null) 2162 return this; 2163 if (this.contact == null) 2164 this.contact = new ArrayList<ContactDetail>(); 2165 this.contact.add(t); 2166 return this; 2167 } 2168 2169 /** 2170 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 2171 */ 2172 public ContactDetail getContactFirstRep() { 2173 if (getContact().isEmpty()) { 2174 addContact(); 2175 } 2176 return getContact().get(0); 2177 } 2178 2179 /** 2180 * @return {@link #description} (A free text natural language description of the condition definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2181 */ 2182 public MarkdownType getDescriptionElement() { 2183 if (this.description == null) 2184 if (Configuration.errorOnAutoCreate()) 2185 throw new Error("Attempt to auto-create ConditionDefinition.description"); 2186 else if (Configuration.doAutoCreate()) 2187 this.description = new MarkdownType(); // bb 2188 return this.description; 2189 } 2190 2191 public boolean hasDescriptionElement() { 2192 return this.description != null && !this.description.isEmpty(); 2193 } 2194 2195 public boolean hasDescription() { 2196 return this.description != null && !this.description.isEmpty(); 2197 } 2198 2199 /** 2200 * @param value {@link #description} (A free text natural language description of the condition definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2201 */ 2202 public ConditionDefinition setDescriptionElement(MarkdownType value) { 2203 this.description = value; 2204 return this; 2205 } 2206 2207 /** 2208 * @return A free text natural language description of the condition definition from a consumer's perspective. 2209 */ 2210 public String getDescription() { 2211 return this.description == null ? null : this.description.getValue(); 2212 } 2213 2214 /** 2215 * @param value A free text natural language description of the condition definition from a consumer's perspective. 2216 */ 2217 public ConditionDefinition setDescription(String value) { 2218 if (value == null) 2219 this.description = null; 2220 else { 2221 if (this.description == null) 2222 this.description = new MarkdownType(); 2223 this.description.setValue(value); 2224 } 2225 return this; 2226 } 2227 2228 /** 2229 * @return {@link #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 condition definition instances.) 2230 */ 2231 public List<UsageContext> getUseContext() { 2232 if (this.useContext == null) 2233 this.useContext = new ArrayList<UsageContext>(); 2234 return this.useContext; 2235 } 2236 2237 /** 2238 * @return Returns a reference to <code>this</code> for easy method chaining 2239 */ 2240 public ConditionDefinition setUseContext(List<UsageContext> theUseContext) { 2241 this.useContext = theUseContext; 2242 return this; 2243 } 2244 2245 public boolean hasUseContext() { 2246 if (this.useContext == null) 2247 return false; 2248 for (UsageContext item : this.useContext) 2249 if (!item.isEmpty()) 2250 return true; 2251 return false; 2252 } 2253 2254 public UsageContext addUseContext() { //3 2255 UsageContext t = new UsageContext(); 2256 if (this.useContext == null) 2257 this.useContext = new ArrayList<UsageContext>(); 2258 this.useContext.add(t); 2259 return t; 2260 } 2261 2262 public ConditionDefinition addUseContext(UsageContext t) { //3 2263 if (t == null) 2264 return this; 2265 if (this.useContext == null) 2266 this.useContext = new ArrayList<UsageContext>(); 2267 this.useContext.add(t); 2268 return this; 2269 } 2270 2271 /** 2272 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 2273 */ 2274 public UsageContext getUseContextFirstRep() { 2275 if (getUseContext().isEmpty()) { 2276 addUseContext(); 2277 } 2278 return getUseContext().get(0); 2279 } 2280 2281 /** 2282 * @return {@link #jurisdiction} (A legal or geographic region in which the condition definition is intended to be used.) 2283 */ 2284 public List<CodeableConcept> getJurisdiction() { 2285 if (this.jurisdiction == null) 2286 this.jurisdiction = new ArrayList<CodeableConcept>(); 2287 return this.jurisdiction; 2288 } 2289 2290 /** 2291 * @return Returns a reference to <code>this</code> for easy method chaining 2292 */ 2293 public ConditionDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 2294 this.jurisdiction = theJurisdiction; 2295 return this; 2296 } 2297 2298 public boolean hasJurisdiction() { 2299 if (this.jurisdiction == null) 2300 return false; 2301 for (CodeableConcept item : this.jurisdiction) 2302 if (!item.isEmpty()) 2303 return true; 2304 return false; 2305 } 2306 2307 public CodeableConcept addJurisdiction() { //3 2308 CodeableConcept t = new CodeableConcept(); 2309 if (this.jurisdiction == null) 2310 this.jurisdiction = new ArrayList<CodeableConcept>(); 2311 this.jurisdiction.add(t); 2312 return t; 2313 } 2314 2315 public ConditionDefinition addJurisdiction(CodeableConcept t) { //3 2316 if (t == null) 2317 return this; 2318 if (this.jurisdiction == null) 2319 this.jurisdiction = new ArrayList<CodeableConcept>(); 2320 this.jurisdiction.add(t); 2321 return this; 2322 } 2323 2324 /** 2325 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 2326 */ 2327 public CodeableConcept getJurisdictionFirstRep() { 2328 if (getJurisdiction().isEmpty()) { 2329 addJurisdiction(); 2330 } 2331 return getJurisdiction().get(0); 2332 } 2333 2334 /** 2335 * @return {@link #code} (Identification of the condition, problem or diagnosis.) 2336 */ 2337 public CodeableConcept getCode() { 2338 if (this.code == null) 2339 if (Configuration.errorOnAutoCreate()) 2340 throw new Error("Attempt to auto-create ConditionDefinition.code"); 2341 else if (Configuration.doAutoCreate()) 2342 this.code = new CodeableConcept(); // cc 2343 return this.code; 2344 } 2345 2346 public boolean hasCode() { 2347 return this.code != null && !this.code.isEmpty(); 2348 } 2349 2350 /** 2351 * @param value {@link #code} (Identification of the condition, problem or diagnosis.) 2352 */ 2353 public ConditionDefinition setCode(CodeableConcept value) { 2354 this.code = value; 2355 return this; 2356 } 2357 2358 /** 2359 * @return {@link #severity} (A subjective assessment of the severity of the condition as evaluated by the clinician.) 2360 */ 2361 public CodeableConcept getSeverity() { 2362 if (this.severity == null) 2363 if (Configuration.errorOnAutoCreate()) 2364 throw new Error("Attempt to auto-create ConditionDefinition.severity"); 2365 else if (Configuration.doAutoCreate()) 2366 this.severity = new CodeableConcept(); // cc 2367 return this.severity; 2368 } 2369 2370 public boolean hasSeverity() { 2371 return this.severity != null && !this.severity.isEmpty(); 2372 } 2373 2374 /** 2375 * @param value {@link #severity} (A subjective assessment of the severity of the condition as evaluated by the clinician.) 2376 */ 2377 public ConditionDefinition setSeverity(CodeableConcept value) { 2378 this.severity = value; 2379 return this; 2380 } 2381 2382 /** 2383 * @return {@link #bodySite} (The anatomical location where this condition manifests itself.) 2384 */ 2385 public CodeableConcept getBodySite() { 2386 if (this.bodySite == null) 2387 if (Configuration.errorOnAutoCreate()) 2388 throw new Error("Attempt to auto-create ConditionDefinition.bodySite"); 2389 else if (Configuration.doAutoCreate()) 2390 this.bodySite = new CodeableConcept(); // cc 2391 return this.bodySite; 2392 } 2393 2394 public boolean hasBodySite() { 2395 return this.bodySite != null && !this.bodySite.isEmpty(); 2396 } 2397 2398 /** 2399 * @param value {@link #bodySite} (The anatomical location where this condition manifests itself.) 2400 */ 2401 public ConditionDefinition setBodySite(CodeableConcept value) { 2402 this.bodySite = value; 2403 return this; 2404 } 2405 2406 /** 2407 * @return {@link #stage} (Clinical stage or grade of a condition. May include formal severity assessments.) 2408 */ 2409 public CodeableConcept getStage() { 2410 if (this.stage == null) 2411 if (Configuration.errorOnAutoCreate()) 2412 throw new Error("Attempt to auto-create ConditionDefinition.stage"); 2413 else if (Configuration.doAutoCreate()) 2414 this.stage = new CodeableConcept(); // cc 2415 return this.stage; 2416 } 2417 2418 public boolean hasStage() { 2419 return this.stage != null && !this.stage.isEmpty(); 2420 } 2421 2422 /** 2423 * @param value {@link #stage} (Clinical stage or grade of a condition. May include formal severity assessments.) 2424 */ 2425 public ConditionDefinition setStage(CodeableConcept value) { 2426 this.stage = value; 2427 return this; 2428 } 2429 2430 /** 2431 * @return {@link #hasSeverity} (Whether Severity is appropriate to collect for this condition.). This is the underlying object with id, value and extensions. The accessor "getHasSeverity" gives direct access to the value 2432 */ 2433 public BooleanType getHasSeverityElement() { 2434 if (this.hasSeverity == null) 2435 if (Configuration.errorOnAutoCreate()) 2436 throw new Error("Attempt to auto-create ConditionDefinition.hasSeverity"); 2437 else if (Configuration.doAutoCreate()) 2438 this.hasSeverity = new BooleanType(); // bb 2439 return this.hasSeverity; 2440 } 2441 2442 public boolean hasHasSeverityElement() { 2443 return this.hasSeverity != null && !this.hasSeverity.isEmpty(); 2444 } 2445 2446 public boolean hasHasSeverity() { 2447 return this.hasSeverity != null && !this.hasSeverity.isEmpty(); 2448 } 2449 2450 /** 2451 * @param value {@link #hasSeverity} (Whether Severity is appropriate to collect for this condition.). This is the underlying object with id, value and extensions. The accessor "getHasSeverity" gives direct access to the value 2452 */ 2453 public ConditionDefinition setHasSeverityElement(BooleanType value) { 2454 this.hasSeverity = value; 2455 return this; 2456 } 2457 2458 /** 2459 * @return Whether Severity is appropriate to collect for this condition. 2460 */ 2461 public boolean getHasSeverity() { 2462 return this.hasSeverity == null || this.hasSeverity.isEmpty() ? false : this.hasSeverity.getValue(); 2463 } 2464 2465 /** 2466 * @param value Whether Severity is appropriate to collect for this condition. 2467 */ 2468 public ConditionDefinition setHasSeverity(boolean value) { 2469 if (this.hasSeverity == null) 2470 this.hasSeverity = new BooleanType(); 2471 this.hasSeverity.setValue(value); 2472 return this; 2473 } 2474 2475 /** 2476 * @return {@link #hasBodySite} (Whether bodySite is appropriate to collect for this condition.). This is the underlying object with id, value and extensions. The accessor "getHasBodySite" gives direct access to the value 2477 */ 2478 public BooleanType getHasBodySiteElement() { 2479 if (this.hasBodySite == null) 2480 if (Configuration.errorOnAutoCreate()) 2481 throw new Error("Attempt to auto-create ConditionDefinition.hasBodySite"); 2482 else if (Configuration.doAutoCreate()) 2483 this.hasBodySite = new BooleanType(); // bb 2484 return this.hasBodySite; 2485 } 2486 2487 public boolean hasHasBodySiteElement() { 2488 return this.hasBodySite != null && !this.hasBodySite.isEmpty(); 2489 } 2490 2491 public boolean hasHasBodySite() { 2492 return this.hasBodySite != null && !this.hasBodySite.isEmpty(); 2493 } 2494 2495 /** 2496 * @param value {@link #hasBodySite} (Whether bodySite is appropriate to collect for this condition.). This is the underlying object with id, value and extensions. The accessor "getHasBodySite" gives direct access to the value 2497 */ 2498 public ConditionDefinition setHasBodySiteElement(BooleanType value) { 2499 this.hasBodySite = value; 2500 return this; 2501 } 2502 2503 /** 2504 * @return Whether bodySite is appropriate to collect for this condition. 2505 */ 2506 public boolean getHasBodySite() { 2507 return this.hasBodySite == null || this.hasBodySite.isEmpty() ? false : this.hasBodySite.getValue(); 2508 } 2509 2510 /** 2511 * @param value Whether bodySite is appropriate to collect for this condition. 2512 */ 2513 public ConditionDefinition setHasBodySite(boolean value) { 2514 if (this.hasBodySite == null) 2515 this.hasBodySite = new BooleanType(); 2516 this.hasBodySite.setValue(value); 2517 return this; 2518 } 2519 2520 /** 2521 * @return {@link #hasStage} (Whether stage is appropriate to collect for this condition.). This is the underlying object with id, value and extensions. The accessor "getHasStage" gives direct access to the value 2522 */ 2523 public BooleanType getHasStageElement() { 2524 if (this.hasStage == null) 2525 if (Configuration.errorOnAutoCreate()) 2526 throw new Error("Attempt to auto-create ConditionDefinition.hasStage"); 2527 else if (Configuration.doAutoCreate()) 2528 this.hasStage = new BooleanType(); // bb 2529 return this.hasStage; 2530 } 2531 2532 public boolean hasHasStageElement() { 2533 return this.hasStage != null && !this.hasStage.isEmpty(); 2534 } 2535 2536 public boolean hasHasStage() { 2537 return this.hasStage != null && !this.hasStage.isEmpty(); 2538 } 2539 2540 /** 2541 * @param value {@link #hasStage} (Whether stage is appropriate to collect for this condition.). This is the underlying object with id, value and extensions. The accessor "getHasStage" gives direct access to the value 2542 */ 2543 public ConditionDefinition setHasStageElement(BooleanType value) { 2544 this.hasStage = value; 2545 return this; 2546 } 2547 2548 /** 2549 * @return Whether stage is appropriate to collect for this condition. 2550 */ 2551 public boolean getHasStage() { 2552 return this.hasStage == null || this.hasStage.isEmpty() ? false : this.hasStage.getValue(); 2553 } 2554 2555 /** 2556 * @param value Whether stage is appropriate to collect for this condition. 2557 */ 2558 public ConditionDefinition setHasStage(boolean value) { 2559 if (this.hasStage == null) 2560 this.hasStage = new BooleanType(); 2561 this.hasStage.setValue(value); 2562 return this; 2563 } 2564 2565 /** 2566 * @return {@link #definition} (Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers.) 2567 */ 2568 public List<UriType> getDefinition() { 2569 if (this.definition == null) 2570 this.definition = new ArrayList<UriType>(); 2571 return this.definition; 2572 } 2573 2574 /** 2575 * @return Returns a reference to <code>this</code> for easy method chaining 2576 */ 2577 public ConditionDefinition setDefinition(List<UriType> theDefinition) { 2578 this.definition = theDefinition; 2579 return this; 2580 } 2581 2582 public boolean hasDefinition() { 2583 if (this.definition == null) 2584 return false; 2585 for (UriType item : this.definition) 2586 if (!item.isEmpty()) 2587 return true; 2588 return false; 2589 } 2590 2591 /** 2592 * @return {@link #definition} (Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers.) 2593 */ 2594 public UriType addDefinitionElement() {//2 2595 UriType t = new UriType(); 2596 if (this.definition == null) 2597 this.definition = new ArrayList<UriType>(); 2598 this.definition.add(t); 2599 return t; 2600 } 2601 2602 /** 2603 * @param value {@link #definition} (Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers.) 2604 */ 2605 public ConditionDefinition addDefinition(String value) { //1 2606 UriType t = new UriType(); 2607 t.setValue(value); 2608 if (this.definition == null) 2609 this.definition = new ArrayList<UriType>(); 2610 this.definition.add(t); 2611 return this; 2612 } 2613 2614 /** 2615 * @param value {@link #definition} (Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers.) 2616 */ 2617 public boolean hasDefinition(String value) { 2618 if (this.definition == null) 2619 return false; 2620 for (UriType v : this.definition) 2621 if (v.getValue().equals(value)) // uri 2622 return true; 2623 return false; 2624 } 2625 2626 /** 2627 * @return {@link #observation} (Observations particularly relevant to this condition.) 2628 */ 2629 public List<ConditionDefinitionObservationComponent> getObservation() { 2630 if (this.observation == null) 2631 this.observation = new ArrayList<ConditionDefinitionObservationComponent>(); 2632 return this.observation; 2633 } 2634 2635 /** 2636 * @return Returns a reference to <code>this</code> for easy method chaining 2637 */ 2638 public ConditionDefinition setObservation(List<ConditionDefinitionObservationComponent> theObservation) { 2639 this.observation = theObservation; 2640 return this; 2641 } 2642 2643 public boolean hasObservation() { 2644 if (this.observation == null) 2645 return false; 2646 for (ConditionDefinitionObservationComponent item : this.observation) 2647 if (!item.isEmpty()) 2648 return true; 2649 return false; 2650 } 2651 2652 public ConditionDefinitionObservationComponent addObservation() { //3 2653 ConditionDefinitionObservationComponent t = new ConditionDefinitionObservationComponent(); 2654 if (this.observation == null) 2655 this.observation = new ArrayList<ConditionDefinitionObservationComponent>(); 2656 this.observation.add(t); 2657 return t; 2658 } 2659 2660 public ConditionDefinition addObservation(ConditionDefinitionObservationComponent t) { //3 2661 if (t == null) 2662 return this; 2663 if (this.observation == null) 2664 this.observation = new ArrayList<ConditionDefinitionObservationComponent>(); 2665 this.observation.add(t); 2666 return this; 2667 } 2668 2669 /** 2670 * @return The first repetition of repeating field {@link #observation}, creating it if it does not already exist {3} 2671 */ 2672 public ConditionDefinitionObservationComponent getObservationFirstRep() { 2673 if (getObservation().isEmpty()) { 2674 addObservation(); 2675 } 2676 return getObservation().get(0); 2677 } 2678 2679 /** 2680 * @return {@link #medication} (Medications particularly relevant for this condition.) 2681 */ 2682 public List<ConditionDefinitionMedicationComponent> getMedication() { 2683 if (this.medication == null) 2684 this.medication = new ArrayList<ConditionDefinitionMedicationComponent>(); 2685 return this.medication; 2686 } 2687 2688 /** 2689 * @return Returns a reference to <code>this</code> for easy method chaining 2690 */ 2691 public ConditionDefinition setMedication(List<ConditionDefinitionMedicationComponent> theMedication) { 2692 this.medication = theMedication; 2693 return this; 2694 } 2695 2696 public boolean hasMedication() { 2697 if (this.medication == null) 2698 return false; 2699 for (ConditionDefinitionMedicationComponent item : this.medication) 2700 if (!item.isEmpty()) 2701 return true; 2702 return false; 2703 } 2704 2705 public ConditionDefinitionMedicationComponent addMedication() { //3 2706 ConditionDefinitionMedicationComponent t = new ConditionDefinitionMedicationComponent(); 2707 if (this.medication == null) 2708 this.medication = new ArrayList<ConditionDefinitionMedicationComponent>(); 2709 this.medication.add(t); 2710 return t; 2711 } 2712 2713 public ConditionDefinition addMedication(ConditionDefinitionMedicationComponent t) { //3 2714 if (t == null) 2715 return this; 2716 if (this.medication == null) 2717 this.medication = new ArrayList<ConditionDefinitionMedicationComponent>(); 2718 this.medication.add(t); 2719 return this; 2720 } 2721 2722 /** 2723 * @return The first repetition of repeating field {@link #medication}, creating it if it does not already exist {3} 2724 */ 2725 public ConditionDefinitionMedicationComponent getMedicationFirstRep() { 2726 if (getMedication().isEmpty()) { 2727 addMedication(); 2728 } 2729 return getMedication().get(0); 2730 } 2731 2732 /** 2733 * @return {@link #precondition} (An observation that suggests that this condition applies.) 2734 */ 2735 public List<ConditionDefinitionPreconditionComponent> getPrecondition() { 2736 if (this.precondition == null) 2737 this.precondition = new ArrayList<ConditionDefinitionPreconditionComponent>(); 2738 return this.precondition; 2739 } 2740 2741 /** 2742 * @return Returns a reference to <code>this</code> for easy method chaining 2743 */ 2744 public ConditionDefinition setPrecondition(List<ConditionDefinitionPreconditionComponent> thePrecondition) { 2745 this.precondition = thePrecondition; 2746 return this; 2747 } 2748 2749 public boolean hasPrecondition() { 2750 if (this.precondition == null) 2751 return false; 2752 for (ConditionDefinitionPreconditionComponent item : this.precondition) 2753 if (!item.isEmpty()) 2754 return true; 2755 return false; 2756 } 2757 2758 public ConditionDefinitionPreconditionComponent addPrecondition() { //3 2759 ConditionDefinitionPreconditionComponent t = new ConditionDefinitionPreconditionComponent(); 2760 if (this.precondition == null) 2761 this.precondition = new ArrayList<ConditionDefinitionPreconditionComponent>(); 2762 this.precondition.add(t); 2763 return t; 2764 } 2765 2766 public ConditionDefinition addPrecondition(ConditionDefinitionPreconditionComponent t) { //3 2767 if (t == null) 2768 return this; 2769 if (this.precondition == null) 2770 this.precondition = new ArrayList<ConditionDefinitionPreconditionComponent>(); 2771 this.precondition.add(t); 2772 return this; 2773 } 2774 2775 /** 2776 * @return The first repetition of repeating field {@link #precondition}, creating it if it does not already exist {3} 2777 */ 2778 public ConditionDefinitionPreconditionComponent getPreconditionFirstRep() { 2779 if (getPrecondition().isEmpty()) { 2780 addPrecondition(); 2781 } 2782 return getPrecondition().get(0); 2783 } 2784 2785 /** 2786 * @return {@link #team} (Appropriate team for this condition.) 2787 */ 2788 public List<Reference> getTeam() { 2789 if (this.team == null) 2790 this.team = new ArrayList<Reference>(); 2791 return this.team; 2792 } 2793 2794 /** 2795 * @return Returns a reference to <code>this</code> for easy method chaining 2796 */ 2797 public ConditionDefinition setTeam(List<Reference> theTeam) { 2798 this.team = theTeam; 2799 return this; 2800 } 2801 2802 public boolean hasTeam() { 2803 if (this.team == null) 2804 return false; 2805 for (Reference item : this.team) 2806 if (!item.isEmpty()) 2807 return true; 2808 return false; 2809 } 2810 2811 public Reference addTeam() { //3 2812 Reference t = new Reference(); 2813 if (this.team == null) 2814 this.team = new ArrayList<Reference>(); 2815 this.team.add(t); 2816 return t; 2817 } 2818 2819 public ConditionDefinition addTeam(Reference t) { //3 2820 if (t == null) 2821 return this; 2822 if (this.team == null) 2823 this.team = new ArrayList<Reference>(); 2824 this.team.add(t); 2825 return this; 2826 } 2827 2828 /** 2829 * @return The first repetition of repeating field {@link #team}, creating it if it does not already exist {3} 2830 */ 2831 public Reference getTeamFirstRep() { 2832 if (getTeam().isEmpty()) { 2833 addTeam(); 2834 } 2835 return getTeam().get(0); 2836 } 2837 2838 /** 2839 * @return {@link #questionnaire} (Questionnaire for this condition.) 2840 */ 2841 public List<ConditionDefinitionQuestionnaireComponent> getQuestionnaire() { 2842 if (this.questionnaire == null) 2843 this.questionnaire = new ArrayList<ConditionDefinitionQuestionnaireComponent>(); 2844 return this.questionnaire; 2845 } 2846 2847 /** 2848 * @return Returns a reference to <code>this</code> for easy method chaining 2849 */ 2850 public ConditionDefinition setQuestionnaire(List<ConditionDefinitionQuestionnaireComponent> theQuestionnaire) { 2851 this.questionnaire = theQuestionnaire; 2852 return this; 2853 } 2854 2855 public boolean hasQuestionnaire() { 2856 if (this.questionnaire == null) 2857 return false; 2858 for (ConditionDefinitionQuestionnaireComponent item : this.questionnaire) 2859 if (!item.isEmpty()) 2860 return true; 2861 return false; 2862 } 2863 2864 public ConditionDefinitionQuestionnaireComponent addQuestionnaire() { //3 2865 ConditionDefinitionQuestionnaireComponent t = new ConditionDefinitionQuestionnaireComponent(); 2866 if (this.questionnaire == null) 2867 this.questionnaire = new ArrayList<ConditionDefinitionQuestionnaireComponent>(); 2868 this.questionnaire.add(t); 2869 return t; 2870 } 2871 2872 public ConditionDefinition addQuestionnaire(ConditionDefinitionQuestionnaireComponent t) { //3 2873 if (t == null) 2874 return this; 2875 if (this.questionnaire == null) 2876 this.questionnaire = new ArrayList<ConditionDefinitionQuestionnaireComponent>(); 2877 this.questionnaire.add(t); 2878 return this; 2879 } 2880 2881 /** 2882 * @return The first repetition of repeating field {@link #questionnaire}, creating it if it does not already exist {3} 2883 */ 2884 public ConditionDefinitionQuestionnaireComponent getQuestionnaireFirstRep() { 2885 if (getQuestionnaire().isEmpty()) { 2886 addQuestionnaire(); 2887 } 2888 return getQuestionnaire().get(0); 2889 } 2890 2891 /** 2892 * @return {@link #plan} (Plan that is appropriate.) 2893 */ 2894 public List<ConditionDefinitionPlanComponent> getPlan() { 2895 if (this.plan == null) 2896 this.plan = new ArrayList<ConditionDefinitionPlanComponent>(); 2897 return this.plan; 2898 } 2899 2900 /** 2901 * @return Returns a reference to <code>this</code> for easy method chaining 2902 */ 2903 public ConditionDefinition setPlan(List<ConditionDefinitionPlanComponent> thePlan) { 2904 this.plan = thePlan; 2905 return this; 2906 } 2907 2908 public boolean hasPlan() { 2909 if (this.plan == null) 2910 return false; 2911 for (ConditionDefinitionPlanComponent item : this.plan) 2912 if (!item.isEmpty()) 2913 return true; 2914 return false; 2915 } 2916 2917 public ConditionDefinitionPlanComponent addPlan() { //3 2918 ConditionDefinitionPlanComponent t = new ConditionDefinitionPlanComponent(); 2919 if (this.plan == null) 2920 this.plan = new ArrayList<ConditionDefinitionPlanComponent>(); 2921 this.plan.add(t); 2922 return t; 2923 } 2924 2925 public ConditionDefinition addPlan(ConditionDefinitionPlanComponent t) { //3 2926 if (t == null) 2927 return this; 2928 if (this.plan == null) 2929 this.plan = new ArrayList<ConditionDefinitionPlanComponent>(); 2930 this.plan.add(t); 2931 return this; 2932 } 2933 2934 /** 2935 * @return The first repetition of repeating field {@link #plan}, creating it if it does not already exist {3} 2936 */ 2937 public ConditionDefinitionPlanComponent getPlanFirstRep() { 2938 if (getPlan().isEmpty()) { 2939 addPlan(); 2940 } 2941 return getPlan().get(0); 2942 } 2943 2944 /** 2945 * not supported on this implementation 2946 */ 2947 @Override 2948 public int getPurposeMax() { 2949 return 0; 2950 } 2951 /** 2952 * @return {@link #purpose} (Explanation of why this condition definition 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 2953 */ 2954 public MarkdownType getPurposeElement() { 2955 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); 2956 } 2957 2958 public boolean hasPurposeElement() { 2959 return false; 2960 } 2961 public boolean hasPurpose() { 2962 return false; 2963 } 2964 2965 /** 2966 * @param value {@link #purpose} (Explanation of why this condition definition 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 2967 */ 2968 public ConditionDefinition setPurposeElement(MarkdownType value) { 2969 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); 2970 } 2971 public String getPurpose() { 2972 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); 2973 } 2974 /** 2975 * @param value Explanation of why this condition definition is needed and why it has been designed as it has. 2976 */ 2977 public ConditionDefinition setPurpose(String value) { 2978 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); 2979 } 2980 /** 2981 * not supported on this implementation 2982 */ 2983 @Override 2984 public int getCopyrightMax() { 2985 return 0; 2986 } 2987 /** 2988 * @return {@link #copyright} (A copyright statement relating to the condition definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the condition definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2989 */ 2990 public MarkdownType getCopyrightElement() { 2991 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); 2992 } 2993 2994 public boolean hasCopyrightElement() { 2995 return false; 2996 } 2997 public boolean hasCopyright() { 2998 return false; 2999 } 3000 3001 /** 3002 * @param value {@link #copyright} (A copyright statement relating to the condition definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the condition definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3003 */ 3004 public ConditionDefinition setCopyrightElement(MarkdownType value) { 3005 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); 3006 } 3007 public String getCopyright() { 3008 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); 3009 } 3010 /** 3011 * @param value A copyright statement relating to the condition definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the condition definition. 3012 */ 3013 public ConditionDefinition setCopyright(String value) { 3014 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); 3015 } 3016 /** 3017 * not supported on this implementation 3018 */ 3019 @Override 3020 public int getApprovalDateMax() { 3021 return 0; 3022 } 3023 /** 3024 * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 3025 */ 3026 public DateType getApprovalDateElement() { 3027 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); 3028 } 3029 3030 public boolean hasApprovalDateElement() { 3031 return false; 3032 } 3033 public boolean hasApprovalDate() { 3034 return false; 3035 } 3036 3037 /** 3038 * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 3039 */ 3040 public ConditionDefinition setApprovalDateElement(DateType value) { 3041 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); 3042 } 3043 public Date getApprovalDate() { 3044 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); 3045 } 3046 /** 3047 * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 3048 */ 3049 public ConditionDefinition setApprovalDate(Date value) { 3050 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); 3051 } 3052 /** 3053 * not supported on this implementation 3054 */ 3055 @Override 3056 public int getLastReviewDateMax() { 3057 return 0; 3058 } 3059 /** 3060 * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 3061 */ 3062 public DateType getLastReviewDateElement() { 3063 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); 3064 } 3065 3066 public boolean hasLastReviewDateElement() { 3067 return false; 3068 } 3069 public boolean hasLastReviewDate() { 3070 return false; 3071 } 3072 3073 /** 3074 * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 3075 */ 3076 public ConditionDefinition setLastReviewDateElement(DateType value) { 3077 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); 3078 } 3079 public Date getLastReviewDate() { 3080 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); 3081 } 3082 /** 3083 * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 3084 */ 3085 public ConditionDefinition setLastReviewDate(Date value) { 3086 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); 3087 } 3088 /** 3089 * not supported on this implementation 3090 */ 3091 @Override 3092 public int getEffectivePeriodMax() { 3093 return 0; 3094 } 3095 /** 3096 * @return {@link #effectivePeriod} (The period during which the condition definition content was or is planned to be in active use.) 3097 */ 3098 public Period getEffectivePeriod() { 3099 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"effectivePeriod\""); 3100 } 3101 public boolean hasEffectivePeriod() { 3102 return false; 3103 } 3104 /** 3105 * @param value {@link #effectivePeriod} (The period during which the condition definition content was or is planned to be in active use.) 3106 */ 3107 public ConditionDefinition setEffectivePeriod(Period value) { 3108 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"effectivePeriod\""); 3109 } 3110 3111 /** 3112 * not supported on this implementation 3113 */ 3114 @Override 3115 public int getTopicMax() { 3116 return 0; 3117 } 3118 /** 3119 * @return {@link #topic} (Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching.) 3120 */ 3121 public List<CodeableConcept> getTopic() { 3122 return new ArrayList<>(); 3123 } 3124 /** 3125 * @return Returns a reference to <code>this</code> for easy method chaining 3126 */ 3127 public ConditionDefinition setTopic(List<CodeableConcept> theTopic) { 3128 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); 3129 } 3130 public boolean hasTopic() { 3131 return false; 3132 } 3133 3134 public CodeableConcept addTopic() { //3 3135 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); 3136 } 3137 public ConditionDefinition addTopic(CodeableConcept t) { //3 3138 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); 3139 } 3140 /** 3141 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} 3142 */ 3143 public CodeableConcept getTopicFirstRep() { 3144 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); 3145 } 3146 /** 3147 * not supported on this implementation 3148 */ 3149 @Override 3150 public int getAuthorMax() { 3151 return 0; 3152 } 3153 /** 3154 * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the condition definition.) 3155 */ 3156 public List<ContactDetail> getAuthor() { 3157 return new ArrayList<>(); 3158 } 3159 /** 3160 * @return Returns a reference to <code>this</code> for easy method chaining 3161 */ 3162 public ConditionDefinition setAuthor(List<ContactDetail> theAuthor) { 3163 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); 3164 } 3165 public boolean hasAuthor() { 3166 return false; 3167 } 3168 3169 public ContactDetail addAuthor() { //3 3170 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); 3171 } 3172 public ConditionDefinition addAuthor(ContactDetail t) { //3 3173 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); 3174 } 3175 /** 3176 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} 3177 */ 3178 public ContactDetail getAuthorFirstRep() { 3179 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); 3180 } 3181 /** 3182 * not supported on this implementation 3183 */ 3184 @Override 3185 public int getEditorMax() { 3186 return 0; 3187 } 3188 /** 3189 * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the condition definition.) 3190 */ 3191 public List<ContactDetail> getEditor() { 3192 return new ArrayList<>(); 3193 } 3194 /** 3195 * @return Returns a reference to <code>this</code> for easy method chaining 3196 */ 3197 public ConditionDefinition setEditor(List<ContactDetail> theEditor) { 3198 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); 3199 } 3200 public boolean hasEditor() { 3201 return false; 3202 } 3203 3204 public ContactDetail addEditor() { //3 3205 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); 3206 } 3207 public ConditionDefinition addEditor(ContactDetail t) { //3 3208 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); 3209 } 3210 /** 3211 * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} 3212 */ 3213 public ContactDetail getEditorFirstRep() { 3214 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); 3215 } 3216 /** 3217 * not supported on this implementation 3218 */ 3219 @Override 3220 public int getReviewerMax() { 3221 return 0; 3222 } 3223 /** 3224 * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the condition definition.) 3225 */ 3226 public List<ContactDetail> getReviewer() { 3227 return new ArrayList<>(); 3228 } 3229 /** 3230 * @return Returns a reference to <code>this</code> for easy method chaining 3231 */ 3232 public ConditionDefinition setReviewer(List<ContactDetail> theReviewer) { 3233 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); 3234 } 3235 public boolean hasReviewer() { 3236 return false; 3237 } 3238 3239 public ContactDetail addReviewer() { //3 3240 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); 3241 } 3242 public ConditionDefinition addReviewer(ContactDetail t) { //3 3243 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); 3244 } 3245 /** 3246 * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} 3247 */ 3248 public ContactDetail getReviewerFirstRep() { 3249 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); 3250 } 3251 /** 3252 * not supported on this implementation 3253 */ 3254 @Override 3255 public int getEndorserMax() { 3256 return 0; 3257 } 3258 /** 3259 * @return {@link #endorser} (An individual or organization responsible for officially endorsing the condition definition for use in some setting.) 3260 */ 3261 public List<ContactDetail> getEndorser() { 3262 return new ArrayList<>(); 3263 } 3264 /** 3265 * @return Returns a reference to <code>this</code> for easy method chaining 3266 */ 3267 public ConditionDefinition setEndorser(List<ContactDetail> theEndorser) { 3268 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); 3269 } 3270 public boolean hasEndorser() { 3271 return false; 3272 } 3273 3274 public ContactDetail addEndorser() { //3 3275 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); 3276 } 3277 public ConditionDefinition addEndorser(ContactDetail t) { //3 3278 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); 3279 } 3280 /** 3281 * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} 3282 */ 3283 public ContactDetail getEndorserFirstRep() { 3284 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); 3285 } 3286 /** 3287 * not supported on this implementation 3288 */ 3289 @Override 3290 public int getRelatedArtifactMax() { 3291 return 0; 3292 } 3293 /** 3294 * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) 3295 */ 3296 public List<RelatedArtifact> getRelatedArtifact() { 3297 return new ArrayList<>(); 3298 } 3299 /** 3300 * @return Returns a reference to <code>this</code> for easy method chaining 3301 */ 3302 public ConditionDefinition setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 3303 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); 3304 } 3305 public boolean hasRelatedArtifact() { 3306 return false; 3307 } 3308 3309 public RelatedArtifact addRelatedArtifact() { //3 3310 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); 3311 } 3312 public ConditionDefinition addRelatedArtifact(RelatedArtifact t) { //3 3313 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); 3314 } 3315 /** 3316 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} 3317 */ 3318 public RelatedArtifact getRelatedArtifactFirstRep() { 3319 throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); 3320 } 3321 protected void listChildren(List<Property> children) { 3322 super.listChildren(children); 3323 children.add(new Property("url", "uri", "An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.", 0, 1, url)); 3324 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3325 children.add(new Property("version", "string", "The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 3326 children.add(new Property("name", "string", "A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 3327 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the condition definition.", 0, 1, title)); 3328 children.add(new Property("subtitle", "string", "An explanatory or alternate title for the event definition giving additional information about its content.", 0, 1, subtitle)); 3329 children.add(new Property("status", "code", "The status of this condition definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 3330 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 3331 children.add(new Property("date", "dateTime", "The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes.", 0, 1, date)); 3332 children.add(new Property("publisher", "string", "The name of the organization or individual that published the condition definition.", 0, 1, publisher)); 3333 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)); 3334 children.add(new Property("description", "markdown", "A free text natural language description of the condition definition from a consumer's perspective.", 0, 1, description)); 3335 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 condition definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 3336 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the condition definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 3337 children.add(new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code)); 3338 children.add(new Property("severity", "CodeableConcept", "A subjective assessment of the severity of the condition as evaluated by the clinician.", 0, 1, severity)); 3339 children.add(new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, 1, bodySite)); 3340 children.add(new Property("stage", "CodeableConcept", "Clinical stage or grade of a condition. May include formal severity assessments.", 0, 1, stage)); 3341 children.add(new Property("hasSeverity", "boolean", "Whether Severity is appropriate to collect for this condition.", 0, 1, hasSeverity)); 3342 children.add(new Property("hasBodySite", "boolean", "Whether bodySite is appropriate to collect for this condition.", 0, 1, hasBodySite)); 3343 children.add(new Property("hasStage", "boolean", "Whether stage is appropriate to collect for this condition.", 0, 1, hasStage)); 3344 children.add(new Property("definition", "uri", "Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers.", 0, java.lang.Integer.MAX_VALUE, definition)); 3345 children.add(new Property("observation", "", "Observations particularly relevant to this condition.", 0, java.lang.Integer.MAX_VALUE, observation)); 3346 children.add(new Property("medication", "", "Medications particularly relevant for this condition.", 0, java.lang.Integer.MAX_VALUE, medication)); 3347 children.add(new Property("precondition", "", "An observation that suggests that this condition applies.", 0, java.lang.Integer.MAX_VALUE, precondition)); 3348 children.add(new Property("team", "Reference(CareTeam)", "Appropriate team for this condition.", 0, java.lang.Integer.MAX_VALUE, team)); 3349 children.add(new Property("questionnaire", "", "Questionnaire for this condition.", 0, java.lang.Integer.MAX_VALUE, questionnaire)); 3350 children.add(new Property("plan", "", "Plan that is appropriate.", 0, java.lang.Integer.MAX_VALUE, plan)); 3351 } 3352 3353 @Override 3354 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3355 switch (_hash) { 3356 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.", 0, 1, url); 3357 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 3358 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 3359 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 3360 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the condition definition.", 0, 1, title); 3361 case -2060497896: /*subtitle*/ return new Property("subtitle", "string", "An explanatory or alternate title for the event definition giving additional information about its content.", 0, 1, subtitle); 3362 case -892481550: /*status*/ return new Property("status", "code", "The status of this condition definition. Enables tracking the life-cycle of the content.", 0, 1, status); 3363 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 3364 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes.", 0, 1, date); 3365 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the condition definition.", 0, 1, publisher); 3366 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); 3367 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the condition definition from a consumer's perspective.", 0, 1, description); 3368 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 condition definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 3369 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the condition definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 3370 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Identification of the condition, problem or diagnosis.", 0, 1, code); 3371 case 1478300413: /*severity*/ return new Property("severity", "CodeableConcept", "A subjective assessment of the severity of the condition as evaluated by the clinician.", 0, 1, severity); 3372 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "The anatomical location where this condition manifests itself.", 0, 1, bodySite); 3373 case 109757182: /*stage*/ return new Property("stage", "CodeableConcept", "Clinical stage or grade of a condition. May include formal severity assessments.", 0, 1, stage); 3374 case 57790391: /*hasSeverity*/ return new Property("hasSeverity", "boolean", "Whether Severity is appropriate to collect for this condition.", 0, 1, hasSeverity); 3375 case 282110147: /*hasBodySite*/ return new Property("hasBodySite", "boolean", "Whether bodySite is appropriate to collect for this condition.", 0, 1, hasBodySite); 3376 case 129749124: /*hasStage*/ return new Property("hasStage", "boolean", "Whether stage is appropriate to collect for this condition.", 0, 1, hasStage); 3377 case -1014418093: /*definition*/ return new Property("definition", "uri", "Formal definitions of the condition. These may be references to ontologies, published clinical protocols or research papers.", 0, java.lang.Integer.MAX_VALUE, definition); 3378 case 122345516: /*observation*/ return new Property("observation", "", "Observations particularly relevant to this condition.", 0, java.lang.Integer.MAX_VALUE, observation); 3379 case 1998965455: /*medication*/ return new Property("medication", "", "Medications particularly relevant for this condition.", 0, java.lang.Integer.MAX_VALUE, medication); 3380 case -650968616: /*precondition*/ return new Property("precondition", "", "An observation that suggests that this condition applies.", 0, java.lang.Integer.MAX_VALUE, precondition); 3381 case 3555933: /*team*/ return new Property("team", "Reference(CareTeam)", "Appropriate team for this condition.", 0, java.lang.Integer.MAX_VALUE, team); 3382 case -1017049693: /*questionnaire*/ return new Property("questionnaire", "", "Questionnaire for this condition.", 0, java.lang.Integer.MAX_VALUE, questionnaire); 3383 case 3443497: /*plan*/ return new Property("plan", "", "Plan that is appropriate.", 0, java.lang.Integer.MAX_VALUE, plan); 3384 default: return super.getNamedProperty(_hash, _name, _checkValid); 3385 } 3386 3387 } 3388 3389 @Override 3390 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3391 switch (hash) { 3392 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3393 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3394 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3395 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3396 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3397 case -2060497896: /*subtitle*/ return this.subtitle == null ? new Base[0] : new Base[] {this.subtitle}; // StringType 3398 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3399 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3400 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3401 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3402 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 3403 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3404 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 3405 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 3406 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 3407 case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // CodeableConcept 3408 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableConcept 3409 case 109757182: /*stage*/ return this.stage == null ? new Base[0] : new Base[] {this.stage}; // CodeableConcept 3410 case 57790391: /*hasSeverity*/ return this.hasSeverity == null ? new Base[0] : new Base[] {this.hasSeverity}; // BooleanType 3411 case 282110147: /*hasBodySite*/ return this.hasBodySite == null ? new Base[0] : new Base[] {this.hasBodySite}; // BooleanType 3412 case 129749124: /*hasStage*/ return this.hasStage == null ? new Base[0] : new Base[] {this.hasStage}; // BooleanType 3413 case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : this.definition.toArray(new Base[this.definition.size()]); // UriType 3414 case 122345516: /*observation*/ return this.observation == null ? new Base[0] : this.observation.toArray(new Base[this.observation.size()]); // ConditionDefinitionObservationComponent 3415 case 1998965455: /*medication*/ return this.medication == null ? new Base[0] : this.medication.toArray(new Base[this.medication.size()]); // ConditionDefinitionMedicationComponent 3416 case -650968616: /*precondition*/ return this.precondition == null ? new Base[0] : this.precondition.toArray(new Base[this.precondition.size()]); // ConditionDefinitionPreconditionComponent 3417 case 3555933: /*team*/ return this.team == null ? new Base[0] : this.team.toArray(new Base[this.team.size()]); // Reference 3418 case -1017049693: /*questionnaire*/ return this.questionnaire == null ? new Base[0] : this.questionnaire.toArray(new Base[this.questionnaire.size()]); // ConditionDefinitionQuestionnaireComponent 3419 case 3443497: /*plan*/ return this.plan == null ? new Base[0] : this.plan.toArray(new Base[this.plan.size()]); // ConditionDefinitionPlanComponent 3420 default: return super.getProperty(hash, name, checkValid); 3421 } 3422 3423 } 3424 3425 @Override 3426 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3427 switch (hash) { 3428 case 116079: // url 3429 this.url = TypeConvertor.castToUri(value); // UriType 3430 return value; 3431 case -1618432855: // identifier 3432 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3433 return value; 3434 case 351608024: // version 3435 this.version = TypeConvertor.castToString(value); // StringType 3436 return value; 3437 case 3373707: // name 3438 this.name = TypeConvertor.castToString(value); // StringType 3439 return value; 3440 case 110371416: // title 3441 this.title = TypeConvertor.castToString(value); // StringType 3442 return value; 3443 case -2060497896: // subtitle 3444 this.subtitle = TypeConvertor.castToString(value); // StringType 3445 return value; 3446 case -892481550: // status 3447 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3448 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3449 return value; 3450 case -404562712: // experimental 3451 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3452 return value; 3453 case 3076014: // date 3454 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3455 return value; 3456 case 1447404028: // publisher 3457 this.publisher = TypeConvertor.castToString(value); // StringType 3458 return value; 3459 case 951526432: // contact 3460 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3461 return value; 3462 case -1724546052: // description 3463 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3464 return value; 3465 case -669707736: // useContext 3466 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 3467 return value; 3468 case -507075711: // jurisdiction 3469 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3470 return value; 3471 case 3059181: // code 3472 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3473 return value; 3474 case 1478300413: // severity 3475 this.severity = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3476 return value; 3477 case 1702620169: // bodySite 3478 this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3479 return value; 3480 case 109757182: // stage 3481 this.stage = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3482 return value; 3483 case 57790391: // hasSeverity 3484 this.hasSeverity = TypeConvertor.castToBoolean(value); // BooleanType 3485 return value; 3486 case 282110147: // hasBodySite 3487 this.hasBodySite = TypeConvertor.castToBoolean(value); // BooleanType 3488 return value; 3489 case 129749124: // hasStage 3490 this.hasStage = TypeConvertor.castToBoolean(value); // BooleanType 3491 return value; 3492 case -1014418093: // definition 3493 this.getDefinition().add(TypeConvertor.castToUri(value)); // UriType 3494 return value; 3495 case 122345516: // observation 3496 this.getObservation().add((ConditionDefinitionObservationComponent) value); // ConditionDefinitionObservationComponent 3497 return value; 3498 case 1998965455: // medication 3499 this.getMedication().add((ConditionDefinitionMedicationComponent) value); // ConditionDefinitionMedicationComponent 3500 return value; 3501 case -650968616: // precondition 3502 this.getPrecondition().add((ConditionDefinitionPreconditionComponent) value); // ConditionDefinitionPreconditionComponent 3503 return value; 3504 case 3555933: // team 3505 this.getTeam().add(TypeConvertor.castToReference(value)); // Reference 3506 return value; 3507 case -1017049693: // questionnaire 3508 this.getQuestionnaire().add((ConditionDefinitionQuestionnaireComponent) value); // ConditionDefinitionQuestionnaireComponent 3509 return value; 3510 case 3443497: // plan 3511 this.getPlan().add((ConditionDefinitionPlanComponent) value); // ConditionDefinitionPlanComponent 3512 return value; 3513 default: return super.setProperty(hash, name, value); 3514 } 3515 3516 } 3517 3518 @Override 3519 public Base setProperty(String name, Base value) throws FHIRException { 3520 if (name.equals("url")) { 3521 this.url = TypeConvertor.castToUri(value); // UriType 3522 } else if (name.equals("identifier")) { 3523 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3524 } else if (name.equals("version")) { 3525 this.version = TypeConvertor.castToString(value); // StringType 3526 } else if (name.equals("name")) { 3527 this.name = TypeConvertor.castToString(value); // StringType 3528 } else if (name.equals("title")) { 3529 this.title = TypeConvertor.castToString(value); // StringType 3530 } else if (name.equals("subtitle")) { 3531 this.subtitle = TypeConvertor.castToString(value); // StringType 3532 } else if (name.equals("status")) { 3533 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3534 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3535 } else if (name.equals("experimental")) { 3536 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3537 } else if (name.equals("date")) { 3538 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3539 } else if (name.equals("publisher")) { 3540 this.publisher = TypeConvertor.castToString(value); // StringType 3541 } else if (name.equals("contact")) { 3542 this.getContact().add(TypeConvertor.castToContactDetail(value)); 3543 } else if (name.equals("description")) { 3544 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3545 } else if (name.equals("useContext")) { 3546 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 3547 } else if (name.equals("jurisdiction")) { 3548 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 3549 } else if (name.equals("code")) { 3550 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3551 } else if (name.equals("severity")) { 3552 this.severity = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3553 } else if (name.equals("bodySite")) { 3554 this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3555 } else if (name.equals("stage")) { 3556 this.stage = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3557 } else if (name.equals("hasSeverity")) { 3558 this.hasSeverity = TypeConvertor.castToBoolean(value); // BooleanType 3559 } else if (name.equals("hasBodySite")) { 3560 this.hasBodySite = TypeConvertor.castToBoolean(value); // BooleanType 3561 } else if (name.equals("hasStage")) { 3562 this.hasStage = TypeConvertor.castToBoolean(value); // BooleanType 3563 } else if (name.equals("definition")) { 3564 this.getDefinition().add(TypeConvertor.castToUri(value)); 3565 } else if (name.equals("observation")) { 3566 this.getObservation().add((ConditionDefinitionObservationComponent) value); 3567 } else if (name.equals("medication")) { 3568 this.getMedication().add((ConditionDefinitionMedicationComponent) value); 3569 } else if (name.equals("precondition")) { 3570 this.getPrecondition().add((ConditionDefinitionPreconditionComponent) value); 3571 } else if (name.equals("team")) { 3572 this.getTeam().add(TypeConvertor.castToReference(value)); 3573 } else if (name.equals("questionnaire")) { 3574 this.getQuestionnaire().add((ConditionDefinitionQuestionnaireComponent) value); 3575 } else if (name.equals("plan")) { 3576 this.getPlan().add((ConditionDefinitionPlanComponent) value); 3577 } else 3578 return super.setProperty(name, value); 3579 return value; 3580 } 3581 3582 @Override 3583 public Base makeProperty(int hash, String name) throws FHIRException { 3584 switch (hash) { 3585 case 116079: return getUrlElement(); 3586 case -1618432855: return addIdentifier(); 3587 case 351608024: return getVersionElement(); 3588 case 3373707: return getNameElement(); 3589 case 110371416: return getTitleElement(); 3590 case -2060497896: return getSubtitleElement(); 3591 case -892481550: return getStatusElement(); 3592 case -404562712: return getExperimentalElement(); 3593 case 3076014: return getDateElement(); 3594 case 1447404028: return getPublisherElement(); 3595 case 951526432: return addContact(); 3596 case -1724546052: return getDescriptionElement(); 3597 case -669707736: return addUseContext(); 3598 case -507075711: return addJurisdiction(); 3599 case 3059181: return getCode(); 3600 case 1478300413: return getSeverity(); 3601 case 1702620169: return getBodySite(); 3602 case 109757182: return getStage(); 3603 case 57790391: return getHasSeverityElement(); 3604 case 282110147: return getHasBodySiteElement(); 3605 case 129749124: return getHasStageElement(); 3606 case -1014418093: return addDefinitionElement(); 3607 case 122345516: return addObservation(); 3608 case 1998965455: return addMedication(); 3609 case -650968616: return addPrecondition(); 3610 case 3555933: return addTeam(); 3611 case -1017049693: return addQuestionnaire(); 3612 case 3443497: return addPlan(); 3613 default: return super.makeProperty(hash, name); 3614 } 3615 3616 } 3617 3618 @Override 3619 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3620 switch (hash) { 3621 case 116079: /*url*/ return new String[] {"uri"}; 3622 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3623 case 351608024: /*version*/ return new String[] {"string"}; 3624 case 3373707: /*name*/ return new String[] {"string"}; 3625 case 110371416: /*title*/ return new String[] {"string"}; 3626 case -2060497896: /*subtitle*/ return new String[] {"string"}; 3627 case -892481550: /*status*/ return new String[] {"code"}; 3628 case -404562712: /*experimental*/ return new String[] {"boolean"}; 3629 case 3076014: /*date*/ return new String[] {"dateTime"}; 3630 case 1447404028: /*publisher*/ return new String[] {"string"}; 3631 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 3632 case -1724546052: /*description*/ return new String[] {"markdown"}; 3633 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 3634 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 3635 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 3636 case 1478300413: /*severity*/ return new String[] {"CodeableConcept"}; 3637 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 3638 case 109757182: /*stage*/ return new String[] {"CodeableConcept"}; 3639 case 57790391: /*hasSeverity*/ return new String[] {"boolean"}; 3640 case 282110147: /*hasBodySite*/ return new String[] {"boolean"}; 3641 case 129749124: /*hasStage*/ return new String[] {"boolean"}; 3642 case -1014418093: /*definition*/ return new String[] {"uri"}; 3643 case 122345516: /*observation*/ return new String[] {}; 3644 case 1998965455: /*medication*/ return new String[] {}; 3645 case -650968616: /*precondition*/ return new String[] {}; 3646 case 3555933: /*team*/ return new String[] {"Reference"}; 3647 case -1017049693: /*questionnaire*/ return new String[] {}; 3648 case 3443497: /*plan*/ return new String[] {}; 3649 default: return super.getTypesForProperty(hash, name); 3650 } 3651 3652 } 3653 3654 @Override 3655 public Base addChild(String name) throws FHIRException { 3656 if (name.equals("url")) { 3657 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.url"); 3658 } 3659 else if (name.equals("identifier")) { 3660 return addIdentifier(); 3661 } 3662 else if (name.equals("version")) { 3663 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.version"); 3664 } 3665 else if (name.equals("name")) { 3666 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.name"); 3667 } 3668 else if (name.equals("title")) { 3669 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.title"); 3670 } 3671 else if (name.equals("subtitle")) { 3672 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.subtitle"); 3673 } 3674 else if (name.equals("status")) { 3675 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.status"); 3676 } 3677 else if (name.equals("experimental")) { 3678 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.experimental"); 3679 } 3680 else if (name.equals("date")) { 3681 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.date"); 3682 } 3683 else if (name.equals("publisher")) { 3684 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.publisher"); 3685 } 3686 else if (name.equals("contact")) { 3687 return addContact(); 3688 } 3689 else if (name.equals("description")) { 3690 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.description"); 3691 } 3692 else if (name.equals("useContext")) { 3693 return addUseContext(); 3694 } 3695 else if (name.equals("jurisdiction")) { 3696 return addJurisdiction(); 3697 } 3698 else if (name.equals("code")) { 3699 this.code = new CodeableConcept(); 3700 return this.code; 3701 } 3702 else if (name.equals("severity")) { 3703 this.severity = new CodeableConcept(); 3704 return this.severity; 3705 } 3706 else if (name.equals("bodySite")) { 3707 this.bodySite = new CodeableConcept(); 3708 return this.bodySite; 3709 } 3710 else if (name.equals("stage")) { 3711 this.stage = new CodeableConcept(); 3712 return this.stage; 3713 } 3714 else if (name.equals("hasSeverity")) { 3715 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.hasSeverity"); 3716 } 3717 else if (name.equals("hasBodySite")) { 3718 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.hasBodySite"); 3719 } 3720 else if (name.equals("hasStage")) { 3721 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.hasStage"); 3722 } 3723 else if (name.equals("definition")) { 3724 throw new FHIRException("Cannot call addChild on a primitive type ConditionDefinition.definition"); 3725 } 3726 else if (name.equals("observation")) { 3727 return addObservation(); 3728 } 3729 else if (name.equals("medication")) { 3730 return addMedication(); 3731 } 3732 else if (name.equals("precondition")) { 3733 return addPrecondition(); 3734 } 3735 else if (name.equals("team")) { 3736 return addTeam(); 3737 } 3738 else if (name.equals("questionnaire")) { 3739 return addQuestionnaire(); 3740 } 3741 else if (name.equals("plan")) { 3742 return addPlan(); 3743 } 3744 else 3745 return super.addChild(name); 3746 } 3747 3748 public String fhirType() { 3749 return "ConditionDefinition"; 3750 3751 } 3752 3753 public ConditionDefinition copy() { 3754 ConditionDefinition dst = new ConditionDefinition(); 3755 copyValues(dst); 3756 return dst; 3757 } 3758 3759 public void copyValues(ConditionDefinition dst) { 3760 super.copyValues(dst); 3761 dst.url = url == null ? null : url.copy(); 3762 if (identifier != null) { 3763 dst.identifier = new ArrayList<Identifier>(); 3764 for (Identifier i : identifier) 3765 dst.identifier.add(i.copy()); 3766 }; 3767 dst.version = version == null ? null : version.copy(); 3768 dst.name = name == null ? null : name.copy(); 3769 dst.title = title == null ? null : title.copy(); 3770 dst.subtitle = subtitle == null ? null : subtitle.copy(); 3771 dst.status = status == null ? null : status.copy(); 3772 dst.experimental = experimental == null ? null : experimental.copy(); 3773 dst.date = date == null ? null : date.copy(); 3774 dst.publisher = publisher == null ? null : publisher.copy(); 3775 if (contact != null) { 3776 dst.contact = new ArrayList<ContactDetail>(); 3777 for (ContactDetail i : contact) 3778 dst.contact.add(i.copy()); 3779 }; 3780 dst.description = description == null ? null : description.copy(); 3781 if (useContext != null) { 3782 dst.useContext = new ArrayList<UsageContext>(); 3783 for (UsageContext i : useContext) 3784 dst.useContext.add(i.copy()); 3785 }; 3786 if (jurisdiction != null) { 3787 dst.jurisdiction = new ArrayList<CodeableConcept>(); 3788 for (CodeableConcept i : jurisdiction) 3789 dst.jurisdiction.add(i.copy()); 3790 }; 3791 dst.code = code == null ? null : code.copy(); 3792 dst.severity = severity == null ? null : severity.copy(); 3793 dst.bodySite = bodySite == null ? null : bodySite.copy(); 3794 dst.stage = stage == null ? null : stage.copy(); 3795 dst.hasSeverity = hasSeverity == null ? null : hasSeverity.copy(); 3796 dst.hasBodySite = hasBodySite == null ? null : hasBodySite.copy(); 3797 dst.hasStage = hasStage == null ? null : hasStage.copy(); 3798 if (definition != null) { 3799 dst.definition = new ArrayList<UriType>(); 3800 for (UriType i : definition) 3801 dst.definition.add(i.copy()); 3802 }; 3803 if (observation != null) { 3804 dst.observation = new ArrayList<ConditionDefinitionObservationComponent>(); 3805 for (ConditionDefinitionObservationComponent i : observation) 3806 dst.observation.add(i.copy()); 3807 }; 3808 if (medication != null) { 3809 dst.medication = new ArrayList<ConditionDefinitionMedicationComponent>(); 3810 for (ConditionDefinitionMedicationComponent i : medication) 3811 dst.medication.add(i.copy()); 3812 }; 3813 if (precondition != null) { 3814 dst.precondition = new ArrayList<ConditionDefinitionPreconditionComponent>(); 3815 for (ConditionDefinitionPreconditionComponent i : precondition) 3816 dst.precondition.add(i.copy()); 3817 }; 3818 if (team != null) { 3819 dst.team = new ArrayList<Reference>(); 3820 for (Reference i : team) 3821 dst.team.add(i.copy()); 3822 }; 3823 if (questionnaire != null) { 3824 dst.questionnaire = new ArrayList<ConditionDefinitionQuestionnaireComponent>(); 3825 for (ConditionDefinitionQuestionnaireComponent i : questionnaire) 3826 dst.questionnaire.add(i.copy()); 3827 }; 3828 if (plan != null) { 3829 dst.plan = new ArrayList<ConditionDefinitionPlanComponent>(); 3830 for (ConditionDefinitionPlanComponent i : plan) 3831 dst.plan.add(i.copy()); 3832 }; 3833 } 3834 3835 protected ConditionDefinition typedCopy() { 3836 return copy(); 3837 } 3838 3839 @Override 3840 public boolean equalsDeep(Base other_) { 3841 if (!super.equalsDeep(other_)) 3842 return false; 3843 if (!(other_ instanceof ConditionDefinition)) 3844 return false; 3845 ConditionDefinition o = (ConditionDefinition) other_; 3846 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 3847 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(subtitle, o.subtitle, true) 3848 && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) 3849 && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) 3850 && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) 3851 && compareDeep(code, o.code, true) && compareDeep(severity, o.severity, true) && compareDeep(bodySite, o.bodySite, true) 3852 && compareDeep(stage, o.stage, true) && compareDeep(hasSeverity, o.hasSeverity, true) && compareDeep(hasBodySite, o.hasBodySite, true) 3853 && compareDeep(hasStage, o.hasStage, true) && compareDeep(definition, o.definition, true) && compareDeep(observation, o.observation, true) 3854 && compareDeep(medication, o.medication, true) && compareDeep(precondition, o.precondition, true) 3855 && compareDeep(team, o.team, true) && compareDeep(questionnaire, o.questionnaire, true) && compareDeep(plan, o.plan, true) 3856 ; 3857 } 3858 3859 @Override 3860 public boolean equalsShallow(Base other_) { 3861 if (!super.equalsShallow(other_)) 3862 return false; 3863 if (!(other_ instanceof ConditionDefinition)) 3864 return false; 3865 ConditionDefinition o = (ConditionDefinition) other_; 3866 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 3867 && compareValues(title, o.title, true) && compareValues(subtitle, o.subtitle, true) && compareValues(status, o.status, true) 3868 && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) 3869 && compareValues(description, o.description, true) && compareValues(hasSeverity, o.hasSeverity, true) 3870 && compareValues(hasBodySite, o.hasBodySite, true) && compareValues(hasStage, o.hasStage, true) && compareValues(definition, o.definition, true) 3871 ; 3872 } 3873 3874 public boolean isEmpty() { 3875 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 3876 , name, title, subtitle, status, experimental, date, publisher, contact, description 3877 , useContext, jurisdiction, code, severity, bodySite, stage, hasSeverity, hasBodySite 3878 , hasStage, definition, observation, medication, precondition, team, questionnaire 3879 , plan); 3880 } 3881 3882 @Override 3883 public ResourceType getResourceType() { 3884 return ResourceType.ConditionDefinition; 3885 } 3886 3887 /** 3888 * Search parameter: <b>context-quantity</b> 3889 * <p> 3890 * Description: <b>A quantity- or range-valued use context assigned to the condition definition</b><br> 3891 * Type: <b>quantity</b><br> 3892 * Path: <b>(ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range)</b><br> 3893 * </p> 3894 */ 3895 @SearchParamDefinition(name="context-quantity", path="(ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the condition definition", type="quantity" ) 3896 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 3897 /** 3898 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 3899 * <p> 3900 * Description: <b>A quantity- or range-valued use context assigned to the condition definition</b><br> 3901 * Type: <b>quantity</b><br> 3902 * Path: <b>(ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range)</b><br> 3903 * </p> 3904 */ 3905 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 3906 3907 /** 3908 * Search parameter: <b>context-type-quantity</b> 3909 * <p> 3910 * Description: <b>A use context type and quantity- or range-based value assigned to the condition definition</b><br> 3911 * Type: <b>composite</b><br> 3912 * Path: <b>ConditionDefinition.useContext</b><br> 3913 * </p> 3914 */ 3915 @SearchParamDefinition(name="context-type-quantity", path="ConditionDefinition.useContext", description="A use context type and quantity- or range-based value assigned to the condition definition", type="composite", compositeOf={"context-type", "context-quantity"} ) 3916 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 3917 /** 3918 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 3919 * <p> 3920 * Description: <b>A use context type and quantity- or range-based value assigned to the condition definition</b><br> 3921 * Type: <b>composite</b><br> 3922 * Path: <b>ConditionDefinition.useContext</b><br> 3923 * </p> 3924 */ 3925 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 3926 3927 /** 3928 * Search parameter: <b>context-type-value</b> 3929 * <p> 3930 * Description: <b>A use context type and value assigned to the condition definition</b><br> 3931 * Type: <b>composite</b><br> 3932 * Path: <b>ConditionDefinition.useContext</b><br> 3933 * </p> 3934 */ 3935 @SearchParamDefinition(name="context-type-value", path="ConditionDefinition.useContext", description="A use context type and value assigned to the condition definition", type="composite", compositeOf={"context-type", "context"} ) 3936 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 3937 /** 3938 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 3939 * <p> 3940 * Description: <b>A use context type and value assigned to the condition definition</b><br> 3941 * Type: <b>composite</b><br> 3942 * Path: <b>ConditionDefinition.useContext</b><br> 3943 * </p> 3944 */ 3945 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 3946 3947 /** 3948 * Search parameter: <b>context-type</b> 3949 * <p> 3950 * Description: <b>A type of use context assigned to the condition definition</b><br> 3951 * Type: <b>token</b><br> 3952 * Path: <b>ConditionDefinition.useContext.code</b><br> 3953 * </p> 3954 */ 3955 @SearchParamDefinition(name="context-type", path="ConditionDefinition.useContext.code", description="A type of use context assigned to the condition definition", type="token" ) 3956 public static final String SP_CONTEXT_TYPE = "context-type"; 3957 /** 3958 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 3959 * <p> 3960 * Description: <b>A type of use context assigned to the condition definition</b><br> 3961 * Type: <b>token</b><br> 3962 * Path: <b>ConditionDefinition.useContext.code</b><br> 3963 * </p> 3964 */ 3965 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 3966 3967 /** 3968 * Search parameter: <b>context</b> 3969 * <p> 3970 * Description: <b>A use context assigned to the condition definition</b><br> 3971 * Type: <b>token</b><br> 3972 * Path: <b>(ConditionDefinition.useContext.value as CodeableConcept)</b><br> 3973 * </p> 3974 */ 3975 @SearchParamDefinition(name="context", path="(ConditionDefinition.useContext.value as CodeableConcept)", description="A use context assigned to the condition definition", type="token" ) 3976 public static final String SP_CONTEXT = "context"; 3977 /** 3978 * <b>Fluent Client</b> search parameter constant for <b>context</b> 3979 * <p> 3980 * Description: <b>A use context assigned to the condition definition</b><br> 3981 * Type: <b>token</b><br> 3982 * Path: <b>(ConditionDefinition.useContext.value as CodeableConcept)</b><br> 3983 * </p> 3984 */ 3985 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 3986 3987 /** 3988 * Search parameter: <b>date</b> 3989 * <p> 3990 * Description: <b>The condition definition publication date</b><br> 3991 * Type: <b>date</b><br> 3992 * Path: <b>ConditionDefinition.date</b><br> 3993 * </p> 3994 */ 3995 @SearchParamDefinition(name="date", path="ConditionDefinition.date", description="The condition definition publication date", type="date" ) 3996 public static final String SP_DATE = "date"; 3997 /** 3998 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3999 * <p> 4000 * Description: <b>The condition definition publication date</b><br> 4001 * Type: <b>date</b><br> 4002 * Path: <b>ConditionDefinition.date</b><br> 4003 * </p> 4004 */ 4005 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 4006 4007 /** 4008 * Search parameter: <b>description</b> 4009 * <p> 4010 * Description: <b>The description of the condition definition</b><br> 4011 * Type: <b>string</b><br> 4012 * Path: <b>ConditionDefinition.description</b><br> 4013 * </p> 4014 */ 4015 @SearchParamDefinition(name="description", path="ConditionDefinition.description", description="The description of the condition definition", type="string" ) 4016 public static final String SP_DESCRIPTION = "description"; 4017 /** 4018 * <b>Fluent Client</b> search parameter constant for <b>description</b> 4019 * <p> 4020 * Description: <b>The description of the condition definition</b><br> 4021 * Type: <b>string</b><br> 4022 * Path: <b>ConditionDefinition.description</b><br> 4023 * </p> 4024 */ 4025 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 4026 4027 /** 4028 * Search parameter: <b>identifier</b> 4029 * <p> 4030 * Description: <b>External identifier for the condition definition</b><br> 4031 * Type: <b>token</b><br> 4032 * Path: <b>ConditionDefinition.identifier</b><br> 4033 * </p> 4034 */ 4035 @SearchParamDefinition(name="identifier", path="ConditionDefinition.identifier", description="External identifier for the condition definition", type="token" ) 4036 public static final String SP_IDENTIFIER = "identifier"; 4037 /** 4038 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4039 * <p> 4040 * Description: <b>External identifier for the condition definition</b><br> 4041 * Type: <b>token</b><br> 4042 * Path: <b>ConditionDefinition.identifier</b><br> 4043 * </p> 4044 */ 4045 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4046 4047 /** 4048 * Search parameter: <b>jurisdiction</b> 4049 * <p> 4050 * Description: <b>Intended jurisdiction for the condition definition</b><br> 4051 * Type: <b>token</b><br> 4052 * Path: <b>ConditionDefinition.jurisdiction</b><br> 4053 * </p> 4054 */ 4055 @SearchParamDefinition(name="jurisdiction", path="ConditionDefinition.jurisdiction", description="Intended jurisdiction for the condition definition", type="token" ) 4056 public static final String SP_JURISDICTION = "jurisdiction"; 4057 /** 4058 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 4059 * <p> 4060 * Description: <b>Intended jurisdiction for the condition definition</b><br> 4061 * Type: <b>token</b><br> 4062 * Path: <b>ConditionDefinition.jurisdiction</b><br> 4063 * </p> 4064 */ 4065 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 4066 4067 /** 4068 * Search parameter: <b>name</b> 4069 * <p> 4070 * Description: <b>Computationally friendly name of the condition definition</b><br> 4071 * Type: <b>string</b><br> 4072 * Path: <b>ConditionDefinition.name</b><br> 4073 * </p> 4074 */ 4075 @SearchParamDefinition(name="name", path="ConditionDefinition.name", description="Computationally friendly name of the condition definition", type="string" ) 4076 public static final String SP_NAME = "name"; 4077 /** 4078 * <b>Fluent Client</b> search parameter constant for <b>name</b> 4079 * <p> 4080 * Description: <b>Computationally friendly name of the condition definition</b><br> 4081 * Type: <b>string</b><br> 4082 * Path: <b>ConditionDefinition.name</b><br> 4083 * </p> 4084 */ 4085 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 4086 4087 /** 4088 * Search parameter: <b>publisher</b> 4089 * <p> 4090 * Description: <b>Name of the publisher of the condition definition</b><br> 4091 * Type: <b>string</b><br> 4092 * Path: <b>ConditionDefinition.publisher</b><br> 4093 * </p> 4094 */ 4095 @SearchParamDefinition(name="publisher", path="ConditionDefinition.publisher", description="Name of the publisher of the condition definition", type="string" ) 4096 public static final String SP_PUBLISHER = "publisher"; 4097 /** 4098 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 4099 * <p> 4100 * Description: <b>Name of the publisher of the condition definition</b><br> 4101 * Type: <b>string</b><br> 4102 * Path: <b>ConditionDefinition.publisher</b><br> 4103 * </p> 4104 */ 4105 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 4106 4107 /** 4108 * Search parameter: <b>status</b> 4109 * <p> 4110 * Description: <b>The current status of the condition definition</b><br> 4111 * Type: <b>token</b><br> 4112 * Path: <b>ConditionDefinition.status</b><br> 4113 * </p> 4114 */ 4115 @SearchParamDefinition(name="status", path="ConditionDefinition.status", description="The current status of the condition definition", type="token" ) 4116 public static final String SP_STATUS = "status"; 4117 /** 4118 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4119 * <p> 4120 * Description: <b>The current status of the condition definition</b><br> 4121 * Type: <b>token</b><br> 4122 * Path: <b>ConditionDefinition.status</b><br> 4123 * </p> 4124 */ 4125 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4126 4127 /** 4128 * Search parameter: <b>title</b> 4129 * <p> 4130 * Description: <b>The human-friendly name of the condition definition</b><br> 4131 * Type: <b>string</b><br> 4132 * Path: <b>ConditionDefinition.title</b><br> 4133 * </p> 4134 */ 4135 @SearchParamDefinition(name="title", path="ConditionDefinition.title", description="The human-friendly name of the condition definition", type="string" ) 4136 public static final String SP_TITLE = "title"; 4137 /** 4138 * <b>Fluent Client</b> search parameter constant for <b>title</b> 4139 * <p> 4140 * Description: <b>The human-friendly name of the condition definition</b><br> 4141 * Type: <b>string</b><br> 4142 * Path: <b>ConditionDefinition.title</b><br> 4143 * </p> 4144 */ 4145 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 4146 4147 /** 4148 * Search parameter: <b>url</b> 4149 * <p> 4150 * Description: <b>The uri that identifies the condition definition</b><br> 4151 * Type: <b>uri</b><br> 4152 * Path: <b>ConditionDefinition.url</b><br> 4153 * </p> 4154 */ 4155 @SearchParamDefinition(name="url", path="ConditionDefinition.url", description="The uri that identifies the condition definition", type="uri" ) 4156 public static final String SP_URL = "url"; 4157 /** 4158 * <b>Fluent Client</b> search parameter constant for <b>url</b> 4159 * <p> 4160 * Description: <b>The uri that identifies the condition definition</b><br> 4161 * Type: <b>uri</b><br> 4162 * Path: <b>ConditionDefinition.url</b><br> 4163 * </p> 4164 */ 4165 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 4166 4167 /** 4168 * Search parameter: <b>version</b> 4169 * <p> 4170 * Description: <b>The business version of the condition definition</b><br> 4171 * Type: <b>token</b><br> 4172 * Path: <b>ConditionDefinition.version</b><br> 4173 * </p> 4174 */ 4175 @SearchParamDefinition(name="version", path="ConditionDefinition.version", description="The business version of the condition definition", type="token" ) 4176 public static final String SP_VERSION = "version"; 4177 /** 4178 * <b>Fluent Client</b> search parameter constant for <b>version</b> 4179 * <p> 4180 * Description: <b>The business version of the condition definition</b><br> 4181 * Type: <b>token</b><br> 4182 * Path: <b>ConditionDefinition.version</b><br> 4183 * </p> 4184 */ 4185 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 4186 4187 4188} 4189