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