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