001package org.hl7.fhir.dstu3.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 Mon, Apr 17, 2017 17:38-0400 for FHIR v3.0.1 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.dstu3.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * A compartment definition that defines how resources are accessed on a server. 048 */ 049@ResourceDef(name="CompartmentDefinition", profile="http://hl7.org/fhir/Profile/CompartmentDefinition") 050@ChildOrder(names={"url", "name", "title", "status", "experimental", "date", "publisher", "contact", "description", "purpose", "useContext", "jurisdiction", "code", "search", "resource"}) 051public class CompartmentDefinition extends MetadataResource { 052 053 public enum CompartmentType { 054 /** 055 * The compartment definition is for the patient compartment 056 */ 057 PATIENT, 058 /** 059 * The compartment definition is for the encounter compartment 060 */ 061 ENCOUNTER, 062 /** 063 * The compartment definition is for the related-person compartment 064 */ 065 RELATEDPERSON, 066 /** 067 * The compartment definition is for the practitioner compartment 068 */ 069 PRACTITIONER, 070 /** 071 * The compartment definition is for the device compartment 072 */ 073 DEVICE, 074 /** 075 * added to help the parsers with the generic types 076 */ 077 NULL; 078 public static CompartmentType fromCode(String codeString) throws FHIRException { 079 if (codeString == null || "".equals(codeString)) 080 return null; 081 if ("Patient".equals(codeString)) 082 return PATIENT; 083 if ("Encounter".equals(codeString)) 084 return ENCOUNTER; 085 if ("RelatedPerson".equals(codeString)) 086 return RELATEDPERSON; 087 if ("Practitioner".equals(codeString)) 088 return PRACTITIONER; 089 if ("Device".equals(codeString)) 090 return DEVICE; 091 if (Configuration.isAcceptInvalidEnums()) 092 return null; 093 else 094 throw new FHIRException("Unknown CompartmentType code '"+codeString+"'"); 095 } 096 public String toCode() { 097 switch (this) { 098 case PATIENT: return "Patient"; 099 case ENCOUNTER: return "Encounter"; 100 case RELATEDPERSON: return "RelatedPerson"; 101 case PRACTITIONER: return "Practitioner"; 102 case DEVICE: return "Device"; 103 default: return "?"; 104 } 105 } 106 public String getSystem() { 107 switch (this) { 108 case PATIENT: return "http://hl7.org/fhir/compartment-type"; 109 case ENCOUNTER: return "http://hl7.org/fhir/compartment-type"; 110 case RELATEDPERSON: return "http://hl7.org/fhir/compartment-type"; 111 case PRACTITIONER: return "http://hl7.org/fhir/compartment-type"; 112 case DEVICE: return "http://hl7.org/fhir/compartment-type"; 113 default: return "?"; 114 } 115 } 116 public String getDefinition() { 117 switch (this) { 118 case PATIENT: return "The compartment definition is for the patient compartment"; 119 case ENCOUNTER: return "The compartment definition is for the encounter compartment"; 120 case RELATEDPERSON: return "The compartment definition is for the related-person compartment"; 121 case PRACTITIONER: return "The compartment definition is for the practitioner compartment"; 122 case DEVICE: return "The compartment definition is for the device compartment"; 123 default: return "?"; 124 } 125 } 126 public String getDisplay() { 127 switch (this) { 128 case PATIENT: return "Patient"; 129 case ENCOUNTER: return "Encounter"; 130 case RELATEDPERSON: return "RelatedPerson"; 131 case PRACTITIONER: return "Practitioner"; 132 case DEVICE: return "Device"; 133 default: return "?"; 134 } 135 } 136 } 137 138 public static class CompartmentTypeEnumFactory implements EnumFactory<CompartmentType> { 139 public CompartmentType fromCode(String codeString) throws IllegalArgumentException { 140 if (codeString == null || "".equals(codeString)) 141 if (codeString == null || "".equals(codeString)) 142 return null; 143 if ("Patient".equals(codeString)) 144 return CompartmentType.PATIENT; 145 if ("Encounter".equals(codeString)) 146 return CompartmentType.ENCOUNTER; 147 if ("RelatedPerson".equals(codeString)) 148 return CompartmentType.RELATEDPERSON; 149 if ("Practitioner".equals(codeString)) 150 return CompartmentType.PRACTITIONER; 151 if ("Device".equals(codeString)) 152 return CompartmentType.DEVICE; 153 throw new IllegalArgumentException("Unknown CompartmentType code '"+codeString+"'"); 154 } 155 public Enumeration<CompartmentType> fromType(Base code) throws FHIRException { 156 if (code == null) 157 return null; 158 if (code.isEmpty()) 159 return new Enumeration<CompartmentType>(this); 160 String codeString = ((PrimitiveType) code).asStringValue(); 161 if (codeString == null || "".equals(codeString)) 162 return null; 163 if ("Patient".equals(codeString)) 164 return new Enumeration<CompartmentType>(this, CompartmentType.PATIENT); 165 if ("Encounter".equals(codeString)) 166 return new Enumeration<CompartmentType>(this, CompartmentType.ENCOUNTER); 167 if ("RelatedPerson".equals(codeString)) 168 return new Enumeration<CompartmentType>(this, CompartmentType.RELATEDPERSON); 169 if ("Practitioner".equals(codeString)) 170 return new Enumeration<CompartmentType>(this, CompartmentType.PRACTITIONER); 171 if ("Device".equals(codeString)) 172 return new Enumeration<CompartmentType>(this, CompartmentType.DEVICE); 173 throw new FHIRException("Unknown CompartmentType code '"+codeString+"'"); 174 } 175 public String toCode(CompartmentType code) { 176 if (code == CompartmentType.PATIENT) 177 return "Patient"; 178 if (code == CompartmentType.ENCOUNTER) 179 return "Encounter"; 180 if (code == CompartmentType.RELATEDPERSON) 181 return "RelatedPerson"; 182 if (code == CompartmentType.PRACTITIONER) 183 return "Practitioner"; 184 if (code == CompartmentType.DEVICE) 185 return "Device"; 186 return "?"; 187 } 188 public String toSystem(CompartmentType code) { 189 return code.getSystem(); 190 } 191 } 192 193 @Block() 194 public static class CompartmentDefinitionResourceComponent extends BackboneElement implements IBaseBackboneElement { 195 /** 196 * The name of a resource supported by the server. 197 */ 198 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 199 @Description(shortDefinition="Name of resource type", formalDefinition="The name of a resource supported by the server." ) 200 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") 201 protected CodeType code; 202 203 /** 204 * The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,. 205 */ 206 @Child(name = "param", type = {StringType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 207 @Description(shortDefinition="Search Parameter Name, or chained parameters", formalDefinition="The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,." ) 208 protected List<StringType> param; 209 210 /** 211 * Additional documentation about the resource and compartment. 212 */ 213 @Child(name = "documentation", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 214 @Description(shortDefinition="Additional documentation about the resource and compartment", formalDefinition="Additional documentation about the resource and compartment." ) 215 protected StringType documentation; 216 217 private static final long serialVersionUID = 988080897L; 218 219 /** 220 * Constructor 221 */ 222 public CompartmentDefinitionResourceComponent() { 223 super(); 224 } 225 226 /** 227 * Constructor 228 */ 229 public CompartmentDefinitionResourceComponent(CodeType code) { 230 super(); 231 this.code = code; 232 } 233 234 /** 235 * @return {@link #code} (The name of a resource supported by the server.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 236 */ 237 public CodeType getCodeElement() { 238 if (this.code == null) 239 if (Configuration.errorOnAutoCreate()) 240 throw new Error("Attempt to auto-create CompartmentDefinitionResourceComponent.code"); 241 else if (Configuration.doAutoCreate()) 242 this.code = new CodeType(); // bb 243 return this.code; 244 } 245 246 public boolean hasCodeElement() { 247 return this.code != null && !this.code.isEmpty(); 248 } 249 250 public boolean hasCode() { 251 return this.code != null && !this.code.isEmpty(); 252 } 253 254 /** 255 * @param value {@link #code} (The name of a resource supported by the server.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 256 */ 257 public CompartmentDefinitionResourceComponent setCodeElement(CodeType value) { 258 this.code = value; 259 return this; 260 } 261 262 /** 263 * @return The name of a resource supported by the server. 264 */ 265 public String getCode() { 266 return this.code == null ? null : this.code.getValue(); 267 } 268 269 /** 270 * @param value The name of a resource supported by the server. 271 */ 272 public CompartmentDefinitionResourceComponent setCode(String value) { 273 if (this.code == null) 274 this.code = new CodeType(); 275 this.code.setValue(value); 276 return this; 277 } 278 279 /** 280 * @return {@link #param} (The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.) 281 */ 282 public List<StringType> getParam() { 283 if (this.param == null) 284 this.param = new ArrayList<StringType>(); 285 return this.param; 286 } 287 288 /** 289 * @return Returns a reference to <code>this</code> for easy method chaining 290 */ 291 public CompartmentDefinitionResourceComponent setParam(List<StringType> theParam) { 292 this.param = theParam; 293 return this; 294 } 295 296 public boolean hasParam() { 297 if (this.param == null) 298 return false; 299 for (StringType item : this.param) 300 if (!item.isEmpty()) 301 return true; 302 return false; 303 } 304 305 /** 306 * @return {@link #param} (The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.) 307 */ 308 public StringType addParamElement() {//2 309 StringType t = new StringType(); 310 if (this.param == null) 311 this.param = new ArrayList<StringType>(); 312 this.param.add(t); 313 return t; 314 } 315 316 /** 317 * @param value {@link #param} (The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.) 318 */ 319 public CompartmentDefinitionResourceComponent addParam(String value) { //1 320 StringType t = new StringType(); 321 t.setValue(value); 322 if (this.param == null) 323 this.param = new ArrayList<StringType>(); 324 this.param.add(t); 325 return this; 326 } 327 328 /** 329 * @param value {@link #param} (The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.) 330 */ 331 public boolean hasParam(String value) { 332 if (this.param == null) 333 return false; 334 for (StringType v : this.param) 335 if (v.equals(value)) // string 336 return true; 337 return false; 338 } 339 340 /** 341 * @return {@link #documentation} (Additional documentation about the resource and compartment.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 342 */ 343 public StringType getDocumentationElement() { 344 if (this.documentation == null) 345 if (Configuration.errorOnAutoCreate()) 346 throw new Error("Attempt to auto-create CompartmentDefinitionResourceComponent.documentation"); 347 else if (Configuration.doAutoCreate()) 348 this.documentation = new StringType(); // bb 349 return this.documentation; 350 } 351 352 public boolean hasDocumentationElement() { 353 return this.documentation != null && !this.documentation.isEmpty(); 354 } 355 356 public boolean hasDocumentation() { 357 return this.documentation != null && !this.documentation.isEmpty(); 358 } 359 360 /** 361 * @param value {@link #documentation} (Additional documentation about the resource and compartment.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 362 */ 363 public CompartmentDefinitionResourceComponent setDocumentationElement(StringType value) { 364 this.documentation = value; 365 return this; 366 } 367 368 /** 369 * @return Additional documentation about the resource and compartment. 370 */ 371 public String getDocumentation() { 372 return this.documentation == null ? null : this.documentation.getValue(); 373 } 374 375 /** 376 * @param value Additional documentation about the resource and compartment. 377 */ 378 public CompartmentDefinitionResourceComponent setDocumentation(String value) { 379 if (Utilities.noString(value)) 380 this.documentation = null; 381 else { 382 if (this.documentation == null) 383 this.documentation = new StringType(); 384 this.documentation.setValue(value); 385 } 386 return this; 387 } 388 389 protected void listChildren(List<Property> childrenList) { 390 super.listChildren(childrenList); 391 childrenList.add(new Property("code", "code", "The name of a resource supported by the server.", 0, java.lang.Integer.MAX_VALUE, code)); 392 childrenList.add(new Property("param", "string", "The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.", 0, java.lang.Integer.MAX_VALUE, param)); 393 childrenList.add(new Property("documentation", "string", "Additional documentation about the resource and compartment.", 0, java.lang.Integer.MAX_VALUE, documentation)); 394 } 395 396 @Override 397 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 398 switch (hash) { 399 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 400 case 106436749: /*param*/ return this.param == null ? new Base[0] : this.param.toArray(new Base[this.param.size()]); // StringType 401 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 402 default: return super.getProperty(hash, name, checkValid); 403 } 404 405 } 406 407 @Override 408 public Base setProperty(int hash, String name, Base value) throws FHIRException { 409 switch (hash) { 410 case 3059181: // code 411 this.code = castToCode(value); // CodeType 412 return value; 413 case 106436749: // param 414 this.getParam().add(castToString(value)); // StringType 415 return value; 416 case 1587405498: // documentation 417 this.documentation = castToString(value); // StringType 418 return value; 419 default: return super.setProperty(hash, name, value); 420 } 421 422 } 423 424 @Override 425 public Base setProperty(String name, Base value) throws FHIRException { 426 if (name.equals("code")) { 427 this.code = castToCode(value); // CodeType 428 } else if (name.equals("param")) { 429 this.getParam().add(castToString(value)); 430 } else if (name.equals("documentation")) { 431 this.documentation = castToString(value); // StringType 432 } else 433 return super.setProperty(name, value); 434 return value; 435 } 436 437 @Override 438 public Base makeProperty(int hash, String name) throws FHIRException { 439 switch (hash) { 440 case 3059181: return getCodeElement(); 441 case 106436749: return addParamElement(); 442 case 1587405498: return getDocumentationElement(); 443 default: return super.makeProperty(hash, name); 444 } 445 446 } 447 448 @Override 449 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 450 switch (hash) { 451 case 3059181: /*code*/ return new String[] {"code"}; 452 case 106436749: /*param*/ return new String[] {"string"}; 453 case 1587405498: /*documentation*/ return new String[] {"string"}; 454 default: return super.getTypesForProperty(hash, name); 455 } 456 457 } 458 459 @Override 460 public Base addChild(String name) throws FHIRException { 461 if (name.equals("code")) { 462 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.code"); 463 } 464 else if (name.equals("param")) { 465 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.param"); 466 } 467 else if (name.equals("documentation")) { 468 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.documentation"); 469 } 470 else 471 return super.addChild(name); 472 } 473 474 public CompartmentDefinitionResourceComponent copy() { 475 CompartmentDefinitionResourceComponent dst = new CompartmentDefinitionResourceComponent(); 476 copyValues(dst); 477 dst.code = code == null ? null : code.copy(); 478 if (param != null) { 479 dst.param = new ArrayList<StringType>(); 480 for (StringType i : param) 481 dst.param.add(i.copy()); 482 }; 483 dst.documentation = documentation == null ? null : documentation.copy(); 484 return dst; 485 } 486 487 @Override 488 public boolean equalsDeep(Base other) { 489 if (!super.equalsDeep(other)) 490 return false; 491 if (!(other instanceof CompartmentDefinitionResourceComponent)) 492 return false; 493 CompartmentDefinitionResourceComponent o = (CompartmentDefinitionResourceComponent) other; 494 return compareDeep(code, o.code, true) && compareDeep(param, o.param, true) && compareDeep(documentation, o.documentation, true) 495 ; 496 } 497 498 @Override 499 public boolean equalsShallow(Base other) { 500 if (!super.equalsShallow(other)) 501 return false; 502 if (!(other instanceof CompartmentDefinitionResourceComponent)) 503 return false; 504 CompartmentDefinitionResourceComponent o = (CompartmentDefinitionResourceComponent) other; 505 return compareValues(code, o.code, true) && compareValues(param, o.param, true) && compareValues(documentation, o.documentation, true) 506 ; 507 } 508 509 public boolean isEmpty() { 510 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, param, documentation 511 ); 512 } 513 514 public String fhirType() { 515 return "CompartmentDefinition.resource"; 516 517 } 518 519 } 520 521 /** 522 * Explaination of why this compartment definition is needed and why it has been designed as it has. 523 */ 524 @Child(name = "purpose", type = {MarkdownType.class}, order=0, min=0, max=1, modifier=false, summary=false) 525 @Description(shortDefinition="Why this compartment definition is defined", formalDefinition="Explaination of why this compartment definition is needed and why it has been designed as it has." ) 526 protected MarkdownType purpose; 527 528 /** 529 * Which compartment this definition describes. 530 */ 531 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 532 @Description(shortDefinition="Patient | Encounter | RelatedPerson | Practitioner | Device", formalDefinition="Which compartment this definition describes." ) 533 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/compartment-type") 534 protected Enumeration<CompartmentType> code; 535 536 /** 537 * Whether the search syntax is supported,. 538 */ 539 @Child(name = "search", type = {BooleanType.class}, order=2, min=1, max=1, modifier=false, summary=true) 540 @Description(shortDefinition="Whether the search syntax is supported", formalDefinition="Whether the search syntax is supported,." ) 541 protected BooleanType search; 542 543 /** 544 * Information about how a resource is related to the compartment. 545 */ 546 @Child(name = "resource", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 547 @Description(shortDefinition="How a resource is related to the compartment", formalDefinition="Information about how a resource is related to the compartment." ) 548 protected List<CompartmentDefinitionResourceComponent> resource; 549 550 private static final long serialVersionUID = -1159172945L; 551 552 /** 553 * Constructor 554 */ 555 public CompartmentDefinition() { 556 super(); 557 } 558 559 /** 560 * Constructor 561 */ 562 public CompartmentDefinition(UriType url, StringType name, Enumeration<PublicationStatus> status, Enumeration<CompartmentType> code, BooleanType search) { 563 super(); 564 this.url = url; 565 this.name = name; 566 this.status = status; 567 this.code = code; 568 this.search = search; 569 } 570 571 /** 572 * @return {@link #url} (An absolute URI that is used to identify this compartment definition 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 573 */ 574 public UriType getUrlElement() { 575 if (this.url == null) 576 if (Configuration.errorOnAutoCreate()) 577 throw new Error("Attempt to auto-create CompartmentDefinition.url"); 578 else if (Configuration.doAutoCreate()) 579 this.url = new UriType(); // bb 580 return this.url; 581 } 582 583 public boolean hasUrlElement() { 584 return this.url != null && !this.url.isEmpty(); 585 } 586 587 public boolean hasUrl() { 588 return this.url != null && !this.url.isEmpty(); 589 } 590 591 /** 592 * @param value {@link #url} (An absolute URI that is used to identify this compartment definition 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 593 */ 594 public CompartmentDefinition setUrlElement(UriType value) { 595 this.url = value; 596 return this; 597 } 598 599 /** 600 * @return An absolute URI that is used to identify this compartment definition 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see [Technical and Business Versions](resource.html#versions). 601 */ 602 public String getUrl() { 603 return this.url == null ? null : this.url.getValue(); 604 } 605 606 /** 607 * @param value An absolute URI that is used to identify this compartment definition 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see [Technical and Business Versions](resource.html#versions). 608 */ 609 public CompartmentDefinition setUrl(String value) { 610 if (this.url == null) 611 this.url = new UriType(); 612 this.url.setValue(value); 613 return this; 614 } 615 616 /** 617 * @return {@link #name} (A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 618 */ 619 public StringType getNameElement() { 620 if (this.name == null) 621 if (Configuration.errorOnAutoCreate()) 622 throw new Error("Attempt to auto-create CompartmentDefinition.name"); 623 else if (Configuration.doAutoCreate()) 624 this.name = new StringType(); // bb 625 return this.name; 626 } 627 628 public boolean hasNameElement() { 629 return this.name != null && !this.name.isEmpty(); 630 } 631 632 public boolean hasName() { 633 return this.name != null && !this.name.isEmpty(); 634 } 635 636 /** 637 * @param value {@link #name} (A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 638 */ 639 public CompartmentDefinition setNameElement(StringType value) { 640 this.name = value; 641 return this; 642 } 643 644 /** 645 * @return A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 646 */ 647 public String getName() { 648 return this.name == null ? null : this.name.getValue(); 649 } 650 651 /** 652 * @param value A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 653 */ 654 public CompartmentDefinition setName(String value) { 655 if (this.name == null) 656 this.name = new StringType(); 657 this.name.setValue(value); 658 return this; 659 } 660 661 /** 662 * @return {@link #title} (A short, descriptive, user-friendly title for the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 663 */ 664 public StringType getTitleElement() { 665 if (this.title == null) 666 if (Configuration.errorOnAutoCreate()) 667 throw new Error("Attempt to auto-create CompartmentDefinition.title"); 668 else if (Configuration.doAutoCreate()) 669 this.title = new StringType(); // bb 670 return this.title; 671 } 672 673 public boolean hasTitleElement() { 674 return this.title != null && !this.title.isEmpty(); 675 } 676 677 public boolean hasTitle() { 678 return this.title != null && !this.title.isEmpty(); 679 } 680 681 /** 682 * @param value {@link #title} (A short, descriptive, user-friendly title for the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 683 */ 684 public CompartmentDefinition setTitleElement(StringType value) { 685 this.title = value; 686 return this; 687 } 688 689 /** 690 * @return A short, descriptive, user-friendly title for the compartment definition. 691 */ 692 public String getTitle() { 693 return this.title == null ? null : this.title.getValue(); 694 } 695 696 /** 697 * @param value A short, descriptive, user-friendly title for the compartment definition. 698 */ 699 public CompartmentDefinition setTitle(String value) { 700 if (Utilities.noString(value)) 701 this.title = null; 702 else { 703 if (this.title == null) 704 this.title = new StringType(); 705 this.title.setValue(value); 706 } 707 return this; 708 } 709 710 /** 711 * @return {@link #status} (The status of this compartment definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 712 */ 713 public Enumeration<PublicationStatus> getStatusElement() { 714 if (this.status == null) 715 if (Configuration.errorOnAutoCreate()) 716 throw new Error("Attempt to auto-create CompartmentDefinition.status"); 717 else if (Configuration.doAutoCreate()) 718 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 719 return this.status; 720 } 721 722 public boolean hasStatusElement() { 723 return this.status != null && !this.status.isEmpty(); 724 } 725 726 public boolean hasStatus() { 727 return this.status != null && !this.status.isEmpty(); 728 } 729 730 /** 731 * @param value {@link #status} (The status of this compartment definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 732 */ 733 public CompartmentDefinition setStatusElement(Enumeration<PublicationStatus> value) { 734 this.status = value; 735 return this; 736 } 737 738 /** 739 * @return The status of this compartment definition. Enables tracking the life-cycle of the content. 740 */ 741 public PublicationStatus getStatus() { 742 return this.status == null ? null : this.status.getValue(); 743 } 744 745 /** 746 * @param value The status of this compartment definition. Enables tracking the life-cycle of the content. 747 */ 748 public CompartmentDefinition setStatus(PublicationStatus value) { 749 if (this.status == null) 750 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 751 this.status.setValue(value); 752 return this; 753 } 754 755 /** 756 * @return {@link #experimental} (A boolean value to indicate that this compartment 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 757 */ 758 public BooleanType getExperimentalElement() { 759 if (this.experimental == null) 760 if (Configuration.errorOnAutoCreate()) 761 throw new Error("Attempt to auto-create CompartmentDefinition.experimental"); 762 else if (Configuration.doAutoCreate()) 763 this.experimental = new BooleanType(); // bb 764 return this.experimental; 765 } 766 767 public boolean hasExperimentalElement() { 768 return this.experimental != null && !this.experimental.isEmpty(); 769 } 770 771 public boolean hasExperimental() { 772 return this.experimental != null && !this.experimental.isEmpty(); 773 } 774 775 /** 776 * @param value {@link #experimental} (A boolean value to indicate that this compartment 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 777 */ 778 public CompartmentDefinition setExperimentalElement(BooleanType value) { 779 this.experimental = value; 780 return this; 781 } 782 783 /** 784 * @return A boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 785 */ 786 public boolean getExperimental() { 787 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 788 } 789 790 /** 791 * @param value A boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 792 */ 793 public CompartmentDefinition setExperimental(boolean value) { 794 if (this.experimental == null) 795 this.experimental = new BooleanType(); 796 this.experimental.setValue(value); 797 return this; 798 } 799 800 /** 801 * @return {@link #date} (The date (and optionally time) when the compartment definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 802 */ 803 public DateTimeType getDateElement() { 804 if (this.date == null) 805 if (Configuration.errorOnAutoCreate()) 806 throw new Error("Attempt to auto-create CompartmentDefinition.date"); 807 else if (Configuration.doAutoCreate()) 808 this.date = new DateTimeType(); // bb 809 return this.date; 810 } 811 812 public boolean hasDateElement() { 813 return this.date != null && !this.date.isEmpty(); 814 } 815 816 public boolean hasDate() { 817 return this.date != null && !this.date.isEmpty(); 818 } 819 820 /** 821 * @param value {@link #date} (The date (and optionally time) when the compartment definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 822 */ 823 public CompartmentDefinition setDateElement(DateTimeType value) { 824 this.date = value; 825 return this; 826 } 827 828 /** 829 * @return The date (and optionally time) when the compartment definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes. 830 */ 831 public Date getDate() { 832 return this.date == null ? null : this.date.getValue(); 833 } 834 835 /** 836 * @param value The date (and optionally time) when the compartment definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes. 837 */ 838 public CompartmentDefinition setDate(Date value) { 839 if (value == null) 840 this.date = null; 841 else { 842 if (this.date == null) 843 this.date = new DateTimeType(); 844 this.date.setValue(value); 845 } 846 return this; 847 } 848 849 /** 850 * @return {@link #publisher} (The name of the individual or organization that published the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 851 */ 852 public StringType getPublisherElement() { 853 if (this.publisher == null) 854 if (Configuration.errorOnAutoCreate()) 855 throw new Error("Attempt to auto-create CompartmentDefinition.publisher"); 856 else if (Configuration.doAutoCreate()) 857 this.publisher = new StringType(); // bb 858 return this.publisher; 859 } 860 861 public boolean hasPublisherElement() { 862 return this.publisher != null && !this.publisher.isEmpty(); 863 } 864 865 public boolean hasPublisher() { 866 return this.publisher != null && !this.publisher.isEmpty(); 867 } 868 869 /** 870 * @param value {@link #publisher} (The name of the individual or organization that published the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 871 */ 872 public CompartmentDefinition setPublisherElement(StringType value) { 873 this.publisher = value; 874 return this; 875 } 876 877 /** 878 * @return The name of the individual or organization that published the compartment definition. 879 */ 880 public String getPublisher() { 881 return this.publisher == null ? null : this.publisher.getValue(); 882 } 883 884 /** 885 * @param value The name of the individual or organization that published the compartment definition. 886 */ 887 public CompartmentDefinition setPublisher(String value) { 888 if (Utilities.noString(value)) 889 this.publisher = null; 890 else { 891 if (this.publisher == null) 892 this.publisher = new StringType(); 893 this.publisher.setValue(value); 894 } 895 return this; 896 } 897 898 /** 899 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 900 */ 901 public List<ContactDetail> getContact() { 902 if (this.contact == null) 903 this.contact = new ArrayList<ContactDetail>(); 904 return this.contact; 905 } 906 907 /** 908 * @return Returns a reference to <code>this</code> for easy method chaining 909 */ 910 public CompartmentDefinition setContact(List<ContactDetail> theContact) { 911 this.contact = theContact; 912 return this; 913 } 914 915 public boolean hasContact() { 916 if (this.contact == null) 917 return false; 918 for (ContactDetail item : this.contact) 919 if (!item.isEmpty()) 920 return true; 921 return false; 922 } 923 924 public ContactDetail addContact() { //3 925 ContactDetail t = new ContactDetail(); 926 if (this.contact == null) 927 this.contact = new ArrayList<ContactDetail>(); 928 this.contact.add(t); 929 return t; 930 } 931 932 public CompartmentDefinition addContact(ContactDetail t) { //3 933 if (t == null) 934 return this; 935 if (this.contact == null) 936 this.contact = new ArrayList<ContactDetail>(); 937 this.contact.add(t); 938 return this; 939 } 940 941 /** 942 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 943 */ 944 public ContactDetail getContactFirstRep() { 945 if (getContact().isEmpty()) { 946 addContact(); 947 } 948 return getContact().get(0); 949 } 950 951 /** 952 * @return {@link #description} (A free text natural language description of the compartment definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 953 */ 954 public MarkdownType getDescriptionElement() { 955 if (this.description == null) 956 if (Configuration.errorOnAutoCreate()) 957 throw new Error("Attempt to auto-create CompartmentDefinition.description"); 958 else if (Configuration.doAutoCreate()) 959 this.description = new MarkdownType(); // bb 960 return this.description; 961 } 962 963 public boolean hasDescriptionElement() { 964 return this.description != null && !this.description.isEmpty(); 965 } 966 967 public boolean hasDescription() { 968 return this.description != null && !this.description.isEmpty(); 969 } 970 971 /** 972 * @param value {@link #description} (A free text natural language description of the compartment definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 973 */ 974 public CompartmentDefinition setDescriptionElement(MarkdownType value) { 975 this.description = value; 976 return this; 977 } 978 979 /** 980 * @return A free text natural language description of the compartment definition from a consumer's perspective. 981 */ 982 public String getDescription() { 983 return this.description == null ? null : this.description.getValue(); 984 } 985 986 /** 987 * @param value A free text natural language description of the compartment definition from a consumer's perspective. 988 */ 989 public CompartmentDefinition setDescription(String value) { 990 if (value == null) 991 this.description = null; 992 else { 993 if (this.description == null) 994 this.description = new MarkdownType(); 995 this.description.setValue(value); 996 } 997 return this; 998 } 999 1000 /** 1001 * @return {@link #purpose} (Explaination of why this compartment definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1002 */ 1003 public MarkdownType getPurposeElement() { 1004 if (this.purpose == null) 1005 if (Configuration.errorOnAutoCreate()) 1006 throw new Error("Attempt to auto-create CompartmentDefinition.purpose"); 1007 else if (Configuration.doAutoCreate()) 1008 this.purpose = new MarkdownType(); // bb 1009 return this.purpose; 1010 } 1011 1012 public boolean hasPurposeElement() { 1013 return this.purpose != null && !this.purpose.isEmpty(); 1014 } 1015 1016 public boolean hasPurpose() { 1017 return this.purpose != null && !this.purpose.isEmpty(); 1018 } 1019 1020 /** 1021 * @param value {@link #purpose} (Explaination of why this compartment definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1022 */ 1023 public CompartmentDefinition setPurposeElement(MarkdownType value) { 1024 this.purpose = value; 1025 return this; 1026 } 1027 1028 /** 1029 * @return Explaination of why this compartment definition is needed and why it has been designed as it has. 1030 */ 1031 public String getPurpose() { 1032 return this.purpose == null ? null : this.purpose.getValue(); 1033 } 1034 1035 /** 1036 * @param value Explaination of why this compartment definition is needed and why it has been designed as it has. 1037 */ 1038 public CompartmentDefinition setPurpose(String value) { 1039 if (value == null) 1040 this.purpose = null; 1041 else { 1042 if (this.purpose == null) 1043 this.purpose = new MarkdownType(); 1044 this.purpose.setValue(value); 1045 } 1046 return this; 1047 } 1048 1049 /** 1050 * @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 for appropriate compartment definition instances.) 1051 */ 1052 public List<UsageContext> getUseContext() { 1053 if (this.useContext == null) 1054 this.useContext = new ArrayList<UsageContext>(); 1055 return this.useContext; 1056 } 1057 1058 /** 1059 * @return Returns a reference to <code>this</code> for easy method chaining 1060 */ 1061 public CompartmentDefinition setUseContext(List<UsageContext> theUseContext) { 1062 this.useContext = theUseContext; 1063 return this; 1064 } 1065 1066 public boolean hasUseContext() { 1067 if (this.useContext == null) 1068 return false; 1069 for (UsageContext item : this.useContext) 1070 if (!item.isEmpty()) 1071 return true; 1072 return false; 1073 } 1074 1075 public UsageContext addUseContext() { //3 1076 UsageContext t = new UsageContext(); 1077 if (this.useContext == null) 1078 this.useContext = new ArrayList<UsageContext>(); 1079 this.useContext.add(t); 1080 return t; 1081 } 1082 1083 public CompartmentDefinition addUseContext(UsageContext t) { //3 1084 if (t == null) 1085 return this; 1086 if (this.useContext == null) 1087 this.useContext = new ArrayList<UsageContext>(); 1088 this.useContext.add(t); 1089 return this; 1090 } 1091 1092 /** 1093 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 1094 */ 1095 public UsageContext getUseContextFirstRep() { 1096 if (getUseContext().isEmpty()) { 1097 addUseContext(); 1098 } 1099 return getUseContext().get(0); 1100 } 1101 1102 /** 1103 * @return {@link #jurisdiction} (A legal or geographic region in which the compartment definition is intended to be used.) 1104 */ 1105 public List<CodeableConcept> getJurisdiction() { 1106 if (this.jurisdiction == null) 1107 this.jurisdiction = new ArrayList<CodeableConcept>(); 1108 return this.jurisdiction; 1109 } 1110 1111 /** 1112 * @return Returns a reference to <code>this</code> for easy method chaining 1113 */ 1114 public CompartmentDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 1115 this.jurisdiction = theJurisdiction; 1116 return this; 1117 } 1118 1119 public boolean hasJurisdiction() { 1120 if (this.jurisdiction == null) 1121 return false; 1122 for (CodeableConcept item : this.jurisdiction) 1123 if (!item.isEmpty()) 1124 return true; 1125 return false; 1126 } 1127 1128 public CodeableConcept addJurisdiction() { //3 1129 CodeableConcept t = new CodeableConcept(); 1130 if (this.jurisdiction == null) 1131 this.jurisdiction = new ArrayList<CodeableConcept>(); 1132 this.jurisdiction.add(t); 1133 return t; 1134 } 1135 1136 public CompartmentDefinition addJurisdiction(CodeableConcept t) { //3 1137 if (t == null) 1138 return this; 1139 if (this.jurisdiction == null) 1140 this.jurisdiction = new ArrayList<CodeableConcept>(); 1141 this.jurisdiction.add(t); 1142 return this; 1143 } 1144 1145 /** 1146 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 1147 */ 1148 public CodeableConcept getJurisdictionFirstRep() { 1149 if (getJurisdiction().isEmpty()) { 1150 addJurisdiction(); 1151 } 1152 return getJurisdiction().get(0); 1153 } 1154 1155 /** 1156 * @return {@link #code} (Which compartment this definition describes.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1157 */ 1158 public Enumeration<CompartmentType> getCodeElement() { 1159 if (this.code == null) 1160 if (Configuration.errorOnAutoCreate()) 1161 throw new Error("Attempt to auto-create CompartmentDefinition.code"); 1162 else if (Configuration.doAutoCreate()) 1163 this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); // bb 1164 return this.code; 1165 } 1166 1167 public boolean hasCodeElement() { 1168 return this.code != null && !this.code.isEmpty(); 1169 } 1170 1171 public boolean hasCode() { 1172 return this.code != null && !this.code.isEmpty(); 1173 } 1174 1175 /** 1176 * @param value {@link #code} (Which compartment this definition describes.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1177 */ 1178 public CompartmentDefinition setCodeElement(Enumeration<CompartmentType> value) { 1179 this.code = value; 1180 return this; 1181 } 1182 1183 /** 1184 * @return Which compartment this definition describes. 1185 */ 1186 public CompartmentType getCode() { 1187 return this.code == null ? null : this.code.getValue(); 1188 } 1189 1190 /** 1191 * @param value Which compartment this definition describes. 1192 */ 1193 public CompartmentDefinition setCode(CompartmentType value) { 1194 if (this.code == null) 1195 this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); 1196 this.code.setValue(value); 1197 return this; 1198 } 1199 1200 /** 1201 * @return {@link #search} (Whether the search syntax is supported,.). This is the underlying object with id, value and extensions. The accessor "getSearch" gives direct access to the value 1202 */ 1203 public BooleanType getSearchElement() { 1204 if (this.search == null) 1205 if (Configuration.errorOnAutoCreate()) 1206 throw new Error("Attempt to auto-create CompartmentDefinition.search"); 1207 else if (Configuration.doAutoCreate()) 1208 this.search = new BooleanType(); // bb 1209 return this.search; 1210 } 1211 1212 public boolean hasSearchElement() { 1213 return this.search != null && !this.search.isEmpty(); 1214 } 1215 1216 public boolean hasSearch() { 1217 return this.search != null && !this.search.isEmpty(); 1218 } 1219 1220 /** 1221 * @param value {@link #search} (Whether the search syntax is supported,.). This is the underlying object with id, value and extensions. The accessor "getSearch" gives direct access to the value 1222 */ 1223 public CompartmentDefinition setSearchElement(BooleanType value) { 1224 this.search = value; 1225 return this; 1226 } 1227 1228 /** 1229 * @return Whether the search syntax is supported,. 1230 */ 1231 public boolean getSearch() { 1232 return this.search == null || this.search.isEmpty() ? false : this.search.getValue(); 1233 } 1234 1235 /** 1236 * @param value Whether the search syntax is supported,. 1237 */ 1238 public CompartmentDefinition setSearch(boolean value) { 1239 if (this.search == null) 1240 this.search = new BooleanType(); 1241 this.search.setValue(value); 1242 return this; 1243 } 1244 1245 /** 1246 * @return {@link #resource} (Information about how a resource is related to the compartment.) 1247 */ 1248 public List<CompartmentDefinitionResourceComponent> getResource() { 1249 if (this.resource == null) 1250 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1251 return this.resource; 1252 } 1253 1254 /** 1255 * @return Returns a reference to <code>this</code> for easy method chaining 1256 */ 1257 public CompartmentDefinition setResource(List<CompartmentDefinitionResourceComponent> theResource) { 1258 this.resource = theResource; 1259 return this; 1260 } 1261 1262 public boolean hasResource() { 1263 if (this.resource == null) 1264 return false; 1265 for (CompartmentDefinitionResourceComponent item : this.resource) 1266 if (!item.isEmpty()) 1267 return true; 1268 return false; 1269 } 1270 1271 public CompartmentDefinitionResourceComponent addResource() { //3 1272 CompartmentDefinitionResourceComponent t = new CompartmentDefinitionResourceComponent(); 1273 if (this.resource == null) 1274 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1275 this.resource.add(t); 1276 return t; 1277 } 1278 1279 public CompartmentDefinition addResource(CompartmentDefinitionResourceComponent t) { //3 1280 if (t == null) 1281 return this; 1282 if (this.resource == null) 1283 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1284 this.resource.add(t); 1285 return this; 1286 } 1287 1288 /** 1289 * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist 1290 */ 1291 public CompartmentDefinitionResourceComponent getResourceFirstRep() { 1292 if (getResource().isEmpty()) { 1293 addResource(); 1294 } 1295 return getResource().get(0); 1296 } 1297 1298 protected void listChildren(List<Property> childrenList) { 1299 super.listChildren(childrenList); 1300 childrenList.add(new Property("url", "uri", "An absolute URI that is used to identify this compartment definition 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 compartment definition is (or will be) published. The URL SHOULD include the major version of the compartment definition. For more information see [Technical and Business Versions](resource.html#versions).", 0, java.lang.Integer.MAX_VALUE, url)); 1301 childrenList.add(new Property("name", "string", "A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, java.lang.Integer.MAX_VALUE, name)); 1302 childrenList.add(new Property("title", "string", "A short, descriptive, user-friendly title for the compartment definition.", 0, java.lang.Integer.MAX_VALUE, title)); 1303 childrenList.add(new Property("status", "code", "The status of this compartment definition. Enables tracking the life-cycle of the content.", 0, java.lang.Integer.MAX_VALUE, status)); 1304 childrenList.add(new Property("experimental", "boolean", "A boolean value to indicate that this compartment 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)); 1305 childrenList.add(new Property("date", "dateTime", "The date (and optionally time) when the compartment definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.", 0, java.lang.Integer.MAX_VALUE, date)); 1306 childrenList.add(new Property("publisher", "string", "The name of the individual or organization that published the compartment definition.", 0, java.lang.Integer.MAX_VALUE, publisher)); 1307 childrenList.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 1308 childrenList.add(new Property("description", "markdown", "A free text natural language description of the compartment definition from a consumer's perspective.", 0, java.lang.Integer.MAX_VALUE, description)); 1309 childrenList.add(new Property("purpose", "markdown", "Explaination of why this compartment definition is needed and why it has been designed as it has.", 0, java.lang.Integer.MAX_VALUE, purpose)); 1310 childrenList.add(new Property("useContext", "UsageContext", "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 for appropriate compartment definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 1311 childrenList.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the compartment definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 1312 childrenList.add(new Property("code", "code", "Which compartment this definition describes.", 0, java.lang.Integer.MAX_VALUE, code)); 1313 childrenList.add(new Property("search", "boolean", "Whether the search syntax is supported,.", 0, java.lang.Integer.MAX_VALUE, search)); 1314 childrenList.add(new Property("resource", "", "Information about how a resource is related to the compartment.", 0, java.lang.Integer.MAX_VALUE, resource)); 1315 } 1316 1317 @Override 1318 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1319 switch (hash) { 1320 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 1321 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1322 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 1323 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 1324 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 1325 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1326 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 1327 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 1328 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1329 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 1330 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 1331 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 1332 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<CompartmentType> 1333 case -906336856: /*search*/ return this.search == null ? new Base[0] : new Base[] {this.search}; // BooleanType 1334 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // CompartmentDefinitionResourceComponent 1335 default: return super.getProperty(hash, name, checkValid); 1336 } 1337 1338 } 1339 1340 @Override 1341 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1342 switch (hash) { 1343 case 116079: // url 1344 this.url = castToUri(value); // UriType 1345 return value; 1346 case 3373707: // name 1347 this.name = castToString(value); // StringType 1348 return value; 1349 case 110371416: // title 1350 this.title = castToString(value); // StringType 1351 return value; 1352 case -892481550: // status 1353 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1354 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1355 return value; 1356 case -404562712: // experimental 1357 this.experimental = castToBoolean(value); // BooleanType 1358 return value; 1359 case 3076014: // date 1360 this.date = castToDateTime(value); // DateTimeType 1361 return value; 1362 case 1447404028: // publisher 1363 this.publisher = castToString(value); // StringType 1364 return value; 1365 case 951526432: // contact 1366 this.getContact().add(castToContactDetail(value)); // ContactDetail 1367 return value; 1368 case -1724546052: // description 1369 this.description = castToMarkdown(value); // MarkdownType 1370 return value; 1371 case -220463842: // purpose 1372 this.purpose = castToMarkdown(value); // MarkdownType 1373 return value; 1374 case -669707736: // useContext 1375 this.getUseContext().add(castToUsageContext(value)); // UsageContext 1376 return value; 1377 case -507075711: // jurisdiction 1378 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 1379 return value; 1380 case 3059181: // code 1381 value = new CompartmentTypeEnumFactory().fromType(castToCode(value)); 1382 this.code = (Enumeration) value; // Enumeration<CompartmentType> 1383 return value; 1384 case -906336856: // search 1385 this.search = castToBoolean(value); // BooleanType 1386 return value; 1387 case -341064690: // resource 1388 this.getResource().add((CompartmentDefinitionResourceComponent) value); // CompartmentDefinitionResourceComponent 1389 return value; 1390 default: return super.setProperty(hash, name, value); 1391 } 1392 1393 } 1394 1395 @Override 1396 public Base setProperty(String name, Base value) throws FHIRException { 1397 if (name.equals("url")) { 1398 this.url = castToUri(value); // UriType 1399 } else if (name.equals("name")) { 1400 this.name = castToString(value); // StringType 1401 } else if (name.equals("title")) { 1402 this.title = castToString(value); // StringType 1403 } else if (name.equals("status")) { 1404 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1405 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1406 } else if (name.equals("experimental")) { 1407 this.experimental = castToBoolean(value); // BooleanType 1408 } else if (name.equals("date")) { 1409 this.date = castToDateTime(value); // DateTimeType 1410 } else if (name.equals("publisher")) { 1411 this.publisher = castToString(value); // StringType 1412 } else if (name.equals("contact")) { 1413 this.getContact().add(castToContactDetail(value)); 1414 } else if (name.equals("description")) { 1415 this.description = castToMarkdown(value); // MarkdownType 1416 } else if (name.equals("purpose")) { 1417 this.purpose = castToMarkdown(value); // MarkdownType 1418 } else if (name.equals("useContext")) { 1419 this.getUseContext().add(castToUsageContext(value)); 1420 } else if (name.equals("jurisdiction")) { 1421 this.getJurisdiction().add(castToCodeableConcept(value)); 1422 } else if (name.equals("code")) { 1423 value = new CompartmentTypeEnumFactory().fromType(castToCode(value)); 1424 this.code = (Enumeration) value; // Enumeration<CompartmentType> 1425 } else if (name.equals("search")) { 1426 this.search = castToBoolean(value); // BooleanType 1427 } else if (name.equals("resource")) { 1428 this.getResource().add((CompartmentDefinitionResourceComponent) value); 1429 } else 1430 return super.setProperty(name, value); 1431 return value; 1432 } 1433 1434 @Override 1435 public Base makeProperty(int hash, String name) throws FHIRException { 1436 switch (hash) { 1437 case 116079: return getUrlElement(); 1438 case 3373707: return getNameElement(); 1439 case 110371416: return getTitleElement(); 1440 case -892481550: return getStatusElement(); 1441 case -404562712: return getExperimentalElement(); 1442 case 3076014: return getDateElement(); 1443 case 1447404028: return getPublisherElement(); 1444 case 951526432: return addContact(); 1445 case -1724546052: return getDescriptionElement(); 1446 case -220463842: return getPurposeElement(); 1447 case -669707736: return addUseContext(); 1448 case -507075711: return addJurisdiction(); 1449 case 3059181: return getCodeElement(); 1450 case -906336856: return getSearchElement(); 1451 case -341064690: return addResource(); 1452 default: return super.makeProperty(hash, name); 1453 } 1454 1455 } 1456 1457 @Override 1458 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1459 switch (hash) { 1460 case 116079: /*url*/ return new String[] {"uri"}; 1461 case 3373707: /*name*/ return new String[] {"string"}; 1462 case 110371416: /*title*/ return new String[] {"string"}; 1463 case -892481550: /*status*/ return new String[] {"code"}; 1464 case -404562712: /*experimental*/ return new String[] {"boolean"}; 1465 case 3076014: /*date*/ return new String[] {"dateTime"}; 1466 case 1447404028: /*publisher*/ return new String[] {"string"}; 1467 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 1468 case -1724546052: /*description*/ return new String[] {"markdown"}; 1469 case -220463842: /*purpose*/ return new String[] {"markdown"}; 1470 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 1471 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 1472 case 3059181: /*code*/ return new String[] {"code"}; 1473 case -906336856: /*search*/ return new String[] {"boolean"}; 1474 case -341064690: /*resource*/ return new String[] {}; 1475 default: return super.getTypesForProperty(hash, name); 1476 } 1477 1478 } 1479 1480 @Override 1481 public Base addChild(String name) throws FHIRException { 1482 if (name.equals("url")) { 1483 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.url"); 1484 } 1485 else if (name.equals("name")) { 1486 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.name"); 1487 } 1488 else if (name.equals("title")) { 1489 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.title"); 1490 } 1491 else if (name.equals("status")) { 1492 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.status"); 1493 } 1494 else if (name.equals("experimental")) { 1495 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.experimental"); 1496 } 1497 else if (name.equals("date")) { 1498 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.date"); 1499 } 1500 else if (name.equals("publisher")) { 1501 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.publisher"); 1502 } 1503 else if (name.equals("contact")) { 1504 return addContact(); 1505 } 1506 else if (name.equals("description")) { 1507 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.description"); 1508 } 1509 else if (name.equals("purpose")) { 1510 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.purpose"); 1511 } 1512 else if (name.equals("useContext")) { 1513 return addUseContext(); 1514 } 1515 else if (name.equals("jurisdiction")) { 1516 return addJurisdiction(); 1517 } 1518 else if (name.equals("code")) { 1519 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.code"); 1520 } 1521 else if (name.equals("search")) { 1522 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.search"); 1523 } 1524 else if (name.equals("resource")) { 1525 return addResource(); 1526 } 1527 else 1528 return super.addChild(name); 1529 } 1530 1531 public String fhirType() { 1532 return "CompartmentDefinition"; 1533 1534 } 1535 1536 public CompartmentDefinition copy() { 1537 CompartmentDefinition dst = new CompartmentDefinition(); 1538 copyValues(dst); 1539 dst.url = url == null ? null : url.copy(); 1540 dst.name = name == null ? null : name.copy(); 1541 dst.title = title == null ? null : title.copy(); 1542 dst.status = status == null ? null : status.copy(); 1543 dst.experimental = experimental == null ? null : experimental.copy(); 1544 dst.date = date == null ? null : date.copy(); 1545 dst.publisher = publisher == null ? null : publisher.copy(); 1546 if (contact != null) { 1547 dst.contact = new ArrayList<ContactDetail>(); 1548 for (ContactDetail i : contact) 1549 dst.contact.add(i.copy()); 1550 }; 1551 dst.description = description == null ? null : description.copy(); 1552 dst.purpose = purpose == null ? null : purpose.copy(); 1553 if (useContext != null) { 1554 dst.useContext = new ArrayList<UsageContext>(); 1555 for (UsageContext i : useContext) 1556 dst.useContext.add(i.copy()); 1557 }; 1558 if (jurisdiction != null) { 1559 dst.jurisdiction = new ArrayList<CodeableConcept>(); 1560 for (CodeableConcept i : jurisdiction) 1561 dst.jurisdiction.add(i.copy()); 1562 }; 1563 dst.code = code == null ? null : code.copy(); 1564 dst.search = search == null ? null : search.copy(); 1565 if (resource != null) { 1566 dst.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1567 for (CompartmentDefinitionResourceComponent i : resource) 1568 dst.resource.add(i.copy()); 1569 }; 1570 return dst; 1571 } 1572 1573 protected CompartmentDefinition typedCopy() { 1574 return copy(); 1575 } 1576 1577 @Override 1578 public boolean equalsDeep(Base other) { 1579 if (!super.equalsDeep(other)) 1580 return false; 1581 if (!(other instanceof CompartmentDefinition)) 1582 return false; 1583 CompartmentDefinition o = (CompartmentDefinition) other; 1584 return compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) && compareDeep(search, o.search, true) 1585 && compareDeep(resource, o.resource, true); 1586 } 1587 1588 @Override 1589 public boolean equalsShallow(Base other) { 1590 if (!super.equalsShallow(other)) 1591 return false; 1592 if (!(other instanceof CompartmentDefinition)) 1593 return false; 1594 CompartmentDefinition o = (CompartmentDefinition) other; 1595 return compareValues(purpose, o.purpose, true) && compareValues(code, o.code, true) && compareValues(search, o.search, true) 1596 ; 1597 } 1598 1599 public boolean isEmpty() { 1600 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(purpose, code, search, resource 1601 ); 1602 } 1603 1604 @Override 1605 public ResourceType getResourceType() { 1606 return ResourceType.CompartmentDefinition; 1607 } 1608 1609 /** 1610 * Search parameter: <b>date</b> 1611 * <p> 1612 * Description: <b>The compartment definition publication date</b><br> 1613 * Type: <b>date</b><br> 1614 * Path: <b>CompartmentDefinition.date</b><br> 1615 * </p> 1616 */ 1617 @SearchParamDefinition(name="date", path="CompartmentDefinition.date", description="The compartment definition publication date", type="date" ) 1618 public static final String SP_DATE = "date"; 1619 /** 1620 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1621 * <p> 1622 * Description: <b>The compartment definition publication date</b><br> 1623 * Type: <b>date</b><br> 1624 * Path: <b>CompartmentDefinition.date</b><br> 1625 * </p> 1626 */ 1627 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1628 1629 /** 1630 * Search parameter: <b>code</b> 1631 * <p> 1632 * Description: <b>Patient | Encounter | RelatedPerson | Practitioner | Device</b><br> 1633 * Type: <b>token</b><br> 1634 * Path: <b>CompartmentDefinition.code</b><br> 1635 * </p> 1636 */ 1637 @SearchParamDefinition(name="code", path="CompartmentDefinition.code", description="Patient | Encounter | RelatedPerson | Practitioner | Device", type="token" ) 1638 public static final String SP_CODE = "code"; 1639 /** 1640 * <b>Fluent Client</b> search parameter constant for <b>code</b> 1641 * <p> 1642 * Description: <b>Patient | Encounter | RelatedPerson | Practitioner | Device</b><br> 1643 * Type: <b>token</b><br> 1644 * Path: <b>CompartmentDefinition.code</b><br> 1645 * </p> 1646 */ 1647 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 1648 1649 /** 1650 * Search parameter: <b>resource</b> 1651 * <p> 1652 * Description: <b>Name of resource type</b><br> 1653 * Type: <b>token</b><br> 1654 * Path: <b>CompartmentDefinition.resource.code</b><br> 1655 * </p> 1656 */ 1657 @SearchParamDefinition(name="resource", path="CompartmentDefinition.resource.code", description="Name of resource type", type="token" ) 1658 public static final String SP_RESOURCE = "resource"; 1659 /** 1660 * <b>Fluent Client</b> search parameter constant for <b>resource</b> 1661 * <p> 1662 * Description: <b>Name of resource type</b><br> 1663 * Type: <b>token</b><br> 1664 * Path: <b>CompartmentDefinition.resource.code</b><br> 1665 * </p> 1666 */ 1667 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RESOURCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RESOURCE); 1668 1669 /** 1670 * Search parameter: <b>jurisdiction</b> 1671 * <p> 1672 * Description: <b>Intended jurisdiction for the compartment definition</b><br> 1673 * Type: <b>token</b><br> 1674 * Path: <b>CompartmentDefinition.jurisdiction</b><br> 1675 * </p> 1676 */ 1677 @SearchParamDefinition(name="jurisdiction", path="CompartmentDefinition.jurisdiction", description="Intended jurisdiction for the compartment definition", type="token" ) 1678 public static final String SP_JURISDICTION = "jurisdiction"; 1679 /** 1680 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 1681 * <p> 1682 * Description: <b>Intended jurisdiction for the compartment definition</b><br> 1683 * Type: <b>token</b><br> 1684 * Path: <b>CompartmentDefinition.jurisdiction</b><br> 1685 * </p> 1686 */ 1687 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 1688 1689 /** 1690 * Search parameter: <b>name</b> 1691 * <p> 1692 * Description: <b>Computationally friendly name of the compartment definition</b><br> 1693 * Type: <b>string</b><br> 1694 * Path: <b>CompartmentDefinition.name</b><br> 1695 * </p> 1696 */ 1697 @SearchParamDefinition(name="name", path="CompartmentDefinition.name", description="Computationally friendly name of the compartment definition", 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>Computationally friendly name of the compartment definition</b><br> 1703 * Type: <b>string</b><br> 1704 * Path: <b>CompartmentDefinition.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>description</b> 1711 * <p> 1712 * Description: <b>The description of the compartment definition</b><br> 1713 * Type: <b>string</b><br> 1714 * Path: <b>CompartmentDefinition.description</b><br> 1715 * </p> 1716 */ 1717 @SearchParamDefinition(name="description", path="CompartmentDefinition.description", description="The description of the compartment definition", type="string" ) 1718 public static final String SP_DESCRIPTION = "description"; 1719 /** 1720 * <b>Fluent Client</b> search parameter constant for <b>description</b> 1721 * <p> 1722 * Description: <b>The description of the compartment definition</b><br> 1723 * Type: <b>string</b><br> 1724 * Path: <b>CompartmentDefinition.description</b><br> 1725 * </p> 1726 */ 1727 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 1728 1729 /** 1730 * Search parameter: <b>publisher</b> 1731 * <p> 1732 * Description: <b>Name of the publisher of the compartment definition</b><br> 1733 * Type: <b>string</b><br> 1734 * Path: <b>CompartmentDefinition.publisher</b><br> 1735 * </p> 1736 */ 1737 @SearchParamDefinition(name="publisher", path="CompartmentDefinition.publisher", description="Name of the publisher of the compartment definition", type="string" ) 1738 public static final String SP_PUBLISHER = "publisher"; 1739 /** 1740 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 1741 * <p> 1742 * Description: <b>Name of the publisher of the compartment definition</b><br> 1743 * Type: <b>string</b><br> 1744 * Path: <b>CompartmentDefinition.publisher</b><br> 1745 * </p> 1746 */ 1747 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 1748 1749 /** 1750 * Search parameter: <b>title</b> 1751 * <p> 1752 * Description: <b>The human-friendly name of the compartment definition</b><br> 1753 * Type: <b>string</b><br> 1754 * Path: <b>CompartmentDefinition.title</b><br> 1755 * </p> 1756 */ 1757 @SearchParamDefinition(name="title", path="CompartmentDefinition.title", description="The human-friendly name of the compartment definition", type="string" ) 1758 public static final String SP_TITLE = "title"; 1759 /** 1760 * <b>Fluent Client</b> search parameter constant for <b>title</b> 1761 * <p> 1762 * Description: <b>The human-friendly name of the compartment definition</b><br> 1763 * Type: <b>string</b><br> 1764 * Path: <b>CompartmentDefinition.title</b><br> 1765 * </p> 1766 */ 1767 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 1768 1769 /** 1770 * Search parameter: <b>url</b> 1771 * <p> 1772 * Description: <b>The uri that identifies the compartment definition</b><br> 1773 * Type: <b>uri</b><br> 1774 * Path: <b>CompartmentDefinition.url</b><br> 1775 * </p> 1776 */ 1777 @SearchParamDefinition(name="url", path="CompartmentDefinition.url", description="The uri that identifies the compartment definition", type="uri" ) 1778 public static final String SP_URL = "url"; 1779 /** 1780 * <b>Fluent Client</b> search parameter constant for <b>url</b> 1781 * <p> 1782 * Description: <b>The uri that identifies the compartment definition</b><br> 1783 * Type: <b>uri</b><br> 1784 * Path: <b>CompartmentDefinition.url</b><br> 1785 * </p> 1786 */ 1787 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 1788 1789 /** 1790 * Search parameter: <b>status</b> 1791 * <p> 1792 * Description: <b>The current status of the compartment definition</b><br> 1793 * Type: <b>token</b><br> 1794 * Path: <b>CompartmentDefinition.status</b><br> 1795 * </p> 1796 */ 1797 @SearchParamDefinition(name="status", path="CompartmentDefinition.status", description="The current status of the compartment definition", type="token" ) 1798 public static final String SP_STATUS = "status"; 1799 /** 1800 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1801 * <p> 1802 * Description: <b>The current status of the compartment definition</b><br> 1803 * Type: <b>token</b><br> 1804 * Path: <b>CompartmentDefinition.status</b><br> 1805 * </p> 1806 */ 1807 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1808 1809 1810} 1811