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