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