001package org.hl7.fhir.dstu2016may.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 8, 2016 03:05+1000 for FHIR v1.4.0 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.dstu2016may.model.Enumerations.ConformanceResourceStatus; 038import org.hl7.fhir.dstu2016may.model.Enumerations.ConformanceResourceStatusEnumFactory; 039import org.hl7.fhir.dstu2016may.model.Enumerations.SearchParamType; 040import org.hl7.fhir.dstu2016may.model.Enumerations.SearchParamTypeEnumFactory; 041import org.hl7.fhir.exceptions.FHIRException; 042import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 043import org.hl7.fhir.utilities.Utilities; 044 045import ca.uhn.fhir.model.api.annotation.Block; 046import ca.uhn.fhir.model.api.annotation.Child; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.ResourceDef; 049import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 050/** 051 * A search parameter that defines a named search item that can be used to search/filter on a resource. 052 */ 053@ResourceDef(name="SearchParameter", profile="http://hl7.org/fhir/Profile/SearchParameter") 054public class SearchParameter extends DomainResource { 055 056 public enum XPathUsageType { 057 /** 058 * The search parameter is derived directly from the selected nodes based on the type definitions. 059 */ 060 NORMAL, 061 /** 062 * The search parameter is derived by a phonetic transform from the selected nodes. 063 */ 064 PHONETIC, 065 /** 066 * The search parameter is based on a spatial transform of the selected nodes. 067 */ 068 NEARBY, 069 /** 070 * The search parameter is based on a spatial transform of the selected nodes, using physical distance from the middle. 071 */ 072 DISTANCE, 073 /** 074 * The interpretation of the xpath statement is unknown (and can't be automated). 075 */ 076 OTHER, 077 /** 078 * added to help the parsers 079 */ 080 NULL; 081 public static XPathUsageType fromCode(String codeString) throws FHIRException { 082 if (codeString == null || "".equals(codeString)) 083 return null; 084 if ("normal".equals(codeString)) 085 return NORMAL; 086 if ("phonetic".equals(codeString)) 087 return PHONETIC; 088 if ("nearby".equals(codeString)) 089 return NEARBY; 090 if ("distance".equals(codeString)) 091 return DISTANCE; 092 if ("other".equals(codeString)) 093 return OTHER; 094 throw new FHIRException("Unknown XPathUsageType code '"+codeString+"'"); 095 } 096 public String toCode() { 097 switch (this) { 098 case NORMAL: return "normal"; 099 case PHONETIC: return "phonetic"; 100 case NEARBY: return "nearby"; 101 case DISTANCE: return "distance"; 102 case OTHER: return "other"; 103 default: return "?"; 104 } 105 } 106 public String getSystem() { 107 switch (this) { 108 case NORMAL: return "http://hl7.org/fhir/search-xpath-usage"; 109 case PHONETIC: return "http://hl7.org/fhir/search-xpath-usage"; 110 case NEARBY: return "http://hl7.org/fhir/search-xpath-usage"; 111 case DISTANCE: return "http://hl7.org/fhir/search-xpath-usage"; 112 case OTHER: return "http://hl7.org/fhir/search-xpath-usage"; 113 default: return "?"; 114 } 115 } 116 public String getDefinition() { 117 switch (this) { 118 case NORMAL: return "The search parameter is derived directly from the selected nodes based on the type definitions."; 119 case PHONETIC: return "The search parameter is derived by a phonetic transform from the selected nodes."; 120 case NEARBY: return "The search parameter is based on a spatial transform of the selected nodes."; 121 case DISTANCE: return "The search parameter is based on a spatial transform of the selected nodes, using physical distance from the middle."; 122 case OTHER: return "The interpretation of the xpath statement is unknown (and can't be automated)."; 123 default: return "?"; 124 } 125 } 126 public String getDisplay() { 127 switch (this) { 128 case NORMAL: return "Normal"; 129 case PHONETIC: return "Phonetic"; 130 case NEARBY: return "Nearby"; 131 case DISTANCE: return "Distance"; 132 case OTHER: return "Other"; 133 default: return "?"; 134 } 135 } 136 } 137 138 public static class XPathUsageTypeEnumFactory implements EnumFactory<XPathUsageType> { 139 public XPathUsageType fromCode(String codeString) throws IllegalArgumentException { 140 if (codeString == null || "".equals(codeString)) 141 if (codeString == null || "".equals(codeString)) 142 return null; 143 if ("normal".equals(codeString)) 144 return XPathUsageType.NORMAL; 145 if ("phonetic".equals(codeString)) 146 return XPathUsageType.PHONETIC; 147 if ("nearby".equals(codeString)) 148 return XPathUsageType.NEARBY; 149 if ("distance".equals(codeString)) 150 return XPathUsageType.DISTANCE; 151 if ("other".equals(codeString)) 152 return XPathUsageType.OTHER; 153 throw new IllegalArgumentException("Unknown XPathUsageType code '"+codeString+"'"); 154 } 155 public Enumeration<XPathUsageType> fromType(Base code) throws FHIRException { 156 if (code == null || code.isEmpty()) 157 return null; 158 String codeString = ((PrimitiveType) code).asStringValue(); 159 if (codeString == null || "".equals(codeString)) 160 return null; 161 if ("normal".equals(codeString)) 162 return new Enumeration<XPathUsageType>(this, XPathUsageType.NORMAL); 163 if ("phonetic".equals(codeString)) 164 return new Enumeration<XPathUsageType>(this, XPathUsageType.PHONETIC); 165 if ("nearby".equals(codeString)) 166 return new Enumeration<XPathUsageType>(this, XPathUsageType.NEARBY); 167 if ("distance".equals(codeString)) 168 return new Enumeration<XPathUsageType>(this, XPathUsageType.DISTANCE); 169 if ("other".equals(codeString)) 170 return new Enumeration<XPathUsageType>(this, XPathUsageType.OTHER); 171 throw new FHIRException("Unknown XPathUsageType code '"+codeString+"'"); 172 } 173 public String toCode(XPathUsageType code) { 174 if (code == XPathUsageType.NORMAL) 175 return "normal"; 176 if (code == XPathUsageType.PHONETIC) 177 return "phonetic"; 178 if (code == XPathUsageType.NEARBY) 179 return "nearby"; 180 if (code == XPathUsageType.DISTANCE) 181 return "distance"; 182 if (code == XPathUsageType.OTHER) 183 return "other"; 184 return "?"; 185 } 186 public String toSystem(XPathUsageType code) { 187 return code.getSystem(); 188 } 189 } 190 191 @Block() 192 public static class SearchParameterContactComponent extends BackboneElement implements IBaseBackboneElement { 193 /** 194 * The name of an individual to contact regarding the search parameter. 195 */ 196 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 197 @Description(shortDefinition="Name of an individual to contact", formalDefinition="The name of an individual to contact regarding the search parameter." ) 198 protected StringType name; 199 200 /** 201 * Contact details for individual (if a name was provided) or the publisher. 202 */ 203 @Child(name = "telecom", type = {ContactPoint.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 204 @Description(shortDefinition="Contact details for individual or publisher", formalDefinition="Contact details for individual (if a name was provided) or the publisher." ) 205 protected List<ContactPoint> telecom; 206 207 private static final long serialVersionUID = -1179697803L; 208 209 /** 210 * Constructor 211 */ 212 public SearchParameterContactComponent() { 213 super(); 214 } 215 216 /** 217 * @return {@link #name} (The name of an individual to contact regarding the search parameter.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 218 */ 219 public StringType getNameElement() { 220 if (this.name == null) 221 if (Configuration.errorOnAutoCreate()) 222 throw new Error("Attempt to auto-create SearchParameterContactComponent.name"); 223 else if (Configuration.doAutoCreate()) 224 this.name = new StringType(); // bb 225 return this.name; 226 } 227 228 public boolean hasNameElement() { 229 return this.name != null && !this.name.isEmpty(); 230 } 231 232 public boolean hasName() { 233 return this.name != null && !this.name.isEmpty(); 234 } 235 236 /** 237 * @param value {@link #name} (The name of an individual to contact regarding the search parameter.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 238 */ 239 public SearchParameterContactComponent setNameElement(StringType value) { 240 this.name = value; 241 return this; 242 } 243 244 /** 245 * @return The name of an individual to contact regarding the search parameter. 246 */ 247 public String getName() { 248 return this.name == null ? null : this.name.getValue(); 249 } 250 251 /** 252 * @param value The name of an individual to contact regarding the search parameter. 253 */ 254 public SearchParameterContactComponent setName(String value) { 255 if (Utilities.noString(value)) 256 this.name = null; 257 else { 258 if (this.name == null) 259 this.name = new StringType(); 260 this.name.setValue(value); 261 } 262 return this; 263 } 264 265 /** 266 * @return {@link #telecom} (Contact details for individual (if a name was provided) or the publisher.) 267 */ 268 public List<ContactPoint> getTelecom() { 269 if (this.telecom == null) 270 this.telecom = new ArrayList<ContactPoint>(); 271 return this.telecom; 272 } 273 274 public boolean hasTelecom() { 275 if (this.telecom == null) 276 return false; 277 for (ContactPoint item : this.telecom) 278 if (!item.isEmpty()) 279 return true; 280 return false; 281 } 282 283 /** 284 * @return {@link #telecom} (Contact details for individual (if a name was provided) or the publisher.) 285 */ 286 // syntactic sugar 287 public ContactPoint addTelecom() { //3 288 ContactPoint t = new ContactPoint(); 289 if (this.telecom == null) 290 this.telecom = new ArrayList<ContactPoint>(); 291 this.telecom.add(t); 292 return t; 293 } 294 295 // syntactic sugar 296 public SearchParameterContactComponent addTelecom(ContactPoint t) { //3 297 if (t == null) 298 return this; 299 if (this.telecom == null) 300 this.telecom = new ArrayList<ContactPoint>(); 301 this.telecom.add(t); 302 return this; 303 } 304 305 protected void listChildren(List<Property> childrenList) { 306 super.listChildren(childrenList); 307 childrenList.add(new Property("name", "string", "The name of an individual to contact regarding the search parameter.", 0, java.lang.Integer.MAX_VALUE, name)); 308 childrenList.add(new Property("telecom", "ContactPoint", "Contact details for individual (if a name was provided) or the publisher.", 0, java.lang.Integer.MAX_VALUE, telecom)); 309 } 310 311 @Override 312 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 313 switch (hash) { 314 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 315 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 316 default: return super.getProperty(hash, name, checkValid); 317 } 318 319 } 320 321 @Override 322 public void setProperty(int hash, String name, Base value) throws FHIRException { 323 switch (hash) { 324 case 3373707: // name 325 this.name = castToString(value); // StringType 326 break; 327 case -1429363305: // telecom 328 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 329 break; 330 default: super.setProperty(hash, name, value); 331 } 332 333 } 334 335 @Override 336 public void setProperty(String name, Base value) throws FHIRException { 337 if (name.equals("name")) 338 this.name = castToString(value); // StringType 339 else if (name.equals("telecom")) 340 this.getTelecom().add(castToContactPoint(value)); 341 else 342 super.setProperty(name, value); 343 } 344 345 @Override 346 public Base makeProperty(int hash, String name) throws FHIRException { 347 switch (hash) { 348 case 3373707: throw new FHIRException("Cannot make property name as it is not a complex type"); // StringType 349 case -1429363305: return addTelecom(); // ContactPoint 350 default: return super.makeProperty(hash, name); 351 } 352 353 } 354 355 @Override 356 public Base addChild(String name) throws FHIRException { 357 if (name.equals("name")) { 358 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.name"); 359 } 360 else if (name.equals("telecom")) { 361 return addTelecom(); 362 } 363 else 364 return super.addChild(name); 365 } 366 367 public SearchParameterContactComponent copy() { 368 SearchParameterContactComponent dst = new SearchParameterContactComponent(); 369 copyValues(dst); 370 dst.name = name == null ? null : name.copy(); 371 if (telecom != null) { 372 dst.telecom = new ArrayList<ContactPoint>(); 373 for (ContactPoint i : telecom) 374 dst.telecom.add(i.copy()); 375 }; 376 return dst; 377 } 378 379 @Override 380 public boolean equalsDeep(Base other) { 381 if (!super.equalsDeep(other)) 382 return false; 383 if (!(other instanceof SearchParameterContactComponent)) 384 return false; 385 SearchParameterContactComponent o = (SearchParameterContactComponent) other; 386 return compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true); 387 } 388 389 @Override 390 public boolean equalsShallow(Base other) { 391 if (!super.equalsShallow(other)) 392 return false; 393 if (!(other instanceof SearchParameterContactComponent)) 394 return false; 395 SearchParameterContactComponent o = (SearchParameterContactComponent) other; 396 return compareValues(name, o.name, true); 397 } 398 399 public boolean isEmpty() { 400 return super.isEmpty() && (name == null || name.isEmpty()) && (telecom == null || telecom.isEmpty()) 401 ; 402 } 403 404 public String fhirType() { 405 return "SearchParameter.contact"; 406 407 } 408 409 } 410 411 /** 412 * An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published. 413 */ 414 @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) 415 @Description(shortDefinition="Absolute URL used to reference this search parameter", formalDefinition="An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published." ) 416 protected UriType url; 417 418 /** 419 * A free text natural language name identifying the search parameter. 420 */ 421 @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) 422 @Description(shortDefinition="Informal name for this search parameter", formalDefinition="A free text natural language name identifying the search parameter." ) 423 protected StringType name; 424 425 /** 426 * The status of this search parameter definition. 427 */ 428 @Child(name = "status", type = {CodeType.class}, order=2, min=0, max=1, modifier=true, summary=true) 429 @Description(shortDefinition="draft | active | retired", formalDefinition="The status of this search parameter definition." ) 430 protected Enumeration<ConformanceResourceStatus> status; 431 432 /** 433 * A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 434 */ 435 @Child(name = "experimental", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=true) 436 @Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." ) 437 protected BooleanType experimental; 438 439 /** 440 * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes. 441 */ 442 @Child(name = "date", type = {DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=true) 443 @Description(shortDefinition="Publication Date(/time)", formalDefinition="The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes." ) 444 protected DateTimeType date; 445 446 /** 447 * The name of the individual or organization that published the search parameter. 448 */ 449 @Child(name = "publisher", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 450 @Description(shortDefinition="Name of the publisher (Organization or individual)", formalDefinition="The name of the individual or organization that published the search parameter." ) 451 protected StringType publisher; 452 453 /** 454 * Contacts to assist a user in finding and communicating with the publisher. 455 */ 456 @Child(name = "contact", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 457 @Description(shortDefinition="Contact details of the publisher", formalDefinition="Contacts to assist a user in finding and communicating with the publisher." ) 458 protected List<SearchParameterContactComponent> contact; 459 460 /** 461 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of search parameters. 462 */ 463 @Child(name = "useContext", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 464 @Description(shortDefinition="Content intends to support these contexts", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of search parameters." ) 465 protected List<CodeableConcept> useContext; 466 467 /** 468 * The Scope and Usage that this search parameter was created to meet. 469 */ 470 @Child(name = "requirements", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) 471 @Description(shortDefinition="Why this search parameter is defined", formalDefinition="The Scope and Usage that this search parameter was created to meet." ) 472 protected StringType requirements; 473 474 /** 475 * The code used in the URL or the parameter name in a parameters resource for this search parameter. 476 */ 477 @Child(name = "code", type = {CodeType.class}, order=9, min=1, max=1, modifier=false, summary=true) 478 @Description(shortDefinition="Code used in URL", formalDefinition="The code used in the URL or the parameter name in a parameters resource for this search parameter." ) 479 protected CodeType code; 480 481 /** 482 * The base resource type that this search parameter refers to. 483 */ 484 @Child(name = "base", type = {CodeType.class}, order=10, min=1, max=1, modifier=false, summary=true) 485 @Description(shortDefinition="The resource type this search parameter applies to", formalDefinition="The base resource type that this search parameter refers to." ) 486 protected CodeType base; 487 488 /** 489 * The type of value a search parameter refers to, and how the content is interpreted. 490 */ 491 @Child(name = "type", type = {CodeType.class}, order=11, min=1, max=1, modifier=false, summary=true) 492 @Description(shortDefinition="number | date | string | token | reference | composite | quantity | uri", formalDefinition="The type of value a search parameter refers to, and how the content is interpreted." ) 493 protected Enumeration<SearchParamType> type; 494 495 /** 496 * A description of the search parameters and how it used. 497 */ 498 @Child(name = "description", type = {StringType.class}, order=12, min=1, max=1, modifier=false, summary=true) 499 @Description(shortDefinition="Documentation for search parameter", formalDefinition="A description of the search parameters and how it used." ) 500 protected StringType description; 501 502 /** 503 * A FluentPath expression that returns a set of elements for the search parameter. 504 */ 505 @Child(name = "expression", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) 506 @Description(shortDefinition="FluentPath expression that extracts the values", formalDefinition="A FluentPath expression that returns a set of elements for the search parameter." ) 507 protected StringType expression; 508 509 /** 510 * An XPath expression that returns a set of elements for the search parameter. 511 */ 512 @Child(name = "xpath", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false) 513 @Description(shortDefinition="XPath that extracts the values", formalDefinition="An XPath expression that returns a set of elements for the search parameter." ) 514 protected StringType xpath; 515 516 /** 517 * How the search parameter relates to the set of elements returned by evaluating the xpath query. 518 */ 519 @Child(name = "xpathUsage", type = {CodeType.class}, order=15, min=0, max=1, modifier=false, summary=false) 520 @Description(shortDefinition="normal | phonetic | nearby | distance | other", formalDefinition="How the search parameter relates to the set of elements returned by evaluating the xpath query." ) 521 protected Enumeration<XPathUsageType> xpathUsage; 522 523 /** 524 * Types of resource (if a resource is referenced). 525 */ 526 @Child(name = "target", type = {CodeType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 527 @Description(shortDefinition="Types of resource (if a resource reference)", formalDefinition="Types of resource (if a resource is referenced)." ) 528 protected List<CodeType> target; 529 530 private static final long serialVersionUID = -310845178L; 531 532 /** 533 * Constructor 534 */ 535 public SearchParameter() { 536 super(); 537 } 538 539 /** 540 * Constructor 541 */ 542 public SearchParameter(UriType url, StringType name, CodeType code, CodeType base, Enumeration<SearchParamType> type, StringType description) { 543 super(); 544 this.url = url; 545 this.name = name; 546 this.code = code; 547 this.base = base; 548 this.type = type; 549 this.description = description; 550 } 551 552 /** 553 * @return {@link #url} (An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 554 */ 555 public UriType getUrlElement() { 556 if (this.url == null) 557 if (Configuration.errorOnAutoCreate()) 558 throw new Error("Attempt to auto-create SearchParameter.url"); 559 else if (Configuration.doAutoCreate()) 560 this.url = new UriType(); // bb 561 return this.url; 562 } 563 564 public boolean hasUrlElement() { 565 return this.url != null && !this.url.isEmpty(); 566 } 567 568 public boolean hasUrl() { 569 return this.url != null && !this.url.isEmpty(); 570 } 571 572 /** 573 * @param value {@link #url} (An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 574 */ 575 public SearchParameter setUrlElement(UriType value) { 576 this.url = value; 577 return this; 578 } 579 580 /** 581 * @return An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published. 582 */ 583 public String getUrl() { 584 return this.url == null ? null : this.url.getValue(); 585 } 586 587 /** 588 * @param value An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published. 589 */ 590 public SearchParameter setUrl(String value) { 591 if (this.url == null) 592 this.url = new UriType(); 593 this.url.setValue(value); 594 return this; 595 } 596 597 /** 598 * @return {@link #name} (A free text natural language name identifying the search parameter.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 599 */ 600 public StringType getNameElement() { 601 if (this.name == null) 602 if (Configuration.errorOnAutoCreate()) 603 throw new Error("Attempt to auto-create SearchParameter.name"); 604 else if (Configuration.doAutoCreate()) 605 this.name = new StringType(); // bb 606 return this.name; 607 } 608 609 public boolean hasNameElement() { 610 return this.name != null && !this.name.isEmpty(); 611 } 612 613 public boolean hasName() { 614 return this.name != null && !this.name.isEmpty(); 615 } 616 617 /** 618 * @param value {@link #name} (A free text natural language name identifying the search parameter.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 619 */ 620 public SearchParameter setNameElement(StringType value) { 621 this.name = value; 622 return this; 623 } 624 625 /** 626 * @return A free text natural language name identifying the search parameter. 627 */ 628 public String getName() { 629 return this.name == null ? null : this.name.getValue(); 630 } 631 632 /** 633 * @param value A free text natural language name identifying the search parameter. 634 */ 635 public SearchParameter setName(String value) { 636 if (this.name == null) 637 this.name = new StringType(); 638 this.name.setValue(value); 639 return this; 640 } 641 642 /** 643 * @return {@link #status} (The status of this search parameter definition.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 644 */ 645 public Enumeration<ConformanceResourceStatus> getStatusElement() { 646 if (this.status == null) 647 if (Configuration.errorOnAutoCreate()) 648 throw new Error("Attempt to auto-create SearchParameter.status"); 649 else if (Configuration.doAutoCreate()) 650 this.status = new Enumeration<ConformanceResourceStatus>(new ConformanceResourceStatusEnumFactory()); // bb 651 return this.status; 652 } 653 654 public boolean hasStatusElement() { 655 return this.status != null && !this.status.isEmpty(); 656 } 657 658 public boolean hasStatus() { 659 return this.status != null && !this.status.isEmpty(); 660 } 661 662 /** 663 * @param value {@link #status} (The status of this search parameter definition.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 664 */ 665 public SearchParameter setStatusElement(Enumeration<ConformanceResourceStatus> value) { 666 this.status = value; 667 return this; 668 } 669 670 /** 671 * @return The status of this search parameter definition. 672 */ 673 public ConformanceResourceStatus getStatus() { 674 return this.status == null ? null : this.status.getValue(); 675 } 676 677 /** 678 * @param value The status of this search parameter definition. 679 */ 680 public SearchParameter setStatus(ConformanceResourceStatus value) { 681 if (value == null) 682 this.status = null; 683 else { 684 if (this.status == null) 685 this.status = new Enumeration<ConformanceResourceStatus>(new ConformanceResourceStatusEnumFactory()); 686 this.status.setValue(value); 687 } 688 return this; 689 } 690 691 /** 692 * @return {@link #experimental} (A flag to indicate that this search parameter 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 693 */ 694 public BooleanType getExperimentalElement() { 695 if (this.experimental == null) 696 if (Configuration.errorOnAutoCreate()) 697 throw new Error("Attempt to auto-create SearchParameter.experimental"); 698 else if (Configuration.doAutoCreate()) 699 this.experimental = new BooleanType(); // bb 700 return this.experimental; 701 } 702 703 public boolean hasExperimentalElement() { 704 return this.experimental != null && !this.experimental.isEmpty(); 705 } 706 707 public boolean hasExperimental() { 708 return this.experimental != null && !this.experimental.isEmpty(); 709 } 710 711 /** 712 * @param value {@link #experimental} (A flag to indicate that this search parameter 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 713 */ 714 public SearchParameter setExperimentalElement(BooleanType value) { 715 this.experimental = value; 716 return this; 717 } 718 719 /** 720 * @return A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 721 */ 722 public boolean getExperimental() { 723 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 724 } 725 726 /** 727 * @param value A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 728 */ 729 public SearchParameter setExperimental(boolean value) { 730 if (this.experimental == null) 731 this.experimental = new BooleanType(); 732 this.experimental.setValue(value); 733 return this; 734 } 735 736 /** 737 * @return {@link #date} (The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 738 */ 739 public DateTimeType getDateElement() { 740 if (this.date == null) 741 if (Configuration.errorOnAutoCreate()) 742 throw new Error("Attempt to auto-create SearchParameter.date"); 743 else if (Configuration.doAutoCreate()) 744 this.date = new DateTimeType(); // bb 745 return this.date; 746 } 747 748 public boolean hasDateElement() { 749 return this.date != null && !this.date.isEmpty(); 750 } 751 752 public boolean hasDate() { 753 return this.date != null && !this.date.isEmpty(); 754 } 755 756 /** 757 * @param value {@link #date} (The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 758 */ 759 public SearchParameter setDateElement(DateTimeType value) { 760 this.date = value; 761 return this; 762 } 763 764 /** 765 * @return The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes. 766 */ 767 public Date getDate() { 768 return this.date == null ? null : this.date.getValue(); 769 } 770 771 /** 772 * @param value The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes. 773 */ 774 public SearchParameter setDate(Date value) { 775 if (value == null) 776 this.date = null; 777 else { 778 if (this.date == null) 779 this.date = new DateTimeType(); 780 this.date.setValue(value); 781 } 782 return this; 783 } 784 785 /** 786 * @return {@link #publisher} (The name of the individual or organization that published the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 787 */ 788 public StringType getPublisherElement() { 789 if (this.publisher == null) 790 if (Configuration.errorOnAutoCreate()) 791 throw new Error("Attempt to auto-create SearchParameter.publisher"); 792 else if (Configuration.doAutoCreate()) 793 this.publisher = new StringType(); // bb 794 return this.publisher; 795 } 796 797 public boolean hasPublisherElement() { 798 return this.publisher != null && !this.publisher.isEmpty(); 799 } 800 801 public boolean hasPublisher() { 802 return this.publisher != null && !this.publisher.isEmpty(); 803 } 804 805 /** 806 * @param value {@link #publisher} (The name of the individual or organization that published the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 807 */ 808 public SearchParameter setPublisherElement(StringType value) { 809 this.publisher = value; 810 return this; 811 } 812 813 /** 814 * @return The name of the individual or organization that published the search parameter. 815 */ 816 public String getPublisher() { 817 return this.publisher == null ? null : this.publisher.getValue(); 818 } 819 820 /** 821 * @param value The name of the individual or organization that published the search parameter. 822 */ 823 public SearchParameter setPublisher(String value) { 824 if (Utilities.noString(value)) 825 this.publisher = null; 826 else { 827 if (this.publisher == null) 828 this.publisher = new StringType(); 829 this.publisher.setValue(value); 830 } 831 return this; 832 } 833 834 /** 835 * @return {@link #contact} (Contacts to assist a user in finding and communicating with the publisher.) 836 */ 837 public List<SearchParameterContactComponent> getContact() { 838 if (this.contact == null) 839 this.contact = new ArrayList<SearchParameterContactComponent>(); 840 return this.contact; 841 } 842 843 public boolean hasContact() { 844 if (this.contact == null) 845 return false; 846 for (SearchParameterContactComponent item : this.contact) 847 if (!item.isEmpty()) 848 return true; 849 return false; 850 } 851 852 /** 853 * @return {@link #contact} (Contacts to assist a user in finding and communicating with the publisher.) 854 */ 855 // syntactic sugar 856 public SearchParameterContactComponent addContact() { //3 857 SearchParameterContactComponent t = new SearchParameterContactComponent(); 858 if (this.contact == null) 859 this.contact = new ArrayList<SearchParameterContactComponent>(); 860 this.contact.add(t); 861 return t; 862 } 863 864 // syntactic sugar 865 public SearchParameter addContact(SearchParameterContactComponent t) { //3 866 if (t == null) 867 return this; 868 if (this.contact == null) 869 this.contact = new ArrayList<SearchParameterContactComponent>(); 870 this.contact.add(t); 871 return this; 872 } 873 874 /** 875 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of search parameters.) 876 */ 877 public List<CodeableConcept> getUseContext() { 878 if (this.useContext == null) 879 this.useContext = new ArrayList<CodeableConcept>(); 880 return this.useContext; 881 } 882 883 public boolean hasUseContext() { 884 if (this.useContext == null) 885 return false; 886 for (CodeableConcept item : this.useContext) 887 if (!item.isEmpty()) 888 return true; 889 return false; 890 } 891 892 /** 893 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of search parameters.) 894 */ 895 // syntactic sugar 896 public CodeableConcept addUseContext() { //3 897 CodeableConcept t = new CodeableConcept(); 898 if (this.useContext == null) 899 this.useContext = new ArrayList<CodeableConcept>(); 900 this.useContext.add(t); 901 return t; 902 } 903 904 // syntactic sugar 905 public SearchParameter addUseContext(CodeableConcept t) { //3 906 if (t == null) 907 return this; 908 if (this.useContext == null) 909 this.useContext = new ArrayList<CodeableConcept>(); 910 this.useContext.add(t); 911 return this; 912 } 913 914 /** 915 * @return {@link #requirements} (The Scope and Usage that this search parameter was created to meet.). This is the underlying object with id, value and extensions. The accessor "getRequirements" gives direct access to the value 916 */ 917 public StringType getRequirementsElement() { 918 if (this.requirements == null) 919 if (Configuration.errorOnAutoCreate()) 920 throw new Error("Attempt to auto-create SearchParameter.requirements"); 921 else if (Configuration.doAutoCreate()) 922 this.requirements = new StringType(); // bb 923 return this.requirements; 924 } 925 926 public boolean hasRequirementsElement() { 927 return this.requirements != null && !this.requirements.isEmpty(); 928 } 929 930 public boolean hasRequirements() { 931 return this.requirements != null && !this.requirements.isEmpty(); 932 } 933 934 /** 935 * @param value {@link #requirements} (The Scope and Usage that this search parameter was created to meet.). This is the underlying object with id, value and extensions. The accessor "getRequirements" gives direct access to the value 936 */ 937 public SearchParameter setRequirementsElement(StringType value) { 938 this.requirements = value; 939 return this; 940 } 941 942 /** 943 * @return The Scope and Usage that this search parameter was created to meet. 944 */ 945 public String getRequirements() { 946 return this.requirements == null ? null : this.requirements.getValue(); 947 } 948 949 /** 950 * @param value The Scope and Usage that this search parameter was created to meet. 951 */ 952 public SearchParameter setRequirements(String value) { 953 if (Utilities.noString(value)) 954 this.requirements = null; 955 else { 956 if (this.requirements == null) 957 this.requirements = new StringType(); 958 this.requirements.setValue(value); 959 } 960 return this; 961 } 962 963 /** 964 * @return {@link #code} (The code used in the URL or the parameter name in a parameters resource for this search parameter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 965 */ 966 public CodeType getCodeElement() { 967 if (this.code == null) 968 if (Configuration.errorOnAutoCreate()) 969 throw new Error("Attempt to auto-create SearchParameter.code"); 970 else if (Configuration.doAutoCreate()) 971 this.code = new CodeType(); // bb 972 return this.code; 973 } 974 975 public boolean hasCodeElement() { 976 return this.code != null && !this.code.isEmpty(); 977 } 978 979 public boolean hasCode() { 980 return this.code != null && !this.code.isEmpty(); 981 } 982 983 /** 984 * @param value {@link #code} (The code used in the URL or the parameter name in a parameters resource for this search parameter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 985 */ 986 public SearchParameter setCodeElement(CodeType value) { 987 this.code = value; 988 return this; 989 } 990 991 /** 992 * @return The code used in the URL or the parameter name in a parameters resource for this search parameter. 993 */ 994 public String getCode() { 995 return this.code == null ? null : this.code.getValue(); 996 } 997 998 /** 999 * @param value The code used in the URL or the parameter name in a parameters resource for this search parameter. 1000 */ 1001 public SearchParameter setCode(String value) { 1002 if (this.code == null) 1003 this.code = new CodeType(); 1004 this.code.setValue(value); 1005 return this; 1006 } 1007 1008 /** 1009 * @return {@link #base} (The base resource type that this search parameter refers to.). This is the underlying object with id, value and extensions. The accessor "getBase" gives direct access to the value 1010 */ 1011 public CodeType getBaseElement() { 1012 if (this.base == null) 1013 if (Configuration.errorOnAutoCreate()) 1014 throw new Error("Attempt to auto-create SearchParameter.base"); 1015 else if (Configuration.doAutoCreate()) 1016 this.base = new CodeType(); // bb 1017 return this.base; 1018 } 1019 1020 public boolean hasBaseElement() { 1021 return this.base != null && !this.base.isEmpty(); 1022 } 1023 1024 public boolean hasBase() { 1025 return this.base != null && !this.base.isEmpty(); 1026 } 1027 1028 /** 1029 * @param value {@link #base} (The base resource type that this search parameter refers to.). This is the underlying object with id, value and extensions. The accessor "getBase" gives direct access to the value 1030 */ 1031 public SearchParameter setBaseElement(CodeType value) { 1032 this.base = value; 1033 return this; 1034 } 1035 1036 /** 1037 * @return The base resource type that this search parameter refers to. 1038 */ 1039 public String getBase() { 1040 return this.base == null ? null : this.base.getValue(); 1041 } 1042 1043 /** 1044 * @param value The base resource type that this search parameter refers to. 1045 */ 1046 public SearchParameter setBase(String value) { 1047 if (this.base == null) 1048 this.base = new CodeType(); 1049 this.base.setValue(value); 1050 return this; 1051 } 1052 1053 /** 1054 * @return {@link #type} (The type of value a search parameter refers to, and how the content is interpreted.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 1055 */ 1056 public Enumeration<SearchParamType> getTypeElement() { 1057 if (this.type == null) 1058 if (Configuration.errorOnAutoCreate()) 1059 throw new Error("Attempt to auto-create SearchParameter.type"); 1060 else if (Configuration.doAutoCreate()) 1061 this.type = new Enumeration<SearchParamType>(new SearchParamTypeEnumFactory()); // bb 1062 return this.type; 1063 } 1064 1065 public boolean hasTypeElement() { 1066 return this.type != null && !this.type.isEmpty(); 1067 } 1068 1069 public boolean hasType() { 1070 return this.type != null && !this.type.isEmpty(); 1071 } 1072 1073 /** 1074 * @param value {@link #type} (The type of value a search parameter refers to, and how the content is interpreted.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 1075 */ 1076 public SearchParameter setTypeElement(Enumeration<SearchParamType> value) { 1077 this.type = value; 1078 return this; 1079 } 1080 1081 /** 1082 * @return The type of value a search parameter refers to, and how the content is interpreted. 1083 */ 1084 public SearchParamType getType() { 1085 return this.type == null ? null : this.type.getValue(); 1086 } 1087 1088 /** 1089 * @param value The type of value a search parameter refers to, and how the content is interpreted. 1090 */ 1091 public SearchParameter setType(SearchParamType value) { 1092 if (this.type == null) 1093 this.type = new Enumeration<SearchParamType>(new SearchParamTypeEnumFactory()); 1094 this.type.setValue(value); 1095 return this; 1096 } 1097 1098 /** 1099 * @return {@link #description} (A description of the search parameters and how it used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1100 */ 1101 public StringType getDescriptionElement() { 1102 if (this.description == null) 1103 if (Configuration.errorOnAutoCreate()) 1104 throw new Error("Attempt to auto-create SearchParameter.description"); 1105 else if (Configuration.doAutoCreate()) 1106 this.description = new StringType(); // bb 1107 return this.description; 1108 } 1109 1110 public boolean hasDescriptionElement() { 1111 return this.description != null && !this.description.isEmpty(); 1112 } 1113 1114 public boolean hasDescription() { 1115 return this.description != null && !this.description.isEmpty(); 1116 } 1117 1118 /** 1119 * @param value {@link #description} (A description of the search parameters and how it used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1120 */ 1121 public SearchParameter setDescriptionElement(StringType value) { 1122 this.description = value; 1123 return this; 1124 } 1125 1126 /** 1127 * @return A description of the search parameters and how it used. 1128 */ 1129 public String getDescription() { 1130 return this.description == null ? null : this.description.getValue(); 1131 } 1132 1133 /** 1134 * @param value A description of the search parameters and how it used. 1135 */ 1136 public SearchParameter setDescription(String value) { 1137 if (this.description == null) 1138 this.description = new StringType(); 1139 this.description.setValue(value); 1140 return this; 1141 } 1142 1143 /** 1144 * @return {@link #expression} (A FluentPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 1145 */ 1146 public StringType getExpressionElement() { 1147 if (this.expression == null) 1148 if (Configuration.errorOnAutoCreate()) 1149 throw new Error("Attempt to auto-create SearchParameter.expression"); 1150 else if (Configuration.doAutoCreate()) 1151 this.expression = new StringType(); // bb 1152 return this.expression; 1153 } 1154 1155 public boolean hasExpressionElement() { 1156 return this.expression != null && !this.expression.isEmpty(); 1157 } 1158 1159 public boolean hasExpression() { 1160 return this.expression != null && !this.expression.isEmpty(); 1161 } 1162 1163 /** 1164 * @param value {@link #expression} (A FluentPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 1165 */ 1166 public SearchParameter setExpressionElement(StringType value) { 1167 this.expression = value; 1168 return this; 1169 } 1170 1171 /** 1172 * @return A FluentPath expression that returns a set of elements for the search parameter. 1173 */ 1174 public String getExpression() { 1175 return this.expression == null ? null : this.expression.getValue(); 1176 } 1177 1178 /** 1179 * @param value A FluentPath expression that returns a set of elements for the search parameter. 1180 */ 1181 public SearchParameter setExpression(String value) { 1182 if (Utilities.noString(value)) 1183 this.expression = null; 1184 else { 1185 if (this.expression == null) 1186 this.expression = new StringType(); 1187 this.expression.setValue(value); 1188 } 1189 return this; 1190 } 1191 1192 /** 1193 * @return {@link #xpath} (An XPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getXpath" gives direct access to the value 1194 */ 1195 public StringType getXpathElement() { 1196 if (this.xpath == null) 1197 if (Configuration.errorOnAutoCreate()) 1198 throw new Error("Attempt to auto-create SearchParameter.xpath"); 1199 else if (Configuration.doAutoCreate()) 1200 this.xpath = new StringType(); // bb 1201 return this.xpath; 1202 } 1203 1204 public boolean hasXpathElement() { 1205 return this.xpath != null && !this.xpath.isEmpty(); 1206 } 1207 1208 public boolean hasXpath() { 1209 return this.xpath != null && !this.xpath.isEmpty(); 1210 } 1211 1212 /** 1213 * @param value {@link #xpath} (An XPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getXpath" gives direct access to the value 1214 */ 1215 public SearchParameter setXpathElement(StringType value) { 1216 this.xpath = value; 1217 return this; 1218 } 1219 1220 /** 1221 * @return An XPath expression that returns a set of elements for the search parameter. 1222 */ 1223 public String getXpath() { 1224 return this.xpath == null ? null : this.xpath.getValue(); 1225 } 1226 1227 /** 1228 * @param value An XPath expression that returns a set of elements for the search parameter. 1229 */ 1230 public SearchParameter setXpath(String value) { 1231 if (Utilities.noString(value)) 1232 this.xpath = null; 1233 else { 1234 if (this.xpath == null) 1235 this.xpath = new StringType(); 1236 this.xpath.setValue(value); 1237 } 1238 return this; 1239 } 1240 1241 /** 1242 * @return {@link #xpathUsage} (How the search parameter relates to the set of elements returned by evaluating the xpath query.). This is the underlying object with id, value and extensions. The accessor "getXpathUsage" gives direct access to the value 1243 */ 1244 public Enumeration<XPathUsageType> getXpathUsageElement() { 1245 if (this.xpathUsage == null) 1246 if (Configuration.errorOnAutoCreate()) 1247 throw new Error("Attempt to auto-create SearchParameter.xpathUsage"); 1248 else if (Configuration.doAutoCreate()) 1249 this.xpathUsage = new Enumeration<XPathUsageType>(new XPathUsageTypeEnumFactory()); // bb 1250 return this.xpathUsage; 1251 } 1252 1253 public boolean hasXpathUsageElement() { 1254 return this.xpathUsage != null && !this.xpathUsage.isEmpty(); 1255 } 1256 1257 public boolean hasXpathUsage() { 1258 return this.xpathUsage != null && !this.xpathUsage.isEmpty(); 1259 } 1260 1261 /** 1262 * @param value {@link #xpathUsage} (How the search parameter relates to the set of elements returned by evaluating the xpath query.). This is the underlying object with id, value and extensions. The accessor "getXpathUsage" gives direct access to the value 1263 */ 1264 public SearchParameter setXpathUsageElement(Enumeration<XPathUsageType> value) { 1265 this.xpathUsage = value; 1266 return this; 1267 } 1268 1269 /** 1270 * @return How the search parameter relates to the set of elements returned by evaluating the xpath query. 1271 */ 1272 public XPathUsageType getXpathUsage() { 1273 return this.xpathUsage == null ? null : this.xpathUsage.getValue(); 1274 } 1275 1276 /** 1277 * @param value How the search parameter relates to the set of elements returned by evaluating the xpath query. 1278 */ 1279 public SearchParameter setXpathUsage(XPathUsageType value) { 1280 if (value == null) 1281 this.xpathUsage = null; 1282 else { 1283 if (this.xpathUsage == null) 1284 this.xpathUsage = new Enumeration<XPathUsageType>(new XPathUsageTypeEnumFactory()); 1285 this.xpathUsage.setValue(value); 1286 } 1287 return this; 1288 } 1289 1290 /** 1291 * @return {@link #target} (Types of resource (if a resource is referenced).) 1292 */ 1293 public List<CodeType> getTarget() { 1294 if (this.target == null) 1295 this.target = new ArrayList<CodeType>(); 1296 return this.target; 1297 } 1298 1299 public boolean hasTarget() { 1300 if (this.target == null) 1301 return false; 1302 for (CodeType item : this.target) 1303 if (!item.isEmpty()) 1304 return true; 1305 return false; 1306 } 1307 1308 /** 1309 * @return {@link #target} (Types of resource (if a resource is referenced).) 1310 */ 1311 // syntactic sugar 1312 public CodeType addTargetElement() {//2 1313 CodeType t = new CodeType(); 1314 if (this.target == null) 1315 this.target = new ArrayList<CodeType>(); 1316 this.target.add(t); 1317 return t; 1318 } 1319 1320 /** 1321 * @param value {@link #target} (Types of resource (if a resource is referenced).) 1322 */ 1323 public SearchParameter addTarget(String value) { //1 1324 CodeType t = new CodeType(); 1325 t.setValue(value); 1326 if (this.target == null) 1327 this.target = new ArrayList<CodeType>(); 1328 this.target.add(t); 1329 return this; 1330 } 1331 1332 /** 1333 * @param value {@link #target} (Types of resource (if a resource is referenced).) 1334 */ 1335 public boolean hasTarget(String value) { 1336 if (this.target == null) 1337 return false; 1338 for (CodeType v : this.target) 1339 if (v.equals(value)) // code 1340 return true; 1341 return false; 1342 } 1343 1344 protected void listChildren(List<Property> childrenList) { 1345 super.listChildren(childrenList); 1346 childrenList.add(new Property("url", "uri", "An absolute URL that is used to identify this search parameter when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this search parameter is (or will be) published.", 0, java.lang.Integer.MAX_VALUE, url)); 1347 childrenList.add(new Property("name", "string", "A free text natural language name identifying the search parameter.", 0, java.lang.Integer.MAX_VALUE, name)); 1348 childrenList.add(new Property("status", "code", "The status of this search parameter definition.", 0, java.lang.Integer.MAX_VALUE, status)); 1349 childrenList.add(new Property("experimental", "boolean", "A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, java.lang.Integer.MAX_VALUE, experimental)); 1350 childrenList.add(new Property("date", "dateTime", "The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.", 0, java.lang.Integer.MAX_VALUE, date)); 1351 childrenList.add(new Property("publisher", "string", "The name of the individual or organization that published the search parameter.", 0, java.lang.Integer.MAX_VALUE, publisher)); 1352 childrenList.add(new Property("contact", "", "Contacts to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 1353 childrenList.add(new Property("useContext", "CodeableConcept", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of search parameters.", 0, java.lang.Integer.MAX_VALUE, useContext)); 1354 childrenList.add(new Property("requirements", "string", "The Scope and Usage that this search parameter was created to meet.", 0, java.lang.Integer.MAX_VALUE, requirements)); 1355 childrenList.add(new Property("code", "code", "The code used in the URL or the parameter name in a parameters resource for this search parameter.", 0, java.lang.Integer.MAX_VALUE, code)); 1356 childrenList.add(new Property("base", "code", "The base resource type that this search parameter refers to.", 0, java.lang.Integer.MAX_VALUE, base)); 1357 childrenList.add(new Property("type", "code", "The type of value a search parameter refers to, and how the content is interpreted.", 0, java.lang.Integer.MAX_VALUE, type)); 1358 childrenList.add(new Property("description", "string", "A description of the search parameters and how it used.", 0, java.lang.Integer.MAX_VALUE, description)); 1359 childrenList.add(new Property("expression", "string", "A FluentPath expression that returns a set of elements for the search parameter.", 0, java.lang.Integer.MAX_VALUE, expression)); 1360 childrenList.add(new Property("xpath", "string", "An XPath expression that returns a set of elements for the search parameter.", 0, java.lang.Integer.MAX_VALUE, xpath)); 1361 childrenList.add(new Property("xpathUsage", "code", "How the search parameter relates to the set of elements returned by evaluating the xpath query.", 0, java.lang.Integer.MAX_VALUE, xpathUsage)); 1362 childrenList.add(new Property("target", "code", "Types of resource (if a resource is referenced).", 0, java.lang.Integer.MAX_VALUE, target)); 1363 } 1364 1365 @Override 1366 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1367 switch (hash) { 1368 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 1369 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1370 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ConformanceResourceStatus> 1371 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 1372 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1373 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 1374 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // SearchParameterContactComponent 1375 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // CodeableConcept 1376 case -1619874672: /*requirements*/ return this.requirements == null ? new Base[0] : new Base[] {this.requirements}; // StringType 1377 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1378 case 3016401: /*base*/ return this.base == null ? new Base[0] : new Base[] {this.base}; // CodeType 1379 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<SearchParamType> 1380 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1381 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType 1382 case 114256029: /*xpath*/ return this.xpath == null ? new Base[0] : new Base[] {this.xpath}; // StringType 1383 case 1801322244: /*xpathUsage*/ return this.xpathUsage == null ? new Base[0] : new Base[] {this.xpathUsage}; // Enumeration<XPathUsageType> 1384 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // CodeType 1385 default: return super.getProperty(hash, name, checkValid); 1386 } 1387 1388 } 1389 1390 @Override 1391 public void setProperty(int hash, String name, Base value) throws FHIRException { 1392 switch (hash) { 1393 case 116079: // url 1394 this.url = castToUri(value); // UriType 1395 break; 1396 case 3373707: // name 1397 this.name = castToString(value); // StringType 1398 break; 1399 case -892481550: // status 1400 this.status = new ConformanceResourceStatusEnumFactory().fromType(value); // Enumeration<ConformanceResourceStatus> 1401 break; 1402 case -404562712: // experimental 1403 this.experimental = castToBoolean(value); // BooleanType 1404 break; 1405 case 3076014: // date 1406 this.date = castToDateTime(value); // DateTimeType 1407 break; 1408 case 1447404028: // publisher 1409 this.publisher = castToString(value); // StringType 1410 break; 1411 case 951526432: // contact 1412 this.getContact().add((SearchParameterContactComponent) value); // SearchParameterContactComponent 1413 break; 1414 case -669707736: // useContext 1415 this.getUseContext().add(castToCodeableConcept(value)); // CodeableConcept 1416 break; 1417 case -1619874672: // requirements 1418 this.requirements = castToString(value); // StringType 1419 break; 1420 case 3059181: // code 1421 this.code = castToCode(value); // CodeType 1422 break; 1423 case 3016401: // base 1424 this.base = castToCode(value); // CodeType 1425 break; 1426 case 3575610: // type 1427 this.type = new SearchParamTypeEnumFactory().fromType(value); // Enumeration<SearchParamType> 1428 break; 1429 case -1724546052: // description 1430 this.description = castToString(value); // StringType 1431 break; 1432 case -1795452264: // expression 1433 this.expression = castToString(value); // StringType 1434 break; 1435 case 114256029: // xpath 1436 this.xpath = castToString(value); // StringType 1437 break; 1438 case 1801322244: // xpathUsage 1439 this.xpathUsage = new XPathUsageTypeEnumFactory().fromType(value); // Enumeration<XPathUsageType> 1440 break; 1441 case -880905839: // target 1442 this.getTarget().add(castToCode(value)); // CodeType 1443 break; 1444 default: super.setProperty(hash, name, value); 1445 } 1446 1447 } 1448 1449 @Override 1450 public void setProperty(String name, Base value) throws FHIRException { 1451 if (name.equals("url")) 1452 this.url = castToUri(value); // UriType 1453 else if (name.equals("name")) 1454 this.name = castToString(value); // StringType 1455 else if (name.equals("status")) 1456 this.status = new ConformanceResourceStatusEnumFactory().fromType(value); // Enumeration<ConformanceResourceStatus> 1457 else if (name.equals("experimental")) 1458 this.experimental = castToBoolean(value); // BooleanType 1459 else if (name.equals("date")) 1460 this.date = castToDateTime(value); // DateTimeType 1461 else if (name.equals("publisher")) 1462 this.publisher = castToString(value); // StringType 1463 else if (name.equals("contact")) 1464 this.getContact().add((SearchParameterContactComponent) value); 1465 else if (name.equals("useContext")) 1466 this.getUseContext().add(castToCodeableConcept(value)); 1467 else if (name.equals("requirements")) 1468 this.requirements = castToString(value); // StringType 1469 else if (name.equals("code")) 1470 this.code = castToCode(value); // CodeType 1471 else if (name.equals("base")) 1472 this.base = castToCode(value); // CodeType 1473 else if (name.equals("type")) 1474 this.type = new SearchParamTypeEnumFactory().fromType(value); // Enumeration<SearchParamType> 1475 else if (name.equals("description")) 1476 this.description = castToString(value); // StringType 1477 else if (name.equals("expression")) 1478 this.expression = castToString(value); // StringType 1479 else if (name.equals("xpath")) 1480 this.xpath = castToString(value); // StringType 1481 else if (name.equals("xpathUsage")) 1482 this.xpathUsage = new XPathUsageTypeEnumFactory().fromType(value); // Enumeration<XPathUsageType> 1483 else if (name.equals("target")) 1484 this.getTarget().add(castToCode(value)); 1485 else 1486 super.setProperty(name, value); 1487 } 1488 1489 @Override 1490 public Base makeProperty(int hash, String name) throws FHIRException { 1491 switch (hash) { 1492 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 1493 case 3373707: throw new FHIRException("Cannot make property name as it is not a complex type"); // StringType 1494 case -892481550: throw new FHIRException("Cannot make property status as it is not a complex type"); // Enumeration<ConformanceResourceStatus> 1495 case -404562712: throw new FHIRException("Cannot make property experimental as it is not a complex type"); // BooleanType 1496 case 3076014: throw new FHIRException("Cannot make property date as it is not a complex type"); // DateTimeType 1497 case 1447404028: throw new FHIRException("Cannot make property publisher as it is not a complex type"); // StringType 1498 case 951526432: return addContact(); // SearchParameterContactComponent 1499 case -669707736: return addUseContext(); // CodeableConcept 1500 case -1619874672: throw new FHIRException("Cannot make property requirements as it is not a complex type"); // StringType 1501 case 3059181: throw new FHIRException("Cannot make property code as it is not a complex type"); // CodeType 1502 case 3016401: throw new FHIRException("Cannot make property base as it is not a complex type"); // CodeType 1503 case 3575610: throw new FHIRException("Cannot make property type as it is not a complex type"); // Enumeration<SearchParamType> 1504 case -1724546052: throw new FHIRException("Cannot make property description as it is not a complex type"); // StringType 1505 case -1795452264: throw new FHIRException("Cannot make property expression as it is not a complex type"); // StringType 1506 case 114256029: throw new FHIRException("Cannot make property xpath as it is not a complex type"); // StringType 1507 case 1801322244: throw new FHIRException("Cannot make property xpathUsage as it is not a complex type"); // Enumeration<XPathUsageType> 1508 case -880905839: throw new FHIRException("Cannot make property target as it is not a complex type"); // CodeType 1509 default: return super.makeProperty(hash, name); 1510 } 1511 1512 } 1513 1514 @Override 1515 public Base addChild(String name) throws FHIRException { 1516 if (name.equals("url")) { 1517 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.url"); 1518 } 1519 else if (name.equals("name")) { 1520 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.name"); 1521 } 1522 else if (name.equals("status")) { 1523 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.status"); 1524 } 1525 else if (name.equals("experimental")) { 1526 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.experimental"); 1527 } 1528 else if (name.equals("date")) { 1529 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.date"); 1530 } 1531 else if (name.equals("publisher")) { 1532 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.publisher"); 1533 } 1534 else if (name.equals("contact")) { 1535 return addContact(); 1536 } 1537 else if (name.equals("useContext")) { 1538 return addUseContext(); 1539 } 1540 else if (name.equals("requirements")) { 1541 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.requirements"); 1542 } 1543 else if (name.equals("code")) { 1544 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.code"); 1545 } 1546 else if (name.equals("base")) { 1547 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.base"); 1548 } 1549 else if (name.equals("type")) { 1550 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.type"); 1551 } 1552 else if (name.equals("description")) { 1553 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.description"); 1554 } 1555 else if (name.equals("expression")) { 1556 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.expression"); 1557 } 1558 else if (name.equals("xpath")) { 1559 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.xpath"); 1560 } 1561 else if (name.equals("xpathUsage")) { 1562 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.xpathUsage"); 1563 } 1564 else if (name.equals("target")) { 1565 throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.target"); 1566 } 1567 else 1568 return super.addChild(name); 1569 } 1570 1571 public String fhirType() { 1572 return "SearchParameter"; 1573 1574 } 1575 1576 public SearchParameter copy() { 1577 SearchParameter dst = new SearchParameter(); 1578 copyValues(dst); 1579 dst.url = url == null ? null : url.copy(); 1580 dst.name = name == null ? null : name.copy(); 1581 dst.status = status == null ? null : status.copy(); 1582 dst.experimental = experimental == null ? null : experimental.copy(); 1583 dst.date = date == null ? null : date.copy(); 1584 dst.publisher = publisher == null ? null : publisher.copy(); 1585 if (contact != null) { 1586 dst.contact = new ArrayList<SearchParameterContactComponent>(); 1587 for (SearchParameterContactComponent i : contact) 1588 dst.contact.add(i.copy()); 1589 }; 1590 if (useContext != null) { 1591 dst.useContext = new ArrayList<CodeableConcept>(); 1592 for (CodeableConcept i : useContext) 1593 dst.useContext.add(i.copy()); 1594 }; 1595 dst.requirements = requirements == null ? null : requirements.copy(); 1596 dst.code = code == null ? null : code.copy(); 1597 dst.base = base == null ? null : base.copy(); 1598 dst.type = type == null ? null : type.copy(); 1599 dst.description = description == null ? null : description.copy(); 1600 dst.expression = expression == null ? null : expression.copy(); 1601 dst.xpath = xpath == null ? null : xpath.copy(); 1602 dst.xpathUsage = xpathUsage == null ? null : xpathUsage.copy(); 1603 if (target != null) { 1604 dst.target = new ArrayList<CodeType>(); 1605 for (CodeType i : target) 1606 dst.target.add(i.copy()); 1607 }; 1608 return dst; 1609 } 1610 1611 protected SearchParameter typedCopy() { 1612 return copy(); 1613 } 1614 1615 @Override 1616 public boolean equalsDeep(Base other) { 1617 if (!super.equalsDeep(other)) 1618 return false; 1619 if (!(other instanceof SearchParameter)) 1620 return false; 1621 SearchParameter o = (SearchParameter) other; 1622 return compareDeep(url, o.url, true) && compareDeep(name, o.name, true) && compareDeep(status, o.status, true) 1623 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 1624 && compareDeep(contact, o.contact, true) && compareDeep(useContext, o.useContext, true) && compareDeep(requirements, o.requirements, true) 1625 && compareDeep(code, o.code, true) && compareDeep(base, o.base, true) && compareDeep(type, o.type, true) 1626 && compareDeep(description, o.description, true) && compareDeep(expression, o.expression, true) 1627 && compareDeep(xpath, o.xpath, true) && compareDeep(xpathUsage, o.xpathUsage, true) && compareDeep(target, o.target, true) 1628 ; 1629 } 1630 1631 @Override 1632 public boolean equalsShallow(Base other) { 1633 if (!super.equalsShallow(other)) 1634 return false; 1635 if (!(other instanceof SearchParameter)) 1636 return false; 1637 SearchParameter o = (SearchParameter) other; 1638 return compareValues(url, o.url, true) && compareValues(name, o.name, true) && compareValues(status, o.status, true) 1639 && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) 1640 && compareValues(requirements, o.requirements, true) && compareValues(code, o.code, true) && compareValues(base, o.base, true) 1641 && compareValues(type, o.type, true) && compareValues(description, o.description, true) && compareValues(expression, o.expression, true) 1642 && compareValues(xpath, o.xpath, true) && compareValues(xpathUsage, o.xpathUsage, true) && compareValues(target, o.target, true) 1643 ; 1644 } 1645 1646 public boolean isEmpty() { 1647 return super.isEmpty() && (url == null || url.isEmpty()) && (name == null || name.isEmpty()) 1648 && (status == null || status.isEmpty()) && (experimental == null || experimental.isEmpty()) 1649 && (date == null || date.isEmpty()) && (publisher == null || publisher.isEmpty()) && (contact == null || contact.isEmpty()) 1650 && (useContext == null || useContext.isEmpty()) && (requirements == null || requirements.isEmpty()) 1651 && (code == null || code.isEmpty()) && (base == null || base.isEmpty()) && (type == null || type.isEmpty()) 1652 && (description == null || description.isEmpty()) && (expression == null || expression.isEmpty()) 1653 && (xpath == null || xpath.isEmpty()) && (xpathUsage == null || xpathUsage.isEmpty()) && (target == null || target.isEmpty()) 1654 ; 1655 } 1656 1657 @Override 1658 public ResourceType getResourceType() { 1659 return ResourceType.SearchParameter; 1660 } 1661 1662 /** 1663 * Search parameter: <b>description</b> 1664 * <p> 1665 * Description: <b>Documentation for search parameter</b><br> 1666 * Type: <b>string</b><br> 1667 * Path: <b>SearchParameter.description</b><br> 1668 * </p> 1669 */ 1670 @SearchParamDefinition(name="description", path="SearchParameter.description", description="Documentation for search parameter", type="string" ) 1671 public static final String SP_DESCRIPTION = "description"; 1672 /** 1673 * <b>Fluent Client</b> search parameter constant for <b>description</b> 1674 * <p> 1675 * Description: <b>Documentation for search parameter</b><br> 1676 * Type: <b>string</b><br> 1677 * Path: <b>SearchParameter.description</b><br> 1678 * </p> 1679 */ 1680 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 1681 1682 /** 1683 * Search parameter: <b>name</b> 1684 * <p> 1685 * Description: <b>Informal name for this search parameter</b><br> 1686 * Type: <b>string</b><br> 1687 * Path: <b>SearchParameter.name</b><br> 1688 * </p> 1689 */ 1690 @SearchParamDefinition(name="name", path="SearchParameter.name", description="Informal name for this search parameter", type="string" ) 1691 public static final String SP_NAME = "name"; 1692 /** 1693 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1694 * <p> 1695 * Description: <b>Informal name for this search parameter</b><br> 1696 * Type: <b>string</b><br> 1697 * Path: <b>SearchParameter.name</b><br> 1698 * </p> 1699 */ 1700 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1701 1702 /** 1703 * Search parameter: <b>context</b> 1704 * <p> 1705 * Description: <b>A use context assigned to the search parameter</b><br> 1706 * Type: <b>token</b><br> 1707 * Path: <b>SearchParameter.useContext</b><br> 1708 * </p> 1709 */ 1710 @SearchParamDefinition(name="context", path="SearchParameter.useContext", description="A use context assigned to the search parameter", type="token" ) 1711 public static final String SP_CONTEXT = "context"; 1712 /** 1713 * <b>Fluent Client</b> search parameter constant for <b>context</b> 1714 * <p> 1715 * Description: <b>A use context assigned to the search parameter</b><br> 1716 * Type: <b>token</b><br> 1717 * Path: <b>SearchParameter.useContext</b><br> 1718 * </p> 1719 */ 1720 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 1721 1722 /** 1723 * Search parameter: <b>target</b> 1724 * <p> 1725 * Description: <b>Types of resource (if a resource reference)</b><br> 1726 * Type: <b>token</b><br> 1727 * Path: <b>SearchParameter.target</b><br> 1728 * </p> 1729 */ 1730 @SearchParamDefinition(name="target", path="SearchParameter.target", description="Types of resource (if a resource reference)", type="token" ) 1731 public static final String SP_TARGET = "target"; 1732 /** 1733 * <b>Fluent Client</b> search parameter constant for <b>target</b> 1734 * <p> 1735 * Description: <b>Types of resource (if a resource reference)</b><br> 1736 * Type: <b>token</b><br> 1737 * Path: <b>SearchParameter.target</b><br> 1738 * </p> 1739 */ 1740 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET); 1741 1742 /** 1743 * Search parameter: <b>base</b> 1744 * <p> 1745 * Description: <b>The resource type this search parameter applies to</b><br> 1746 * Type: <b>token</b><br> 1747 * Path: <b>SearchParameter.base</b><br> 1748 * </p> 1749 */ 1750 @SearchParamDefinition(name="base", path="SearchParameter.base", description="The resource type this search parameter applies to", type="token" ) 1751 public static final String SP_BASE = "base"; 1752 /** 1753 * <b>Fluent Client</b> search parameter constant for <b>base</b> 1754 * <p> 1755 * Description: <b>The resource type this search parameter applies to</b><br> 1756 * Type: <b>token</b><br> 1757 * Path: <b>SearchParameter.base</b><br> 1758 * </p> 1759 */ 1760 public static final ca.uhn.fhir.rest.gclient.TokenClientParam BASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BASE); 1761 1762 /** 1763 * Search parameter: <b>code</b> 1764 * <p> 1765 * Description: <b>Code used in URL</b><br> 1766 * Type: <b>token</b><br> 1767 * Path: <b>SearchParameter.code</b><br> 1768 * </p> 1769 */ 1770 @SearchParamDefinition(name="code", path="SearchParameter.code", description="Code used in URL", type="token" ) 1771 public static final String SP_CODE = "code"; 1772 /** 1773 * <b>Fluent Client</b> search parameter constant for <b>code</b> 1774 * <p> 1775 * Description: <b>Code used in URL</b><br> 1776 * Type: <b>token</b><br> 1777 * Path: <b>SearchParameter.code</b><br> 1778 * </p> 1779 */ 1780 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 1781 1782 /** 1783 * Search parameter: <b>type</b> 1784 * <p> 1785 * Description: <b>number | date | string | token | reference | composite | quantity | uri</b><br> 1786 * Type: <b>token</b><br> 1787 * Path: <b>SearchParameter.type</b><br> 1788 * </p> 1789 */ 1790 @SearchParamDefinition(name="type", path="SearchParameter.type", description="number | date | string | token | reference | composite | quantity | uri", type="token" ) 1791 public static final String SP_TYPE = "type"; 1792 /** 1793 * <b>Fluent Client</b> search parameter constant for <b>type</b> 1794 * <p> 1795 * Description: <b>number | date | string | token | reference | composite | quantity | uri</b><br> 1796 * Type: <b>token</b><br> 1797 * Path: <b>SearchParameter.type</b><br> 1798 * </p> 1799 */ 1800 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 1801 1802 /** 1803 * Search parameter: <b>url</b> 1804 * <p> 1805 * Description: <b>Absolute URL used to reference this search parameter</b><br> 1806 * Type: <b>uri</b><br> 1807 * Path: <b>SearchParameter.url</b><br> 1808 * </p> 1809 */ 1810 @SearchParamDefinition(name="url", path="SearchParameter.url", description="Absolute URL used to reference this search parameter", type="uri" ) 1811 public static final String SP_URL = "url"; 1812 /** 1813 * <b>Fluent Client</b> search parameter constant for <b>url</b> 1814 * <p> 1815 * Description: <b>Absolute URL used to reference this search parameter</b><br> 1816 * Type: <b>uri</b><br> 1817 * Path: <b>SearchParameter.url</b><br> 1818 * </p> 1819 */ 1820 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 1821 1822 1823} 1824