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