001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.r4.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", "useContext", "jurisdiction", "purpose", "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.getValue().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> children) { 390 super.listChildren(children); 391 children.add(new Property("code", "code", "The name of a resource supported by the server.", 0, 1, code)); 392 children.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 children.add(new Property("documentation", "string", "Additional documentation about the resource and compartment.", 0, 1, documentation)); 394 } 395 396 @Override 397 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 398 switch (_hash) { 399 case 3059181: /*code*/ return new Property("code", "code", "The name of a resource supported by the server.", 0, 1, code); 400 case 106436749: /*param*/ return 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); 401 case 1587405498: /*documentation*/ return new Property("documentation", "string", "Additional documentation about the resource and compartment.", 0, 1, documentation); 402 default: return super.getNamedProperty(_hash, _name, _checkValid); 403 } 404 405 } 406 407 @Override 408 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 409 switch (hash) { 410 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 411 case 106436749: /*param*/ return this.param == null ? new Base[0] : this.param.toArray(new Base[this.param.size()]); // StringType 412 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 413 default: return super.getProperty(hash, name, checkValid); 414 } 415 416 } 417 418 @Override 419 public Base setProperty(int hash, String name, Base value) throws FHIRException { 420 switch (hash) { 421 case 3059181: // code 422 this.code = castToCode(value); // CodeType 423 return value; 424 case 106436749: // param 425 this.getParam().add(castToString(value)); // StringType 426 return value; 427 case 1587405498: // documentation 428 this.documentation = castToString(value); // StringType 429 return value; 430 default: return super.setProperty(hash, name, value); 431 } 432 433 } 434 435 @Override 436 public Base setProperty(String name, Base value) throws FHIRException { 437 if (name.equals("code")) { 438 this.code = castToCode(value); // CodeType 439 } else if (name.equals("param")) { 440 this.getParam().add(castToString(value)); 441 } else if (name.equals("documentation")) { 442 this.documentation = castToString(value); // StringType 443 } else 444 return super.setProperty(name, value); 445 return value; 446 } 447 448 @Override 449 public Base makeProperty(int hash, String name) throws FHIRException { 450 switch (hash) { 451 case 3059181: return getCodeElement(); 452 case 106436749: return addParamElement(); 453 case 1587405498: return getDocumentationElement(); 454 default: return super.makeProperty(hash, name); 455 } 456 457 } 458 459 @Override 460 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 461 switch (hash) { 462 case 3059181: /*code*/ return new String[] {"code"}; 463 case 106436749: /*param*/ return new String[] {"string"}; 464 case 1587405498: /*documentation*/ return new String[] {"string"}; 465 default: return super.getTypesForProperty(hash, name); 466 } 467 468 } 469 470 @Override 471 public Base addChild(String name) throws FHIRException { 472 if (name.equals("code")) { 473 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.code"); 474 } 475 else if (name.equals("param")) { 476 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.param"); 477 } 478 else if (name.equals("documentation")) { 479 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.documentation"); 480 } 481 else 482 return super.addChild(name); 483 } 484 485 public CompartmentDefinitionResourceComponent copy() { 486 CompartmentDefinitionResourceComponent dst = new CompartmentDefinitionResourceComponent(); 487 copyValues(dst); 488 dst.code = code == null ? null : code.copy(); 489 if (param != null) { 490 dst.param = new ArrayList<StringType>(); 491 for (StringType i : param) 492 dst.param.add(i.copy()); 493 }; 494 dst.documentation = documentation == null ? null : documentation.copy(); 495 return dst; 496 } 497 498 @Override 499 public boolean equalsDeep(Base other_) { 500 if (!super.equalsDeep(other_)) 501 return false; 502 if (!(other_ instanceof CompartmentDefinitionResourceComponent)) 503 return false; 504 CompartmentDefinitionResourceComponent o = (CompartmentDefinitionResourceComponent) other_; 505 return compareDeep(code, o.code, true) && compareDeep(param, o.param, true) && compareDeep(documentation, o.documentation, true) 506 ; 507 } 508 509 @Override 510 public boolean equalsShallow(Base other_) { 511 if (!super.equalsShallow(other_)) 512 return false; 513 if (!(other_ instanceof CompartmentDefinitionResourceComponent)) 514 return false; 515 CompartmentDefinitionResourceComponent o = (CompartmentDefinitionResourceComponent) other_; 516 return compareValues(code, o.code, true) && compareValues(param, o.param, true) && compareValues(documentation, o.documentation, true) 517 ; 518 } 519 520 public boolean isEmpty() { 521 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, param, documentation 522 ); 523 } 524 525 public String fhirType() { 526 return "CompartmentDefinition.resource"; 527 528 } 529 530 } 531 532 /** 533 * Explanation of why this compartment definition is needed and why it has been designed as it has. 534 */ 535 @Child(name = "purpose", type = {MarkdownType.class}, order=0, min=0, max=1, modifier=false, summary=false) 536 @Description(shortDefinition="Why this compartment definition is defined", formalDefinition="Explanation of why this compartment definition is needed and why it has been designed as it has." ) 537 protected MarkdownType purpose; 538 539 /** 540 * Which compartment this definition describes. 541 */ 542 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 543 @Description(shortDefinition="Patient | Encounter | RelatedPerson | Practitioner | Device", formalDefinition="Which compartment this definition describes." ) 544 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/compartment-type") 545 protected Enumeration<CompartmentType> code; 546 547 /** 548 * Whether the search syntax is supported,. 549 */ 550 @Child(name = "search", type = {BooleanType.class}, order=2, min=1, max=1, modifier=false, summary=true) 551 @Description(shortDefinition="Whether the search syntax is supported", formalDefinition="Whether the search syntax is supported,." ) 552 protected BooleanType search; 553 554 /** 555 * Information about how a resource is related to the compartment. 556 */ 557 @Child(name = "resource", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 558 @Description(shortDefinition="How a resource is related to the compartment", formalDefinition="Information about how a resource is related to the compartment." ) 559 protected List<CompartmentDefinitionResourceComponent> resource; 560 561 private static final long serialVersionUID = -1159172945L; 562 563 /** 564 * Constructor 565 */ 566 public CompartmentDefinition() { 567 super(); 568 } 569 570 /** 571 * Constructor 572 */ 573 public CompartmentDefinition(UriType url, StringType name, Enumeration<PublicationStatus> status, Enumeration<CompartmentType> code, BooleanType search) { 574 super(); 575 this.url = url; 576 this.name = name; 577 this.status = status; 578 this.code = code; 579 this.search = search; 580 } 581 582 /** 583 * @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; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this compartment definition is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 584 */ 585 public UriType getUrlElement() { 586 if (this.url == null) 587 if (Configuration.errorOnAutoCreate()) 588 throw new Error("Attempt to auto-create CompartmentDefinition.url"); 589 else if (Configuration.doAutoCreate()) 590 this.url = new UriType(); // bb 591 return this.url; 592 } 593 594 public boolean hasUrlElement() { 595 return this.url != null && !this.url.isEmpty(); 596 } 597 598 public boolean hasUrl() { 599 return this.url != null && !this.url.isEmpty(); 600 } 601 602 /** 603 * @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; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this compartment definition is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 604 */ 605 public CompartmentDefinition setUrlElement(UriType value) { 606 this.url = value; 607 return this; 608 } 609 610 /** 611 * @return An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this compartment definition is (or will be) published. 612 */ 613 public String getUrl() { 614 return this.url == null ? null : this.url.getValue(); 615 } 616 617 /** 618 * @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; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this compartment definition is (or will be) published. 619 */ 620 public CompartmentDefinition setUrl(String value) { 621 if (this.url == null) 622 this.url = new UriType(); 623 this.url.setValue(value); 624 return this; 625 } 626 627 /** 628 * @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 629 */ 630 public StringType getNameElement() { 631 if (this.name == null) 632 if (Configuration.errorOnAutoCreate()) 633 throw new Error("Attempt to auto-create CompartmentDefinition.name"); 634 else if (Configuration.doAutoCreate()) 635 this.name = new StringType(); // bb 636 return this.name; 637 } 638 639 public boolean hasNameElement() { 640 return this.name != null && !this.name.isEmpty(); 641 } 642 643 public boolean hasName() { 644 return this.name != null && !this.name.isEmpty(); 645 } 646 647 /** 648 * @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 649 */ 650 public CompartmentDefinition setNameElement(StringType value) { 651 this.name = value; 652 return this; 653 } 654 655 /** 656 * @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. 657 */ 658 public String getName() { 659 return this.name == null ? null : this.name.getValue(); 660 } 661 662 /** 663 * @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. 664 */ 665 public CompartmentDefinition setName(String value) { 666 if (this.name == null) 667 this.name = new StringType(); 668 this.name.setValue(value); 669 return this; 670 } 671 672 /** 673 * @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 674 */ 675 public StringType getTitleElement() { 676 if (this.title == null) 677 if (Configuration.errorOnAutoCreate()) 678 throw new Error("Attempt to auto-create CompartmentDefinition.title"); 679 else if (Configuration.doAutoCreate()) 680 this.title = new StringType(); // bb 681 return this.title; 682 } 683 684 public boolean hasTitleElement() { 685 return this.title != null && !this.title.isEmpty(); 686 } 687 688 public boolean hasTitle() { 689 return this.title != null && !this.title.isEmpty(); 690 } 691 692 /** 693 * @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 694 */ 695 public CompartmentDefinition setTitleElement(StringType value) { 696 this.title = value; 697 return this; 698 } 699 700 /** 701 * @return A short, descriptive, user-friendly title for the compartment definition. 702 */ 703 public String getTitle() { 704 return this.title == null ? null : this.title.getValue(); 705 } 706 707 /** 708 * @param value A short, descriptive, user-friendly title for the compartment definition. 709 */ 710 public CompartmentDefinition setTitle(String value) { 711 if (Utilities.noString(value)) 712 this.title = null; 713 else { 714 if (this.title == null) 715 this.title = new StringType(); 716 this.title.setValue(value); 717 } 718 return this; 719 } 720 721 /** 722 * @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 723 */ 724 public Enumeration<PublicationStatus> getStatusElement() { 725 if (this.status == null) 726 if (Configuration.errorOnAutoCreate()) 727 throw new Error("Attempt to auto-create CompartmentDefinition.status"); 728 else if (Configuration.doAutoCreate()) 729 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 730 return this.status; 731 } 732 733 public boolean hasStatusElement() { 734 return this.status != null && !this.status.isEmpty(); 735 } 736 737 public boolean hasStatus() { 738 return this.status != null && !this.status.isEmpty(); 739 } 740 741 /** 742 * @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 743 */ 744 public CompartmentDefinition setStatusElement(Enumeration<PublicationStatus> value) { 745 this.status = value; 746 return this; 747 } 748 749 /** 750 * @return The status of this compartment definition. Enables tracking the life-cycle of the content. 751 */ 752 public PublicationStatus getStatus() { 753 return this.status == null ? null : this.status.getValue(); 754 } 755 756 /** 757 * @param value The status of this compartment definition. Enables tracking the life-cycle of the content. 758 */ 759 public CompartmentDefinition setStatus(PublicationStatus value) { 760 if (this.status == null) 761 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 762 this.status.setValue(value); 763 return this; 764 } 765 766 /** 767 * @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 768 */ 769 public BooleanType getExperimentalElement() { 770 if (this.experimental == null) 771 if (Configuration.errorOnAutoCreate()) 772 throw new Error("Attempt to auto-create CompartmentDefinition.experimental"); 773 else if (Configuration.doAutoCreate()) 774 this.experimental = new BooleanType(); // bb 775 return this.experimental; 776 } 777 778 public boolean hasExperimentalElement() { 779 return this.experimental != null && !this.experimental.isEmpty(); 780 } 781 782 public boolean hasExperimental() { 783 return this.experimental != null && !this.experimental.isEmpty(); 784 } 785 786 /** 787 * @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 788 */ 789 public CompartmentDefinition setExperimentalElement(BooleanType value) { 790 this.experimental = value; 791 return this; 792 } 793 794 /** 795 * @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. 796 */ 797 public boolean getExperimental() { 798 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 799 } 800 801 /** 802 * @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. 803 */ 804 public CompartmentDefinition setExperimental(boolean value) { 805 if (this.experimental == null) 806 this.experimental = new BooleanType(); 807 this.experimental.setValue(value); 808 return this; 809 } 810 811 /** 812 * @return {@link #date} (The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 813 */ 814 public DateTimeType getDateElement() { 815 if (this.date == null) 816 if (Configuration.errorOnAutoCreate()) 817 throw new Error("Attempt to auto-create CompartmentDefinition.date"); 818 else if (Configuration.doAutoCreate()) 819 this.date = new DateTimeType(); // bb 820 return this.date; 821 } 822 823 public boolean hasDateElement() { 824 return this.date != null && !this.date.isEmpty(); 825 } 826 827 public boolean hasDate() { 828 return this.date != null && !this.date.isEmpty(); 829 } 830 831 /** 832 * @param value {@link #date} (The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 833 */ 834 public CompartmentDefinition setDateElement(DateTimeType value) { 835 this.date = value; 836 return this; 837 } 838 839 /** 840 * @return The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes. 841 */ 842 public Date getDate() { 843 return this.date == null ? null : this.date.getValue(); 844 } 845 846 /** 847 * @param value The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes. 848 */ 849 public CompartmentDefinition setDate(Date value) { 850 if (value == null) 851 this.date = null; 852 else { 853 if (this.date == null) 854 this.date = new DateTimeType(); 855 this.date.setValue(value); 856 } 857 return this; 858 } 859 860 /** 861 * @return {@link #publisher} (The name of the organization or individual that published the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 862 */ 863 public StringType getPublisherElement() { 864 if (this.publisher == null) 865 if (Configuration.errorOnAutoCreate()) 866 throw new Error("Attempt to auto-create CompartmentDefinition.publisher"); 867 else if (Configuration.doAutoCreate()) 868 this.publisher = new StringType(); // bb 869 return this.publisher; 870 } 871 872 public boolean hasPublisherElement() { 873 return this.publisher != null && !this.publisher.isEmpty(); 874 } 875 876 public boolean hasPublisher() { 877 return this.publisher != null && !this.publisher.isEmpty(); 878 } 879 880 /** 881 * @param value {@link #publisher} (The name of the organization or individual that published the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 882 */ 883 public CompartmentDefinition setPublisherElement(StringType value) { 884 this.publisher = value; 885 return this; 886 } 887 888 /** 889 * @return The name of the organization or individual that published the compartment definition. 890 */ 891 public String getPublisher() { 892 return this.publisher == null ? null : this.publisher.getValue(); 893 } 894 895 /** 896 * @param value The name of the organization or individual that published the compartment definition. 897 */ 898 public CompartmentDefinition setPublisher(String value) { 899 if (Utilities.noString(value)) 900 this.publisher = null; 901 else { 902 if (this.publisher == null) 903 this.publisher = new StringType(); 904 this.publisher.setValue(value); 905 } 906 return this; 907 } 908 909 /** 910 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 911 */ 912 public List<ContactDetail> getContact() { 913 if (this.contact == null) 914 this.contact = new ArrayList<ContactDetail>(); 915 return this.contact; 916 } 917 918 /** 919 * @return Returns a reference to <code>this</code> for easy method chaining 920 */ 921 public CompartmentDefinition setContact(List<ContactDetail> theContact) { 922 this.contact = theContact; 923 return this; 924 } 925 926 public boolean hasContact() { 927 if (this.contact == null) 928 return false; 929 for (ContactDetail item : this.contact) 930 if (!item.isEmpty()) 931 return true; 932 return false; 933 } 934 935 public ContactDetail addContact() { //3 936 ContactDetail t = new ContactDetail(); 937 if (this.contact == null) 938 this.contact = new ArrayList<ContactDetail>(); 939 this.contact.add(t); 940 return t; 941 } 942 943 public CompartmentDefinition addContact(ContactDetail t) { //3 944 if (t == null) 945 return this; 946 if (this.contact == null) 947 this.contact = new ArrayList<ContactDetail>(); 948 this.contact.add(t); 949 return this; 950 } 951 952 /** 953 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 954 */ 955 public ContactDetail getContactFirstRep() { 956 if (getContact().isEmpty()) { 957 addContact(); 958 } 959 return getContact().get(0); 960 } 961 962 /** 963 * @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 964 */ 965 public MarkdownType getDescriptionElement() { 966 if (this.description == null) 967 if (Configuration.errorOnAutoCreate()) 968 throw new Error("Attempt to auto-create CompartmentDefinition.description"); 969 else if (Configuration.doAutoCreate()) 970 this.description = new MarkdownType(); // bb 971 return this.description; 972 } 973 974 public boolean hasDescriptionElement() { 975 return this.description != null && !this.description.isEmpty(); 976 } 977 978 public boolean hasDescription() { 979 return this.description != null && !this.description.isEmpty(); 980 } 981 982 /** 983 * @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 984 */ 985 public CompartmentDefinition setDescriptionElement(MarkdownType value) { 986 this.description = value; 987 return this; 988 } 989 990 /** 991 * @return A free text natural language description of the compartment definition from a consumer's perspective. 992 */ 993 public String getDescription() { 994 return this.description == null ? null : this.description.getValue(); 995 } 996 997 /** 998 * @param value A free text natural language description of the compartment definition from a consumer's perspective. 999 */ 1000 public CompartmentDefinition setDescription(String value) { 1001 if (value == null) 1002 this.description = null; 1003 else { 1004 if (this.description == null) 1005 this.description = new MarkdownType(); 1006 this.description.setValue(value); 1007 } 1008 return this; 1009 } 1010 1011 /** 1012 * @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.) 1013 */ 1014 public List<UsageContext> getUseContext() { 1015 if (this.useContext == null) 1016 this.useContext = new ArrayList<UsageContext>(); 1017 return this.useContext; 1018 } 1019 1020 /** 1021 * @return Returns a reference to <code>this</code> for easy method chaining 1022 */ 1023 public CompartmentDefinition setUseContext(List<UsageContext> theUseContext) { 1024 this.useContext = theUseContext; 1025 return this; 1026 } 1027 1028 public boolean hasUseContext() { 1029 if (this.useContext == null) 1030 return false; 1031 for (UsageContext item : this.useContext) 1032 if (!item.isEmpty()) 1033 return true; 1034 return false; 1035 } 1036 1037 public UsageContext addUseContext() { //3 1038 UsageContext t = new UsageContext(); 1039 if (this.useContext == null) 1040 this.useContext = new ArrayList<UsageContext>(); 1041 this.useContext.add(t); 1042 return t; 1043 } 1044 1045 public CompartmentDefinition addUseContext(UsageContext t) { //3 1046 if (t == null) 1047 return this; 1048 if (this.useContext == null) 1049 this.useContext = new ArrayList<UsageContext>(); 1050 this.useContext.add(t); 1051 return this; 1052 } 1053 1054 /** 1055 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 1056 */ 1057 public UsageContext getUseContextFirstRep() { 1058 if (getUseContext().isEmpty()) { 1059 addUseContext(); 1060 } 1061 return getUseContext().get(0); 1062 } 1063 1064 /** 1065 * @return {@link #jurisdiction} (A legal or geographic region in which the compartment definition is intended to be used.) 1066 */ 1067 public List<CodeableConcept> getJurisdiction() { 1068 if (this.jurisdiction == null) 1069 this.jurisdiction = new ArrayList<CodeableConcept>(); 1070 return this.jurisdiction; 1071 } 1072 1073 /** 1074 * @return Returns a reference to <code>this</code> for easy method chaining 1075 */ 1076 public CompartmentDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 1077 this.jurisdiction = theJurisdiction; 1078 return this; 1079 } 1080 1081 public boolean hasJurisdiction() { 1082 if (this.jurisdiction == null) 1083 return false; 1084 for (CodeableConcept item : this.jurisdiction) 1085 if (!item.isEmpty()) 1086 return true; 1087 return false; 1088 } 1089 1090 public CodeableConcept addJurisdiction() { //3 1091 CodeableConcept t = new CodeableConcept(); 1092 if (this.jurisdiction == null) 1093 this.jurisdiction = new ArrayList<CodeableConcept>(); 1094 this.jurisdiction.add(t); 1095 return t; 1096 } 1097 1098 public CompartmentDefinition addJurisdiction(CodeableConcept t) { //3 1099 if (t == null) 1100 return this; 1101 if (this.jurisdiction == null) 1102 this.jurisdiction = new ArrayList<CodeableConcept>(); 1103 this.jurisdiction.add(t); 1104 return this; 1105 } 1106 1107 /** 1108 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 1109 */ 1110 public CodeableConcept getJurisdictionFirstRep() { 1111 if (getJurisdiction().isEmpty()) { 1112 addJurisdiction(); 1113 } 1114 return getJurisdiction().get(0); 1115 } 1116 1117 /** 1118 * @return {@link #purpose} (Explanation 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 1119 */ 1120 public MarkdownType getPurposeElement() { 1121 if (this.purpose == null) 1122 if (Configuration.errorOnAutoCreate()) 1123 throw new Error("Attempt to auto-create CompartmentDefinition.purpose"); 1124 else if (Configuration.doAutoCreate()) 1125 this.purpose = new MarkdownType(); // bb 1126 return this.purpose; 1127 } 1128 1129 public boolean hasPurposeElement() { 1130 return this.purpose != null && !this.purpose.isEmpty(); 1131 } 1132 1133 public boolean hasPurpose() { 1134 return this.purpose != null && !this.purpose.isEmpty(); 1135 } 1136 1137 /** 1138 * @param value {@link #purpose} (Explanation 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 1139 */ 1140 public CompartmentDefinition setPurposeElement(MarkdownType value) { 1141 this.purpose = value; 1142 return this; 1143 } 1144 1145 /** 1146 * @return Explanation of why this compartment definition is needed and why it has been designed as it has. 1147 */ 1148 public String getPurpose() { 1149 return this.purpose == null ? null : this.purpose.getValue(); 1150 } 1151 1152 /** 1153 * @param value Explanation of why this compartment definition is needed and why it has been designed as it has. 1154 */ 1155 public CompartmentDefinition setPurpose(String value) { 1156 if (value == null) 1157 this.purpose = null; 1158 else { 1159 if (this.purpose == null) 1160 this.purpose = new MarkdownType(); 1161 this.purpose.setValue(value); 1162 } 1163 return this; 1164 } 1165 1166 /** 1167 * @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 1168 */ 1169 public Enumeration<CompartmentType> getCodeElement() { 1170 if (this.code == null) 1171 if (Configuration.errorOnAutoCreate()) 1172 throw new Error("Attempt to auto-create CompartmentDefinition.code"); 1173 else if (Configuration.doAutoCreate()) 1174 this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); // bb 1175 return this.code; 1176 } 1177 1178 public boolean hasCodeElement() { 1179 return this.code != null && !this.code.isEmpty(); 1180 } 1181 1182 public boolean hasCode() { 1183 return this.code != null && !this.code.isEmpty(); 1184 } 1185 1186 /** 1187 * @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 1188 */ 1189 public CompartmentDefinition setCodeElement(Enumeration<CompartmentType> value) { 1190 this.code = value; 1191 return this; 1192 } 1193 1194 /** 1195 * @return Which compartment this definition describes. 1196 */ 1197 public CompartmentType getCode() { 1198 return this.code == null ? null : this.code.getValue(); 1199 } 1200 1201 /** 1202 * @param value Which compartment this definition describes. 1203 */ 1204 public CompartmentDefinition setCode(CompartmentType value) { 1205 if (this.code == null) 1206 this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); 1207 this.code.setValue(value); 1208 return this; 1209 } 1210 1211 /** 1212 * @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 1213 */ 1214 public BooleanType getSearchElement() { 1215 if (this.search == null) 1216 if (Configuration.errorOnAutoCreate()) 1217 throw new Error("Attempt to auto-create CompartmentDefinition.search"); 1218 else if (Configuration.doAutoCreate()) 1219 this.search = new BooleanType(); // bb 1220 return this.search; 1221 } 1222 1223 public boolean hasSearchElement() { 1224 return this.search != null && !this.search.isEmpty(); 1225 } 1226 1227 public boolean hasSearch() { 1228 return this.search != null && !this.search.isEmpty(); 1229 } 1230 1231 /** 1232 * @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 1233 */ 1234 public CompartmentDefinition setSearchElement(BooleanType value) { 1235 this.search = value; 1236 return this; 1237 } 1238 1239 /** 1240 * @return Whether the search syntax is supported,. 1241 */ 1242 public boolean getSearch() { 1243 return this.search == null || this.search.isEmpty() ? false : this.search.getValue(); 1244 } 1245 1246 /** 1247 * @param value Whether the search syntax is supported,. 1248 */ 1249 public CompartmentDefinition setSearch(boolean value) { 1250 if (this.search == null) 1251 this.search = new BooleanType(); 1252 this.search.setValue(value); 1253 return this; 1254 } 1255 1256 /** 1257 * @return {@link #resource} (Information about how a resource is related to the compartment.) 1258 */ 1259 public List<CompartmentDefinitionResourceComponent> getResource() { 1260 if (this.resource == null) 1261 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1262 return this.resource; 1263 } 1264 1265 /** 1266 * @return Returns a reference to <code>this</code> for easy method chaining 1267 */ 1268 public CompartmentDefinition setResource(List<CompartmentDefinitionResourceComponent> theResource) { 1269 this.resource = theResource; 1270 return this; 1271 } 1272 1273 public boolean hasResource() { 1274 if (this.resource == null) 1275 return false; 1276 for (CompartmentDefinitionResourceComponent item : this.resource) 1277 if (!item.isEmpty()) 1278 return true; 1279 return false; 1280 } 1281 1282 public CompartmentDefinitionResourceComponent addResource() { //3 1283 CompartmentDefinitionResourceComponent t = new CompartmentDefinitionResourceComponent(); 1284 if (this.resource == null) 1285 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1286 this.resource.add(t); 1287 return t; 1288 } 1289 1290 public CompartmentDefinition addResource(CompartmentDefinitionResourceComponent t) { //3 1291 if (t == null) 1292 return this; 1293 if (this.resource == null) 1294 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1295 this.resource.add(t); 1296 return this; 1297 } 1298 1299 /** 1300 * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist 1301 */ 1302 public CompartmentDefinitionResourceComponent getResourceFirstRep() { 1303 if (getResource().isEmpty()) { 1304 addResource(); 1305 } 1306 return getResource().get(0); 1307 } 1308 1309 protected void listChildren(List<Property> children) { 1310 super.listChildren(children); 1311 children.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; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this compartment definition is (or will be) published.", 0, 1, url)); 1312 children.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, 1, name)); 1313 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the compartment definition.", 0, 1, title)); 1314 children.add(new Property("status", "code", "The status of this compartment definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 1315 children.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, 1, experimental)); 1316 children.add(new Property("date", "dateTime", "The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.", 0, 1, date)); 1317 children.add(new Property("publisher", "string", "The name of the organization or individual that published the compartment definition.", 0, 1, publisher)); 1318 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 1319 children.add(new Property("description", "markdown", "A free text natural language description of the compartment definition from a consumer's perspective.", 0, 1, description)); 1320 children.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)); 1321 children.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)); 1322 children.add(new Property("purpose", "markdown", "Explanation of why this compartment definition is needed and why it has been designed as it has.", 0, 1, purpose)); 1323 children.add(new Property("code", "code", "Which compartment this definition describes.", 0, 1, code)); 1324 children.add(new Property("search", "boolean", "Whether the search syntax is supported,.", 0, 1, search)); 1325 children.add(new Property("resource", "", "Information about how a resource is related to the compartment.", 0, java.lang.Integer.MAX_VALUE, resource)); 1326 } 1327 1328 @Override 1329 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1330 switch (_hash) { 1331 case 116079: /*url*/ return 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; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this compartment definition is (or will be) published.", 0, 1, url); 1332 case 3373707: /*name*/ return 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, 1, name); 1333 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the compartment definition.", 0, 1, title); 1334 case -892481550: /*status*/ return new Property("status", "code", "The status of this compartment definition. Enables tracking the life-cycle of the content.", 0, 1, status); 1335 case -404562712: /*experimental*/ return 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, 1, experimental); 1336 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.", 0, 1, date); 1337 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the compartment definition.", 0, 1, publisher); 1338 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 1339 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the compartment definition from a consumer's perspective.", 0, 1, description); 1340 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate compartment definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 1341 case -507075711: /*jurisdiction*/ return 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); 1342 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this compartment definition is needed and why it has been designed as it has.", 0, 1, purpose); 1343 case 3059181: /*code*/ return new Property("code", "code", "Which compartment this definition describes.", 0, 1, code); 1344 case -906336856: /*search*/ return new Property("search", "boolean", "Whether the search syntax is supported,.", 0, 1, search); 1345 case -341064690: /*resource*/ return new Property("resource", "", "Information about how a resource is related to the compartment.", 0, java.lang.Integer.MAX_VALUE, resource); 1346 default: return super.getNamedProperty(_hash, _name, _checkValid); 1347 } 1348 1349 } 1350 1351 @Override 1352 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1353 switch (hash) { 1354 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 1355 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1356 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 1357 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 1358 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 1359 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1360 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 1361 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 1362 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1363 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 1364 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 1365 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 1366 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<CompartmentType> 1367 case -906336856: /*search*/ return this.search == null ? new Base[0] : new Base[] {this.search}; // BooleanType 1368 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // CompartmentDefinitionResourceComponent 1369 default: return super.getProperty(hash, name, checkValid); 1370 } 1371 1372 } 1373 1374 @Override 1375 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1376 switch (hash) { 1377 case 116079: // url 1378 this.url = castToUri(value); // UriType 1379 return value; 1380 case 3373707: // name 1381 this.name = castToString(value); // StringType 1382 return value; 1383 case 110371416: // title 1384 this.title = castToString(value); // StringType 1385 return value; 1386 case -892481550: // status 1387 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1388 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1389 return value; 1390 case -404562712: // experimental 1391 this.experimental = castToBoolean(value); // BooleanType 1392 return value; 1393 case 3076014: // date 1394 this.date = castToDateTime(value); // DateTimeType 1395 return value; 1396 case 1447404028: // publisher 1397 this.publisher = castToString(value); // StringType 1398 return value; 1399 case 951526432: // contact 1400 this.getContact().add(castToContactDetail(value)); // ContactDetail 1401 return value; 1402 case -1724546052: // description 1403 this.description = castToMarkdown(value); // MarkdownType 1404 return value; 1405 case -669707736: // useContext 1406 this.getUseContext().add(castToUsageContext(value)); // UsageContext 1407 return value; 1408 case -507075711: // jurisdiction 1409 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 1410 return value; 1411 case -220463842: // purpose 1412 this.purpose = castToMarkdown(value); // MarkdownType 1413 return value; 1414 case 3059181: // code 1415 value = new CompartmentTypeEnumFactory().fromType(castToCode(value)); 1416 this.code = (Enumeration) value; // Enumeration<CompartmentType> 1417 return value; 1418 case -906336856: // search 1419 this.search = castToBoolean(value); // BooleanType 1420 return value; 1421 case -341064690: // resource 1422 this.getResource().add((CompartmentDefinitionResourceComponent) value); // CompartmentDefinitionResourceComponent 1423 return value; 1424 default: return super.setProperty(hash, name, value); 1425 } 1426 1427 } 1428 1429 @Override 1430 public Base setProperty(String name, Base value) throws FHIRException { 1431 if (name.equals("url")) { 1432 this.url = castToUri(value); // UriType 1433 } else if (name.equals("name")) { 1434 this.name = castToString(value); // StringType 1435 } else if (name.equals("title")) { 1436 this.title = castToString(value); // StringType 1437 } else if (name.equals("status")) { 1438 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1439 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1440 } else if (name.equals("experimental")) { 1441 this.experimental = castToBoolean(value); // BooleanType 1442 } else if (name.equals("date")) { 1443 this.date = castToDateTime(value); // DateTimeType 1444 } else if (name.equals("publisher")) { 1445 this.publisher = castToString(value); // StringType 1446 } else if (name.equals("contact")) { 1447 this.getContact().add(castToContactDetail(value)); 1448 } else if (name.equals("description")) { 1449 this.description = castToMarkdown(value); // MarkdownType 1450 } else if (name.equals("useContext")) { 1451 this.getUseContext().add(castToUsageContext(value)); 1452 } else if (name.equals("jurisdiction")) { 1453 this.getJurisdiction().add(castToCodeableConcept(value)); 1454 } else if (name.equals("purpose")) { 1455 this.purpose = castToMarkdown(value); // MarkdownType 1456 } else if (name.equals("code")) { 1457 value = new CompartmentTypeEnumFactory().fromType(castToCode(value)); 1458 this.code = (Enumeration) value; // Enumeration<CompartmentType> 1459 } else if (name.equals("search")) { 1460 this.search = castToBoolean(value); // BooleanType 1461 } else if (name.equals("resource")) { 1462 this.getResource().add((CompartmentDefinitionResourceComponent) value); 1463 } else 1464 return super.setProperty(name, value); 1465 return value; 1466 } 1467 1468 @Override 1469 public Base makeProperty(int hash, String name) throws FHIRException { 1470 switch (hash) { 1471 case 116079: return getUrlElement(); 1472 case 3373707: return getNameElement(); 1473 case 110371416: return getTitleElement(); 1474 case -892481550: return getStatusElement(); 1475 case -404562712: return getExperimentalElement(); 1476 case 3076014: return getDateElement(); 1477 case 1447404028: return getPublisherElement(); 1478 case 951526432: return addContact(); 1479 case -1724546052: return getDescriptionElement(); 1480 case -669707736: return addUseContext(); 1481 case -507075711: return addJurisdiction(); 1482 case -220463842: return getPurposeElement(); 1483 case 3059181: return getCodeElement(); 1484 case -906336856: return getSearchElement(); 1485 case -341064690: return addResource(); 1486 default: return super.makeProperty(hash, name); 1487 } 1488 1489 } 1490 1491 @Override 1492 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1493 switch (hash) { 1494 case 116079: /*url*/ return new String[] {"uri"}; 1495 case 3373707: /*name*/ return new String[] {"string"}; 1496 case 110371416: /*title*/ return new String[] {"string"}; 1497 case -892481550: /*status*/ return new String[] {"code"}; 1498 case -404562712: /*experimental*/ return new String[] {"boolean"}; 1499 case 3076014: /*date*/ return new String[] {"dateTime"}; 1500 case 1447404028: /*publisher*/ return new String[] {"string"}; 1501 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 1502 case -1724546052: /*description*/ return new String[] {"markdown"}; 1503 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 1504 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 1505 case -220463842: /*purpose*/ return new String[] {"markdown"}; 1506 case 3059181: /*code*/ return new String[] {"code"}; 1507 case -906336856: /*search*/ return new String[] {"boolean"}; 1508 case -341064690: /*resource*/ return new String[] {}; 1509 default: return super.getTypesForProperty(hash, name); 1510 } 1511 1512 } 1513 1514 @Override 1515 public Base addChild(String name) throws FHIRException { 1516 if (name.equals("url")) { 1517 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.url"); 1518 } 1519 else if (name.equals("name")) { 1520 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.name"); 1521 } 1522 else if (name.equals("title")) { 1523 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.title"); 1524 } 1525 else if (name.equals("status")) { 1526 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.status"); 1527 } 1528 else if (name.equals("experimental")) { 1529 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.experimental"); 1530 } 1531 else if (name.equals("date")) { 1532 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.date"); 1533 } 1534 else if (name.equals("publisher")) { 1535 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.publisher"); 1536 } 1537 else if (name.equals("contact")) { 1538 return addContact(); 1539 } 1540 else if (name.equals("description")) { 1541 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.description"); 1542 } 1543 else if (name.equals("useContext")) { 1544 return addUseContext(); 1545 } 1546 else if (name.equals("jurisdiction")) { 1547 return addJurisdiction(); 1548 } 1549 else if (name.equals("purpose")) { 1550 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.purpose"); 1551 } 1552 else if (name.equals("code")) { 1553 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.code"); 1554 } 1555 else if (name.equals("search")) { 1556 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.search"); 1557 } 1558 else if (name.equals("resource")) { 1559 return addResource(); 1560 } 1561 else 1562 return super.addChild(name); 1563 } 1564 1565 public String fhirType() { 1566 return "CompartmentDefinition"; 1567 1568 } 1569 1570 public CompartmentDefinition copy() { 1571 CompartmentDefinition dst = new CompartmentDefinition(); 1572 copyValues(dst); 1573 dst.url = url == null ? null : url.copy(); 1574 dst.name = name == null ? null : name.copy(); 1575 dst.title = title == null ? null : title.copy(); 1576 dst.status = status == null ? null : status.copy(); 1577 dst.experimental = experimental == null ? null : experimental.copy(); 1578 dst.date = date == null ? null : date.copy(); 1579 dst.publisher = publisher == null ? null : publisher.copy(); 1580 if (contact != null) { 1581 dst.contact = new ArrayList<ContactDetail>(); 1582 for (ContactDetail i : contact) 1583 dst.contact.add(i.copy()); 1584 }; 1585 dst.description = description == null ? null : description.copy(); 1586 if (useContext != null) { 1587 dst.useContext = new ArrayList<UsageContext>(); 1588 for (UsageContext i : useContext) 1589 dst.useContext.add(i.copy()); 1590 }; 1591 if (jurisdiction != null) { 1592 dst.jurisdiction = new ArrayList<CodeableConcept>(); 1593 for (CodeableConcept i : jurisdiction) 1594 dst.jurisdiction.add(i.copy()); 1595 }; 1596 dst.purpose = purpose == null ? null : purpose.copy(); 1597 dst.code = code == null ? null : code.copy(); 1598 dst.search = search == null ? null : search.copy(); 1599 if (resource != null) { 1600 dst.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1601 for (CompartmentDefinitionResourceComponent i : resource) 1602 dst.resource.add(i.copy()); 1603 }; 1604 return dst; 1605 } 1606 1607 protected CompartmentDefinition typedCopy() { 1608 return copy(); 1609 } 1610 1611 @Override 1612 public boolean equalsDeep(Base other_) { 1613 if (!super.equalsDeep(other_)) 1614 return false; 1615 if (!(other_ instanceof CompartmentDefinition)) 1616 return false; 1617 CompartmentDefinition o = (CompartmentDefinition) other_; 1618 return compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) && compareDeep(search, o.search, true) 1619 && compareDeep(resource, o.resource, true); 1620 } 1621 1622 @Override 1623 public boolean equalsShallow(Base other_) { 1624 if (!super.equalsShallow(other_)) 1625 return false; 1626 if (!(other_ instanceof CompartmentDefinition)) 1627 return false; 1628 CompartmentDefinition o = (CompartmentDefinition) other_; 1629 return compareValues(purpose, o.purpose, true) && compareValues(code, o.code, true) && compareValues(search, o.search, true) 1630 ; 1631 } 1632 1633 public boolean isEmpty() { 1634 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(purpose, code, search, resource 1635 ); 1636 } 1637 1638 @Override 1639 public ResourceType getResourceType() { 1640 return ResourceType.CompartmentDefinition; 1641 } 1642 1643 /** 1644 * Search parameter: <b>date</b> 1645 * <p> 1646 * Description: <b>The compartment definition publication date</b><br> 1647 * Type: <b>date</b><br> 1648 * Path: <b>CompartmentDefinition.date</b><br> 1649 * </p> 1650 */ 1651 @SearchParamDefinition(name="date", path="CompartmentDefinition.date", description="The compartment definition publication date", type="date" ) 1652 public static final String SP_DATE = "date"; 1653 /** 1654 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1655 * <p> 1656 * Description: <b>The compartment definition publication date</b><br> 1657 * Type: <b>date</b><br> 1658 * Path: <b>CompartmentDefinition.date</b><br> 1659 * </p> 1660 */ 1661 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1662 1663 /** 1664 * Search parameter: <b>code</b> 1665 * <p> 1666 * Description: <b>Patient | Encounter | RelatedPerson | Practitioner | Device</b><br> 1667 * Type: <b>token</b><br> 1668 * Path: <b>CompartmentDefinition.code</b><br> 1669 * </p> 1670 */ 1671 @SearchParamDefinition(name="code", path="CompartmentDefinition.code", description="Patient | Encounter | RelatedPerson | Practitioner | Device", type="token" ) 1672 public static final String SP_CODE = "code"; 1673 /** 1674 * <b>Fluent Client</b> search parameter constant for <b>code</b> 1675 * <p> 1676 * Description: <b>Patient | Encounter | RelatedPerson | Practitioner | Device</b><br> 1677 * Type: <b>token</b><br> 1678 * Path: <b>CompartmentDefinition.code</b><br> 1679 * </p> 1680 */ 1681 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 1682 1683 /** 1684 * Search parameter: <b>resource</b> 1685 * <p> 1686 * Description: <b>Name of resource type</b><br> 1687 * Type: <b>token</b><br> 1688 * Path: <b>CompartmentDefinition.resource.code</b><br> 1689 * </p> 1690 */ 1691 @SearchParamDefinition(name="resource", path="CompartmentDefinition.resource.code", description="Name of resource type", type="token" ) 1692 public static final String SP_RESOURCE = "resource"; 1693 /** 1694 * <b>Fluent Client</b> search parameter constant for <b>resource</b> 1695 * <p> 1696 * Description: <b>Name of resource type</b><br> 1697 * Type: <b>token</b><br> 1698 * Path: <b>CompartmentDefinition.resource.code</b><br> 1699 * </p> 1700 */ 1701 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RESOURCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RESOURCE); 1702 1703 /** 1704 * Search parameter: <b>jurisdiction</b> 1705 * <p> 1706 * Description: <b>Intended jurisdiction for the compartment definition</b><br> 1707 * Type: <b>token</b><br> 1708 * Path: <b>CompartmentDefinition.jurisdiction</b><br> 1709 * </p> 1710 */ 1711 @SearchParamDefinition(name="jurisdiction", path="CompartmentDefinition.jurisdiction", description="Intended jurisdiction for the compartment definition", type="token" ) 1712 public static final String SP_JURISDICTION = "jurisdiction"; 1713 /** 1714 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 1715 * <p> 1716 * Description: <b>Intended jurisdiction for the compartment definition</b><br> 1717 * Type: <b>token</b><br> 1718 * Path: <b>CompartmentDefinition.jurisdiction</b><br> 1719 * </p> 1720 */ 1721 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 1722 1723 /** 1724 * Search parameter: <b>name</b> 1725 * <p> 1726 * Description: <b>Computationally friendly name of the compartment definition</b><br> 1727 * Type: <b>string</b><br> 1728 * Path: <b>CompartmentDefinition.name</b><br> 1729 * </p> 1730 */ 1731 @SearchParamDefinition(name="name", path="CompartmentDefinition.name", description="Computationally friendly name of the compartment definition", type="string" ) 1732 public static final String SP_NAME = "name"; 1733 /** 1734 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1735 * <p> 1736 * Description: <b>Computationally friendly name of the compartment definition</b><br> 1737 * Type: <b>string</b><br> 1738 * Path: <b>CompartmentDefinition.name</b><br> 1739 * </p> 1740 */ 1741 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1742 1743 /** 1744 * Search parameter: <b>description</b> 1745 * <p> 1746 * Description: <b>The description of the compartment definition</b><br> 1747 * Type: <b>string</b><br> 1748 * Path: <b>CompartmentDefinition.description</b><br> 1749 * </p> 1750 */ 1751 @SearchParamDefinition(name="description", path="CompartmentDefinition.description", description="The description of the compartment definition", type="string" ) 1752 public static final String SP_DESCRIPTION = "description"; 1753 /** 1754 * <b>Fluent Client</b> search parameter constant for <b>description</b> 1755 * <p> 1756 * Description: <b>The description of the compartment definition</b><br> 1757 * Type: <b>string</b><br> 1758 * Path: <b>CompartmentDefinition.description</b><br> 1759 * </p> 1760 */ 1761 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 1762 1763 /** 1764 * Search parameter: <b>publisher</b> 1765 * <p> 1766 * Description: <b>Name of the publisher of the compartment definition</b><br> 1767 * Type: <b>string</b><br> 1768 * Path: <b>CompartmentDefinition.publisher</b><br> 1769 * </p> 1770 */ 1771 @SearchParamDefinition(name="publisher", path="CompartmentDefinition.publisher", description="Name of the publisher of the compartment definition", type="string" ) 1772 public static final String SP_PUBLISHER = "publisher"; 1773 /** 1774 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 1775 * <p> 1776 * Description: <b>Name of the publisher of the compartment definition</b><br> 1777 * Type: <b>string</b><br> 1778 * Path: <b>CompartmentDefinition.publisher</b><br> 1779 * </p> 1780 */ 1781 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 1782 1783 /** 1784 * Search parameter: <b>context-type</b> 1785 * <p> 1786 * Description: <b>A type of use context assigned to the compartment definition</b><br> 1787 * Type: <b>token</b><br> 1788 * Path: <b>CompartmentDefinition.useContext.code</b><br> 1789 * </p> 1790 */ 1791 @SearchParamDefinition(name="context-type", path="CompartmentDefinition.useContext.code", description="A type of use context assigned to the compartment definition", type="token" ) 1792 public static final String SP_CONTEXT_TYPE = "context-type"; 1793 /** 1794 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 1795 * <p> 1796 * Description: <b>A type of use context assigned to the compartment definition</b><br> 1797 * Type: <b>token</b><br> 1798 * Path: <b>CompartmentDefinition.useContext.code</b><br> 1799 * </p> 1800 */ 1801 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 1802 1803 /** 1804 * Search parameter: <b>title</b> 1805 * <p> 1806 * Description: <b>The human-friendly name of the compartment definition</b><br> 1807 * Type: <b>string</b><br> 1808 * Path: <b>CompartmentDefinition.title</b><br> 1809 * </p> 1810 */ 1811 @SearchParamDefinition(name="title", path="CompartmentDefinition.title", description="The human-friendly name of the compartment definition", type="string" ) 1812 public static final String SP_TITLE = "title"; 1813 /** 1814 * <b>Fluent Client</b> search parameter constant for <b>title</b> 1815 * <p> 1816 * Description: <b>The human-friendly name of the compartment definition</b><br> 1817 * Type: <b>string</b><br> 1818 * Path: <b>CompartmentDefinition.title</b><br> 1819 * </p> 1820 */ 1821 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 1822 1823 /** 1824 * Search parameter: <b>url</b> 1825 * <p> 1826 * Description: <b>The uri that identifies the compartment definition</b><br> 1827 * Type: <b>uri</b><br> 1828 * Path: <b>CompartmentDefinition.url</b><br> 1829 * </p> 1830 */ 1831 @SearchParamDefinition(name="url", path="CompartmentDefinition.url", description="The uri that identifies the compartment definition", type="uri" ) 1832 public static final String SP_URL = "url"; 1833 /** 1834 * <b>Fluent Client</b> search parameter constant for <b>url</b> 1835 * <p> 1836 * Description: <b>The uri that identifies the compartment definition</b><br> 1837 * Type: <b>uri</b><br> 1838 * Path: <b>CompartmentDefinition.url</b><br> 1839 * </p> 1840 */ 1841 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 1842 1843 /** 1844 * Search parameter: <b>status</b> 1845 * <p> 1846 * Description: <b>The current status of the compartment definition</b><br> 1847 * Type: <b>token</b><br> 1848 * Path: <b>CompartmentDefinition.status</b><br> 1849 * </p> 1850 */ 1851 @SearchParamDefinition(name="status", path="CompartmentDefinition.status", description="The current status of the compartment definition", type="token" ) 1852 public static final String SP_STATUS = "status"; 1853 /** 1854 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1855 * <p> 1856 * Description: <b>The current status of the compartment definition</b><br> 1857 * Type: <b>token</b><br> 1858 * Path: <b>CompartmentDefinition.status</b><br> 1859 * </p> 1860 */ 1861 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1862 1863 1864} 1865