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