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