
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 Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot 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 walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time. 052 */ 053@ResourceDef(name="ExampleScenario", profile="http://hl7.org/fhir/StructureDefinition/ExampleScenario") 054public class ExampleScenario extends CanonicalResource { 055 056 @Block() 057 public static class ExampleScenarioActorComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * A unique string within the scenario that is used to reference the actor. 060 */ 061 @Child(name = "key", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 062 @Description(shortDefinition="ID or acronym of the actor", formalDefinition="A unique string within the scenario that is used to reference the actor." ) 063 protected StringType key; 064 065 /** 066 * The category of actor - person or system. 067 */ 068 @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 069 @Description(shortDefinition="person | system", formalDefinition="The category of actor - person or system." ) 070 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/examplescenario-actor-type") 071 protected Enumeration<ExampleScenarioActorType> type; 072 073 /** 074 * The human-readable name for the actor used when rendering the scenario. 075 */ 076 @Child(name = "title", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) 077 @Description(shortDefinition="Label for actor when rendering", formalDefinition="The human-readable name for the actor used when rendering the scenario." ) 078 protected StringType title; 079 080 /** 081 * An explanation of who/what the actor is and its role in the scenario. 082 */ 083 @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) 084 @Description(shortDefinition="Details about actor", formalDefinition="An explanation of who/what the actor is and its role in the scenario." ) 085 protected MarkdownType description; 086 087 private static final long serialVersionUID = 267911906L; 088 089 /** 090 * Constructor 091 */ 092 public ExampleScenarioActorComponent() { 093 super(); 094 } 095 096 /** 097 * Constructor 098 */ 099 public ExampleScenarioActorComponent(String key, ExampleScenarioActorType type, String title) { 100 super(); 101 this.setKey(key); 102 this.setType(type); 103 this.setTitle(title); 104 } 105 106 /** 107 * @return {@link #key} (A unique string within the scenario that is used to reference the actor.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value 108 */ 109 public StringType getKeyElement() { 110 if (this.key == null) 111 if (Configuration.errorOnAutoCreate()) 112 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.key"); 113 else if (Configuration.doAutoCreate()) 114 this.key = new StringType(); // bb 115 return this.key; 116 } 117 118 public boolean hasKeyElement() { 119 return this.key != null && !this.key.isEmpty(); 120 } 121 122 public boolean hasKey() { 123 return this.key != null && !this.key.isEmpty(); 124 } 125 126 /** 127 * @param value {@link #key} (A unique string within the scenario that is used to reference the actor.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value 128 */ 129 public ExampleScenarioActorComponent setKeyElement(StringType value) { 130 this.key = value; 131 return this; 132 } 133 134 /** 135 * @return A unique string within the scenario that is used to reference the actor. 136 */ 137 public String getKey() { 138 return this.key == null ? null : this.key.getValue(); 139 } 140 141 /** 142 * @param value A unique string within the scenario that is used to reference the actor. 143 */ 144 public ExampleScenarioActorComponent setKey(String value) { 145 if (this.key == null) 146 this.key = new StringType(); 147 this.key.setValue(value); 148 return this; 149 } 150 151 /** 152 * @return {@link #type} (The category of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 153 */ 154 public Enumeration<ExampleScenarioActorType> getTypeElement() { 155 if (this.type == null) 156 if (Configuration.errorOnAutoCreate()) 157 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.type"); 158 else if (Configuration.doAutoCreate()) 159 this.type = new Enumeration<ExampleScenarioActorType>(new ExampleScenarioActorTypeEnumFactory()); // bb 160 return this.type; 161 } 162 163 public boolean hasTypeElement() { 164 return this.type != null && !this.type.isEmpty(); 165 } 166 167 public boolean hasType() { 168 return this.type != null && !this.type.isEmpty(); 169 } 170 171 /** 172 * @param value {@link #type} (The category of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 173 */ 174 public ExampleScenarioActorComponent setTypeElement(Enumeration<ExampleScenarioActorType> value) { 175 this.type = value; 176 return this; 177 } 178 179 /** 180 * @return The category of actor - person or system. 181 */ 182 public ExampleScenarioActorType getType() { 183 return this.type == null ? null : this.type.getValue(); 184 } 185 186 /** 187 * @param value The category of actor - person or system. 188 */ 189 public ExampleScenarioActorComponent setType(ExampleScenarioActorType value) { 190 if (this.type == null) 191 this.type = new Enumeration<ExampleScenarioActorType>(new ExampleScenarioActorTypeEnumFactory()); 192 this.type.setValue(value); 193 return this; 194 } 195 196 /** 197 * @return {@link #title} (The human-readable name for the actor used when rendering the scenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 198 */ 199 public StringType getTitleElement() { 200 if (this.title == null) 201 if (Configuration.errorOnAutoCreate()) 202 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.title"); 203 else if (Configuration.doAutoCreate()) 204 this.title = new StringType(); // bb 205 return this.title; 206 } 207 208 public boolean hasTitleElement() { 209 return this.title != null && !this.title.isEmpty(); 210 } 211 212 public boolean hasTitle() { 213 return this.title != null && !this.title.isEmpty(); 214 } 215 216 /** 217 * @param value {@link #title} (The human-readable name for the actor used when rendering the scenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 218 */ 219 public ExampleScenarioActorComponent setTitleElement(StringType value) { 220 this.title = value; 221 return this; 222 } 223 224 /** 225 * @return The human-readable name for the actor used when rendering the scenario. 226 */ 227 public String getTitle() { 228 return this.title == null ? null : this.title.getValue(); 229 } 230 231 /** 232 * @param value The human-readable name for the actor used when rendering the scenario. 233 */ 234 public ExampleScenarioActorComponent setTitle(String value) { 235 if (this.title == null) 236 this.title = new StringType(); 237 this.title.setValue(value); 238 return this; 239 } 240 241 /** 242 * @return {@link #description} (An explanation of who/what the actor is and its role in the scenario.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 243 */ 244 public MarkdownType getDescriptionElement() { 245 if (this.description == null) 246 if (Configuration.errorOnAutoCreate()) 247 throw new Error("Attempt to auto-create ExampleScenarioActorComponent.description"); 248 else if (Configuration.doAutoCreate()) 249 this.description = new MarkdownType(); // bb 250 return this.description; 251 } 252 253 public boolean hasDescriptionElement() { 254 return this.description != null && !this.description.isEmpty(); 255 } 256 257 public boolean hasDescription() { 258 return this.description != null && !this.description.isEmpty(); 259 } 260 261 /** 262 * @param value {@link #description} (An explanation of who/what the actor is and its role in the scenario.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 263 */ 264 public ExampleScenarioActorComponent setDescriptionElement(MarkdownType value) { 265 this.description = value; 266 return this; 267 } 268 269 /** 270 * @return An explanation of who/what the actor is and its role in the scenario. 271 */ 272 public String getDescription() { 273 return this.description == null ? null : this.description.getValue(); 274 } 275 276 /** 277 * @param value An explanation of who/what the actor is and its role in the scenario. 278 */ 279 public ExampleScenarioActorComponent setDescription(String value) { 280 if (value == null) 281 this.description = null; 282 else { 283 if (this.description == null) 284 this.description = new MarkdownType(); 285 this.description.setValue(value); 286 } 287 return this; 288 } 289 290 protected void listChildren(List<Property> children) { 291 super.listChildren(children); 292 children.add(new Property("key", "string", "A unique string within the scenario that is used to reference the actor.", 0, 1, key)); 293 children.add(new Property("type", "code", "The category of actor - person or system.", 0, 1, type)); 294 children.add(new Property("title", "string", "The human-readable name for the actor used when rendering the scenario.", 0, 1, title)); 295 children.add(new Property("description", "markdown", "An explanation of who/what the actor is and its role in the scenario.", 0, 1, description)); 296 } 297 298 @Override 299 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 300 switch (_hash) { 301 case 106079: /*key*/ return new Property("key", "string", "A unique string within the scenario that is used to reference the actor.", 0, 1, key); 302 case 3575610: /*type*/ return new Property("type", "code", "The category of actor - person or system.", 0, 1, type); 303 case 110371416: /*title*/ return new Property("title", "string", "The human-readable name for the actor used when rendering the scenario.", 0, 1, title); 304 case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of who/what the actor is and its role in the scenario.", 0, 1, description); 305 default: return super.getNamedProperty(_hash, _name, _checkValid); 306 } 307 308 } 309 310 @Override 311 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 312 switch (hash) { 313 case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // StringType 314 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ExampleScenarioActorType> 315 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 316 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 317 default: return super.getProperty(hash, name, checkValid); 318 } 319 320 } 321 322 @Override 323 public Base setProperty(int hash, String name, Base value) throws FHIRException { 324 switch (hash) { 325 case 106079: // key 326 this.key = TypeConvertor.castToString(value); // StringType 327 return value; 328 case 3575610: // type 329 value = new ExampleScenarioActorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 330 this.type = (Enumeration) value; // Enumeration<ExampleScenarioActorType> 331 return value; 332 case 110371416: // title 333 this.title = TypeConvertor.castToString(value); // StringType 334 return value; 335 case -1724546052: // description 336 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 337 return value; 338 default: return super.setProperty(hash, name, value); 339 } 340 341 } 342 343 @Override 344 public Base setProperty(String name, Base value) throws FHIRException { 345 if (name.equals("key")) { 346 this.key = TypeConvertor.castToString(value); // StringType 347 } else if (name.equals("type")) { 348 value = new ExampleScenarioActorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 349 this.type = (Enumeration) value; // Enumeration<ExampleScenarioActorType> 350 } else if (name.equals("title")) { 351 this.title = TypeConvertor.castToString(value); // StringType 352 } else if (name.equals("description")) { 353 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 354 } else 355 return super.setProperty(name, value); 356 return value; 357 } 358 359 @Override 360 public Base makeProperty(int hash, String name) throws FHIRException { 361 switch (hash) { 362 case 106079: return getKeyElement(); 363 case 3575610: return getTypeElement(); 364 case 110371416: return getTitleElement(); 365 case -1724546052: return getDescriptionElement(); 366 default: return super.makeProperty(hash, name); 367 } 368 369 } 370 371 @Override 372 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 373 switch (hash) { 374 case 106079: /*key*/ return new String[] {"string"}; 375 case 3575610: /*type*/ return new String[] {"code"}; 376 case 110371416: /*title*/ return new String[] {"string"}; 377 case -1724546052: /*description*/ return new String[] {"markdown"}; 378 default: return super.getTypesForProperty(hash, name); 379 } 380 381 } 382 383 @Override 384 public Base addChild(String name) throws FHIRException { 385 if (name.equals("key")) { 386 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.key"); 387 } 388 else if (name.equals("type")) { 389 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.type"); 390 } 391 else if (name.equals("title")) { 392 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.title"); 393 } 394 else if (name.equals("description")) { 395 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.description"); 396 } 397 else 398 return super.addChild(name); 399 } 400 401 public ExampleScenarioActorComponent copy() { 402 ExampleScenarioActorComponent dst = new ExampleScenarioActorComponent(); 403 copyValues(dst); 404 return dst; 405 } 406 407 public void copyValues(ExampleScenarioActorComponent dst) { 408 super.copyValues(dst); 409 dst.key = key == null ? null : key.copy(); 410 dst.type = type == null ? null : type.copy(); 411 dst.title = title == null ? null : title.copy(); 412 dst.description = description == null ? null : description.copy(); 413 } 414 415 @Override 416 public boolean equalsDeep(Base other_) { 417 if (!super.equalsDeep(other_)) 418 return false; 419 if (!(other_ instanceof ExampleScenarioActorComponent)) 420 return false; 421 ExampleScenarioActorComponent o = (ExampleScenarioActorComponent) other_; 422 return compareDeep(key, o.key, true) && compareDeep(type, o.type, true) && compareDeep(title, o.title, true) 423 && compareDeep(description, o.description, true); 424 } 425 426 @Override 427 public boolean equalsShallow(Base other_) { 428 if (!super.equalsShallow(other_)) 429 return false; 430 if (!(other_ instanceof ExampleScenarioActorComponent)) 431 return false; 432 ExampleScenarioActorComponent o = (ExampleScenarioActorComponent) other_; 433 return compareValues(key, o.key, true) && compareValues(type, o.type, true) && compareValues(title, o.title, true) 434 && compareValues(description, o.description, true); 435 } 436 437 public boolean isEmpty() { 438 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, type, title, description 439 ); 440 } 441 442 public String fhirType() { 443 return "ExampleScenario.actor"; 444 445 } 446 447 } 448 449 @Block() 450 public static class ExampleScenarioInstanceComponent extends BackboneElement implements IBaseBackboneElement { 451 /** 452 * A unique string within the scenario that is used to reference the instance. 453 */ 454 @Child(name = "key", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 455 @Description(shortDefinition="ID or acronym of the instance", formalDefinition="A unique string within the scenario that is used to reference the instance." ) 456 protected StringType key; 457 458 /** 459 * A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of. 460 */ 461 @Child(name = "structureType", type = {Coding.class}, order=2, min=1, max=1, modifier=false, summary=false) 462 @Description(shortDefinition="Data structure for example", formalDefinition="A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of." ) 463 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/examplescenario-instance-type") 464 protected Coding structureType; 465 466 /** 467 * Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with. 468 */ 469 @Child(name = "structureVersion", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 470 @Description(shortDefinition="E.g. 4.0.1", formalDefinition="Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with." ) 471 protected StringType structureVersion; 472 473 /** 474 * Refers to a profile, template or other ruleset the instance adheres to. 475 */ 476 @Child(name = "structureProfile", type = {CanonicalType.class, UriType.class}, order=4, min=0, max=1, modifier=false, summary=false) 477 @Description(shortDefinition="Rules instance adheres to", formalDefinition="Refers to a profile, template or other ruleset the instance adheres to." ) 478 protected DataType structureProfile; 479 480 /** 481 * A short descriptive label the instance to be used in tables or diagrams. 482 */ 483 @Child(name = "title", type = {StringType.class}, order=5, min=1, max=1, modifier=false, summary=false) 484 @Description(shortDefinition="Label for instance", formalDefinition="A short descriptive label the instance to be used in tables or diagrams." ) 485 protected StringType title; 486 487 /** 488 * An explanation of what the instance contains and what it's for. 489 */ 490 @Child(name = "description", type = {MarkdownType.class}, order=6, min=0, max=1, modifier=false, summary=false) 491 @Description(shortDefinition="Human-friendly description of the instance", formalDefinition="An explanation of what the instance contains and what it's for." ) 492 protected MarkdownType description; 493 494 /** 495 * Points to an instance (typically an example) that shows the data that would corespond to this instance. 496 */ 497 @Child(name = "content", type = {Reference.class}, order=7, min=0, max=1, modifier=false, summary=false) 498 @Description(shortDefinition="Example instance data", formalDefinition="Points to an instance (typically an example) that shows the data that would corespond to this instance." ) 499 protected Reference content; 500 501 /** 502 * Represents the instance as it was at a specific time-point. 503 */ 504 @Child(name = "version", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 505 @Description(shortDefinition="Snapshot of instance that changes", formalDefinition="Represents the instance as it was at a specific time-point." ) 506 protected List<ExampleScenarioInstanceVersionComponent> version; 507 508 /** 509 * References to other instances that can be found within this instance (e.g. the observations contained in a bundle). 510 */ 511 @Child(name = "containedInstance", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 512 @Description(shortDefinition="Resources contained in the instance", formalDefinition="References to other instances that can be found within this instance (e.g. the observations contained in a bundle)." ) 513 protected List<ExampleScenarioInstanceContainedInstanceComponent> containedInstance; 514 515 private static final long serialVersionUID = -1366610733L; 516 517 /** 518 * Constructor 519 */ 520 public ExampleScenarioInstanceComponent() { 521 super(); 522 } 523 524 /** 525 * Constructor 526 */ 527 public ExampleScenarioInstanceComponent(String key, Coding structureType, String title) { 528 super(); 529 this.setKey(key); 530 this.setStructureType(structureType); 531 this.setTitle(title); 532 } 533 534 /** 535 * @return {@link #key} (A unique string within the scenario that is used to reference the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value 536 */ 537 public StringType getKeyElement() { 538 if (this.key == null) 539 if (Configuration.errorOnAutoCreate()) 540 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.key"); 541 else if (Configuration.doAutoCreate()) 542 this.key = new StringType(); // bb 543 return this.key; 544 } 545 546 public boolean hasKeyElement() { 547 return this.key != null && !this.key.isEmpty(); 548 } 549 550 public boolean hasKey() { 551 return this.key != null && !this.key.isEmpty(); 552 } 553 554 /** 555 * @param value {@link #key} (A unique string within the scenario that is used to reference the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value 556 */ 557 public ExampleScenarioInstanceComponent setKeyElement(StringType value) { 558 this.key = value; 559 return this; 560 } 561 562 /** 563 * @return A unique string within the scenario that is used to reference the instance. 564 */ 565 public String getKey() { 566 return this.key == null ? null : this.key.getValue(); 567 } 568 569 /** 570 * @param value A unique string within the scenario that is used to reference the instance. 571 */ 572 public ExampleScenarioInstanceComponent setKey(String value) { 573 if (this.key == null) 574 this.key = new StringType(); 575 this.key.setValue(value); 576 return this; 577 } 578 579 /** 580 * @return {@link #structureType} (A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.) 581 */ 582 public Coding getStructureType() { 583 if (this.structureType == null) 584 if (Configuration.errorOnAutoCreate()) 585 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.structureType"); 586 else if (Configuration.doAutoCreate()) 587 this.structureType = new Coding(); // cc 588 return this.structureType; 589 } 590 591 public boolean hasStructureType() { 592 return this.structureType != null && !this.structureType.isEmpty(); 593 } 594 595 /** 596 * @param value {@link #structureType} (A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.) 597 */ 598 public ExampleScenarioInstanceComponent setStructureType(Coding value) { 599 this.structureType = value; 600 return this; 601 } 602 603 /** 604 * @return {@link #structureVersion} (Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.). This is the underlying object with id, value and extensions. The accessor "getStructureVersion" gives direct access to the value 605 */ 606 public StringType getStructureVersionElement() { 607 if (this.structureVersion == null) 608 if (Configuration.errorOnAutoCreate()) 609 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.structureVersion"); 610 else if (Configuration.doAutoCreate()) 611 this.structureVersion = new StringType(); // bb 612 return this.structureVersion; 613 } 614 615 public boolean hasStructureVersionElement() { 616 return this.structureVersion != null && !this.structureVersion.isEmpty(); 617 } 618 619 public boolean hasStructureVersion() { 620 return this.structureVersion != null && !this.structureVersion.isEmpty(); 621 } 622 623 /** 624 * @param value {@link #structureVersion} (Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.). This is the underlying object with id, value and extensions. The accessor "getStructureVersion" gives direct access to the value 625 */ 626 public ExampleScenarioInstanceComponent setStructureVersionElement(StringType value) { 627 this.structureVersion = value; 628 return this; 629 } 630 631 /** 632 * @return Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with. 633 */ 634 public String getStructureVersion() { 635 return this.structureVersion == null ? null : this.structureVersion.getValue(); 636 } 637 638 /** 639 * @param value Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with. 640 */ 641 public ExampleScenarioInstanceComponent setStructureVersion(String value) { 642 if (Utilities.noString(value)) 643 this.structureVersion = null; 644 else { 645 if (this.structureVersion == null) 646 this.structureVersion = new StringType(); 647 this.structureVersion.setValue(value); 648 } 649 return this; 650 } 651 652 /** 653 * @return {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) 654 */ 655 public DataType getStructureProfile() { 656 return this.structureProfile; 657 } 658 659 /** 660 * @return {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) 661 */ 662 public CanonicalType getStructureProfileCanonicalType() throws FHIRException { 663 if (this.structureProfile == null) 664 this.structureProfile = new CanonicalType(); 665 if (!(this.structureProfile instanceof CanonicalType)) 666 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.structureProfile.getClass().getName()+" was encountered"); 667 return (CanonicalType) this.structureProfile; 668 } 669 670 public boolean hasStructureProfileCanonicalType() { 671 return this != null && this.structureProfile instanceof CanonicalType; 672 } 673 674 /** 675 * @return {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) 676 */ 677 public UriType getStructureProfileUriType() throws FHIRException { 678 if (this.structureProfile == null) 679 this.structureProfile = new UriType(); 680 if (!(this.structureProfile instanceof UriType)) 681 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.structureProfile.getClass().getName()+" was encountered"); 682 return (UriType) this.structureProfile; 683 } 684 685 public boolean hasStructureProfileUriType() { 686 return this != null && this.structureProfile instanceof UriType; 687 } 688 689 public boolean hasStructureProfile() { 690 return this.structureProfile != null && !this.structureProfile.isEmpty(); 691 } 692 693 /** 694 * @param value {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) 695 */ 696 public ExampleScenarioInstanceComponent setStructureProfile(DataType value) { 697 if (value != null && !(value instanceof CanonicalType || value instanceof UriType)) 698 throw new Error("Not the right type for ExampleScenario.instance.structureProfile[x]: "+value.fhirType()); 699 this.structureProfile = value; 700 return this; 701 } 702 703 /** 704 * @return {@link #title} (A short descriptive label the instance to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 705 */ 706 public StringType getTitleElement() { 707 if (this.title == null) 708 if (Configuration.errorOnAutoCreate()) 709 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.title"); 710 else if (Configuration.doAutoCreate()) 711 this.title = new StringType(); // bb 712 return this.title; 713 } 714 715 public boolean hasTitleElement() { 716 return this.title != null && !this.title.isEmpty(); 717 } 718 719 public boolean hasTitle() { 720 return this.title != null && !this.title.isEmpty(); 721 } 722 723 /** 724 * @param value {@link #title} (A short descriptive label the instance to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 725 */ 726 public ExampleScenarioInstanceComponent setTitleElement(StringType value) { 727 this.title = value; 728 return this; 729 } 730 731 /** 732 * @return A short descriptive label the instance to be used in tables or diagrams. 733 */ 734 public String getTitle() { 735 return this.title == null ? null : this.title.getValue(); 736 } 737 738 /** 739 * @param value A short descriptive label the instance to be used in tables or diagrams. 740 */ 741 public ExampleScenarioInstanceComponent setTitle(String value) { 742 if (this.title == null) 743 this.title = new StringType(); 744 this.title.setValue(value); 745 return this; 746 } 747 748 /** 749 * @return {@link #description} (An explanation of what the instance contains and what it's for.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 750 */ 751 public MarkdownType getDescriptionElement() { 752 if (this.description == null) 753 if (Configuration.errorOnAutoCreate()) 754 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.description"); 755 else if (Configuration.doAutoCreate()) 756 this.description = new MarkdownType(); // bb 757 return this.description; 758 } 759 760 public boolean hasDescriptionElement() { 761 return this.description != null && !this.description.isEmpty(); 762 } 763 764 public boolean hasDescription() { 765 return this.description != null && !this.description.isEmpty(); 766 } 767 768 /** 769 * @param value {@link #description} (An explanation of what the instance contains and what it's for.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 770 */ 771 public ExampleScenarioInstanceComponent setDescriptionElement(MarkdownType value) { 772 this.description = value; 773 return this; 774 } 775 776 /** 777 * @return An explanation of what the instance contains and what it's for. 778 */ 779 public String getDescription() { 780 return this.description == null ? null : this.description.getValue(); 781 } 782 783 /** 784 * @param value An explanation of what the instance contains and what it's for. 785 */ 786 public ExampleScenarioInstanceComponent setDescription(String value) { 787 if (value == null) 788 this.description = null; 789 else { 790 if (this.description == null) 791 this.description = new MarkdownType(); 792 this.description.setValue(value); 793 } 794 return this; 795 } 796 797 /** 798 * @return {@link #content} (Points to an instance (typically an example) that shows the data that would corespond to this instance.) 799 */ 800 public Reference getContent() { 801 if (this.content == null) 802 if (Configuration.errorOnAutoCreate()) 803 throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.content"); 804 else if (Configuration.doAutoCreate()) 805 this.content = new Reference(); // cc 806 return this.content; 807 } 808 809 public boolean hasContent() { 810 return this.content != null && !this.content.isEmpty(); 811 } 812 813 /** 814 * @param value {@link #content} (Points to an instance (typically an example) that shows the data that would corespond to this instance.) 815 */ 816 public ExampleScenarioInstanceComponent setContent(Reference value) { 817 this.content = value; 818 return this; 819 } 820 821 /** 822 * @return {@link #version} (Represents the instance as it was at a specific time-point.) 823 */ 824 public List<ExampleScenarioInstanceVersionComponent> getVersion() { 825 if (this.version == null) 826 this.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 827 return this.version; 828 } 829 830 /** 831 * @return Returns a reference to <code>this</code> for easy method chaining 832 */ 833 public ExampleScenarioInstanceComponent setVersion(List<ExampleScenarioInstanceVersionComponent> theVersion) { 834 this.version = theVersion; 835 return this; 836 } 837 838 public boolean hasVersion() { 839 if (this.version == null) 840 return false; 841 for (ExampleScenarioInstanceVersionComponent item : this.version) 842 if (!item.isEmpty()) 843 return true; 844 return false; 845 } 846 847 public ExampleScenarioInstanceVersionComponent addVersion() { //3 848 ExampleScenarioInstanceVersionComponent t = new ExampleScenarioInstanceVersionComponent(); 849 if (this.version == null) 850 this.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 851 this.version.add(t); 852 return t; 853 } 854 855 public ExampleScenarioInstanceComponent addVersion(ExampleScenarioInstanceVersionComponent t) { //3 856 if (t == null) 857 return this; 858 if (this.version == null) 859 this.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 860 this.version.add(t); 861 return this; 862 } 863 864 /** 865 * @return The first repetition of repeating field {@link #version}, creating it if it does not already exist {3} 866 */ 867 public ExampleScenarioInstanceVersionComponent getVersionFirstRep() { 868 if (getVersion().isEmpty()) { 869 addVersion(); 870 } 871 return getVersion().get(0); 872 } 873 874 /** 875 * @return {@link #containedInstance} (References to other instances that can be found within this instance (e.g. the observations contained in a bundle).) 876 */ 877 public List<ExampleScenarioInstanceContainedInstanceComponent> getContainedInstance() { 878 if (this.containedInstance == null) 879 this.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 880 return this.containedInstance; 881 } 882 883 /** 884 * @return Returns a reference to <code>this</code> for easy method chaining 885 */ 886 public ExampleScenarioInstanceComponent setContainedInstance(List<ExampleScenarioInstanceContainedInstanceComponent> theContainedInstance) { 887 this.containedInstance = theContainedInstance; 888 return this; 889 } 890 891 public boolean hasContainedInstance() { 892 if (this.containedInstance == null) 893 return false; 894 for (ExampleScenarioInstanceContainedInstanceComponent item : this.containedInstance) 895 if (!item.isEmpty()) 896 return true; 897 return false; 898 } 899 900 public ExampleScenarioInstanceContainedInstanceComponent addContainedInstance() { //3 901 ExampleScenarioInstanceContainedInstanceComponent t = new ExampleScenarioInstanceContainedInstanceComponent(); 902 if (this.containedInstance == null) 903 this.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 904 this.containedInstance.add(t); 905 return t; 906 } 907 908 public ExampleScenarioInstanceComponent addContainedInstance(ExampleScenarioInstanceContainedInstanceComponent t) { //3 909 if (t == null) 910 return this; 911 if (this.containedInstance == null) 912 this.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 913 this.containedInstance.add(t); 914 return this; 915 } 916 917 /** 918 * @return The first repetition of repeating field {@link #containedInstance}, creating it if it does not already exist {3} 919 */ 920 public ExampleScenarioInstanceContainedInstanceComponent getContainedInstanceFirstRep() { 921 if (getContainedInstance().isEmpty()) { 922 addContainedInstance(); 923 } 924 return getContainedInstance().get(0); 925 } 926 927 protected void listChildren(List<Property> children) { 928 super.listChildren(children); 929 children.add(new Property("key", "string", "A unique string within the scenario that is used to reference the instance.", 0, 1, key)); 930 children.add(new Property("structureType", "Coding", "A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.", 0, 1, structureType)); 931 children.add(new Property("structureVersion", "string", "Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.", 0, 1, structureVersion)); 932 children.add(new Property("structureProfile[x]", "canonical|uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile)); 933 children.add(new Property("title", "string", "A short descriptive label the instance to be used in tables or diagrams.", 0, 1, title)); 934 children.add(new Property("description", "markdown", "An explanation of what the instance contains and what it's for.", 0, 1, description)); 935 children.add(new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would corespond to this instance.", 0, 1, content)); 936 children.add(new Property("version", "", "Represents the instance as it was at a specific time-point.", 0, java.lang.Integer.MAX_VALUE, version)); 937 children.add(new Property("containedInstance", "", "References to other instances that can be found within this instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance)); 938 } 939 940 @Override 941 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 942 switch (_hash) { 943 case 106079: /*key*/ return new Property("key", "string", "A unique string within the scenario that is used to reference the instance.", 0, 1, key); 944 case -222609587: /*structureType*/ return new Property("structureType", "Coding", "A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.", 0, 1, structureType); 945 case 872091621: /*structureVersion*/ return new Property("structureVersion", "string", "Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.", 0, 1, structureVersion); 946 case -207739894: /*structureProfile[x]*/ return new Property("structureProfile[x]", "canonical|uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); 947 case 211057846: /*structureProfile*/ return new Property("structureProfile[x]", "canonical|uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); 948 case -1044433698: /*structureProfileCanonical*/ return new Property("structureProfile[x]", "canonical", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); 949 case -207745834: /*structureProfileUri*/ return new Property("structureProfile[x]", "uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); 950 case 110371416: /*title*/ return new Property("title", "string", "A short descriptive label the instance to be used in tables or diagrams.", 0, 1, title); 951 case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what the instance contains and what it's for.", 0, 1, description); 952 case 951530617: /*content*/ return new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would corespond to this instance.", 0, 1, content); 953 case 351608024: /*version*/ return new Property("version", "", "Represents the instance as it was at a specific time-point.", 0, java.lang.Integer.MAX_VALUE, version); 954 case -417062360: /*containedInstance*/ return new Property("containedInstance", "", "References to other instances that can be found within this instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance); 955 default: return super.getNamedProperty(_hash, _name, _checkValid); 956 } 957 958 } 959 960 @Override 961 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 962 switch (hash) { 963 case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // StringType 964 case -222609587: /*structureType*/ return this.structureType == null ? new Base[0] : new Base[] {this.structureType}; // Coding 965 case 872091621: /*structureVersion*/ return this.structureVersion == null ? new Base[0] : new Base[] {this.structureVersion}; // StringType 966 case 211057846: /*structureProfile*/ return this.structureProfile == null ? new Base[0] : new Base[] {this.structureProfile}; // DataType 967 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 968 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 969 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // Reference 970 case 351608024: /*version*/ return this.version == null ? new Base[0] : this.version.toArray(new Base[this.version.size()]); // ExampleScenarioInstanceVersionComponent 971 case -417062360: /*containedInstance*/ return this.containedInstance == null ? new Base[0] : this.containedInstance.toArray(new Base[this.containedInstance.size()]); // ExampleScenarioInstanceContainedInstanceComponent 972 default: return super.getProperty(hash, name, checkValid); 973 } 974 975 } 976 977 @Override 978 public Base setProperty(int hash, String name, Base value) throws FHIRException { 979 switch (hash) { 980 case 106079: // key 981 this.key = TypeConvertor.castToString(value); // StringType 982 return value; 983 case -222609587: // structureType 984 this.structureType = TypeConvertor.castToCoding(value); // Coding 985 return value; 986 case 872091621: // structureVersion 987 this.structureVersion = TypeConvertor.castToString(value); // StringType 988 return value; 989 case 211057846: // structureProfile 990 this.structureProfile = TypeConvertor.castToType(value); // DataType 991 return value; 992 case 110371416: // title 993 this.title = TypeConvertor.castToString(value); // StringType 994 return value; 995 case -1724546052: // description 996 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 997 return value; 998 case 951530617: // content 999 this.content = TypeConvertor.castToReference(value); // Reference 1000 return value; 1001 case 351608024: // version 1002 this.getVersion().add((ExampleScenarioInstanceVersionComponent) value); // ExampleScenarioInstanceVersionComponent 1003 return value; 1004 case -417062360: // containedInstance 1005 this.getContainedInstance().add((ExampleScenarioInstanceContainedInstanceComponent) value); // ExampleScenarioInstanceContainedInstanceComponent 1006 return value; 1007 default: return super.setProperty(hash, name, value); 1008 } 1009 1010 } 1011 1012 @Override 1013 public Base setProperty(String name, Base value) throws FHIRException { 1014 if (name.equals("key")) { 1015 this.key = TypeConvertor.castToString(value); // StringType 1016 } else if (name.equals("structureType")) { 1017 this.structureType = TypeConvertor.castToCoding(value); // Coding 1018 } else if (name.equals("structureVersion")) { 1019 this.structureVersion = TypeConvertor.castToString(value); // StringType 1020 } else if (name.equals("structureProfile[x]")) { 1021 this.structureProfile = TypeConvertor.castToType(value); // DataType 1022 } else if (name.equals("title")) { 1023 this.title = TypeConvertor.castToString(value); // StringType 1024 } else if (name.equals("description")) { 1025 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1026 } else if (name.equals("content")) { 1027 this.content = TypeConvertor.castToReference(value); // Reference 1028 } else if (name.equals("version")) { 1029 this.getVersion().add((ExampleScenarioInstanceVersionComponent) value); 1030 } else if (name.equals("containedInstance")) { 1031 this.getContainedInstance().add((ExampleScenarioInstanceContainedInstanceComponent) value); 1032 } else 1033 return super.setProperty(name, value); 1034 return value; 1035 } 1036 1037 @Override 1038 public Base makeProperty(int hash, String name) throws FHIRException { 1039 switch (hash) { 1040 case 106079: return getKeyElement(); 1041 case -222609587: return getStructureType(); 1042 case 872091621: return getStructureVersionElement(); 1043 case -207739894: return getStructureProfile(); 1044 case 211057846: return getStructureProfile(); 1045 case 110371416: return getTitleElement(); 1046 case -1724546052: return getDescriptionElement(); 1047 case 951530617: return getContent(); 1048 case 351608024: return addVersion(); 1049 case -417062360: return addContainedInstance(); 1050 default: return super.makeProperty(hash, name); 1051 } 1052 1053 } 1054 1055 @Override 1056 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1057 switch (hash) { 1058 case 106079: /*key*/ return new String[] {"string"}; 1059 case -222609587: /*structureType*/ return new String[] {"Coding"}; 1060 case 872091621: /*structureVersion*/ return new String[] {"string"}; 1061 case 211057846: /*structureProfile*/ return new String[] {"canonical", "uri"}; 1062 case 110371416: /*title*/ return new String[] {"string"}; 1063 case -1724546052: /*description*/ return new String[] {"markdown"}; 1064 case 951530617: /*content*/ return new String[] {"Reference"}; 1065 case 351608024: /*version*/ return new String[] {}; 1066 case -417062360: /*containedInstance*/ return new String[] {}; 1067 default: return super.getTypesForProperty(hash, name); 1068 } 1069 1070 } 1071 1072 @Override 1073 public Base addChild(String name) throws FHIRException { 1074 if (name.equals("key")) { 1075 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.key"); 1076 } 1077 else if (name.equals("structureType")) { 1078 this.structureType = new Coding(); 1079 return this.structureType; 1080 } 1081 else if (name.equals("structureVersion")) { 1082 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.structureVersion"); 1083 } 1084 else if (name.equals("structureProfileCanonical")) { 1085 this.structureProfile = new CanonicalType(); 1086 return this.structureProfile; 1087 } 1088 else if (name.equals("structureProfileUri")) { 1089 this.structureProfile = new UriType(); 1090 return this.structureProfile; 1091 } 1092 else if (name.equals("title")) { 1093 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.title"); 1094 } 1095 else if (name.equals("description")) { 1096 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.description"); 1097 } 1098 else if (name.equals("content")) { 1099 this.content = new Reference(); 1100 return this.content; 1101 } 1102 else if (name.equals("version")) { 1103 return addVersion(); 1104 } 1105 else if (name.equals("containedInstance")) { 1106 return addContainedInstance(); 1107 } 1108 else 1109 return super.addChild(name); 1110 } 1111 1112 public ExampleScenarioInstanceComponent copy() { 1113 ExampleScenarioInstanceComponent dst = new ExampleScenarioInstanceComponent(); 1114 copyValues(dst); 1115 return dst; 1116 } 1117 1118 public void copyValues(ExampleScenarioInstanceComponent dst) { 1119 super.copyValues(dst); 1120 dst.key = key == null ? null : key.copy(); 1121 dst.structureType = structureType == null ? null : structureType.copy(); 1122 dst.structureVersion = structureVersion == null ? null : structureVersion.copy(); 1123 dst.structureProfile = structureProfile == null ? null : structureProfile.copy(); 1124 dst.title = title == null ? null : title.copy(); 1125 dst.description = description == null ? null : description.copy(); 1126 dst.content = content == null ? null : content.copy(); 1127 if (version != null) { 1128 dst.version = new ArrayList<ExampleScenarioInstanceVersionComponent>(); 1129 for (ExampleScenarioInstanceVersionComponent i : version) 1130 dst.version.add(i.copy()); 1131 }; 1132 if (containedInstance != null) { 1133 dst.containedInstance = new ArrayList<ExampleScenarioInstanceContainedInstanceComponent>(); 1134 for (ExampleScenarioInstanceContainedInstanceComponent i : containedInstance) 1135 dst.containedInstance.add(i.copy()); 1136 }; 1137 } 1138 1139 @Override 1140 public boolean equalsDeep(Base other_) { 1141 if (!super.equalsDeep(other_)) 1142 return false; 1143 if (!(other_ instanceof ExampleScenarioInstanceComponent)) 1144 return false; 1145 ExampleScenarioInstanceComponent o = (ExampleScenarioInstanceComponent) other_; 1146 return compareDeep(key, o.key, true) && compareDeep(structureType, o.structureType, true) && compareDeep(structureVersion, o.structureVersion, true) 1147 && compareDeep(structureProfile, o.structureProfile, true) && compareDeep(title, o.title, true) 1148 && compareDeep(description, o.description, true) && compareDeep(content, o.content, true) && compareDeep(version, o.version, true) 1149 && compareDeep(containedInstance, o.containedInstance, true); 1150 } 1151 1152 @Override 1153 public boolean equalsShallow(Base other_) { 1154 if (!super.equalsShallow(other_)) 1155 return false; 1156 if (!(other_ instanceof ExampleScenarioInstanceComponent)) 1157 return false; 1158 ExampleScenarioInstanceComponent o = (ExampleScenarioInstanceComponent) other_; 1159 return compareValues(key, o.key, true) && compareValues(structureVersion, o.structureVersion, true) 1160 && compareValues(title, o.title, true) && compareValues(description, o.description, true); 1161 } 1162 1163 public boolean isEmpty() { 1164 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, structureType, structureVersion 1165 , structureProfile, title, description, content, version, containedInstance); 1166 } 1167 1168 public String fhirType() { 1169 return "ExampleScenario.instance"; 1170 1171 } 1172 1173 } 1174 1175 @Block() 1176 public static class ExampleScenarioInstanceVersionComponent extends BackboneElement implements IBaseBackboneElement { 1177 /** 1178 * A unique string within the instance that is used to reference the version of the instance. 1179 */ 1180 @Child(name = "key", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1181 @Description(shortDefinition="ID or acronym of the version", formalDefinition="A unique string within the instance that is used to reference the version of the instance." ) 1182 protected StringType key; 1183 1184 /** 1185 * An explanation of what this specific version of the instance contains and represents. 1186 */ 1187 @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1188 @Description(shortDefinition="Details about version", formalDefinition="An explanation of what this specific version of the instance contains and represents." ) 1189 protected MarkdownType description; 1190 1191 /** 1192 * Points to an instance (typically an example) that shows the data that would flow at this point in the scenario. 1193 */ 1194 @Child(name = "content", type = {Reference.class}, order=3, min=0, max=1, modifier=false, summary=false) 1195 @Description(shortDefinition="Example instance version data", formalDefinition="Points to an instance (typically an example) that shows the data that would flow at this point in the scenario." ) 1196 protected Reference content; 1197 1198 private static final long serialVersionUID = 1799372843L; 1199 1200 /** 1201 * Constructor 1202 */ 1203 public ExampleScenarioInstanceVersionComponent() { 1204 super(); 1205 } 1206 1207 /** 1208 * Constructor 1209 */ 1210 public ExampleScenarioInstanceVersionComponent(String key) { 1211 super(); 1212 this.setKey(key); 1213 } 1214 1215 /** 1216 * @return {@link #key} (A unique string within the instance that is used to reference the version of the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value 1217 */ 1218 public StringType getKeyElement() { 1219 if (this.key == null) 1220 if (Configuration.errorOnAutoCreate()) 1221 throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.key"); 1222 else if (Configuration.doAutoCreate()) 1223 this.key = new StringType(); // bb 1224 return this.key; 1225 } 1226 1227 public boolean hasKeyElement() { 1228 return this.key != null && !this.key.isEmpty(); 1229 } 1230 1231 public boolean hasKey() { 1232 return this.key != null && !this.key.isEmpty(); 1233 } 1234 1235 /** 1236 * @param value {@link #key} (A unique string within the instance that is used to reference the version of the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value 1237 */ 1238 public ExampleScenarioInstanceVersionComponent setKeyElement(StringType value) { 1239 this.key = value; 1240 return this; 1241 } 1242 1243 /** 1244 * @return A unique string within the instance that is used to reference the version of the instance. 1245 */ 1246 public String getKey() { 1247 return this.key == null ? null : this.key.getValue(); 1248 } 1249 1250 /** 1251 * @param value A unique string within the instance that is used to reference the version of the instance. 1252 */ 1253 public ExampleScenarioInstanceVersionComponent setKey(String value) { 1254 if (this.key == null) 1255 this.key = new StringType(); 1256 this.key.setValue(value); 1257 return this; 1258 } 1259 1260 /** 1261 * @return {@link #description} (An explanation of what this specific version of the instance contains and represents.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1262 */ 1263 public MarkdownType getDescriptionElement() { 1264 if (this.description == null) 1265 if (Configuration.errorOnAutoCreate()) 1266 throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.description"); 1267 else if (Configuration.doAutoCreate()) 1268 this.description = new MarkdownType(); // bb 1269 return this.description; 1270 } 1271 1272 public boolean hasDescriptionElement() { 1273 return this.description != null && !this.description.isEmpty(); 1274 } 1275 1276 public boolean hasDescription() { 1277 return this.description != null && !this.description.isEmpty(); 1278 } 1279 1280 /** 1281 * @param value {@link #description} (An explanation of what this specific version of the instance contains and represents.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1282 */ 1283 public ExampleScenarioInstanceVersionComponent setDescriptionElement(MarkdownType value) { 1284 this.description = value; 1285 return this; 1286 } 1287 1288 /** 1289 * @return An explanation of what this specific version of the instance contains and represents. 1290 */ 1291 public String getDescription() { 1292 return this.description == null ? null : this.description.getValue(); 1293 } 1294 1295 /** 1296 * @param value An explanation of what this specific version of the instance contains and represents. 1297 */ 1298 public ExampleScenarioInstanceVersionComponent setDescription(String value) { 1299 if (value == null) 1300 this.description = null; 1301 else { 1302 if (this.description == null) 1303 this.description = new MarkdownType(); 1304 this.description.setValue(value); 1305 } 1306 return this; 1307 } 1308 1309 /** 1310 * @return {@link #content} (Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.) 1311 */ 1312 public Reference getContent() { 1313 if (this.content == null) 1314 if (Configuration.errorOnAutoCreate()) 1315 throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.content"); 1316 else if (Configuration.doAutoCreate()) 1317 this.content = new Reference(); // cc 1318 return this.content; 1319 } 1320 1321 public boolean hasContent() { 1322 return this.content != null && !this.content.isEmpty(); 1323 } 1324 1325 /** 1326 * @param value {@link #content} (Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.) 1327 */ 1328 public ExampleScenarioInstanceVersionComponent setContent(Reference value) { 1329 this.content = value; 1330 return this; 1331 } 1332 1333 protected void listChildren(List<Property> children) { 1334 super.listChildren(children); 1335 children.add(new Property("key", "string", "A unique string within the instance that is used to reference the version of the instance.", 0, 1, key)); 1336 children.add(new Property("description", "markdown", "An explanation of what this specific version of the instance contains and represents.", 0, 1, description)); 1337 children.add(new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.", 0, 1, content)); 1338 } 1339 1340 @Override 1341 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1342 switch (_hash) { 1343 case 106079: /*key*/ return new Property("key", "string", "A unique string within the instance that is used to reference the version of the instance.", 0, 1, key); 1344 case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what this specific version of the instance contains and represents.", 0, 1, description); 1345 case 951530617: /*content*/ return new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.", 0, 1, content); 1346 default: return super.getNamedProperty(_hash, _name, _checkValid); 1347 } 1348 1349 } 1350 1351 @Override 1352 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1353 switch (hash) { 1354 case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // StringType 1355 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1356 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // Reference 1357 default: return super.getProperty(hash, name, checkValid); 1358 } 1359 1360 } 1361 1362 @Override 1363 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1364 switch (hash) { 1365 case 106079: // key 1366 this.key = TypeConvertor.castToString(value); // StringType 1367 return value; 1368 case -1724546052: // description 1369 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1370 return value; 1371 case 951530617: // content 1372 this.content = TypeConvertor.castToReference(value); // Reference 1373 return value; 1374 default: return super.setProperty(hash, name, value); 1375 } 1376 1377 } 1378 1379 @Override 1380 public Base setProperty(String name, Base value) throws FHIRException { 1381 if (name.equals("key")) { 1382 this.key = TypeConvertor.castToString(value); // StringType 1383 } else if (name.equals("description")) { 1384 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1385 } else if (name.equals("content")) { 1386 this.content = TypeConvertor.castToReference(value); // Reference 1387 } else 1388 return super.setProperty(name, value); 1389 return value; 1390 } 1391 1392 @Override 1393 public Base makeProperty(int hash, String name) throws FHIRException { 1394 switch (hash) { 1395 case 106079: return getKeyElement(); 1396 case -1724546052: return getDescriptionElement(); 1397 case 951530617: return getContent(); 1398 default: return super.makeProperty(hash, name); 1399 } 1400 1401 } 1402 1403 @Override 1404 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1405 switch (hash) { 1406 case 106079: /*key*/ return new String[] {"string"}; 1407 case -1724546052: /*description*/ return new String[] {"markdown"}; 1408 case 951530617: /*content*/ return new String[] {"Reference"}; 1409 default: return super.getTypesForProperty(hash, name); 1410 } 1411 1412 } 1413 1414 @Override 1415 public Base addChild(String name) throws FHIRException { 1416 if (name.equals("key")) { 1417 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.version.key"); 1418 } 1419 else if (name.equals("description")) { 1420 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.version.description"); 1421 } 1422 else if (name.equals("content")) { 1423 this.content = new Reference(); 1424 return this.content; 1425 } 1426 else 1427 return super.addChild(name); 1428 } 1429 1430 public ExampleScenarioInstanceVersionComponent copy() { 1431 ExampleScenarioInstanceVersionComponent dst = new ExampleScenarioInstanceVersionComponent(); 1432 copyValues(dst); 1433 return dst; 1434 } 1435 1436 public void copyValues(ExampleScenarioInstanceVersionComponent dst) { 1437 super.copyValues(dst); 1438 dst.key = key == null ? null : key.copy(); 1439 dst.description = description == null ? null : description.copy(); 1440 dst.content = content == null ? null : content.copy(); 1441 } 1442 1443 @Override 1444 public boolean equalsDeep(Base other_) { 1445 if (!super.equalsDeep(other_)) 1446 return false; 1447 if (!(other_ instanceof ExampleScenarioInstanceVersionComponent)) 1448 return false; 1449 ExampleScenarioInstanceVersionComponent o = (ExampleScenarioInstanceVersionComponent) other_; 1450 return compareDeep(key, o.key, true) && compareDeep(description, o.description, true) && compareDeep(content, o.content, true) 1451 ; 1452 } 1453 1454 @Override 1455 public boolean equalsShallow(Base other_) { 1456 if (!super.equalsShallow(other_)) 1457 return false; 1458 if (!(other_ instanceof ExampleScenarioInstanceVersionComponent)) 1459 return false; 1460 ExampleScenarioInstanceVersionComponent o = (ExampleScenarioInstanceVersionComponent) other_; 1461 return compareValues(key, o.key, true) && compareValues(description, o.description, true); 1462 } 1463 1464 public boolean isEmpty() { 1465 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, description, content 1466 ); 1467 } 1468 1469 public String fhirType() { 1470 return "ExampleScenario.instance.version"; 1471 1472 } 1473 1474 } 1475 1476 @Block() 1477 public static class ExampleScenarioInstanceContainedInstanceComponent extends BackboneElement implements IBaseBackboneElement { 1478 /** 1479 * A reference to the key of an instance found within this one. 1480 */ 1481 @Child(name = "instanceReference", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1482 @Description(shortDefinition="Key of contained instance", formalDefinition="A reference to the key of an instance found within this one." ) 1483 protected StringType instanceReference; 1484 1485 /** 1486 * A reference to the key of a specific version of an instance in this instance. 1487 */ 1488 @Child(name = "versionReference", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1489 @Description(shortDefinition="Key of contained instance version", formalDefinition="A reference to the key of a specific version of an instance in this instance." ) 1490 protected StringType versionReference; 1491 1492 private static final long serialVersionUID = 520704935L; 1493 1494 /** 1495 * Constructor 1496 */ 1497 public ExampleScenarioInstanceContainedInstanceComponent() { 1498 super(); 1499 } 1500 1501 /** 1502 * Constructor 1503 */ 1504 public ExampleScenarioInstanceContainedInstanceComponent(String instanceReference) { 1505 super(); 1506 this.setInstanceReference(instanceReference); 1507 } 1508 1509 /** 1510 * @return {@link #instanceReference} (A reference to the key of an instance found within this one.). This is the underlying object with id, value and extensions. The accessor "getInstanceReference" gives direct access to the value 1511 */ 1512 public StringType getInstanceReferenceElement() { 1513 if (this.instanceReference == null) 1514 if (Configuration.errorOnAutoCreate()) 1515 throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.instanceReference"); 1516 else if (Configuration.doAutoCreate()) 1517 this.instanceReference = new StringType(); // bb 1518 return this.instanceReference; 1519 } 1520 1521 public boolean hasInstanceReferenceElement() { 1522 return this.instanceReference != null && !this.instanceReference.isEmpty(); 1523 } 1524 1525 public boolean hasInstanceReference() { 1526 return this.instanceReference != null && !this.instanceReference.isEmpty(); 1527 } 1528 1529 /** 1530 * @param value {@link #instanceReference} (A reference to the key of an instance found within this one.). This is the underlying object with id, value and extensions. The accessor "getInstanceReference" gives direct access to the value 1531 */ 1532 public ExampleScenarioInstanceContainedInstanceComponent setInstanceReferenceElement(StringType value) { 1533 this.instanceReference = value; 1534 return this; 1535 } 1536 1537 /** 1538 * @return A reference to the key of an instance found within this one. 1539 */ 1540 public String getInstanceReference() { 1541 return this.instanceReference == null ? null : this.instanceReference.getValue(); 1542 } 1543 1544 /** 1545 * @param value A reference to the key of an instance found within this one. 1546 */ 1547 public ExampleScenarioInstanceContainedInstanceComponent setInstanceReference(String value) { 1548 if (this.instanceReference == null) 1549 this.instanceReference = new StringType(); 1550 this.instanceReference.setValue(value); 1551 return this; 1552 } 1553 1554 /** 1555 * @return {@link #versionReference} (A reference to the key of a specific version of an instance in this instance.). This is the underlying object with id, value and extensions. The accessor "getVersionReference" gives direct access to the value 1556 */ 1557 public StringType getVersionReferenceElement() { 1558 if (this.versionReference == null) 1559 if (Configuration.errorOnAutoCreate()) 1560 throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.versionReference"); 1561 else if (Configuration.doAutoCreate()) 1562 this.versionReference = new StringType(); // bb 1563 return this.versionReference; 1564 } 1565 1566 public boolean hasVersionReferenceElement() { 1567 return this.versionReference != null && !this.versionReference.isEmpty(); 1568 } 1569 1570 public boolean hasVersionReference() { 1571 return this.versionReference != null && !this.versionReference.isEmpty(); 1572 } 1573 1574 /** 1575 * @param value {@link #versionReference} (A reference to the key of a specific version of an instance in this instance.). This is the underlying object with id, value and extensions. The accessor "getVersionReference" gives direct access to the value 1576 */ 1577 public ExampleScenarioInstanceContainedInstanceComponent setVersionReferenceElement(StringType value) { 1578 this.versionReference = value; 1579 return this; 1580 } 1581 1582 /** 1583 * @return A reference to the key of a specific version of an instance in this instance. 1584 */ 1585 public String getVersionReference() { 1586 return this.versionReference == null ? null : this.versionReference.getValue(); 1587 } 1588 1589 /** 1590 * @param value A reference to the key of a specific version of an instance in this instance. 1591 */ 1592 public ExampleScenarioInstanceContainedInstanceComponent setVersionReference(String value) { 1593 if (Utilities.noString(value)) 1594 this.versionReference = null; 1595 else { 1596 if (this.versionReference == null) 1597 this.versionReference = new StringType(); 1598 this.versionReference.setValue(value); 1599 } 1600 return this; 1601 } 1602 1603 protected void listChildren(List<Property> children) { 1604 super.listChildren(children); 1605 children.add(new Property("instanceReference", "string", "A reference to the key of an instance found within this one.", 0, 1, instanceReference)); 1606 children.add(new Property("versionReference", "string", "A reference to the key of a specific version of an instance in this instance.", 0, 1, versionReference)); 1607 } 1608 1609 @Override 1610 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1611 switch (_hash) { 1612 case -1675877834: /*instanceReference*/ return new Property("instanceReference", "string", "A reference to the key of an instance found within this one.", 0, 1, instanceReference); 1613 case 357512531: /*versionReference*/ return new Property("versionReference", "string", "A reference to the key of a specific version of an instance in this instance.", 0, 1, versionReference); 1614 default: return super.getNamedProperty(_hash, _name, _checkValid); 1615 } 1616 1617 } 1618 1619 @Override 1620 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1621 switch (hash) { 1622 case -1675877834: /*instanceReference*/ return this.instanceReference == null ? new Base[0] : new Base[] {this.instanceReference}; // StringType 1623 case 357512531: /*versionReference*/ return this.versionReference == null ? new Base[0] : new Base[] {this.versionReference}; // StringType 1624 default: return super.getProperty(hash, name, checkValid); 1625 } 1626 1627 } 1628 1629 @Override 1630 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1631 switch (hash) { 1632 case -1675877834: // instanceReference 1633 this.instanceReference = TypeConvertor.castToString(value); // StringType 1634 return value; 1635 case 357512531: // versionReference 1636 this.versionReference = TypeConvertor.castToString(value); // StringType 1637 return value; 1638 default: return super.setProperty(hash, name, value); 1639 } 1640 1641 } 1642 1643 @Override 1644 public Base setProperty(String name, Base value) throws FHIRException { 1645 if (name.equals("instanceReference")) { 1646 this.instanceReference = TypeConvertor.castToString(value); // StringType 1647 } else if (name.equals("versionReference")) { 1648 this.versionReference = TypeConvertor.castToString(value); // StringType 1649 } else 1650 return super.setProperty(name, value); 1651 return value; 1652 } 1653 1654 @Override 1655 public Base makeProperty(int hash, String name) throws FHIRException { 1656 switch (hash) { 1657 case -1675877834: return getInstanceReferenceElement(); 1658 case 357512531: return getVersionReferenceElement(); 1659 default: return super.makeProperty(hash, name); 1660 } 1661 1662 } 1663 1664 @Override 1665 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1666 switch (hash) { 1667 case -1675877834: /*instanceReference*/ return new String[] {"string"}; 1668 case 357512531: /*versionReference*/ return new String[] {"string"}; 1669 default: return super.getTypesForProperty(hash, name); 1670 } 1671 1672 } 1673 1674 @Override 1675 public Base addChild(String name) throws FHIRException { 1676 if (name.equals("instanceReference")) { 1677 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.containedInstance.instanceReference"); 1678 } 1679 else if (name.equals("versionReference")) { 1680 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.containedInstance.versionReference"); 1681 } 1682 else 1683 return super.addChild(name); 1684 } 1685 1686 public ExampleScenarioInstanceContainedInstanceComponent copy() { 1687 ExampleScenarioInstanceContainedInstanceComponent dst = new ExampleScenarioInstanceContainedInstanceComponent(); 1688 copyValues(dst); 1689 return dst; 1690 } 1691 1692 public void copyValues(ExampleScenarioInstanceContainedInstanceComponent dst) { 1693 super.copyValues(dst); 1694 dst.instanceReference = instanceReference == null ? null : instanceReference.copy(); 1695 dst.versionReference = versionReference == null ? null : versionReference.copy(); 1696 } 1697 1698 @Override 1699 public boolean equalsDeep(Base other_) { 1700 if (!super.equalsDeep(other_)) 1701 return false; 1702 if (!(other_ instanceof ExampleScenarioInstanceContainedInstanceComponent)) 1703 return false; 1704 ExampleScenarioInstanceContainedInstanceComponent o = (ExampleScenarioInstanceContainedInstanceComponent) other_; 1705 return compareDeep(instanceReference, o.instanceReference, true) && compareDeep(versionReference, o.versionReference, true) 1706 ; 1707 } 1708 1709 @Override 1710 public boolean equalsShallow(Base other_) { 1711 if (!super.equalsShallow(other_)) 1712 return false; 1713 if (!(other_ instanceof ExampleScenarioInstanceContainedInstanceComponent)) 1714 return false; 1715 ExampleScenarioInstanceContainedInstanceComponent o = (ExampleScenarioInstanceContainedInstanceComponent) other_; 1716 return compareValues(instanceReference, o.instanceReference, true) && compareValues(versionReference, o.versionReference, true) 1717 ; 1718 } 1719 1720 public boolean isEmpty() { 1721 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(instanceReference, versionReference 1722 ); 1723 } 1724 1725 public String fhirType() { 1726 return "ExampleScenario.instance.containedInstance"; 1727 1728 } 1729 1730 } 1731 1732 @Block() 1733 public static class ExampleScenarioProcessComponent extends BackboneElement implements IBaseBackboneElement { 1734 /** 1735 * A short descriptive label the process to be used in tables or diagrams. 1736 */ 1737 @Child(name = "title", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) 1738 @Description(shortDefinition="Label for procss", formalDefinition="A short descriptive label the process to be used in tables or diagrams." ) 1739 protected StringType title; 1740 1741 /** 1742 * An explanation of what the process represents and what it does. 1743 */ 1744 @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1745 @Description(shortDefinition="Human-friendly description of the process", formalDefinition="An explanation of what the process represents and what it does." ) 1746 protected MarkdownType description; 1747 1748 /** 1749 * Description of the initial state of the actors, environment and data before the process starts. 1750 */ 1751 @Child(name = "preConditions", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1752 @Description(shortDefinition="Status before process starts", formalDefinition="Description of the initial state of the actors, environment and data before the process starts." ) 1753 protected MarkdownType preConditions; 1754 1755 /** 1756 * Description of the final state of the actors, environment and data after the process has been successfully completed. 1757 */ 1758 @Child(name = "postConditions", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1759 @Description(shortDefinition="Status after successful completion", formalDefinition="Description of the final state of the actors, environment and data after the process has been successfully completed." ) 1760 protected MarkdownType postConditions; 1761 1762 /** 1763 * A significant action that occurs as part of the process. 1764 */ 1765 @Child(name = "step", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1766 @Description(shortDefinition="Event within of the process", formalDefinition="A significant action that occurs as part of the process." ) 1767 protected List<ExampleScenarioProcessStepComponent> step; 1768 1769 private static final long serialVersionUID = 325578043L; 1770 1771 /** 1772 * Constructor 1773 */ 1774 public ExampleScenarioProcessComponent() { 1775 super(); 1776 } 1777 1778 /** 1779 * Constructor 1780 */ 1781 public ExampleScenarioProcessComponent(String title) { 1782 super(); 1783 this.setTitle(title); 1784 } 1785 1786 /** 1787 * @return {@link #title} (A short descriptive label the process to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1788 */ 1789 public StringType getTitleElement() { 1790 if (this.title == null) 1791 if (Configuration.errorOnAutoCreate()) 1792 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.title"); 1793 else if (Configuration.doAutoCreate()) 1794 this.title = new StringType(); // bb 1795 return this.title; 1796 } 1797 1798 public boolean hasTitleElement() { 1799 return this.title != null && !this.title.isEmpty(); 1800 } 1801 1802 public boolean hasTitle() { 1803 return this.title != null && !this.title.isEmpty(); 1804 } 1805 1806 /** 1807 * @param value {@link #title} (A short descriptive label the process to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1808 */ 1809 public ExampleScenarioProcessComponent setTitleElement(StringType value) { 1810 this.title = value; 1811 return this; 1812 } 1813 1814 /** 1815 * @return A short descriptive label the process to be used in tables or diagrams. 1816 */ 1817 public String getTitle() { 1818 return this.title == null ? null : this.title.getValue(); 1819 } 1820 1821 /** 1822 * @param value A short descriptive label the process to be used in tables or diagrams. 1823 */ 1824 public ExampleScenarioProcessComponent setTitle(String value) { 1825 if (this.title == null) 1826 this.title = new StringType(); 1827 this.title.setValue(value); 1828 return this; 1829 } 1830 1831 /** 1832 * @return {@link #description} (An explanation of what the process represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1833 */ 1834 public MarkdownType getDescriptionElement() { 1835 if (this.description == null) 1836 if (Configuration.errorOnAutoCreate()) 1837 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.description"); 1838 else if (Configuration.doAutoCreate()) 1839 this.description = new MarkdownType(); // bb 1840 return this.description; 1841 } 1842 1843 public boolean hasDescriptionElement() { 1844 return this.description != null && !this.description.isEmpty(); 1845 } 1846 1847 public boolean hasDescription() { 1848 return this.description != null && !this.description.isEmpty(); 1849 } 1850 1851 /** 1852 * @param value {@link #description} (An explanation of what the process represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1853 */ 1854 public ExampleScenarioProcessComponent setDescriptionElement(MarkdownType value) { 1855 this.description = value; 1856 return this; 1857 } 1858 1859 /** 1860 * @return An explanation of what the process represents and what it does. 1861 */ 1862 public String getDescription() { 1863 return this.description == null ? null : this.description.getValue(); 1864 } 1865 1866 /** 1867 * @param value An explanation of what the process represents and what it does. 1868 */ 1869 public ExampleScenarioProcessComponent setDescription(String value) { 1870 if (value == null) 1871 this.description = null; 1872 else { 1873 if (this.description == null) 1874 this.description = new MarkdownType(); 1875 this.description.setValue(value); 1876 } 1877 return this; 1878 } 1879 1880 /** 1881 * @return {@link #preConditions} (Description of the initial state of the actors, environment and data before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value 1882 */ 1883 public MarkdownType getPreConditionsElement() { 1884 if (this.preConditions == null) 1885 if (Configuration.errorOnAutoCreate()) 1886 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.preConditions"); 1887 else if (Configuration.doAutoCreate()) 1888 this.preConditions = new MarkdownType(); // bb 1889 return this.preConditions; 1890 } 1891 1892 public boolean hasPreConditionsElement() { 1893 return this.preConditions != null && !this.preConditions.isEmpty(); 1894 } 1895 1896 public boolean hasPreConditions() { 1897 return this.preConditions != null && !this.preConditions.isEmpty(); 1898 } 1899 1900 /** 1901 * @param value {@link #preConditions} (Description of the initial state of the actors, environment and data before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value 1902 */ 1903 public ExampleScenarioProcessComponent setPreConditionsElement(MarkdownType value) { 1904 this.preConditions = value; 1905 return this; 1906 } 1907 1908 /** 1909 * @return Description of the initial state of the actors, environment and data before the process starts. 1910 */ 1911 public String getPreConditions() { 1912 return this.preConditions == null ? null : this.preConditions.getValue(); 1913 } 1914 1915 /** 1916 * @param value Description of the initial state of the actors, environment and data before the process starts. 1917 */ 1918 public ExampleScenarioProcessComponent setPreConditions(String value) { 1919 if (value == null) 1920 this.preConditions = null; 1921 else { 1922 if (this.preConditions == null) 1923 this.preConditions = new MarkdownType(); 1924 this.preConditions.setValue(value); 1925 } 1926 return this; 1927 } 1928 1929 /** 1930 * @return {@link #postConditions} (Description of the final state of the actors, environment and data after the process has been successfully completed.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value 1931 */ 1932 public MarkdownType getPostConditionsElement() { 1933 if (this.postConditions == null) 1934 if (Configuration.errorOnAutoCreate()) 1935 throw new Error("Attempt to auto-create ExampleScenarioProcessComponent.postConditions"); 1936 else if (Configuration.doAutoCreate()) 1937 this.postConditions = new MarkdownType(); // bb 1938 return this.postConditions; 1939 } 1940 1941 public boolean hasPostConditionsElement() { 1942 return this.postConditions != null && !this.postConditions.isEmpty(); 1943 } 1944 1945 public boolean hasPostConditions() { 1946 return this.postConditions != null && !this.postConditions.isEmpty(); 1947 } 1948 1949 /** 1950 * @param value {@link #postConditions} (Description of the final state of the actors, environment and data after the process has been successfully completed.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value 1951 */ 1952 public ExampleScenarioProcessComponent setPostConditionsElement(MarkdownType value) { 1953 this.postConditions = value; 1954 return this; 1955 } 1956 1957 /** 1958 * @return Description of the final state of the actors, environment and data after the process has been successfully completed. 1959 */ 1960 public String getPostConditions() { 1961 return this.postConditions == null ? null : this.postConditions.getValue(); 1962 } 1963 1964 /** 1965 * @param value Description of the final state of the actors, environment and data after the process has been successfully completed. 1966 */ 1967 public ExampleScenarioProcessComponent setPostConditions(String value) { 1968 if (value == null) 1969 this.postConditions = null; 1970 else { 1971 if (this.postConditions == null) 1972 this.postConditions = new MarkdownType(); 1973 this.postConditions.setValue(value); 1974 } 1975 return this; 1976 } 1977 1978 /** 1979 * @return {@link #step} (A significant action that occurs as part of the process.) 1980 */ 1981 public List<ExampleScenarioProcessStepComponent> getStep() { 1982 if (this.step == null) 1983 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 1984 return this.step; 1985 } 1986 1987 /** 1988 * @return Returns a reference to <code>this</code> for easy method chaining 1989 */ 1990 public ExampleScenarioProcessComponent setStep(List<ExampleScenarioProcessStepComponent> theStep) { 1991 this.step = theStep; 1992 return this; 1993 } 1994 1995 public boolean hasStep() { 1996 if (this.step == null) 1997 return false; 1998 for (ExampleScenarioProcessStepComponent item : this.step) 1999 if (!item.isEmpty()) 2000 return true; 2001 return false; 2002 } 2003 2004 public ExampleScenarioProcessStepComponent addStep() { //3 2005 ExampleScenarioProcessStepComponent t = new ExampleScenarioProcessStepComponent(); 2006 if (this.step == null) 2007 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 2008 this.step.add(t); 2009 return t; 2010 } 2011 2012 public ExampleScenarioProcessComponent addStep(ExampleScenarioProcessStepComponent t) { //3 2013 if (t == null) 2014 return this; 2015 if (this.step == null) 2016 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 2017 this.step.add(t); 2018 return this; 2019 } 2020 2021 /** 2022 * @return The first repetition of repeating field {@link #step}, creating it if it does not already exist {3} 2023 */ 2024 public ExampleScenarioProcessStepComponent getStepFirstRep() { 2025 if (getStep().isEmpty()) { 2026 addStep(); 2027 } 2028 return getStep().get(0); 2029 } 2030 2031 protected void listChildren(List<Property> children) { 2032 super.listChildren(children); 2033 children.add(new Property("title", "string", "A short descriptive label the process to be used in tables or diagrams.", 0, 1, title)); 2034 children.add(new Property("description", "markdown", "An explanation of what the process represents and what it does.", 0, 1, description)); 2035 children.add(new Property("preConditions", "markdown", "Description of the initial state of the actors, environment and data before the process starts.", 0, 1, preConditions)); 2036 children.add(new Property("postConditions", "markdown", "Description of the final state of the actors, environment and data after the process has been successfully completed.", 0, 1, postConditions)); 2037 children.add(new Property("step", "", "A significant action that occurs as part of the process.", 0, java.lang.Integer.MAX_VALUE, step)); 2038 } 2039 2040 @Override 2041 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2042 switch (_hash) { 2043 case 110371416: /*title*/ return new Property("title", "string", "A short descriptive label the process to be used in tables or diagrams.", 0, 1, title); 2044 case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what the process represents and what it does.", 0, 1, description); 2045 case -1006692933: /*preConditions*/ return new Property("preConditions", "markdown", "Description of the initial state of the actors, environment and data before the process starts.", 0, 1, preConditions); 2046 case 1738302328: /*postConditions*/ return new Property("postConditions", "markdown", "Description of the final state of the actors, environment and data after the process has been successfully completed.", 0, 1, postConditions); 2047 case 3540684: /*step*/ return new Property("step", "", "A significant action that occurs as part of the process.", 0, java.lang.Integer.MAX_VALUE, step); 2048 default: return super.getNamedProperty(_hash, _name, _checkValid); 2049 } 2050 2051 } 2052 2053 @Override 2054 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2055 switch (hash) { 2056 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 2057 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 2058 case -1006692933: /*preConditions*/ return this.preConditions == null ? new Base[0] : new Base[] {this.preConditions}; // MarkdownType 2059 case 1738302328: /*postConditions*/ return this.postConditions == null ? new Base[0] : new Base[] {this.postConditions}; // MarkdownType 2060 case 3540684: /*step*/ return this.step == null ? new Base[0] : this.step.toArray(new Base[this.step.size()]); // ExampleScenarioProcessStepComponent 2061 default: return super.getProperty(hash, name, checkValid); 2062 } 2063 2064 } 2065 2066 @Override 2067 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2068 switch (hash) { 2069 case 110371416: // title 2070 this.title = TypeConvertor.castToString(value); // StringType 2071 return value; 2072 case -1724546052: // description 2073 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 2074 return value; 2075 case -1006692933: // preConditions 2076 this.preConditions = TypeConvertor.castToMarkdown(value); // MarkdownType 2077 return value; 2078 case 1738302328: // postConditions 2079 this.postConditions = TypeConvertor.castToMarkdown(value); // MarkdownType 2080 return value; 2081 case 3540684: // step 2082 this.getStep().add((ExampleScenarioProcessStepComponent) value); // ExampleScenarioProcessStepComponent 2083 return value; 2084 default: return super.setProperty(hash, name, value); 2085 } 2086 2087 } 2088 2089 @Override 2090 public Base setProperty(String name, Base value) throws FHIRException { 2091 if (name.equals("title")) { 2092 this.title = TypeConvertor.castToString(value); // StringType 2093 } else if (name.equals("description")) { 2094 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 2095 } else if (name.equals("preConditions")) { 2096 this.preConditions = TypeConvertor.castToMarkdown(value); // MarkdownType 2097 } else if (name.equals("postConditions")) { 2098 this.postConditions = TypeConvertor.castToMarkdown(value); // MarkdownType 2099 } else if (name.equals("step")) { 2100 this.getStep().add((ExampleScenarioProcessStepComponent) value); 2101 } else 2102 return super.setProperty(name, value); 2103 return value; 2104 } 2105 2106 @Override 2107 public Base makeProperty(int hash, String name) throws FHIRException { 2108 switch (hash) { 2109 case 110371416: return getTitleElement(); 2110 case -1724546052: return getDescriptionElement(); 2111 case -1006692933: return getPreConditionsElement(); 2112 case 1738302328: return getPostConditionsElement(); 2113 case 3540684: return addStep(); 2114 default: return super.makeProperty(hash, name); 2115 } 2116 2117 } 2118 2119 @Override 2120 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2121 switch (hash) { 2122 case 110371416: /*title*/ return new String[] {"string"}; 2123 case -1724546052: /*description*/ return new String[] {"markdown"}; 2124 case -1006692933: /*preConditions*/ return new String[] {"markdown"}; 2125 case 1738302328: /*postConditions*/ return new String[] {"markdown"}; 2126 case 3540684: /*step*/ return new String[] {}; 2127 default: return super.getTypesForProperty(hash, name); 2128 } 2129 2130 } 2131 2132 @Override 2133 public Base addChild(String name) throws FHIRException { 2134 if (name.equals("title")) { 2135 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.title"); 2136 } 2137 else if (name.equals("description")) { 2138 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.description"); 2139 } 2140 else if (name.equals("preConditions")) { 2141 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.preConditions"); 2142 } 2143 else if (name.equals("postConditions")) { 2144 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.postConditions"); 2145 } 2146 else if (name.equals("step")) { 2147 return addStep(); 2148 } 2149 else 2150 return super.addChild(name); 2151 } 2152 2153 public ExampleScenarioProcessComponent copy() { 2154 ExampleScenarioProcessComponent dst = new ExampleScenarioProcessComponent(); 2155 copyValues(dst); 2156 return dst; 2157 } 2158 2159 public void copyValues(ExampleScenarioProcessComponent dst) { 2160 super.copyValues(dst); 2161 dst.title = title == null ? null : title.copy(); 2162 dst.description = description == null ? null : description.copy(); 2163 dst.preConditions = preConditions == null ? null : preConditions.copy(); 2164 dst.postConditions = postConditions == null ? null : postConditions.copy(); 2165 if (step != null) { 2166 dst.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 2167 for (ExampleScenarioProcessStepComponent i : step) 2168 dst.step.add(i.copy()); 2169 }; 2170 } 2171 2172 @Override 2173 public boolean equalsDeep(Base other_) { 2174 if (!super.equalsDeep(other_)) 2175 return false; 2176 if (!(other_ instanceof ExampleScenarioProcessComponent)) 2177 return false; 2178 ExampleScenarioProcessComponent o = (ExampleScenarioProcessComponent) other_; 2179 return compareDeep(title, o.title, true) && compareDeep(description, o.description, true) && compareDeep(preConditions, o.preConditions, true) 2180 && compareDeep(postConditions, o.postConditions, true) && compareDeep(step, o.step, true); 2181 } 2182 2183 @Override 2184 public boolean equalsShallow(Base other_) { 2185 if (!super.equalsShallow(other_)) 2186 return false; 2187 if (!(other_ instanceof ExampleScenarioProcessComponent)) 2188 return false; 2189 ExampleScenarioProcessComponent o = (ExampleScenarioProcessComponent) other_; 2190 return compareValues(title, o.title, true) && compareValues(description, o.description, true) && compareValues(preConditions, o.preConditions, true) 2191 && compareValues(postConditions, o.postConditions, true); 2192 } 2193 2194 public boolean isEmpty() { 2195 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, description, preConditions 2196 , postConditions, step); 2197 } 2198 2199 public String fhirType() { 2200 return "ExampleScenario.process"; 2201 2202 } 2203 2204 } 2205 2206 @Block() 2207 public static class ExampleScenarioProcessStepComponent extends BackboneElement implements IBaseBackboneElement { 2208 /** 2209 * The sequential number of the step, e.g. 1.2.5. 2210 */ 2211 @Child(name = "number", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2212 @Description(shortDefinition="Sequential number of the step", formalDefinition="The sequential number of the step, e.g. 1.2.5." ) 2213 protected StringType number; 2214 2215 /** 2216 * Indicates that the step is a complex sub-process with its own steps. 2217 */ 2218 @Child(name = "process", type = {ExampleScenarioProcessComponent.class}, order=2, min=0, max=1, modifier=false, summary=false) 2219 @Description(shortDefinition="Step is nested process", formalDefinition="Indicates that the step is a complex sub-process with its own steps." ) 2220 protected ExampleScenarioProcessComponent process; 2221 2222 /** 2223 * Indicates that the step is defined by a seaparate scenario instance. 2224 */ 2225 @Child(name = "workflow", type = {CanonicalType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2226 @Description(shortDefinition="Step is nested workflow", formalDefinition="Indicates that the step is defined by a seaparate scenario instance." ) 2227 protected CanonicalType workflow; 2228 2229 /** 2230 * The step represents a single operation invoked on receiver by sender. 2231 */ 2232 @Child(name = "operation", type = {}, order=4, min=0, max=1, modifier=false, summary=false) 2233 @Description(shortDefinition="Step is simple action", formalDefinition="The step represents a single operation invoked on receiver by sender." ) 2234 protected ExampleScenarioProcessStepOperationComponent operation; 2235 2236 /** 2237 * Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances. 2238 */ 2239 @Child(name = "alternative", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2240 @Description(shortDefinition="Alternate non-typical step action", formalDefinition="Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances." ) 2241 protected List<ExampleScenarioProcessStepAlternativeComponent> alternative; 2242 2243 /** 2244 * If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event). 2245 */ 2246 @Child(name = "pause", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=false) 2247 @Description(shortDefinition="Pause in the flow?", formalDefinition="If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event)." ) 2248 protected BooleanType pause; 2249 2250 private static final long serialVersionUID = 674607242L; 2251 2252 /** 2253 * Constructor 2254 */ 2255 public ExampleScenarioProcessStepComponent() { 2256 super(); 2257 } 2258 2259 /** 2260 * @return {@link #number} (The sequential number of the step, e.g. 1.2.5.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 2261 */ 2262 public StringType getNumberElement() { 2263 if (this.number == null) 2264 if (Configuration.errorOnAutoCreate()) 2265 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.number"); 2266 else if (Configuration.doAutoCreate()) 2267 this.number = new StringType(); // bb 2268 return this.number; 2269 } 2270 2271 public boolean hasNumberElement() { 2272 return this.number != null && !this.number.isEmpty(); 2273 } 2274 2275 public boolean hasNumber() { 2276 return this.number != null && !this.number.isEmpty(); 2277 } 2278 2279 /** 2280 * @param value {@link #number} (The sequential number of the step, e.g. 1.2.5.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 2281 */ 2282 public ExampleScenarioProcessStepComponent setNumberElement(StringType value) { 2283 this.number = value; 2284 return this; 2285 } 2286 2287 /** 2288 * @return The sequential number of the step, e.g. 1.2.5. 2289 */ 2290 public String getNumber() { 2291 return this.number == null ? null : this.number.getValue(); 2292 } 2293 2294 /** 2295 * @param value The sequential number of the step, e.g. 1.2.5. 2296 */ 2297 public ExampleScenarioProcessStepComponent setNumber(String value) { 2298 if (Utilities.noString(value)) 2299 this.number = null; 2300 else { 2301 if (this.number == null) 2302 this.number = new StringType(); 2303 this.number.setValue(value); 2304 } 2305 return this; 2306 } 2307 2308 /** 2309 * @return {@link #process} (Indicates that the step is a complex sub-process with its own steps.) 2310 */ 2311 public ExampleScenarioProcessComponent getProcess() { 2312 if (this.process == null) 2313 if (Configuration.errorOnAutoCreate()) 2314 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.process"); 2315 else if (Configuration.doAutoCreate()) 2316 this.process = new ExampleScenarioProcessComponent(); // cc 2317 return this.process; 2318 } 2319 2320 public boolean hasProcess() { 2321 return this.process != null && !this.process.isEmpty(); 2322 } 2323 2324 /** 2325 * @param value {@link #process} (Indicates that the step is a complex sub-process with its own steps.) 2326 */ 2327 public ExampleScenarioProcessStepComponent setProcess(ExampleScenarioProcessComponent value) { 2328 this.process = value; 2329 return this; 2330 } 2331 2332 /** 2333 * @return {@link #workflow} (Indicates that the step is defined by a seaparate scenario instance.). This is the underlying object with id, value and extensions. The accessor "getWorkflow" gives direct access to the value 2334 */ 2335 public CanonicalType getWorkflowElement() { 2336 if (this.workflow == null) 2337 if (Configuration.errorOnAutoCreate()) 2338 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.workflow"); 2339 else if (Configuration.doAutoCreate()) 2340 this.workflow = new CanonicalType(); // bb 2341 return this.workflow; 2342 } 2343 2344 public boolean hasWorkflowElement() { 2345 return this.workflow != null && !this.workflow.isEmpty(); 2346 } 2347 2348 public boolean hasWorkflow() { 2349 return this.workflow != null && !this.workflow.isEmpty(); 2350 } 2351 2352 /** 2353 * @param value {@link #workflow} (Indicates that the step is defined by a seaparate scenario instance.). This is the underlying object with id, value and extensions. The accessor "getWorkflow" gives direct access to the value 2354 */ 2355 public ExampleScenarioProcessStepComponent setWorkflowElement(CanonicalType value) { 2356 this.workflow = value; 2357 return this; 2358 } 2359 2360 /** 2361 * @return Indicates that the step is defined by a seaparate scenario instance. 2362 */ 2363 public String getWorkflow() { 2364 return this.workflow == null ? null : this.workflow.getValue(); 2365 } 2366 2367 /** 2368 * @param value Indicates that the step is defined by a seaparate scenario instance. 2369 */ 2370 public ExampleScenarioProcessStepComponent setWorkflow(String value) { 2371 if (Utilities.noString(value)) 2372 this.workflow = null; 2373 else { 2374 if (this.workflow == null) 2375 this.workflow = new CanonicalType(); 2376 this.workflow.setValue(value); 2377 } 2378 return this; 2379 } 2380 2381 /** 2382 * @return {@link #operation} (The step represents a single operation invoked on receiver by sender.) 2383 */ 2384 public ExampleScenarioProcessStepOperationComponent getOperation() { 2385 if (this.operation == null) 2386 if (Configuration.errorOnAutoCreate()) 2387 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.operation"); 2388 else if (Configuration.doAutoCreate()) 2389 this.operation = new ExampleScenarioProcessStepOperationComponent(); // cc 2390 return this.operation; 2391 } 2392 2393 public boolean hasOperation() { 2394 return this.operation != null && !this.operation.isEmpty(); 2395 } 2396 2397 /** 2398 * @param value {@link #operation} (The step represents a single operation invoked on receiver by sender.) 2399 */ 2400 public ExampleScenarioProcessStepComponent setOperation(ExampleScenarioProcessStepOperationComponent value) { 2401 this.operation = value; 2402 return this; 2403 } 2404 2405 /** 2406 * @return {@link #alternative} (Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances.) 2407 */ 2408 public List<ExampleScenarioProcessStepAlternativeComponent> getAlternative() { 2409 if (this.alternative == null) 2410 this.alternative = new ArrayList<ExampleScenarioProcessStepAlternativeComponent>(); 2411 return this.alternative; 2412 } 2413 2414 /** 2415 * @return Returns a reference to <code>this</code> for easy method chaining 2416 */ 2417 public ExampleScenarioProcessStepComponent setAlternative(List<ExampleScenarioProcessStepAlternativeComponent> theAlternative) { 2418 this.alternative = theAlternative; 2419 return this; 2420 } 2421 2422 public boolean hasAlternative() { 2423 if (this.alternative == null) 2424 return false; 2425 for (ExampleScenarioProcessStepAlternativeComponent item : this.alternative) 2426 if (!item.isEmpty()) 2427 return true; 2428 return false; 2429 } 2430 2431 public ExampleScenarioProcessStepAlternativeComponent addAlternative() { //3 2432 ExampleScenarioProcessStepAlternativeComponent t = new ExampleScenarioProcessStepAlternativeComponent(); 2433 if (this.alternative == null) 2434 this.alternative = new ArrayList<ExampleScenarioProcessStepAlternativeComponent>(); 2435 this.alternative.add(t); 2436 return t; 2437 } 2438 2439 public ExampleScenarioProcessStepComponent addAlternative(ExampleScenarioProcessStepAlternativeComponent t) { //3 2440 if (t == null) 2441 return this; 2442 if (this.alternative == null) 2443 this.alternative = new ArrayList<ExampleScenarioProcessStepAlternativeComponent>(); 2444 this.alternative.add(t); 2445 return this; 2446 } 2447 2448 /** 2449 * @return The first repetition of repeating field {@link #alternative}, creating it if it does not already exist {3} 2450 */ 2451 public ExampleScenarioProcessStepAlternativeComponent getAlternativeFirstRep() { 2452 if (getAlternative().isEmpty()) { 2453 addAlternative(); 2454 } 2455 return getAlternative().get(0); 2456 } 2457 2458 /** 2459 * @return {@link #pause} (If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value 2460 */ 2461 public BooleanType getPauseElement() { 2462 if (this.pause == null) 2463 if (Configuration.errorOnAutoCreate()) 2464 throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.pause"); 2465 else if (Configuration.doAutoCreate()) 2466 this.pause = new BooleanType(); // bb 2467 return this.pause; 2468 } 2469 2470 public boolean hasPauseElement() { 2471 return this.pause != null && !this.pause.isEmpty(); 2472 } 2473 2474 public boolean hasPause() { 2475 return this.pause != null && !this.pause.isEmpty(); 2476 } 2477 2478 /** 2479 * @param value {@link #pause} (If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value 2480 */ 2481 public ExampleScenarioProcessStepComponent setPauseElement(BooleanType value) { 2482 this.pause = value; 2483 return this; 2484 } 2485 2486 /** 2487 * @return If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event). 2488 */ 2489 public boolean getPause() { 2490 return this.pause == null || this.pause.isEmpty() ? false : this.pause.getValue(); 2491 } 2492 2493 /** 2494 * @param value If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event). 2495 */ 2496 public ExampleScenarioProcessStepComponent setPause(boolean value) { 2497 if (this.pause == null) 2498 this.pause = new BooleanType(); 2499 this.pause.setValue(value); 2500 return this; 2501 } 2502 2503 protected void listChildren(List<Property> children) { 2504 super.listChildren(children); 2505 children.add(new Property("number", "string", "The sequential number of the step, e.g. 1.2.5.", 0, 1, number)); 2506 children.add(new Property("process", "@ExampleScenario.process", "Indicates that the step is a complex sub-process with its own steps.", 0, 1, process)); 2507 children.add(new Property("workflow", "canonical(ExampleScenario)", "Indicates that the step is defined by a seaparate scenario instance.", 0, 1, workflow)); 2508 children.add(new Property("operation", "", "The step represents a single operation invoked on receiver by sender.", 0, 1, operation)); 2509 children.add(new Property("alternative", "", "Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances.", 0, java.lang.Integer.MAX_VALUE, alternative)); 2510 children.add(new Property("pause", "boolean", "If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).", 0, 1, pause)); 2511 } 2512 2513 @Override 2514 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2515 switch (_hash) { 2516 case -1034364087: /*number*/ return new Property("number", "string", "The sequential number of the step, e.g. 1.2.5.", 0, 1, number); 2517 case -309518737: /*process*/ return new Property("process", "@ExampleScenario.process", "Indicates that the step is a complex sub-process with its own steps.", 0, 1, process); 2518 case 35379135: /*workflow*/ return new Property("workflow", "canonical(ExampleScenario)", "Indicates that the step is defined by a seaparate scenario instance.", 0, 1, workflow); 2519 case 1662702951: /*operation*/ return new Property("operation", "", "The step represents a single operation invoked on receiver by sender.", 0, 1, operation); 2520 case -196794451: /*alternative*/ return new Property("alternative", "", "Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances.", 0, java.lang.Integer.MAX_VALUE, alternative); 2521 case 106440182: /*pause*/ return new Property("pause", "boolean", "If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).", 0, 1, pause); 2522 default: return super.getNamedProperty(_hash, _name, _checkValid); 2523 } 2524 2525 } 2526 2527 @Override 2528 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2529 switch (hash) { 2530 case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // StringType 2531 case -309518737: /*process*/ return this.process == null ? new Base[0] : new Base[] {this.process}; // ExampleScenarioProcessComponent 2532 case 35379135: /*workflow*/ return this.workflow == null ? new Base[0] : new Base[] {this.workflow}; // CanonicalType 2533 case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : new Base[] {this.operation}; // ExampleScenarioProcessStepOperationComponent 2534 case -196794451: /*alternative*/ return this.alternative == null ? new Base[0] : this.alternative.toArray(new Base[this.alternative.size()]); // ExampleScenarioProcessStepAlternativeComponent 2535 case 106440182: /*pause*/ return this.pause == null ? new Base[0] : new Base[] {this.pause}; // BooleanType 2536 default: return super.getProperty(hash, name, checkValid); 2537 } 2538 2539 } 2540 2541 @Override 2542 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2543 switch (hash) { 2544 case -1034364087: // number 2545 this.number = TypeConvertor.castToString(value); // StringType 2546 return value; 2547 case -309518737: // process 2548 this.process = (ExampleScenarioProcessComponent) value; // ExampleScenarioProcessComponent 2549 return value; 2550 case 35379135: // workflow 2551 this.workflow = TypeConvertor.castToCanonical(value); // CanonicalType 2552 return value; 2553 case 1662702951: // operation 2554 this.operation = (ExampleScenarioProcessStepOperationComponent) value; // ExampleScenarioProcessStepOperationComponent 2555 return value; 2556 case -196794451: // alternative 2557 this.getAlternative().add((ExampleScenarioProcessStepAlternativeComponent) value); // ExampleScenarioProcessStepAlternativeComponent 2558 return value; 2559 case 106440182: // pause 2560 this.pause = TypeConvertor.castToBoolean(value); // BooleanType 2561 return value; 2562 default: return super.setProperty(hash, name, value); 2563 } 2564 2565 } 2566 2567 @Override 2568 public Base setProperty(String name, Base value) throws FHIRException { 2569 if (name.equals("number")) { 2570 this.number = TypeConvertor.castToString(value); // StringType 2571 } else if (name.equals("process")) { 2572 this.process = (ExampleScenarioProcessComponent) value; // ExampleScenarioProcessComponent 2573 } else if (name.equals("workflow")) { 2574 this.workflow = TypeConvertor.castToCanonical(value); // CanonicalType 2575 } else if (name.equals("operation")) { 2576 this.operation = (ExampleScenarioProcessStepOperationComponent) value; // ExampleScenarioProcessStepOperationComponent 2577 } else if (name.equals("alternative")) { 2578 this.getAlternative().add((ExampleScenarioProcessStepAlternativeComponent) value); 2579 } else if (name.equals("pause")) { 2580 this.pause = TypeConvertor.castToBoolean(value); // BooleanType 2581 } else 2582 return super.setProperty(name, value); 2583 return value; 2584 } 2585 2586 @Override 2587 public Base makeProperty(int hash, String name) throws FHIRException { 2588 switch (hash) { 2589 case -1034364087: return getNumberElement(); 2590 case -309518737: return getProcess(); 2591 case 35379135: return getWorkflowElement(); 2592 case 1662702951: return getOperation(); 2593 case -196794451: return addAlternative(); 2594 case 106440182: return getPauseElement(); 2595 default: return super.makeProperty(hash, name); 2596 } 2597 2598 } 2599 2600 @Override 2601 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2602 switch (hash) { 2603 case -1034364087: /*number*/ return new String[] {"string"}; 2604 case -309518737: /*process*/ return new String[] {"@ExampleScenario.process"}; 2605 case 35379135: /*workflow*/ return new String[] {"canonical"}; 2606 case 1662702951: /*operation*/ return new String[] {}; 2607 case -196794451: /*alternative*/ return new String[] {}; 2608 case 106440182: /*pause*/ return new String[] {"boolean"}; 2609 default: return super.getTypesForProperty(hash, name); 2610 } 2611 2612 } 2613 2614 @Override 2615 public Base addChild(String name) throws FHIRException { 2616 if (name.equals("number")) { 2617 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.number"); 2618 } 2619 else if (name.equals("process")) { 2620 this.process = new ExampleScenarioProcessComponent(); 2621 return this.process; 2622 } 2623 else if (name.equals("workflow")) { 2624 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.workflow"); 2625 } 2626 else if (name.equals("operation")) { 2627 this.operation = new ExampleScenarioProcessStepOperationComponent(); 2628 return this.operation; 2629 } 2630 else if (name.equals("alternative")) { 2631 return addAlternative(); 2632 } 2633 else if (name.equals("pause")) { 2634 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.pause"); 2635 } 2636 else 2637 return super.addChild(name); 2638 } 2639 2640 public ExampleScenarioProcessStepComponent copy() { 2641 ExampleScenarioProcessStepComponent dst = new ExampleScenarioProcessStepComponent(); 2642 copyValues(dst); 2643 return dst; 2644 } 2645 2646 public void copyValues(ExampleScenarioProcessStepComponent dst) { 2647 super.copyValues(dst); 2648 dst.number = number == null ? null : number.copy(); 2649 dst.process = process == null ? null : process.copy(); 2650 dst.workflow = workflow == null ? null : workflow.copy(); 2651 dst.operation = operation == null ? null : operation.copy(); 2652 if (alternative != null) { 2653 dst.alternative = new ArrayList<ExampleScenarioProcessStepAlternativeComponent>(); 2654 for (ExampleScenarioProcessStepAlternativeComponent i : alternative) 2655 dst.alternative.add(i.copy()); 2656 }; 2657 dst.pause = pause == null ? null : pause.copy(); 2658 } 2659 2660 @Override 2661 public boolean equalsDeep(Base other_) { 2662 if (!super.equalsDeep(other_)) 2663 return false; 2664 if (!(other_ instanceof ExampleScenarioProcessStepComponent)) 2665 return false; 2666 ExampleScenarioProcessStepComponent o = (ExampleScenarioProcessStepComponent) other_; 2667 return compareDeep(number, o.number, true) && compareDeep(process, o.process, true) && compareDeep(workflow, o.workflow, true) 2668 && compareDeep(operation, o.operation, true) && compareDeep(alternative, o.alternative, true) && compareDeep(pause, o.pause, true) 2669 ; 2670 } 2671 2672 @Override 2673 public boolean equalsShallow(Base other_) { 2674 if (!super.equalsShallow(other_)) 2675 return false; 2676 if (!(other_ instanceof ExampleScenarioProcessStepComponent)) 2677 return false; 2678 ExampleScenarioProcessStepComponent o = (ExampleScenarioProcessStepComponent) other_; 2679 return compareValues(number, o.number, true) && compareValues(workflow, o.workflow, true) && compareValues(pause, o.pause, true) 2680 ; 2681 } 2682 2683 public boolean isEmpty() { 2684 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(number, process, workflow 2685 , operation, alternative, pause); 2686 } 2687 2688 public String fhirType() { 2689 return "ExampleScenario.process.step"; 2690 2691 } 2692 2693 } 2694 2695 @Block() 2696 public static class ExampleScenarioProcessStepOperationComponent extends BackboneElement implements IBaseBackboneElement { 2697 /** 2698 * The standardized type of action (FHIR or otherwise). 2699 */ 2700 @Child(name = "type", type = {Coding.class}, order=1, min=0, max=1, modifier=false, summary=false) 2701 @Description(shortDefinition="Kind of action", formalDefinition="The standardized type of action (FHIR or otherwise)." ) 2702 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-operation-codes") 2703 protected Coding type; 2704 2705 /** 2706 * A short descriptive label the step to be used in tables or diagrams. 2707 */ 2708 @Child(name = "title", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false) 2709 @Description(shortDefinition="Label for step", formalDefinition="A short descriptive label the step to be used in tables or diagrams." ) 2710 protected StringType title; 2711 2712 /** 2713 * The system that invokes the action/transmits the data. 2714 */ 2715 @Child(name = "initiator", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 2716 @Description(shortDefinition="Who starts the operation", formalDefinition="The system that invokes the action/transmits the data." ) 2717 protected StringType initiator; 2718 2719 /** 2720 * The system on which the action is invoked/receives the data. 2721 */ 2722 @Child(name = "receiver", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2723 @Description(shortDefinition="Who receives the operation", formalDefinition="The system on which the action is invoked/receives the data." ) 2724 protected StringType receiver; 2725 2726 /** 2727 * An explanation of what the operation represents and what it does. 2728 */ 2729 @Child(name = "description", type = {MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=false) 2730 @Description(shortDefinition="Human-friendly description of the operation", formalDefinition="An explanation of what the operation represents and what it does." ) 2731 protected MarkdownType description; 2732 2733 /** 2734 * If false, the initiator is deactivated right after the operation. 2735 */ 2736 @Child(name = "initiatorActive", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=false) 2737 @Description(shortDefinition="Initiator stays active?", formalDefinition="If false, the initiator is deactivated right after the operation." ) 2738 protected BooleanType initiatorActive; 2739 2740 /** 2741 * If false, the receiver is deactivated right after the operation. 2742 */ 2743 @Child(name = "receiverActive", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false) 2744 @Description(shortDefinition="Receiver stays active?", formalDefinition="If false, the receiver is deactivated right after the operation." ) 2745 protected BooleanType receiverActive; 2746 2747 /** 2748 * A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation. 2749 */ 2750 @Child(name = "request", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=8, min=0, max=1, modifier=false, summary=false) 2751 @Description(shortDefinition="Instance transmitted on invocation", formalDefinition="A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation." ) 2752 protected ExampleScenarioInstanceContainedInstanceComponent request; 2753 2754 /** 2755 * A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any). 2756 */ 2757 @Child(name = "response", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=9, min=0, max=1, modifier=false, summary=false) 2758 @Description(shortDefinition="Instance transmitted on invocation response", formalDefinition="A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any)." ) 2759 protected ExampleScenarioInstanceContainedInstanceComponent response; 2760 2761 private static final long serialVersionUID = -252586646L; 2762 2763 /** 2764 * Constructor 2765 */ 2766 public ExampleScenarioProcessStepOperationComponent() { 2767 super(); 2768 } 2769 2770 /** 2771 * Constructor 2772 */ 2773 public ExampleScenarioProcessStepOperationComponent(String title) { 2774 super(); 2775 this.setTitle(title); 2776 } 2777 2778 /** 2779 * @return {@link #type} (The standardized type of action (FHIR or otherwise).) 2780 */ 2781 public Coding getType() { 2782 if (this.type == null) 2783 if (Configuration.errorOnAutoCreate()) 2784 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.type"); 2785 else if (Configuration.doAutoCreate()) 2786 this.type = new Coding(); // cc 2787 return this.type; 2788 } 2789 2790 public boolean hasType() { 2791 return this.type != null && !this.type.isEmpty(); 2792 } 2793 2794 /** 2795 * @param value {@link #type} (The standardized type of action (FHIR or otherwise).) 2796 */ 2797 public ExampleScenarioProcessStepOperationComponent setType(Coding value) { 2798 this.type = value; 2799 return this; 2800 } 2801 2802 /** 2803 * @return {@link #title} (A short descriptive label the step to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2804 */ 2805 public StringType getTitleElement() { 2806 if (this.title == null) 2807 if (Configuration.errorOnAutoCreate()) 2808 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.title"); 2809 else if (Configuration.doAutoCreate()) 2810 this.title = new StringType(); // bb 2811 return this.title; 2812 } 2813 2814 public boolean hasTitleElement() { 2815 return this.title != null && !this.title.isEmpty(); 2816 } 2817 2818 public boolean hasTitle() { 2819 return this.title != null && !this.title.isEmpty(); 2820 } 2821 2822 /** 2823 * @param value {@link #title} (A short descriptive label the step to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2824 */ 2825 public ExampleScenarioProcessStepOperationComponent setTitleElement(StringType value) { 2826 this.title = value; 2827 return this; 2828 } 2829 2830 /** 2831 * @return A short descriptive label the step to be used in tables or diagrams. 2832 */ 2833 public String getTitle() { 2834 return this.title == null ? null : this.title.getValue(); 2835 } 2836 2837 /** 2838 * @param value A short descriptive label the step to be used in tables or diagrams. 2839 */ 2840 public ExampleScenarioProcessStepOperationComponent setTitle(String value) { 2841 if (this.title == null) 2842 this.title = new StringType(); 2843 this.title.setValue(value); 2844 return this; 2845 } 2846 2847 /** 2848 * @return {@link #initiator} (The system that invokes the action/transmits the data.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value 2849 */ 2850 public StringType getInitiatorElement() { 2851 if (this.initiator == null) 2852 if (Configuration.errorOnAutoCreate()) 2853 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.initiator"); 2854 else if (Configuration.doAutoCreate()) 2855 this.initiator = new StringType(); // bb 2856 return this.initiator; 2857 } 2858 2859 public boolean hasInitiatorElement() { 2860 return this.initiator != null && !this.initiator.isEmpty(); 2861 } 2862 2863 public boolean hasInitiator() { 2864 return this.initiator != null && !this.initiator.isEmpty(); 2865 } 2866 2867 /** 2868 * @param value {@link #initiator} (The system that invokes the action/transmits the data.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value 2869 */ 2870 public ExampleScenarioProcessStepOperationComponent setInitiatorElement(StringType value) { 2871 this.initiator = value; 2872 return this; 2873 } 2874 2875 /** 2876 * @return The system that invokes the action/transmits the data. 2877 */ 2878 public String getInitiator() { 2879 return this.initiator == null ? null : this.initiator.getValue(); 2880 } 2881 2882 /** 2883 * @param value The system that invokes the action/transmits the data. 2884 */ 2885 public ExampleScenarioProcessStepOperationComponent setInitiator(String value) { 2886 if (Utilities.noString(value)) 2887 this.initiator = null; 2888 else { 2889 if (this.initiator == null) 2890 this.initiator = new StringType(); 2891 this.initiator.setValue(value); 2892 } 2893 return this; 2894 } 2895 2896 /** 2897 * @return {@link #receiver} (The system on which the action is invoked/receives the data.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value 2898 */ 2899 public StringType getReceiverElement() { 2900 if (this.receiver == null) 2901 if (Configuration.errorOnAutoCreate()) 2902 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.receiver"); 2903 else if (Configuration.doAutoCreate()) 2904 this.receiver = new StringType(); // bb 2905 return this.receiver; 2906 } 2907 2908 public boolean hasReceiverElement() { 2909 return this.receiver != null && !this.receiver.isEmpty(); 2910 } 2911 2912 public boolean hasReceiver() { 2913 return this.receiver != null && !this.receiver.isEmpty(); 2914 } 2915 2916 /** 2917 * @param value {@link #receiver} (The system on which the action is invoked/receives the data.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value 2918 */ 2919 public ExampleScenarioProcessStepOperationComponent setReceiverElement(StringType value) { 2920 this.receiver = value; 2921 return this; 2922 } 2923 2924 /** 2925 * @return The system on which the action is invoked/receives the data. 2926 */ 2927 public String getReceiver() { 2928 return this.receiver == null ? null : this.receiver.getValue(); 2929 } 2930 2931 /** 2932 * @param value The system on which the action is invoked/receives the data. 2933 */ 2934 public ExampleScenarioProcessStepOperationComponent setReceiver(String value) { 2935 if (Utilities.noString(value)) 2936 this.receiver = null; 2937 else { 2938 if (this.receiver == null) 2939 this.receiver = new StringType(); 2940 this.receiver.setValue(value); 2941 } 2942 return this; 2943 } 2944 2945 /** 2946 * @return {@link #description} (An explanation of what the operation represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2947 */ 2948 public MarkdownType getDescriptionElement() { 2949 if (this.description == null) 2950 if (Configuration.errorOnAutoCreate()) 2951 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.description"); 2952 else if (Configuration.doAutoCreate()) 2953 this.description = new MarkdownType(); // bb 2954 return this.description; 2955 } 2956 2957 public boolean hasDescriptionElement() { 2958 return this.description != null && !this.description.isEmpty(); 2959 } 2960 2961 public boolean hasDescription() { 2962 return this.description != null && !this.description.isEmpty(); 2963 } 2964 2965 /** 2966 * @param value {@link #description} (An explanation of what the operation represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2967 */ 2968 public ExampleScenarioProcessStepOperationComponent setDescriptionElement(MarkdownType value) { 2969 this.description = value; 2970 return this; 2971 } 2972 2973 /** 2974 * @return An explanation of what the operation represents and what it does. 2975 */ 2976 public String getDescription() { 2977 return this.description == null ? null : this.description.getValue(); 2978 } 2979 2980 /** 2981 * @param value An explanation of what the operation represents and what it does. 2982 */ 2983 public ExampleScenarioProcessStepOperationComponent setDescription(String value) { 2984 if (value == null) 2985 this.description = null; 2986 else { 2987 if (this.description == null) 2988 this.description = new MarkdownType(); 2989 this.description.setValue(value); 2990 } 2991 return this; 2992 } 2993 2994 /** 2995 * @return {@link #initiatorActive} (If false, the initiator is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value 2996 */ 2997 public BooleanType getInitiatorActiveElement() { 2998 if (this.initiatorActive == null) 2999 if (Configuration.errorOnAutoCreate()) 3000 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.initiatorActive"); 3001 else if (Configuration.doAutoCreate()) 3002 this.initiatorActive = new BooleanType(); // bb 3003 return this.initiatorActive; 3004 } 3005 3006 public boolean hasInitiatorActiveElement() { 3007 return this.initiatorActive != null && !this.initiatorActive.isEmpty(); 3008 } 3009 3010 public boolean hasInitiatorActive() { 3011 return this.initiatorActive != null && !this.initiatorActive.isEmpty(); 3012 } 3013 3014 /** 3015 * @param value {@link #initiatorActive} (If false, the initiator is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value 3016 */ 3017 public ExampleScenarioProcessStepOperationComponent setInitiatorActiveElement(BooleanType value) { 3018 this.initiatorActive = value; 3019 return this; 3020 } 3021 3022 /** 3023 * @return If false, the initiator is deactivated right after the operation. 3024 */ 3025 public boolean getInitiatorActive() { 3026 return this.initiatorActive == null || this.initiatorActive.isEmpty() ? false : this.initiatorActive.getValue(); 3027 } 3028 3029 /** 3030 * @param value If false, the initiator is deactivated right after the operation. 3031 */ 3032 public ExampleScenarioProcessStepOperationComponent setInitiatorActive(boolean value) { 3033 if (this.initiatorActive == null) 3034 this.initiatorActive = new BooleanType(); 3035 this.initiatorActive.setValue(value); 3036 return this; 3037 } 3038 3039 /** 3040 * @return {@link #receiverActive} (If false, the receiver is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value 3041 */ 3042 public BooleanType getReceiverActiveElement() { 3043 if (this.receiverActive == null) 3044 if (Configuration.errorOnAutoCreate()) 3045 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.receiverActive"); 3046 else if (Configuration.doAutoCreate()) 3047 this.receiverActive = new BooleanType(); // bb 3048 return this.receiverActive; 3049 } 3050 3051 public boolean hasReceiverActiveElement() { 3052 return this.receiverActive != null && !this.receiverActive.isEmpty(); 3053 } 3054 3055 public boolean hasReceiverActive() { 3056 return this.receiverActive != null && !this.receiverActive.isEmpty(); 3057 } 3058 3059 /** 3060 * @param value {@link #receiverActive} (If false, the receiver is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value 3061 */ 3062 public ExampleScenarioProcessStepOperationComponent setReceiverActiveElement(BooleanType value) { 3063 this.receiverActive = value; 3064 return this; 3065 } 3066 3067 /** 3068 * @return If false, the receiver is deactivated right after the operation. 3069 */ 3070 public boolean getReceiverActive() { 3071 return this.receiverActive == null || this.receiverActive.isEmpty() ? false : this.receiverActive.getValue(); 3072 } 3073 3074 /** 3075 * @param value If false, the receiver is deactivated right after the operation. 3076 */ 3077 public ExampleScenarioProcessStepOperationComponent setReceiverActive(boolean value) { 3078 if (this.receiverActive == null) 3079 this.receiverActive = new BooleanType(); 3080 this.receiverActive.setValue(value); 3081 return this; 3082 } 3083 3084 /** 3085 * @return {@link #request} (A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.) 3086 */ 3087 public ExampleScenarioInstanceContainedInstanceComponent getRequest() { 3088 if (this.request == null) 3089 if (Configuration.errorOnAutoCreate()) 3090 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.request"); 3091 else if (Configuration.doAutoCreate()) 3092 this.request = new ExampleScenarioInstanceContainedInstanceComponent(); // cc 3093 return this.request; 3094 } 3095 3096 public boolean hasRequest() { 3097 return this.request != null && !this.request.isEmpty(); 3098 } 3099 3100 /** 3101 * @param value {@link #request} (A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.) 3102 */ 3103 public ExampleScenarioProcessStepOperationComponent setRequest(ExampleScenarioInstanceContainedInstanceComponent value) { 3104 this.request = value; 3105 return this; 3106 } 3107 3108 /** 3109 * @return {@link #response} (A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).) 3110 */ 3111 public ExampleScenarioInstanceContainedInstanceComponent getResponse() { 3112 if (this.response == null) 3113 if (Configuration.errorOnAutoCreate()) 3114 throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.response"); 3115 else if (Configuration.doAutoCreate()) 3116 this.response = new ExampleScenarioInstanceContainedInstanceComponent(); // cc 3117 return this.response; 3118 } 3119 3120 public boolean hasResponse() { 3121 return this.response != null && !this.response.isEmpty(); 3122 } 3123 3124 /** 3125 * @param value {@link #response} (A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).) 3126 */ 3127 public ExampleScenarioProcessStepOperationComponent setResponse(ExampleScenarioInstanceContainedInstanceComponent value) { 3128 this.response = value; 3129 return this; 3130 } 3131 3132 protected void listChildren(List<Property> children) { 3133 super.listChildren(children); 3134 children.add(new Property("type", "Coding", "The standardized type of action (FHIR or otherwise).", 0, 1, type)); 3135 children.add(new Property("title", "string", "A short descriptive label the step to be used in tables or diagrams.", 0, 1, title)); 3136 children.add(new Property("initiator", "string", "The system that invokes the action/transmits the data.", 0, 1, initiator)); 3137 children.add(new Property("receiver", "string", "The system on which the action is invoked/receives the data.", 0, 1, receiver)); 3138 children.add(new Property("description", "markdown", "An explanation of what the operation represents and what it does.", 0, 1, description)); 3139 children.add(new Property("initiatorActive", "boolean", "If false, the initiator is deactivated right after the operation.", 0, 1, initiatorActive)); 3140 children.add(new Property("receiverActive", "boolean", "If false, the receiver is deactivated right after the operation.", 0, 1, receiverActive)); 3141 children.add(new Property("request", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.", 0, 1, request)); 3142 children.add(new Property("response", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).", 0, 1, response)); 3143 } 3144 3145 @Override 3146 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3147 switch (_hash) { 3148 case 3575610: /*type*/ return new Property("type", "Coding", "The standardized type of action (FHIR or otherwise).", 0, 1, type); 3149 case 110371416: /*title*/ return new Property("title", "string", "A short descriptive label the step to be used in tables or diagrams.", 0, 1, title); 3150 case -248987089: /*initiator*/ return new Property("initiator", "string", "The system that invokes the action/transmits the data.", 0, 1, initiator); 3151 case -808719889: /*receiver*/ return new Property("receiver", "string", "The system on which the action is invoked/receives the data.", 0, 1, receiver); 3152 case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what the operation represents and what it does.", 0, 1, description); 3153 case 384339477: /*initiatorActive*/ return new Property("initiatorActive", "boolean", "If false, the initiator is deactivated right after the operation.", 0, 1, initiatorActive); 3154 case -285284907: /*receiverActive*/ return new Property("receiverActive", "boolean", "If false, the receiver is deactivated right after the operation.", 0, 1, receiverActive); 3155 case 1095692943: /*request*/ return new Property("request", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.", 0, 1, request); 3156 case -340323263: /*response*/ return new Property("response", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).", 0, 1, response); 3157 default: return super.getNamedProperty(_hash, _name, _checkValid); 3158 } 3159 3160 } 3161 3162 @Override 3163 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3164 switch (hash) { 3165 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Coding 3166 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3167 case -248987089: /*initiator*/ return this.initiator == null ? new Base[0] : new Base[] {this.initiator}; // StringType 3168 case -808719889: /*receiver*/ return this.receiver == null ? new Base[0] : new Base[] {this.receiver}; // StringType 3169 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3170 case 384339477: /*initiatorActive*/ return this.initiatorActive == null ? new Base[0] : new Base[] {this.initiatorActive}; // BooleanType 3171 case -285284907: /*receiverActive*/ return this.receiverActive == null ? new Base[0] : new Base[] {this.receiverActive}; // BooleanType 3172 case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // ExampleScenarioInstanceContainedInstanceComponent 3173 case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // ExampleScenarioInstanceContainedInstanceComponent 3174 default: return super.getProperty(hash, name, checkValid); 3175 } 3176 3177 } 3178 3179 @Override 3180 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3181 switch (hash) { 3182 case 3575610: // type 3183 this.type = TypeConvertor.castToCoding(value); // Coding 3184 return value; 3185 case 110371416: // title 3186 this.title = TypeConvertor.castToString(value); // StringType 3187 return value; 3188 case -248987089: // initiator 3189 this.initiator = TypeConvertor.castToString(value); // StringType 3190 return value; 3191 case -808719889: // receiver 3192 this.receiver = TypeConvertor.castToString(value); // StringType 3193 return value; 3194 case -1724546052: // description 3195 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3196 return value; 3197 case 384339477: // initiatorActive 3198 this.initiatorActive = TypeConvertor.castToBoolean(value); // BooleanType 3199 return value; 3200 case -285284907: // receiverActive 3201 this.receiverActive = TypeConvertor.castToBoolean(value); // BooleanType 3202 return value; 3203 case 1095692943: // request 3204 this.request = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 3205 return value; 3206 case -340323263: // response 3207 this.response = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 3208 return value; 3209 default: return super.setProperty(hash, name, value); 3210 } 3211 3212 } 3213 3214 @Override 3215 public Base setProperty(String name, Base value) throws FHIRException { 3216 if (name.equals("type")) { 3217 this.type = TypeConvertor.castToCoding(value); // Coding 3218 } else if (name.equals("title")) { 3219 this.title = TypeConvertor.castToString(value); // StringType 3220 } else if (name.equals("initiator")) { 3221 this.initiator = TypeConvertor.castToString(value); // StringType 3222 } else if (name.equals("receiver")) { 3223 this.receiver = TypeConvertor.castToString(value); // StringType 3224 } else if (name.equals("description")) { 3225 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3226 } else if (name.equals("initiatorActive")) { 3227 this.initiatorActive = TypeConvertor.castToBoolean(value); // BooleanType 3228 } else if (name.equals("receiverActive")) { 3229 this.receiverActive = TypeConvertor.castToBoolean(value); // BooleanType 3230 } else if (name.equals("request")) { 3231 this.request = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 3232 } else if (name.equals("response")) { 3233 this.response = (ExampleScenarioInstanceContainedInstanceComponent) value; // ExampleScenarioInstanceContainedInstanceComponent 3234 } else 3235 return super.setProperty(name, value); 3236 return value; 3237 } 3238 3239 @Override 3240 public Base makeProperty(int hash, String name) throws FHIRException { 3241 switch (hash) { 3242 case 3575610: return getType(); 3243 case 110371416: return getTitleElement(); 3244 case -248987089: return getInitiatorElement(); 3245 case -808719889: return getReceiverElement(); 3246 case -1724546052: return getDescriptionElement(); 3247 case 384339477: return getInitiatorActiveElement(); 3248 case -285284907: return getReceiverActiveElement(); 3249 case 1095692943: return getRequest(); 3250 case -340323263: return getResponse(); 3251 default: return super.makeProperty(hash, name); 3252 } 3253 3254 } 3255 3256 @Override 3257 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3258 switch (hash) { 3259 case 3575610: /*type*/ return new String[] {"Coding"}; 3260 case 110371416: /*title*/ return new String[] {"string"}; 3261 case -248987089: /*initiator*/ return new String[] {"string"}; 3262 case -808719889: /*receiver*/ return new String[] {"string"}; 3263 case -1724546052: /*description*/ return new String[] {"markdown"}; 3264 case 384339477: /*initiatorActive*/ return new String[] {"boolean"}; 3265 case -285284907: /*receiverActive*/ return new String[] {"boolean"}; 3266 case 1095692943: /*request*/ return new String[] {"@ExampleScenario.instance.containedInstance"}; 3267 case -340323263: /*response*/ return new String[] {"@ExampleScenario.instance.containedInstance"}; 3268 default: return super.getTypesForProperty(hash, name); 3269 } 3270 3271 } 3272 3273 @Override 3274 public Base addChild(String name) throws FHIRException { 3275 if (name.equals("type")) { 3276 this.type = new Coding(); 3277 return this.type; 3278 } 3279 else if (name.equals("title")) { 3280 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.title"); 3281 } 3282 else if (name.equals("initiator")) { 3283 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.initiator"); 3284 } 3285 else if (name.equals("receiver")) { 3286 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.receiver"); 3287 } 3288 else if (name.equals("description")) { 3289 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.description"); 3290 } 3291 else if (name.equals("initiatorActive")) { 3292 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.initiatorActive"); 3293 } 3294 else if (name.equals("receiverActive")) { 3295 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.receiverActive"); 3296 } 3297 else if (name.equals("request")) { 3298 this.request = new ExampleScenarioInstanceContainedInstanceComponent(); 3299 return this.request; 3300 } 3301 else if (name.equals("response")) { 3302 this.response = new ExampleScenarioInstanceContainedInstanceComponent(); 3303 return this.response; 3304 } 3305 else 3306 return super.addChild(name); 3307 } 3308 3309 public ExampleScenarioProcessStepOperationComponent copy() { 3310 ExampleScenarioProcessStepOperationComponent dst = new ExampleScenarioProcessStepOperationComponent(); 3311 copyValues(dst); 3312 return dst; 3313 } 3314 3315 public void copyValues(ExampleScenarioProcessStepOperationComponent dst) { 3316 super.copyValues(dst); 3317 dst.type = type == null ? null : type.copy(); 3318 dst.title = title == null ? null : title.copy(); 3319 dst.initiator = initiator == null ? null : initiator.copy(); 3320 dst.receiver = receiver == null ? null : receiver.copy(); 3321 dst.description = description == null ? null : description.copy(); 3322 dst.initiatorActive = initiatorActive == null ? null : initiatorActive.copy(); 3323 dst.receiverActive = receiverActive == null ? null : receiverActive.copy(); 3324 dst.request = request == null ? null : request.copy(); 3325 dst.response = response == null ? null : response.copy(); 3326 } 3327 3328 @Override 3329 public boolean equalsDeep(Base other_) { 3330 if (!super.equalsDeep(other_)) 3331 return false; 3332 if (!(other_ instanceof ExampleScenarioProcessStepOperationComponent)) 3333 return false; 3334 ExampleScenarioProcessStepOperationComponent o = (ExampleScenarioProcessStepOperationComponent) other_; 3335 return compareDeep(type, o.type, true) && compareDeep(title, o.title, true) && compareDeep(initiator, o.initiator, true) 3336 && compareDeep(receiver, o.receiver, true) && compareDeep(description, o.description, true) && compareDeep(initiatorActive, o.initiatorActive, true) 3337 && compareDeep(receiverActive, o.receiverActive, true) && compareDeep(request, o.request, true) 3338 && compareDeep(response, o.response, true); 3339 } 3340 3341 @Override 3342 public boolean equalsShallow(Base other_) { 3343 if (!super.equalsShallow(other_)) 3344 return false; 3345 if (!(other_ instanceof ExampleScenarioProcessStepOperationComponent)) 3346 return false; 3347 ExampleScenarioProcessStepOperationComponent o = (ExampleScenarioProcessStepOperationComponent) other_; 3348 return compareValues(title, o.title, true) && compareValues(initiator, o.initiator, true) && compareValues(receiver, o.receiver, true) 3349 && compareValues(description, o.description, true) && compareValues(initiatorActive, o.initiatorActive, true) 3350 && compareValues(receiverActive, o.receiverActive, true); 3351 } 3352 3353 public boolean isEmpty() { 3354 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, title, initiator, receiver 3355 , description, initiatorActive, receiverActive, request, response); 3356 } 3357 3358 public String fhirType() { 3359 return "ExampleScenario.process.step.operation"; 3360 3361 } 3362 3363 } 3364 3365 @Block() 3366 public static class ExampleScenarioProcessStepAlternativeComponent extends BackboneElement implements IBaseBackboneElement { 3367 /** 3368 * The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked. 3369 */ 3370 @Child(name = "title", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 3371 @Description(shortDefinition="Label for alternative", formalDefinition="The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked." ) 3372 protected StringType title; 3373 3374 /** 3375 * A human-readable description of the alternative explaining when the alternative should occur rather than the base step. 3376 */ 3377 @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 3378 @Description(shortDefinition="Human-readable description of option", formalDefinition="A human-readable description of the alternative explaining when the alternative should occur rather than the base step." ) 3379 protected MarkdownType description; 3380 3381 /** 3382 * Indicates the operation, sub-process or scenario that happens if the alternative option is selected. 3383 */ 3384 @Child(name = "step", type = {ExampleScenarioProcessStepComponent.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3385 @Description(shortDefinition="Alternative action(s)", formalDefinition="Indicates the operation, sub-process or scenario that happens if the alternative option is selected." ) 3386 protected List<ExampleScenarioProcessStepComponent> step; 3387 3388 private static final long serialVersionUID = -254687460L; 3389 3390 /** 3391 * Constructor 3392 */ 3393 public ExampleScenarioProcessStepAlternativeComponent() { 3394 super(); 3395 } 3396 3397 /** 3398 * Constructor 3399 */ 3400 public ExampleScenarioProcessStepAlternativeComponent(String title) { 3401 super(); 3402 this.setTitle(title); 3403 } 3404 3405 /** 3406 * @return {@link #title} (The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3407 */ 3408 public StringType getTitleElement() { 3409 if (this.title == null) 3410 if (Configuration.errorOnAutoCreate()) 3411 throw new Error("Attempt to auto-create ExampleScenarioProcessStepAlternativeComponent.title"); 3412 else if (Configuration.doAutoCreate()) 3413 this.title = new StringType(); // bb 3414 return this.title; 3415 } 3416 3417 public boolean hasTitleElement() { 3418 return this.title != null && !this.title.isEmpty(); 3419 } 3420 3421 public boolean hasTitle() { 3422 return this.title != null && !this.title.isEmpty(); 3423 } 3424 3425 /** 3426 * @param value {@link #title} (The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3427 */ 3428 public ExampleScenarioProcessStepAlternativeComponent setTitleElement(StringType value) { 3429 this.title = value; 3430 return this; 3431 } 3432 3433 /** 3434 * @return The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked. 3435 */ 3436 public String getTitle() { 3437 return this.title == null ? null : this.title.getValue(); 3438 } 3439 3440 /** 3441 * @param value The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked. 3442 */ 3443 public ExampleScenarioProcessStepAlternativeComponent setTitle(String value) { 3444 if (this.title == null) 3445 this.title = new StringType(); 3446 this.title.setValue(value); 3447 return this; 3448 } 3449 3450 /** 3451 * @return {@link #description} (A human-readable description of the alternative explaining when the alternative should occur rather than the base step.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3452 */ 3453 public MarkdownType getDescriptionElement() { 3454 if (this.description == null) 3455 if (Configuration.errorOnAutoCreate()) 3456 throw new Error("Attempt to auto-create ExampleScenarioProcessStepAlternativeComponent.description"); 3457 else if (Configuration.doAutoCreate()) 3458 this.description = new MarkdownType(); // bb 3459 return this.description; 3460 } 3461 3462 public boolean hasDescriptionElement() { 3463 return this.description != null && !this.description.isEmpty(); 3464 } 3465 3466 public boolean hasDescription() { 3467 return this.description != null && !this.description.isEmpty(); 3468 } 3469 3470 /** 3471 * @param value {@link #description} (A human-readable description of the alternative explaining when the alternative should occur rather than the base step.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3472 */ 3473 public ExampleScenarioProcessStepAlternativeComponent setDescriptionElement(MarkdownType value) { 3474 this.description = value; 3475 return this; 3476 } 3477 3478 /** 3479 * @return A human-readable description of the alternative explaining when the alternative should occur rather than the base step. 3480 */ 3481 public String getDescription() { 3482 return this.description == null ? null : this.description.getValue(); 3483 } 3484 3485 /** 3486 * @param value A human-readable description of the alternative explaining when the alternative should occur rather than the base step. 3487 */ 3488 public ExampleScenarioProcessStepAlternativeComponent setDescription(String value) { 3489 if (value == null) 3490 this.description = null; 3491 else { 3492 if (this.description == null) 3493 this.description = new MarkdownType(); 3494 this.description.setValue(value); 3495 } 3496 return this; 3497 } 3498 3499 /** 3500 * @return {@link #step} (Indicates the operation, sub-process or scenario that happens if the alternative option is selected.) 3501 */ 3502 public List<ExampleScenarioProcessStepComponent> getStep() { 3503 if (this.step == null) 3504 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 3505 return this.step; 3506 } 3507 3508 /** 3509 * @return Returns a reference to <code>this</code> for easy method chaining 3510 */ 3511 public ExampleScenarioProcessStepAlternativeComponent setStep(List<ExampleScenarioProcessStepComponent> theStep) { 3512 this.step = theStep; 3513 return this; 3514 } 3515 3516 public boolean hasStep() { 3517 if (this.step == null) 3518 return false; 3519 for (ExampleScenarioProcessStepComponent item : this.step) 3520 if (!item.isEmpty()) 3521 return true; 3522 return false; 3523 } 3524 3525 public ExampleScenarioProcessStepComponent addStep() { //3 3526 ExampleScenarioProcessStepComponent t = new ExampleScenarioProcessStepComponent(); 3527 if (this.step == null) 3528 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 3529 this.step.add(t); 3530 return t; 3531 } 3532 3533 public ExampleScenarioProcessStepAlternativeComponent addStep(ExampleScenarioProcessStepComponent t) { //3 3534 if (t == null) 3535 return this; 3536 if (this.step == null) 3537 this.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 3538 this.step.add(t); 3539 return this; 3540 } 3541 3542 /** 3543 * @return The first repetition of repeating field {@link #step}, creating it if it does not already exist {3} 3544 */ 3545 public ExampleScenarioProcessStepComponent getStepFirstRep() { 3546 if (getStep().isEmpty()) { 3547 addStep(); 3548 } 3549 return getStep().get(0); 3550 } 3551 3552 protected void listChildren(List<Property> children) { 3553 super.listChildren(children); 3554 children.add(new Property("title", "string", "The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.", 0, 1, title)); 3555 children.add(new Property("description", "markdown", "A human-readable description of the alternative explaining when the alternative should occur rather than the base step.", 0, 1, description)); 3556 children.add(new Property("step", "@ExampleScenario.process.step", "Indicates the operation, sub-process or scenario that happens if the alternative option is selected.", 0, java.lang.Integer.MAX_VALUE, step)); 3557 } 3558 3559 @Override 3560 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3561 switch (_hash) { 3562 case 110371416: /*title*/ return new Property("title", "string", "The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.", 0, 1, title); 3563 case -1724546052: /*description*/ return new Property("description", "markdown", "A human-readable description of the alternative explaining when the alternative should occur rather than the base step.", 0, 1, description); 3564 case 3540684: /*step*/ return new Property("step", "@ExampleScenario.process.step", "Indicates the operation, sub-process or scenario that happens if the alternative option is selected.", 0, java.lang.Integer.MAX_VALUE, step); 3565 default: return super.getNamedProperty(_hash, _name, _checkValid); 3566 } 3567 3568 } 3569 3570 @Override 3571 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3572 switch (hash) { 3573 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3574 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3575 case 3540684: /*step*/ return this.step == null ? new Base[0] : this.step.toArray(new Base[this.step.size()]); // ExampleScenarioProcessStepComponent 3576 default: return super.getProperty(hash, name, checkValid); 3577 } 3578 3579 } 3580 3581 @Override 3582 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3583 switch (hash) { 3584 case 110371416: // title 3585 this.title = TypeConvertor.castToString(value); // StringType 3586 return value; 3587 case -1724546052: // description 3588 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3589 return value; 3590 case 3540684: // step 3591 this.getStep().add((ExampleScenarioProcessStepComponent) value); // ExampleScenarioProcessStepComponent 3592 return value; 3593 default: return super.setProperty(hash, name, value); 3594 } 3595 3596 } 3597 3598 @Override 3599 public Base setProperty(String name, Base value) throws FHIRException { 3600 if (name.equals("title")) { 3601 this.title = TypeConvertor.castToString(value); // StringType 3602 } else if (name.equals("description")) { 3603 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3604 } else if (name.equals("step")) { 3605 this.getStep().add((ExampleScenarioProcessStepComponent) value); 3606 } else 3607 return super.setProperty(name, value); 3608 return value; 3609 } 3610 3611 @Override 3612 public Base makeProperty(int hash, String name) throws FHIRException { 3613 switch (hash) { 3614 case 110371416: return getTitleElement(); 3615 case -1724546052: return getDescriptionElement(); 3616 case 3540684: return addStep(); 3617 default: return super.makeProperty(hash, name); 3618 } 3619 3620 } 3621 3622 @Override 3623 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3624 switch (hash) { 3625 case 110371416: /*title*/ return new String[] {"string"}; 3626 case -1724546052: /*description*/ return new String[] {"markdown"}; 3627 case 3540684: /*step*/ return new String[] {"@ExampleScenario.process.step"}; 3628 default: return super.getTypesForProperty(hash, name); 3629 } 3630 3631 } 3632 3633 @Override 3634 public Base addChild(String name) throws FHIRException { 3635 if (name.equals("title")) { 3636 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.alternative.title"); 3637 } 3638 else if (name.equals("description")) { 3639 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.alternative.description"); 3640 } 3641 else if (name.equals("step")) { 3642 return addStep(); 3643 } 3644 else 3645 return super.addChild(name); 3646 } 3647 3648 public ExampleScenarioProcessStepAlternativeComponent copy() { 3649 ExampleScenarioProcessStepAlternativeComponent dst = new ExampleScenarioProcessStepAlternativeComponent(); 3650 copyValues(dst); 3651 return dst; 3652 } 3653 3654 public void copyValues(ExampleScenarioProcessStepAlternativeComponent dst) { 3655 super.copyValues(dst); 3656 dst.title = title == null ? null : title.copy(); 3657 dst.description = description == null ? null : description.copy(); 3658 if (step != null) { 3659 dst.step = new ArrayList<ExampleScenarioProcessStepComponent>(); 3660 for (ExampleScenarioProcessStepComponent i : step) 3661 dst.step.add(i.copy()); 3662 }; 3663 } 3664 3665 @Override 3666 public boolean equalsDeep(Base other_) { 3667 if (!super.equalsDeep(other_)) 3668 return false; 3669 if (!(other_ instanceof ExampleScenarioProcessStepAlternativeComponent)) 3670 return false; 3671 ExampleScenarioProcessStepAlternativeComponent o = (ExampleScenarioProcessStepAlternativeComponent) other_; 3672 return compareDeep(title, o.title, true) && compareDeep(description, o.description, true) && compareDeep(step, o.step, true) 3673 ; 3674 } 3675 3676 @Override 3677 public boolean equalsShallow(Base other_) { 3678 if (!super.equalsShallow(other_)) 3679 return false; 3680 if (!(other_ instanceof ExampleScenarioProcessStepAlternativeComponent)) 3681 return false; 3682 ExampleScenarioProcessStepAlternativeComponent o = (ExampleScenarioProcessStepAlternativeComponent) other_; 3683 return compareValues(title, o.title, true) && compareValues(description, o.description, true); 3684 } 3685 3686 public boolean isEmpty() { 3687 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, description, step 3688 ); 3689 } 3690 3691 public String fhirType() { 3692 return "ExampleScenario.process.step.alternative"; 3693 3694 } 3695 3696 } 3697 3698 /** 3699 * An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. 3700 */ 3701 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 3702 @Description(shortDefinition="Canonical identifier for this example scenario, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers." ) 3703 protected UriType url; 3704 3705 /** 3706 * A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance. 3707 */ 3708 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3709 @Description(shortDefinition="Additional identifier for the example scenario", formalDefinition="A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 3710 protected List<Identifier> identifier; 3711 3712 /** 3713 * The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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. 3714 */ 3715 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 3716 @Description(shortDefinition="Business version of the example scenario", formalDefinition="The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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." ) 3717 protected StringType version; 3718 3719 /** 3720 * Indicates the mechanism used to compare versions to determine which is more current. 3721 */ 3722 @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) 3723 @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) 3724 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") 3725 protected DataType versionAlgorithm; 3726 3727 /** 3728 * Temporarily retained for tooling purposes. 3729 */ 3730 @Child(name = "name", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 3731 @Description(shortDefinition="To be removed?", formalDefinition="Temporarily retained for tooling purposes." ) 3732 protected StringType name; 3733 3734 /** 3735 * A short, descriptive, user-friendly title for the ExampleScenario. 3736 */ 3737 @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 3738 @Description(shortDefinition="Name for this example scenario (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the ExampleScenario." ) 3739 protected StringType title; 3740 3741 /** 3742 * The status of this example scenario. Enables tracking the life-cycle of the content. 3743 */ 3744 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 3745 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this example scenario. Enables tracking the life-cycle of the content." ) 3746 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 3747 protected Enumeration<PublicationStatus> status; 3748 3749 /** 3750 * A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3751 */ 3752 @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) 3753 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 3754 protected BooleanType experimental; 3755 3756 /** 3757 * The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition'). 3758 */ 3759 @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 3760 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition')." ) 3761 protected DateTimeType date; 3762 3763 /** 3764 * The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario. 3765 */ 3766 @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 3767 @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario." ) 3768 protected StringType publisher; 3769 3770 /** 3771 * Contact details to assist a user in finding and communicating with the publisher. 3772 */ 3773 @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3774 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 3775 protected List<ContactDetail> contact; 3776 3777 /** 3778 * A free text natural language description of the ExampleScenario from a consumer's perspective. 3779 */ 3780 @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=true) 3781 @Description(shortDefinition="Natural language description of the ExampleScenario", formalDefinition="A free text natural language description of the ExampleScenario from a consumer's perspective." ) 3782 protected MarkdownType description; 3783 3784 /** 3785 * 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 example scenario instances. 3786 */ 3787 @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3788 @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 example scenario instances." ) 3789 protected List<UsageContext> useContext; 3790 3791 /** 3792 * A legal or geographic region in which the example scenario is intended to be used. 3793 */ 3794 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3795 @Description(shortDefinition="Intended jurisdiction for example scenario (if applicable)", formalDefinition="A legal or geographic region in which the example scenario is intended to be used." ) 3796 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 3797 protected List<CodeableConcept> jurisdiction; 3798 3799 /** 3800 * What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. 3801 */ 3802 @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 3803 @Description(shortDefinition="The purpose of the example, e.g. to illustrate a scenario", formalDefinition="What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario." ) 3804 protected MarkdownType purpose; 3805 3806 /** 3807 * A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. 3808 */ 3809 @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 3810 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario." ) 3811 protected MarkdownType copyright; 3812 3813 /** 3814 * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 3815 */ 3816 @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) 3817 @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) 3818 protected StringType copyrightLabel; 3819 3820 /** 3821 * A system or person who shares or receives an instance within the scenario. 3822 */ 3823 @Child(name = "actor", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3824 @Description(shortDefinition="Individual involved in exchange", formalDefinition="A system or person who shares or receives an instance within the scenario." ) 3825 protected List<ExampleScenarioActorComponent> actor; 3826 3827 /** 3828 * A single data collection that is shared as part of the scenario. 3829 */ 3830 @Child(name = "instance", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3831 @Description(shortDefinition="Data used in the scenario", formalDefinition="A single data collection that is shared as part of the scenario." ) 3832 protected List<ExampleScenarioInstanceComponent> instance; 3833 3834 /** 3835 * A group of operations that represents a significant step within a scenario. 3836 */ 3837 @Child(name = "process", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3838 @Description(shortDefinition="Major process within scenario", formalDefinition="A group of operations that represents a significant step within a scenario." ) 3839 protected List<ExampleScenarioProcessComponent> process; 3840 3841 private static final long serialVersionUID = 292494233L; 3842 3843 /** 3844 * Constructor 3845 */ 3846 public ExampleScenario() { 3847 super(); 3848 } 3849 3850 /** 3851 * Constructor 3852 */ 3853 public ExampleScenario(PublicationStatus status) { 3854 super(); 3855 this.setStatus(status); 3856 } 3857 3858 /** 3859 * @return {@link #url} (An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 3860 */ 3861 public UriType getUrlElement() { 3862 if (this.url == null) 3863 if (Configuration.errorOnAutoCreate()) 3864 throw new Error("Attempt to auto-create ExampleScenario.url"); 3865 else if (Configuration.doAutoCreate()) 3866 this.url = new UriType(); // bb 3867 return this.url; 3868 } 3869 3870 public boolean hasUrlElement() { 3871 return this.url != null && !this.url.isEmpty(); 3872 } 3873 3874 public boolean hasUrl() { 3875 return this.url != null && !this.url.isEmpty(); 3876 } 3877 3878 /** 3879 * @param value {@link #url} (An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 3880 */ 3881 public ExampleScenario setUrlElement(UriType value) { 3882 this.url = value; 3883 return this; 3884 } 3885 3886 /** 3887 * @return An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. 3888 */ 3889 public String getUrl() { 3890 return this.url == null ? null : this.url.getValue(); 3891 } 3892 3893 /** 3894 * @param value An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. 3895 */ 3896 public ExampleScenario setUrl(String value) { 3897 if (Utilities.noString(value)) 3898 this.url = null; 3899 else { 3900 if (this.url == null) 3901 this.url = new UriType(); 3902 this.url.setValue(value); 3903 } 3904 return this; 3905 } 3906 3907 /** 3908 * @return {@link #identifier} (A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.) 3909 */ 3910 public List<Identifier> getIdentifier() { 3911 if (this.identifier == null) 3912 this.identifier = new ArrayList<Identifier>(); 3913 return this.identifier; 3914 } 3915 3916 /** 3917 * @return Returns a reference to <code>this</code> for easy method chaining 3918 */ 3919 public ExampleScenario setIdentifier(List<Identifier> theIdentifier) { 3920 this.identifier = theIdentifier; 3921 return this; 3922 } 3923 3924 public boolean hasIdentifier() { 3925 if (this.identifier == null) 3926 return false; 3927 for (Identifier item : this.identifier) 3928 if (!item.isEmpty()) 3929 return true; 3930 return false; 3931 } 3932 3933 public Identifier addIdentifier() { //3 3934 Identifier t = new Identifier(); 3935 if (this.identifier == null) 3936 this.identifier = new ArrayList<Identifier>(); 3937 this.identifier.add(t); 3938 return t; 3939 } 3940 3941 public ExampleScenario addIdentifier(Identifier t) { //3 3942 if (t == null) 3943 return this; 3944 if (this.identifier == null) 3945 this.identifier = new ArrayList<Identifier>(); 3946 this.identifier.add(t); 3947 return this; 3948 } 3949 3950 /** 3951 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 3952 */ 3953 public Identifier getIdentifierFirstRep() { 3954 if (getIdentifier().isEmpty()) { 3955 addIdentifier(); 3956 } 3957 return getIdentifier().get(0); 3958 } 3959 3960 /** 3961 * @return {@link #version} (The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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 3962 */ 3963 public StringType getVersionElement() { 3964 if (this.version == null) 3965 if (Configuration.errorOnAutoCreate()) 3966 throw new Error("Attempt to auto-create ExampleScenario.version"); 3967 else if (Configuration.doAutoCreate()) 3968 this.version = new StringType(); // bb 3969 return this.version; 3970 } 3971 3972 public boolean hasVersionElement() { 3973 return this.version != null && !this.version.isEmpty(); 3974 } 3975 3976 public boolean hasVersion() { 3977 return this.version != null && !this.version.isEmpty(); 3978 } 3979 3980 /** 3981 * @param value {@link #version} (The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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 3982 */ 3983 public ExampleScenario setVersionElement(StringType value) { 3984 this.version = value; 3985 return this; 3986 } 3987 3988 /** 3989 * @return The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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. 3990 */ 3991 public String getVersion() { 3992 return this.version == null ? null : this.version.getValue(); 3993 } 3994 3995 /** 3996 * @param value The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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. 3997 */ 3998 public ExampleScenario setVersion(String value) { 3999 if (Utilities.noString(value)) 4000 this.version = null; 4001 else { 4002 if (this.version == null) 4003 this.version = new StringType(); 4004 this.version.setValue(value); 4005 } 4006 return this; 4007 } 4008 4009 /** 4010 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 4011 */ 4012 public DataType getVersionAlgorithm() { 4013 return this.versionAlgorithm; 4014 } 4015 4016 /** 4017 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 4018 */ 4019 public StringType getVersionAlgorithmStringType() throws FHIRException { 4020 if (this.versionAlgorithm == null) 4021 this.versionAlgorithm = new StringType(); 4022 if (!(this.versionAlgorithm instanceof StringType)) 4023 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); 4024 return (StringType) this.versionAlgorithm; 4025 } 4026 4027 public boolean hasVersionAlgorithmStringType() { 4028 return this != null && this.versionAlgorithm instanceof StringType; 4029 } 4030 4031 /** 4032 * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 4033 */ 4034 public Coding getVersionAlgorithmCoding() throws FHIRException { 4035 if (this.versionAlgorithm == null) 4036 this.versionAlgorithm = new Coding(); 4037 if (!(this.versionAlgorithm instanceof Coding)) 4038 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); 4039 return (Coding) this.versionAlgorithm; 4040 } 4041 4042 public boolean hasVersionAlgorithmCoding() { 4043 return this != null && this.versionAlgorithm instanceof Coding; 4044 } 4045 4046 public boolean hasVersionAlgorithm() { 4047 return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); 4048 } 4049 4050 /** 4051 * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) 4052 */ 4053 public ExampleScenario setVersionAlgorithm(DataType value) { 4054 if (value != null && !(value instanceof StringType || value instanceof Coding)) 4055 throw new Error("Not the right type for ExampleScenario.versionAlgorithm[x]: "+value.fhirType()); 4056 this.versionAlgorithm = value; 4057 return this; 4058 } 4059 4060 /** 4061 * @return {@link #name} (Temporarily retained for tooling purposes.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 4062 */ 4063 public StringType getNameElement() { 4064 if (this.name == null) 4065 if (Configuration.errorOnAutoCreate()) 4066 throw new Error("Attempt to auto-create ExampleScenario.name"); 4067 else if (Configuration.doAutoCreate()) 4068 this.name = new StringType(); // bb 4069 return this.name; 4070 } 4071 4072 public boolean hasNameElement() { 4073 return this.name != null && !this.name.isEmpty(); 4074 } 4075 4076 public boolean hasName() { 4077 return this.name != null && !this.name.isEmpty(); 4078 } 4079 4080 /** 4081 * @param value {@link #name} (Temporarily retained for tooling purposes.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 4082 */ 4083 public ExampleScenario setNameElement(StringType value) { 4084 this.name = value; 4085 return this; 4086 } 4087 4088 /** 4089 * @return Temporarily retained for tooling purposes. 4090 */ 4091 public String getName() { 4092 return this.name == null ? null : this.name.getValue(); 4093 } 4094 4095 /** 4096 * @param value Temporarily retained for tooling purposes. 4097 */ 4098 public ExampleScenario setName(String value) { 4099 if (Utilities.noString(value)) 4100 this.name = null; 4101 else { 4102 if (this.name == null) 4103 this.name = new StringType(); 4104 this.name.setValue(value); 4105 } 4106 return this; 4107 } 4108 4109 /** 4110 * @return {@link #title} (A short, descriptive, user-friendly title for the ExampleScenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 4111 */ 4112 public StringType getTitleElement() { 4113 if (this.title == null) 4114 if (Configuration.errorOnAutoCreate()) 4115 throw new Error("Attempt to auto-create ExampleScenario.title"); 4116 else if (Configuration.doAutoCreate()) 4117 this.title = new StringType(); // bb 4118 return this.title; 4119 } 4120 4121 public boolean hasTitleElement() { 4122 return this.title != null && !this.title.isEmpty(); 4123 } 4124 4125 public boolean hasTitle() { 4126 return this.title != null && !this.title.isEmpty(); 4127 } 4128 4129 /** 4130 * @param value {@link #title} (A short, descriptive, user-friendly title for the ExampleScenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 4131 */ 4132 public ExampleScenario setTitleElement(StringType value) { 4133 this.title = value; 4134 return this; 4135 } 4136 4137 /** 4138 * @return A short, descriptive, user-friendly title for the ExampleScenario. 4139 */ 4140 public String getTitle() { 4141 return this.title == null ? null : this.title.getValue(); 4142 } 4143 4144 /** 4145 * @param value A short, descriptive, user-friendly title for the ExampleScenario. 4146 */ 4147 public ExampleScenario setTitle(String value) { 4148 if (Utilities.noString(value)) 4149 this.title = null; 4150 else { 4151 if (this.title == null) 4152 this.title = new StringType(); 4153 this.title.setValue(value); 4154 } 4155 return this; 4156 } 4157 4158 /** 4159 * @return {@link #status} (The status of this example scenario. 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 4160 */ 4161 public Enumeration<PublicationStatus> getStatusElement() { 4162 if (this.status == null) 4163 if (Configuration.errorOnAutoCreate()) 4164 throw new Error("Attempt to auto-create ExampleScenario.status"); 4165 else if (Configuration.doAutoCreate()) 4166 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 4167 return this.status; 4168 } 4169 4170 public boolean hasStatusElement() { 4171 return this.status != null && !this.status.isEmpty(); 4172 } 4173 4174 public boolean hasStatus() { 4175 return this.status != null && !this.status.isEmpty(); 4176 } 4177 4178 /** 4179 * @param value {@link #status} (The status of this example scenario. 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 4180 */ 4181 public ExampleScenario setStatusElement(Enumeration<PublicationStatus> value) { 4182 this.status = value; 4183 return this; 4184 } 4185 4186 /** 4187 * @return The status of this example scenario. Enables tracking the life-cycle of the content. 4188 */ 4189 public PublicationStatus getStatus() { 4190 return this.status == null ? null : this.status.getValue(); 4191 } 4192 4193 /** 4194 * @param value The status of this example scenario. Enables tracking the life-cycle of the content. 4195 */ 4196 public ExampleScenario setStatus(PublicationStatus value) { 4197 if (this.status == null) 4198 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 4199 this.status.setValue(value); 4200 return this; 4201 } 4202 4203 /** 4204 * @return {@link #experimental} (A Boolean value to indicate that this example scenario 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 4205 */ 4206 public BooleanType getExperimentalElement() { 4207 if (this.experimental == null) 4208 if (Configuration.errorOnAutoCreate()) 4209 throw new Error("Attempt to auto-create ExampleScenario.experimental"); 4210 else if (Configuration.doAutoCreate()) 4211 this.experimental = new BooleanType(); // bb 4212 return this.experimental; 4213 } 4214 4215 public boolean hasExperimentalElement() { 4216 return this.experimental != null && !this.experimental.isEmpty(); 4217 } 4218 4219 public boolean hasExperimental() { 4220 return this.experimental != null && !this.experimental.isEmpty(); 4221 } 4222 4223 /** 4224 * @param value {@link #experimental} (A Boolean value to indicate that this example scenario 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 4225 */ 4226 public ExampleScenario setExperimentalElement(BooleanType value) { 4227 this.experimental = value; 4228 return this; 4229 } 4230 4231 /** 4232 * @return A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 4233 */ 4234 public boolean getExperimental() { 4235 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 4236 } 4237 4238 /** 4239 * @param value A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 4240 */ 4241 public ExampleScenario setExperimental(boolean value) { 4242 if (this.experimental == null) 4243 this.experimental = new BooleanType(); 4244 this.experimental.setValue(value); 4245 return this; 4246 } 4247 4248 /** 4249 * @return {@link #date} (The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition').). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 4250 */ 4251 public DateTimeType getDateElement() { 4252 if (this.date == null) 4253 if (Configuration.errorOnAutoCreate()) 4254 throw new Error("Attempt to auto-create ExampleScenario.date"); 4255 else if (Configuration.doAutoCreate()) 4256 this.date = new DateTimeType(); // bb 4257 return this.date; 4258 } 4259 4260 public boolean hasDateElement() { 4261 return this.date != null && !this.date.isEmpty(); 4262 } 4263 4264 public boolean hasDate() { 4265 return this.date != null && !this.date.isEmpty(); 4266 } 4267 4268 /** 4269 * @param value {@link #date} (The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition').). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 4270 */ 4271 public ExampleScenario setDateElement(DateTimeType value) { 4272 this.date = value; 4273 return this; 4274 } 4275 4276 /** 4277 * @return The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition'). 4278 */ 4279 public Date getDate() { 4280 return this.date == null ? null : this.date.getValue(); 4281 } 4282 4283 /** 4284 * @param value The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition'). 4285 */ 4286 public ExampleScenario setDate(Date value) { 4287 if (value == null) 4288 this.date = null; 4289 else { 4290 if (this.date == null) 4291 this.date = new DateTimeType(); 4292 this.date.setValue(value); 4293 } 4294 return this; 4295 } 4296 4297 /** 4298 * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 4299 */ 4300 public StringType getPublisherElement() { 4301 if (this.publisher == null) 4302 if (Configuration.errorOnAutoCreate()) 4303 throw new Error("Attempt to auto-create ExampleScenario.publisher"); 4304 else if (Configuration.doAutoCreate()) 4305 this.publisher = new StringType(); // bb 4306 return this.publisher; 4307 } 4308 4309 public boolean hasPublisherElement() { 4310 return this.publisher != null && !this.publisher.isEmpty(); 4311 } 4312 4313 public boolean hasPublisher() { 4314 return this.publisher != null && !this.publisher.isEmpty(); 4315 } 4316 4317 /** 4318 * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 4319 */ 4320 public ExampleScenario setPublisherElement(StringType value) { 4321 this.publisher = value; 4322 return this; 4323 } 4324 4325 /** 4326 * @return The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario. 4327 */ 4328 public String getPublisher() { 4329 return this.publisher == null ? null : this.publisher.getValue(); 4330 } 4331 4332 /** 4333 * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario. 4334 */ 4335 public ExampleScenario setPublisher(String value) { 4336 if (Utilities.noString(value)) 4337 this.publisher = null; 4338 else { 4339 if (this.publisher == null) 4340 this.publisher = new StringType(); 4341 this.publisher.setValue(value); 4342 } 4343 return this; 4344 } 4345 4346 /** 4347 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 4348 */ 4349 public List<ContactDetail> getContact() { 4350 if (this.contact == null) 4351 this.contact = new ArrayList<ContactDetail>(); 4352 return this.contact; 4353 } 4354 4355 /** 4356 * @return Returns a reference to <code>this</code> for easy method chaining 4357 */ 4358 public ExampleScenario setContact(List<ContactDetail> theContact) { 4359 this.contact = theContact; 4360 return this; 4361 } 4362 4363 public boolean hasContact() { 4364 if (this.contact == null) 4365 return false; 4366 for (ContactDetail item : this.contact) 4367 if (!item.isEmpty()) 4368 return true; 4369 return false; 4370 } 4371 4372 public ContactDetail addContact() { //3 4373 ContactDetail t = new ContactDetail(); 4374 if (this.contact == null) 4375 this.contact = new ArrayList<ContactDetail>(); 4376 this.contact.add(t); 4377 return t; 4378 } 4379 4380 public ExampleScenario addContact(ContactDetail t) { //3 4381 if (t == null) 4382 return this; 4383 if (this.contact == null) 4384 this.contact = new ArrayList<ContactDetail>(); 4385 this.contact.add(t); 4386 return this; 4387 } 4388 4389 /** 4390 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 4391 */ 4392 public ContactDetail getContactFirstRep() { 4393 if (getContact().isEmpty()) { 4394 addContact(); 4395 } 4396 return getContact().get(0); 4397 } 4398 4399 /** 4400 * @return {@link #description} (A free text natural language description of the ExampleScenario from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 4401 */ 4402 public MarkdownType getDescriptionElement() { 4403 if (this.description == null) 4404 if (Configuration.errorOnAutoCreate()) 4405 throw new Error("Attempt to auto-create ExampleScenario.description"); 4406 else if (Configuration.doAutoCreate()) 4407 this.description = new MarkdownType(); // bb 4408 return this.description; 4409 } 4410 4411 public boolean hasDescriptionElement() { 4412 return this.description != null && !this.description.isEmpty(); 4413 } 4414 4415 public boolean hasDescription() { 4416 return this.description != null && !this.description.isEmpty(); 4417 } 4418 4419 /** 4420 * @param value {@link #description} (A free text natural language description of the ExampleScenario from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 4421 */ 4422 public ExampleScenario setDescriptionElement(MarkdownType value) { 4423 this.description = value; 4424 return this; 4425 } 4426 4427 /** 4428 * @return A free text natural language description of the ExampleScenario from a consumer's perspective. 4429 */ 4430 public String getDescription() { 4431 return this.description == null ? null : this.description.getValue(); 4432 } 4433 4434 /** 4435 * @param value A free text natural language description of the ExampleScenario from a consumer's perspective. 4436 */ 4437 public ExampleScenario setDescription(String value) { 4438 if (value == null) 4439 this.description = null; 4440 else { 4441 if (this.description == null) 4442 this.description = new MarkdownType(); 4443 this.description.setValue(value); 4444 } 4445 return this; 4446 } 4447 4448 /** 4449 * @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 example scenario instances.) 4450 */ 4451 public List<UsageContext> getUseContext() { 4452 if (this.useContext == null) 4453 this.useContext = new ArrayList<UsageContext>(); 4454 return this.useContext; 4455 } 4456 4457 /** 4458 * @return Returns a reference to <code>this</code> for easy method chaining 4459 */ 4460 public ExampleScenario setUseContext(List<UsageContext> theUseContext) { 4461 this.useContext = theUseContext; 4462 return this; 4463 } 4464 4465 public boolean hasUseContext() { 4466 if (this.useContext == null) 4467 return false; 4468 for (UsageContext item : this.useContext) 4469 if (!item.isEmpty()) 4470 return true; 4471 return false; 4472 } 4473 4474 public UsageContext addUseContext() { //3 4475 UsageContext t = new UsageContext(); 4476 if (this.useContext == null) 4477 this.useContext = new ArrayList<UsageContext>(); 4478 this.useContext.add(t); 4479 return t; 4480 } 4481 4482 public ExampleScenario addUseContext(UsageContext t) { //3 4483 if (t == null) 4484 return this; 4485 if (this.useContext == null) 4486 this.useContext = new ArrayList<UsageContext>(); 4487 this.useContext.add(t); 4488 return this; 4489 } 4490 4491 /** 4492 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 4493 */ 4494 public UsageContext getUseContextFirstRep() { 4495 if (getUseContext().isEmpty()) { 4496 addUseContext(); 4497 } 4498 return getUseContext().get(0); 4499 } 4500 4501 /** 4502 * @return {@link #jurisdiction} (A legal or geographic region in which the example scenario is intended to be used.) 4503 */ 4504 public List<CodeableConcept> getJurisdiction() { 4505 if (this.jurisdiction == null) 4506 this.jurisdiction = new ArrayList<CodeableConcept>(); 4507 return this.jurisdiction; 4508 } 4509 4510 /** 4511 * @return Returns a reference to <code>this</code> for easy method chaining 4512 */ 4513 public ExampleScenario setJurisdiction(List<CodeableConcept> theJurisdiction) { 4514 this.jurisdiction = theJurisdiction; 4515 return this; 4516 } 4517 4518 public boolean hasJurisdiction() { 4519 if (this.jurisdiction == null) 4520 return false; 4521 for (CodeableConcept item : this.jurisdiction) 4522 if (!item.isEmpty()) 4523 return true; 4524 return false; 4525 } 4526 4527 public CodeableConcept addJurisdiction() { //3 4528 CodeableConcept t = new CodeableConcept(); 4529 if (this.jurisdiction == null) 4530 this.jurisdiction = new ArrayList<CodeableConcept>(); 4531 this.jurisdiction.add(t); 4532 return t; 4533 } 4534 4535 public ExampleScenario addJurisdiction(CodeableConcept t) { //3 4536 if (t == null) 4537 return this; 4538 if (this.jurisdiction == null) 4539 this.jurisdiction = new ArrayList<CodeableConcept>(); 4540 this.jurisdiction.add(t); 4541 return this; 4542 } 4543 4544 /** 4545 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 4546 */ 4547 public CodeableConcept getJurisdictionFirstRep() { 4548 if (getJurisdiction().isEmpty()) { 4549 addJurisdiction(); 4550 } 4551 return getJurisdiction().get(0); 4552 } 4553 4554 /** 4555 * @return {@link #purpose} (What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 4556 */ 4557 public MarkdownType getPurposeElement() { 4558 if (this.purpose == null) 4559 if (Configuration.errorOnAutoCreate()) 4560 throw new Error("Attempt to auto-create ExampleScenario.purpose"); 4561 else if (Configuration.doAutoCreate()) 4562 this.purpose = new MarkdownType(); // bb 4563 return this.purpose; 4564 } 4565 4566 public boolean hasPurposeElement() { 4567 return this.purpose != null && !this.purpose.isEmpty(); 4568 } 4569 4570 public boolean hasPurpose() { 4571 return this.purpose != null && !this.purpose.isEmpty(); 4572 } 4573 4574 /** 4575 * @param value {@link #purpose} (What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 4576 */ 4577 public ExampleScenario setPurposeElement(MarkdownType value) { 4578 this.purpose = value; 4579 return this; 4580 } 4581 4582 /** 4583 * @return What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. 4584 */ 4585 public String getPurpose() { 4586 return this.purpose == null ? null : this.purpose.getValue(); 4587 } 4588 4589 /** 4590 * @param value What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. 4591 */ 4592 public ExampleScenario setPurpose(String value) { 4593 if (value == null) 4594 this.purpose = null; 4595 else { 4596 if (this.purpose == null) 4597 this.purpose = new MarkdownType(); 4598 this.purpose.setValue(value); 4599 } 4600 return this; 4601 } 4602 4603 /** 4604 * @return {@link #copyright} (A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 4605 */ 4606 public MarkdownType getCopyrightElement() { 4607 if (this.copyright == null) 4608 if (Configuration.errorOnAutoCreate()) 4609 throw new Error("Attempt to auto-create ExampleScenario.copyright"); 4610 else if (Configuration.doAutoCreate()) 4611 this.copyright = new MarkdownType(); // bb 4612 return this.copyright; 4613 } 4614 4615 public boolean hasCopyrightElement() { 4616 return this.copyright != null && !this.copyright.isEmpty(); 4617 } 4618 4619 public boolean hasCopyright() { 4620 return this.copyright != null && !this.copyright.isEmpty(); 4621 } 4622 4623 /** 4624 * @param value {@link #copyright} (A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 4625 */ 4626 public ExampleScenario setCopyrightElement(MarkdownType value) { 4627 this.copyright = value; 4628 return this; 4629 } 4630 4631 /** 4632 * @return A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. 4633 */ 4634 public String getCopyright() { 4635 return this.copyright == null ? null : this.copyright.getValue(); 4636 } 4637 4638 /** 4639 * @param value A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. 4640 */ 4641 public ExampleScenario setCopyright(String value) { 4642 if (value == null) 4643 this.copyright = null; 4644 else { 4645 if (this.copyright == null) 4646 this.copyright = new MarkdownType(); 4647 this.copyright.setValue(value); 4648 } 4649 return this; 4650 } 4651 4652 /** 4653 * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 4654 */ 4655 public StringType getCopyrightLabelElement() { 4656 if (this.copyrightLabel == null) 4657 if (Configuration.errorOnAutoCreate()) 4658 throw new Error("Attempt to auto-create ExampleScenario.copyrightLabel"); 4659 else if (Configuration.doAutoCreate()) 4660 this.copyrightLabel = new StringType(); // bb 4661 return this.copyrightLabel; 4662 } 4663 4664 public boolean hasCopyrightLabelElement() { 4665 return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); 4666 } 4667 4668 public boolean hasCopyrightLabel() { 4669 return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); 4670 } 4671 4672 /** 4673 * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value 4674 */ 4675 public ExampleScenario setCopyrightLabelElement(StringType value) { 4676 this.copyrightLabel = value; 4677 return this; 4678 } 4679 4680 /** 4681 * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 4682 */ 4683 public String getCopyrightLabel() { 4684 return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); 4685 } 4686 4687 /** 4688 * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). 4689 */ 4690 public ExampleScenario setCopyrightLabel(String value) { 4691 if (Utilities.noString(value)) 4692 this.copyrightLabel = null; 4693 else { 4694 if (this.copyrightLabel == null) 4695 this.copyrightLabel = new StringType(); 4696 this.copyrightLabel.setValue(value); 4697 } 4698 return this; 4699 } 4700 4701 /** 4702 * @return {@link #actor} (A system or person who shares or receives an instance within the scenario.) 4703 */ 4704 public List<ExampleScenarioActorComponent> getActor() { 4705 if (this.actor == null) 4706 this.actor = new ArrayList<ExampleScenarioActorComponent>(); 4707 return this.actor; 4708 } 4709 4710 /** 4711 * @return Returns a reference to <code>this</code> for easy method chaining 4712 */ 4713 public ExampleScenario setActor(List<ExampleScenarioActorComponent> theActor) { 4714 this.actor = theActor; 4715 return this; 4716 } 4717 4718 public boolean hasActor() { 4719 if (this.actor == null) 4720 return false; 4721 for (ExampleScenarioActorComponent item : this.actor) 4722 if (!item.isEmpty()) 4723 return true; 4724 return false; 4725 } 4726 4727 public ExampleScenarioActorComponent addActor() { //3 4728 ExampleScenarioActorComponent t = new ExampleScenarioActorComponent(); 4729 if (this.actor == null) 4730 this.actor = new ArrayList<ExampleScenarioActorComponent>(); 4731 this.actor.add(t); 4732 return t; 4733 } 4734 4735 public ExampleScenario addActor(ExampleScenarioActorComponent t) { //3 4736 if (t == null) 4737 return this; 4738 if (this.actor == null) 4739 this.actor = new ArrayList<ExampleScenarioActorComponent>(); 4740 this.actor.add(t); 4741 return this; 4742 } 4743 4744 /** 4745 * @return The first repetition of repeating field {@link #actor}, creating it if it does not already exist {3} 4746 */ 4747 public ExampleScenarioActorComponent getActorFirstRep() { 4748 if (getActor().isEmpty()) { 4749 addActor(); 4750 } 4751 return getActor().get(0); 4752 } 4753 4754 /** 4755 * @return {@link #instance} (A single data collection that is shared as part of the scenario.) 4756 */ 4757 public List<ExampleScenarioInstanceComponent> getInstance() { 4758 if (this.instance == null) 4759 this.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 4760 return this.instance; 4761 } 4762 4763 /** 4764 * @return Returns a reference to <code>this</code> for easy method chaining 4765 */ 4766 public ExampleScenario setInstance(List<ExampleScenarioInstanceComponent> theInstance) { 4767 this.instance = theInstance; 4768 return this; 4769 } 4770 4771 public boolean hasInstance() { 4772 if (this.instance == null) 4773 return false; 4774 for (ExampleScenarioInstanceComponent item : this.instance) 4775 if (!item.isEmpty()) 4776 return true; 4777 return false; 4778 } 4779 4780 public ExampleScenarioInstanceComponent addInstance() { //3 4781 ExampleScenarioInstanceComponent t = new ExampleScenarioInstanceComponent(); 4782 if (this.instance == null) 4783 this.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 4784 this.instance.add(t); 4785 return t; 4786 } 4787 4788 public ExampleScenario addInstance(ExampleScenarioInstanceComponent t) { //3 4789 if (t == null) 4790 return this; 4791 if (this.instance == null) 4792 this.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 4793 this.instance.add(t); 4794 return this; 4795 } 4796 4797 /** 4798 * @return The first repetition of repeating field {@link #instance}, creating it if it does not already exist {3} 4799 */ 4800 public ExampleScenarioInstanceComponent getInstanceFirstRep() { 4801 if (getInstance().isEmpty()) { 4802 addInstance(); 4803 } 4804 return getInstance().get(0); 4805 } 4806 4807 /** 4808 * @return {@link #process} (A group of operations that represents a significant step within a scenario.) 4809 */ 4810 public List<ExampleScenarioProcessComponent> getProcess() { 4811 if (this.process == null) 4812 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 4813 return this.process; 4814 } 4815 4816 /** 4817 * @return Returns a reference to <code>this</code> for easy method chaining 4818 */ 4819 public ExampleScenario setProcess(List<ExampleScenarioProcessComponent> theProcess) { 4820 this.process = theProcess; 4821 return this; 4822 } 4823 4824 public boolean hasProcess() { 4825 if (this.process == null) 4826 return false; 4827 for (ExampleScenarioProcessComponent item : this.process) 4828 if (!item.isEmpty()) 4829 return true; 4830 return false; 4831 } 4832 4833 public ExampleScenarioProcessComponent addProcess() { //3 4834 ExampleScenarioProcessComponent t = new ExampleScenarioProcessComponent(); 4835 if (this.process == null) 4836 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 4837 this.process.add(t); 4838 return t; 4839 } 4840 4841 public ExampleScenario addProcess(ExampleScenarioProcessComponent t) { //3 4842 if (t == null) 4843 return this; 4844 if (this.process == null) 4845 this.process = new ArrayList<ExampleScenarioProcessComponent>(); 4846 this.process.add(t); 4847 return this; 4848 } 4849 4850 /** 4851 * @return The first repetition of repeating field {@link #process}, creating it if it does not already exist {3} 4852 */ 4853 public ExampleScenarioProcessComponent getProcessFirstRep() { 4854 if (getProcess().isEmpty()) { 4855 addProcess(); 4856 } 4857 return getProcess().get(0); 4858 } 4859 4860 protected void listChildren(List<Property> children) { 4861 super.listChildren(children); 4862 children.add(new Property("url", "uri", "An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.", 0, 1, url)); 4863 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 4864 children.add(new Property("version", "string", "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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)); 4865 children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); 4866 children.add(new Property("name", "string", "Temporarily retained for tooling purposes.", 0, 1, name)); 4867 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the ExampleScenario.", 0, 1, title)); 4868 children.add(new Property("status", "code", "The status of this example scenario. Enables tracking the life-cycle of the content.", 0, 1, status)); 4869 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 4870 children.add(new Property("date", "dateTime", "The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition').", 0, 1, date)); 4871 children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.", 0, 1, publisher)); 4872 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)); 4873 children.add(new Property("description", "markdown", "A free text natural language description of the ExampleScenario from a consumer's perspective.", 0, 1, description)); 4874 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 example scenario instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 4875 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the example scenario is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 4876 children.add(new Property("purpose", "markdown", "What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.", 0, 1, purpose)); 4877 children.add(new Property("copyright", "markdown", "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.", 0, 1, copyright)); 4878 children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); 4879 children.add(new Property("actor", "", "A system or person who shares or receives an instance within the scenario.", 0, java.lang.Integer.MAX_VALUE, actor)); 4880 children.add(new Property("instance", "", "A single data collection that is shared as part of the scenario.", 0, java.lang.Integer.MAX_VALUE, instance)); 4881 children.add(new Property("process", "", "A group of operations that represents a significant step within a scenario.", 0, java.lang.Integer.MAX_VALUE, process)); 4882 } 4883 4884 @Override 4885 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4886 switch (_hash) { 4887 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this example scenario 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 an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.", 0, 1, url); 4888 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 4889 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario 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); 4890 case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 4891 case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 4892 case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 4893 case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); 4894 case 3373707: /*name*/ return new Property("name", "string", "Temporarily retained for tooling purposes.", 0, 1, name); 4895 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the ExampleScenario.", 0, 1, title); 4896 case -892481550: /*status*/ return new Property("status", "code", "The status of this example scenario. Enables tracking the life-cycle of the content.", 0, 1, status); 4897 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 4898 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the example scenario 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 example scenario changes. (e.g. the 'content logical definition').", 0, 1, date); 4899 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.", 0, 1, publisher); 4900 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); 4901 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the ExampleScenario from a consumer's perspective.", 0, 1, description); 4902 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 example scenario instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 4903 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the example scenario is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 4904 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.", 0, 1, purpose); 4905 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.", 0, 1, copyright); 4906 case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); 4907 case 92645877: /*actor*/ return new Property("actor", "", "A system or person who shares or receives an instance within the scenario.", 0, java.lang.Integer.MAX_VALUE, actor); 4908 case 555127957: /*instance*/ return new Property("instance", "", "A single data collection that is shared as part of the scenario.", 0, java.lang.Integer.MAX_VALUE, instance); 4909 case -309518737: /*process*/ return new Property("process", "", "A group of operations that represents a significant step within a scenario.", 0, java.lang.Integer.MAX_VALUE, process); 4910 default: return super.getNamedProperty(_hash, _name, _checkValid); 4911 } 4912 4913 } 4914 4915 @Override 4916 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4917 switch (hash) { 4918 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 4919 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 4920 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 4921 case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType 4922 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 4923 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 4924 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 4925 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 4926 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 4927 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 4928 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 4929 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 4930 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 4931 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 4932 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 4933 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 4934 case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType 4935 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // ExampleScenarioActorComponent 4936 case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // ExampleScenarioInstanceComponent 4937 case -309518737: /*process*/ return this.process == null ? new Base[0] : this.process.toArray(new Base[this.process.size()]); // ExampleScenarioProcessComponent 4938 default: return super.getProperty(hash, name, checkValid); 4939 } 4940 4941 } 4942 4943 @Override 4944 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4945 switch (hash) { 4946 case 116079: // url 4947 this.url = TypeConvertor.castToUri(value); // UriType 4948 return value; 4949 case -1618432855: // identifier 4950 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 4951 return value; 4952 case 351608024: // version 4953 this.version = TypeConvertor.castToString(value); // StringType 4954 return value; 4955 case 1508158071: // versionAlgorithm 4956 this.versionAlgorithm = TypeConvertor.castToType(value); // DataType 4957 return value; 4958 case 3373707: // name 4959 this.name = TypeConvertor.castToString(value); // StringType 4960 return value; 4961 case 110371416: // title 4962 this.title = TypeConvertor.castToString(value); // StringType 4963 return value; 4964 case -892481550: // status 4965 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4966 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4967 return value; 4968 case -404562712: // experimental 4969 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4970 return value; 4971 case 3076014: // date 4972 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4973 return value; 4974 case 1447404028: // publisher 4975 this.publisher = TypeConvertor.castToString(value); // StringType 4976 return value; 4977 case 951526432: // contact 4978 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 4979 return value; 4980 case -1724546052: // description 4981 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4982 return value; 4983 case -669707736: // useContext 4984 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 4985 return value; 4986 case -507075711: // jurisdiction 4987 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4988 return value; 4989 case -220463842: // purpose 4990 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4991 return value; 4992 case 1522889671: // copyright 4993 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4994 return value; 4995 case 765157229: // copyrightLabel 4996 this.copyrightLabel = TypeConvertor.castToString(value); // StringType 4997 return value; 4998 case 92645877: // actor 4999 this.getActor().add((ExampleScenarioActorComponent) value); // ExampleScenarioActorComponent 5000 return value; 5001 case 555127957: // instance 5002 this.getInstance().add((ExampleScenarioInstanceComponent) value); // ExampleScenarioInstanceComponent 5003 return value; 5004 case -309518737: // process 5005 this.getProcess().add((ExampleScenarioProcessComponent) value); // ExampleScenarioProcessComponent 5006 return value; 5007 default: return super.setProperty(hash, name, value); 5008 } 5009 5010 } 5011 5012 @Override 5013 public Base setProperty(String name, Base value) throws FHIRException { 5014 if (name.equals("url")) { 5015 this.url = TypeConvertor.castToUri(value); // UriType 5016 } else if (name.equals("identifier")) { 5017 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 5018 } else if (name.equals("version")) { 5019 this.version = TypeConvertor.castToString(value); // StringType 5020 } else if (name.equals("versionAlgorithm[x]")) { 5021 this.versionAlgorithm = TypeConvertor.castToType(value); // DataType 5022 } else if (name.equals("name")) { 5023 this.name = TypeConvertor.castToString(value); // StringType 5024 } else if (name.equals("title")) { 5025 this.title = TypeConvertor.castToString(value); // StringType 5026 } else if (name.equals("status")) { 5027 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 5028 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 5029 } else if (name.equals("experimental")) { 5030 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 5031 } else if (name.equals("date")) { 5032 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 5033 } else if (name.equals("publisher")) { 5034 this.publisher = TypeConvertor.castToString(value); // StringType 5035 } else if (name.equals("contact")) { 5036 this.getContact().add(TypeConvertor.castToContactDetail(value)); 5037 } else if (name.equals("description")) { 5038 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 5039 } else if (name.equals("useContext")) { 5040 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 5041 } else if (name.equals("jurisdiction")) { 5042 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 5043 } else if (name.equals("purpose")) { 5044 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 5045 } else if (name.equals("copyright")) { 5046 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 5047 } else if (name.equals("copyrightLabel")) { 5048 this.copyrightLabel = TypeConvertor.castToString(value); // StringType 5049 } else if (name.equals("actor")) { 5050 this.getActor().add((ExampleScenarioActorComponent) value); 5051 } else if (name.equals("instance")) { 5052 this.getInstance().add((ExampleScenarioInstanceComponent) value); 5053 } else if (name.equals("process")) { 5054 this.getProcess().add((ExampleScenarioProcessComponent) value); 5055 } else 5056 return super.setProperty(name, value); 5057 return value; 5058 } 5059 5060 @Override 5061 public Base makeProperty(int hash, String name) throws FHIRException { 5062 switch (hash) { 5063 case 116079: return getUrlElement(); 5064 case -1618432855: return addIdentifier(); 5065 case 351608024: return getVersionElement(); 5066 case -115699031: return getVersionAlgorithm(); 5067 case 1508158071: return getVersionAlgorithm(); 5068 case 3373707: return getNameElement(); 5069 case 110371416: return getTitleElement(); 5070 case -892481550: return getStatusElement(); 5071 case -404562712: return getExperimentalElement(); 5072 case 3076014: return getDateElement(); 5073 case 1447404028: return getPublisherElement(); 5074 case 951526432: return addContact(); 5075 case -1724546052: return getDescriptionElement(); 5076 case -669707736: return addUseContext(); 5077 case -507075711: return addJurisdiction(); 5078 case -220463842: return getPurposeElement(); 5079 case 1522889671: return getCopyrightElement(); 5080 case 765157229: return getCopyrightLabelElement(); 5081 case 92645877: return addActor(); 5082 case 555127957: return addInstance(); 5083 case -309518737: return addProcess(); 5084 default: return super.makeProperty(hash, name); 5085 } 5086 5087 } 5088 5089 @Override 5090 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5091 switch (hash) { 5092 case 116079: /*url*/ return new String[] {"uri"}; 5093 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 5094 case 351608024: /*version*/ return new String[] {"string"}; 5095 case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; 5096 case 3373707: /*name*/ return new String[] {"string"}; 5097 case 110371416: /*title*/ return new String[] {"string"}; 5098 case -892481550: /*status*/ return new String[] {"code"}; 5099 case -404562712: /*experimental*/ return new String[] {"boolean"}; 5100 case 3076014: /*date*/ return new String[] {"dateTime"}; 5101 case 1447404028: /*publisher*/ return new String[] {"string"}; 5102 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 5103 case -1724546052: /*description*/ return new String[] {"markdown"}; 5104 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 5105 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 5106 case -220463842: /*purpose*/ return new String[] {"markdown"}; 5107 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 5108 case 765157229: /*copyrightLabel*/ return new String[] {"string"}; 5109 case 92645877: /*actor*/ return new String[] {}; 5110 case 555127957: /*instance*/ return new String[] {}; 5111 case -309518737: /*process*/ return new String[] {}; 5112 default: return super.getTypesForProperty(hash, name); 5113 } 5114 5115 } 5116 5117 @Override 5118 public Base addChild(String name) throws FHIRException { 5119 if (name.equals("url")) { 5120 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.url"); 5121 } 5122 else if (name.equals("identifier")) { 5123 return addIdentifier(); 5124 } 5125 else if (name.equals("version")) { 5126 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.version"); 5127 } 5128 else if (name.equals("versionAlgorithmString")) { 5129 this.versionAlgorithm = new StringType(); 5130 return this.versionAlgorithm; 5131 } 5132 else if (name.equals("versionAlgorithmCoding")) { 5133 this.versionAlgorithm = new Coding(); 5134 return this.versionAlgorithm; 5135 } 5136 else if (name.equals("name")) { 5137 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); 5138 } 5139 else if (name.equals("title")) { 5140 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.title"); 5141 } 5142 else if (name.equals("status")) { 5143 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.status"); 5144 } 5145 else if (name.equals("experimental")) { 5146 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.experimental"); 5147 } 5148 else if (name.equals("date")) { 5149 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.date"); 5150 } 5151 else if (name.equals("publisher")) { 5152 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.publisher"); 5153 } 5154 else if (name.equals("contact")) { 5155 return addContact(); 5156 } 5157 else if (name.equals("description")) { 5158 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); 5159 } 5160 else if (name.equals("useContext")) { 5161 return addUseContext(); 5162 } 5163 else if (name.equals("jurisdiction")) { 5164 return addJurisdiction(); 5165 } 5166 else if (name.equals("purpose")) { 5167 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.purpose"); 5168 } 5169 else if (name.equals("copyright")) { 5170 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.copyright"); 5171 } 5172 else if (name.equals("copyrightLabel")) { 5173 throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.copyrightLabel"); 5174 } 5175 else if (name.equals("actor")) { 5176 return addActor(); 5177 } 5178 else if (name.equals("instance")) { 5179 return addInstance(); 5180 } 5181 else if (name.equals("process")) { 5182 return addProcess(); 5183 } 5184 else 5185 return super.addChild(name); 5186 } 5187 5188 public String fhirType() { 5189 return "ExampleScenario"; 5190 5191 } 5192 5193 public ExampleScenario copy() { 5194 ExampleScenario dst = new ExampleScenario(); 5195 copyValues(dst); 5196 return dst; 5197 } 5198 5199 public void copyValues(ExampleScenario dst) { 5200 super.copyValues(dst); 5201 dst.url = url == null ? null : url.copy(); 5202 if (identifier != null) { 5203 dst.identifier = new ArrayList<Identifier>(); 5204 for (Identifier i : identifier) 5205 dst.identifier.add(i.copy()); 5206 }; 5207 dst.version = version == null ? null : version.copy(); 5208 dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); 5209 dst.name = name == null ? null : name.copy(); 5210 dst.title = title == null ? null : title.copy(); 5211 dst.status = status == null ? null : status.copy(); 5212 dst.experimental = experimental == null ? null : experimental.copy(); 5213 dst.date = date == null ? null : date.copy(); 5214 dst.publisher = publisher == null ? null : publisher.copy(); 5215 if (contact != null) { 5216 dst.contact = new ArrayList<ContactDetail>(); 5217 for (ContactDetail i : contact) 5218 dst.contact.add(i.copy()); 5219 }; 5220 dst.description = description == null ? null : description.copy(); 5221 if (useContext != null) { 5222 dst.useContext = new ArrayList<UsageContext>(); 5223 for (UsageContext i : useContext) 5224 dst.useContext.add(i.copy()); 5225 }; 5226 if (jurisdiction != null) { 5227 dst.jurisdiction = new ArrayList<CodeableConcept>(); 5228 for (CodeableConcept i : jurisdiction) 5229 dst.jurisdiction.add(i.copy()); 5230 }; 5231 dst.purpose = purpose == null ? null : purpose.copy(); 5232 dst.copyright = copyright == null ? null : copyright.copy(); 5233 dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); 5234 if (actor != null) { 5235 dst.actor = new ArrayList<ExampleScenarioActorComponent>(); 5236 for (ExampleScenarioActorComponent i : actor) 5237 dst.actor.add(i.copy()); 5238 }; 5239 if (instance != null) { 5240 dst.instance = new ArrayList<ExampleScenarioInstanceComponent>(); 5241 for (ExampleScenarioInstanceComponent i : instance) 5242 dst.instance.add(i.copy()); 5243 }; 5244 if (process != null) { 5245 dst.process = new ArrayList<ExampleScenarioProcessComponent>(); 5246 for (ExampleScenarioProcessComponent i : process) 5247 dst.process.add(i.copy()); 5248 }; 5249 } 5250 5251 protected ExampleScenario typedCopy() { 5252 return copy(); 5253 } 5254 5255 @Override 5256 public boolean equalsDeep(Base other_) { 5257 if (!super.equalsDeep(other_)) 5258 return false; 5259 if (!(other_ instanceof ExampleScenario)) 5260 return false; 5261 ExampleScenario o = (ExampleScenario) other_; 5262 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 5263 && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) 5264 && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) 5265 && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) 5266 && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) 5267 && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) 5268 && compareDeep(actor, o.actor, true) && compareDeep(instance, o.instance, true) && compareDeep(process, o.process, true) 5269 ; 5270 } 5271 5272 @Override 5273 public boolean equalsShallow(Base other_) { 5274 if (!super.equalsShallow(other_)) 5275 return false; 5276 if (!(other_ instanceof ExampleScenario)) 5277 return false; 5278 ExampleScenario o = (ExampleScenario) other_; 5279 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 5280 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 5281 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 5282 && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) 5283 ; 5284 } 5285 5286 public boolean isEmpty() { 5287 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 5288 , versionAlgorithm, name, title, status, experimental, date, publisher, contact 5289 , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, actor 5290 , instance, process); 5291 } 5292 5293 @Override 5294 public ResourceType getResourceType() { 5295 return ResourceType.ExampleScenario; 5296 } 5297 5298 /** 5299 * Search parameter: <b>context-quantity</b> 5300 * <p> 5301 * Description: <b>A quantity- or range-valued use context assigned to the example scenario</b><br> 5302 * Type: <b>quantity</b><br> 5303 * Path: <b>(ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range)</b><br> 5304 * </p> 5305 */ 5306 @SearchParamDefinition(name="context-quantity", path="(ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the example scenario", type="quantity" ) 5307 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 5308 /** 5309 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 5310 * <p> 5311 * Description: <b>A quantity- or range-valued use context assigned to the example scenario</b><br> 5312 * Type: <b>quantity</b><br> 5313 * Path: <b>(ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range)</b><br> 5314 * </p> 5315 */ 5316 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 5317 5318 /** 5319 * Search parameter: <b>context-type-quantity</b> 5320 * <p> 5321 * Description: <b>A use context type and quantity- or range-based value assigned to the example scenario</b><br> 5322 * Type: <b>composite</b><br> 5323 * Path: <b>ExampleScenario.useContext</b><br> 5324 * </p> 5325 */ 5326 @SearchParamDefinition(name="context-type-quantity", path="ExampleScenario.useContext", description="A use context type and quantity- or range-based value assigned to the example scenario", type="composite", compositeOf={"context-type", "context-quantity"} ) 5327 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 5328 /** 5329 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 5330 * <p> 5331 * Description: <b>A use context type and quantity- or range-based value assigned to the example scenario</b><br> 5332 * Type: <b>composite</b><br> 5333 * Path: <b>ExampleScenario.useContext</b><br> 5334 * </p> 5335 */ 5336 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); 5337 5338 /** 5339 * Search parameter: <b>context-type-value</b> 5340 * <p> 5341 * Description: <b>A use context type and value assigned to the example scenario</b><br> 5342 * Type: <b>composite</b><br> 5343 * Path: <b>ExampleScenario.useContext</b><br> 5344 * </p> 5345 */ 5346 @SearchParamDefinition(name="context-type-value", path="ExampleScenario.useContext", description="A use context type and value assigned to the example scenario", type="composite", compositeOf={"context-type", "context"} ) 5347 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 5348 /** 5349 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 5350 * <p> 5351 * Description: <b>A use context type and value assigned to the example scenario</b><br> 5352 * Type: <b>composite</b><br> 5353 * Path: <b>ExampleScenario.useContext</b><br> 5354 * </p> 5355 */ 5356 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); 5357 5358 /** 5359 * Search parameter: <b>context-type</b> 5360 * <p> 5361 * Description: <b>A type of use context assigned to the example scenario</b><br> 5362 * Type: <b>token</b><br> 5363 * Path: <b>ExampleScenario.useContext.code</b><br> 5364 * </p> 5365 */ 5366 @SearchParamDefinition(name="context-type", path="ExampleScenario.useContext.code", description="A type of use context assigned to the example scenario", type="token" ) 5367 public static final String SP_CONTEXT_TYPE = "context-type"; 5368 /** 5369 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 5370 * <p> 5371 * Description: <b>A type of use context assigned to the example scenario</b><br> 5372 * Type: <b>token</b><br> 5373 * Path: <b>ExampleScenario.useContext.code</b><br> 5374 * </p> 5375 */ 5376 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 5377 5378 /** 5379 * Search parameter: <b>context</b> 5380 * <p> 5381 * Description: <b>A use context assigned to the example scenario</b><br> 5382 * Type: <b>token</b><br> 5383 * Path: <b>(ExampleScenario.useContext.value as CodeableConcept)</b><br> 5384 * </p> 5385 */ 5386 @SearchParamDefinition(name="context", path="(ExampleScenario.useContext.value as CodeableConcept)", description="A use context assigned to the example scenario", type="token" ) 5387 public static final String SP_CONTEXT = "context"; 5388 /** 5389 * <b>Fluent Client</b> search parameter constant for <b>context</b> 5390 * <p> 5391 * Description: <b>A use context assigned to the example scenario</b><br> 5392 * Type: <b>token</b><br> 5393 * Path: <b>(ExampleScenario.useContext.value as CodeableConcept)</b><br> 5394 * </p> 5395 */ 5396 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 5397 5398 /** 5399 * Search parameter: <b>date</b> 5400 * <p> 5401 * Description: <b>The example scenario publication date</b><br> 5402 * Type: <b>date</b><br> 5403 * Path: <b>ExampleScenario.date</b><br> 5404 * </p> 5405 */ 5406 @SearchParamDefinition(name="date", path="ExampleScenario.date", description="The example scenario publication date", type="date" ) 5407 public static final String SP_DATE = "date"; 5408 /** 5409 * <b>Fluent Client</b> search parameter constant for <b>date</b> 5410 * <p> 5411 * Description: <b>The example scenario publication date</b><br> 5412 * Type: <b>date</b><br> 5413 * Path: <b>ExampleScenario.date</b><br> 5414 * </p> 5415 */ 5416 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 5417 5418 /** 5419 * Search parameter: <b>identifier</b> 5420 * <p> 5421 * Description: <b>External identifier for the example scenario</b><br> 5422 * Type: <b>token</b><br> 5423 * Path: <b>ExampleScenario.identifier</b><br> 5424 * </p> 5425 */ 5426 @SearchParamDefinition(name="identifier", path="ExampleScenario.identifier", description="External identifier for the example scenario", type="token" ) 5427 public static final String SP_IDENTIFIER = "identifier"; 5428 /** 5429 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5430 * <p> 5431 * Description: <b>External identifier for the example scenario</b><br> 5432 * Type: <b>token</b><br> 5433 * Path: <b>ExampleScenario.identifier</b><br> 5434 * </p> 5435 */ 5436 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 5437 5438 /** 5439 * Search parameter: <b>jurisdiction</b> 5440 * <p> 5441 * Description: <b>Intended jurisdiction for the example scenario</b><br> 5442 * Type: <b>token</b><br> 5443 * Path: <b>ExampleScenario.jurisdiction</b><br> 5444 * </p> 5445 */ 5446 @SearchParamDefinition(name="jurisdiction", path="ExampleScenario.jurisdiction", description="Intended jurisdiction for the example scenario", type="token" ) 5447 public static final String SP_JURISDICTION = "jurisdiction"; 5448 /** 5449 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 5450 * <p> 5451 * Description: <b>Intended jurisdiction for the example scenario</b><br> 5452 * Type: <b>token</b><br> 5453 * Path: <b>ExampleScenario.jurisdiction</b><br> 5454 * </p> 5455 */ 5456 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 5457 5458 /** 5459 * Search parameter: <b>name</b> 5460 * <p> 5461 * Description: <b>Computationally friendly name of the example scenario</b><br> 5462 * Type: <b>string</b><br> 5463 * Path: <b>ExampleScenario.name</b><br> 5464 * </p> 5465 */ 5466 @SearchParamDefinition(name="name", path="ExampleScenario.name", description="Computationally friendly name of the example scenario", type="string" ) 5467 public static final String SP_NAME = "name"; 5468 /** 5469 * <b>Fluent Client</b> search parameter constant for <b>name</b> 5470 * <p> 5471 * Description: <b>Computationally friendly name of the example scenario</b><br> 5472 * Type: <b>string</b><br> 5473 * Path: <b>ExampleScenario.name</b><br> 5474 * </p> 5475 */ 5476 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 5477 5478 /** 5479 * Search parameter: <b>publisher</b> 5480 * <p> 5481 * Description: <b>Name of the publisher of the example scenario</b><br> 5482 * Type: <b>string</b><br> 5483 * Path: <b>ExampleScenario.publisher</b><br> 5484 * </p> 5485 */ 5486 @SearchParamDefinition(name="publisher", path="ExampleScenario.publisher", description="Name of the publisher of the example scenario", type="string" ) 5487 public static final String SP_PUBLISHER = "publisher"; 5488 /** 5489 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 5490 * <p> 5491 * Description: <b>Name of the publisher of the example scenario</b><br> 5492 * Type: <b>string</b><br> 5493 * Path: <b>ExampleScenario.publisher</b><br> 5494 * </p> 5495 */ 5496 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 5497 5498 /** 5499 * Search parameter: <b>status</b> 5500 * <p> 5501 * Description: <b>The current status of the example scenario</b><br> 5502 * Type: <b>token</b><br> 5503 * Path: <b>ExampleScenario.status</b><br> 5504 * </p> 5505 */ 5506 @SearchParamDefinition(name="status", path="ExampleScenario.status", description="The current status of the example scenario", type="token" ) 5507 public static final String SP_STATUS = "status"; 5508 /** 5509 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5510 * <p> 5511 * Description: <b>The current status of the example scenario</b><br> 5512 * Type: <b>token</b><br> 5513 * Path: <b>ExampleScenario.status</b><br> 5514 * </p> 5515 */ 5516 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5517 5518 /** 5519 * Search parameter: <b>url</b> 5520 * <p> 5521 * Description: <b>The uri that identifies the example scenario</b><br> 5522 * Type: <b>uri</b><br> 5523 * Path: <b>ExampleScenario.url</b><br> 5524 * </p> 5525 */ 5526 @SearchParamDefinition(name="url", path="ExampleScenario.url", description="The uri that identifies the example scenario", type="uri" ) 5527 public static final String SP_URL = "url"; 5528 /** 5529 * <b>Fluent Client</b> search parameter constant for <b>url</b> 5530 * <p> 5531 * Description: <b>The uri that identifies the example scenario</b><br> 5532 * Type: <b>uri</b><br> 5533 * Path: <b>ExampleScenario.url</b><br> 5534 * </p> 5535 */ 5536 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 5537 5538 /** 5539 * Search parameter: <b>version</b> 5540 * <p> 5541 * Description: <b>The business version of the example scenario</b><br> 5542 * Type: <b>token</b><br> 5543 * Path: <b>ExampleScenario.version</b><br> 5544 * </p> 5545 */ 5546 @SearchParamDefinition(name="version", path="ExampleScenario.version", description="The business version of the example scenario", type="token" ) 5547 public static final String SP_VERSION = "version"; 5548 /** 5549 * <b>Fluent Client</b> search parameter constant for <b>version</b> 5550 * <p> 5551 * Description: <b>The business version of the example scenario</b><br> 5552 * Type: <b>token</b><br> 5553 * Path: <b>ExampleScenario.version</b><br> 5554 * </p> 5555 */ 5556 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 5557 5558 5559} 5560