![](/hapi-fhir/images/logos/raccoon-forwards.png)
001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.exceptions.FHIRException; 038import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 039import org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence; 040import org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalenceEnumFactory; 041import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; 042import org.hl7.fhir.r4.model.Enumerations.PublicationStatusEnumFactory; 043import org.hl7.fhir.utilities.Utilities; 044 045import ca.uhn.fhir.model.api.annotation.Block; 046import ca.uhn.fhir.model.api.annotation.Child; 047import ca.uhn.fhir.model.api.annotation.ChildOrder; 048import ca.uhn.fhir.model.api.annotation.Description; 049import ca.uhn.fhir.model.api.annotation.ResourceDef; 050import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 051 052/** 053 * A statement of relationships from one set of concepts to one or more other 054 * concepts - either concepts in code systems, or data element/data element 055 * concepts, or classes in class models. 056 */ 057@ResourceDef(name = "ConceptMap", profile = "http://hl7.org/fhir/StructureDefinition/ConceptMap") 058@ChildOrder(names = { "url", "identifier", "version", "name", "title", "status", "experimental", "date", "publisher", 059 "contact", "description", "useContext", "jurisdiction", "purpose", "copyright", "source[x]", "target[x]", "group" }) 060public class ConceptMap extends MetadataResource { 061 062 public enum ConceptMapGroupUnmappedMode { 063 /** 064 * Use the code as provided in the $translate request. 065 */ 066 PROVIDED, 067 /** 068 * Use the code explicitly provided in the group.unmapped. 069 */ 070 FIXED, 071 /** 072 * Use the map identified by the canonical URL in the url element. 073 */ 074 OTHERMAP, 075 /** 076 * added to help the parsers with the generic types 077 */ 078 NULL; 079 080 public static ConceptMapGroupUnmappedMode fromCode(String codeString) throws FHIRException { 081 if (codeString == null || "".equals(codeString)) 082 return null; 083 if ("provided".equals(codeString)) 084 return PROVIDED; 085 if ("fixed".equals(codeString)) 086 return FIXED; 087 if ("other-map".equals(codeString)) 088 return OTHERMAP; 089 if (Configuration.isAcceptInvalidEnums()) 090 return null; 091 else 092 throw new FHIRException("Unknown ConceptMapGroupUnmappedMode code '" + codeString + "'"); 093 } 094 095 public String toCode() { 096 switch (this) { 097 case PROVIDED: 098 return "provided"; 099 case FIXED: 100 return "fixed"; 101 case OTHERMAP: 102 return "other-map"; 103 case NULL: 104 return null; 105 default: 106 return "?"; 107 } 108 } 109 110 public String getSystem() { 111 switch (this) { 112 case PROVIDED: 113 return "http://hl7.org/fhir/conceptmap-unmapped-mode"; 114 case FIXED: 115 return "http://hl7.org/fhir/conceptmap-unmapped-mode"; 116 case OTHERMAP: 117 return "http://hl7.org/fhir/conceptmap-unmapped-mode"; 118 case NULL: 119 return null; 120 default: 121 return "?"; 122 } 123 } 124 125 public String getDefinition() { 126 switch (this) { 127 case PROVIDED: 128 return "Use the code as provided in the $translate request."; 129 case FIXED: 130 return "Use the code explicitly provided in the group.unmapped."; 131 case OTHERMAP: 132 return "Use the map identified by the canonical URL in the url element."; 133 case NULL: 134 return null; 135 default: 136 return "?"; 137 } 138 } 139 140 public String getDisplay() { 141 switch (this) { 142 case PROVIDED: 143 return "Provided Code"; 144 case FIXED: 145 return "Fixed Code"; 146 case OTHERMAP: 147 return "Other Map"; 148 case NULL: 149 return null; 150 default: 151 return "?"; 152 } 153 } 154 } 155 156 public static class ConceptMapGroupUnmappedModeEnumFactory implements EnumFactory<ConceptMapGroupUnmappedMode> { 157 public ConceptMapGroupUnmappedMode fromCode(String codeString) throws IllegalArgumentException { 158 if (codeString == null || "".equals(codeString)) 159 if (codeString == null || "".equals(codeString)) 160 return null; 161 if ("provided".equals(codeString)) 162 return ConceptMapGroupUnmappedMode.PROVIDED; 163 if ("fixed".equals(codeString)) 164 return ConceptMapGroupUnmappedMode.FIXED; 165 if ("other-map".equals(codeString)) 166 return ConceptMapGroupUnmappedMode.OTHERMAP; 167 throw new IllegalArgumentException("Unknown ConceptMapGroupUnmappedMode code '" + codeString + "'"); 168 } 169 170 public Enumeration<ConceptMapGroupUnmappedMode> fromType(PrimitiveType<?> code) throws FHIRException { 171 if (code == null) 172 return null; 173 if (code.isEmpty()) 174 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.NULL, code); 175 String codeString = code.asStringValue(); 176 if (codeString == null || "".equals(codeString)) 177 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.NULL, code); 178 if ("provided".equals(codeString)) 179 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.PROVIDED, code); 180 if ("fixed".equals(codeString)) 181 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.FIXED, code); 182 if ("other-map".equals(codeString)) 183 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.OTHERMAP, code); 184 throw new FHIRException("Unknown ConceptMapGroupUnmappedMode code '" + codeString + "'"); 185 } 186 187 public String toCode(ConceptMapGroupUnmappedMode code) { 188 if (code == ConceptMapGroupUnmappedMode.PROVIDED) 189 return "provided"; 190 if (code == ConceptMapGroupUnmappedMode.FIXED) 191 return "fixed"; 192 if (code == ConceptMapGroupUnmappedMode.OTHERMAP) 193 return "other-map"; 194 return "?"; 195 } 196 197 public String toSystem(ConceptMapGroupUnmappedMode code) { 198 return code.getSystem(); 199 } 200 } 201 202 @Block() 203 public static class ConceptMapGroupComponent extends BackboneElement implements IBaseBackboneElement { 204 /** 205 * An absolute URI that identifies the source system where the concepts to be 206 * mapped are defined. 207 */ 208 @Child(name = "source", type = { UriType.class }, order = 1, min = 0, max = 1, modifier = false, summary = false) 209 @Description(shortDefinition = "Source system where concepts to be mapped are defined", formalDefinition = "An absolute URI that identifies the source system where the concepts to be mapped are defined.") 210 protected UriType source; 211 212 /** 213 * The specific version of the code system, as determined by the code system 214 * authority. 215 */ 216 @Child(name = "sourceVersion", type = { 217 StringType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 218 @Description(shortDefinition = "Specific version of the code system", formalDefinition = "The specific version of the code system, as determined by the code system authority.") 219 protected StringType sourceVersion; 220 221 /** 222 * An absolute URI that identifies the target system that the concepts will be 223 * mapped to. 224 */ 225 @Child(name = "target", type = { UriType.class }, order = 3, min = 0, max = 1, modifier = false, summary = false) 226 @Description(shortDefinition = "Target system that the concepts are to be mapped to", formalDefinition = "An absolute URI that identifies the target system that the concepts will be mapped to.") 227 protected UriType target; 228 229 /** 230 * The specific version of the code system, as determined by the code system 231 * authority. 232 */ 233 @Child(name = "targetVersion", type = { 234 StringType.class }, order = 4, min = 0, max = 1, modifier = false, summary = false) 235 @Description(shortDefinition = "Specific version of the code system", formalDefinition = "The specific version of the code system, as determined by the code system authority.") 236 protected StringType targetVersion; 237 238 /** 239 * Mappings for an individual concept in the source to one or more concepts in 240 * the target. 241 */ 242 @Child(name = "element", type = {}, order = 5, min = 1, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 243 @Description(shortDefinition = "Mappings for a concept from the source set", formalDefinition = "Mappings for an individual concept in the source to one or more concepts in the target.") 244 protected List<SourceElementComponent> element; 245 246 /** 247 * What to do when there is no mapping for the source concept. "Unmapped" does 248 * not include codes that are unmatched, and the unmapped element is ignored in 249 * a code is specified to have equivalence = unmatched. 250 */ 251 @Child(name = "unmapped", type = {}, order = 6, min = 0, max = 1, modifier = false, summary = false) 252 @Description(shortDefinition = "What to do when there is no mapping for the source concept", formalDefinition = "What to do when there is no mapping for the source concept. \"Unmapped\" does not include codes that are unmatched, and the unmapped element is ignored in a code is specified to have equivalence = unmatched.") 253 protected ConceptMapGroupUnmappedComponent unmapped; 254 255 private static final long serialVersionUID = 1606357508L; 256 257 /** 258 * Constructor 259 */ 260 public ConceptMapGroupComponent() { 261 super(); 262 } 263 264 /** 265 * @return {@link #source} (An absolute URI that identifies the source system 266 * where the concepts to be mapped are defined.). This is the underlying 267 * object with id, value and extensions. The accessor "getSource" gives 268 * direct access to the value 269 */ 270 public UriType getSourceElement() { 271 if (this.source == null) 272 if (Configuration.errorOnAutoCreate()) 273 throw new Error("Attempt to auto-create ConceptMapGroupComponent.source"); 274 else if (Configuration.doAutoCreate()) 275 this.source = new UriType(); // bb 276 return this.source; 277 } 278 279 public boolean hasSourceElement() { 280 return this.source != null && !this.source.isEmpty(); 281 } 282 283 public boolean hasSource() { 284 return this.source != null && !this.source.isEmpty(); 285 } 286 287 /** 288 * @param value {@link #source} (An absolute URI that identifies the source 289 * system where the concepts to be mapped are defined.). This is 290 * the underlying object with id, value and extensions. The 291 * accessor "getSource" gives direct access to the value 292 */ 293 public ConceptMapGroupComponent setSourceElement(UriType value) { 294 this.source = value; 295 return this; 296 } 297 298 /** 299 * @return An absolute URI that identifies the source system where the concepts 300 * to be mapped are defined. 301 */ 302 public String getSource() { 303 return this.source == null ? null : this.source.getValue(); 304 } 305 306 /** 307 * @param value An absolute URI that identifies the source system where the 308 * concepts to be mapped are defined. 309 */ 310 public ConceptMapGroupComponent setSource(String value) { 311 if (Utilities.noString(value)) 312 this.source = null; 313 else { 314 if (this.source == null) 315 this.source = new UriType(); 316 this.source.setValue(value); 317 } 318 return this; 319 } 320 321 /** 322 * @return {@link #sourceVersion} (The specific version of the code system, as 323 * determined by the code system authority.). This is the underlying 324 * object with id, value and extensions. The accessor "getSourceVersion" 325 * gives direct access to the value 326 */ 327 public StringType getSourceVersionElement() { 328 if (this.sourceVersion == null) 329 if (Configuration.errorOnAutoCreate()) 330 throw new Error("Attempt to auto-create ConceptMapGroupComponent.sourceVersion"); 331 else if (Configuration.doAutoCreate()) 332 this.sourceVersion = new StringType(); // bb 333 return this.sourceVersion; 334 } 335 336 public boolean hasSourceVersionElement() { 337 return this.sourceVersion != null && !this.sourceVersion.isEmpty(); 338 } 339 340 public boolean hasSourceVersion() { 341 return this.sourceVersion != null && !this.sourceVersion.isEmpty(); 342 } 343 344 /** 345 * @param value {@link #sourceVersion} (The specific version of the code system, 346 * as determined by the code system authority.). This is the 347 * underlying object with id, value and extensions. The accessor 348 * "getSourceVersion" gives direct access to the value 349 */ 350 public ConceptMapGroupComponent setSourceVersionElement(StringType value) { 351 this.sourceVersion = value; 352 return this; 353 } 354 355 /** 356 * @return The specific version of the code system, as determined by the code 357 * system authority. 358 */ 359 public String getSourceVersion() { 360 return this.sourceVersion == null ? null : this.sourceVersion.getValue(); 361 } 362 363 /** 364 * @param value The specific version of the code system, as determined by the 365 * code system authority. 366 */ 367 public ConceptMapGroupComponent setSourceVersion(String value) { 368 if (Utilities.noString(value)) 369 this.sourceVersion = null; 370 else { 371 if (this.sourceVersion == null) 372 this.sourceVersion = new StringType(); 373 this.sourceVersion.setValue(value); 374 } 375 return this; 376 } 377 378 /** 379 * @return {@link #target} (An absolute URI that identifies the target system 380 * that the concepts will be mapped to.). This is the underlying object 381 * with id, value and extensions. The accessor "getTarget" gives direct 382 * access to the value 383 */ 384 public UriType getTargetElement() { 385 if (this.target == null) 386 if (Configuration.errorOnAutoCreate()) 387 throw new Error("Attempt to auto-create ConceptMapGroupComponent.target"); 388 else if (Configuration.doAutoCreate()) 389 this.target = new UriType(); // bb 390 return this.target; 391 } 392 393 public boolean hasTargetElement() { 394 return this.target != null && !this.target.isEmpty(); 395 } 396 397 public boolean hasTarget() { 398 return this.target != null && !this.target.isEmpty(); 399 } 400 401 /** 402 * @param value {@link #target} (An absolute URI that identifies the target 403 * system that the concepts will be mapped to.). This is the 404 * underlying object with id, value and extensions. The accessor 405 * "getTarget" gives direct access to the value 406 */ 407 public ConceptMapGroupComponent setTargetElement(UriType value) { 408 this.target = value; 409 return this; 410 } 411 412 /** 413 * @return An absolute URI that identifies the target system that the concepts 414 * will be mapped to. 415 */ 416 public String getTarget() { 417 return this.target == null ? null : this.target.getValue(); 418 } 419 420 /** 421 * @param value An absolute URI that identifies the target system that the 422 * concepts will be mapped to. 423 */ 424 public ConceptMapGroupComponent setTarget(String value) { 425 if (Utilities.noString(value)) 426 this.target = null; 427 else { 428 if (this.target == null) 429 this.target = new UriType(); 430 this.target.setValue(value); 431 } 432 return this; 433 } 434 435 /** 436 * @return {@link #targetVersion} (The specific version of the code system, as 437 * determined by the code system authority.). This is the underlying 438 * object with id, value and extensions. The accessor "getTargetVersion" 439 * gives direct access to the value 440 */ 441 public StringType getTargetVersionElement() { 442 if (this.targetVersion == null) 443 if (Configuration.errorOnAutoCreate()) 444 throw new Error("Attempt to auto-create ConceptMapGroupComponent.targetVersion"); 445 else if (Configuration.doAutoCreate()) 446 this.targetVersion = new StringType(); // bb 447 return this.targetVersion; 448 } 449 450 public boolean hasTargetVersionElement() { 451 return this.targetVersion != null && !this.targetVersion.isEmpty(); 452 } 453 454 public boolean hasTargetVersion() { 455 return this.targetVersion != null && !this.targetVersion.isEmpty(); 456 } 457 458 /** 459 * @param value {@link #targetVersion} (The specific version of the code system, 460 * as determined by the code system authority.). This is the 461 * underlying object with id, value and extensions. The accessor 462 * "getTargetVersion" gives direct access to the value 463 */ 464 public ConceptMapGroupComponent setTargetVersionElement(StringType value) { 465 this.targetVersion = value; 466 return this; 467 } 468 469 /** 470 * @return The specific version of the code system, as determined by the code 471 * system authority. 472 */ 473 public String getTargetVersion() { 474 return this.targetVersion == null ? null : this.targetVersion.getValue(); 475 } 476 477 /** 478 * @param value The specific version of the code system, as determined by the 479 * code system authority. 480 */ 481 public ConceptMapGroupComponent setTargetVersion(String value) { 482 if (Utilities.noString(value)) 483 this.targetVersion = null; 484 else { 485 if (this.targetVersion == null) 486 this.targetVersion = new StringType(); 487 this.targetVersion.setValue(value); 488 } 489 return this; 490 } 491 492 /** 493 * @return {@link #element} (Mappings for an individual concept in the source to 494 * one or more concepts in the target.) 495 */ 496 public List<SourceElementComponent> getElement() { 497 if (this.element == null) 498 this.element = new ArrayList<SourceElementComponent>(); 499 return this.element; 500 } 501 502 /** 503 * @return Returns a reference to <code>this</code> for easy method chaining 504 */ 505 public ConceptMapGroupComponent setElement(List<SourceElementComponent> theElement) { 506 this.element = theElement; 507 return this; 508 } 509 510 public boolean hasElement() { 511 if (this.element == null) 512 return false; 513 for (SourceElementComponent item : this.element) 514 if (!item.isEmpty()) 515 return true; 516 return false; 517 } 518 519 public SourceElementComponent addElement() { // 3 520 SourceElementComponent t = new SourceElementComponent(); 521 if (this.element == null) 522 this.element = new ArrayList<SourceElementComponent>(); 523 this.element.add(t); 524 return t; 525 } 526 527 public ConceptMapGroupComponent addElement(SourceElementComponent t) { // 3 528 if (t == null) 529 return this; 530 if (this.element == null) 531 this.element = new ArrayList<SourceElementComponent>(); 532 this.element.add(t); 533 return this; 534 } 535 536 /** 537 * @return The first repetition of repeating field {@link #element}, creating it 538 * if it does not already exist 539 */ 540 public SourceElementComponent getElementFirstRep() { 541 if (getElement().isEmpty()) { 542 addElement(); 543 } 544 return getElement().get(0); 545 } 546 547 /** 548 * @return {@link #unmapped} (What to do when there is no mapping for the source 549 * concept. "Unmapped" does not include codes that are unmatched, and 550 * the unmapped element is ignored in a code is specified to have 551 * equivalence = unmatched.) 552 */ 553 public ConceptMapGroupUnmappedComponent getUnmapped() { 554 if (this.unmapped == null) 555 if (Configuration.errorOnAutoCreate()) 556 throw new Error("Attempt to auto-create ConceptMapGroupComponent.unmapped"); 557 else if (Configuration.doAutoCreate()) 558 this.unmapped = new ConceptMapGroupUnmappedComponent(); // cc 559 return this.unmapped; 560 } 561 562 public boolean hasUnmapped() { 563 return this.unmapped != null && !this.unmapped.isEmpty(); 564 } 565 566 /** 567 * @param value {@link #unmapped} (What to do when there is no mapping for the 568 * source concept. "Unmapped" does not include codes that are 569 * unmatched, and the unmapped element is ignored in a code is 570 * specified to have equivalence = unmatched.) 571 */ 572 public ConceptMapGroupComponent setUnmapped(ConceptMapGroupUnmappedComponent value) { 573 this.unmapped = value; 574 return this; 575 } 576 577 protected void listChildren(List<Property> children) { 578 super.listChildren(children); 579 children.add(new Property("source", "uri", 580 "An absolute URI that identifies the source system where the concepts to be mapped are defined.", 0, 1, 581 source)); 582 children.add(new Property("sourceVersion", "string", 583 "The specific version of the code system, as determined by the code system authority.", 0, 1, sourceVersion)); 584 children.add(new Property("target", "uri", 585 "An absolute URI that identifies the target system that the concepts will be mapped to.", 0, 1, target)); 586 children.add(new Property("targetVersion", "string", 587 "The specific version of the code system, as determined by the code system authority.", 0, 1, targetVersion)); 588 children.add(new Property("element", "", 589 "Mappings for an individual concept in the source to one or more concepts in the target.", 0, 590 java.lang.Integer.MAX_VALUE, element)); 591 children.add(new Property("unmapped", "", 592 "What to do when there is no mapping for the source concept. \"Unmapped\" does not include codes that are unmatched, and the unmapped element is ignored in a code is specified to have equivalence = unmatched.", 593 0, 1, unmapped)); 594 } 595 596 @Override 597 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 598 switch (_hash) { 599 case -896505829: 600 /* source */ return new Property("source", "uri", 601 "An absolute URI that identifies the source system where the concepts to be mapped are defined.", 0, 1, 602 source); 603 case 446171197: 604 /* sourceVersion */ return new Property("sourceVersion", "string", 605 "The specific version of the code system, as determined by the code system authority.", 0, 1, 606 sourceVersion); 607 case -880905839: 608 /* target */ return new Property("target", "uri", 609 "An absolute URI that identifies the target system that the concepts will be mapped to.", 0, 1, target); 610 case -1639412217: 611 /* targetVersion */ return new Property("targetVersion", "string", 612 "The specific version of the code system, as determined by the code system authority.", 0, 1, 613 targetVersion); 614 case -1662836996: 615 /* element */ return new Property("element", "", 616 "Mappings for an individual concept in the source to one or more concepts in the target.", 0, 617 java.lang.Integer.MAX_VALUE, element); 618 case -194857460: 619 /* unmapped */ return new Property("unmapped", "", 620 "What to do when there is no mapping for the source concept. \"Unmapped\" does not include codes that are unmatched, and the unmapped element is ignored in a code is specified to have equivalence = unmatched.", 621 0, 1, unmapped); 622 default: 623 return super.getNamedProperty(_hash, _name, _checkValid); 624 } 625 626 } 627 628 @Override 629 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 630 switch (hash) { 631 case -896505829: 632 /* source */ return this.source == null ? new Base[0] : new Base[] { this.source }; // UriType 633 case 446171197: 634 /* sourceVersion */ return this.sourceVersion == null ? new Base[0] : new Base[] { this.sourceVersion }; // StringType 635 case -880905839: 636 /* target */ return this.target == null ? new Base[0] : new Base[] { this.target }; // UriType 637 case -1639412217: 638 /* targetVersion */ return this.targetVersion == null ? new Base[0] : new Base[] { this.targetVersion }; // StringType 639 case -1662836996: 640 /* element */ return this.element == null ? new Base[0] : this.element.toArray(new Base[this.element.size()]); // SourceElementComponent 641 case -194857460: 642 /* unmapped */ return this.unmapped == null ? new Base[0] : new Base[] { this.unmapped }; // ConceptMapGroupUnmappedComponent 643 default: 644 return super.getProperty(hash, name, checkValid); 645 } 646 647 } 648 649 @Override 650 public Base setProperty(int hash, String name, Base value) throws FHIRException { 651 switch (hash) { 652 case -896505829: // source 653 this.source = castToUri(value); // UriType 654 return value; 655 case 446171197: // sourceVersion 656 this.sourceVersion = castToString(value); // StringType 657 return value; 658 case -880905839: // target 659 this.target = castToUri(value); // UriType 660 return value; 661 case -1639412217: // targetVersion 662 this.targetVersion = castToString(value); // StringType 663 return value; 664 case -1662836996: // element 665 this.getElement().add((SourceElementComponent) value); // SourceElementComponent 666 return value; 667 case -194857460: // unmapped 668 this.unmapped = (ConceptMapGroupUnmappedComponent) value; // ConceptMapGroupUnmappedComponent 669 return value; 670 default: 671 return super.setProperty(hash, name, value); 672 } 673 674 } 675 676 @Override 677 public Base setProperty(String name, Base value) throws FHIRException { 678 if (name.equals("source")) { 679 this.source = castToUri(value); // UriType 680 } else if (name.equals("sourceVersion")) { 681 this.sourceVersion = castToString(value); // StringType 682 } else if (name.equals("target")) { 683 this.target = castToUri(value); // UriType 684 } else if (name.equals("targetVersion")) { 685 this.targetVersion = castToString(value); // StringType 686 } else if (name.equals("element")) { 687 this.getElement().add((SourceElementComponent) value); 688 } else if (name.equals("unmapped")) { 689 this.unmapped = (ConceptMapGroupUnmappedComponent) value; // ConceptMapGroupUnmappedComponent 690 } else 691 return super.setProperty(name, value); 692 return value; 693 } 694 695 @Override 696 public void removeChild(String name, Base value) throws FHIRException { 697 if (name.equals("source")) { 698 this.source = null; 699 } else if (name.equals("sourceVersion")) { 700 this.sourceVersion = null; 701 } else if (name.equals("target")) { 702 this.target = null; 703 } else if (name.equals("targetVersion")) { 704 this.targetVersion = null; 705 } else if (name.equals("element")) { 706 this.getElement().remove((SourceElementComponent) value); 707 } else if (name.equals("unmapped")) { 708 this.unmapped = (ConceptMapGroupUnmappedComponent) value; // ConceptMapGroupUnmappedComponent 709 } else 710 super.removeChild(name, value); 711 712 } 713 714 @Override 715 public Base makeProperty(int hash, String name) throws FHIRException { 716 switch (hash) { 717 case -896505829: 718 return getSourceElement(); 719 case 446171197: 720 return getSourceVersionElement(); 721 case -880905839: 722 return getTargetElement(); 723 case -1639412217: 724 return getTargetVersionElement(); 725 case -1662836996: 726 return addElement(); 727 case -194857460: 728 return getUnmapped(); 729 default: 730 return super.makeProperty(hash, name); 731 } 732 733 } 734 735 @Override 736 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 737 switch (hash) { 738 case -896505829: 739 /* source */ return new String[] { "uri" }; 740 case 446171197: 741 /* sourceVersion */ return new String[] { "string" }; 742 case -880905839: 743 /* target */ return new String[] { "uri" }; 744 case -1639412217: 745 /* targetVersion */ return new String[] { "string" }; 746 case -1662836996: 747 /* element */ return new String[] {}; 748 case -194857460: 749 /* unmapped */ return new String[] {}; 750 default: 751 return super.getTypesForProperty(hash, name); 752 } 753 754 } 755 756 @Override 757 public Base addChild(String name) throws FHIRException { 758 if (name.equals("source")) { 759 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.source"); 760 } else if (name.equals("sourceVersion")) { 761 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.sourceVersion"); 762 } else if (name.equals("target")) { 763 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.target"); 764 } else if (name.equals("targetVersion")) { 765 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.targetVersion"); 766 } else if (name.equals("element")) { 767 return addElement(); 768 } else if (name.equals("unmapped")) { 769 this.unmapped = new ConceptMapGroupUnmappedComponent(); 770 return this.unmapped; 771 } else 772 return super.addChild(name); 773 } 774 775 public ConceptMapGroupComponent copy() { 776 ConceptMapGroupComponent dst = new ConceptMapGroupComponent(); 777 copyValues(dst); 778 return dst; 779 } 780 781 public void copyValues(ConceptMapGroupComponent dst) { 782 super.copyValues(dst); 783 dst.source = source == null ? null : source.copy(); 784 dst.sourceVersion = sourceVersion == null ? null : sourceVersion.copy(); 785 dst.target = target == null ? null : target.copy(); 786 dst.targetVersion = targetVersion == null ? null : targetVersion.copy(); 787 if (element != null) { 788 dst.element = new ArrayList<SourceElementComponent>(); 789 for (SourceElementComponent i : element) 790 dst.element.add(i.copy()); 791 } 792 ; 793 dst.unmapped = unmapped == null ? null : unmapped.copy(); 794 } 795 796 @Override 797 public boolean equalsDeep(Base other_) { 798 if (!super.equalsDeep(other_)) 799 return false; 800 if (!(other_ instanceof ConceptMapGroupComponent)) 801 return false; 802 ConceptMapGroupComponent o = (ConceptMapGroupComponent) other_; 803 return compareDeep(source, o.source, true) && compareDeep(sourceVersion, o.sourceVersion, true) 804 && compareDeep(target, o.target, true) && compareDeep(targetVersion, o.targetVersion, true) 805 && compareDeep(element, o.element, true) && compareDeep(unmapped, o.unmapped, true); 806 } 807 808 @Override 809 public boolean equalsShallow(Base other_) { 810 if (!super.equalsShallow(other_)) 811 return false; 812 if (!(other_ instanceof ConceptMapGroupComponent)) 813 return false; 814 ConceptMapGroupComponent o = (ConceptMapGroupComponent) other_; 815 return compareValues(source, o.source, true) && compareValues(sourceVersion, o.sourceVersion, true) 816 && compareValues(target, o.target, true) && compareValues(targetVersion, o.targetVersion, true); 817 } 818 819 public boolean isEmpty() { 820 return super.isEmpty() 821 && ca.uhn.fhir.util.ElementUtil.isEmpty(source, sourceVersion, target, targetVersion, element, unmapped); 822 } 823 824 public String fhirType() { 825 return "ConceptMap.group"; 826 827 } 828 829 } 830 831 @Block() 832 public static class SourceElementComponent extends BackboneElement implements IBaseBackboneElement { 833 /** 834 * Identity (code or path) or the element/item being mapped. 835 */ 836 @Child(name = "code", type = { CodeType.class }, order = 1, min = 0, max = 1, modifier = false, summary = false) 837 @Description(shortDefinition = "Identifies element being mapped", formalDefinition = "Identity (code or path) or the element/item being mapped.") 838 protected CodeType code; 839 840 /** 841 * The display for the code. The display is only provided to help editors when 842 * editing the concept map. 843 */ 844 @Child(name = "display", type = { 845 StringType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 846 @Description(shortDefinition = "Display for the code", formalDefinition = "The display for the code. The display is only provided to help editors when editing the concept map.") 847 protected StringType display; 848 849 /** 850 * A concept from the target value set that this concept maps to. 851 */ 852 @Child(name = "target", type = {}, order = 3, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 853 @Description(shortDefinition = "Concept in target system for element", formalDefinition = "A concept from the target value set that this concept maps to.") 854 protected List<TargetElementComponent> target; 855 856 private static final long serialVersionUID = -1115258852L; 857 858 /** 859 * Constructor 860 */ 861 public SourceElementComponent() { 862 super(); 863 } 864 865 /** 866 * @return {@link #code} (Identity (code or path) or the element/item being 867 * mapped.). This is the underlying object with id, value and 868 * extensions. The accessor "getCode" gives direct access to the value 869 */ 870 public CodeType getCodeElement() { 871 if (this.code == null) 872 if (Configuration.errorOnAutoCreate()) 873 throw new Error("Attempt to auto-create SourceElementComponent.code"); 874 else if (Configuration.doAutoCreate()) 875 this.code = new CodeType(); // bb 876 return this.code; 877 } 878 879 public boolean hasCodeElement() { 880 return this.code != null && !this.code.isEmpty(); 881 } 882 883 public boolean hasCode() { 884 return this.code != null && !this.code.isEmpty(); 885 } 886 887 /** 888 * @param value {@link #code} (Identity (code or path) or the element/item being 889 * mapped.). This is the underlying object with id, value and 890 * extensions. The accessor "getCode" gives direct access to the 891 * value 892 */ 893 public SourceElementComponent setCodeElement(CodeType value) { 894 this.code = value; 895 return this; 896 } 897 898 /** 899 * @return Identity (code or path) or the element/item being mapped. 900 */ 901 public String getCode() { 902 return this.code == null ? null : this.code.getValue(); 903 } 904 905 /** 906 * @param value Identity (code or path) or the element/item being mapped. 907 */ 908 public SourceElementComponent setCode(String value) { 909 if (Utilities.noString(value)) 910 this.code = null; 911 else { 912 if (this.code == null) 913 this.code = new CodeType(); 914 this.code.setValue(value); 915 } 916 return this; 917 } 918 919 /** 920 * @return {@link #display} (The display for the code. The display is only 921 * provided to help editors when editing the concept map.). This is the 922 * underlying object with id, value and extensions. The accessor 923 * "getDisplay" gives direct access to the value 924 */ 925 public StringType getDisplayElement() { 926 if (this.display == null) 927 if (Configuration.errorOnAutoCreate()) 928 throw new Error("Attempt to auto-create SourceElementComponent.display"); 929 else if (Configuration.doAutoCreate()) 930 this.display = new StringType(); // bb 931 return this.display; 932 } 933 934 public boolean hasDisplayElement() { 935 return this.display != null && !this.display.isEmpty(); 936 } 937 938 public boolean hasDisplay() { 939 return this.display != null && !this.display.isEmpty(); 940 } 941 942 /** 943 * @param value {@link #display} (The display for the code. The display is only 944 * provided to help editors when editing the concept map.). This is 945 * the underlying object with id, value and extensions. The 946 * accessor "getDisplay" gives direct access to the value 947 */ 948 public SourceElementComponent setDisplayElement(StringType value) { 949 this.display = value; 950 return this; 951 } 952 953 /** 954 * @return The display for the code. The display is only provided to help 955 * editors when editing the concept map. 956 */ 957 public String getDisplay() { 958 return this.display == null ? null : this.display.getValue(); 959 } 960 961 /** 962 * @param value The display for the code. The display is only provided to help 963 * editors when editing the concept map. 964 */ 965 public SourceElementComponent setDisplay(String value) { 966 if (Utilities.noString(value)) 967 this.display = null; 968 else { 969 if (this.display == null) 970 this.display = new StringType(); 971 this.display.setValue(value); 972 } 973 return this; 974 } 975 976 /** 977 * @return {@link #target} (A concept from the target value set that this 978 * concept maps to.) 979 */ 980 public List<TargetElementComponent> getTarget() { 981 if (this.target == null) 982 this.target = new ArrayList<TargetElementComponent>(); 983 return this.target; 984 } 985 986 /** 987 * @return Returns a reference to <code>this</code> for easy method chaining 988 */ 989 public SourceElementComponent setTarget(List<TargetElementComponent> theTarget) { 990 this.target = theTarget; 991 return this; 992 } 993 994 public boolean hasTarget() { 995 if (this.target == null) 996 return false; 997 for (TargetElementComponent item : this.target) 998 if (!item.isEmpty()) 999 return true; 1000 return false; 1001 } 1002 1003 public TargetElementComponent addTarget() { // 3 1004 TargetElementComponent t = new TargetElementComponent(); 1005 if (this.target == null) 1006 this.target = new ArrayList<TargetElementComponent>(); 1007 this.target.add(t); 1008 return t; 1009 } 1010 1011 public SourceElementComponent addTarget(TargetElementComponent t) { // 3 1012 if (t == null) 1013 return this; 1014 if (this.target == null) 1015 this.target = new ArrayList<TargetElementComponent>(); 1016 this.target.add(t); 1017 return this; 1018 } 1019 1020 /** 1021 * @return The first repetition of repeating field {@link #target}, creating it 1022 * if it does not already exist 1023 */ 1024 public TargetElementComponent getTargetFirstRep() { 1025 if (getTarget().isEmpty()) { 1026 addTarget(); 1027 } 1028 return getTarget().get(0); 1029 } 1030 1031 protected void listChildren(List<Property> children) { 1032 super.listChildren(children); 1033 children 1034 .add(new Property("code", "code", "Identity (code or path) or the element/item being mapped.", 0, 1, code)); 1035 children.add(new Property("display", "string", 1036 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, 1037 display)); 1038 children.add(new Property("target", "", "A concept from the target value set that this concept maps to.", 0, 1039 java.lang.Integer.MAX_VALUE, target)); 1040 } 1041 1042 @Override 1043 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1044 switch (_hash) { 1045 case 3059181: 1046 /* code */ return new Property("code", "code", "Identity (code or path) or the element/item being mapped.", 0, 1047 1, code); 1048 case 1671764162: 1049 /* display */ return new Property("display", "string", 1050 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1051 1, display); 1052 case -880905839: 1053 /* target */ return new Property("target", "", "A concept from the target value set that this concept maps to.", 1054 0, java.lang.Integer.MAX_VALUE, target); 1055 default: 1056 return super.getNamedProperty(_hash, _name, _checkValid); 1057 } 1058 1059 } 1060 1061 @Override 1062 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1063 switch (hash) { 1064 case 3059181: 1065 /* code */ return this.code == null ? new Base[0] : new Base[] { this.code }; // CodeType 1066 case 1671764162: 1067 /* display */ return this.display == null ? new Base[0] : new Base[] { this.display }; // StringType 1068 case -880905839: 1069 /* target */ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // TargetElementComponent 1070 default: 1071 return super.getProperty(hash, name, checkValid); 1072 } 1073 1074 } 1075 1076 @Override 1077 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1078 switch (hash) { 1079 case 3059181: // code 1080 this.code = castToCode(value); // CodeType 1081 return value; 1082 case 1671764162: // display 1083 this.display = castToString(value); // StringType 1084 return value; 1085 case -880905839: // target 1086 this.getTarget().add((TargetElementComponent) value); // TargetElementComponent 1087 return value; 1088 default: 1089 return super.setProperty(hash, name, value); 1090 } 1091 1092 } 1093 1094 @Override 1095 public Base setProperty(String name, Base value) throws FHIRException { 1096 if (name.equals("code")) { 1097 this.code = castToCode(value); // CodeType 1098 } else if (name.equals("display")) { 1099 this.display = castToString(value); // StringType 1100 } else if (name.equals("target")) { 1101 this.getTarget().add((TargetElementComponent) value); 1102 } else 1103 return super.setProperty(name, value); 1104 return value; 1105 } 1106 1107 @Override 1108 public void removeChild(String name, Base value) throws FHIRException { 1109 if (name.equals("code")) { 1110 this.code = null; 1111 } else if (name.equals("display")) { 1112 this.display = null; 1113 } else if (name.equals("target")) { 1114 this.getTarget().remove((TargetElementComponent) value); 1115 } else 1116 super.removeChild(name, value); 1117 1118 } 1119 1120 @Override 1121 public Base makeProperty(int hash, String name) throws FHIRException { 1122 switch (hash) { 1123 case 3059181: 1124 return getCodeElement(); 1125 case 1671764162: 1126 return getDisplayElement(); 1127 case -880905839: 1128 return addTarget(); 1129 default: 1130 return super.makeProperty(hash, name); 1131 } 1132 1133 } 1134 1135 @Override 1136 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1137 switch (hash) { 1138 case 3059181: 1139 /* code */ return new String[] { "code" }; 1140 case 1671764162: 1141 /* display */ return new String[] { "string" }; 1142 case -880905839: 1143 /* target */ return new String[] {}; 1144 default: 1145 return super.getTypesForProperty(hash, name); 1146 } 1147 1148 } 1149 1150 @Override 1151 public Base addChild(String name) throws FHIRException { 1152 if (name.equals("code")) { 1153 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.code"); 1154 } else if (name.equals("display")) { 1155 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.display"); 1156 } else if (name.equals("target")) { 1157 return addTarget(); 1158 } else 1159 return super.addChild(name); 1160 } 1161 1162 public SourceElementComponent copy() { 1163 SourceElementComponent dst = new SourceElementComponent(); 1164 copyValues(dst); 1165 return dst; 1166 } 1167 1168 public void copyValues(SourceElementComponent dst) { 1169 super.copyValues(dst); 1170 dst.code = code == null ? null : code.copy(); 1171 dst.display = display == null ? null : display.copy(); 1172 if (target != null) { 1173 dst.target = new ArrayList<TargetElementComponent>(); 1174 for (TargetElementComponent i : target) 1175 dst.target.add(i.copy()); 1176 } 1177 ; 1178 } 1179 1180 @Override 1181 public boolean equalsDeep(Base other_) { 1182 if (!super.equalsDeep(other_)) 1183 return false; 1184 if (!(other_ instanceof SourceElementComponent)) 1185 return false; 1186 SourceElementComponent o = (SourceElementComponent) other_; 1187 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 1188 && compareDeep(target, o.target, true); 1189 } 1190 1191 @Override 1192 public boolean equalsShallow(Base other_) { 1193 if (!super.equalsShallow(other_)) 1194 return false; 1195 if (!(other_ instanceof SourceElementComponent)) 1196 return false; 1197 SourceElementComponent o = (SourceElementComponent) other_; 1198 return compareValues(code, o.code, true) && compareValues(display, o.display, true); 1199 } 1200 1201 public boolean isEmpty() { 1202 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, target); 1203 } 1204 1205 public String fhirType() { 1206 return "ConceptMap.group.element"; 1207 1208 } 1209 1210 } 1211 1212 @Block() 1213 public static class TargetElementComponent extends BackboneElement implements IBaseBackboneElement { 1214 /** 1215 * Identity (code or path) or the element/item that the map refers to. 1216 */ 1217 @Child(name = "code", type = { CodeType.class }, order = 1, min = 0, max = 1, modifier = false, summary = false) 1218 @Description(shortDefinition = "Code that identifies the target element", formalDefinition = "Identity (code or path) or the element/item that the map refers to.") 1219 protected CodeType code; 1220 1221 /** 1222 * The display for the code. The display is only provided to help editors when 1223 * editing the concept map. 1224 */ 1225 @Child(name = "display", type = { 1226 StringType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 1227 @Description(shortDefinition = "Display for the code", formalDefinition = "The display for the code. The display is only provided to help editors when editing the concept map.") 1228 protected StringType display; 1229 1230 /** 1231 * The equivalence between the source and target concepts (counting for the 1232 * dependencies and products). The equivalence is read from target to source 1233 * (e.g. the target is 'wider' than the source). 1234 */ 1235 @Child(name = "equivalence", type = { 1236 CodeType.class }, order = 3, min = 1, max = 1, modifier = true, summary = false) 1237 @Description(shortDefinition = "relatedto | equivalent | equal | wider | subsumes | narrower | specializes | inexact | unmatched | disjoint", formalDefinition = "The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).") 1238 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/concept-map-equivalence") 1239 protected Enumeration<ConceptMapEquivalence> equivalence; 1240 1241 /** 1242 * A description of status/issues in mapping that conveys additional information 1243 * not represented in the structured data. 1244 */ 1245 @Child(name = "comment", type = { 1246 StringType.class }, order = 4, min = 0, max = 1, modifier = false, summary = false) 1247 @Description(shortDefinition = "Description of status/issues in mapping", formalDefinition = "A description of status/issues in mapping that conveys additional information not represented in the structured data.") 1248 protected StringType comment; 1249 1250 /** 1251 * A set of additional dependencies for this mapping to hold. This mapping is 1252 * only applicable if the specified element can be resolved, and it has the 1253 * specified value. 1254 */ 1255 @Child(name = "dependsOn", type = {}, order = 5, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 1256 @Description(shortDefinition = "Other elements required for this mapping (from context)", formalDefinition = "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.") 1257 protected List<OtherElementComponent> dependsOn; 1258 1259 /** 1260 * A set of additional outcomes from this mapping to other elements. To properly 1261 * execute this mapping, the specified element must be mapped to some data 1262 * element or source that is in context. The mapping may still be useful without 1263 * a place for the additional data elements, but the equivalence cannot be 1264 * relied on. 1265 */ 1266 @Child(name = "product", type = { 1267 OtherElementComponent.class }, order = 6, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 1268 @Description(shortDefinition = "Other concepts that this mapping also produces", formalDefinition = "A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.") 1269 protected List<OtherElementComponent> product; 1270 1271 private static final long serialVersionUID = -2008997477L; 1272 1273 /** 1274 * Constructor 1275 */ 1276 public TargetElementComponent() { 1277 super(); 1278 } 1279 1280 /** 1281 * Constructor 1282 */ 1283 public TargetElementComponent(Enumeration<ConceptMapEquivalence> equivalence) { 1284 super(); 1285 this.equivalence = equivalence; 1286 } 1287 1288 /** 1289 * @return {@link #code} (Identity (code or path) or the element/item that the 1290 * map refers to.). This is the underlying object with id, value and 1291 * extensions. The accessor "getCode" gives direct access to the value 1292 */ 1293 public CodeType getCodeElement() { 1294 if (this.code == null) 1295 if (Configuration.errorOnAutoCreate()) 1296 throw new Error("Attempt to auto-create TargetElementComponent.code"); 1297 else if (Configuration.doAutoCreate()) 1298 this.code = new CodeType(); // bb 1299 return this.code; 1300 } 1301 1302 public boolean hasCodeElement() { 1303 return this.code != null && !this.code.isEmpty(); 1304 } 1305 1306 public boolean hasCode() { 1307 return this.code != null && !this.code.isEmpty(); 1308 } 1309 1310 /** 1311 * @param value {@link #code} (Identity (code or path) or the element/item that 1312 * the map refers to.). This is the underlying object with id, 1313 * value and extensions. The accessor "getCode" gives direct access 1314 * to the value 1315 */ 1316 public TargetElementComponent setCodeElement(CodeType value) { 1317 this.code = value; 1318 return this; 1319 } 1320 1321 /** 1322 * @return Identity (code or path) or the element/item that the map refers to. 1323 */ 1324 public String getCode() { 1325 return this.code == null ? null : this.code.getValue(); 1326 } 1327 1328 /** 1329 * @param value Identity (code or path) or the element/item that the map refers 1330 * to. 1331 */ 1332 public TargetElementComponent setCode(String value) { 1333 if (Utilities.noString(value)) 1334 this.code = null; 1335 else { 1336 if (this.code == null) 1337 this.code = new CodeType(); 1338 this.code.setValue(value); 1339 } 1340 return this; 1341 } 1342 1343 /** 1344 * @return {@link #display} (The display for the code. The display is only 1345 * provided to help editors when editing the concept map.). This is the 1346 * underlying object with id, value and extensions. The accessor 1347 * "getDisplay" gives direct access to the value 1348 */ 1349 public StringType getDisplayElement() { 1350 if (this.display == null) 1351 if (Configuration.errorOnAutoCreate()) 1352 throw new Error("Attempt to auto-create TargetElementComponent.display"); 1353 else if (Configuration.doAutoCreate()) 1354 this.display = new StringType(); // bb 1355 return this.display; 1356 } 1357 1358 public boolean hasDisplayElement() { 1359 return this.display != null && !this.display.isEmpty(); 1360 } 1361 1362 public boolean hasDisplay() { 1363 return this.display != null && !this.display.isEmpty(); 1364 } 1365 1366 /** 1367 * @param value {@link #display} (The display for the code. The display is only 1368 * provided to help editors when editing the concept map.). This is 1369 * the underlying object with id, value and extensions. The 1370 * accessor "getDisplay" gives direct access to the value 1371 */ 1372 public TargetElementComponent setDisplayElement(StringType value) { 1373 this.display = value; 1374 return this; 1375 } 1376 1377 /** 1378 * @return The display for the code. The display is only provided to help 1379 * editors when editing the concept map. 1380 */ 1381 public String getDisplay() { 1382 return this.display == null ? null : this.display.getValue(); 1383 } 1384 1385 /** 1386 * @param value The display for the code. The display is only provided to help 1387 * editors when editing the concept map. 1388 */ 1389 public TargetElementComponent setDisplay(String value) { 1390 if (Utilities.noString(value)) 1391 this.display = null; 1392 else { 1393 if (this.display == null) 1394 this.display = new StringType(); 1395 this.display.setValue(value); 1396 } 1397 return this; 1398 } 1399 1400 /** 1401 * @return {@link #equivalence} (The equivalence between the source and target 1402 * concepts (counting for the dependencies and products). The 1403 * equivalence is read from target to source (e.g. the target is 'wider' 1404 * than the source).). This is the underlying object with id, value and 1405 * extensions. The accessor "getEquivalence" gives direct access to the 1406 * value 1407 */ 1408 public Enumeration<ConceptMapEquivalence> getEquivalenceElement() { 1409 if (this.equivalence == null) 1410 if (Configuration.errorOnAutoCreate()) 1411 throw new Error("Attempt to auto-create TargetElementComponent.equivalence"); 1412 else if (Configuration.doAutoCreate()) 1413 this.equivalence = new Enumeration<ConceptMapEquivalence>(new ConceptMapEquivalenceEnumFactory()); // bb 1414 return this.equivalence; 1415 } 1416 1417 public boolean hasEquivalenceElement() { 1418 return this.equivalence != null && !this.equivalence.isEmpty(); 1419 } 1420 1421 public boolean hasEquivalence() { 1422 return this.equivalence != null && !this.equivalence.isEmpty(); 1423 } 1424 1425 /** 1426 * @param value {@link #equivalence} (The equivalence between the source and 1427 * target concepts (counting for the dependencies and products). 1428 * The equivalence is read from target to source (e.g. the target 1429 * is 'wider' than the source).). This is the underlying object 1430 * with id, value and extensions. The accessor "getEquivalence" 1431 * gives direct access to the value 1432 */ 1433 public TargetElementComponent setEquivalenceElement(Enumeration<ConceptMapEquivalence> value) { 1434 this.equivalence = value; 1435 return this; 1436 } 1437 1438 /** 1439 * @return The equivalence between the source and target concepts (counting for 1440 * the dependencies and products). The equivalence is read from target 1441 * to source (e.g. the target is 'wider' than the source). 1442 */ 1443 public ConceptMapEquivalence getEquivalence() { 1444 return this.equivalence == null ? null : this.equivalence.getValue(); 1445 } 1446 1447 /** 1448 * @param value The equivalence between the source and target concepts (counting 1449 * for the dependencies and products). The equivalence is read from 1450 * target to source (e.g. the target is 'wider' than the source). 1451 */ 1452 public TargetElementComponent setEquivalence(ConceptMapEquivalence value) { 1453 if (this.equivalence == null) 1454 this.equivalence = new Enumeration<ConceptMapEquivalence>(new ConceptMapEquivalenceEnumFactory()); 1455 this.equivalence.setValue(value); 1456 return this; 1457 } 1458 1459 /** 1460 * @return {@link #comment} (A description of status/issues in mapping that 1461 * conveys additional information not represented in the structured 1462 * data.). This is the underlying object with id, value and extensions. 1463 * The accessor "getComment" gives direct access to the value 1464 */ 1465 public StringType getCommentElement() { 1466 if (this.comment == null) 1467 if (Configuration.errorOnAutoCreate()) 1468 throw new Error("Attempt to auto-create TargetElementComponent.comment"); 1469 else if (Configuration.doAutoCreate()) 1470 this.comment = new StringType(); // bb 1471 return this.comment; 1472 } 1473 1474 public boolean hasCommentElement() { 1475 return this.comment != null && !this.comment.isEmpty(); 1476 } 1477 1478 public boolean hasComment() { 1479 return this.comment != null && !this.comment.isEmpty(); 1480 } 1481 1482 /** 1483 * @param value {@link #comment} (A description of status/issues in mapping that 1484 * conveys additional information not represented in the structured 1485 * data.). This is the underlying object with id, value and 1486 * extensions. The accessor "getComment" gives direct access to the 1487 * value 1488 */ 1489 public TargetElementComponent setCommentElement(StringType value) { 1490 this.comment = value; 1491 return this; 1492 } 1493 1494 /** 1495 * @return A description of status/issues in mapping that conveys additional 1496 * information not represented in the structured data. 1497 */ 1498 public String getComment() { 1499 return this.comment == null ? null : this.comment.getValue(); 1500 } 1501 1502 /** 1503 * @param value A description of status/issues in mapping that conveys 1504 * additional information not represented in the structured data. 1505 */ 1506 public TargetElementComponent setComment(String value) { 1507 if (Utilities.noString(value)) 1508 this.comment = null; 1509 else { 1510 if (this.comment == null) 1511 this.comment = new StringType(); 1512 this.comment.setValue(value); 1513 } 1514 return this; 1515 } 1516 1517 /** 1518 * @return {@link #dependsOn} (A set of additional dependencies for this mapping 1519 * to hold. This mapping is only applicable if the specified element can 1520 * be resolved, and it has the specified value.) 1521 */ 1522 public List<OtherElementComponent> getDependsOn() { 1523 if (this.dependsOn == null) 1524 this.dependsOn = new ArrayList<OtherElementComponent>(); 1525 return this.dependsOn; 1526 } 1527 1528 /** 1529 * @return Returns a reference to <code>this</code> for easy method chaining 1530 */ 1531 public TargetElementComponent setDependsOn(List<OtherElementComponent> theDependsOn) { 1532 this.dependsOn = theDependsOn; 1533 return this; 1534 } 1535 1536 public boolean hasDependsOn() { 1537 if (this.dependsOn == null) 1538 return false; 1539 for (OtherElementComponent item : this.dependsOn) 1540 if (!item.isEmpty()) 1541 return true; 1542 return false; 1543 } 1544 1545 public OtherElementComponent addDependsOn() { // 3 1546 OtherElementComponent t = new OtherElementComponent(); 1547 if (this.dependsOn == null) 1548 this.dependsOn = new ArrayList<OtherElementComponent>(); 1549 this.dependsOn.add(t); 1550 return t; 1551 } 1552 1553 public TargetElementComponent addDependsOn(OtherElementComponent t) { // 3 1554 if (t == null) 1555 return this; 1556 if (this.dependsOn == null) 1557 this.dependsOn = new ArrayList<OtherElementComponent>(); 1558 this.dependsOn.add(t); 1559 return this; 1560 } 1561 1562 /** 1563 * @return The first repetition of repeating field {@link #dependsOn}, creating 1564 * it if it does not already exist 1565 */ 1566 public OtherElementComponent getDependsOnFirstRep() { 1567 if (getDependsOn().isEmpty()) { 1568 addDependsOn(); 1569 } 1570 return getDependsOn().get(0); 1571 } 1572 1573 /** 1574 * @return {@link #product} (A set of additional outcomes from this mapping to 1575 * other elements. To properly execute this mapping, the specified 1576 * element must be mapped to some data element or source that is in 1577 * context. The mapping may still be useful without a place for the 1578 * additional data elements, but the equivalence cannot be relied on.) 1579 */ 1580 public List<OtherElementComponent> getProduct() { 1581 if (this.product == null) 1582 this.product = new ArrayList<OtherElementComponent>(); 1583 return this.product; 1584 } 1585 1586 /** 1587 * @return Returns a reference to <code>this</code> for easy method chaining 1588 */ 1589 public TargetElementComponent setProduct(List<OtherElementComponent> theProduct) { 1590 this.product = theProduct; 1591 return this; 1592 } 1593 1594 public boolean hasProduct() { 1595 if (this.product == null) 1596 return false; 1597 for (OtherElementComponent item : this.product) 1598 if (!item.isEmpty()) 1599 return true; 1600 return false; 1601 } 1602 1603 public OtherElementComponent addProduct() { // 3 1604 OtherElementComponent t = new OtherElementComponent(); 1605 if (this.product == null) 1606 this.product = new ArrayList<OtherElementComponent>(); 1607 this.product.add(t); 1608 return t; 1609 } 1610 1611 public TargetElementComponent addProduct(OtherElementComponent t) { // 3 1612 if (t == null) 1613 return this; 1614 if (this.product == null) 1615 this.product = new ArrayList<OtherElementComponent>(); 1616 this.product.add(t); 1617 return this; 1618 } 1619 1620 /** 1621 * @return The first repetition of repeating field {@link #product}, creating it 1622 * if it does not already exist 1623 */ 1624 public OtherElementComponent getProductFirstRep() { 1625 if (getProduct().isEmpty()) { 1626 addProduct(); 1627 } 1628 return getProduct().get(0); 1629 } 1630 1631 protected void listChildren(List<Property> children) { 1632 super.listChildren(children); 1633 children.add(new Property("code", "code", "Identity (code or path) or the element/item that the map refers to.", 1634 0, 1, code)); 1635 children.add(new Property("display", "string", 1636 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, 1637 display)); 1638 children.add(new Property("equivalence", "code", 1639 "The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).", 1640 0, 1, equivalence)); 1641 children.add(new Property("comment", "string", 1642 "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 1643 0, 1, comment)); 1644 children.add(new Property("dependsOn", "", 1645 "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.", 1646 0, java.lang.Integer.MAX_VALUE, dependsOn)); 1647 children.add(new Property("product", "@ConceptMap.group.element.target.dependsOn", 1648 "A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.", 1649 0, java.lang.Integer.MAX_VALUE, product)); 1650 } 1651 1652 @Override 1653 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1654 switch (_hash) { 1655 case 3059181: 1656 /* code */ return new Property("code", "code", 1657 "Identity (code or path) or the element/item that the map refers to.", 0, 1, code); 1658 case 1671764162: 1659 /* display */ return new Property("display", "string", 1660 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1661 1, display); 1662 case -15828692: 1663 /* equivalence */ return new Property("equivalence", "code", 1664 "The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).", 1665 0, 1, equivalence); 1666 case 950398559: 1667 /* comment */ return new Property("comment", "string", 1668 "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 1669 0, 1, comment); 1670 case -1109214266: 1671 /* dependsOn */ return new Property("dependsOn", "", 1672 "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.", 1673 0, java.lang.Integer.MAX_VALUE, dependsOn); 1674 case -309474065: 1675 /* product */ return new Property("product", "@ConceptMap.group.element.target.dependsOn", 1676 "A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.", 1677 0, java.lang.Integer.MAX_VALUE, product); 1678 default: 1679 return super.getNamedProperty(_hash, _name, _checkValid); 1680 } 1681 1682 } 1683 1684 @Override 1685 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1686 switch (hash) { 1687 case 3059181: 1688 /* code */ return this.code == null ? new Base[0] : new Base[] { this.code }; // CodeType 1689 case 1671764162: 1690 /* display */ return this.display == null ? new Base[0] : new Base[] { this.display }; // StringType 1691 case -15828692: 1692 /* equivalence */ return this.equivalence == null ? new Base[0] : new Base[] { this.equivalence }; // Enumeration<ConceptMapEquivalence> 1693 case 950398559: 1694 /* comment */ return this.comment == null ? new Base[0] : new Base[] { this.comment }; // StringType 1695 case -1109214266: 1696 /* dependsOn */ return this.dependsOn == null ? new Base[0] 1697 : this.dependsOn.toArray(new Base[this.dependsOn.size()]); // OtherElementComponent 1698 case -309474065: 1699 /* product */ return this.product == null ? new Base[0] : this.product.toArray(new Base[this.product.size()]); // OtherElementComponent 1700 default: 1701 return super.getProperty(hash, name, checkValid); 1702 } 1703 1704 } 1705 1706 @Override 1707 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1708 switch (hash) { 1709 case 3059181: // code 1710 this.code = castToCode(value); // CodeType 1711 return value; 1712 case 1671764162: // display 1713 this.display = castToString(value); // StringType 1714 return value; 1715 case -15828692: // equivalence 1716 value = new ConceptMapEquivalenceEnumFactory().fromType(castToCode(value)); 1717 this.equivalence = (Enumeration) value; // Enumeration<ConceptMapEquivalence> 1718 return value; 1719 case 950398559: // comment 1720 this.comment = castToString(value); // StringType 1721 return value; 1722 case -1109214266: // dependsOn 1723 this.getDependsOn().add((OtherElementComponent) value); // OtherElementComponent 1724 return value; 1725 case -309474065: // product 1726 this.getProduct().add((OtherElementComponent) value); // OtherElementComponent 1727 return value; 1728 default: 1729 return super.setProperty(hash, name, value); 1730 } 1731 1732 } 1733 1734 @Override 1735 public Base setProperty(String name, Base value) throws FHIRException { 1736 if (name.equals("code")) { 1737 this.code = castToCode(value); // CodeType 1738 } else if (name.equals("display")) { 1739 this.display = castToString(value); // StringType 1740 } else if (name.equals("equivalence")) { 1741 value = new ConceptMapEquivalenceEnumFactory().fromType(castToCode(value)); 1742 this.equivalence = (Enumeration) value; // Enumeration<ConceptMapEquivalence> 1743 } else if (name.equals("comment")) { 1744 this.comment = castToString(value); // StringType 1745 } else if (name.equals("dependsOn")) { 1746 this.getDependsOn().add((OtherElementComponent) value); 1747 } else if (name.equals("product")) { 1748 this.getProduct().add((OtherElementComponent) value); 1749 } else 1750 return super.setProperty(name, value); 1751 return value; 1752 } 1753 1754 @Override 1755 public void removeChild(String name, Base value) throws FHIRException { 1756 if (name.equals("code")) { 1757 this.code = null; 1758 } else if (name.equals("display")) { 1759 this.display = null; 1760 } else if (name.equals("equivalence")) { 1761 this.equivalence = null; 1762 } else if (name.equals("comment")) { 1763 this.comment = null; 1764 } else if (name.equals("dependsOn")) { 1765 this.getDependsOn().remove((OtherElementComponent) value); 1766 } else if (name.equals("product")) { 1767 this.getProduct().remove((OtherElementComponent) value); 1768 } else 1769 super.removeChild(name, value); 1770 1771 } 1772 1773 @Override 1774 public Base makeProperty(int hash, String name) throws FHIRException { 1775 switch (hash) { 1776 case 3059181: 1777 return getCodeElement(); 1778 case 1671764162: 1779 return getDisplayElement(); 1780 case -15828692: 1781 return getEquivalenceElement(); 1782 case 950398559: 1783 return getCommentElement(); 1784 case -1109214266: 1785 return addDependsOn(); 1786 case -309474065: 1787 return addProduct(); 1788 default: 1789 return super.makeProperty(hash, name); 1790 } 1791 1792 } 1793 1794 @Override 1795 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1796 switch (hash) { 1797 case 3059181: 1798 /* code */ return new String[] { "code" }; 1799 case 1671764162: 1800 /* display */ return new String[] { "string" }; 1801 case -15828692: 1802 /* equivalence */ return new String[] { "code" }; 1803 case 950398559: 1804 /* comment */ return new String[] { "string" }; 1805 case -1109214266: 1806 /* dependsOn */ return new String[] {}; 1807 case -309474065: 1808 /* product */ return new String[] { "@ConceptMap.group.element.target.dependsOn" }; 1809 default: 1810 return super.getTypesForProperty(hash, name); 1811 } 1812 1813 } 1814 1815 @Override 1816 public Base addChild(String name) throws FHIRException { 1817 if (name.equals("code")) { 1818 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.code"); 1819 } else if (name.equals("display")) { 1820 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.display"); 1821 } else if (name.equals("equivalence")) { 1822 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.equivalence"); 1823 } else if (name.equals("comment")) { 1824 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.comment"); 1825 } else if (name.equals("dependsOn")) { 1826 return addDependsOn(); 1827 } else if (name.equals("product")) { 1828 return addProduct(); 1829 } else 1830 return super.addChild(name); 1831 } 1832 1833 public TargetElementComponent copy() { 1834 TargetElementComponent dst = new TargetElementComponent(); 1835 copyValues(dst); 1836 return dst; 1837 } 1838 1839 public void copyValues(TargetElementComponent dst) { 1840 super.copyValues(dst); 1841 dst.code = code == null ? null : code.copy(); 1842 dst.display = display == null ? null : display.copy(); 1843 dst.equivalence = equivalence == null ? null : equivalence.copy(); 1844 dst.comment = comment == null ? null : comment.copy(); 1845 if (dependsOn != null) { 1846 dst.dependsOn = new ArrayList<OtherElementComponent>(); 1847 for (OtherElementComponent i : dependsOn) 1848 dst.dependsOn.add(i.copy()); 1849 } 1850 ; 1851 if (product != null) { 1852 dst.product = new ArrayList<OtherElementComponent>(); 1853 for (OtherElementComponent i : product) 1854 dst.product.add(i.copy()); 1855 } 1856 ; 1857 } 1858 1859 @Override 1860 public boolean equalsDeep(Base other_) { 1861 if (!super.equalsDeep(other_)) 1862 return false; 1863 if (!(other_ instanceof TargetElementComponent)) 1864 return false; 1865 TargetElementComponent o = (TargetElementComponent) other_; 1866 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 1867 && compareDeep(equivalence, o.equivalence, true) && compareDeep(comment, o.comment, true) 1868 && compareDeep(dependsOn, o.dependsOn, true) && compareDeep(product, o.product, true); 1869 } 1870 1871 @Override 1872 public boolean equalsShallow(Base other_) { 1873 if (!super.equalsShallow(other_)) 1874 return false; 1875 if (!(other_ instanceof TargetElementComponent)) 1876 return false; 1877 TargetElementComponent o = (TargetElementComponent) other_; 1878 return compareValues(code, o.code, true) && compareValues(display, o.display, true) 1879 && compareValues(equivalence, o.equivalence, true) && compareValues(comment, o.comment, true); 1880 } 1881 1882 public boolean isEmpty() { 1883 return super.isEmpty() 1884 && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, equivalence, comment, dependsOn, product); 1885 } 1886 1887 public String fhirType() { 1888 return "ConceptMap.group.element.target"; 1889 1890 } 1891 1892 } 1893 1894 @Block() 1895 public static class OtherElementComponent extends BackboneElement implements IBaseBackboneElement { 1896 /** 1897 * A reference to an element that holds a coded value that corresponds to a code 1898 * system property. The idea is that the information model carries an element 1899 * somewhere that is labeled to correspond with a code system property. 1900 */ 1901 @Child(name = "property", type = { UriType.class }, order = 1, min = 1, max = 1, modifier = false, summary = false) 1902 @Description(shortDefinition = "Reference to property mapping depends on", formalDefinition = "A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property.") 1903 protected UriType property; 1904 1905 /** 1906 * An absolute URI that identifies the code system of the dependency code (if 1907 * the source/dependency is a value set that crosses code systems). 1908 */ 1909 @Child(name = "system", type = { 1910 CanonicalType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 1911 @Description(shortDefinition = "Code System (if necessary)", formalDefinition = "An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).") 1912 protected CanonicalType system; 1913 1914 /** 1915 * Identity (code or path) or the element/item/ValueSet/text that the map 1916 * depends on / refers to. 1917 */ 1918 @Child(name = "value", type = { StringType.class }, order = 3, min = 1, max = 1, modifier = false, summary = false) 1919 @Description(shortDefinition = "Value of the referenced element", formalDefinition = "Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to.") 1920 protected StringType value; 1921 1922 /** 1923 * The display for the code. The display is only provided to help editors when 1924 * editing the concept map. 1925 */ 1926 @Child(name = "display", type = { 1927 StringType.class }, order = 4, min = 0, max = 1, modifier = false, summary = false) 1928 @Description(shortDefinition = "Display for the code (if value is a code)", formalDefinition = "The display for the code. The display is only provided to help editors when editing the concept map.") 1929 protected StringType display; 1930 1931 private static final long serialVersionUID = -1836341923L; 1932 1933 /** 1934 * Constructor 1935 */ 1936 public OtherElementComponent() { 1937 super(); 1938 } 1939 1940 /** 1941 * Constructor 1942 */ 1943 public OtherElementComponent(UriType property, StringType value) { 1944 super(); 1945 this.property = property; 1946 this.value = value; 1947 } 1948 1949 /** 1950 * @return {@link #property} (A reference to an element that holds a coded value 1951 * that corresponds to a code system property. The idea is that the 1952 * information model carries an element somewhere that is labeled to 1953 * correspond with a code system property.). This is the underlying 1954 * object with id, value and extensions. The accessor "getProperty" 1955 * gives direct access to the value 1956 */ 1957 public UriType getPropertyElement() { 1958 if (this.property == null) 1959 if (Configuration.errorOnAutoCreate()) 1960 throw new Error("Attempt to auto-create OtherElementComponent.property"); 1961 else if (Configuration.doAutoCreate()) 1962 this.property = new UriType(); // bb 1963 return this.property; 1964 } 1965 1966 public boolean hasPropertyElement() { 1967 return this.property != null && !this.property.isEmpty(); 1968 } 1969 1970 public boolean hasProperty() { 1971 return this.property != null && !this.property.isEmpty(); 1972 } 1973 1974 /** 1975 * @param value {@link #property} (A reference to an element that holds a coded 1976 * value that corresponds to a code system property. The idea is 1977 * that the information model carries an element somewhere that is 1978 * labeled to correspond with a code system property.). This is the 1979 * underlying object with id, value and extensions. The accessor 1980 * "getProperty" gives direct access to the value 1981 */ 1982 public OtherElementComponent setPropertyElement(UriType value) { 1983 this.property = value; 1984 return this; 1985 } 1986 1987 /** 1988 * @return A reference to an element that holds a coded value that corresponds 1989 * to a code system property. The idea is that the information model 1990 * carries an element somewhere that is labeled to correspond with a 1991 * code system property. 1992 */ 1993 public String getProperty() { 1994 return this.property == null ? null : this.property.getValue(); 1995 } 1996 1997 /** 1998 * @param value A reference to an element that holds a coded value that 1999 * corresponds to a code system property. The idea is that the 2000 * information model carries an element somewhere that is labeled 2001 * to correspond with a code system property. 2002 */ 2003 public OtherElementComponent setProperty(String value) { 2004 if (this.property == null) 2005 this.property = new UriType(); 2006 this.property.setValue(value); 2007 return this; 2008 } 2009 2010 /** 2011 * @return {@link #system} (An absolute URI that identifies the code system of 2012 * the dependency code (if the source/dependency is a value set that 2013 * crosses code systems).). This is the underlying object with id, value 2014 * and extensions. The accessor "getSystem" gives direct access to the 2015 * value 2016 */ 2017 public CanonicalType getSystemElement() { 2018 if (this.system == null) 2019 if (Configuration.errorOnAutoCreate()) 2020 throw new Error("Attempt to auto-create OtherElementComponent.system"); 2021 else if (Configuration.doAutoCreate()) 2022 this.system = new CanonicalType(); // bb 2023 return this.system; 2024 } 2025 2026 public boolean hasSystemElement() { 2027 return this.system != null && !this.system.isEmpty(); 2028 } 2029 2030 public boolean hasSystem() { 2031 return this.system != null && !this.system.isEmpty(); 2032 } 2033 2034 /** 2035 * @param value {@link #system} (An absolute URI that identifies the code system 2036 * of the dependency code (if the source/dependency is a value set 2037 * that crosses code systems).). This is the underlying object with 2038 * id, value and extensions. The accessor "getSystem" gives direct 2039 * access to the value 2040 */ 2041 public OtherElementComponent setSystemElement(CanonicalType value) { 2042 this.system = value; 2043 return this; 2044 } 2045 2046 /** 2047 * @return An absolute URI that identifies the code system of the dependency 2048 * code (if the source/dependency is a value set that crosses code 2049 * systems). 2050 */ 2051 public String getSystem() { 2052 return this.system == null ? null : this.system.getValue(); 2053 } 2054 2055 /** 2056 * @param value An absolute URI that identifies the code system of the 2057 * dependency code (if the source/dependency is a value set that 2058 * crosses code systems). 2059 */ 2060 public OtherElementComponent setSystem(String value) { 2061 if (Utilities.noString(value)) 2062 this.system = null; 2063 else { 2064 if (this.system == null) 2065 this.system = new CanonicalType(); 2066 this.system.setValue(value); 2067 } 2068 return this; 2069 } 2070 2071 /** 2072 * @return {@link #value} (Identity (code or path) or the 2073 * element/item/ValueSet/text that the map depends on / refers to.). 2074 * This is the underlying object with id, value and extensions. The 2075 * accessor "getValue" gives direct access to the value 2076 */ 2077 public StringType getValueElement() { 2078 if (this.value == null) 2079 if (Configuration.errorOnAutoCreate()) 2080 throw new Error("Attempt to auto-create OtherElementComponent.value"); 2081 else if (Configuration.doAutoCreate()) 2082 this.value = new StringType(); // bb 2083 return this.value; 2084 } 2085 2086 public boolean hasValueElement() { 2087 return this.value != null && !this.value.isEmpty(); 2088 } 2089 2090 public boolean hasValue() { 2091 return this.value != null && !this.value.isEmpty(); 2092 } 2093 2094 /** 2095 * @param value {@link #value} (Identity (code or path) or the 2096 * element/item/ValueSet/text that the map depends on / refers 2097 * to.). This is the underlying object with id, value and 2098 * extensions. The accessor "getValue" gives direct access to the 2099 * value 2100 */ 2101 public OtherElementComponent setValueElement(StringType value) { 2102 this.value = value; 2103 return this; 2104 } 2105 2106 /** 2107 * @return Identity (code or path) or the element/item/ValueSet/text that the 2108 * map depends on / refers to. 2109 */ 2110 public String getValue() { 2111 return this.value == null ? null : this.value.getValue(); 2112 } 2113 2114 /** 2115 * @param value Identity (code or path) or the element/item/ValueSet/text that 2116 * the map depends on / refers to. 2117 */ 2118 public OtherElementComponent setValue(String value) { 2119 if (this.value == null) 2120 this.value = new StringType(); 2121 this.value.setValue(value); 2122 return this; 2123 } 2124 2125 /** 2126 * @return {@link #display} (The display for the code. The display is only 2127 * provided to help editors when editing the concept map.). This is the 2128 * underlying object with id, value and extensions. The accessor 2129 * "getDisplay" gives direct access to the value 2130 */ 2131 public StringType getDisplayElement() { 2132 if (this.display == null) 2133 if (Configuration.errorOnAutoCreate()) 2134 throw new Error("Attempt to auto-create OtherElementComponent.display"); 2135 else if (Configuration.doAutoCreate()) 2136 this.display = new StringType(); // bb 2137 return this.display; 2138 } 2139 2140 public boolean hasDisplayElement() { 2141 return this.display != null && !this.display.isEmpty(); 2142 } 2143 2144 public boolean hasDisplay() { 2145 return this.display != null && !this.display.isEmpty(); 2146 } 2147 2148 /** 2149 * @param value {@link #display} (The display for the code. The display is only 2150 * provided to help editors when editing the concept map.). This is 2151 * the underlying object with id, value and extensions. The 2152 * accessor "getDisplay" gives direct access to the value 2153 */ 2154 public OtherElementComponent setDisplayElement(StringType value) { 2155 this.display = value; 2156 return this; 2157 } 2158 2159 /** 2160 * @return The display for the code. The display is only provided to help 2161 * editors when editing the concept map. 2162 */ 2163 public String getDisplay() { 2164 return this.display == null ? null : this.display.getValue(); 2165 } 2166 2167 /** 2168 * @param value The display for the code. The display is only provided to help 2169 * editors when editing the concept map. 2170 */ 2171 public OtherElementComponent setDisplay(String value) { 2172 if (Utilities.noString(value)) 2173 this.display = null; 2174 else { 2175 if (this.display == null) 2176 this.display = new StringType(); 2177 this.display.setValue(value); 2178 } 2179 return this; 2180 } 2181 2182 protected void listChildren(List<Property> children) { 2183 super.listChildren(children); 2184 children.add(new Property("property", "uri", 2185 "A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property.", 2186 0, 1, property)); 2187 children.add(new Property("system", "canonical(CodeSystem)", 2188 "An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).", 2189 0, 1, system)); 2190 children.add(new Property("value", "string", 2191 "Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to.", 0, 1, 2192 value)); 2193 children.add(new Property("display", "string", 2194 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, 2195 display)); 2196 } 2197 2198 @Override 2199 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2200 switch (_hash) { 2201 case -993141291: 2202 /* property */ return new Property("property", "uri", 2203 "A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property.", 2204 0, 1, property); 2205 case -887328209: 2206 /* system */ return new Property("system", "canonical(CodeSystem)", 2207 "An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).", 2208 0, 1, system); 2209 case 111972721: 2210 /* value */ return new Property("value", "string", 2211 "Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to.", 0, 1, 2212 value); 2213 case 1671764162: 2214 /* display */ return new Property("display", "string", 2215 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 2216 1, display); 2217 default: 2218 return super.getNamedProperty(_hash, _name, _checkValid); 2219 } 2220 2221 } 2222 2223 @Override 2224 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2225 switch (hash) { 2226 case -993141291: 2227 /* property */ return this.property == null ? new Base[0] : new Base[] { this.property }; // UriType 2228 case -887328209: 2229 /* system */ return this.system == null ? new Base[0] : new Base[] { this.system }; // CanonicalType 2230 case 111972721: 2231 /* value */ return this.value == null ? new Base[0] : new Base[] { this.value }; // StringType 2232 case 1671764162: 2233 /* display */ return this.display == null ? new Base[0] : new Base[] { this.display }; // StringType 2234 default: 2235 return super.getProperty(hash, name, checkValid); 2236 } 2237 2238 } 2239 2240 @Override 2241 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2242 switch (hash) { 2243 case -993141291: // property 2244 this.property = castToUri(value); // UriType 2245 return value; 2246 case -887328209: // system 2247 this.system = castToCanonical(value); // CanonicalType 2248 return value; 2249 case 111972721: // value 2250 this.value = castToString(value); // StringType 2251 return value; 2252 case 1671764162: // display 2253 this.display = castToString(value); // StringType 2254 return value; 2255 default: 2256 return super.setProperty(hash, name, value); 2257 } 2258 2259 } 2260 2261 @Override 2262 public Base setProperty(String name, Base value) throws FHIRException { 2263 if (name.equals("property")) { 2264 this.property = castToUri(value); // UriType 2265 } else if (name.equals("system")) { 2266 this.system = castToCanonical(value); // CanonicalType 2267 } else if (name.equals("value")) { 2268 this.value = castToString(value); // StringType 2269 } else if (name.equals("display")) { 2270 this.display = castToString(value); // StringType 2271 } else 2272 return super.setProperty(name, value); 2273 return value; 2274 } 2275 2276 @Override 2277 public void removeChild(String name, Base value) throws FHIRException { 2278 if (name.equals("property")) { 2279 this.property = null; 2280 } else if (name.equals("system")) { 2281 this.system = null; 2282 } else if (name.equals("value")) { 2283 this.value = null; 2284 } else if (name.equals("display")) { 2285 this.display = null; 2286 } else 2287 super.removeChild(name, value); 2288 2289 } 2290 2291 @Override 2292 public Base makeProperty(int hash, String name) throws FHIRException { 2293 switch (hash) { 2294 case -993141291: 2295 return getPropertyElement(); 2296 case -887328209: 2297 return getSystemElement(); 2298 case 111972721: 2299 return getValueElement(); 2300 case 1671764162: 2301 return getDisplayElement(); 2302 default: 2303 return super.makeProperty(hash, name); 2304 } 2305 2306 } 2307 2308 @Override 2309 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2310 switch (hash) { 2311 case -993141291: 2312 /* property */ return new String[] { "uri" }; 2313 case -887328209: 2314 /* system */ return new String[] { "canonical" }; 2315 case 111972721: 2316 /* value */ return new String[] { "string" }; 2317 case 1671764162: 2318 /* display */ return new String[] { "string" }; 2319 default: 2320 return super.getTypesForProperty(hash, name); 2321 } 2322 2323 } 2324 2325 @Override 2326 public Base addChild(String name) throws FHIRException { 2327 if (name.equals("property")) { 2328 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.property"); 2329 } else if (name.equals("system")) { 2330 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.system"); 2331 } else if (name.equals("value")) { 2332 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.value"); 2333 } else if (name.equals("display")) { 2334 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.display"); 2335 } else 2336 return super.addChild(name); 2337 } 2338 2339 public OtherElementComponent copy() { 2340 OtherElementComponent dst = new OtherElementComponent(); 2341 copyValues(dst); 2342 return dst; 2343 } 2344 2345 public void copyValues(OtherElementComponent dst) { 2346 super.copyValues(dst); 2347 dst.property = property == null ? null : property.copy(); 2348 dst.system = system == null ? null : system.copy(); 2349 dst.value = value == null ? null : value.copy(); 2350 dst.display = display == null ? null : display.copy(); 2351 } 2352 2353 @Override 2354 public boolean equalsDeep(Base other_) { 2355 if (!super.equalsDeep(other_)) 2356 return false; 2357 if (!(other_ instanceof OtherElementComponent)) 2358 return false; 2359 OtherElementComponent o = (OtherElementComponent) other_; 2360 return compareDeep(property, o.property, true) && compareDeep(system, o.system, true) 2361 && compareDeep(value, o.value, true) && compareDeep(display, o.display, true); 2362 } 2363 2364 @Override 2365 public boolean equalsShallow(Base other_) { 2366 if (!super.equalsShallow(other_)) 2367 return false; 2368 if (!(other_ instanceof OtherElementComponent)) 2369 return false; 2370 OtherElementComponent o = (OtherElementComponent) other_; 2371 return compareValues(property, o.property, true) && compareValues(value, o.value, true) 2372 && compareValues(display, o.display, true); 2373 } 2374 2375 public boolean isEmpty() { 2376 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(property, system, value, display); 2377 } 2378 2379 public String fhirType() { 2380 return "ConceptMap.group.element.target.dependsOn"; 2381 2382 } 2383 2384 } 2385 2386 @Block() 2387 public static class ConceptMapGroupUnmappedComponent extends BackboneElement implements IBaseBackboneElement { 2388 /** 2389 * Defines which action to take if there is no match for the source concept in 2390 * the target system designated for the group. One of 3 actions are possible: 2391 * use the unmapped code (this is useful when doing a mapping between versions, 2392 * and only a few codes have changed), use a fixed code (a default code), or 2393 * alternatively, a reference to a different concept map can be provided (by 2394 * canonical URL). 2395 */ 2396 @Child(name = "mode", type = { CodeType.class }, order = 1, min = 1, max = 1, modifier = false, summary = false) 2397 @Description(shortDefinition = "provided | fixed | other-map", formalDefinition = "Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).") 2398 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode") 2399 protected Enumeration<ConceptMapGroupUnmappedMode> mode; 2400 2401 /** 2402 * The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped 2403 * to a single fixed code. 2404 */ 2405 @Child(name = "code", type = { CodeType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 2406 @Description(shortDefinition = "Fixed code when mode = fixed", formalDefinition = "The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.") 2407 protected CodeType code; 2408 2409 /** 2410 * The display for the code. The display is only provided to help editors when 2411 * editing the concept map. 2412 */ 2413 @Child(name = "display", type = { 2414 StringType.class }, order = 3, min = 0, max = 1, modifier = false, summary = false) 2415 @Description(shortDefinition = "Display for the code", formalDefinition = "The display for the code. The display is only provided to help editors when editing the concept map.") 2416 protected StringType display; 2417 2418 /** 2419 * The canonical reference to an additional ConceptMap resource instance to use 2420 * for mapping if this ConceptMap resource contains no matching mapping for the 2421 * source concept. 2422 */ 2423 @Child(name = "url", type = { CanonicalType.class }, order = 4, min = 0, max = 1, modifier = false, summary = false) 2424 @Description(shortDefinition = "canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped", formalDefinition = "The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept.") 2425 protected CanonicalType url; 2426 2427 private static final long serialVersionUID = 1261364354L; 2428 2429 /** 2430 * Constructor 2431 */ 2432 public ConceptMapGroupUnmappedComponent() { 2433 super(); 2434 } 2435 2436 /** 2437 * Constructor 2438 */ 2439 public ConceptMapGroupUnmappedComponent(Enumeration<ConceptMapGroupUnmappedMode> mode) { 2440 super(); 2441 this.mode = mode; 2442 } 2443 2444 /** 2445 * @return {@link #mode} (Defines which action to take if there is no match for 2446 * the source concept in the target system designated for the group. One 2447 * of 3 actions are possible: use the unmapped code (this is useful when 2448 * doing a mapping between versions, and only a few codes have changed), 2449 * use a fixed code (a default code), or alternatively, a reference to a 2450 * different concept map can be provided (by canonical URL).). This is 2451 * the underlying object with id, value and extensions. The accessor 2452 * "getMode" gives direct access to the value 2453 */ 2454 public Enumeration<ConceptMapGroupUnmappedMode> getModeElement() { 2455 if (this.mode == null) 2456 if (Configuration.errorOnAutoCreate()) 2457 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.mode"); 2458 else if (Configuration.doAutoCreate()) 2459 this.mode = new Enumeration<ConceptMapGroupUnmappedMode>(new ConceptMapGroupUnmappedModeEnumFactory()); // bb 2460 return this.mode; 2461 } 2462 2463 public boolean hasModeElement() { 2464 return this.mode != null && !this.mode.isEmpty(); 2465 } 2466 2467 public boolean hasMode() { 2468 return this.mode != null && !this.mode.isEmpty(); 2469 } 2470 2471 /** 2472 * @param value {@link #mode} (Defines which action to take if there is no match 2473 * for the source concept in the target system designated for the 2474 * group. One of 3 actions are possible: use the unmapped code 2475 * (this is useful when doing a mapping between versions, and only 2476 * a few codes have changed), use a fixed code (a default code), or 2477 * alternatively, a reference to a different concept map can be 2478 * provided (by canonical URL).). This is the underlying object 2479 * with id, value and extensions. The accessor "getMode" gives 2480 * direct access to the value 2481 */ 2482 public ConceptMapGroupUnmappedComponent setModeElement(Enumeration<ConceptMapGroupUnmappedMode> value) { 2483 this.mode = value; 2484 return this; 2485 } 2486 2487 /** 2488 * @return Defines which action to take if there is no match for the source 2489 * concept in the target system designated for the group. One of 3 2490 * actions are possible: use the unmapped code (this is useful when 2491 * doing a mapping between versions, and only a few codes have changed), 2492 * use a fixed code (a default code), or alternatively, a reference to a 2493 * different concept map can be provided (by canonical URL). 2494 */ 2495 public ConceptMapGroupUnmappedMode getMode() { 2496 return this.mode == null ? null : this.mode.getValue(); 2497 } 2498 2499 /** 2500 * @param value Defines which action to take if there is no match for the source 2501 * concept in the target system designated for the group. One of 3 2502 * actions are possible: use the unmapped code (this is useful when 2503 * doing a mapping between versions, and only a few codes have 2504 * changed), use a fixed code (a default code), or alternatively, a 2505 * reference to a different concept map can be provided (by 2506 * canonical URL). 2507 */ 2508 public ConceptMapGroupUnmappedComponent setMode(ConceptMapGroupUnmappedMode value) { 2509 if (this.mode == null) 2510 this.mode = new Enumeration<ConceptMapGroupUnmappedMode>(new ConceptMapGroupUnmappedModeEnumFactory()); 2511 this.mode.setValue(value); 2512 return this; 2513 } 2514 2515 /** 2516 * @return {@link #code} (The fixed code to use when the mode = 'fixed' - all 2517 * unmapped codes are mapped to a single fixed code.). This is the 2518 * underlying object with id, value and extensions. The accessor 2519 * "getCode" gives direct access to the value 2520 */ 2521 public CodeType getCodeElement() { 2522 if (this.code == null) 2523 if (Configuration.errorOnAutoCreate()) 2524 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.code"); 2525 else if (Configuration.doAutoCreate()) 2526 this.code = new CodeType(); // bb 2527 return this.code; 2528 } 2529 2530 public boolean hasCodeElement() { 2531 return this.code != null && !this.code.isEmpty(); 2532 } 2533 2534 public boolean hasCode() { 2535 return this.code != null && !this.code.isEmpty(); 2536 } 2537 2538 /** 2539 * @param value {@link #code} (The fixed code to use when the mode = 'fixed' - 2540 * all unmapped codes are mapped to a single fixed code.). This is 2541 * the underlying object with id, value and extensions. The 2542 * accessor "getCode" gives direct access to the value 2543 */ 2544 public ConceptMapGroupUnmappedComponent setCodeElement(CodeType value) { 2545 this.code = value; 2546 return this; 2547 } 2548 2549 /** 2550 * @return The fixed code to use when the mode = 'fixed' - all unmapped codes 2551 * are mapped to a single fixed code. 2552 */ 2553 public String getCode() { 2554 return this.code == null ? null : this.code.getValue(); 2555 } 2556 2557 /** 2558 * @param value The fixed code to use when the mode = 'fixed' - all unmapped 2559 * codes are mapped to a single fixed code. 2560 */ 2561 public ConceptMapGroupUnmappedComponent setCode(String value) { 2562 if (Utilities.noString(value)) 2563 this.code = null; 2564 else { 2565 if (this.code == null) 2566 this.code = new CodeType(); 2567 this.code.setValue(value); 2568 } 2569 return this; 2570 } 2571 2572 /** 2573 * @return {@link #display} (The display for the code. The display is only 2574 * provided to help editors when editing the concept map.). This is the 2575 * underlying object with id, value and extensions. The accessor 2576 * "getDisplay" gives direct access to the value 2577 */ 2578 public StringType getDisplayElement() { 2579 if (this.display == null) 2580 if (Configuration.errorOnAutoCreate()) 2581 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.display"); 2582 else if (Configuration.doAutoCreate()) 2583 this.display = new StringType(); // bb 2584 return this.display; 2585 } 2586 2587 public boolean hasDisplayElement() { 2588 return this.display != null && !this.display.isEmpty(); 2589 } 2590 2591 public boolean hasDisplay() { 2592 return this.display != null && !this.display.isEmpty(); 2593 } 2594 2595 /** 2596 * @param value {@link #display} (The display for the code. The display is only 2597 * provided to help editors when editing the concept map.). This is 2598 * the underlying object with id, value and extensions. The 2599 * accessor "getDisplay" gives direct access to the value 2600 */ 2601 public ConceptMapGroupUnmappedComponent setDisplayElement(StringType value) { 2602 this.display = value; 2603 return this; 2604 } 2605 2606 /** 2607 * @return The display for the code. The display is only provided to help 2608 * editors when editing the concept map. 2609 */ 2610 public String getDisplay() { 2611 return this.display == null ? null : this.display.getValue(); 2612 } 2613 2614 /** 2615 * @param value The display for the code. The display is only provided to help 2616 * editors when editing the concept map. 2617 */ 2618 public ConceptMapGroupUnmappedComponent setDisplay(String value) { 2619 if (Utilities.noString(value)) 2620 this.display = null; 2621 else { 2622 if (this.display == null) 2623 this.display = new StringType(); 2624 this.display.setValue(value); 2625 } 2626 return this; 2627 } 2628 2629 /** 2630 * @return {@link #url} (The canonical reference to an additional ConceptMap 2631 * resource instance to use for mapping if this ConceptMap resource 2632 * contains no matching mapping for the source concept.). This is the 2633 * underlying object with id, value and extensions. The accessor 2634 * "getUrl" gives direct access to the value 2635 */ 2636 public CanonicalType getUrlElement() { 2637 if (this.url == null) 2638 if (Configuration.errorOnAutoCreate()) 2639 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.url"); 2640 else if (Configuration.doAutoCreate()) 2641 this.url = new CanonicalType(); // bb 2642 return this.url; 2643 } 2644 2645 public boolean hasUrlElement() { 2646 return this.url != null && !this.url.isEmpty(); 2647 } 2648 2649 public boolean hasUrl() { 2650 return this.url != null && !this.url.isEmpty(); 2651 } 2652 2653 /** 2654 * @param value {@link #url} (The canonical reference to an additional 2655 * ConceptMap resource instance to use for mapping if this 2656 * ConceptMap resource contains no matching mapping for the source 2657 * concept.). This is the underlying object with id, value and 2658 * extensions. The accessor "getUrl" gives direct access to the 2659 * value 2660 */ 2661 public ConceptMapGroupUnmappedComponent setUrlElement(CanonicalType value) { 2662 this.url = value; 2663 return this; 2664 } 2665 2666 /** 2667 * @return The canonical reference to an additional ConceptMap resource instance 2668 * to use for mapping if this ConceptMap resource contains no matching 2669 * mapping for the source concept. 2670 */ 2671 public String getUrl() { 2672 return this.url == null ? null : this.url.getValue(); 2673 } 2674 2675 /** 2676 * @param value The canonical reference to an additional ConceptMap resource 2677 * instance to use for mapping if this ConceptMap resource contains 2678 * no matching mapping for the source concept. 2679 */ 2680 public ConceptMapGroupUnmappedComponent setUrl(String value) { 2681 if (Utilities.noString(value)) 2682 this.url = null; 2683 else { 2684 if (this.url == null) 2685 this.url = new CanonicalType(); 2686 this.url.setValue(value); 2687 } 2688 return this; 2689 } 2690 2691 protected void listChildren(List<Property> children) { 2692 super.listChildren(children); 2693 children.add(new Property("mode", "code", 2694 "Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).", 2695 0, 1, mode)); 2696 children.add(new Property("code", "code", 2697 "The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.", 0, 2698 1, code)); 2699 children.add(new Property("display", "string", 2700 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, 2701 display)); 2702 children.add(new Property("url", "canonical(ConceptMap)", 2703 "The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept.", 2704 0, 1, url)); 2705 } 2706 2707 @Override 2708 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2709 switch (_hash) { 2710 case 3357091: 2711 /* mode */ return new Property("mode", "code", 2712 "Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).", 2713 0, 1, mode); 2714 case 3059181: 2715 /* code */ return new Property("code", "code", 2716 "The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.", 0, 2717 1, code); 2718 case 1671764162: 2719 /* display */ return new Property("display", "string", 2720 "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 2721 1, display); 2722 case 116079: 2723 /* url */ return new Property("url", "canonical(ConceptMap)", 2724 "The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept.", 2725 0, 1, url); 2726 default: 2727 return super.getNamedProperty(_hash, _name, _checkValid); 2728 } 2729 2730 } 2731 2732 @Override 2733 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2734 switch (hash) { 2735 case 3357091: 2736 /* mode */ return this.mode == null ? new Base[0] : new Base[] { this.mode }; // Enumeration<ConceptMapGroupUnmappedMode> 2737 case 3059181: 2738 /* code */ return this.code == null ? new Base[0] : new Base[] { this.code }; // CodeType 2739 case 1671764162: 2740 /* display */ return this.display == null ? new Base[0] : new Base[] { this.display }; // StringType 2741 case 116079: 2742 /* url */ return this.url == null ? new Base[0] : new Base[] { this.url }; // CanonicalType 2743 default: 2744 return super.getProperty(hash, name, checkValid); 2745 } 2746 2747 } 2748 2749 @Override 2750 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2751 switch (hash) { 2752 case 3357091: // mode 2753 value = new ConceptMapGroupUnmappedModeEnumFactory().fromType(castToCode(value)); 2754 this.mode = (Enumeration) value; // Enumeration<ConceptMapGroupUnmappedMode> 2755 return value; 2756 case 3059181: // code 2757 this.code = castToCode(value); // CodeType 2758 return value; 2759 case 1671764162: // display 2760 this.display = castToString(value); // StringType 2761 return value; 2762 case 116079: // url 2763 this.url = castToCanonical(value); // CanonicalType 2764 return value; 2765 default: 2766 return super.setProperty(hash, name, value); 2767 } 2768 2769 } 2770 2771 @Override 2772 public Base setProperty(String name, Base value) throws FHIRException { 2773 if (name.equals("mode")) { 2774 value = new ConceptMapGroupUnmappedModeEnumFactory().fromType(castToCode(value)); 2775 this.mode = (Enumeration) value; // Enumeration<ConceptMapGroupUnmappedMode> 2776 } else if (name.equals("code")) { 2777 this.code = castToCode(value); // CodeType 2778 } else if (name.equals("display")) { 2779 this.display = castToString(value); // StringType 2780 } else if (name.equals("url")) { 2781 this.url = castToCanonical(value); // CanonicalType 2782 } else 2783 return super.setProperty(name, value); 2784 return value; 2785 } 2786 2787 @Override 2788 public void removeChild(String name, Base value) throws FHIRException { 2789 if (name.equals("mode")) { 2790 this.mode = null; 2791 } else if (name.equals("code")) { 2792 this.code = null; 2793 } else if (name.equals("display")) { 2794 this.display = null; 2795 } else if (name.equals("url")) { 2796 this.url = null; 2797 } else 2798 super.removeChild(name, value); 2799 2800 } 2801 2802 @Override 2803 public Base makeProperty(int hash, String name) throws FHIRException { 2804 switch (hash) { 2805 case 3357091: 2806 return getModeElement(); 2807 case 3059181: 2808 return getCodeElement(); 2809 case 1671764162: 2810 return getDisplayElement(); 2811 case 116079: 2812 return getUrlElement(); 2813 default: 2814 return super.makeProperty(hash, name); 2815 } 2816 2817 } 2818 2819 @Override 2820 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2821 switch (hash) { 2822 case 3357091: 2823 /* mode */ return new String[] { "code" }; 2824 case 3059181: 2825 /* code */ return new String[] { "code" }; 2826 case 1671764162: 2827 /* display */ return new String[] { "string" }; 2828 case 116079: 2829 /* url */ return new String[] { "canonical" }; 2830 default: 2831 return super.getTypesForProperty(hash, name); 2832 } 2833 2834 } 2835 2836 @Override 2837 public Base addChild(String name) throws FHIRException { 2838 if (name.equals("mode")) { 2839 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.mode"); 2840 } else if (name.equals("code")) { 2841 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.code"); 2842 } else if (name.equals("display")) { 2843 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.display"); 2844 } else if (name.equals("url")) { 2845 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.url"); 2846 } else 2847 return super.addChild(name); 2848 } 2849 2850 public ConceptMapGroupUnmappedComponent copy() { 2851 ConceptMapGroupUnmappedComponent dst = new ConceptMapGroupUnmappedComponent(); 2852 copyValues(dst); 2853 return dst; 2854 } 2855 2856 public void copyValues(ConceptMapGroupUnmappedComponent dst) { 2857 super.copyValues(dst); 2858 dst.mode = mode == null ? null : mode.copy(); 2859 dst.code = code == null ? null : code.copy(); 2860 dst.display = display == null ? null : display.copy(); 2861 dst.url = url == null ? null : url.copy(); 2862 } 2863 2864 @Override 2865 public boolean equalsDeep(Base other_) { 2866 if (!super.equalsDeep(other_)) 2867 return false; 2868 if (!(other_ instanceof ConceptMapGroupUnmappedComponent)) 2869 return false; 2870 ConceptMapGroupUnmappedComponent o = (ConceptMapGroupUnmappedComponent) other_; 2871 return compareDeep(mode, o.mode, true) && compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 2872 && compareDeep(url, o.url, true); 2873 } 2874 2875 @Override 2876 public boolean equalsShallow(Base other_) { 2877 if (!super.equalsShallow(other_)) 2878 return false; 2879 if (!(other_ instanceof ConceptMapGroupUnmappedComponent)) 2880 return false; 2881 ConceptMapGroupUnmappedComponent o = (ConceptMapGroupUnmappedComponent) other_; 2882 return compareValues(mode, o.mode, true) && compareValues(code, o.code, true) 2883 && compareValues(display, o.display, true); 2884 } 2885 2886 public boolean isEmpty() { 2887 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(mode, code, display, url); 2888 } 2889 2890 public String fhirType() { 2891 return "ConceptMap.group.unmapped"; 2892 2893 } 2894 2895 } 2896 2897 /** 2898 * A formal identifier that is used to identify this concept map when it is 2899 * represented in other formats, or referenced in a specification, model, design 2900 * or an instance. 2901 */ 2902 @Child(name = "identifier", type = { 2903 Identifier.class }, order = 0, min = 0, max = 1, modifier = false, summary = true) 2904 @Description(shortDefinition = "Additional identifier for the concept map", formalDefinition = "A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.") 2905 protected Identifier identifier; 2906 2907 /** 2908 * Explanation of why this concept map is needed and why it has been designed as 2909 * it has. 2910 */ 2911 @Child(name = "purpose", type = { 2912 MarkdownType.class }, order = 1, min = 0, max = 1, modifier = false, summary = false) 2913 @Description(shortDefinition = "Why this concept map is defined", formalDefinition = "Explanation of why this concept map is needed and why it has been designed as it has.") 2914 protected MarkdownType purpose; 2915 2916 /** 2917 * A copyright statement relating to the concept map and/or its contents. 2918 * Copyright statements are generally legal restrictions on the use and 2919 * publishing of the concept map. 2920 */ 2921 @Child(name = "copyright", type = { 2922 MarkdownType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 2923 @Description(shortDefinition = "Use and/or publishing restrictions", formalDefinition = "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.") 2924 protected MarkdownType copyright; 2925 2926 /** 2927 * Identifier for the source value set that contains the concepts that are being 2928 * mapped and provides context for the mappings. 2929 */ 2930 @Child(name = "source", type = { UriType.class, 2931 CanonicalType.class }, order = 3, min = 0, max = 1, modifier = false, summary = true) 2932 @Description(shortDefinition = "The source value set that contains the concepts that are being mapped", formalDefinition = "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.") 2933 protected Type source; 2934 2935 /** 2936 * The target value set provides context for the mappings. Note that the mapping 2937 * is made between concepts, not between value sets, but the value set provides 2938 * important context about how the concept mapping choices are made. 2939 */ 2940 @Child(name = "target", type = { UriType.class, 2941 CanonicalType.class }, order = 4, min = 0, max = 1, modifier = false, summary = true) 2942 @Description(shortDefinition = "The target value set which provides context for the mappings", formalDefinition = "The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.") 2943 protected Type target; 2944 2945 /** 2946 * A group of mappings that all have the same source and target system. 2947 */ 2948 @Child(name = "group", type = {}, order = 5, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 2949 @Description(shortDefinition = "Same source and target systems", formalDefinition = "A group of mappings that all have the same source and target system.") 2950 protected List<ConceptMapGroupComponent> group; 2951 2952 private static final long serialVersionUID = -2081872580L; 2953 2954 /** 2955 * Constructor 2956 */ 2957 public ConceptMap() { 2958 super(); 2959 } 2960 2961 /** 2962 * Constructor 2963 */ 2964 public ConceptMap(Enumeration<PublicationStatus> status) { 2965 super(); 2966 this.status = status; 2967 } 2968 2969 /** 2970 * @return {@link #url} (An absolute URI that is used to identify this concept 2971 * map when it is referenced in a specification, model, design or an 2972 * instance; also called its canonical identifier. This SHOULD be 2973 * globally unique and SHOULD be a literal address at which at which an 2974 * authoritative instance of this concept map is (or will be) published. 2975 * This URL can be the target of a canonical reference. It SHALL remain 2976 * the same when the concept map is stored on different servers.). This 2977 * is the underlying object with id, value and extensions. The accessor 2978 * "getUrl" gives direct access to the value 2979 */ 2980 public UriType getUrlElement() { 2981 if (this.url == null) 2982 if (Configuration.errorOnAutoCreate()) 2983 throw new Error("Attempt to auto-create ConceptMap.url"); 2984 else if (Configuration.doAutoCreate()) 2985 this.url = new UriType(); // bb 2986 return this.url; 2987 } 2988 2989 public boolean hasUrlElement() { 2990 return this.url != null && !this.url.isEmpty(); 2991 } 2992 2993 public boolean hasUrl() { 2994 return this.url != null && !this.url.isEmpty(); 2995 } 2996 2997 /** 2998 * @param value {@link #url} (An absolute URI that is used to identify this 2999 * concept map when it is referenced in a specification, model, 3000 * design or an instance; also called its canonical identifier. 3001 * This SHOULD be globally unique and SHOULD be a literal address 3002 * at which at which an authoritative instance of this concept map 3003 * is (or will be) published. This URL can be the target of a 3004 * canonical reference. It SHALL remain the same when the concept 3005 * map is stored on different servers.). This is the underlying 3006 * object with id, value and extensions. The accessor "getUrl" 3007 * gives direct access to the value 3008 */ 3009 public ConceptMap setUrlElement(UriType value) { 3010 this.url = value; 3011 return this; 3012 } 3013 3014 /** 3015 * @return An absolute URI that is used to identify this concept map when it is 3016 * referenced in a specification, model, design or an instance; also 3017 * called its canonical identifier. This SHOULD be globally unique and 3018 * SHOULD be a literal address at which at which an authoritative 3019 * instance of this concept map is (or will be) published. This URL can 3020 * be the target of a canonical reference. It SHALL remain the same when 3021 * the concept map is stored on different servers. 3022 */ 3023 public String getUrl() { 3024 return this.url == null ? null : this.url.getValue(); 3025 } 3026 3027 /** 3028 * @param value An absolute URI that is used to identify this concept map when 3029 * it is referenced in a specification, model, design or an 3030 * instance; also called its canonical identifier. This SHOULD be 3031 * globally unique and SHOULD be a literal address at which at 3032 * which an authoritative instance of this concept map is (or will 3033 * be) published. This URL can be the target of a canonical 3034 * reference. It SHALL remain the same when the concept map is 3035 * stored on different servers. 3036 */ 3037 public ConceptMap setUrl(String value) { 3038 if (Utilities.noString(value)) 3039 this.url = null; 3040 else { 3041 if (this.url == null) 3042 this.url = new UriType(); 3043 this.url.setValue(value); 3044 } 3045 return this; 3046 } 3047 3048 /** 3049 * @return {@link #identifier} (A formal identifier that is used to identify 3050 * this concept map when it is represented in other formats, or 3051 * referenced in a specification, model, design or an instance.) 3052 */ 3053 public Identifier getIdentifier() { 3054 if (this.identifier == null) 3055 if (Configuration.errorOnAutoCreate()) 3056 throw new Error("Attempt to auto-create ConceptMap.identifier"); 3057 else if (Configuration.doAutoCreate()) 3058 this.identifier = new Identifier(); // cc 3059 return this.identifier; 3060 } 3061 3062 public boolean hasIdentifier() { 3063 return this.identifier != null && !this.identifier.isEmpty(); 3064 } 3065 3066 /** 3067 * @param value {@link #identifier} (A formal identifier that is used to 3068 * identify this concept map when it is represented in other 3069 * formats, or referenced in a specification, model, design or an 3070 * instance.) 3071 */ 3072 public ConceptMap setIdentifier(Identifier value) { 3073 this.identifier = value; 3074 return this; 3075 } 3076 3077 /** 3078 * @return {@link #version} (The identifier that is used to identify this 3079 * version of the concept map when it is referenced in a specification, 3080 * model, design or instance. This is an arbitrary value managed by the 3081 * concept map author and is not expected to be globally unique. For 3082 * example, it might be a timestamp (e.g. yyyymmdd) if a managed version 3083 * is not available. There is also no expectation that versions can be 3084 * placed in a lexicographical sequence.). This is the underlying object 3085 * with id, value and extensions. The accessor "getVersion" gives direct 3086 * access to the value 3087 */ 3088 public StringType getVersionElement() { 3089 if (this.version == null) 3090 if (Configuration.errorOnAutoCreate()) 3091 throw new Error("Attempt to auto-create ConceptMap.version"); 3092 else if (Configuration.doAutoCreate()) 3093 this.version = new StringType(); // bb 3094 return this.version; 3095 } 3096 3097 public boolean hasVersionElement() { 3098 return this.version != null && !this.version.isEmpty(); 3099 } 3100 3101 public boolean hasVersion() { 3102 return this.version != null && !this.version.isEmpty(); 3103 } 3104 3105 /** 3106 * @param value {@link #version} (The identifier that is used to identify this 3107 * version of the concept map when it is referenced in a 3108 * specification, model, design or instance. This is an arbitrary 3109 * value managed by the concept map author and is not expected to 3110 * be globally unique. For example, it might be a timestamp (e.g. 3111 * yyyymmdd) if a managed version is not available. There is also 3112 * no expectation that versions can be placed in a lexicographical 3113 * sequence.). This is the underlying object with id, value and 3114 * extensions. The accessor "getVersion" gives direct access to the 3115 * value 3116 */ 3117 public ConceptMap setVersionElement(StringType value) { 3118 this.version = value; 3119 return this; 3120 } 3121 3122 /** 3123 * @return The identifier that is used to identify this version of the concept 3124 * map when it is referenced in a specification, model, design or 3125 * instance. This is an arbitrary value managed by the concept map 3126 * author and is not expected to be globally unique. For example, it 3127 * might be a timestamp (e.g. yyyymmdd) if a managed version is not 3128 * available. There is also no expectation that versions can be placed 3129 * in a lexicographical sequence. 3130 */ 3131 public String getVersion() { 3132 return this.version == null ? null : this.version.getValue(); 3133 } 3134 3135 /** 3136 * @param value The identifier that is used to identify this version of the 3137 * concept map when it is referenced in a specification, model, 3138 * design or instance. This is an arbitrary value managed by the 3139 * concept map author and is not expected to be globally unique. 3140 * For example, it might be a timestamp (e.g. yyyymmdd) if a 3141 * managed version is not available. There is also no expectation 3142 * that versions can be placed in a lexicographical sequence. 3143 */ 3144 public ConceptMap setVersion(String value) { 3145 if (Utilities.noString(value)) 3146 this.version = null; 3147 else { 3148 if (this.version == null) 3149 this.version = new StringType(); 3150 this.version.setValue(value); 3151 } 3152 return this; 3153 } 3154 3155 /** 3156 * @return {@link #name} (A natural language name identifying the concept map. 3157 * This name should be usable as an identifier for the module by machine 3158 * processing applications such as code generation.). This is the 3159 * underlying object with id, value and extensions. The accessor 3160 * "getName" gives direct access to the value 3161 */ 3162 public StringType getNameElement() { 3163 if (this.name == null) 3164 if (Configuration.errorOnAutoCreate()) 3165 throw new Error("Attempt to auto-create ConceptMap.name"); 3166 else if (Configuration.doAutoCreate()) 3167 this.name = new StringType(); // bb 3168 return this.name; 3169 } 3170 3171 public boolean hasNameElement() { 3172 return this.name != null && !this.name.isEmpty(); 3173 } 3174 3175 public boolean hasName() { 3176 return this.name != null && !this.name.isEmpty(); 3177 } 3178 3179 /** 3180 * @param value {@link #name} (A natural language name identifying the concept 3181 * map. This name should be usable as an identifier for the module 3182 * by machine processing applications such as code generation.). 3183 * This is the underlying object with id, value and extensions. The 3184 * accessor "getName" gives direct access to the value 3185 */ 3186 public ConceptMap setNameElement(StringType value) { 3187 this.name = value; 3188 return this; 3189 } 3190 3191 /** 3192 * @return A natural language name identifying the concept map. This name should 3193 * be usable as an identifier for the module by machine processing 3194 * applications such as code generation. 3195 */ 3196 public String getName() { 3197 return this.name == null ? null : this.name.getValue(); 3198 } 3199 3200 /** 3201 * @param value A natural language name identifying the concept map. This name 3202 * should be usable as an identifier for the module by machine 3203 * processing applications such as code generation. 3204 */ 3205 public ConceptMap setName(String value) { 3206 if (Utilities.noString(value)) 3207 this.name = null; 3208 else { 3209 if (this.name == null) 3210 this.name = new StringType(); 3211 this.name.setValue(value); 3212 } 3213 return this; 3214 } 3215 3216 /** 3217 * @return {@link #title} (A short, descriptive, user-friendly title for the 3218 * concept map.). This is the underlying object with id, value and 3219 * extensions. The accessor "getTitle" gives direct access to the value 3220 */ 3221 public StringType getTitleElement() { 3222 if (this.title == null) 3223 if (Configuration.errorOnAutoCreate()) 3224 throw new Error("Attempt to auto-create ConceptMap.title"); 3225 else if (Configuration.doAutoCreate()) 3226 this.title = new StringType(); // bb 3227 return this.title; 3228 } 3229 3230 public boolean hasTitleElement() { 3231 return this.title != null && !this.title.isEmpty(); 3232 } 3233 3234 public boolean hasTitle() { 3235 return this.title != null && !this.title.isEmpty(); 3236 } 3237 3238 /** 3239 * @param value {@link #title} (A short, descriptive, user-friendly title for 3240 * the concept map.). This is the underlying object with id, value 3241 * and extensions. The accessor "getTitle" gives direct access to 3242 * the value 3243 */ 3244 public ConceptMap setTitleElement(StringType value) { 3245 this.title = value; 3246 return this; 3247 } 3248 3249 /** 3250 * @return A short, descriptive, user-friendly title for the concept map. 3251 */ 3252 public String getTitle() { 3253 return this.title == null ? null : this.title.getValue(); 3254 } 3255 3256 /** 3257 * @param value A short, descriptive, user-friendly title for the concept map. 3258 */ 3259 public ConceptMap setTitle(String value) { 3260 if (Utilities.noString(value)) 3261 this.title = null; 3262 else { 3263 if (this.title == null) 3264 this.title = new StringType(); 3265 this.title.setValue(value); 3266 } 3267 return this; 3268 } 3269 3270 /** 3271 * @return {@link #status} (The status of this concept map. Enables tracking the 3272 * life-cycle of the content.). This is the underlying object with id, 3273 * value and extensions. The accessor "getStatus" gives direct access to 3274 * the value 3275 */ 3276 public Enumeration<PublicationStatus> getStatusElement() { 3277 if (this.status == null) 3278 if (Configuration.errorOnAutoCreate()) 3279 throw new Error("Attempt to auto-create ConceptMap.status"); 3280 else if (Configuration.doAutoCreate()) 3281 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 3282 return this.status; 3283 } 3284 3285 public boolean hasStatusElement() { 3286 return this.status != null && !this.status.isEmpty(); 3287 } 3288 3289 public boolean hasStatus() { 3290 return this.status != null && !this.status.isEmpty(); 3291 } 3292 3293 /** 3294 * @param value {@link #status} (The status of this concept map. Enables 3295 * tracking the life-cycle of the content.). This is the underlying 3296 * object with id, value and extensions. The accessor "getStatus" 3297 * gives direct access to the value 3298 */ 3299 public ConceptMap setStatusElement(Enumeration<PublicationStatus> value) { 3300 this.status = value; 3301 return this; 3302 } 3303 3304 /** 3305 * @return The status of this concept map. Enables tracking the life-cycle of 3306 * the content. 3307 */ 3308 public PublicationStatus getStatus() { 3309 return this.status == null ? null : this.status.getValue(); 3310 } 3311 3312 /** 3313 * @param value The status of this concept map. Enables tracking the life-cycle 3314 * of the content. 3315 */ 3316 public ConceptMap setStatus(PublicationStatus value) { 3317 if (this.status == null) 3318 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 3319 this.status.setValue(value); 3320 return this; 3321 } 3322 3323 /** 3324 * @return {@link #experimental} (A Boolean value to indicate that this concept 3325 * map is authored for testing purposes (or 3326 * education/evaluation/marketing) and is not intended to be used for 3327 * genuine usage.). This is the underlying object with id, value and 3328 * extensions. The accessor "getExperimental" gives direct access to the 3329 * value 3330 */ 3331 public BooleanType getExperimentalElement() { 3332 if (this.experimental == null) 3333 if (Configuration.errorOnAutoCreate()) 3334 throw new Error("Attempt to auto-create ConceptMap.experimental"); 3335 else if (Configuration.doAutoCreate()) 3336 this.experimental = new BooleanType(); // bb 3337 return this.experimental; 3338 } 3339 3340 public boolean hasExperimentalElement() { 3341 return this.experimental != null && !this.experimental.isEmpty(); 3342 } 3343 3344 public boolean hasExperimental() { 3345 return this.experimental != null && !this.experimental.isEmpty(); 3346 } 3347 3348 /** 3349 * @param value {@link #experimental} (A Boolean value to indicate that this 3350 * concept map is authored for testing purposes (or 3351 * education/evaluation/marketing) and is not intended to be used 3352 * for genuine usage.). This is the underlying object with id, 3353 * value and extensions. The accessor "getExperimental" gives 3354 * direct access to the value 3355 */ 3356 public ConceptMap setExperimentalElement(BooleanType value) { 3357 this.experimental = value; 3358 return this; 3359 } 3360 3361 /** 3362 * @return A Boolean value to indicate that this concept map is authored for 3363 * testing purposes (or education/evaluation/marketing) and is not 3364 * intended to be used for genuine usage. 3365 */ 3366 public boolean getExperimental() { 3367 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 3368 } 3369 3370 /** 3371 * @param value A Boolean value to indicate that this concept map is authored 3372 * for testing purposes (or education/evaluation/marketing) and is 3373 * not intended to be used for genuine usage. 3374 */ 3375 public ConceptMap setExperimental(boolean value) { 3376 if (this.experimental == null) 3377 this.experimental = new BooleanType(); 3378 this.experimental.setValue(value); 3379 return this; 3380 } 3381 3382 /** 3383 * @return {@link #date} (The date (and optionally time) when the concept map 3384 * was published. The date must change when the business version changes 3385 * and it must change if the status code changes. In addition, it should 3386 * change when the substantive content of the concept map changes.). 3387 * This is the underlying object with id, value and extensions. The 3388 * accessor "getDate" gives direct access to the value 3389 */ 3390 public DateTimeType getDateElement() { 3391 if (this.date == null) 3392 if (Configuration.errorOnAutoCreate()) 3393 throw new Error("Attempt to auto-create ConceptMap.date"); 3394 else if (Configuration.doAutoCreate()) 3395 this.date = new DateTimeType(); // bb 3396 return this.date; 3397 } 3398 3399 public boolean hasDateElement() { 3400 return this.date != null && !this.date.isEmpty(); 3401 } 3402 3403 public boolean hasDate() { 3404 return this.date != null && !this.date.isEmpty(); 3405 } 3406 3407 /** 3408 * @param value {@link #date} (The date (and optionally time) when the concept 3409 * map was published. The date must change when the business 3410 * version changes and it must change if the status code changes. 3411 * In addition, it should change when the substantive content of 3412 * the concept map changes.). This is the underlying object with 3413 * id, value and extensions. The accessor "getDate" gives direct 3414 * access to the value 3415 */ 3416 public ConceptMap setDateElement(DateTimeType value) { 3417 this.date = value; 3418 return this; 3419 } 3420 3421 /** 3422 * @return The date (and optionally time) when the concept map was published. 3423 * The date must change when the business version changes and it must 3424 * change if the status code changes. In addition, it should change when 3425 * the substantive content of the concept map changes. 3426 */ 3427 public Date getDate() { 3428 return this.date == null ? null : this.date.getValue(); 3429 } 3430 3431 /** 3432 * @param value The date (and optionally time) when the concept map was 3433 * published. The date must change when the business version 3434 * changes and it must change if the status code changes. In 3435 * addition, it should change when the substantive content of the 3436 * concept map changes. 3437 */ 3438 public ConceptMap setDate(Date value) { 3439 if (value == null) 3440 this.date = null; 3441 else { 3442 if (this.date == null) 3443 this.date = new DateTimeType(); 3444 this.date.setValue(value); 3445 } 3446 return this; 3447 } 3448 3449 /** 3450 * @return {@link #publisher} (The name of the organization or individual that 3451 * published the concept map.). This is the underlying object with id, 3452 * value and extensions. The accessor "getPublisher" gives direct access 3453 * to the value 3454 */ 3455 public StringType getPublisherElement() { 3456 if (this.publisher == null) 3457 if (Configuration.errorOnAutoCreate()) 3458 throw new Error("Attempt to auto-create ConceptMap.publisher"); 3459 else if (Configuration.doAutoCreate()) 3460 this.publisher = new StringType(); // bb 3461 return this.publisher; 3462 } 3463 3464 public boolean hasPublisherElement() { 3465 return this.publisher != null && !this.publisher.isEmpty(); 3466 } 3467 3468 public boolean hasPublisher() { 3469 return this.publisher != null && !this.publisher.isEmpty(); 3470 } 3471 3472 /** 3473 * @param value {@link #publisher} (The name of the organization or individual 3474 * that published the concept map.). This is the underlying object 3475 * with id, value and extensions. The accessor "getPublisher" gives 3476 * direct access to the value 3477 */ 3478 public ConceptMap setPublisherElement(StringType value) { 3479 this.publisher = value; 3480 return this; 3481 } 3482 3483 /** 3484 * @return The name of the organization or individual that published the concept 3485 * map. 3486 */ 3487 public String getPublisher() { 3488 return this.publisher == null ? null : this.publisher.getValue(); 3489 } 3490 3491 /** 3492 * @param value The name of the organization or individual that published the 3493 * concept map. 3494 */ 3495 public ConceptMap setPublisher(String value) { 3496 if (Utilities.noString(value)) 3497 this.publisher = null; 3498 else { 3499 if (this.publisher == null) 3500 this.publisher = new StringType(); 3501 this.publisher.setValue(value); 3502 } 3503 return this; 3504 } 3505 3506 /** 3507 * @return {@link #contact} (Contact details to assist a user in finding and 3508 * communicating with the publisher.) 3509 */ 3510 public List<ContactDetail> getContact() { 3511 if (this.contact == null) 3512 this.contact = new ArrayList<ContactDetail>(); 3513 return this.contact; 3514 } 3515 3516 /** 3517 * @return Returns a reference to <code>this</code> for easy method chaining 3518 */ 3519 public ConceptMap setContact(List<ContactDetail> theContact) { 3520 this.contact = theContact; 3521 return this; 3522 } 3523 3524 public boolean hasContact() { 3525 if (this.contact == null) 3526 return false; 3527 for (ContactDetail item : this.contact) 3528 if (!item.isEmpty()) 3529 return true; 3530 return false; 3531 } 3532 3533 public ContactDetail addContact() { // 3 3534 ContactDetail t = new ContactDetail(); 3535 if (this.contact == null) 3536 this.contact = new ArrayList<ContactDetail>(); 3537 this.contact.add(t); 3538 return t; 3539 } 3540 3541 public ConceptMap addContact(ContactDetail t) { // 3 3542 if (t == null) 3543 return this; 3544 if (this.contact == null) 3545 this.contact = new ArrayList<ContactDetail>(); 3546 this.contact.add(t); 3547 return this; 3548 } 3549 3550 /** 3551 * @return The first repetition of repeating field {@link #contact}, creating it 3552 * if it does not already exist 3553 */ 3554 public ContactDetail getContactFirstRep() { 3555 if (getContact().isEmpty()) { 3556 addContact(); 3557 } 3558 return getContact().get(0); 3559 } 3560 3561 /** 3562 * @return {@link #description} (A free text natural language description of the 3563 * concept map from a consumer's perspective.). This is the underlying 3564 * object with id, value and extensions. The accessor "getDescription" 3565 * gives direct access to the value 3566 */ 3567 public MarkdownType getDescriptionElement() { 3568 if (this.description == null) 3569 if (Configuration.errorOnAutoCreate()) 3570 throw new Error("Attempt to auto-create ConceptMap.description"); 3571 else if (Configuration.doAutoCreate()) 3572 this.description = new MarkdownType(); // bb 3573 return this.description; 3574 } 3575 3576 public boolean hasDescriptionElement() { 3577 return this.description != null && !this.description.isEmpty(); 3578 } 3579 3580 public boolean hasDescription() { 3581 return this.description != null && !this.description.isEmpty(); 3582 } 3583 3584 /** 3585 * @param value {@link #description} (A free text natural language description 3586 * of the concept map from a consumer's perspective.). This is the 3587 * underlying object with id, value and extensions. The accessor 3588 * "getDescription" gives direct access to the value 3589 */ 3590 public ConceptMap setDescriptionElement(MarkdownType value) { 3591 this.description = value; 3592 return this; 3593 } 3594 3595 /** 3596 * @return A free text natural language description of the concept map from a 3597 * consumer's perspective. 3598 */ 3599 public String getDescription() { 3600 return this.description == null ? null : this.description.getValue(); 3601 } 3602 3603 /** 3604 * @param value A free text natural language description of the concept map from 3605 * a consumer's perspective. 3606 */ 3607 public ConceptMap setDescription(String value) { 3608 if (value == null) 3609 this.description = null; 3610 else { 3611 if (this.description == null) 3612 this.description = new MarkdownType(); 3613 this.description.setValue(value); 3614 } 3615 return this; 3616 } 3617 3618 /** 3619 * @return {@link #useContext} (The content was developed with a focus and 3620 * intent of supporting the contexts that are listed. These contexts may 3621 * be general categories (gender, age, ...) or may be references to 3622 * specific programs (insurance plans, studies, ...) and may be used to 3623 * assist with indexing and searching for appropriate concept map 3624 * instances.) 3625 */ 3626 public List<UsageContext> getUseContext() { 3627 if (this.useContext == null) 3628 this.useContext = new ArrayList<UsageContext>(); 3629 return this.useContext; 3630 } 3631 3632 /** 3633 * @return Returns a reference to <code>this</code> for easy method chaining 3634 */ 3635 public ConceptMap setUseContext(List<UsageContext> theUseContext) { 3636 this.useContext = theUseContext; 3637 return this; 3638 } 3639 3640 public boolean hasUseContext() { 3641 if (this.useContext == null) 3642 return false; 3643 for (UsageContext item : this.useContext) 3644 if (!item.isEmpty()) 3645 return true; 3646 return false; 3647 } 3648 3649 public UsageContext addUseContext() { // 3 3650 UsageContext t = new UsageContext(); 3651 if (this.useContext == null) 3652 this.useContext = new ArrayList<UsageContext>(); 3653 this.useContext.add(t); 3654 return t; 3655 } 3656 3657 public ConceptMap addUseContext(UsageContext t) { // 3 3658 if (t == null) 3659 return this; 3660 if (this.useContext == null) 3661 this.useContext = new ArrayList<UsageContext>(); 3662 this.useContext.add(t); 3663 return this; 3664 } 3665 3666 /** 3667 * @return The first repetition of repeating field {@link #useContext}, creating 3668 * it if it does not already exist 3669 */ 3670 public UsageContext getUseContextFirstRep() { 3671 if (getUseContext().isEmpty()) { 3672 addUseContext(); 3673 } 3674 return getUseContext().get(0); 3675 } 3676 3677 /** 3678 * @return {@link #jurisdiction} (A legal or geographic region in which the 3679 * concept map is intended to be used.) 3680 */ 3681 public List<CodeableConcept> getJurisdiction() { 3682 if (this.jurisdiction == null) 3683 this.jurisdiction = new ArrayList<CodeableConcept>(); 3684 return this.jurisdiction; 3685 } 3686 3687 /** 3688 * @return Returns a reference to <code>this</code> for easy method chaining 3689 */ 3690 public ConceptMap setJurisdiction(List<CodeableConcept> theJurisdiction) { 3691 this.jurisdiction = theJurisdiction; 3692 return this; 3693 } 3694 3695 public boolean hasJurisdiction() { 3696 if (this.jurisdiction == null) 3697 return false; 3698 for (CodeableConcept item : this.jurisdiction) 3699 if (!item.isEmpty()) 3700 return true; 3701 return false; 3702 } 3703 3704 public CodeableConcept addJurisdiction() { // 3 3705 CodeableConcept t = new CodeableConcept(); 3706 if (this.jurisdiction == null) 3707 this.jurisdiction = new ArrayList<CodeableConcept>(); 3708 this.jurisdiction.add(t); 3709 return t; 3710 } 3711 3712 public ConceptMap addJurisdiction(CodeableConcept t) { // 3 3713 if (t == null) 3714 return this; 3715 if (this.jurisdiction == null) 3716 this.jurisdiction = new ArrayList<CodeableConcept>(); 3717 this.jurisdiction.add(t); 3718 return this; 3719 } 3720 3721 /** 3722 * @return The first repetition of repeating field {@link #jurisdiction}, 3723 * creating it if it does not already exist 3724 */ 3725 public CodeableConcept getJurisdictionFirstRep() { 3726 if (getJurisdiction().isEmpty()) { 3727 addJurisdiction(); 3728 } 3729 return getJurisdiction().get(0); 3730 } 3731 3732 /** 3733 * @return {@link #purpose} (Explanation of why this concept map is needed and 3734 * why it has been designed as it has.). This is the underlying object 3735 * with id, value and extensions. The accessor "getPurpose" gives direct 3736 * access to the value 3737 */ 3738 public MarkdownType getPurposeElement() { 3739 if (this.purpose == null) 3740 if (Configuration.errorOnAutoCreate()) 3741 throw new Error("Attempt to auto-create ConceptMap.purpose"); 3742 else if (Configuration.doAutoCreate()) 3743 this.purpose = new MarkdownType(); // bb 3744 return this.purpose; 3745 } 3746 3747 public boolean hasPurposeElement() { 3748 return this.purpose != null && !this.purpose.isEmpty(); 3749 } 3750 3751 public boolean hasPurpose() { 3752 return this.purpose != null && !this.purpose.isEmpty(); 3753 } 3754 3755 /** 3756 * @param value {@link #purpose} (Explanation of why this concept map is needed 3757 * and why it has been designed as it has.). This is the underlying 3758 * object with id, value and extensions. The accessor "getPurpose" 3759 * gives direct access to the value 3760 */ 3761 public ConceptMap setPurposeElement(MarkdownType value) { 3762 this.purpose = value; 3763 return this; 3764 } 3765 3766 /** 3767 * @return Explanation of why this concept map is needed and why it has been 3768 * designed as it has. 3769 */ 3770 public String getPurpose() { 3771 return this.purpose == null ? null : this.purpose.getValue(); 3772 } 3773 3774 /** 3775 * @param value Explanation of why this concept map is needed and why it has 3776 * been designed as it has. 3777 */ 3778 public ConceptMap setPurpose(String value) { 3779 if (value == null) 3780 this.purpose = null; 3781 else { 3782 if (this.purpose == null) 3783 this.purpose = new MarkdownType(); 3784 this.purpose.setValue(value); 3785 } 3786 return this; 3787 } 3788 3789 /** 3790 * @return {@link #copyright} (A copyright statement relating to the concept map 3791 * and/or its contents. Copyright statements are generally legal 3792 * restrictions on the use and publishing of the concept map.). This is 3793 * the underlying object with id, value and extensions. The accessor 3794 * "getCopyright" gives direct access to the value 3795 */ 3796 public MarkdownType getCopyrightElement() { 3797 if (this.copyright == null) 3798 if (Configuration.errorOnAutoCreate()) 3799 throw new Error("Attempt to auto-create ConceptMap.copyright"); 3800 else if (Configuration.doAutoCreate()) 3801 this.copyright = new MarkdownType(); // bb 3802 return this.copyright; 3803 } 3804 3805 public boolean hasCopyrightElement() { 3806 return this.copyright != null && !this.copyright.isEmpty(); 3807 } 3808 3809 public boolean hasCopyright() { 3810 return this.copyright != null && !this.copyright.isEmpty(); 3811 } 3812 3813 /** 3814 * @param value {@link #copyright} (A copyright statement relating to the 3815 * concept map and/or its contents. Copyright statements are 3816 * generally legal restrictions on the use and publishing of the 3817 * concept map.). This is the underlying object with id, value and 3818 * extensions. The accessor "getCopyright" gives direct access to 3819 * the value 3820 */ 3821 public ConceptMap setCopyrightElement(MarkdownType value) { 3822 this.copyright = value; 3823 return this; 3824 } 3825 3826 /** 3827 * @return A copyright statement relating to the concept map and/or its 3828 * contents. Copyright statements are generally legal restrictions on 3829 * the use and publishing of the concept map. 3830 */ 3831 public String getCopyright() { 3832 return this.copyright == null ? null : this.copyright.getValue(); 3833 } 3834 3835 /** 3836 * @param value A copyright statement relating to the concept map and/or its 3837 * contents. Copyright statements are generally legal restrictions 3838 * on the use and publishing of the concept map. 3839 */ 3840 public ConceptMap setCopyright(String value) { 3841 if (value == null) 3842 this.copyright = null; 3843 else { 3844 if (this.copyright == null) 3845 this.copyright = new MarkdownType(); 3846 this.copyright.setValue(value); 3847 } 3848 return this; 3849 } 3850 3851 /** 3852 * @return {@link #source} (Identifier for the source value set that contains 3853 * the concepts that are being mapped and provides context for the 3854 * mappings.) 3855 */ 3856 public Type getSource() { 3857 return this.source; 3858 } 3859 3860 /** 3861 * @return {@link #source} (Identifier for the source value set that contains 3862 * the concepts that are being mapped and provides context for the 3863 * mappings.) 3864 */ 3865 public UriType getSourceUriType() throws FHIRException { 3866 if (this.source == null) 3867 this.source = new UriType(); 3868 if (!(this.source instanceof UriType)) 3869 throw new FHIRException( 3870 "Type mismatch: the type UriType was expected, but " + this.source.getClass().getName() + " was encountered"); 3871 return (UriType) this.source; 3872 } 3873 3874 public boolean hasSourceUriType() { 3875 return this != null && this.source instanceof UriType; 3876 } 3877 3878 /** 3879 * @return {@link #source} (Identifier for the source value set that contains 3880 * the concepts that are being mapped and provides context for the 3881 * mappings.) 3882 */ 3883 public CanonicalType getSourceCanonicalType() throws FHIRException { 3884 if (this.source == null) 3885 this.source = new CanonicalType(); 3886 if (!(this.source instanceof CanonicalType)) 3887 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but " 3888 + this.source.getClass().getName() + " was encountered"); 3889 return (CanonicalType) this.source; 3890 } 3891 3892 public boolean hasSourceCanonicalType() { 3893 return this != null && this.source instanceof CanonicalType; 3894 } 3895 3896 public boolean hasSource() { 3897 return this.source != null && !this.source.isEmpty(); 3898 } 3899 3900 /** 3901 * @param value {@link #source} (Identifier for the source value set that 3902 * contains the concepts that are being mapped and provides context 3903 * for the mappings.) 3904 */ 3905 public ConceptMap setSource(Type value) { 3906 if (value != null && !(value instanceof UriType || value instanceof CanonicalType)) 3907 throw new Error("Not the right type for ConceptMap.source[x]: " + value.fhirType()); 3908 this.source = value; 3909 return this; 3910 } 3911 3912 /** 3913 * @return {@link #target} (The target value set provides context for the 3914 * mappings. Note that the mapping is made between concepts, not between 3915 * value sets, but the value set provides important context about how 3916 * the concept mapping choices are made.) 3917 */ 3918 public Type getTarget() { 3919 return this.target; 3920 } 3921 3922 /** 3923 * @return {@link #target} (The target value set provides context for the 3924 * mappings. Note that the mapping is made between concepts, not between 3925 * value sets, but the value set provides important context about how 3926 * the concept mapping choices are made.) 3927 */ 3928 public UriType getTargetUriType() throws FHIRException { 3929 if (this.target == null) 3930 this.target = new UriType(); 3931 if (!(this.target instanceof UriType)) 3932 throw new FHIRException( 3933 "Type mismatch: the type UriType was expected, but " + this.target.getClass().getName() + " was encountered"); 3934 return (UriType) this.target; 3935 } 3936 3937 public boolean hasTargetUriType() { 3938 return this != null && this.target instanceof UriType; 3939 } 3940 3941 /** 3942 * @return {@link #target} (The target value set provides context for the 3943 * mappings. Note that the mapping is made between concepts, not between 3944 * value sets, but the value set provides important context about how 3945 * the concept mapping choices are made.) 3946 */ 3947 public CanonicalType getTargetCanonicalType() throws FHIRException { 3948 if (this.target == null) 3949 this.target = new CanonicalType(); 3950 if (!(this.target instanceof CanonicalType)) 3951 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but " 3952 + this.target.getClass().getName() + " was encountered"); 3953 return (CanonicalType) this.target; 3954 } 3955 3956 public boolean hasTargetCanonicalType() { 3957 return this != null && this.target instanceof CanonicalType; 3958 } 3959 3960 public boolean hasTarget() { 3961 return this.target != null && !this.target.isEmpty(); 3962 } 3963 3964 /** 3965 * @param value {@link #target} (The target value set provides context for the 3966 * mappings. Note that the mapping is made between concepts, not 3967 * between value sets, but the value set provides important context 3968 * about how the concept mapping choices are made.) 3969 */ 3970 public ConceptMap setTarget(Type value) { 3971 if (value != null && !(value instanceof UriType || value instanceof CanonicalType)) 3972 throw new Error("Not the right type for ConceptMap.target[x]: " + value.fhirType()); 3973 this.target = value; 3974 return this; 3975 } 3976 3977 /** 3978 * @return {@link #group} (A group of mappings that all have the same source and 3979 * target system.) 3980 */ 3981 public List<ConceptMapGroupComponent> getGroup() { 3982 if (this.group == null) 3983 this.group = new ArrayList<ConceptMapGroupComponent>(); 3984 return this.group; 3985 } 3986 3987 /** 3988 * @return Returns a reference to <code>this</code> for easy method chaining 3989 */ 3990 public ConceptMap setGroup(List<ConceptMapGroupComponent> theGroup) { 3991 this.group = theGroup; 3992 return this; 3993 } 3994 3995 public boolean hasGroup() { 3996 if (this.group == null) 3997 return false; 3998 for (ConceptMapGroupComponent item : this.group) 3999 if (!item.isEmpty()) 4000 return true; 4001 return false; 4002 } 4003 4004 public ConceptMapGroupComponent addGroup() { // 3 4005 ConceptMapGroupComponent t = new ConceptMapGroupComponent(); 4006 if (this.group == null) 4007 this.group = new ArrayList<ConceptMapGroupComponent>(); 4008 this.group.add(t); 4009 return t; 4010 } 4011 4012 public ConceptMap addGroup(ConceptMapGroupComponent t) { // 3 4013 if (t == null) 4014 return this; 4015 if (this.group == null) 4016 this.group = new ArrayList<ConceptMapGroupComponent>(); 4017 this.group.add(t); 4018 return this; 4019 } 4020 4021 /** 4022 * @return The first repetition of repeating field {@link #group}, creating it 4023 * if it does not already exist 4024 */ 4025 public ConceptMapGroupComponent getGroupFirstRep() { 4026 if (getGroup().isEmpty()) { 4027 addGroup(); 4028 } 4029 return getGroup().get(0); 4030 } 4031 4032 protected void listChildren(List<Property> children) { 4033 super.listChildren(children); 4034 children.add(new Property("url", "uri", 4035 "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.", 4036 0, 1, url)); 4037 children.add(new Property("identifier", "Identifier", 4038 "A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 4039 0, 1, identifier)); 4040 children.add(new Property("version", "string", 4041 "The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the concept map 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.", 4042 0, 1, version)); 4043 children.add(new Property("name", "string", 4044 "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 4045 0, 1, name)); 4046 children.add( 4047 new Property("title", "string", "A short, descriptive, user-friendly title for the concept map.", 0, 1, title)); 4048 children.add(new Property("status", "code", 4049 "The status of this concept map. Enables tracking the life-cycle of the content.", 0, 1, status)); 4050 children.add(new Property("experimental", "boolean", 4051 "A Boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 4052 0, 1, experimental)); 4053 children.add(new Property("date", "dateTime", 4054 "The date (and optionally time) when the concept map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 4055 0, 1, date)); 4056 children.add(new Property("publisher", "string", 4057 "The name of the organization or individual that published the concept map.", 0, 1, publisher)); 4058 children.add(new Property("contact", "ContactDetail", 4059 "Contact details to assist a user in finding and communicating with the publisher.", 0, 4060 java.lang.Integer.MAX_VALUE, contact)); 4061 children.add(new Property("description", "markdown", 4062 "A free text natural language description of the concept map from a consumer's perspective.", 0, 1, 4063 description)); 4064 children.add(new Property("useContext", "UsageContext", 4065 "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate concept map instances.", 4066 0, java.lang.Integer.MAX_VALUE, useContext)); 4067 children.add(new Property("jurisdiction", "CodeableConcept", 4068 "A legal or geographic region in which the concept map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, 4069 jurisdiction)); 4070 children.add(new Property("purpose", "markdown", 4071 "Explanation of why this concept map is needed and why it has been designed as it has.", 0, 1, purpose)); 4072 children.add(new Property("copyright", "markdown", 4073 "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.", 4074 0, 1, copyright)); 4075 children.add(new Property("source[x]", "uri|canonical(ValueSet)", 4076 "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.", 4077 0, 1, source)); 4078 children.add(new Property("target[x]", "uri|canonical(ValueSet)", 4079 "The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.", 4080 0, 1, target)); 4081 children.add(new Property("group", "", "A group of mappings that all have the same source and target system.", 0, 4082 java.lang.Integer.MAX_VALUE, group)); 4083 } 4084 4085 @Override 4086 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4087 switch (_hash) { 4088 case 116079: 4089 /* url */ return new Property("url", "uri", 4090 "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.", 4091 0, 1, url); 4092 case -1618432855: 4093 /* identifier */ return new Property("identifier", "Identifier", 4094 "A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 4095 0, 1, identifier); 4096 case 351608024: 4097 /* version */ return new Property("version", "string", 4098 "The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the concept map 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.", 4099 0, 1, version); 4100 case 3373707: 4101 /* name */ return new Property("name", "string", 4102 "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 4103 0, 1, name); 4104 case 110371416: 4105 /* title */ return new Property("title", "string", 4106 "A short, descriptive, user-friendly title for the concept map.", 0, 1, title); 4107 case -892481550: 4108 /* status */ return new Property("status", "code", 4109 "The status of this concept map. Enables tracking the life-cycle of the content.", 0, 1, status); 4110 case -404562712: 4111 /* experimental */ return new Property("experimental", "boolean", 4112 "A Boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 4113 0, 1, experimental); 4114 case 3076014: 4115 /* date */ return new Property("date", "dateTime", 4116 "The date (and optionally time) when the concept map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 4117 0, 1, date); 4118 case 1447404028: 4119 /* publisher */ return new Property("publisher", "string", 4120 "The name of the organization or individual that published the concept map.", 0, 1, publisher); 4121 case 951526432: 4122 /* contact */ return new Property("contact", "ContactDetail", 4123 "Contact details to assist a user in finding and communicating with the publisher.", 0, 4124 java.lang.Integer.MAX_VALUE, contact); 4125 case -1724546052: 4126 /* description */ return new Property("description", "markdown", 4127 "A free text natural language description of the concept map from a consumer's perspective.", 0, 1, 4128 description); 4129 case -669707736: 4130 /* useContext */ return new Property("useContext", "UsageContext", 4131 "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate concept map instances.", 4132 0, java.lang.Integer.MAX_VALUE, useContext); 4133 case -507075711: 4134 /* jurisdiction */ return new Property("jurisdiction", "CodeableConcept", 4135 "A legal or geographic region in which the concept map is intended to be used.", 0, 4136 java.lang.Integer.MAX_VALUE, jurisdiction); 4137 case -220463842: 4138 /* purpose */ return new Property("purpose", "markdown", 4139 "Explanation of why this concept map is needed and why it has been designed as it has.", 0, 1, purpose); 4140 case 1522889671: 4141 /* copyright */ return new Property("copyright", "markdown", 4142 "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.", 4143 0, 1, copyright); 4144 case -1698413947: 4145 /* source[x] */ return new Property("source[x]", "uri|canonical(ValueSet)", 4146 "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.", 4147 0, 1, source); 4148 case -896505829: 4149 /* source */ return new Property("source[x]", "uri|canonical(ValueSet)", 4150 "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.", 4151 0, 1, source); 4152 case -1698419887: 4153 /* sourceUri */ return new Property("source[x]", "uri|canonical(ValueSet)", 4154 "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.", 4155 0, 1, source); 4156 case 1509247769: 4157 /* sourceCanonical */ return new Property("source[x]", "uri|canonical(ValueSet)", 4158 "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.", 4159 0, 1, source); 4160 case -815579825: 4161 /* target[x] */ return new Property("target[x]", "uri|canonical(ValueSet)", 4162 "The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.", 4163 0, 1, target); 4164 case -880905839: 4165 /* target */ return new Property("target[x]", "uri|canonical(ValueSet)", 4166 "The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.", 4167 0, 1, target); 4168 case -815585765: 4169 /* targetUri */ return new Property("target[x]", "uri|canonical(ValueSet)", 4170 "The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.", 4171 0, 1, target); 4172 case -1281653149: 4173 /* targetCanonical */ return new Property("target[x]", "uri|canonical(ValueSet)", 4174 "The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.", 4175 0, 1, target); 4176 case 98629247: 4177 /* group */ return new Property("group", "", 4178 "A group of mappings that all have the same source and target system.", 0, java.lang.Integer.MAX_VALUE, 4179 group); 4180 default: 4181 return super.getNamedProperty(_hash, _name, _checkValid); 4182 } 4183 4184 } 4185 4186 @Override 4187 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4188 switch (hash) { 4189 case 116079: 4190 /* url */ return this.url == null ? new Base[0] : new Base[] { this.url }; // UriType 4191 case -1618432855: 4192 /* identifier */ return this.identifier == null ? new Base[0] : new Base[] { this.identifier }; // Identifier 4193 case 351608024: 4194 /* version */ return this.version == null ? new Base[0] : new Base[] { this.version }; // StringType 4195 case 3373707: 4196 /* name */ return this.name == null ? new Base[0] : new Base[] { this.name }; // StringType 4197 case 110371416: 4198 /* title */ return this.title == null ? new Base[0] : new Base[] { this.title }; // StringType 4199 case -892481550: 4200 /* status */ return this.status == null ? new Base[0] : new Base[] { this.status }; // Enumeration<PublicationStatus> 4201 case -404562712: 4202 /* experimental */ return this.experimental == null ? new Base[0] : new Base[] { this.experimental }; // BooleanType 4203 case 3076014: 4204 /* date */ return this.date == null ? new Base[0] : new Base[] { this.date }; // DateTimeType 4205 case 1447404028: 4206 /* publisher */ return this.publisher == null ? new Base[0] : new Base[] { this.publisher }; // StringType 4207 case 951526432: 4208 /* contact */ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 4209 case -1724546052: 4210 /* description */ return this.description == null ? new Base[0] : new Base[] { this.description }; // MarkdownType 4211 case -669707736: 4212 /* useContext */ return this.useContext == null ? new Base[0] 4213 : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 4214 case -507075711: 4215 /* jurisdiction */ return this.jurisdiction == null ? new Base[0] 4216 : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 4217 case -220463842: 4218 /* purpose */ return this.purpose == null ? new Base[0] : new Base[] { this.purpose }; // MarkdownType 4219 case 1522889671: 4220 /* copyright */ return this.copyright == null ? new Base[0] : new Base[] { this.copyright }; // MarkdownType 4221 case -896505829: 4222 /* source */ return this.source == null ? new Base[0] : new Base[] { this.source }; // Type 4223 case -880905839: 4224 /* target */ return this.target == null ? new Base[0] : new Base[] { this.target }; // Type 4225 case 98629247: 4226 /* group */ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // ConceptMapGroupComponent 4227 default: 4228 return super.getProperty(hash, name, checkValid); 4229 } 4230 4231 } 4232 4233 @Override 4234 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4235 switch (hash) { 4236 case 116079: // url 4237 this.url = castToUri(value); // UriType 4238 return value; 4239 case -1618432855: // identifier 4240 this.identifier = castToIdentifier(value); // Identifier 4241 return value; 4242 case 351608024: // version 4243 this.version = castToString(value); // StringType 4244 return value; 4245 case 3373707: // name 4246 this.name = castToString(value); // StringType 4247 return value; 4248 case 110371416: // title 4249 this.title = castToString(value); // StringType 4250 return value; 4251 case -892481550: // status 4252 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 4253 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4254 return value; 4255 case -404562712: // experimental 4256 this.experimental = castToBoolean(value); // BooleanType 4257 return value; 4258 case 3076014: // date 4259 this.date = castToDateTime(value); // DateTimeType 4260 return value; 4261 case 1447404028: // publisher 4262 this.publisher = castToString(value); // StringType 4263 return value; 4264 case 951526432: // contact 4265 this.getContact().add(castToContactDetail(value)); // ContactDetail 4266 return value; 4267 case -1724546052: // description 4268 this.description = castToMarkdown(value); // MarkdownType 4269 return value; 4270 case -669707736: // useContext 4271 this.getUseContext().add(castToUsageContext(value)); // UsageContext 4272 return value; 4273 case -507075711: // jurisdiction 4274 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 4275 return value; 4276 case -220463842: // purpose 4277 this.purpose = castToMarkdown(value); // MarkdownType 4278 return value; 4279 case 1522889671: // copyright 4280 this.copyright = castToMarkdown(value); // MarkdownType 4281 return value; 4282 case -896505829: // source 4283 this.source = castToType(value); // Type 4284 return value; 4285 case -880905839: // target 4286 this.target = castToType(value); // Type 4287 return value; 4288 case 98629247: // group 4289 this.getGroup().add((ConceptMapGroupComponent) value); // ConceptMapGroupComponent 4290 return value; 4291 default: 4292 return super.setProperty(hash, name, value); 4293 } 4294 4295 } 4296 4297 @Override 4298 public Base setProperty(String name, Base value) throws FHIRException { 4299 if (name.equals("url")) { 4300 this.url = castToUri(value); // UriType 4301 } else if (name.equals("identifier")) { 4302 this.identifier = castToIdentifier(value); // Identifier 4303 } else if (name.equals("version")) { 4304 this.version = castToString(value); // StringType 4305 } else if (name.equals("name")) { 4306 this.name = castToString(value); // StringType 4307 } else if (name.equals("title")) { 4308 this.title = castToString(value); // StringType 4309 } else if (name.equals("status")) { 4310 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 4311 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4312 } else if (name.equals("experimental")) { 4313 this.experimental = castToBoolean(value); // BooleanType 4314 } else if (name.equals("date")) { 4315 this.date = castToDateTime(value); // DateTimeType 4316 } else if (name.equals("publisher")) { 4317 this.publisher = castToString(value); // StringType 4318 } else if (name.equals("contact")) { 4319 this.getContact().add(castToContactDetail(value)); 4320 } else if (name.equals("description")) { 4321 this.description = castToMarkdown(value); // MarkdownType 4322 } else if (name.equals("useContext")) { 4323 this.getUseContext().add(castToUsageContext(value)); 4324 } else if (name.equals("jurisdiction")) { 4325 this.getJurisdiction().add(castToCodeableConcept(value)); 4326 } else if (name.equals("purpose")) { 4327 this.purpose = castToMarkdown(value); // MarkdownType 4328 } else if (name.equals("copyright")) { 4329 this.copyright = castToMarkdown(value); // MarkdownType 4330 } else if (name.equals("source[x]")) { 4331 this.source = castToType(value); // Type 4332 } else if (name.equals("target[x]")) { 4333 this.target = castToType(value); // Type 4334 } else if (name.equals("group")) { 4335 this.getGroup().add((ConceptMapGroupComponent) value); 4336 } else 4337 return super.setProperty(name, value); 4338 return value; 4339 } 4340 4341 @Override 4342 public void removeChild(String name, Base value) throws FHIRException { 4343 if (name.equals("url")) { 4344 this.url = null; 4345 } else if (name.equals("identifier")) { 4346 this.identifier = null; 4347 } else if (name.equals("version")) { 4348 this.version = null; 4349 } else if (name.equals("name")) { 4350 this.name = null; 4351 } else if (name.equals("title")) { 4352 this.title = null; 4353 } else if (name.equals("status")) { 4354 this.status = null; 4355 } else if (name.equals("experimental")) { 4356 this.experimental = null; 4357 } else if (name.equals("date")) { 4358 this.date = null; 4359 } else if (name.equals("publisher")) { 4360 this.publisher = null; 4361 } else if (name.equals("contact")) { 4362 this.getContact().remove(castToContactDetail(value)); 4363 } else if (name.equals("description")) { 4364 this.description = null; 4365 } else if (name.equals("useContext")) { 4366 this.getUseContext().remove(castToUsageContext(value)); 4367 } else if (name.equals("jurisdiction")) { 4368 this.getJurisdiction().remove(castToCodeableConcept(value)); 4369 } else if (name.equals("purpose")) { 4370 this.purpose = null; 4371 } else if (name.equals("copyright")) { 4372 this.copyright = null; 4373 } else if (name.equals("source[x]")) { 4374 this.source = null; 4375 } else if (name.equals("target[x]")) { 4376 this.target = null; 4377 } else if (name.equals("group")) { 4378 this.getGroup().remove((ConceptMapGroupComponent) value); 4379 } else 4380 super.removeChild(name, value); 4381 4382 } 4383 4384 @Override 4385 public Base makeProperty(int hash, String name) throws FHIRException { 4386 switch (hash) { 4387 case 116079: 4388 return getUrlElement(); 4389 case -1618432855: 4390 return getIdentifier(); 4391 case 351608024: 4392 return getVersionElement(); 4393 case 3373707: 4394 return getNameElement(); 4395 case 110371416: 4396 return getTitleElement(); 4397 case -892481550: 4398 return getStatusElement(); 4399 case -404562712: 4400 return getExperimentalElement(); 4401 case 3076014: 4402 return getDateElement(); 4403 case 1447404028: 4404 return getPublisherElement(); 4405 case 951526432: 4406 return addContact(); 4407 case -1724546052: 4408 return getDescriptionElement(); 4409 case -669707736: 4410 return addUseContext(); 4411 case -507075711: 4412 return addJurisdiction(); 4413 case -220463842: 4414 return getPurposeElement(); 4415 case 1522889671: 4416 return getCopyrightElement(); 4417 case -1698413947: 4418 return getSource(); 4419 case -896505829: 4420 return getSource(); 4421 case -815579825: 4422 return getTarget(); 4423 case -880905839: 4424 return getTarget(); 4425 case 98629247: 4426 return addGroup(); 4427 default: 4428 return super.makeProperty(hash, name); 4429 } 4430 4431 } 4432 4433 @Override 4434 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4435 switch (hash) { 4436 case 116079: 4437 /* url */ return new String[] { "uri" }; 4438 case -1618432855: 4439 /* identifier */ return new String[] { "Identifier" }; 4440 case 351608024: 4441 /* version */ return new String[] { "string" }; 4442 case 3373707: 4443 /* name */ return new String[] { "string" }; 4444 case 110371416: 4445 /* title */ return new String[] { "string" }; 4446 case -892481550: 4447 /* status */ return new String[] { "code" }; 4448 case -404562712: 4449 /* experimental */ return new String[] { "boolean" }; 4450 case 3076014: 4451 /* date */ return new String[] { "dateTime" }; 4452 case 1447404028: 4453 /* publisher */ return new String[] { "string" }; 4454 case 951526432: 4455 /* contact */ return new String[] { "ContactDetail" }; 4456 case -1724546052: 4457 /* description */ return new String[] { "markdown" }; 4458 case -669707736: 4459 /* useContext */ return new String[] { "UsageContext" }; 4460 case -507075711: 4461 /* jurisdiction */ return new String[] { "CodeableConcept" }; 4462 case -220463842: 4463 /* purpose */ return new String[] { "markdown" }; 4464 case 1522889671: 4465 /* copyright */ return new String[] { "markdown" }; 4466 case -896505829: 4467 /* source */ return new String[] { "uri", "canonical" }; 4468 case -880905839: 4469 /* target */ return new String[] { "uri", "canonical" }; 4470 case 98629247: 4471 /* group */ return new String[] {}; 4472 default: 4473 return super.getTypesForProperty(hash, name); 4474 } 4475 4476 } 4477 4478 @Override 4479 public Base addChild(String name) throws FHIRException { 4480 if (name.equals("url")) { 4481 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.url"); 4482 } else if (name.equals("identifier")) { 4483 this.identifier = new Identifier(); 4484 return this.identifier; 4485 } else if (name.equals("version")) { 4486 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.version"); 4487 } else if (name.equals("name")) { 4488 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.name"); 4489 } else if (name.equals("title")) { 4490 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.title"); 4491 } else if (name.equals("status")) { 4492 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.status"); 4493 } else if (name.equals("experimental")) { 4494 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.experimental"); 4495 } else if (name.equals("date")) { 4496 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.date"); 4497 } else if (name.equals("publisher")) { 4498 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.publisher"); 4499 } else if (name.equals("contact")) { 4500 return addContact(); 4501 } else if (name.equals("description")) { 4502 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.description"); 4503 } else if (name.equals("useContext")) { 4504 return addUseContext(); 4505 } else if (name.equals("jurisdiction")) { 4506 return addJurisdiction(); 4507 } else if (name.equals("purpose")) { 4508 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.purpose"); 4509 } else if (name.equals("copyright")) { 4510 throw new FHIRException("Cannot call addChild on a singleton property ConceptMap.copyright"); 4511 } else if (name.equals("sourceUri")) { 4512 this.source = new UriType(); 4513 return this.source; 4514 } else if (name.equals("sourceCanonical")) { 4515 this.source = new CanonicalType(); 4516 return this.source; 4517 } else if (name.equals("targetUri")) { 4518 this.target = new UriType(); 4519 return this.target; 4520 } else if (name.equals("targetCanonical")) { 4521 this.target = new CanonicalType(); 4522 return this.target; 4523 } else if (name.equals("group")) { 4524 return addGroup(); 4525 } else 4526 return super.addChild(name); 4527 } 4528 4529 public String fhirType() { 4530 return "ConceptMap"; 4531 4532 } 4533 4534 public ConceptMap copy() { 4535 ConceptMap dst = new ConceptMap(); 4536 copyValues(dst); 4537 return dst; 4538 } 4539 4540 public void copyValues(ConceptMap dst) { 4541 super.copyValues(dst); 4542 dst.url = url == null ? null : url.copy(); 4543 dst.identifier = identifier == null ? null : identifier.copy(); 4544 dst.version = version == null ? null : version.copy(); 4545 dst.name = name == null ? null : name.copy(); 4546 dst.title = title == null ? null : title.copy(); 4547 dst.status = status == null ? null : status.copy(); 4548 dst.experimental = experimental == null ? null : experimental.copy(); 4549 dst.date = date == null ? null : date.copy(); 4550 dst.publisher = publisher == null ? null : publisher.copy(); 4551 if (contact != null) { 4552 dst.contact = new ArrayList<ContactDetail>(); 4553 for (ContactDetail i : contact) 4554 dst.contact.add(i.copy()); 4555 } 4556 ; 4557 dst.description = description == null ? null : description.copy(); 4558 if (useContext != null) { 4559 dst.useContext = new ArrayList<UsageContext>(); 4560 for (UsageContext i : useContext) 4561 dst.useContext.add(i.copy()); 4562 } 4563 ; 4564 if (jurisdiction != null) { 4565 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4566 for (CodeableConcept i : jurisdiction) 4567 dst.jurisdiction.add(i.copy()); 4568 } 4569 ; 4570 dst.purpose = purpose == null ? null : purpose.copy(); 4571 dst.copyright = copyright == null ? null : copyright.copy(); 4572 dst.source = source == null ? null : source.copy(); 4573 dst.target = target == null ? null : target.copy(); 4574 if (group != null) { 4575 dst.group = new ArrayList<ConceptMapGroupComponent>(); 4576 for (ConceptMapGroupComponent i : group) 4577 dst.group.add(i.copy()); 4578 } 4579 ; 4580 } 4581 4582 protected ConceptMap typedCopy() { 4583 return copy(); 4584 } 4585 4586 @Override 4587 public boolean equalsDeep(Base other_) { 4588 if (!super.equalsDeep(other_)) 4589 return false; 4590 if (!(other_ instanceof ConceptMap)) 4591 return false; 4592 ConceptMap o = (ConceptMap) other_; 4593 return compareDeep(identifier, o.identifier, true) && compareDeep(purpose, o.purpose, true) 4594 && compareDeep(copyright, o.copyright, true) && compareDeep(source, o.source, true) 4595 && compareDeep(target, o.target, true) && compareDeep(group, o.group, true); 4596 } 4597 4598 @Override 4599 public boolean equalsShallow(Base other_) { 4600 if (!super.equalsShallow(other_)) 4601 return false; 4602 if (!(other_ instanceof ConceptMap)) 4603 return false; 4604 ConceptMap o = (ConceptMap) other_; 4605 return compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true); 4606 } 4607 4608 public boolean isEmpty() { 4609 return super.isEmpty() 4610 && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, purpose, copyright, source, target, group); 4611 } 4612 4613 @Override 4614 public ResourceType getResourceType() { 4615 return ResourceType.ConceptMap; 4616 } 4617 4618 /** 4619 * Search parameter: <b>date</b> 4620 * <p> 4621 * Description: <b>The concept map publication date</b><br> 4622 * Type: <b>date</b><br> 4623 * Path: <b>ConceptMap.date</b><br> 4624 * </p> 4625 */ 4626 @SearchParamDefinition(name = "date", path = "ConceptMap.date", description = "The concept map publication date", type = "date") 4627 public static final String SP_DATE = "date"; 4628 /** 4629 * <b>Fluent Client</b> search parameter constant for <b>date</b> 4630 * <p> 4631 * Description: <b>The concept map publication date</b><br> 4632 * Type: <b>date</b><br> 4633 * Path: <b>ConceptMap.date</b><br> 4634 * </p> 4635 */ 4636 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam( 4637 SP_DATE); 4638 4639 /** 4640 * Search parameter: <b>other</b> 4641 * <p> 4642 * Description: <b>canonical reference to an additional ConceptMap to use for 4643 * mapping if the source concept is unmapped</b><br> 4644 * Type: <b>reference</b><br> 4645 * Path: <b>ConceptMap.group.unmapped.url</b><br> 4646 * </p> 4647 */ 4648 @SearchParamDefinition(name = "other", path = "ConceptMap.group.unmapped.url", description = "canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped", type = "reference", target = { 4649 ConceptMap.class }) 4650 public static final String SP_OTHER = "other"; 4651 /** 4652 * <b>Fluent Client</b> search parameter constant for <b>other</b> 4653 * <p> 4654 * Description: <b>canonical reference to an additional ConceptMap to use for 4655 * mapping if the source concept is unmapped</b><br> 4656 * Type: <b>reference</b><br> 4657 * Path: <b>ConceptMap.group.unmapped.url</b><br> 4658 * </p> 4659 */ 4660 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OTHER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 4661 SP_OTHER); 4662 4663 /** 4664 * Constant for fluent queries to be used to add include statements. Specifies 4665 * the path value of "<b>ConceptMap:other</b>". 4666 */ 4667 public static final ca.uhn.fhir.model.api.Include INCLUDE_OTHER = new ca.uhn.fhir.model.api.Include( 4668 "ConceptMap:other").toLocked(); 4669 4670 /** 4671 * Search parameter: <b>context-type-value</b> 4672 * <p> 4673 * Description: <b>A use context type and value assigned to the concept 4674 * map</b><br> 4675 * Type: <b>composite</b><br> 4676 * Path: <b></b><br> 4677 * </p> 4678 */ 4679 @SearchParamDefinition(name = "context-type-value", path = "ConceptMap.useContext", description = "A use context type and value assigned to the concept map", type = "composite", compositeOf = { 4680 "context-type", "context" }) 4681 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 4682 /** 4683 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 4684 * <p> 4685 * Description: <b>A use context type and value assigned to the concept 4686 * map</b><br> 4687 * Type: <b>composite</b><br> 4688 * Path: <b></b><br> 4689 * </p> 4690 */ 4691 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>( 4692 SP_CONTEXT_TYPE_VALUE); 4693 4694 /** 4695 * Search parameter: <b>target-system</b> 4696 * <p> 4697 * Description: <b>Target system that the concepts are to be mapped to</b><br> 4698 * Type: <b>uri</b><br> 4699 * Path: <b>ConceptMap.group.target</b><br> 4700 * </p> 4701 */ 4702 @SearchParamDefinition(name = "target-system", path = "ConceptMap.group.target", description = "Target system that the concepts are to be mapped to", type = "uri") 4703 public static final String SP_TARGET_SYSTEM = "target-system"; 4704 /** 4705 * <b>Fluent Client</b> search parameter constant for <b>target-system</b> 4706 * <p> 4707 * Description: <b>Target system that the concepts are to be mapped to</b><br> 4708 * Type: <b>uri</b><br> 4709 * Path: <b>ConceptMap.group.target</b><br> 4710 * </p> 4711 */ 4712 public static final ca.uhn.fhir.rest.gclient.UriClientParam TARGET_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam( 4713 SP_TARGET_SYSTEM); 4714 4715 /** 4716 * Search parameter: <b>dependson</b> 4717 * <p> 4718 * Description: <b>Reference to property mapping depends on</b><br> 4719 * Type: <b>uri</b><br> 4720 * Path: <b>ConceptMap.group.element.target.dependsOn.property</b><br> 4721 * </p> 4722 */ 4723 @SearchParamDefinition(name = "dependson", path = "ConceptMap.group.element.target.dependsOn.property", description = "Reference to property mapping depends on", type = "uri") 4724 public static final String SP_DEPENDSON = "dependson"; 4725 /** 4726 * <b>Fluent Client</b> search parameter constant for <b>dependson</b> 4727 * <p> 4728 * Description: <b>Reference to property mapping depends on</b><br> 4729 * Type: <b>uri</b><br> 4730 * Path: <b>ConceptMap.group.element.target.dependsOn.property</b><br> 4731 * </p> 4732 */ 4733 public static final ca.uhn.fhir.rest.gclient.UriClientParam DEPENDSON = new ca.uhn.fhir.rest.gclient.UriClientParam( 4734 SP_DEPENDSON); 4735 4736 /** 4737 * Search parameter: <b>jurisdiction</b> 4738 * <p> 4739 * Description: <b>Intended jurisdiction for the concept map</b><br> 4740 * Type: <b>token</b><br> 4741 * Path: <b>ConceptMap.jurisdiction</b><br> 4742 * </p> 4743 */ 4744 @SearchParamDefinition(name = "jurisdiction", path = "ConceptMap.jurisdiction", description = "Intended jurisdiction for the concept map", type = "token") 4745 public static final String SP_JURISDICTION = "jurisdiction"; 4746 /** 4747 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 4748 * <p> 4749 * Description: <b>Intended jurisdiction for the concept map</b><br> 4750 * Type: <b>token</b><br> 4751 * Path: <b>ConceptMap.jurisdiction</b><br> 4752 * </p> 4753 */ 4754 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam( 4755 SP_JURISDICTION); 4756 4757 /** 4758 * Search parameter: <b>description</b> 4759 * <p> 4760 * Description: <b>The description of the concept map</b><br> 4761 * Type: <b>string</b><br> 4762 * Path: <b>ConceptMap.description</b><br> 4763 * </p> 4764 */ 4765 @SearchParamDefinition(name = "description", path = "ConceptMap.description", description = "The description of the concept map", type = "string") 4766 public static final String SP_DESCRIPTION = "description"; 4767 /** 4768 * <b>Fluent Client</b> search parameter constant for <b>description</b> 4769 * <p> 4770 * Description: <b>The description of the concept map</b><br> 4771 * Type: <b>string</b><br> 4772 * Path: <b>ConceptMap.description</b><br> 4773 * </p> 4774 */ 4775 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam( 4776 SP_DESCRIPTION); 4777 4778 /** 4779 * Search parameter: <b>context-type</b> 4780 * <p> 4781 * Description: <b>A type of use context assigned to the concept map</b><br> 4782 * Type: <b>token</b><br> 4783 * Path: <b>ConceptMap.useContext.code</b><br> 4784 * </p> 4785 */ 4786 @SearchParamDefinition(name = "context-type", path = "ConceptMap.useContext.code", description = "A type of use context assigned to the concept map", type = "token") 4787 public static final String SP_CONTEXT_TYPE = "context-type"; 4788 /** 4789 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 4790 * <p> 4791 * Description: <b>A type of use context assigned to the concept map</b><br> 4792 * Type: <b>token</b><br> 4793 * Path: <b>ConceptMap.useContext.code</b><br> 4794 * </p> 4795 */ 4796 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 4797 SP_CONTEXT_TYPE); 4798 4799 /** 4800 * Search parameter: <b>source</b> 4801 * <p> 4802 * Description: <b>The source value set that contains the concepts that are 4803 * being mapped</b><br> 4804 * Type: <b>reference</b><br> 4805 * Path: <b>ConceptMap.sourceCanonical</b><br> 4806 * </p> 4807 */ 4808 @SearchParamDefinition(name = "source", path = "(ConceptMap.source as canonical)", description = "The source value set that contains the concepts that are being mapped", type = "reference", target = { 4809 ValueSet.class }) 4810 public static final String SP_SOURCE = "source"; 4811 /** 4812 * <b>Fluent Client</b> search parameter constant for <b>source</b> 4813 * <p> 4814 * Description: <b>The source value set that contains the concepts that are 4815 * being mapped</b><br> 4816 * Type: <b>reference</b><br> 4817 * Path: <b>ConceptMap.sourceCanonical</b><br> 4818 * </p> 4819 */ 4820 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 4821 SP_SOURCE); 4822 4823 /** 4824 * Constant for fluent queries to be used to add include statements. Specifies 4825 * the path value of "<b>ConceptMap:source</b>". 4826 */ 4827 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE = new ca.uhn.fhir.model.api.Include( 4828 "ConceptMap:source").toLocked(); 4829 4830 /** 4831 * Search parameter: <b>title</b> 4832 * <p> 4833 * Description: <b>The human-friendly name of the concept map</b><br> 4834 * Type: <b>string</b><br> 4835 * Path: <b>ConceptMap.title</b><br> 4836 * </p> 4837 */ 4838 @SearchParamDefinition(name = "title", path = "ConceptMap.title", description = "The human-friendly name of the concept map", type = "string") 4839 public static final String SP_TITLE = "title"; 4840 /** 4841 * <b>Fluent Client</b> search parameter constant for <b>title</b> 4842 * <p> 4843 * Description: <b>The human-friendly name of the concept map</b><br> 4844 * Type: <b>string</b><br> 4845 * Path: <b>ConceptMap.title</b><br> 4846 * </p> 4847 */ 4848 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam( 4849 SP_TITLE); 4850 4851 /** 4852 * Search parameter: <b>context-quantity</b> 4853 * <p> 4854 * Description: <b>A quantity- or range-valued use context assigned to the 4855 * concept map</b><br> 4856 * Type: <b>quantity</b><br> 4857 * Path: <b>ConceptMap.useContext.valueQuantity, 4858 * ConceptMap.useContext.valueRange</b><br> 4859 * </p> 4860 */ 4861 @SearchParamDefinition(name = "context-quantity", path = "(ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range)", description = "A quantity- or range-valued use context assigned to the concept map", type = "quantity") 4862 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 4863 /** 4864 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 4865 * <p> 4866 * Description: <b>A quantity- or range-valued use context assigned to the 4867 * concept map</b><br> 4868 * Type: <b>quantity</b><br> 4869 * Path: <b>ConceptMap.useContext.valueQuantity, 4870 * ConceptMap.useContext.valueRange</b><br> 4871 * </p> 4872 */ 4873 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam( 4874 SP_CONTEXT_QUANTITY); 4875 4876 /** 4877 * Search parameter: <b>source-uri</b> 4878 * <p> 4879 * Description: <b>The source value set that contains the concepts that are 4880 * being mapped</b><br> 4881 * Type: <b>reference</b><br> 4882 * Path: <b>ConceptMap.sourceUri</b><br> 4883 * </p> 4884 */ 4885 @SearchParamDefinition(name = "source-uri", path = "(ConceptMap.source as uri)", description = "The source value set that contains the concepts that are being mapped", type = "reference", target = { 4886 ValueSet.class }) 4887 public static final String SP_SOURCE_URI = "source-uri"; 4888 /** 4889 * <b>Fluent Client</b> search parameter constant for <b>source-uri</b> 4890 * <p> 4891 * Description: <b>The source value set that contains the concepts that are 4892 * being mapped</b><br> 4893 * Type: <b>reference</b><br> 4894 * Path: <b>ConceptMap.sourceUri</b><br> 4895 * </p> 4896 */ 4897 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 4898 SP_SOURCE_URI); 4899 4900 /** 4901 * Constant for fluent queries to be used to add include statements. Specifies 4902 * the path value of "<b>ConceptMap:source-uri</b>". 4903 */ 4904 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_URI = new ca.uhn.fhir.model.api.Include( 4905 "ConceptMap:source-uri").toLocked(); 4906 4907 /** 4908 * Search parameter: <b>context</b> 4909 * <p> 4910 * Description: <b>A use context assigned to the concept map</b><br> 4911 * Type: <b>token</b><br> 4912 * Path: <b>ConceptMap.useContext.valueCodeableConcept</b><br> 4913 * </p> 4914 */ 4915 @SearchParamDefinition(name = "context", path = "(ConceptMap.useContext.value as CodeableConcept)", description = "A use context assigned to the concept map", type = "token") 4916 public static final String SP_CONTEXT = "context"; 4917 /** 4918 * <b>Fluent Client</b> search parameter constant for <b>context</b> 4919 * <p> 4920 * Description: <b>A use context assigned to the concept map</b><br> 4921 * Type: <b>token</b><br> 4922 * Path: <b>ConceptMap.useContext.valueCodeableConcept</b><br> 4923 * </p> 4924 */ 4925 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam( 4926 SP_CONTEXT); 4927 4928 /** 4929 * Search parameter: <b>context-type-quantity</b> 4930 * <p> 4931 * Description: <b>A use context type and quantity- or range-based value 4932 * assigned to the concept map</b><br> 4933 * Type: <b>composite</b><br> 4934 * Path: <b></b><br> 4935 * </p> 4936 */ 4937 @SearchParamDefinition(name = "context-type-quantity", path = "ConceptMap.useContext", description = "A use context type and quantity- or range-based value assigned to the concept map", type = "composite", compositeOf = { 4938 "context-type", "context-quantity" }) 4939 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 4940 /** 4941 * <b>Fluent Client</b> search parameter constant for 4942 * <b>context-type-quantity</b> 4943 * <p> 4944 * Description: <b>A use context type and quantity- or range-based value 4945 * assigned to the concept map</b><br> 4946 * Type: <b>composite</b><br> 4947 * Path: <b></b><br> 4948 * </p> 4949 */ 4950 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>( 4951 SP_CONTEXT_TYPE_QUANTITY); 4952 4953 /** 4954 * Search parameter: <b>source-system</b> 4955 * <p> 4956 * Description: <b>Source system where concepts to be mapped are defined</b><br> 4957 * Type: <b>uri</b><br> 4958 * Path: <b>ConceptMap.group.source</b><br> 4959 * </p> 4960 */ 4961 @SearchParamDefinition(name = "source-system", path = "ConceptMap.group.source", description = "Source system where concepts to be mapped are defined", type = "uri") 4962 public static final String SP_SOURCE_SYSTEM = "source-system"; 4963 /** 4964 * <b>Fluent Client</b> search parameter constant for <b>source-system</b> 4965 * <p> 4966 * Description: <b>Source system where concepts to be mapped are defined</b><br> 4967 * Type: <b>uri</b><br> 4968 * Path: <b>ConceptMap.group.source</b><br> 4969 * </p> 4970 */ 4971 public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam( 4972 SP_SOURCE_SYSTEM); 4973 4974 /** 4975 * Search parameter: <b>target-code</b> 4976 * <p> 4977 * Description: <b>Code that identifies the target element</b><br> 4978 * Type: <b>token</b><br> 4979 * Path: <b>ConceptMap.group.element.target.code</b><br> 4980 * </p> 4981 */ 4982 @SearchParamDefinition(name = "target-code", path = "ConceptMap.group.element.target.code", description = "Code that identifies the target element", type = "token") 4983 public static final String SP_TARGET_CODE = "target-code"; 4984 /** 4985 * <b>Fluent Client</b> search parameter constant for <b>target-code</b> 4986 * <p> 4987 * Description: <b>Code that identifies the target element</b><br> 4988 * Type: <b>token</b><br> 4989 * Path: <b>ConceptMap.group.element.target.code</b><br> 4990 * </p> 4991 */ 4992 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 4993 SP_TARGET_CODE); 4994 4995 /** 4996 * Search parameter: <b>target-uri</b> 4997 * <p> 4998 * Description: <b>The target value set which provides context for the 4999 * mappings</b><br> 5000 * Type: <b>reference</b><br> 5001 * Path: <b>ConceptMap.targetUri</b><br> 5002 * </p> 5003 */ 5004 @SearchParamDefinition(name = "target-uri", path = "(ConceptMap.target as uri)", description = "The target value set which provides context for the mappings", type = "reference", target = { 5005 ValueSet.class }) 5006 public static final String SP_TARGET_URI = "target-uri"; 5007 /** 5008 * <b>Fluent Client</b> search parameter constant for <b>target-uri</b> 5009 * <p> 5010 * Description: <b>The target value set which provides context for the 5011 * mappings</b><br> 5012 * Type: <b>reference</b><br> 5013 * Path: <b>ConceptMap.targetUri</b><br> 5014 * </p> 5015 */ 5016 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 5017 SP_TARGET_URI); 5018 5019 /** 5020 * Constant for fluent queries to be used to add include statements. Specifies 5021 * the path value of "<b>ConceptMap:target-uri</b>". 5022 */ 5023 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET_URI = new ca.uhn.fhir.model.api.Include( 5024 "ConceptMap:target-uri").toLocked(); 5025 5026 /** 5027 * Search parameter: <b>identifier</b> 5028 * <p> 5029 * Description: <b>External identifier for the concept map</b><br> 5030 * Type: <b>token</b><br> 5031 * Path: <b>ConceptMap.identifier</b><br> 5032 * </p> 5033 */ 5034 @SearchParamDefinition(name = "identifier", path = "ConceptMap.identifier", description = "External identifier for the concept map", type = "token") 5035 public static final String SP_IDENTIFIER = "identifier"; 5036 /** 5037 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5038 * <p> 5039 * Description: <b>External identifier for the concept map</b><br> 5040 * Type: <b>token</b><br> 5041 * Path: <b>ConceptMap.identifier</b><br> 5042 * </p> 5043 */ 5044 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam( 5045 SP_IDENTIFIER); 5046 5047 /** 5048 * Search parameter: <b>product</b> 5049 * <p> 5050 * Description: <b>Reference to property mapping depends on</b><br> 5051 * Type: <b>uri</b><br> 5052 * Path: <b>ConceptMap.group.element.target.product.property</b><br> 5053 * </p> 5054 */ 5055 @SearchParamDefinition(name = "product", path = "ConceptMap.group.element.target.product.property", description = "Reference to property mapping depends on", type = "uri") 5056 public static final String SP_PRODUCT = "product"; 5057 /** 5058 * <b>Fluent Client</b> search parameter constant for <b>product</b> 5059 * <p> 5060 * Description: <b>Reference to property mapping depends on</b><br> 5061 * Type: <b>uri</b><br> 5062 * Path: <b>ConceptMap.group.element.target.product.property</b><br> 5063 * </p> 5064 */ 5065 public static final ca.uhn.fhir.rest.gclient.UriClientParam PRODUCT = new ca.uhn.fhir.rest.gclient.UriClientParam( 5066 SP_PRODUCT); 5067 5068 /** 5069 * Search parameter: <b>version</b> 5070 * <p> 5071 * Description: <b>The business version of the concept map</b><br> 5072 * Type: <b>token</b><br> 5073 * Path: <b>ConceptMap.version</b><br> 5074 * </p> 5075 */ 5076 @SearchParamDefinition(name = "version", path = "ConceptMap.version", description = "The business version of the concept map", type = "token") 5077 public static final String SP_VERSION = "version"; 5078 /** 5079 * <b>Fluent Client</b> search parameter constant for <b>version</b> 5080 * <p> 5081 * Description: <b>The business version of the concept map</b><br> 5082 * Type: <b>token</b><br> 5083 * Path: <b>ConceptMap.version</b><br> 5084 * </p> 5085 */ 5086 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam( 5087 SP_VERSION); 5088 5089 /** 5090 * Search parameter: <b>url</b> 5091 * <p> 5092 * Description: <b>The uri that identifies the concept map</b><br> 5093 * Type: <b>uri</b><br> 5094 * Path: <b>ConceptMap.url</b><br> 5095 * </p> 5096 */ 5097 @SearchParamDefinition(name = "url", path = "ConceptMap.url", description = "The uri that identifies the concept map", type = "uri") 5098 public static final String SP_URL = "url"; 5099 /** 5100 * <b>Fluent Client</b> search parameter constant for <b>url</b> 5101 * <p> 5102 * Description: <b>The uri that identifies the concept map</b><br> 5103 * Type: <b>uri</b><br> 5104 * Path: <b>ConceptMap.url</b><br> 5105 * </p> 5106 */ 5107 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 5108 5109 /** 5110 * Search parameter: <b>target</b> 5111 * <p> 5112 * Description: <b>The target value set which provides context for the 5113 * mappings</b><br> 5114 * Type: <b>reference</b><br> 5115 * Path: <b>ConceptMap.targetCanonical</b><br> 5116 * </p> 5117 */ 5118 @SearchParamDefinition(name = "target", path = "(ConceptMap.target as canonical)", description = "The target value set which provides context for the mappings", type = "reference", target = { 5119 ValueSet.class }) 5120 public static final String SP_TARGET = "target"; 5121 /** 5122 * <b>Fluent Client</b> search parameter constant for <b>target</b> 5123 * <p> 5124 * Description: <b>The target value set which provides context for the 5125 * mappings</b><br> 5126 * Type: <b>reference</b><br> 5127 * Path: <b>ConceptMap.targetCanonical</b><br> 5128 * </p> 5129 */ 5130 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 5131 SP_TARGET); 5132 5133 /** 5134 * Constant for fluent queries to be used to add include statements. Specifies 5135 * the path value of "<b>ConceptMap:target</b>". 5136 */ 5137 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET = new ca.uhn.fhir.model.api.Include( 5138 "ConceptMap:target").toLocked(); 5139 5140 /** 5141 * Search parameter: <b>source-code</b> 5142 * <p> 5143 * Description: <b>Identifies element being mapped</b><br> 5144 * Type: <b>token</b><br> 5145 * Path: <b>ConceptMap.group.element.code</b><br> 5146 * </p> 5147 */ 5148 @SearchParamDefinition(name = "source-code", path = "ConceptMap.group.element.code", description = "Identifies element being mapped", type = "token") 5149 public static final String SP_SOURCE_CODE = "source-code"; 5150 /** 5151 * <b>Fluent Client</b> search parameter constant for <b>source-code</b> 5152 * <p> 5153 * Description: <b>Identifies element being mapped</b><br> 5154 * Type: <b>token</b><br> 5155 * Path: <b>ConceptMap.group.element.code</b><br> 5156 * </p> 5157 */ 5158 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SOURCE_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 5159 SP_SOURCE_CODE); 5160 5161 /** 5162 * Search parameter: <b>name</b> 5163 * <p> 5164 * Description: <b>Computationally friendly name of the concept map</b><br> 5165 * Type: <b>string</b><br> 5166 * Path: <b>ConceptMap.name</b><br> 5167 * </p> 5168 */ 5169 @SearchParamDefinition(name = "name", path = "ConceptMap.name", description = "Computationally friendly name of the concept map", type = "string") 5170 public static final String SP_NAME = "name"; 5171 /** 5172 * <b>Fluent Client</b> search parameter constant for <b>name</b> 5173 * <p> 5174 * Description: <b>Computationally friendly name of the concept map</b><br> 5175 * Type: <b>string</b><br> 5176 * Path: <b>ConceptMap.name</b><br> 5177 * </p> 5178 */ 5179 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam( 5180 SP_NAME); 5181 5182 /** 5183 * Search parameter: <b>publisher</b> 5184 * <p> 5185 * Description: <b>Name of the publisher of the concept map</b><br> 5186 * Type: <b>string</b><br> 5187 * Path: <b>ConceptMap.publisher</b><br> 5188 * </p> 5189 */ 5190 @SearchParamDefinition(name = "publisher", path = "ConceptMap.publisher", description = "Name of the publisher of the concept map", type = "string") 5191 public static final String SP_PUBLISHER = "publisher"; 5192 /** 5193 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 5194 * <p> 5195 * Description: <b>Name of the publisher of the concept map</b><br> 5196 * Type: <b>string</b><br> 5197 * Path: <b>ConceptMap.publisher</b><br> 5198 * </p> 5199 */ 5200 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam( 5201 SP_PUBLISHER); 5202 5203 /** 5204 * Search parameter: <b>status</b> 5205 * <p> 5206 * Description: <b>The current status of the concept map</b><br> 5207 * Type: <b>token</b><br> 5208 * Path: <b>ConceptMap.status</b><br> 5209 * </p> 5210 */ 5211 @SearchParamDefinition(name = "status", path = "ConceptMap.status", description = "The current status of the concept map", type = "token") 5212 public static final String SP_STATUS = "status"; 5213 /** 5214 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5215 * <p> 5216 * Description: <b>The current status of the concept map</b><br> 5217 * Type: <b>token</b><br> 5218 * Path: <b>ConceptMap.status</b><br> 5219 * </p> 5220 */ 5221 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam( 5222 SP_STATUS); 5223 5224}