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 Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.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/StructureDefinition/CompartmentDefinition") 050@ChildOrder(names={"url", "version", "name", "status", "experimental", "date", "publisher", "contact", "description", "useContext", "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 at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 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 at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 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 at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. 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 at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. 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 #version} (The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 629 */ 630 public StringType getVersionElement() { 631 if (this.version == null) 632 if (Configuration.errorOnAutoCreate()) 633 throw new Error("Attempt to auto-create CompartmentDefinition.version"); 634 else if (Configuration.doAutoCreate()) 635 this.version = new StringType(); // bb 636 return this.version; 637 } 638 639 public boolean hasVersionElement() { 640 return this.version != null && !this.version.isEmpty(); 641 } 642 643 public boolean hasVersion() { 644 return this.version != null && !this.version.isEmpty(); 645 } 646 647 /** 648 * @param value {@link #version} (The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 649 */ 650 public CompartmentDefinition setVersionElement(StringType value) { 651 this.version = value; 652 return this; 653 } 654 655 /** 656 * @return The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 657 */ 658 public String getVersion() { 659 return this.version == null ? null : this.version.getValue(); 660 } 661 662 /** 663 * @param value The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 664 */ 665 public CompartmentDefinition setVersion(String value) { 666 if (Utilities.noString(value)) 667 this.version = null; 668 else { 669 if (this.version == null) 670 this.version = new StringType(); 671 this.version.setValue(value); 672 } 673 return this; 674 } 675 676 /** 677 * @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 678 */ 679 public StringType getNameElement() { 680 if (this.name == null) 681 if (Configuration.errorOnAutoCreate()) 682 throw new Error("Attempt to auto-create CompartmentDefinition.name"); 683 else if (Configuration.doAutoCreate()) 684 this.name = new StringType(); // bb 685 return this.name; 686 } 687 688 public boolean hasNameElement() { 689 return this.name != null && !this.name.isEmpty(); 690 } 691 692 public boolean hasName() { 693 return this.name != null && !this.name.isEmpty(); 694 } 695 696 /** 697 * @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 698 */ 699 public CompartmentDefinition setNameElement(StringType value) { 700 this.name = value; 701 return this; 702 } 703 704 /** 705 * @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. 706 */ 707 public String getName() { 708 return this.name == null ? null : this.name.getValue(); 709 } 710 711 /** 712 * @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. 713 */ 714 public CompartmentDefinition setName(String value) { 715 if (this.name == null) 716 this.name = new StringType(); 717 this.name.setValue(value); 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 #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 1066 */ 1067 public MarkdownType getPurposeElement() { 1068 if (this.purpose == null) 1069 if (Configuration.errorOnAutoCreate()) 1070 throw new Error("Attempt to auto-create CompartmentDefinition.purpose"); 1071 else if (Configuration.doAutoCreate()) 1072 this.purpose = new MarkdownType(); // bb 1073 return this.purpose; 1074 } 1075 1076 public boolean hasPurposeElement() { 1077 return this.purpose != null && !this.purpose.isEmpty(); 1078 } 1079 1080 public boolean hasPurpose() { 1081 return this.purpose != null && !this.purpose.isEmpty(); 1082 } 1083 1084 /** 1085 * @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 1086 */ 1087 public CompartmentDefinition setPurposeElement(MarkdownType value) { 1088 this.purpose = value; 1089 return this; 1090 } 1091 1092 /** 1093 * @return Explanation of why this compartment definition is needed and why it has been designed as it has. 1094 */ 1095 public String getPurpose() { 1096 return this.purpose == null ? null : this.purpose.getValue(); 1097 } 1098 1099 /** 1100 * @param value Explanation of why this compartment definition is needed and why it has been designed as it has. 1101 */ 1102 public CompartmentDefinition setPurpose(String value) { 1103 if (value == null) 1104 this.purpose = null; 1105 else { 1106 if (this.purpose == null) 1107 this.purpose = new MarkdownType(); 1108 this.purpose.setValue(value); 1109 } 1110 return this; 1111 } 1112 1113 /** 1114 * @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 1115 */ 1116 public Enumeration<CompartmentType> getCodeElement() { 1117 if (this.code == null) 1118 if (Configuration.errorOnAutoCreate()) 1119 throw new Error("Attempt to auto-create CompartmentDefinition.code"); 1120 else if (Configuration.doAutoCreate()) 1121 this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); // bb 1122 return this.code; 1123 } 1124 1125 public boolean hasCodeElement() { 1126 return this.code != null && !this.code.isEmpty(); 1127 } 1128 1129 public boolean hasCode() { 1130 return this.code != null && !this.code.isEmpty(); 1131 } 1132 1133 /** 1134 * @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 1135 */ 1136 public CompartmentDefinition setCodeElement(Enumeration<CompartmentType> value) { 1137 this.code = value; 1138 return this; 1139 } 1140 1141 /** 1142 * @return Which compartment this definition describes. 1143 */ 1144 public CompartmentType getCode() { 1145 return this.code == null ? null : this.code.getValue(); 1146 } 1147 1148 /** 1149 * @param value Which compartment this definition describes. 1150 */ 1151 public CompartmentDefinition setCode(CompartmentType value) { 1152 if (this.code == null) 1153 this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); 1154 this.code.setValue(value); 1155 return this; 1156 } 1157 1158 /** 1159 * @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 1160 */ 1161 public BooleanType getSearchElement() { 1162 if (this.search == null) 1163 if (Configuration.errorOnAutoCreate()) 1164 throw new Error("Attempt to auto-create CompartmentDefinition.search"); 1165 else if (Configuration.doAutoCreate()) 1166 this.search = new BooleanType(); // bb 1167 return this.search; 1168 } 1169 1170 public boolean hasSearchElement() { 1171 return this.search != null && !this.search.isEmpty(); 1172 } 1173 1174 public boolean hasSearch() { 1175 return this.search != null && !this.search.isEmpty(); 1176 } 1177 1178 /** 1179 * @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 1180 */ 1181 public CompartmentDefinition setSearchElement(BooleanType value) { 1182 this.search = value; 1183 return this; 1184 } 1185 1186 /** 1187 * @return Whether the search syntax is supported,. 1188 */ 1189 public boolean getSearch() { 1190 return this.search == null || this.search.isEmpty() ? false : this.search.getValue(); 1191 } 1192 1193 /** 1194 * @param value Whether the search syntax is supported,. 1195 */ 1196 public CompartmentDefinition setSearch(boolean value) { 1197 if (this.search == null) 1198 this.search = new BooleanType(); 1199 this.search.setValue(value); 1200 return this; 1201 } 1202 1203 /** 1204 * @return {@link #resource} (Information about how a resource is related to the compartment.) 1205 */ 1206 public List<CompartmentDefinitionResourceComponent> getResource() { 1207 if (this.resource == null) 1208 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1209 return this.resource; 1210 } 1211 1212 /** 1213 * @return Returns a reference to <code>this</code> for easy method chaining 1214 */ 1215 public CompartmentDefinition setResource(List<CompartmentDefinitionResourceComponent> theResource) { 1216 this.resource = theResource; 1217 return this; 1218 } 1219 1220 public boolean hasResource() { 1221 if (this.resource == null) 1222 return false; 1223 for (CompartmentDefinitionResourceComponent item : this.resource) 1224 if (!item.isEmpty()) 1225 return true; 1226 return false; 1227 } 1228 1229 public CompartmentDefinitionResourceComponent addResource() { //3 1230 CompartmentDefinitionResourceComponent t = new CompartmentDefinitionResourceComponent(); 1231 if (this.resource == null) 1232 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1233 this.resource.add(t); 1234 return t; 1235 } 1236 1237 public CompartmentDefinition addResource(CompartmentDefinitionResourceComponent t) { //3 1238 if (t == null) 1239 return this; 1240 if (this.resource == null) 1241 this.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1242 this.resource.add(t); 1243 return this; 1244 } 1245 1246 /** 1247 * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist 1248 */ 1249 public CompartmentDefinitionResourceComponent getResourceFirstRep() { 1250 if (getResource().isEmpty()) { 1251 addResource(); 1252 } 1253 return getResource().get(0); 1254 } 1255 1256 protected void listChildren(List<Property> children) { 1257 super.listChildren(children); 1258 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 at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.", 0, 1, url)); 1259 children.add(new Property("version", "string", "The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 1260 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)); 1261 children.add(new Property("status", "code", "The status of this compartment definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 1262 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)); 1263 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)); 1264 children.add(new Property("publisher", "string", "The name of the organization or individual that published the compartment definition.", 0, 1, publisher)); 1265 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)); 1266 children.add(new Property("description", "markdown", "A free text natural language description of the compartment definition from a consumer's perspective.", 0, 1, description)); 1267 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)); 1268 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)); 1269 children.add(new Property("code", "code", "Which compartment this definition describes.", 0, 1, code)); 1270 children.add(new Property("search", "boolean", "Whether the search syntax is supported,.", 0, 1, search)); 1271 children.add(new Property("resource", "", "Information about how a resource is related to the compartment.", 0, java.lang.Integer.MAX_VALUE, resource)); 1272 } 1273 1274 @Override 1275 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1276 switch (_hash) { 1277 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 at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.", 0, 1, url); 1278 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 1279 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); 1280 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); 1281 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); 1282 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); 1283 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the compartment definition.", 0, 1, publisher); 1284 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); 1285 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); 1286 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); 1287 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); 1288 case 3059181: /*code*/ return new Property("code", "code", "Which compartment this definition describes.", 0, 1, code); 1289 case -906336856: /*search*/ return new Property("search", "boolean", "Whether the search syntax is supported,.", 0, 1, search); 1290 case -341064690: /*resource*/ return new Property("resource", "", "Information about how a resource is related to the compartment.", 0, java.lang.Integer.MAX_VALUE, resource); 1291 default: return super.getNamedProperty(_hash, _name, _checkValid); 1292 } 1293 1294 } 1295 1296 @Override 1297 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1298 switch (hash) { 1299 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 1300 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 1301 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1302 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 1303 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 1304 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1305 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 1306 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 1307 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1308 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 1309 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 1310 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<CompartmentType> 1311 case -906336856: /*search*/ return this.search == null ? new Base[0] : new Base[] {this.search}; // BooleanType 1312 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // CompartmentDefinitionResourceComponent 1313 default: return super.getProperty(hash, name, checkValid); 1314 } 1315 1316 } 1317 1318 @Override 1319 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1320 switch (hash) { 1321 case 116079: // url 1322 this.url = castToUri(value); // UriType 1323 return value; 1324 case 351608024: // version 1325 this.version = castToString(value); // StringType 1326 return value; 1327 case 3373707: // name 1328 this.name = castToString(value); // StringType 1329 return value; 1330 case -892481550: // status 1331 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1332 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1333 return value; 1334 case -404562712: // experimental 1335 this.experimental = castToBoolean(value); // BooleanType 1336 return value; 1337 case 3076014: // date 1338 this.date = castToDateTime(value); // DateTimeType 1339 return value; 1340 case 1447404028: // publisher 1341 this.publisher = castToString(value); // StringType 1342 return value; 1343 case 951526432: // contact 1344 this.getContact().add(castToContactDetail(value)); // ContactDetail 1345 return value; 1346 case -1724546052: // description 1347 this.description = castToMarkdown(value); // MarkdownType 1348 return value; 1349 case -669707736: // useContext 1350 this.getUseContext().add(castToUsageContext(value)); // UsageContext 1351 return value; 1352 case -220463842: // purpose 1353 this.purpose = castToMarkdown(value); // MarkdownType 1354 return value; 1355 case 3059181: // code 1356 value = new CompartmentTypeEnumFactory().fromType(castToCode(value)); 1357 this.code = (Enumeration) value; // Enumeration<CompartmentType> 1358 return value; 1359 case -906336856: // search 1360 this.search = castToBoolean(value); // BooleanType 1361 return value; 1362 case -341064690: // resource 1363 this.getResource().add((CompartmentDefinitionResourceComponent) value); // CompartmentDefinitionResourceComponent 1364 return value; 1365 default: return super.setProperty(hash, name, value); 1366 } 1367 1368 } 1369 1370 @Override 1371 public Base setProperty(String name, Base value) throws FHIRException { 1372 if (name.equals("url")) { 1373 this.url = castToUri(value); // UriType 1374 } else if (name.equals("version")) { 1375 this.version = castToString(value); // StringType 1376 } else if (name.equals("name")) { 1377 this.name = castToString(value); // StringType 1378 } else if (name.equals("status")) { 1379 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1380 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1381 } else if (name.equals("experimental")) { 1382 this.experimental = castToBoolean(value); // BooleanType 1383 } else if (name.equals("date")) { 1384 this.date = castToDateTime(value); // DateTimeType 1385 } else if (name.equals("publisher")) { 1386 this.publisher = castToString(value); // StringType 1387 } else if (name.equals("contact")) { 1388 this.getContact().add(castToContactDetail(value)); 1389 } else if (name.equals("description")) { 1390 this.description = castToMarkdown(value); // MarkdownType 1391 } else if (name.equals("useContext")) { 1392 this.getUseContext().add(castToUsageContext(value)); 1393 } else if (name.equals("purpose")) { 1394 this.purpose = castToMarkdown(value); // MarkdownType 1395 } else if (name.equals("code")) { 1396 value = new CompartmentTypeEnumFactory().fromType(castToCode(value)); 1397 this.code = (Enumeration) value; // Enumeration<CompartmentType> 1398 } else if (name.equals("search")) { 1399 this.search = castToBoolean(value); // BooleanType 1400 } else if (name.equals("resource")) { 1401 this.getResource().add((CompartmentDefinitionResourceComponent) value); 1402 } else 1403 return super.setProperty(name, value); 1404 return value; 1405 } 1406 1407 @Override 1408 public Base makeProperty(int hash, String name) throws FHIRException { 1409 switch (hash) { 1410 case 116079: return getUrlElement(); 1411 case 351608024: return getVersionElement(); 1412 case 3373707: return getNameElement(); 1413 case -892481550: return getStatusElement(); 1414 case -404562712: return getExperimentalElement(); 1415 case 3076014: return getDateElement(); 1416 case 1447404028: return getPublisherElement(); 1417 case 951526432: return addContact(); 1418 case -1724546052: return getDescriptionElement(); 1419 case -669707736: return addUseContext(); 1420 case -220463842: return getPurposeElement(); 1421 case 3059181: return getCodeElement(); 1422 case -906336856: return getSearchElement(); 1423 case -341064690: return addResource(); 1424 default: return super.makeProperty(hash, name); 1425 } 1426 1427 } 1428 1429 @Override 1430 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1431 switch (hash) { 1432 case 116079: /*url*/ return new String[] {"uri"}; 1433 case 351608024: /*version*/ return new String[] {"string"}; 1434 case 3373707: /*name*/ return new String[] {"string"}; 1435 case -892481550: /*status*/ return new String[] {"code"}; 1436 case -404562712: /*experimental*/ return new String[] {"boolean"}; 1437 case 3076014: /*date*/ return new String[] {"dateTime"}; 1438 case 1447404028: /*publisher*/ return new String[] {"string"}; 1439 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 1440 case -1724546052: /*description*/ return new String[] {"markdown"}; 1441 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 1442 case -220463842: /*purpose*/ return new String[] {"markdown"}; 1443 case 3059181: /*code*/ return new String[] {"code"}; 1444 case -906336856: /*search*/ return new String[] {"boolean"}; 1445 case -341064690: /*resource*/ return new String[] {}; 1446 default: return super.getTypesForProperty(hash, name); 1447 } 1448 1449 } 1450 1451 @Override 1452 public Base addChild(String name) throws FHIRException { 1453 if (name.equals("url")) { 1454 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.url"); 1455 } 1456 else if (name.equals("version")) { 1457 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.version"); 1458 } 1459 else if (name.equals("name")) { 1460 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.name"); 1461 } 1462 else if (name.equals("status")) { 1463 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.status"); 1464 } 1465 else if (name.equals("experimental")) { 1466 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.experimental"); 1467 } 1468 else if (name.equals("date")) { 1469 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.date"); 1470 } 1471 else if (name.equals("publisher")) { 1472 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.publisher"); 1473 } 1474 else if (name.equals("contact")) { 1475 return addContact(); 1476 } 1477 else if (name.equals("description")) { 1478 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.description"); 1479 } 1480 else if (name.equals("useContext")) { 1481 return addUseContext(); 1482 } 1483 else if (name.equals("purpose")) { 1484 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.purpose"); 1485 } 1486 else if (name.equals("code")) { 1487 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.code"); 1488 } 1489 else if (name.equals("search")) { 1490 throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.search"); 1491 } 1492 else if (name.equals("resource")) { 1493 return addResource(); 1494 } 1495 else 1496 return super.addChild(name); 1497 } 1498 1499 public String fhirType() { 1500 return "CompartmentDefinition"; 1501 1502 } 1503 1504 public CompartmentDefinition copy() { 1505 CompartmentDefinition dst = new CompartmentDefinition(); 1506 copyValues(dst); 1507 dst.url = url == null ? null : url.copy(); 1508 dst.version = version == null ? null : version.copy(); 1509 dst.name = name == null ? null : name.copy(); 1510 dst.status = status == null ? null : status.copy(); 1511 dst.experimental = experimental == null ? null : experimental.copy(); 1512 dst.date = date == null ? null : date.copy(); 1513 dst.publisher = publisher == null ? null : publisher.copy(); 1514 if (contact != null) { 1515 dst.contact = new ArrayList<ContactDetail>(); 1516 for (ContactDetail i : contact) 1517 dst.contact.add(i.copy()); 1518 }; 1519 dst.description = description == null ? null : description.copy(); 1520 if (useContext != null) { 1521 dst.useContext = new ArrayList<UsageContext>(); 1522 for (UsageContext i : useContext) 1523 dst.useContext.add(i.copy()); 1524 }; 1525 dst.purpose = purpose == null ? null : purpose.copy(); 1526 dst.code = code == null ? null : code.copy(); 1527 dst.search = search == null ? null : search.copy(); 1528 if (resource != null) { 1529 dst.resource = new ArrayList<CompartmentDefinitionResourceComponent>(); 1530 for (CompartmentDefinitionResourceComponent i : resource) 1531 dst.resource.add(i.copy()); 1532 }; 1533 return dst; 1534 } 1535 1536 protected CompartmentDefinition typedCopy() { 1537 return copy(); 1538 } 1539 1540 @Override 1541 public boolean equalsDeep(Base other_) { 1542 if (!super.equalsDeep(other_)) 1543 return false; 1544 if (!(other_ instanceof CompartmentDefinition)) 1545 return false; 1546 CompartmentDefinition o = (CompartmentDefinition) other_; 1547 return compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) && compareDeep(search, o.search, true) 1548 && compareDeep(resource, o.resource, true); 1549 } 1550 1551 @Override 1552 public boolean equalsShallow(Base other_) { 1553 if (!super.equalsShallow(other_)) 1554 return false; 1555 if (!(other_ instanceof CompartmentDefinition)) 1556 return false; 1557 CompartmentDefinition o = (CompartmentDefinition) other_; 1558 return compareValues(purpose, o.purpose, true) && compareValues(code, o.code, true) && compareValues(search, o.search, true) 1559 ; 1560 } 1561 1562 public boolean isEmpty() { 1563 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(purpose, code, search, resource 1564 ); 1565 } 1566 1567 @Override 1568 public ResourceType getResourceType() { 1569 return ResourceType.CompartmentDefinition; 1570 } 1571 1572 /** 1573 * Search parameter: <b>date</b> 1574 * <p> 1575 * Description: <b>The compartment definition publication date</b><br> 1576 * Type: <b>date</b><br> 1577 * Path: <b>CompartmentDefinition.date</b><br> 1578 * </p> 1579 */ 1580 @SearchParamDefinition(name="date", path="CompartmentDefinition.date", description="The compartment definition publication date", type="date" ) 1581 public static final String SP_DATE = "date"; 1582 /** 1583 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1584 * <p> 1585 * Description: <b>The compartment definition publication date</b><br> 1586 * Type: <b>date</b><br> 1587 * Path: <b>CompartmentDefinition.date</b><br> 1588 * </p> 1589 */ 1590 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1591 1592 /** 1593 * Search parameter: <b>code</b> 1594 * <p> 1595 * Description: <b>Patient | Encounter | RelatedPerson | Practitioner | Device</b><br> 1596 * Type: <b>token</b><br> 1597 * Path: <b>CompartmentDefinition.code</b><br> 1598 * </p> 1599 */ 1600 @SearchParamDefinition(name="code", path="CompartmentDefinition.code", description="Patient | Encounter | RelatedPerson | Practitioner | Device", type="token" ) 1601 public static final String SP_CODE = "code"; 1602 /** 1603 * <b>Fluent Client</b> search parameter constant for <b>code</b> 1604 * <p> 1605 * Description: <b>Patient | Encounter | RelatedPerson | Practitioner | Device</b><br> 1606 * Type: <b>token</b><br> 1607 * Path: <b>CompartmentDefinition.code</b><br> 1608 * </p> 1609 */ 1610 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 1611 1612 /** 1613 * Search parameter: <b>context-type-value</b> 1614 * <p> 1615 * Description: <b>A use context type and value assigned to the compartment definition</b><br> 1616 * Type: <b>composite</b><br> 1617 * Path: <b></b><br> 1618 * </p> 1619 */ 1620 @SearchParamDefinition(name="context-type-value", path="CompartmentDefinition.useContext", description="A use context type and value assigned to the compartment definition", type="composite", compositeOf={"context-type", "context"} ) 1621 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 1622 /** 1623 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 1624 * <p> 1625 * Description: <b>A use context type and value assigned to the compartment definition</b><br> 1626 * Type: <b>composite</b><br> 1627 * Path: <b></b><br> 1628 * </p> 1629 */ 1630 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 1631 1632 /** 1633 * Search parameter: <b>resource</b> 1634 * <p> 1635 * Description: <b>Name of resource type</b><br> 1636 * Type: <b>token</b><br> 1637 * Path: <b>CompartmentDefinition.resource.code</b><br> 1638 * </p> 1639 */ 1640 @SearchParamDefinition(name="resource", path="CompartmentDefinition.resource.code", description="Name of resource type", type="token" ) 1641 public static final String SP_RESOURCE = "resource"; 1642 /** 1643 * <b>Fluent Client</b> search parameter constant for <b>resource</b> 1644 * <p> 1645 * Description: <b>Name of resource type</b><br> 1646 * Type: <b>token</b><br> 1647 * Path: <b>CompartmentDefinition.resource.code</b><br> 1648 * </p> 1649 */ 1650 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RESOURCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RESOURCE); 1651 1652 /** 1653 * Search parameter: <b>description</b> 1654 * <p> 1655 * Description: <b>The description of the compartment definition</b><br> 1656 * Type: <b>string</b><br> 1657 * Path: <b>CompartmentDefinition.description</b><br> 1658 * </p> 1659 */ 1660 @SearchParamDefinition(name="description", path="CompartmentDefinition.description", description="The description of the compartment definition", type="string" ) 1661 public static final String SP_DESCRIPTION = "description"; 1662 /** 1663 * <b>Fluent Client</b> search parameter constant for <b>description</b> 1664 * <p> 1665 * Description: <b>The description of the compartment definition</b><br> 1666 * Type: <b>string</b><br> 1667 * Path: <b>CompartmentDefinition.description</b><br> 1668 * </p> 1669 */ 1670 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 1671 1672 /** 1673 * Search parameter: <b>context-type</b> 1674 * <p> 1675 * Description: <b>A type of use context assigned to the compartment definition</b><br> 1676 * Type: <b>token</b><br> 1677 * Path: <b>CompartmentDefinition.useContext.code</b><br> 1678 * </p> 1679 */ 1680 @SearchParamDefinition(name="context-type", path="CompartmentDefinition.useContext.code", description="A type of use context assigned to the compartment definition", type="token" ) 1681 public static final String SP_CONTEXT_TYPE = "context-type"; 1682 /** 1683 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 1684 * <p> 1685 * Description: <b>A type of use context assigned to the compartment definition</b><br> 1686 * Type: <b>token</b><br> 1687 * Path: <b>CompartmentDefinition.useContext.code</b><br> 1688 * </p> 1689 */ 1690 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 1691 1692 /** 1693 * Search parameter: <b>version</b> 1694 * <p> 1695 * Description: <b>The business version of the compartment definition</b><br> 1696 * Type: <b>token</b><br> 1697 * Path: <b>CompartmentDefinition.version</b><br> 1698 * </p> 1699 */ 1700 @SearchParamDefinition(name="version", path="CompartmentDefinition.version", description="The business version of the compartment definition", type="token" ) 1701 public static final String SP_VERSION = "version"; 1702 /** 1703 * <b>Fluent Client</b> search parameter constant for <b>version</b> 1704 * <p> 1705 * Description: <b>The business version of the compartment definition</b><br> 1706 * Type: <b>token</b><br> 1707 * Path: <b>CompartmentDefinition.version</b><br> 1708 * </p> 1709 */ 1710 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 1711 1712 /** 1713 * Search parameter: <b>url</b> 1714 * <p> 1715 * Description: <b>The uri that identifies the compartment definition</b><br> 1716 * Type: <b>uri</b><br> 1717 * Path: <b>CompartmentDefinition.url</b><br> 1718 * </p> 1719 */ 1720 @SearchParamDefinition(name="url", path="CompartmentDefinition.url", description="The uri that identifies the compartment definition", type="uri" ) 1721 public static final String SP_URL = "url"; 1722 /** 1723 * <b>Fluent Client</b> search parameter constant for <b>url</b> 1724 * <p> 1725 * Description: <b>The uri that identifies the compartment definition</b><br> 1726 * Type: <b>uri</b><br> 1727 * Path: <b>CompartmentDefinition.url</b><br> 1728 * </p> 1729 */ 1730 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 1731 1732 /** 1733 * Search parameter: <b>context-quantity</b> 1734 * <p> 1735 * Description: <b>A quantity- or range-valued use context assigned to the compartment definition</b><br> 1736 * Type: <b>quantity</b><br> 1737 * Path: <b>CompartmentDefinition.useContext.valueQuantity, CompartmentDefinition.useContext.valueRange</b><br> 1738 * </p> 1739 */ 1740 @SearchParamDefinition(name="context-quantity", path="(CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the compartment definition", type="quantity" ) 1741 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 1742 /** 1743 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 1744 * <p> 1745 * Description: <b>A quantity- or range-valued use context assigned to the compartment definition</b><br> 1746 * Type: <b>quantity</b><br> 1747 * Path: <b>CompartmentDefinition.useContext.valueQuantity, CompartmentDefinition.useContext.valueRange</b><br> 1748 * </p> 1749 */ 1750 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 1751 1752 /** 1753 * Search parameter: <b>name</b> 1754 * <p> 1755 * Description: <b>Computationally friendly name of the compartment definition</b><br> 1756 * Type: <b>string</b><br> 1757 * Path: <b>CompartmentDefinition.name</b><br> 1758 * </p> 1759 */ 1760 @SearchParamDefinition(name="name", path="CompartmentDefinition.name", description="Computationally friendly name of the compartment definition", type="string" ) 1761 public static final String SP_NAME = "name"; 1762 /** 1763 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1764 * <p> 1765 * Description: <b>Computationally friendly name of the compartment definition</b><br> 1766 * Type: <b>string</b><br> 1767 * Path: <b>CompartmentDefinition.name</b><br> 1768 * </p> 1769 */ 1770 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1771 1772 /** 1773 * Search parameter: <b>context</b> 1774 * <p> 1775 * Description: <b>A use context assigned to the compartment definition</b><br> 1776 * Type: <b>token</b><br> 1777 * Path: <b>CompartmentDefinition.useContext.valueCodeableConcept</b><br> 1778 * </p> 1779 */ 1780 @SearchParamDefinition(name="context", path="(CompartmentDefinition.useContext.value as CodeableConcept)", description="A use context assigned to the compartment definition", type="token" ) 1781 public static final String SP_CONTEXT = "context"; 1782 /** 1783 * <b>Fluent Client</b> search parameter constant for <b>context</b> 1784 * <p> 1785 * Description: <b>A use context assigned to the compartment definition</b><br> 1786 * Type: <b>token</b><br> 1787 * Path: <b>CompartmentDefinition.useContext.valueCodeableConcept</b><br> 1788 * </p> 1789 */ 1790 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 1791 1792 /** 1793 * Search parameter: <b>publisher</b> 1794 * <p> 1795 * Description: <b>Name of the publisher of the compartment definition</b><br> 1796 * Type: <b>string</b><br> 1797 * Path: <b>CompartmentDefinition.publisher</b><br> 1798 * </p> 1799 */ 1800 @SearchParamDefinition(name="publisher", path="CompartmentDefinition.publisher", description="Name of the publisher of the compartment definition", type="string" ) 1801 public static final String SP_PUBLISHER = "publisher"; 1802 /** 1803 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 1804 * <p> 1805 * Description: <b>Name of the publisher of the compartment definition</b><br> 1806 * Type: <b>string</b><br> 1807 * Path: <b>CompartmentDefinition.publisher</b><br> 1808 * </p> 1809 */ 1810 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 1811 1812 /** 1813 * Search parameter: <b>context-type-quantity</b> 1814 * <p> 1815 * Description: <b>A use context type and quantity- or range-based value assigned to the compartment definition</b><br> 1816 * Type: <b>composite</b><br> 1817 * Path: <b></b><br> 1818 * </p> 1819 */ 1820 @SearchParamDefinition(name="context-type-quantity", path="CompartmentDefinition.useContext", description="A use context type and quantity- or range-based value assigned to the compartment definition", type="composite", compositeOf={"context-type", "context-quantity"} ) 1821 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 1822 /** 1823 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 1824 * <p> 1825 * Description: <b>A use context type and quantity- or range-based value assigned to the compartment definition</b><br> 1826 * Type: <b>composite</b><br> 1827 * Path: <b></b><br> 1828 * </p> 1829 */ 1830 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 1831 1832 /** 1833 * Search parameter: <b>status</b> 1834 * <p> 1835 * Description: <b>The current status of the compartment definition</b><br> 1836 * Type: <b>token</b><br> 1837 * Path: <b>CompartmentDefinition.status</b><br> 1838 * </p> 1839 */ 1840 @SearchParamDefinition(name="status", path="CompartmentDefinition.status", description="The current status of the compartment definition", type="token" ) 1841 public static final String SP_STATUS = "status"; 1842 /** 1843 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1844 * <p> 1845 * Description: <b>The current status of the compartment definition</b><br> 1846 * Type: <b>token</b><br> 1847 * Path: <b>CompartmentDefinition.status</b><br> 1848 * </p> 1849 */ 1850 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1851 1852 1853} 1854