001package org.hl7.fhir.dstu3.model; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu3 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023 024/* 025 Copyright (c) 2011+, HL7, Inc. 026 All rights reserved. 027 028 Redistribution and use in source and binary forms, with or without modification, 029 are permitted provided that the following conditions are met: 030 031 * Redistributions of source code must retain the above copyright notice, this 032 list of conditions and the following disclaimer. 033 * Redistributions in binary form must reproduce the above copyright notice, 034 this list of conditions and the following disclaimer in the documentation 035 and/or other materials provided with the distribution. 036 * Neither the name of HL7 nor the names of its contributors may be used to 037 endorse or promote products derived from this software without specific 038 prior written permission. 039 040 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 041 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 042 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 043 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 044 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 045 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 046 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 047 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 048 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 049 POSSIBILITY OF SUCH DAMAGE. 050 051*/ 052 053// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 054import java.util.ArrayList; 055import java.util.Date; 056import java.util.List; 057 058import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatus; 059import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatusEnumFactory; 060import org.hl7.fhir.exceptions.FHIRException; 061import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 062import org.hl7.fhir.utilities.Utilities; 063 064import ca.uhn.fhir.model.api.annotation.Block; 065import ca.uhn.fhir.model.api.annotation.Child; 066import ca.uhn.fhir.model.api.annotation.ChildOrder; 067import ca.uhn.fhir.model.api.annotation.Description; 068import ca.uhn.fhir.model.api.annotation.ResourceDef; 069import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 070/** 071 * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. 072 */ 073@ResourceDef(name="GraphDefinition", profile="http://hl7.org/fhir/Profile/GraphDefinition") 074@ChildOrder(names={"url", "version", "name", "status", "experimental", "date", "publisher", "contact", "description", "useContext", "jurisdiction", "purpose", "start", "profile", "link"}) 075public class GraphDefinition extends MetadataResource { 076 077 public enum CompartmentCode { 078 /** 079 * The compartment definition is for the patient compartment 080 */ 081 PATIENT, 082 /** 083 * The compartment definition is for the encounter compartment 084 */ 085 ENCOUNTER, 086 /** 087 * The compartment definition is for the related-person compartment 088 */ 089 RELATEDPERSON, 090 /** 091 * The compartment definition is for the practitioner compartment 092 */ 093 PRACTITIONER, 094 /** 095 * The compartment definition is for the device compartment 096 */ 097 DEVICE, 098 /** 099 * added to help the parsers with the generic types 100 */ 101 NULL; 102 public static CompartmentCode fromCode(String codeString) throws FHIRException { 103 if (codeString == null || "".equals(codeString)) 104 return null; 105 if ("Patient".equals(codeString)) 106 return PATIENT; 107 if ("Encounter".equals(codeString)) 108 return ENCOUNTER; 109 if ("RelatedPerson".equals(codeString)) 110 return RELATEDPERSON; 111 if ("Practitioner".equals(codeString)) 112 return PRACTITIONER; 113 if ("Device".equals(codeString)) 114 return DEVICE; 115 if (Configuration.isAcceptInvalidEnums()) 116 return null; 117 else 118 throw new FHIRException("Unknown CompartmentCode code '"+codeString+"'"); 119 } 120 public String toCode() { 121 switch (this) { 122 case PATIENT: return "Patient"; 123 case ENCOUNTER: return "Encounter"; 124 case RELATEDPERSON: return "RelatedPerson"; 125 case PRACTITIONER: return "Practitioner"; 126 case DEVICE: return "Device"; 127 default: return "?"; 128 } 129 } 130 public String getSystem() { 131 switch (this) { 132 case PATIENT: return "http://hl7.org/fhir/compartment-type"; 133 case ENCOUNTER: return "http://hl7.org/fhir/compartment-type"; 134 case RELATEDPERSON: return "http://hl7.org/fhir/compartment-type"; 135 case PRACTITIONER: return "http://hl7.org/fhir/compartment-type"; 136 case DEVICE: return "http://hl7.org/fhir/compartment-type"; 137 default: return "?"; 138 } 139 } 140 public String getDefinition() { 141 switch (this) { 142 case PATIENT: return "The compartment definition is for the patient compartment"; 143 case ENCOUNTER: return "The compartment definition is for the encounter compartment"; 144 case RELATEDPERSON: return "The compartment definition is for the related-person compartment"; 145 case PRACTITIONER: return "The compartment definition is for the practitioner compartment"; 146 case DEVICE: return "The compartment definition is for the device compartment"; 147 default: return "?"; 148 } 149 } 150 public String getDisplay() { 151 switch (this) { 152 case PATIENT: return "Patient"; 153 case ENCOUNTER: return "Encounter"; 154 case RELATEDPERSON: return "RelatedPerson"; 155 case PRACTITIONER: return "Practitioner"; 156 case DEVICE: return "Device"; 157 default: return "?"; 158 } 159 } 160 } 161 162 public static class CompartmentCodeEnumFactory implements EnumFactory<CompartmentCode> { 163 public CompartmentCode fromCode(String codeString) throws IllegalArgumentException { 164 if (codeString == null || "".equals(codeString)) 165 if (codeString == null || "".equals(codeString)) 166 return null; 167 if ("Patient".equals(codeString)) 168 return CompartmentCode.PATIENT; 169 if ("Encounter".equals(codeString)) 170 return CompartmentCode.ENCOUNTER; 171 if ("RelatedPerson".equals(codeString)) 172 return CompartmentCode.RELATEDPERSON; 173 if ("Practitioner".equals(codeString)) 174 return CompartmentCode.PRACTITIONER; 175 if ("Device".equals(codeString)) 176 return CompartmentCode.DEVICE; 177 throw new IllegalArgumentException("Unknown CompartmentCode code '"+codeString+"'"); 178 } 179 public Enumeration<CompartmentCode> fromType(Base code) throws FHIRException { 180 if (code == null) 181 return null; 182 if (code.isEmpty()) 183 return new Enumeration<CompartmentCode>(this); 184 String codeString = ((PrimitiveType) code).asStringValue(); 185 if (codeString == null || "".equals(codeString)) 186 return null; 187 if ("Patient".equals(codeString)) 188 return new Enumeration<CompartmentCode>(this, CompartmentCode.PATIENT); 189 if ("Encounter".equals(codeString)) 190 return new Enumeration<CompartmentCode>(this, CompartmentCode.ENCOUNTER); 191 if ("RelatedPerson".equals(codeString)) 192 return new Enumeration<CompartmentCode>(this, CompartmentCode.RELATEDPERSON); 193 if ("Practitioner".equals(codeString)) 194 return new Enumeration<CompartmentCode>(this, CompartmentCode.PRACTITIONER); 195 if ("Device".equals(codeString)) 196 return new Enumeration<CompartmentCode>(this, CompartmentCode.DEVICE); 197 throw new FHIRException("Unknown CompartmentCode code '"+codeString+"'"); 198 } 199 public String toCode(CompartmentCode code) { 200 if (code == CompartmentCode.PATIENT) 201 return "Patient"; 202 if (code == CompartmentCode.ENCOUNTER) 203 return "Encounter"; 204 if (code == CompartmentCode.RELATEDPERSON) 205 return "RelatedPerson"; 206 if (code == CompartmentCode.PRACTITIONER) 207 return "Practitioner"; 208 if (code == CompartmentCode.DEVICE) 209 return "Device"; 210 return "?"; 211 } 212 public String toSystem(CompartmentCode code) { 213 return code.getSystem(); 214 } 215 } 216 217 public enum GraphCompartmentRule { 218 /** 219 * The compartment must be identical (the same literal reference) 220 */ 221 IDENTICAL, 222 /** 223 * The compartment must be the same - the record must be about the same patient, but the reference may be different 224 */ 225 MATCHING, 226 /** 227 * The compartment must be different 228 */ 229 DIFFERENT, 230 /** 231 * The compartment rule is defined in the accompanying FHIRPath expression 232 */ 233 CUSTOM, 234 /** 235 * added to help the parsers with the generic types 236 */ 237 NULL; 238 public static GraphCompartmentRule fromCode(String codeString) throws FHIRException { 239 if (codeString == null || "".equals(codeString)) 240 return null; 241 if ("identical".equals(codeString)) 242 return IDENTICAL; 243 if ("matching".equals(codeString)) 244 return MATCHING; 245 if ("different".equals(codeString)) 246 return DIFFERENT; 247 if ("custom".equals(codeString)) 248 return CUSTOM; 249 if (Configuration.isAcceptInvalidEnums()) 250 return null; 251 else 252 throw new FHIRException("Unknown GraphCompartmentRule code '"+codeString+"'"); 253 } 254 public String toCode() { 255 switch (this) { 256 case IDENTICAL: return "identical"; 257 case MATCHING: return "matching"; 258 case DIFFERENT: return "different"; 259 case CUSTOM: return "custom"; 260 default: return "?"; 261 } 262 } 263 public String getSystem() { 264 switch (this) { 265 case IDENTICAL: return "http://hl7.org/fhir/graph-compartment-rule"; 266 case MATCHING: return "http://hl7.org/fhir/graph-compartment-rule"; 267 case DIFFERENT: return "http://hl7.org/fhir/graph-compartment-rule"; 268 case CUSTOM: return "http://hl7.org/fhir/graph-compartment-rule"; 269 default: return "?"; 270 } 271 } 272 public String getDefinition() { 273 switch (this) { 274 case IDENTICAL: return "The compartment must be identical (the same literal reference)"; 275 case MATCHING: return "The compartment must be the same - the record must be about the same patient, but the reference may be different"; 276 case DIFFERENT: return "The compartment must be different"; 277 case CUSTOM: return "The compartment rule is defined in the accompanying FHIRPath expression"; 278 default: return "?"; 279 } 280 } 281 public String getDisplay() { 282 switch (this) { 283 case IDENTICAL: return "Identical"; 284 case MATCHING: return "Matching"; 285 case DIFFERENT: return "Different"; 286 case CUSTOM: return "Custom"; 287 default: return "?"; 288 } 289 } 290 } 291 292 public static class GraphCompartmentRuleEnumFactory implements EnumFactory<GraphCompartmentRule> { 293 public GraphCompartmentRule fromCode(String codeString) throws IllegalArgumentException { 294 if (codeString == null || "".equals(codeString)) 295 if (codeString == null || "".equals(codeString)) 296 return null; 297 if ("identical".equals(codeString)) 298 return GraphCompartmentRule.IDENTICAL; 299 if ("matching".equals(codeString)) 300 return GraphCompartmentRule.MATCHING; 301 if ("different".equals(codeString)) 302 return GraphCompartmentRule.DIFFERENT; 303 if ("custom".equals(codeString)) 304 return GraphCompartmentRule.CUSTOM; 305 throw new IllegalArgumentException("Unknown GraphCompartmentRule code '"+codeString+"'"); 306 } 307 public Enumeration<GraphCompartmentRule> fromType(Base code) throws FHIRException { 308 if (code == null) 309 return null; 310 if (code.isEmpty()) 311 return new Enumeration<GraphCompartmentRule>(this); 312 String codeString = ((PrimitiveType) code).asStringValue(); 313 if (codeString == null || "".equals(codeString)) 314 return null; 315 if ("identical".equals(codeString)) 316 return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.IDENTICAL); 317 if ("matching".equals(codeString)) 318 return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.MATCHING); 319 if ("different".equals(codeString)) 320 return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.DIFFERENT); 321 if ("custom".equals(codeString)) 322 return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.CUSTOM); 323 throw new FHIRException("Unknown GraphCompartmentRule code '"+codeString+"'"); 324 } 325 public String toCode(GraphCompartmentRule code) { 326 if (code == GraphCompartmentRule.IDENTICAL) 327 return "identical"; 328 if (code == GraphCompartmentRule.MATCHING) 329 return "matching"; 330 if (code == GraphCompartmentRule.DIFFERENT) 331 return "different"; 332 if (code == GraphCompartmentRule.CUSTOM) 333 return "custom"; 334 return "?"; 335 } 336 public String toSystem(GraphCompartmentRule code) { 337 return code.getSystem(); 338 } 339 } 340 341 @Block() 342 public static class GraphDefinitionLinkComponent extends BackboneElement implements IBaseBackboneElement { 343 /** 344 * Path in the resource that contains the link. 345 */ 346 @Child(name = "path", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 347 @Description(shortDefinition="Path in the resource that contains the link", formalDefinition="Path in the resource that contains the link." ) 348 protected StringType path; 349 350 /** 351 * Which slice (if profiled). 352 */ 353 @Child(name = "sliceName", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 354 @Description(shortDefinition="Which slice (if profiled)", formalDefinition="Which slice (if profiled)." ) 355 protected StringType sliceName; 356 357 /** 358 * Minimum occurrences for this link. 359 */ 360 @Child(name = "min", type = {IntegerType.class}, order=3, min=0, max=1, modifier=false, summary=false) 361 @Description(shortDefinition="Minimum occurrences for this link", formalDefinition="Minimum occurrences for this link." ) 362 protected IntegerType min; 363 364 /** 365 * Maximum occurrences for this link. 366 */ 367 @Child(name = "max", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 368 @Description(shortDefinition="Maximum occurrences for this link", formalDefinition="Maximum occurrences for this link." ) 369 protected StringType max; 370 371 /** 372 * Information about why this link is of interest in this graph definition. 373 */ 374 @Child(name = "description", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 375 @Description(shortDefinition="Why this link is specified", formalDefinition="Information about why this link is of interest in this graph definition." ) 376 protected StringType description; 377 378 /** 379 * Potential target for the link. 380 */ 381 @Child(name = "target", type = {}, order=6, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 382 @Description(shortDefinition="Potential target for the link", formalDefinition="Potential target for the link." ) 383 protected List<GraphDefinitionLinkTargetComponent> target; 384 385 private static final long serialVersionUID = -593733346L; 386 387 /** 388 * Constructor 389 */ 390 public GraphDefinitionLinkComponent() { 391 super(); 392 } 393 394 /** 395 * Constructor 396 */ 397 public GraphDefinitionLinkComponent(StringType path) { 398 super(); 399 this.path = path; 400 } 401 402 /** 403 * @return {@link #path} (Path in the resource that contains the link.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 404 */ 405 public StringType getPathElement() { 406 if (this.path == null) 407 if (Configuration.errorOnAutoCreate()) 408 throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.path"); 409 else if (Configuration.doAutoCreate()) 410 this.path = new StringType(); // bb 411 return this.path; 412 } 413 414 public boolean hasPathElement() { 415 return this.path != null && !this.path.isEmpty(); 416 } 417 418 public boolean hasPath() { 419 return this.path != null && !this.path.isEmpty(); 420 } 421 422 /** 423 * @param value {@link #path} (Path in the resource that contains the link.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 424 */ 425 public GraphDefinitionLinkComponent setPathElement(StringType value) { 426 this.path = value; 427 return this; 428 } 429 430 /** 431 * @return Path in the resource that contains the link. 432 */ 433 public String getPath() { 434 return this.path == null ? null : this.path.getValue(); 435 } 436 437 /** 438 * @param value Path in the resource that contains the link. 439 */ 440 public GraphDefinitionLinkComponent setPath(String value) { 441 if (this.path == null) 442 this.path = new StringType(); 443 this.path.setValue(value); 444 return this; 445 } 446 447 /** 448 * @return {@link #sliceName} (Which slice (if profiled).). This is the underlying object with id, value and extensions. The accessor "getSliceName" gives direct access to the value 449 */ 450 public StringType getSliceNameElement() { 451 if (this.sliceName == null) 452 if (Configuration.errorOnAutoCreate()) 453 throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.sliceName"); 454 else if (Configuration.doAutoCreate()) 455 this.sliceName = new StringType(); // bb 456 return this.sliceName; 457 } 458 459 public boolean hasSliceNameElement() { 460 return this.sliceName != null && !this.sliceName.isEmpty(); 461 } 462 463 public boolean hasSliceName() { 464 return this.sliceName != null && !this.sliceName.isEmpty(); 465 } 466 467 /** 468 * @param value {@link #sliceName} (Which slice (if profiled).). This is the underlying object with id, value and extensions. The accessor "getSliceName" gives direct access to the value 469 */ 470 public GraphDefinitionLinkComponent setSliceNameElement(StringType value) { 471 this.sliceName = value; 472 return this; 473 } 474 475 /** 476 * @return Which slice (if profiled). 477 */ 478 public String getSliceName() { 479 return this.sliceName == null ? null : this.sliceName.getValue(); 480 } 481 482 /** 483 * @param value Which slice (if profiled). 484 */ 485 public GraphDefinitionLinkComponent setSliceName(String value) { 486 if (Utilities.noString(value)) 487 this.sliceName = null; 488 else { 489 if (this.sliceName == null) 490 this.sliceName = new StringType(); 491 this.sliceName.setValue(value); 492 } 493 return this; 494 } 495 496 /** 497 * @return {@link #min} (Minimum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value 498 */ 499 public IntegerType getMinElement() { 500 if (this.min == null) 501 if (Configuration.errorOnAutoCreate()) 502 throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.min"); 503 else if (Configuration.doAutoCreate()) 504 this.min = new IntegerType(); // bb 505 return this.min; 506 } 507 508 public boolean hasMinElement() { 509 return this.min != null && !this.min.isEmpty(); 510 } 511 512 public boolean hasMin() { 513 return this.min != null && !this.min.isEmpty(); 514 } 515 516 /** 517 * @param value {@link #min} (Minimum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value 518 */ 519 public GraphDefinitionLinkComponent setMinElement(IntegerType value) { 520 this.min = value; 521 return this; 522 } 523 524 /** 525 * @return Minimum occurrences for this link. 526 */ 527 public int getMin() { 528 return this.min == null || this.min.isEmpty() ? 0 : this.min.getValue(); 529 } 530 531 /** 532 * @param value Minimum occurrences for this link. 533 */ 534 public GraphDefinitionLinkComponent setMin(int value) { 535 if (this.min == null) 536 this.min = new IntegerType(); 537 this.min.setValue(value); 538 return this; 539 } 540 541 /** 542 * @return {@link #max} (Maximum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value 543 */ 544 public StringType getMaxElement() { 545 if (this.max == null) 546 if (Configuration.errorOnAutoCreate()) 547 throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.max"); 548 else if (Configuration.doAutoCreate()) 549 this.max = new StringType(); // bb 550 return this.max; 551 } 552 553 public boolean hasMaxElement() { 554 return this.max != null && !this.max.isEmpty(); 555 } 556 557 public boolean hasMax() { 558 return this.max != null && !this.max.isEmpty(); 559 } 560 561 /** 562 * @param value {@link #max} (Maximum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value 563 */ 564 public GraphDefinitionLinkComponent setMaxElement(StringType value) { 565 this.max = value; 566 return this; 567 } 568 569 /** 570 * @return Maximum occurrences for this link. 571 */ 572 public String getMax() { 573 return this.max == null ? null : this.max.getValue(); 574 } 575 576 /** 577 * @param value Maximum occurrences for this link. 578 */ 579 public GraphDefinitionLinkComponent setMax(String value) { 580 if (Utilities.noString(value)) 581 this.max = null; 582 else { 583 if (this.max == null) 584 this.max = new StringType(); 585 this.max.setValue(value); 586 } 587 return this; 588 } 589 590 /** 591 * @return {@link #description} (Information about why this link is of interest in this graph definition.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 592 */ 593 public StringType getDescriptionElement() { 594 if (this.description == null) 595 if (Configuration.errorOnAutoCreate()) 596 throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.description"); 597 else if (Configuration.doAutoCreate()) 598 this.description = new StringType(); // bb 599 return this.description; 600 } 601 602 public boolean hasDescriptionElement() { 603 return this.description != null && !this.description.isEmpty(); 604 } 605 606 public boolean hasDescription() { 607 return this.description != null && !this.description.isEmpty(); 608 } 609 610 /** 611 * @param value {@link #description} (Information about why this link is of interest in this graph definition.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 612 */ 613 public GraphDefinitionLinkComponent setDescriptionElement(StringType value) { 614 this.description = value; 615 return this; 616 } 617 618 /** 619 * @return Information about why this link is of interest in this graph definition. 620 */ 621 public String getDescription() { 622 return this.description == null ? null : this.description.getValue(); 623 } 624 625 /** 626 * @param value Information about why this link is of interest in this graph definition. 627 */ 628 public GraphDefinitionLinkComponent setDescription(String value) { 629 if (Utilities.noString(value)) 630 this.description = null; 631 else { 632 if (this.description == null) 633 this.description = new StringType(); 634 this.description.setValue(value); 635 } 636 return this; 637 } 638 639 /** 640 * @return {@link #target} (Potential target for the link.) 641 */ 642 public List<GraphDefinitionLinkTargetComponent> getTarget() { 643 if (this.target == null) 644 this.target = new ArrayList<GraphDefinitionLinkTargetComponent>(); 645 return this.target; 646 } 647 648 /** 649 * @return Returns a reference to <code>this</code> for easy method chaining 650 */ 651 public GraphDefinitionLinkComponent setTarget(List<GraphDefinitionLinkTargetComponent> theTarget) { 652 this.target = theTarget; 653 return this; 654 } 655 656 public boolean hasTarget() { 657 if (this.target == null) 658 return false; 659 for (GraphDefinitionLinkTargetComponent item : this.target) 660 if (!item.isEmpty()) 661 return true; 662 return false; 663 } 664 665 public GraphDefinitionLinkTargetComponent addTarget() { //3 666 GraphDefinitionLinkTargetComponent t = new GraphDefinitionLinkTargetComponent(); 667 if (this.target == null) 668 this.target = new ArrayList<GraphDefinitionLinkTargetComponent>(); 669 this.target.add(t); 670 return t; 671 } 672 673 public GraphDefinitionLinkComponent addTarget(GraphDefinitionLinkTargetComponent t) { //3 674 if (t == null) 675 return this; 676 if (this.target == null) 677 this.target = new ArrayList<GraphDefinitionLinkTargetComponent>(); 678 this.target.add(t); 679 return this; 680 } 681 682 /** 683 * @return The first repetition of repeating field {@link #target}, creating it if it does not already exist 684 */ 685 public GraphDefinitionLinkTargetComponent getTargetFirstRep() { 686 if (getTarget().isEmpty()) { 687 addTarget(); 688 } 689 return getTarget().get(0); 690 } 691 692 protected void listChildren(List<Property> children) { 693 super.listChildren(children); 694 children.add(new Property("path", "string", "Path in the resource that contains the link.", 0, 1, path)); 695 children.add(new Property("sliceName", "string", "Which slice (if profiled).", 0, 1, sliceName)); 696 children.add(new Property("min", "integer", "Minimum occurrences for this link.", 0, 1, min)); 697 children.add(new Property("max", "string", "Maximum occurrences for this link.", 0, 1, max)); 698 children.add(new Property("description", "string", "Information about why this link is of interest in this graph definition.", 0, 1, description)); 699 children.add(new Property("target", "", "Potential target for the link.", 0, java.lang.Integer.MAX_VALUE, target)); 700 } 701 702 @Override 703 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 704 switch (_hash) { 705 case 3433509: /*path*/ return new Property("path", "string", "Path in the resource that contains the link.", 0, 1, path); 706 case -825289923: /*sliceName*/ return new Property("sliceName", "string", "Which slice (if profiled).", 0, 1, sliceName); 707 case 108114: /*min*/ return new Property("min", "integer", "Minimum occurrences for this link.", 0, 1, min); 708 case 107876: /*max*/ return new Property("max", "string", "Maximum occurrences for this link.", 0, 1, max); 709 case -1724546052: /*description*/ return new Property("description", "string", "Information about why this link is of interest in this graph definition.", 0, 1, description); 710 case -880905839: /*target*/ return new Property("target", "", "Potential target for the link.", 0, java.lang.Integer.MAX_VALUE, target); 711 default: return super.getNamedProperty(_hash, _name, _checkValid); 712 } 713 714 } 715 716 @Override 717 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 718 switch (hash) { 719 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 720 case -825289923: /*sliceName*/ return this.sliceName == null ? new Base[0] : new Base[] {this.sliceName}; // StringType 721 case 108114: /*min*/ return this.min == null ? new Base[0] : new Base[] {this.min}; // IntegerType 722 case 107876: /*max*/ return this.max == null ? new Base[0] : new Base[] {this.max}; // StringType 723 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 724 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // GraphDefinitionLinkTargetComponent 725 default: return super.getProperty(hash, name, checkValid); 726 } 727 728 } 729 730 @Override 731 public Base setProperty(int hash, String name, Base value) throws FHIRException { 732 switch (hash) { 733 case 3433509: // path 734 this.path = castToString(value); // StringType 735 return value; 736 case -825289923: // sliceName 737 this.sliceName = castToString(value); // StringType 738 return value; 739 case 108114: // min 740 this.min = castToInteger(value); // IntegerType 741 return value; 742 case 107876: // max 743 this.max = castToString(value); // StringType 744 return value; 745 case -1724546052: // description 746 this.description = castToString(value); // StringType 747 return value; 748 case -880905839: // target 749 this.getTarget().add((GraphDefinitionLinkTargetComponent) value); // GraphDefinitionLinkTargetComponent 750 return value; 751 default: return super.setProperty(hash, name, value); 752 } 753 754 } 755 756 @Override 757 public Base setProperty(String name, Base value) throws FHIRException { 758 if (name.equals("path")) { 759 this.path = castToString(value); // StringType 760 } else if (name.equals("sliceName")) { 761 this.sliceName = castToString(value); // StringType 762 } else if (name.equals("min")) { 763 this.min = castToInteger(value); // IntegerType 764 } else if (name.equals("max")) { 765 this.max = castToString(value); // StringType 766 } else if (name.equals("description")) { 767 this.description = castToString(value); // StringType 768 } else if (name.equals("target")) { 769 this.getTarget().add((GraphDefinitionLinkTargetComponent) value); 770 } else 771 return super.setProperty(name, value); 772 return value; 773 } 774 775 @Override 776 public Base makeProperty(int hash, String name) throws FHIRException { 777 switch (hash) { 778 case 3433509: return getPathElement(); 779 case -825289923: return getSliceNameElement(); 780 case 108114: return getMinElement(); 781 case 107876: return getMaxElement(); 782 case -1724546052: return getDescriptionElement(); 783 case -880905839: return addTarget(); 784 default: return super.makeProperty(hash, name); 785 } 786 787 } 788 789 @Override 790 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 791 switch (hash) { 792 case 3433509: /*path*/ return new String[] {"string"}; 793 case -825289923: /*sliceName*/ return new String[] {"string"}; 794 case 108114: /*min*/ return new String[] {"integer"}; 795 case 107876: /*max*/ return new String[] {"string"}; 796 case -1724546052: /*description*/ return new String[] {"string"}; 797 case -880905839: /*target*/ return new String[] {}; 798 default: return super.getTypesForProperty(hash, name); 799 } 800 801 } 802 803 @Override 804 public Base addChild(String name) throws FHIRException { 805 if (name.equals("path")) { 806 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.path"); 807 } 808 else if (name.equals("sliceName")) { 809 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.sliceName"); 810 } 811 else if (name.equals("min")) { 812 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.min"); 813 } 814 else if (name.equals("max")) { 815 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.max"); 816 } 817 else if (name.equals("description")) { 818 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.description"); 819 } 820 else if (name.equals("target")) { 821 return addTarget(); 822 } 823 else 824 return super.addChild(name); 825 } 826 827 public GraphDefinitionLinkComponent copy() { 828 GraphDefinitionLinkComponent dst = new GraphDefinitionLinkComponent(); 829 copyValues(dst); 830 dst.path = path == null ? null : path.copy(); 831 dst.sliceName = sliceName == null ? null : sliceName.copy(); 832 dst.min = min == null ? null : min.copy(); 833 dst.max = max == null ? null : max.copy(); 834 dst.description = description == null ? null : description.copy(); 835 if (target != null) { 836 dst.target = new ArrayList<GraphDefinitionLinkTargetComponent>(); 837 for (GraphDefinitionLinkTargetComponent i : target) 838 dst.target.add(i.copy()); 839 }; 840 return dst; 841 } 842 843 @Override 844 public boolean equalsDeep(Base other_) { 845 if (!super.equalsDeep(other_)) 846 return false; 847 if (!(other_ instanceof GraphDefinitionLinkComponent)) 848 return false; 849 GraphDefinitionLinkComponent o = (GraphDefinitionLinkComponent) other_; 850 return compareDeep(path, o.path, true) && compareDeep(sliceName, o.sliceName, true) && compareDeep(min, o.min, true) 851 && compareDeep(max, o.max, true) && compareDeep(description, o.description, true) && compareDeep(target, o.target, true) 852 ; 853 } 854 855 @Override 856 public boolean equalsShallow(Base other_) { 857 if (!super.equalsShallow(other_)) 858 return false; 859 if (!(other_ instanceof GraphDefinitionLinkComponent)) 860 return false; 861 GraphDefinitionLinkComponent o = (GraphDefinitionLinkComponent) other_; 862 return compareValues(path, o.path, true) && compareValues(sliceName, o.sliceName, true) && compareValues(min, o.min, true) 863 && compareValues(max, o.max, true) && compareValues(description, o.description, true); 864 } 865 866 public boolean isEmpty() { 867 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(path, sliceName, min, max 868 , description, target); 869 } 870 871 public String fhirType() { 872 return "GraphDefinition.link"; 873 874 } 875 876 } 877 878 @Block() 879 public static class GraphDefinitionLinkTargetComponent extends BackboneElement implements IBaseBackboneElement { 880 /** 881 * Type of resource this link refers to. 882 */ 883 @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 884 @Description(shortDefinition="Type of resource this link refers to", formalDefinition="Type of resource this link refers to." ) 885 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") 886 protected CodeType type; 887 888 /** 889 * Profile for the target resource. 890 */ 891 @Child(name = "profile", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) 892 @Description(shortDefinition="Profile for the target resource", formalDefinition="Profile for the target resource." ) 893 protected UriType profile; 894 895 /** 896 * Compartment Consistency Rules. 897 */ 898 @Child(name = "compartment", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 899 @Description(shortDefinition="Compartment Consistency Rules", formalDefinition="Compartment Consistency Rules." ) 900 protected List<GraphDefinitionLinkTargetCompartmentComponent> compartment; 901 902 /** 903 * Additional links from target resource. 904 */ 905 @Child(name = "link", type = {GraphDefinitionLinkComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 906 @Description(shortDefinition="Additional links from target resource", formalDefinition="Additional links from target resource." ) 907 protected List<GraphDefinitionLinkComponent> link; 908 909 private static final long serialVersionUID = -1862411341L; 910 911 /** 912 * Constructor 913 */ 914 public GraphDefinitionLinkTargetComponent() { 915 super(); 916 } 917 918 /** 919 * Constructor 920 */ 921 public GraphDefinitionLinkTargetComponent(CodeType type) { 922 super(); 923 this.type = type; 924 } 925 926 /** 927 * @return {@link #type} (Type of resource this link refers to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 928 */ 929 public CodeType getTypeElement() { 930 if (this.type == null) 931 if (Configuration.errorOnAutoCreate()) 932 throw new Error("Attempt to auto-create GraphDefinitionLinkTargetComponent.type"); 933 else if (Configuration.doAutoCreate()) 934 this.type = new CodeType(); // bb 935 return this.type; 936 } 937 938 public boolean hasTypeElement() { 939 return this.type != null && !this.type.isEmpty(); 940 } 941 942 public boolean hasType() { 943 return this.type != null && !this.type.isEmpty(); 944 } 945 946 /** 947 * @param value {@link #type} (Type of resource this link refers to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 948 */ 949 public GraphDefinitionLinkTargetComponent setTypeElement(CodeType value) { 950 this.type = value; 951 return this; 952 } 953 954 /** 955 * @return Type of resource this link refers to. 956 */ 957 public String getType() { 958 return this.type == null ? null : this.type.getValue(); 959 } 960 961 /** 962 * @param value Type of resource this link refers to. 963 */ 964 public GraphDefinitionLinkTargetComponent setType(String value) { 965 if (this.type == null) 966 this.type = new CodeType(); 967 this.type.setValue(value); 968 return this; 969 } 970 971 /** 972 * @return {@link #profile} (Profile for the target resource.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 973 */ 974 public UriType getProfileElement() { 975 if (this.profile == null) 976 if (Configuration.errorOnAutoCreate()) 977 throw new Error("Attempt to auto-create GraphDefinitionLinkTargetComponent.profile"); 978 else if (Configuration.doAutoCreate()) 979 this.profile = new UriType(); // bb 980 return this.profile; 981 } 982 983 public boolean hasProfileElement() { 984 return this.profile != null && !this.profile.isEmpty(); 985 } 986 987 public boolean hasProfile() { 988 return this.profile != null && !this.profile.isEmpty(); 989 } 990 991 /** 992 * @param value {@link #profile} (Profile for the target resource.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 993 */ 994 public GraphDefinitionLinkTargetComponent setProfileElement(UriType value) { 995 this.profile = value; 996 return this; 997 } 998 999 /** 1000 * @return Profile for the target resource. 1001 */ 1002 public String getProfile() { 1003 return this.profile == null ? null : this.profile.getValue(); 1004 } 1005 1006 /** 1007 * @param value Profile for the target resource. 1008 */ 1009 public GraphDefinitionLinkTargetComponent setProfile(String value) { 1010 if (Utilities.noString(value)) 1011 this.profile = null; 1012 else { 1013 if (this.profile == null) 1014 this.profile = new UriType(); 1015 this.profile.setValue(value); 1016 } 1017 return this; 1018 } 1019 1020 /** 1021 * @return {@link #compartment} (Compartment Consistency Rules.) 1022 */ 1023 public List<GraphDefinitionLinkTargetCompartmentComponent> getCompartment() { 1024 if (this.compartment == null) 1025 this.compartment = new ArrayList<GraphDefinitionLinkTargetCompartmentComponent>(); 1026 return this.compartment; 1027 } 1028 1029 /** 1030 * @return Returns a reference to <code>this</code> for easy method chaining 1031 */ 1032 public GraphDefinitionLinkTargetComponent setCompartment(List<GraphDefinitionLinkTargetCompartmentComponent> theCompartment) { 1033 this.compartment = theCompartment; 1034 return this; 1035 } 1036 1037 public boolean hasCompartment() { 1038 if (this.compartment == null) 1039 return false; 1040 for (GraphDefinitionLinkTargetCompartmentComponent item : this.compartment) 1041 if (!item.isEmpty()) 1042 return true; 1043 return false; 1044 } 1045 1046 public GraphDefinitionLinkTargetCompartmentComponent addCompartment() { //3 1047 GraphDefinitionLinkTargetCompartmentComponent t = new GraphDefinitionLinkTargetCompartmentComponent(); 1048 if (this.compartment == null) 1049 this.compartment = new ArrayList<GraphDefinitionLinkTargetCompartmentComponent>(); 1050 this.compartment.add(t); 1051 return t; 1052 } 1053 1054 public GraphDefinitionLinkTargetComponent addCompartment(GraphDefinitionLinkTargetCompartmentComponent t) { //3 1055 if (t == null) 1056 return this; 1057 if (this.compartment == null) 1058 this.compartment = new ArrayList<GraphDefinitionLinkTargetCompartmentComponent>(); 1059 this.compartment.add(t); 1060 return this; 1061 } 1062 1063 /** 1064 * @return The first repetition of repeating field {@link #compartment}, creating it if it does not already exist 1065 */ 1066 public GraphDefinitionLinkTargetCompartmentComponent getCompartmentFirstRep() { 1067 if (getCompartment().isEmpty()) { 1068 addCompartment(); 1069 } 1070 return getCompartment().get(0); 1071 } 1072 1073 /** 1074 * @return {@link #link} (Additional links from target resource.) 1075 */ 1076 public List<GraphDefinitionLinkComponent> getLink() { 1077 if (this.link == null) 1078 this.link = new ArrayList<GraphDefinitionLinkComponent>(); 1079 return this.link; 1080 } 1081 1082 /** 1083 * @return Returns a reference to <code>this</code> for easy method chaining 1084 */ 1085 public GraphDefinitionLinkTargetComponent setLink(List<GraphDefinitionLinkComponent> theLink) { 1086 this.link = theLink; 1087 return this; 1088 } 1089 1090 public boolean hasLink() { 1091 if (this.link == null) 1092 return false; 1093 for (GraphDefinitionLinkComponent item : this.link) 1094 if (!item.isEmpty()) 1095 return true; 1096 return false; 1097 } 1098 1099 public GraphDefinitionLinkComponent addLink() { //3 1100 GraphDefinitionLinkComponent t = new GraphDefinitionLinkComponent(); 1101 if (this.link == null) 1102 this.link = new ArrayList<GraphDefinitionLinkComponent>(); 1103 this.link.add(t); 1104 return t; 1105 } 1106 1107 public GraphDefinitionLinkTargetComponent addLink(GraphDefinitionLinkComponent t) { //3 1108 if (t == null) 1109 return this; 1110 if (this.link == null) 1111 this.link = new ArrayList<GraphDefinitionLinkComponent>(); 1112 this.link.add(t); 1113 return this; 1114 } 1115 1116 /** 1117 * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist 1118 */ 1119 public GraphDefinitionLinkComponent getLinkFirstRep() { 1120 if (getLink().isEmpty()) { 1121 addLink(); 1122 } 1123 return getLink().get(0); 1124 } 1125 1126 protected void listChildren(List<Property> children) { 1127 super.listChildren(children); 1128 children.add(new Property("type", "code", "Type of resource this link refers to.", 0, 1, type)); 1129 children.add(new Property("profile", "uri", "Profile for the target resource.", 0, 1, profile)); 1130 children.add(new Property("compartment", "", "Compartment Consistency Rules.", 0, java.lang.Integer.MAX_VALUE, compartment)); 1131 children.add(new Property("link", "@GraphDefinition.link", "Additional links from target resource.", 0, java.lang.Integer.MAX_VALUE, link)); 1132 } 1133 1134 @Override 1135 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1136 switch (_hash) { 1137 case 3575610: /*type*/ return new Property("type", "code", "Type of resource this link refers to.", 0, 1, type); 1138 case -309425751: /*profile*/ return new Property("profile", "uri", "Profile for the target resource.", 0, 1, profile); 1139 case -397756334: /*compartment*/ return new Property("compartment", "", "Compartment Consistency Rules.", 0, java.lang.Integer.MAX_VALUE, compartment); 1140 case 3321850: /*link*/ return new Property("link", "@GraphDefinition.link", "Additional links from target resource.", 0, java.lang.Integer.MAX_VALUE, link); 1141 default: return super.getNamedProperty(_hash, _name, _checkValid); 1142 } 1143 1144 } 1145 1146 @Override 1147 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1148 switch (hash) { 1149 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType 1150 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // UriType 1151 case -397756334: /*compartment*/ return this.compartment == null ? new Base[0] : this.compartment.toArray(new Base[this.compartment.size()]); // GraphDefinitionLinkTargetCompartmentComponent 1152 case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // GraphDefinitionLinkComponent 1153 default: return super.getProperty(hash, name, checkValid); 1154 } 1155 1156 } 1157 1158 @Override 1159 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1160 switch (hash) { 1161 case 3575610: // type 1162 this.type = castToCode(value); // CodeType 1163 return value; 1164 case -309425751: // profile 1165 this.profile = castToUri(value); // UriType 1166 return value; 1167 case -397756334: // compartment 1168 this.getCompartment().add((GraphDefinitionLinkTargetCompartmentComponent) value); // GraphDefinitionLinkTargetCompartmentComponent 1169 return value; 1170 case 3321850: // link 1171 this.getLink().add((GraphDefinitionLinkComponent) value); // GraphDefinitionLinkComponent 1172 return value; 1173 default: return super.setProperty(hash, name, value); 1174 } 1175 1176 } 1177 1178 @Override 1179 public Base setProperty(String name, Base value) throws FHIRException { 1180 if (name.equals("type")) { 1181 this.type = castToCode(value); // CodeType 1182 } else if (name.equals("profile")) { 1183 this.profile = castToUri(value); // UriType 1184 } else if (name.equals("compartment")) { 1185 this.getCompartment().add((GraphDefinitionLinkTargetCompartmentComponent) value); 1186 } else if (name.equals("link")) { 1187 this.getLink().add((GraphDefinitionLinkComponent) value); 1188 } else 1189 return super.setProperty(name, value); 1190 return value; 1191 } 1192 1193 @Override 1194 public Base makeProperty(int hash, String name) throws FHIRException { 1195 switch (hash) { 1196 case 3575610: return getTypeElement(); 1197 case -309425751: return getProfileElement(); 1198 case -397756334: return addCompartment(); 1199 case 3321850: return addLink(); 1200 default: return super.makeProperty(hash, name); 1201 } 1202 1203 } 1204 1205 @Override 1206 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1207 switch (hash) { 1208 case 3575610: /*type*/ return new String[] {"code"}; 1209 case -309425751: /*profile*/ return new String[] {"uri"}; 1210 case -397756334: /*compartment*/ return new String[] {}; 1211 case 3321850: /*link*/ return new String[] {"@GraphDefinition.link"}; 1212 default: return super.getTypesForProperty(hash, name); 1213 } 1214 1215 } 1216 1217 @Override 1218 public Base addChild(String name) throws FHIRException { 1219 if (name.equals("type")) { 1220 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.type"); 1221 } 1222 else if (name.equals("profile")) { 1223 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.profile"); 1224 } 1225 else if (name.equals("compartment")) { 1226 return addCompartment(); 1227 } 1228 else if (name.equals("link")) { 1229 return addLink(); 1230 } 1231 else 1232 return super.addChild(name); 1233 } 1234 1235 public GraphDefinitionLinkTargetComponent copy() { 1236 GraphDefinitionLinkTargetComponent dst = new GraphDefinitionLinkTargetComponent(); 1237 copyValues(dst); 1238 dst.type = type == null ? null : type.copy(); 1239 dst.profile = profile == null ? null : profile.copy(); 1240 if (compartment != null) { 1241 dst.compartment = new ArrayList<GraphDefinitionLinkTargetCompartmentComponent>(); 1242 for (GraphDefinitionLinkTargetCompartmentComponent i : compartment) 1243 dst.compartment.add(i.copy()); 1244 }; 1245 if (link != null) { 1246 dst.link = new ArrayList<GraphDefinitionLinkComponent>(); 1247 for (GraphDefinitionLinkComponent i : link) 1248 dst.link.add(i.copy()); 1249 }; 1250 return dst; 1251 } 1252 1253 @Override 1254 public boolean equalsDeep(Base other_) { 1255 if (!super.equalsDeep(other_)) 1256 return false; 1257 if (!(other_ instanceof GraphDefinitionLinkTargetComponent)) 1258 return false; 1259 GraphDefinitionLinkTargetComponent o = (GraphDefinitionLinkTargetComponent) other_; 1260 return compareDeep(type, o.type, true) && compareDeep(profile, o.profile, true) && compareDeep(compartment, o.compartment, true) 1261 && compareDeep(link, o.link, true); 1262 } 1263 1264 @Override 1265 public boolean equalsShallow(Base other_) { 1266 if (!super.equalsShallow(other_)) 1267 return false; 1268 if (!(other_ instanceof GraphDefinitionLinkTargetComponent)) 1269 return false; 1270 GraphDefinitionLinkTargetComponent o = (GraphDefinitionLinkTargetComponent) other_; 1271 return compareValues(type, o.type, true) && compareValues(profile, o.profile, true); 1272 } 1273 1274 public boolean isEmpty() { 1275 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, profile, compartment 1276 , link); 1277 } 1278 1279 public String fhirType() { 1280 return "GraphDefinition.link.target"; 1281 1282 } 1283 1284 } 1285 1286 @Block() 1287 public static class GraphDefinitionLinkTargetCompartmentComponent extends BackboneElement implements IBaseBackboneElement { 1288 /** 1289 * Identifies the compartment. 1290 */ 1291 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1292 @Description(shortDefinition="Identifies the compartment", formalDefinition="Identifies the compartment." ) 1293 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/compartment-type") 1294 protected Enumeration<CompartmentCode> code; 1295 1296 /** 1297 * identical | matching | different | no-rule | custom. 1298 */ 1299 @Child(name = "rule", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) 1300 @Description(shortDefinition="identical | matching | different | custom", formalDefinition="identical | matching | different | no-rule | custom." ) 1301 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/graph-compartment-rule") 1302 protected Enumeration<GraphCompartmentRule> rule; 1303 1304 /** 1305 * Custom rule, as a FHIRPath expression. 1306 */ 1307 @Child(name = "expression", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1308 @Description(shortDefinition="Custom rule, as a FHIRPath expression", formalDefinition="Custom rule, as a FHIRPath expression." ) 1309 protected StringType expression; 1310 1311 /** 1312 * Documentation for FHIRPath expression. 1313 */ 1314 @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1315 @Description(shortDefinition="Documentation for FHIRPath expression", formalDefinition="Documentation for FHIRPath expression." ) 1316 protected StringType description; 1317 1318 private static final long serialVersionUID = -1046660576L; 1319 1320 /** 1321 * Constructor 1322 */ 1323 public GraphDefinitionLinkTargetCompartmentComponent() { 1324 super(); 1325 } 1326 1327 /** 1328 * Constructor 1329 */ 1330 public GraphDefinitionLinkTargetCompartmentComponent(Enumeration<CompartmentCode> code, Enumeration<GraphCompartmentRule> rule) { 1331 super(); 1332 this.code = code; 1333 this.rule = rule; 1334 } 1335 1336 /** 1337 * @return {@link #code} (Identifies the compartment.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1338 */ 1339 public Enumeration<CompartmentCode> getCodeElement() { 1340 if (this.code == null) 1341 if (Configuration.errorOnAutoCreate()) 1342 throw new Error("Attempt to auto-create GraphDefinitionLinkTargetCompartmentComponent.code"); 1343 else if (Configuration.doAutoCreate()) 1344 this.code = new Enumeration<CompartmentCode>(new CompartmentCodeEnumFactory()); // bb 1345 return this.code; 1346 } 1347 1348 public boolean hasCodeElement() { 1349 return this.code != null && !this.code.isEmpty(); 1350 } 1351 1352 public boolean hasCode() { 1353 return this.code != null && !this.code.isEmpty(); 1354 } 1355 1356 /** 1357 * @param value {@link #code} (Identifies the compartment.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1358 */ 1359 public GraphDefinitionLinkTargetCompartmentComponent setCodeElement(Enumeration<CompartmentCode> value) { 1360 this.code = value; 1361 return this; 1362 } 1363 1364 /** 1365 * @return Identifies the compartment. 1366 */ 1367 public CompartmentCode getCode() { 1368 return this.code == null ? null : this.code.getValue(); 1369 } 1370 1371 /** 1372 * @param value Identifies the compartment. 1373 */ 1374 public GraphDefinitionLinkTargetCompartmentComponent setCode(CompartmentCode value) { 1375 if (this.code == null) 1376 this.code = new Enumeration<CompartmentCode>(new CompartmentCodeEnumFactory()); 1377 this.code.setValue(value); 1378 return this; 1379 } 1380 1381 /** 1382 * @return {@link #rule} (identical | matching | different | no-rule | custom.). This is the underlying object with id, value and extensions. The accessor "getRule" gives direct access to the value 1383 */ 1384 public Enumeration<GraphCompartmentRule> getRuleElement() { 1385 if (this.rule == null) 1386 if (Configuration.errorOnAutoCreate()) 1387 throw new Error("Attempt to auto-create GraphDefinitionLinkTargetCompartmentComponent.rule"); 1388 else if (Configuration.doAutoCreate()) 1389 this.rule = new Enumeration<GraphCompartmentRule>(new GraphCompartmentRuleEnumFactory()); // bb 1390 return this.rule; 1391 } 1392 1393 public boolean hasRuleElement() { 1394 return this.rule != null && !this.rule.isEmpty(); 1395 } 1396 1397 public boolean hasRule() { 1398 return this.rule != null && !this.rule.isEmpty(); 1399 } 1400 1401 /** 1402 * @param value {@link #rule} (identical | matching | different | no-rule | custom.). This is the underlying object with id, value and extensions. The accessor "getRule" gives direct access to the value 1403 */ 1404 public GraphDefinitionLinkTargetCompartmentComponent setRuleElement(Enumeration<GraphCompartmentRule> value) { 1405 this.rule = value; 1406 return this; 1407 } 1408 1409 /** 1410 * @return identical | matching | different | no-rule | custom. 1411 */ 1412 public GraphCompartmentRule getRule() { 1413 return this.rule == null ? null : this.rule.getValue(); 1414 } 1415 1416 /** 1417 * @param value identical | matching | different | no-rule | custom. 1418 */ 1419 public GraphDefinitionLinkTargetCompartmentComponent setRule(GraphCompartmentRule value) { 1420 if (this.rule == null) 1421 this.rule = new Enumeration<GraphCompartmentRule>(new GraphCompartmentRuleEnumFactory()); 1422 this.rule.setValue(value); 1423 return this; 1424 } 1425 1426 /** 1427 * @return {@link #expression} (Custom rule, as a FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 1428 */ 1429 public StringType getExpressionElement() { 1430 if (this.expression == null) 1431 if (Configuration.errorOnAutoCreate()) 1432 throw new Error("Attempt to auto-create GraphDefinitionLinkTargetCompartmentComponent.expression"); 1433 else if (Configuration.doAutoCreate()) 1434 this.expression = new StringType(); // bb 1435 return this.expression; 1436 } 1437 1438 public boolean hasExpressionElement() { 1439 return this.expression != null && !this.expression.isEmpty(); 1440 } 1441 1442 public boolean hasExpression() { 1443 return this.expression != null && !this.expression.isEmpty(); 1444 } 1445 1446 /** 1447 * @param value {@link #expression} (Custom rule, as a FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 1448 */ 1449 public GraphDefinitionLinkTargetCompartmentComponent setExpressionElement(StringType value) { 1450 this.expression = value; 1451 return this; 1452 } 1453 1454 /** 1455 * @return Custom rule, as a FHIRPath expression. 1456 */ 1457 public String getExpression() { 1458 return this.expression == null ? null : this.expression.getValue(); 1459 } 1460 1461 /** 1462 * @param value Custom rule, as a FHIRPath expression. 1463 */ 1464 public GraphDefinitionLinkTargetCompartmentComponent setExpression(String value) { 1465 if (Utilities.noString(value)) 1466 this.expression = null; 1467 else { 1468 if (this.expression == null) 1469 this.expression = new StringType(); 1470 this.expression.setValue(value); 1471 } 1472 return this; 1473 } 1474 1475 /** 1476 * @return {@link #description} (Documentation for FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1477 */ 1478 public StringType getDescriptionElement() { 1479 if (this.description == null) 1480 if (Configuration.errorOnAutoCreate()) 1481 throw new Error("Attempt to auto-create GraphDefinitionLinkTargetCompartmentComponent.description"); 1482 else if (Configuration.doAutoCreate()) 1483 this.description = new StringType(); // bb 1484 return this.description; 1485 } 1486 1487 public boolean hasDescriptionElement() { 1488 return this.description != null && !this.description.isEmpty(); 1489 } 1490 1491 public boolean hasDescription() { 1492 return this.description != null && !this.description.isEmpty(); 1493 } 1494 1495 /** 1496 * @param value {@link #description} (Documentation for FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1497 */ 1498 public GraphDefinitionLinkTargetCompartmentComponent setDescriptionElement(StringType value) { 1499 this.description = value; 1500 return this; 1501 } 1502 1503 /** 1504 * @return Documentation for FHIRPath expression. 1505 */ 1506 public String getDescription() { 1507 return this.description == null ? null : this.description.getValue(); 1508 } 1509 1510 /** 1511 * @param value Documentation for FHIRPath expression. 1512 */ 1513 public GraphDefinitionLinkTargetCompartmentComponent setDescription(String value) { 1514 if (Utilities.noString(value)) 1515 this.description = null; 1516 else { 1517 if (this.description == null) 1518 this.description = new StringType(); 1519 this.description.setValue(value); 1520 } 1521 return this; 1522 } 1523 1524 protected void listChildren(List<Property> children) { 1525 super.listChildren(children); 1526 children.add(new Property("code", "code", "Identifies the compartment.", 0, 1, code)); 1527 children.add(new Property("rule", "code", "identical | matching | different | no-rule | custom.", 0, 1, rule)); 1528 children.add(new Property("expression", "string", "Custom rule, as a FHIRPath expression.", 0, 1, expression)); 1529 children.add(new Property("description", "string", "Documentation for FHIRPath expression.", 0, 1, description)); 1530 } 1531 1532 @Override 1533 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1534 switch (_hash) { 1535 case 3059181: /*code*/ return new Property("code", "code", "Identifies the compartment.", 0, 1, code); 1536 case 3512060: /*rule*/ return new Property("rule", "code", "identical | matching | different | no-rule | custom.", 0, 1, rule); 1537 case -1795452264: /*expression*/ return new Property("expression", "string", "Custom rule, as a FHIRPath expression.", 0, 1, expression); 1538 case -1724546052: /*description*/ return new Property("description", "string", "Documentation for FHIRPath expression.", 0, 1, description); 1539 default: return super.getNamedProperty(_hash, _name, _checkValid); 1540 } 1541 1542 } 1543 1544 @Override 1545 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1546 switch (hash) { 1547 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<CompartmentCode> 1548 case 3512060: /*rule*/ return this.rule == null ? new Base[0] : new Base[] {this.rule}; // Enumeration<GraphCompartmentRule> 1549 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType 1550 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1551 default: return super.getProperty(hash, name, checkValid); 1552 } 1553 1554 } 1555 1556 @Override 1557 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1558 switch (hash) { 1559 case 3059181: // code 1560 value = new CompartmentCodeEnumFactory().fromType(castToCode(value)); 1561 this.code = (Enumeration) value; // Enumeration<CompartmentCode> 1562 return value; 1563 case 3512060: // rule 1564 value = new GraphCompartmentRuleEnumFactory().fromType(castToCode(value)); 1565 this.rule = (Enumeration) value; // Enumeration<GraphCompartmentRule> 1566 return value; 1567 case -1795452264: // expression 1568 this.expression = castToString(value); // StringType 1569 return value; 1570 case -1724546052: // description 1571 this.description = castToString(value); // StringType 1572 return value; 1573 default: return super.setProperty(hash, name, value); 1574 } 1575 1576 } 1577 1578 @Override 1579 public Base setProperty(String name, Base value) throws FHIRException { 1580 if (name.equals("code")) { 1581 value = new CompartmentCodeEnumFactory().fromType(castToCode(value)); 1582 this.code = (Enumeration) value; // Enumeration<CompartmentCode> 1583 } else if (name.equals("rule")) { 1584 value = new GraphCompartmentRuleEnumFactory().fromType(castToCode(value)); 1585 this.rule = (Enumeration) value; // Enumeration<GraphCompartmentRule> 1586 } else if (name.equals("expression")) { 1587 this.expression = castToString(value); // StringType 1588 } else if (name.equals("description")) { 1589 this.description = castToString(value); // StringType 1590 } else 1591 return super.setProperty(name, value); 1592 return value; 1593 } 1594 1595 @Override 1596 public Base makeProperty(int hash, String name) throws FHIRException { 1597 switch (hash) { 1598 case 3059181: return getCodeElement(); 1599 case 3512060: return getRuleElement(); 1600 case -1795452264: return getExpressionElement(); 1601 case -1724546052: return getDescriptionElement(); 1602 default: return super.makeProperty(hash, name); 1603 } 1604 1605 } 1606 1607 @Override 1608 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1609 switch (hash) { 1610 case 3059181: /*code*/ return new String[] {"code"}; 1611 case 3512060: /*rule*/ return new String[] {"code"}; 1612 case -1795452264: /*expression*/ return new String[] {"string"}; 1613 case -1724546052: /*description*/ return new String[] {"string"}; 1614 default: return super.getTypesForProperty(hash, name); 1615 } 1616 1617 } 1618 1619 @Override 1620 public Base addChild(String name) throws FHIRException { 1621 if (name.equals("code")) { 1622 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.code"); 1623 } 1624 else if (name.equals("rule")) { 1625 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.rule"); 1626 } 1627 else if (name.equals("expression")) { 1628 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.expression"); 1629 } 1630 else if (name.equals("description")) { 1631 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.description"); 1632 } 1633 else 1634 return super.addChild(name); 1635 } 1636 1637 public GraphDefinitionLinkTargetCompartmentComponent copy() { 1638 GraphDefinitionLinkTargetCompartmentComponent dst = new GraphDefinitionLinkTargetCompartmentComponent(); 1639 copyValues(dst); 1640 dst.code = code == null ? null : code.copy(); 1641 dst.rule = rule == null ? null : rule.copy(); 1642 dst.expression = expression == null ? null : expression.copy(); 1643 dst.description = description == null ? null : description.copy(); 1644 return dst; 1645 } 1646 1647 @Override 1648 public boolean equalsDeep(Base other_) { 1649 if (!super.equalsDeep(other_)) 1650 return false; 1651 if (!(other_ instanceof GraphDefinitionLinkTargetCompartmentComponent)) 1652 return false; 1653 GraphDefinitionLinkTargetCompartmentComponent o = (GraphDefinitionLinkTargetCompartmentComponent) other_; 1654 return compareDeep(code, o.code, true) && compareDeep(rule, o.rule, true) && compareDeep(expression, o.expression, true) 1655 && compareDeep(description, o.description, true); 1656 } 1657 1658 @Override 1659 public boolean equalsShallow(Base other_) { 1660 if (!super.equalsShallow(other_)) 1661 return false; 1662 if (!(other_ instanceof GraphDefinitionLinkTargetCompartmentComponent)) 1663 return false; 1664 GraphDefinitionLinkTargetCompartmentComponent o = (GraphDefinitionLinkTargetCompartmentComponent) other_; 1665 return compareValues(code, o.code, true) && compareValues(rule, o.rule, true) && compareValues(expression, o.expression, true) 1666 && compareValues(description, o.description, true); 1667 } 1668 1669 public boolean isEmpty() { 1670 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, rule, expression, description 1671 ); 1672 } 1673 1674 public String fhirType() { 1675 return "GraphDefinition.link.target.compartment"; 1676 1677 } 1678 1679 } 1680 1681 /** 1682 * Explaination of why this graph definition is needed and why it has been designed as it has. 1683 */ 1684 @Child(name = "purpose", type = {MarkdownType.class}, order=0, min=0, max=1, modifier=false, summary=false) 1685 @Description(shortDefinition="Why this graph definition is defined", formalDefinition="Explaination of why this graph definition is needed and why it has been designed as it has." ) 1686 protected MarkdownType purpose; 1687 1688 /** 1689 * The type of FHIR resource at which instances of this graph start. 1690 */ 1691 @Child(name = "start", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1692 @Description(shortDefinition="Type of resource at which the graph starts", formalDefinition="The type of FHIR resource at which instances of this graph start." ) 1693 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") 1694 protected CodeType start; 1695 1696 /** 1697 * The profile that describes the use of the base resource. 1698 */ 1699 @Child(name = "profile", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1700 @Description(shortDefinition="Profile on base resource", formalDefinition="The profile that describes the use of the base resource." ) 1701 protected UriType profile; 1702 1703 /** 1704 * Links this graph makes rules about. 1705 */ 1706 @Child(name = "link", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1707 @Description(shortDefinition="Links this graph makes rules about", formalDefinition="Links this graph makes rules about." ) 1708 protected List<GraphDefinitionLinkComponent> link; 1709 1710 private static final long serialVersionUID = 86877575L; 1711 1712 /** 1713 * Constructor 1714 */ 1715 public GraphDefinition() { 1716 super(); 1717 } 1718 1719 /** 1720 * Constructor 1721 */ 1722 public GraphDefinition(StringType name, Enumeration<PublicationStatus> status, CodeType start) { 1723 super(); 1724 this.name = name; 1725 this.status = status; 1726 this.start = start; 1727 } 1728 1729 /** 1730 * @return {@link #url} (An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this graph definition is (or will be) published. The URL SHOULD include the major version of the graph definition. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1731 */ 1732 public UriType getUrlElement() { 1733 if (this.url == null) 1734 if (Configuration.errorOnAutoCreate()) 1735 throw new Error("Attempt to auto-create GraphDefinition.url"); 1736 else if (Configuration.doAutoCreate()) 1737 this.url = new UriType(); // bb 1738 return this.url; 1739 } 1740 1741 public boolean hasUrlElement() { 1742 return this.url != null && !this.url.isEmpty(); 1743 } 1744 1745 public boolean hasUrl() { 1746 return this.url != null && !this.url.isEmpty(); 1747 } 1748 1749 /** 1750 * @param value {@link #url} (An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this graph definition is (or will be) published. The URL SHOULD include the major version of the graph definition. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1751 */ 1752 public GraphDefinition setUrlElement(UriType value) { 1753 this.url = value; 1754 return this; 1755 } 1756 1757 /** 1758 * @return An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this graph definition is (or will be) published. The URL SHOULD include the major version of the graph definition. For more information see [Technical and Business Versions](resource.html#versions). 1759 */ 1760 public String getUrl() { 1761 return this.url == null ? null : this.url.getValue(); 1762 } 1763 1764 /** 1765 * @param value An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this graph definition is (or will be) published. The URL SHOULD include the major version of the graph definition. For more information see [Technical and Business Versions](resource.html#versions). 1766 */ 1767 public GraphDefinition setUrl(String value) { 1768 if (Utilities.noString(value)) 1769 this.url = null; 1770 else { 1771 if (this.url == null) 1772 this.url = new UriType(); 1773 this.url.setValue(value); 1774 } 1775 return this; 1776 } 1777 1778 /** 1779 * @return {@link #version} (The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph 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 1780 */ 1781 public StringType getVersionElement() { 1782 if (this.version == null) 1783 if (Configuration.errorOnAutoCreate()) 1784 throw new Error("Attempt to auto-create GraphDefinition.version"); 1785 else if (Configuration.doAutoCreate()) 1786 this.version = new StringType(); // bb 1787 return this.version; 1788 } 1789 1790 public boolean hasVersionElement() { 1791 return this.version != null && !this.version.isEmpty(); 1792 } 1793 1794 public boolean hasVersion() { 1795 return this.version != null && !this.version.isEmpty(); 1796 } 1797 1798 /** 1799 * @param value {@link #version} (The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph 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 1800 */ 1801 public GraphDefinition setVersionElement(StringType value) { 1802 this.version = value; 1803 return this; 1804 } 1805 1806 /** 1807 * @return The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph 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. 1808 */ 1809 public String getVersion() { 1810 return this.version == null ? null : this.version.getValue(); 1811 } 1812 1813 /** 1814 * @param value The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph 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. 1815 */ 1816 public GraphDefinition setVersion(String value) { 1817 if (Utilities.noString(value)) 1818 this.version = null; 1819 else { 1820 if (this.version == null) 1821 this.version = new StringType(); 1822 this.version.setValue(value); 1823 } 1824 return this; 1825 } 1826 1827 /** 1828 * @return {@link #name} (A natural language name identifying the graph 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 1829 */ 1830 public StringType getNameElement() { 1831 if (this.name == null) 1832 if (Configuration.errorOnAutoCreate()) 1833 throw new Error("Attempt to auto-create GraphDefinition.name"); 1834 else if (Configuration.doAutoCreate()) 1835 this.name = new StringType(); // bb 1836 return this.name; 1837 } 1838 1839 public boolean hasNameElement() { 1840 return this.name != null && !this.name.isEmpty(); 1841 } 1842 1843 public boolean hasName() { 1844 return this.name != null && !this.name.isEmpty(); 1845 } 1846 1847 /** 1848 * @param value {@link #name} (A natural language name identifying the graph 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 1849 */ 1850 public GraphDefinition setNameElement(StringType value) { 1851 this.name = value; 1852 return this; 1853 } 1854 1855 /** 1856 * @return A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1857 */ 1858 public String getName() { 1859 return this.name == null ? null : this.name.getValue(); 1860 } 1861 1862 /** 1863 * @param value A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1864 */ 1865 public GraphDefinition setName(String value) { 1866 if (this.name == null) 1867 this.name = new StringType(); 1868 this.name.setValue(value); 1869 return this; 1870 } 1871 1872 /** 1873 * @return {@link #status} (The status of this graph 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 1874 */ 1875 public Enumeration<PublicationStatus> getStatusElement() { 1876 if (this.status == null) 1877 if (Configuration.errorOnAutoCreate()) 1878 throw new Error("Attempt to auto-create GraphDefinition.status"); 1879 else if (Configuration.doAutoCreate()) 1880 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1881 return this.status; 1882 } 1883 1884 public boolean hasStatusElement() { 1885 return this.status != null && !this.status.isEmpty(); 1886 } 1887 1888 public boolean hasStatus() { 1889 return this.status != null && !this.status.isEmpty(); 1890 } 1891 1892 /** 1893 * @param value {@link #status} (The status of this graph 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 1894 */ 1895 public GraphDefinition setStatusElement(Enumeration<PublicationStatus> value) { 1896 this.status = value; 1897 return this; 1898 } 1899 1900 /** 1901 * @return The status of this graph definition. Enables tracking the life-cycle of the content. 1902 */ 1903 public PublicationStatus getStatus() { 1904 return this.status == null ? null : this.status.getValue(); 1905 } 1906 1907 /** 1908 * @param value The status of this graph definition. Enables tracking the life-cycle of the content. 1909 */ 1910 public GraphDefinition setStatus(PublicationStatus value) { 1911 if (this.status == null) 1912 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1913 this.status.setValue(value); 1914 return this; 1915 } 1916 1917 /** 1918 * @return {@link #experimental} (A boolean value to indicate that this graph 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 1919 */ 1920 public BooleanType getExperimentalElement() { 1921 if (this.experimental == null) 1922 if (Configuration.errorOnAutoCreate()) 1923 throw new Error("Attempt to auto-create GraphDefinition.experimental"); 1924 else if (Configuration.doAutoCreate()) 1925 this.experimental = new BooleanType(); // bb 1926 return this.experimental; 1927 } 1928 1929 public boolean hasExperimentalElement() { 1930 return this.experimental != null && !this.experimental.isEmpty(); 1931 } 1932 1933 public boolean hasExperimental() { 1934 return this.experimental != null && !this.experimental.isEmpty(); 1935 } 1936 1937 /** 1938 * @param value {@link #experimental} (A boolean value to indicate that this graph 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 1939 */ 1940 public GraphDefinition setExperimentalElement(BooleanType value) { 1941 this.experimental = value; 1942 return this; 1943 } 1944 1945 /** 1946 * @return A boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 1947 */ 1948 public boolean getExperimental() { 1949 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 1950 } 1951 1952 /** 1953 * @param value A boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 1954 */ 1955 public GraphDefinition setExperimental(boolean value) { 1956 if (this.experimental == null) 1957 this.experimental = new BooleanType(); 1958 this.experimental.setValue(value); 1959 return this; 1960 } 1961 1962 /** 1963 * @return {@link #date} (The date (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1964 */ 1965 public DateTimeType getDateElement() { 1966 if (this.date == null) 1967 if (Configuration.errorOnAutoCreate()) 1968 throw new Error("Attempt to auto-create GraphDefinition.date"); 1969 else if (Configuration.doAutoCreate()) 1970 this.date = new DateTimeType(); // bb 1971 return this.date; 1972 } 1973 1974 public boolean hasDateElement() { 1975 return this.date != null && !this.date.isEmpty(); 1976 } 1977 1978 public boolean hasDate() { 1979 return this.date != null && !this.date.isEmpty(); 1980 } 1981 1982 /** 1983 * @param value {@link #date} (The date (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1984 */ 1985 public GraphDefinition setDateElement(DateTimeType value) { 1986 this.date = value; 1987 return this; 1988 } 1989 1990 /** 1991 * @return The date (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes. 1992 */ 1993 public Date getDate() { 1994 return this.date == null ? null : this.date.getValue(); 1995 } 1996 1997 /** 1998 * @param value The date (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes. 1999 */ 2000 public GraphDefinition setDate(Date value) { 2001 if (value == null) 2002 this.date = null; 2003 else { 2004 if (this.date == null) 2005 this.date = new DateTimeType(); 2006 this.date.setValue(value); 2007 } 2008 return this; 2009 } 2010 2011 /** 2012 * @return {@link #publisher} (The name of the individual or organization that published the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2013 */ 2014 public StringType getPublisherElement() { 2015 if (this.publisher == null) 2016 if (Configuration.errorOnAutoCreate()) 2017 throw new Error("Attempt to auto-create GraphDefinition.publisher"); 2018 else if (Configuration.doAutoCreate()) 2019 this.publisher = new StringType(); // bb 2020 return this.publisher; 2021 } 2022 2023 public boolean hasPublisherElement() { 2024 return this.publisher != null && !this.publisher.isEmpty(); 2025 } 2026 2027 public boolean hasPublisher() { 2028 return this.publisher != null && !this.publisher.isEmpty(); 2029 } 2030 2031 /** 2032 * @param value {@link #publisher} (The name of the individual or organization that published the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2033 */ 2034 public GraphDefinition setPublisherElement(StringType value) { 2035 this.publisher = value; 2036 return this; 2037 } 2038 2039 /** 2040 * @return The name of the individual or organization that published the graph definition. 2041 */ 2042 public String getPublisher() { 2043 return this.publisher == null ? null : this.publisher.getValue(); 2044 } 2045 2046 /** 2047 * @param value The name of the individual or organization that published the graph definition. 2048 */ 2049 public GraphDefinition setPublisher(String value) { 2050 if (Utilities.noString(value)) 2051 this.publisher = null; 2052 else { 2053 if (this.publisher == null) 2054 this.publisher = new StringType(); 2055 this.publisher.setValue(value); 2056 } 2057 return this; 2058 } 2059 2060 /** 2061 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2062 */ 2063 public List<ContactDetail> getContact() { 2064 if (this.contact == null) 2065 this.contact = new ArrayList<ContactDetail>(); 2066 return this.contact; 2067 } 2068 2069 /** 2070 * @return Returns a reference to <code>this</code> for easy method chaining 2071 */ 2072 public GraphDefinition setContact(List<ContactDetail> theContact) { 2073 this.contact = theContact; 2074 return this; 2075 } 2076 2077 public boolean hasContact() { 2078 if (this.contact == null) 2079 return false; 2080 for (ContactDetail item : this.contact) 2081 if (!item.isEmpty()) 2082 return true; 2083 return false; 2084 } 2085 2086 public ContactDetail addContact() { //3 2087 ContactDetail t = new ContactDetail(); 2088 if (this.contact == null) 2089 this.contact = new ArrayList<ContactDetail>(); 2090 this.contact.add(t); 2091 return t; 2092 } 2093 2094 public GraphDefinition addContact(ContactDetail t) { //3 2095 if (t == null) 2096 return this; 2097 if (this.contact == null) 2098 this.contact = new ArrayList<ContactDetail>(); 2099 this.contact.add(t); 2100 return this; 2101 } 2102 2103 /** 2104 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 2105 */ 2106 public ContactDetail getContactFirstRep() { 2107 if (getContact().isEmpty()) { 2108 addContact(); 2109 } 2110 return getContact().get(0); 2111 } 2112 2113 /** 2114 * @return {@link #description} (A free text natural language description of the graph 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 2115 */ 2116 public MarkdownType getDescriptionElement() { 2117 if (this.description == null) 2118 if (Configuration.errorOnAutoCreate()) 2119 throw new Error("Attempt to auto-create GraphDefinition.description"); 2120 else if (Configuration.doAutoCreate()) 2121 this.description = new MarkdownType(); // bb 2122 return this.description; 2123 } 2124 2125 public boolean hasDescriptionElement() { 2126 return this.description != null && !this.description.isEmpty(); 2127 } 2128 2129 public boolean hasDescription() { 2130 return this.description != null && !this.description.isEmpty(); 2131 } 2132 2133 /** 2134 * @param value {@link #description} (A free text natural language description of the graph 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 2135 */ 2136 public GraphDefinition setDescriptionElement(MarkdownType value) { 2137 this.description = value; 2138 return this; 2139 } 2140 2141 /** 2142 * @return A free text natural language description of the graph definition from a consumer's perspective. 2143 */ 2144 public String getDescription() { 2145 return this.description == null ? null : this.description.getValue(); 2146 } 2147 2148 /** 2149 * @param value A free text natural language description of the graph definition from a consumer's perspective. 2150 */ 2151 public GraphDefinition setDescription(String value) { 2152 if (value == null) 2153 this.description = null; 2154 else { 2155 if (this.description == null) 2156 this.description = new MarkdownType(); 2157 this.description.setValue(value); 2158 } 2159 return this; 2160 } 2161 2162 /** 2163 * @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 graph definition instances.) 2164 */ 2165 public List<UsageContext> getUseContext() { 2166 if (this.useContext == null) 2167 this.useContext = new ArrayList<UsageContext>(); 2168 return this.useContext; 2169 } 2170 2171 /** 2172 * @return Returns a reference to <code>this</code> for easy method chaining 2173 */ 2174 public GraphDefinition setUseContext(List<UsageContext> theUseContext) { 2175 this.useContext = theUseContext; 2176 return this; 2177 } 2178 2179 public boolean hasUseContext() { 2180 if (this.useContext == null) 2181 return false; 2182 for (UsageContext item : this.useContext) 2183 if (!item.isEmpty()) 2184 return true; 2185 return false; 2186 } 2187 2188 public UsageContext addUseContext() { //3 2189 UsageContext t = new UsageContext(); 2190 if (this.useContext == null) 2191 this.useContext = new ArrayList<UsageContext>(); 2192 this.useContext.add(t); 2193 return t; 2194 } 2195 2196 public GraphDefinition addUseContext(UsageContext t) { //3 2197 if (t == null) 2198 return this; 2199 if (this.useContext == null) 2200 this.useContext = new ArrayList<UsageContext>(); 2201 this.useContext.add(t); 2202 return this; 2203 } 2204 2205 /** 2206 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 2207 */ 2208 public UsageContext getUseContextFirstRep() { 2209 if (getUseContext().isEmpty()) { 2210 addUseContext(); 2211 } 2212 return getUseContext().get(0); 2213 } 2214 2215 /** 2216 * @return {@link #jurisdiction} (A legal or geographic region in which the graph definition is intended to be used.) 2217 */ 2218 public List<CodeableConcept> getJurisdiction() { 2219 if (this.jurisdiction == null) 2220 this.jurisdiction = new ArrayList<CodeableConcept>(); 2221 return this.jurisdiction; 2222 } 2223 2224 /** 2225 * @return Returns a reference to <code>this</code> for easy method chaining 2226 */ 2227 public GraphDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 2228 this.jurisdiction = theJurisdiction; 2229 return this; 2230 } 2231 2232 public boolean hasJurisdiction() { 2233 if (this.jurisdiction == null) 2234 return false; 2235 for (CodeableConcept item : this.jurisdiction) 2236 if (!item.isEmpty()) 2237 return true; 2238 return false; 2239 } 2240 2241 public CodeableConcept addJurisdiction() { //3 2242 CodeableConcept t = new CodeableConcept(); 2243 if (this.jurisdiction == null) 2244 this.jurisdiction = new ArrayList<CodeableConcept>(); 2245 this.jurisdiction.add(t); 2246 return t; 2247 } 2248 2249 public GraphDefinition addJurisdiction(CodeableConcept t) { //3 2250 if (t == null) 2251 return this; 2252 if (this.jurisdiction == null) 2253 this.jurisdiction = new ArrayList<CodeableConcept>(); 2254 this.jurisdiction.add(t); 2255 return this; 2256 } 2257 2258 /** 2259 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 2260 */ 2261 public CodeableConcept getJurisdictionFirstRep() { 2262 if (getJurisdiction().isEmpty()) { 2263 addJurisdiction(); 2264 } 2265 return getJurisdiction().get(0); 2266 } 2267 2268 /** 2269 * @return {@link #purpose} (Explaination of why this graph 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 2270 */ 2271 public MarkdownType getPurposeElement() { 2272 if (this.purpose == null) 2273 if (Configuration.errorOnAutoCreate()) 2274 throw new Error("Attempt to auto-create GraphDefinition.purpose"); 2275 else if (Configuration.doAutoCreate()) 2276 this.purpose = new MarkdownType(); // bb 2277 return this.purpose; 2278 } 2279 2280 public boolean hasPurposeElement() { 2281 return this.purpose != null && !this.purpose.isEmpty(); 2282 } 2283 2284 public boolean hasPurpose() { 2285 return this.purpose != null && !this.purpose.isEmpty(); 2286 } 2287 2288 /** 2289 * @param value {@link #purpose} (Explaination of why this graph 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 2290 */ 2291 public GraphDefinition setPurposeElement(MarkdownType value) { 2292 this.purpose = value; 2293 return this; 2294 } 2295 2296 /** 2297 * @return Explaination of why this graph definition is needed and why it has been designed as it has. 2298 */ 2299 public String getPurpose() { 2300 return this.purpose == null ? null : this.purpose.getValue(); 2301 } 2302 2303 /** 2304 * @param value Explaination of why this graph definition is needed and why it has been designed as it has. 2305 */ 2306 public GraphDefinition setPurpose(String value) { 2307 if (value == null) 2308 this.purpose = null; 2309 else { 2310 if (this.purpose == null) 2311 this.purpose = new MarkdownType(); 2312 this.purpose.setValue(value); 2313 } 2314 return this; 2315 } 2316 2317 /** 2318 * @return {@link #start} (The type of FHIR resource at which instances of this graph start.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value 2319 */ 2320 public CodeType getStartElement() { 2321 if (this.start == null) 2322 if (Configuration.errorOnAutoCreate()) 2323 throw new Error("Attempt to auto-create GraphDefinition.start"); 2324 else if (Configuration.doAutoCreate()) 2325 this.start = new CodeType(); // bb 2326 return this.start; 2327 } 2328 2329 public boolean hasStartElement() { 2330 return this.start != null && !this.start.isEmpty(); 2331 } 2332 2333 public boolean hasStart() { 2334 return this.start != null && !this.start.isEmpty(); 2335 } 2336 2337 /** 2338 * @param value {@link #start} (The type of FHIR resource at which instances of this graph start.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value 2339 */ 2340 public GraphDefinition setStartElement(CodeType value) { 2341 this.start = value; 2342 return this; 2343 } 2344 2345 /** 2346 * @return The type of FHIR resource at which instances of this graph start. 2347 */ 2348 public String getStart() { 2349 return this.start == null ? null : this.start.getValue(); 2350 } 2351 2352 /** 2353 * @param value The type of FHIR resource at which instances of this graph start. 2354 */ 2355 public GraphDefinition setStart(String value) { 2356 if (this.start == null) 2357 this.start = new CodeType(); 2358 this.start.setValue(value); 2359 return this; 2360 } 2361 2362 /** 2363 * @return {@link #profile} (The profile that describes the use of the base resource.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 2364 */ 2365 public UriType getProfileElement() { 2366 if (this.profile == null) 2367 if (Configuration.errorOnAutoCreate()) 2368 throw new Error("Attempt to auto-create GraphDefinition.profile"); 2369 else if (Configuration.doAutoCreate()) 2370 this.profile = new UriType(); // bb 2371 return this.profile; 2372 } 2373 2374 public boolean hasProfileElement() { 2375 return this.profile != null && !this.profile.isEmpty(); 2376 } 2377 2378 public boolean hasProfile() { 2379 return this.profile != null && !this.profile.isEmpty(); 2380 } 2381 2382 /** 2383 * @param value {@link #profile} (The profile that describes the use of the base resource.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 2384 */ 2385 public GraphDefinition setProfileElement(UriType value) { 2386 this.profile = value; 2387 return this; 2388 } 2389 2390 /** 2391 * @return The profile that describes the use of the base resource. 2392 */ 2393 public String getProfile() { 2394 return this.profile == null ? null : this.profile.getValue(); 2395 } 2396 2397 /** 2398 * @param value The profile that describes the use of the base resource. 2399 */ 2400 public GraphDefinition setProfile(String value) { 2401 if (Utilities.noString(value)) 2402 this.profile = null; 2403 else { 2404 if (this.profile == null) 2405 this.profile = new UriType(); 2406 this.profile.setValue(value); 2407 } 2408 return this; 2409 } 2410 2411 /** 2412 * @return {@link #link} (Links this graph makes rules about.) 2413 */ 2414 public List<GraphDefinitionLinkComponent> getLink() { 2415 if (this.link == null) 2416 this.link = new ArrayList<GraphDefinitionLinkComponent>(); 2417 return this.link; 2418 } 2419 2420 /** 2421 * @return Returns a reference to <code>this</code> for easy method chaining 2422 */ 2423 public GraphDefinition setLink(List<GraphDefinitionLinkComponent> theLink) { 2424 this.link = theLink; 2425 return this; 2426 } 2427 2428 public boolean hasLink() { 2429 if (this.link == null) 2430 return false; 2431 for (GraphDefinitionLinkComponent item : this.link) 2432 if (!item.isEmpty()) 2433 return true; 2434 return false; 2435 } 2436 2437 public GraphDefinitionLinkComponent addLink() { //3 2438 GraphDefinitionLinkComponent t = new GraphDefinitionLinkComponent(); 2439 if (this.link == null) 2440 this.link = new ArrayList<GraphDefinitionLinkComponent>(); 2441 this.link.add(t); 2442 return t; 2443 } 2444 2445 public GraphDefinition addLink(GraphDefinitionLinkComponent t) { //3 2446 if (t == null) 2447 return this; 2448 if (this.link == null) 2449 this.link = new ArrayList<GraphDefinitionLinkComponent>(); 2450 this.link.add(t); 2451 return this; 2452 } 2453 2454 /** 2455 * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist 2456 */ 2457 public GraphDefinitionLinkComponent getLinkFirstRep() { 2458 if (getLink().isEmpty()) { 2459 addLink(); 2460 } 2461 return getLink().get(0); 2462 } 2463 2464 protected void listChildren(List<Property> children) { 2465 super.listChildren(children); 2466 children.add(new Property("url", "uri", "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this graph definition is (or will be) published. The URL SHOULD include the major version of the graph definition. For more information see [Technical and Business Versions](resource.html#versions).", 0, 1, url)); 2467 children.add(new Property("version", "string", "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph 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)); 2468 children.add(new Property("name", "string", "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 2469 children.add(new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 2470 children.add(new Property("experimental", "boolean", "A boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, 1, experimental)); 2471 children.add(new Property("date", "dateTime", "The date (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.", 0, 1, date)); 2472 children.add(new Property("publisher", "string", "The name of the individual or organization that published the graph definition.", 0, 1, publisher)); 2473 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)); 2474 children.add(new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description)); 2475 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 graph definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 2476 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the graph definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 2477 children.add(new Property("purpose", "markdown", "Explaination of why this graph definition is needed and why it has been designed as it has.", 0, 1, purpose)); 2478 children.add(new Property("start", "code", "The type of FHIR resource at which instances of this graph start.", 0, 1, start)); 2479 children.add(new Property("profile", "uri", "The profile that describes the use of the base resource.", 0, 1, profile)); 2480 children.add(new Property("link", "", "Links this graph makes rules about.", 0, java.lang.Integer.MAX_VALUE, link)); 2481 } 2482 2483 @Override 2484 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2485 switch (_hash) { 2486 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this graph definition is (or will be) published. The URL SHOULD include the major version of the graph definition. For more information see [Technical and Business Versions](resource.html#versions).", 0, 1, url); 2487 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph 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); 2488 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 2489 case -892481550: /*status*/ return new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status); 2490 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, 1, experimental); 2491 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the graph definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.", 0, 1, date); 2492 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the individual or organization that published the graph definition.", 0, 1, publisher); 2493 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); 2494 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description); 2495 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 graph definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 2496 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the graph definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 2497 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explaination of why this graph definition is needed and why it has been designed as it has.", 0, 1, purpose); 2498 case 109757538: /*start*/ return new Property("start", "code", "The type of FHIR resource at which instances of this graph start.", 0, 1, start); 2499 case -309425751: /*profile*/ return new Property("profile", "uri", "The profile that describes the use of the base resource.", 0, 1, profile); 2500 case 3321850: /*link*/ return new Property("link", "", "Links this graph makes rules about.", 0, java.lang.Integer.MAX_VALUE, link); 2501 default: return super.getNamedProperty(_hash, _name, _checkValid); 2502 } 2503 2504 } 2505 2506 @Override 2507 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2508 switch (hash) { 2509 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 2510 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 2511 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2512 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 2513 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 2514 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2515 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 2516 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 2517 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 2518 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 2519 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 2520 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 2521 case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // CodeType 2522 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // UriType 2523 case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // GraphDefinitionLinkComponent 2524 default: return super.getProperty(hash, name, checkValid); 2525 } 2526 2527 } 2528 2529 @Override 2530 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2531 switch (hash) { 2532 case 116079: // url 2533 this.url = castToUri(value); // UriType 2534 return value; 2535 case 351608024: // version 2536 this.version = castToString(value); // StringType 2537 return value; 2538 case 3373707: // name 2539 this.name = castToString(value); // StringType 2540 return value; 2541 case -892481550: // status 2542 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2543 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2544 return value; 2545 case -404562712: // experimental 2546 this.experimental = castToBoolean(value); // BooleanType 2547 return value; 2548 case 3076014: // date 2549 this.date = castToDateTime(value); // DateTimeType 2550 return value; 2551 case 1447404028: // publisher 2552 this.publisher = castToString(value); // StringType 2553 return value; 2554 case 951526432: // contact 2555 this.getContact().add(castToContactDetail(value)); // ContactDetail 2556 return value; 2557 case -1724546052: // description 2558 this.description = castToMarkdown(value); // MarkdownType 2559 return value; 2560 case -669707736: // useContext 2561 this.getUseContext().add(castToUsageContext(value)); // UsageContext 2562 return value; 2563 case -507075711: // jurisdiction 2564 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 2565 return value; 2566 case -220463842: // purpose 2567 this.purpose = castToMarkdown(value); // MarkdownType 2568 return value; 2569 case 109757538: // start 2570 this.start = castToCode(value); // CodeType 2571 return value; 2572 case -309425751: // profile 2573 this.profile = castToUri(value); // UriType 2574 return value; 2575 case 3321850: // link 2576 this.getLink().add((GraphDefinitionLinkComponent) value); // GraphDefinitionLinkComponent 2577 return value; 2578 default: return super.setProperty(hash, name, value); 2579 } 2580 2581 } 2582 2583 @Override 2584 public Base setProperty(String name, Base value) throws FHIRException { 2585 if (name.equals("url")) { 2586 this.url = castToUri(value); // UriType 2587 } else if (name.equals("version")) { 2588 this.version = castToString(value); // StringType 2589 } else if (name.equals("name")) { 2590 this.name = castToString(value); // StringType 2591 } else if (name.equals("status")) { 2592 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2593 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2594 } else if (name.equals("experimental")) { 2595 this.experimental = castToBoolean(value); // BooleanType 2596 } else if (name.equals("date")) { 2597 this.date = castToDateTime(value); // DateTimeType 2598 } else if (name.equals("publisher")) { 2599 this.publisher = castToString(value); // StringType 2600 } else if (name.equals("contact")) { 2601 this.getContact().add(castToContactDetail(value)); 2602 } else if (name.equals("description")) { 2603 this.description = castToMarkdown(value); // MarkdownType 2604 } else if (name.equals("useContext")) { 2605 this.getUseContext().add(castToUsageContext(value)); 2606 } else if (name.equals("jurisdiction")) { 2607 this.getJurisdiction().add(castToCodeableConcept(value)); 2608 } else if (name.equals("purpose")) { 2609 this.purpose = castToMarkdown(value); // MarkdownType 2610 } else if (name.equals("start")) { 2611 this.start = castToCode(value); // CodeType 2612 } else if (name.equals("profile")) { 2613 this.profile = castToUri(value); // UriType 2614 } else if (name.equals("link")) { 2615 this.getLink().add((GraphDefinitionLinkComponent) value); 2616 } else 2617 return super.setProperty(name, value); 2618 return value; 2619 } 2620 2621 @Override 2622 public Base makeProperty(int hash, String name) throws FHIRException { 2623 switch (hash) { 2624 case 116079: return getUrlElement(); 2625 case 351608024: return getVersionElement(); 2626 case 3373707: return getNameElement(); 2627 case -892481550: return getStatusElement(); 2628 case -404562712: return getExperimentalElement(); 2629 case 3076014: return getDateElement(); 2630 case 1447404028: return getPublisherElement(); 2631 case 951526432: return addContact(); 2632 case -1724546052: return getDescriptionElement(); 2633 case -669707736: return addUseContext(); 2634 case -507075711: return addJurisdiction(); 2635 case -220463842: return getPurposeElement(); 2636 case 109757538: return getStartElement(); 2637 case -309425751: return getProfileElement(); 2638 case 3321850: return addLink(); 2639 default: return super.makeProperty(hash, name); 2640 } 2641 2642 } 2643 2644 @Override 2645 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2646 switch (hash) { 2647 case 116079: /*url*/ return new String[] {"uri"}; 2648 case 351608024: /*version*/ return new String[] {"string"}; 2649 case 3373707: /*name*/ return new String[] {"string"}; 2650 case -892481550: /*status*/ return new String[] {"code"}; 2651 case -404562712: /*experimental*/ return new String[] {"boolean"}; 2652 case 3076014: /*date*/ return new String[] {"dateTime"}; 2653 case 1447404028: /*publisher*/ return new String[] {"string"}; 2654 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 2655 case -1724546052: /*description*/ return new String[] {"markdown"}; 2656 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 2657 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 2658 case -220463842: /*purpose*/ return new String[] {"markdown"}; 2659 case 109757538: /*start*/ return new String[] {"code"}; 2660 case -309425751: /*profile*/ return new String[] {"uri"}; 2661 case 3321850: /*link*/ return new String[] {}; 2662 default: return super.getTypesForProperty(hash, name); 2663 } 2664 2665 } 2666 2667 @Override 2668 public Base addChild(String name) throws FHIRException { 2669 if (name.equals("url")) { 2670 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.url"); 2671 } 2672 else if (name.equals("version")) { 2673 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.version"); 2674 } 2675 else if (name.equals("name")) { 2676 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.name"); 2677 } 2678 else if (name.equals("status")) { 2679 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.status"); 2680 } 2681 else if (name.equals("experimental")) { 2682 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.experimental"); 2683 } 2684 else if (name.equals("date")) { 2685 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.date"); 2686 } 2687 else if (name.equals("publisher")) { 2688 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.publisher"); 2689 } 2690 else if (name.equals("contact")) { 2691 return addContact(); 2692 } 2693 else if (name.equals("description")) { 2694 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.description"); 2695 } 2696 else if (name.equals("useContext")) { 2697 return addUseContext(); 2698 } 2699 else if (name.equals("jurisdiction")) { 2700 return addJurisdiction(); 2701 } 2702 else if (name.equals("purpose")) { 2703 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.purpose"); 2704 } 2705 else if (name.equals("start")) { 2706 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.start"); 2707 } 2708 else if (name.equals("profile")) { 2709 throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.profile"); 2710 } 2711 else if (name.equals("link")) { 2712 return addLink(); 2713 } 2714 else 2715 return super.addChild(name); 2716 } 2717 2718 public String fhirType() { 2719 return "GraphDefinition"; 2720 2721 } 2722 2723 public GraphDefinition copy() { 2724 GraphDefinition dst = new GraphDefinition(); 2725 copyValues(dst); 2726 dst.url = url == null ? null : url.copy(); 2727 dst.version = version == null ? null : version.copy(); 2728 dst.name = name == null ? null : name.copy(); 2729 dst.status = status == null ? null : status.copy(); 2730 dst.experimental = experimental == null ? null : experimental.copy(); 2731 dst.date = date == null ? null : date.copy(); 2732 dst.publisher = publisher == null ? null : publisher.copy(); 2733 if (contact != null) { 2734 dst.contact = new ArrayList<ContactDetail>(); 2735 for (ContactDetail i : contact) 2736 dst.contact.add(i.copy()); 2737 }; 2738 dst.description = description == null ? null : description.copy(); 2739 if (useContext != null) { 2740 dst.useContext = new ArrayList<UsageContext>(); 2741 for (UsageContext i : useContext) 2742 dst.useContext.add(i.copy()); 2743 }; 2744 if (jurisdiction != null) { 2745 dst.jurisdiction = new ArrayList<CodeableConcept>(); 2746 for (CodeableConcept i : jurisdiction) 2747 dst.jurisdiction.add(i.copy()); 2748 }; 2749 dst.purpose = purpose == null ? null : purpose.copy(); 2750 dst.start = start == null ? null : start.copy(); 2751 dst.profile = profile == null ? null : profile.copy(); 2752 if (link != null) { 2753 dst.link = new ArrayList<GraphDefinitionLinkComponent>(); 2754 for (GraphDefinitionLinkComponent i : link) 2755 dst.link.add(i.copy()); 2756 }; 2757 return dst; 2758 } 2759 2760 protected GraphDefinition typedCopy() { 2761 return copy(); 2762 } 2763 2764 @Override 2765 public boolean equalsDeep(Base other_) { 2766 if (!super.equalsDeep(other_)) 2767 return false; 2768 if (!(other_ instanceof GraphDefinition)) 2769 return false; 2770 GraphDefinition o = (GraphDefinition) other_; 2771 return compareDeep(purpose, o.purpose, true) && compareDeep(start, o.start, true) && compareDeep(profile, o.profile, true) 2772 && compareDeep(link, o.link, true); 2773 } 2774 2775 @Override 2776 public boolean equalsShallow(Base other_) { 2777 if (!super.equalsShallow(other_)) 2778 return false; 2779 if (!(other_ instanceof GraphDefinition)) 2780 return false; 2781 GraphDefinition o = (GraphDefinition) other_; 2782 return compareValues(purpose, o.purpose, true) && compareValues(start, o.start, true) && compareValues(profile, o.profile, true) 2783 ; 2784 } 2785 2786 public boolean isEmpty() { 2787 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(purpose, start, profile 2788 , link); 2789 } 2790 2791 @Override 2792 public ResourceType getResourceType() { 2793 return ResourceType.GraphDefinition; 2794 } 2795 2796 /** 2797 * Search parameter: <b>date</b> 2798 * <p> 2799 * Description: <b>The graph definition publication date</b><br> 2800 * Type: <b>date</b><br> 2801 * Path: <b>GraphDefinition.date</b><br> 2802 * </p> 2803 */ 2804 @SearchParamDefinition(name="date", path="GraphDefinition.date", description="The graph definition publication date", type="date" ) 2805 public static final String SP_DATE = "date"; 2806 /** 2807 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2808 * <p> 2809 * Description: <b>The graph definition publication date</b><br> 2810 * Type: <b>date</b><br> 2811 * Path: <b>GraphDefinition.date</b><br> 2812 * </p> 2813 */ 2814 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2815 2816 /** 2817 * Search parameter: <b>jurisdiction</b> 2818 * <p> 2819 * Description: <b>Intended jurisdiction for the graph definition</b><br> 2820 * Type: <b>token</b><br> 2821 * Path: <b>GraphDefinition.jurisdiction</b><br> 2822 * </p> 2823 */ 2824 @SearchParamDefinition(name="jurisdiction", path="GraphDefinition.jurisdiction", description="Intended jurisdiction for the graph definition", type="token" ) 2825 public static final String SP_JURISDICTION = "jurisdiction"; 2826 /** 2827 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 2828 * <p> 2829 * Description: <b>Intended jurisdiction for the graph definition</b><br> 2830 * Type: <b>token</b><br> 2831 * Path: <b>GraphDefinition.jurisdiction</b><br> 2832 * </p> 2833 */ 2834 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 2835 2836 /** 2837 * Search parameter: <b>name</b> 2838 * <p> 2839 * Description: <b>Computationally friendly name of the graph definition</b><br> 2840 * Type: <b>string</b><br> 2841 * Path: <b>GraphDefinition.name</b><br> 2842 * </p> 2843 */ 2844 @SearchParamDefinition(name="name", path="GraphDefinition.name", description="Computationally friendly name of the graph definition", type="string" ) 2845 public static final String SP_NAME = "name"; 2846 /** 2847 * <b>Fluent Client</b> search parameter constant for <b>name</b> 2848 * <p> 2849 * Description: <b>Computationally friendly name of the graph definition</b><br> 2850 * Type: <b>string</b><br> 2851 * Path: <b>GraphDefinition.name</b><br> 2852 * </p> 2853 */ 2854 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 2855 2856 /** 2857 * Search parameter: <b>start</b> 2858 * <p> 2859 * Description: <b>Type of resource at which the graph starts</b><br> 2860 * Type: <b>token</b><br> 2861 * Path: <b>GraphDefinition.start</b><br> 2862 * </p> 2863 */ 2864 @SearchParamDefinition(name="start", path="GraphDefinition.start", description="Type of resource at which the graph starts", type="token" ) 2865 public static final String SP_START = "start"; 2866 /** 2867 * <b>Fluent Client</b> search parameter constant for <b>start</b> 2868 * <p> 2869 * Description: <b>Type of resource at which the graph starts</b><br> 2870 * Type: <b>token</b><br> 2871 * Path: <b>GraphDefinition.start</b><br> 2872 * </p> 2873 */ 2874 public static final ca.uhn.fhir.rest.gclient.TokenClientParam START = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_START); 2875 2876 /** 2877 * Search parameter: <b>description</b> 2878 * <p> 2879 * Description: <b>The description of the graph definition</b><br> 2880 * Type: <b>string</b><br> 2881 * Path: <b>GraphDefinition.description</b><br> 2882 * </p> 2883 */ 2884 @SearchParamDefinition(name="description", path="GraphDefinition.description", description="The description of the graph definition", type="string" ) 2885 public static final String SP_DESCRIPTION = "description"; 2886 /** 2887 * <b>Fluent Client</b> search parameter constant for <b>description</b> 2888 * <p> 2889 * Description: <b>The description of the graph definition</b><br> 2890 * Type: <b>string</b><br> 2891 * Path: <b>GraphDefinition.description</b><br> 2892 * </p> 2893 */ 2894 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 2895 2896 /** 2897 * Search parameter: <b>publisher</b> 2898 * <p> 2899 * Description: <b>Name of the publisher of the graph definition</b><br> 2900 * Type: <b>string</b><br> 2901 * Path: <b>GraphDefinition.publisher</b><br> 2902 * </p> 2903 */ 2904 @SearchParamDefinition(name="publisher", path="GraphDefinition.publisher", description="Name of the publisher of the graph definition", type="string" ) 2905 public static final String SP_PUBLISHER = "publisher"; 2906 /** 2907 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 2908 * <p> 2909 * Description: <b>Name of the publisher of the graph definition</b><br> 2910 * Type: <b>string</b><br> 2911 * Path: <b>GraphDefinition.publisher</b><br> 2912 * </p> 2913 */ 2914 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 2915 2916 /** 2917 * Search parameter: <b>version</b> 2918 * <p> 2919 * Description: <b>The business version of the graph definition</b><br> 2920 * Type: <b>token</b><br> 2921 * Path: <b>GraphDefinition.version</b><br> 2922 * </p> 2923 */ 2924 @SearchParamDefinition(name="version", path="GraphDefinition.version", description="The business version of the graph definition", type="token" ) 2925 public static final String SP_VERSION = "version"; 2926 /** 2927 * <b>Fluent Client</b> search parameter constant for <b>version</b> 2928 * <p> 2929 * Description: <b>The business version of the graph definition</b><br> 2930 * Type: <b>token</b><br> 2931 * Path: <b>GraphDefinition.version</b><br> 2932 * </p> 2933 */ 2934 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 2935 2936 /** 2937 * Search parameter: <b>url</b> 2938 * <p> 2939 * Description: <b>The uri that identifies the graph definition</b><br> 2940 * Type: <b>uri</b><br> 2941 * Path: <b>GraphDefinition.url</b><br> 2942 * </p> 2943 */ 2944 @SearchParamDefinition(name="url", path="GraphDefinition.url", description="The uri that identifies the graph definition", type="uri" ) 2945 public static final String SP_URL = "url"; 2946 /** 2947 * <b>Fluent Client</b> search parameter constant for <b>url</b> 2948 * <p> 2949 * Description: <b>The uri that identifies the graph definition</b><br> 2950 * Type: <b>uri</b><br> 2951 * Path: <b>GraphDefinition.url</b><br> 2952 * </p> 2953 */ 2954 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 2955 2956 /** 2957 * Search parameter: <b>status</b> 2958 * <p> 2959 * Description: <b>The current status of the graph definition</b><br> 2960 * Type: <b>token</b><br> 2961 * Path: <b>GraphDefinition.status</b><br> 2962 * </p> 2963 */ 2964 @SearchParamDefinition(name="status", path="GraphDefinition.status", description="The current status of the graph definition", type="token" ) 2965 public static final String SP_STATUS = "status"; 2966 /** 2967 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2968 * <p> 2969 * Description: <b>The current status of the graph definition</b><br> 2970 * Type: <b>token</b><br> 2971 * Path: <b>GraphDefinition.status</b><br> 2972 * </p> 2973 */ 2974 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2975 2976 2977} 2978