001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.composite; 018 019import java.net.URI; 020import java.math.BigDecimal; 021import org.apache.commons.lang3.StringUtils; 022import java.util.*; 023import ca.uhn.fhir.model.api.*; 024import ca.uhn.fhir.model.primitive.*; 025import ca.uhn.fhir.model.api.annotation.*; 026import ca.uhn.fhir.model.base.composite.*; 027 028import ca.uhn.fhir.model.dstu2.valueset.AddressTypeEnum; 029import ca.uhn.fhir.model.dstu2.valueset.AddressUseEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AggregationModeEnum; 031import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 032import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 033import ca.uhn.fhir.model.dstu2.composite.CodingDt; 034import ca.uhn.fhir.model.dstu2.valueset.ConstraintSeverityEnum; 035import ca.uhn.fhir.model.dstu2.valueset.ContactPointSystemEnum; 036import ca.uhn.fhir.model.dstu2.valueset.ContactPointUseEnum; 037import ca.uhn.fhir.model.dstu2.resource.Device; 038import ca.uhn.fhir.model.dstu2.valueset.EventTimingEnum; 039import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 040import ca.uhn.fhir.model.dstu2.valueset.IdentifierUseEnum; 041import ca.uhn.fhir.model.dstu2.valueset.NameUseEnum; 042import ca.uhn.fhir.model.dstu2.resource.Organization; 043import ca.uhn.fhir.model.dstu2.resource.Patient; 044import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 045import ca.uhn.fhir.model.dstu2.resource.Practitioner; 046import ca.uhn.fhir.model.dstu2.valueset.PropertyRepresentationEnum; 047import ca.uhn.fhir.model.dstu2.valueset.QuantityComparatorEnum; 048import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 049import ca.uhn.fhir.model.dstu2.composite.RangeDt; 050import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 051import ca.uhn.fhir.model.dstu2.valueset.SignatureTypeCodesEnum; 052import ca.uhn.fhir.model.dstu2.valueset.SlicingRulesEnum; 053import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 054import ca.uhn.fhir.model.dstu2.valueset.TimingAbbreviationEnum; 055import ca.uhn.fhir.model.dstu2.valueset.UnitsOfTimeEnum; 056import ca.uhn.fhir.model.dstu2.resource.ValueSet; 057import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 058import ca.uhn.fhir.model.dstu2.composite.DurationDt; 059import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 060import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 061import ca.uhn.fhir.model.primitive.Base64BinaryDt; 062import ca.uhn.fhir.model.primitive.BooleanDt; 063import ca.uhn.fhir.model.primitive.BoundCodeDt; 064import ca.uhn.fhir.model.primitive.CodeDt; 065import ca.uhn.fhir.model.primitive.DateTimeDt; 066import ca.uhn.fhir.model.primitive.DecimalDt; 067import ca.uhn.fhir.model.primitive.IdDt; 068import ca.uhn.fhir.model.primitive.InstantDt; 069import ca.uhn.fhir.model.primitive.IntegerDt; 070import ca.uhn.fhir.model.primitive.MarkdownDt; 071import ca.uhn.fhir.model.primitive.PositiveIntDt; 072import ca.uhn.fhir.model.primitive.StringDt; 073import ca.uhn.fhir.model.primitive.UnsignedIntDt; 074import ca.uhn.fhir.model.primitive.UriDt; 075 076/** 077 * HAPI/FHIR <b>ElementDefinitionDt</b> Datatype 078 * () 079 * 080 * <p> 081 * <b>Definition:</b> 082 * Captures constraints on each element within the resource, profile, or extension 083 * </p> 084 * 085 * <p> 086 * <b>Requirements:</b> 087 * 088 * </p> 089 */ 090@DatatypeDef(name="ElementDefinitionDt") 091public class ElementDefinitionDt 092 extends BaseIdentifiableElement implements ICompositeDatatype{ 093 094 /** 095 * Constructor 096 */ 097 public ElementDefinitionDt() { 098 // nothing 099 } 100 101 102 @Child(name="path", type=StringDt.class, order=0, min=1, max=1, summary=true, modifier=false) 103 @Description( 104 shortDefinition="", 105 formalDefinition="The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension" 106 ) 107 private StringDt myPath; 108 109 @Child(name="representation", type=CodeDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 110 @Description( 111 shortDefinition="", 112 formalDefinition="Codes that define how this element is represented in instances, when the deviation varies from the normal case" 113 ) 114 private java.util.List<BoundCodeDt<PropertyRepresentationEnum>> myRepresentation; 115 116 @Child(name="name", type=StringDt.class, order=2, min=0, max=1, summary=true, modifier=false) 117 @Description( 118 shortDefinition="", 119 formalDefinition="The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element" 120 ) 121 private StringDt myName; 122 123 @Child(name="label", type=StringDt.class, order=3, min=0, max=1, summary=true, modifier=false) 124 @Description( 125 shortDefinition="", 126 formalDefinition="The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form." 127 ) 128 private StringDt myLabel; 129 130 @Child(name="code", type=CodingDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 131 @Description( 132 shortDefinition="", 133 formalDefinition="A code that provides the meaning for the element according to a particular terminology." 134 ) 135 private java.util.List<CodingDt> myCode; 136 137 @Child(name="slicing", order=5, min=0, max=1, summary=true, modifier=false) 138 @Description( 139 shortDefinition="", 140 formalDefinition="Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set)" 141 ) 142 private Slicing mySlicing; 143 144 @Child(name="short", type=StringDt.class, order=6, min=0, max=1, summary=true, modifier=false) 145 @Description( 146 shortDefinition="", 147 formalDefinition="A concise description of what this element means (e.g. for use in autogenerated summaries)" 148 ) 149 private StringDt myShort; 150 151 @Child(name="definition", type=MarkdownDt.class, order=7, min=0, max=1, summary=true, modifier=false) 152 @Description( 153 shortDefinition="", 154 formalDefinition="Provides a complete explanation of the meaning of the data element for human readability. For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource" 155 ) 156 private MarkdownDt myDefinition; 157 158 @Child(name="comments", type=MarkdownDt.class, order=8, min=0, max=1, summary=true, modifier=false) 159 @Description( 160 shortDefinition="", 161 formalDefinition="Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc." 162 ) 163 private MarkdownDt myComments; 164 165 @Child(name="requirements", type=MarkdownDt.class, order=9, min=0, max=1, summary=true, modifier=false) 166 @Description( 167 shortDefinition="", 168 formalDefinition="This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element." 169 ) 170 private MarkdownDt myRequirements; 171 172 @Child(name="alias", type=StringDt.class, order=10, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 173 @Description( 174 shortDefinition="", 175 formalDefinition="Identifies additional names by which this element might also be known" 176 ) 177 private java.util.List<StringDt> myAlias; 178 179 @Child(name="min", type=IntegerDt.class, order=11, min=0, max=1, summary=true, modifier=false) 180 @Description( 181 shortDefinition="", 182 formalDefinition="The minimum number of times this element SHALL appear in the instance" 183 ) 184 private IntegerDt myMin; 185 186 @Child(name="max", type=StringDt.class, order=12, min=0, max=1, summary=true, modifier=false) 187 @Description( 188 shortDefinition="", 189 formalDefinition="The maximum number of times this element is permitted to appear in the instance" 190 ) 191 private StringDt myMax; 192 193 @Child(name="base", order=13, min=0, max=1, summary=true, modifier=false) 194 @Description( 195 shortDefinition="", 196 formalDefinition="Information about the base definition of the element, provided to make it unncessary for tools to trace the deviation of the element through the derived and related profiles. This information is only provided where the element definition represents a constraint on another element definition, and must be present if there is a base element definition." 197 ) 198 private Base myBase; 199 200 @Child(name="type", order=14, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 201 @Description( 202 shortDefinition="", 203 formalDefinition="The data type or resource that the value of this element is permitted to be" 204 ) 205 private java.util.List<Type> myType; 206 207 @Child(name="nameReference", type=StringDt.class, order=15, min=0, max=1, summary=true, modifier=false) 208 @Description( 209 shortDefinition="", 210 formalDefinition="Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element" 211 ) 212 private StringDt myNameReference; 213 214 @Child(name="defaultValue", type=IDatatype.class, order=16, min=0, max=1, summary=true, modifier=false) 215 @Description( 216 shortDefinition="", 217 formalDefinition="The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false')" 218 ) 219 private IDatatype myDefaultValue; 220 221 @Child(name="meaningWhenMissing", type=MarkdownDt.class, order=17, min=0, max=1, summary=true, modifier=false) 222 @Description( 223 shortDefinition="", 224 formalDefinition="The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing'" 225 ) 226 private MarkdownDt myMeaningWhenMissing; 227 228 @Child(name="fixed", type=IDatatype.class, order=18, min=0, max=1, summary=true, modifier=false) 229 @Description( 230 shortDefinition="", 231 formalDefinition="Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing." 232 ) 233 private IDatatype myFixed; 234 235 @Child(name="pattern", type=IDatatype.class, order=19, min=0, max=1, summary=true, modifier=false) 236 @Description( 237 shortDefinition="", 238 formalDefinition="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.)." 239 ) 240 private IDatatype myPattern; 241 242 @Child(name="example", type=IDatatype.class, order=20, min=0, max=1, summary=true, modifier=false) 243 @Description( 244 shortDefinition="", 245 formalDefinition="A sample value for this element demonstrating the type of information that would typically be captured." 246 ) 247 private IDatatype myExample; 248 249 @Child(name="minValue", type=IDatatype.class, order=21, min=0, max=1, summary=true, modifier=false) 250 @Description( 251 shortDefinition="", 252 formalDefinition="The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity" 253 ) 254 private IDatatype myMinValue; 255 256 @Child(name="maxValue", type=IDatatype.class, order=22, min=0, max=1, summary=true, modifier=false) 257 @Description( 258 shortDefinition="", 259 formalDefinition="The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity" 260 ) 261 private IDatatype myMaxValue; 262 263 @Child(name="maxLength", type=IntegerDt.class, order=23, min=0, max=1, summary=true, modifier=false) 264 @Description( 265 shortDefinition="", 266 formalDefinition="Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element" 267 ) 268 private IntegerDt myMaxLength; 269 270 @Child(name="condition", type=IdDt.class, order=24, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 271 @Description( 272 shortDefinition="", 273 formalDefinition="A reference to an invariant that may make additional statements about the cardinality or value in the instance" 274 ) 275 private java.util.List<IdDt> myCondition; 276 277 @Child(name="constraint", order=25, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 278 @Description( 279 shortDefinition="", 280 formalDefinition="Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance" 281 ) 282 private java.util.List<Constraint> myConstraint; 283 284 @Child(name="mustSupport", type=BooleanDt.class, order=26, min=0, max=1, summary=true, modifier=false) 285 @Description( 286 shortDefinition="", 287 formalDefinition="If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported" 288 ) 289 private BooleanDt myMustSupport; 290 291 @Child(name="isModifier", type=BooleanDt.class, order=27, min=0, max=1, summary=true, modifier=false) 292 @Description( 293 shortDefinition="", 294 formalDefinition="If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system." 295 ) 296 private BooleanDt myIsModifier; 297 298 @Child(name="isSummary", type=BooleanDt.class, order=28, min=0, max=1, summary=true, modifier=false) 299 @Description( 300 shortDefinition="", 301 formalDefinition="Whether the element should be included if a client requests a search with the parameter _summary=true" 302 ) 303 private BooleanDt myIsSummary; 304 305 @Child(name="binding", order=29, min=0, max=1, summary=true, modifier=false) 306 @Description( 307 shortDefinition="", 308 formalDefinition="Binds to a value set if this element is coded (code, Coding, CodeableConcept)" 309 ) 310 private Binding myBinding; 311 312 @Child(name="mapping", order=30, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 313 @Description( 314 shortDefinition="", 315 formalDefinition="Identifies a concept from an external specification that roughly corresponds to this element" 316 ) 317 private java.util.List<Mapping> myMapping; 318 319 320 @Override 321 public boolean isEmpty() { 322 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myPath, myRepresentation, myName, myLabel, myCode, mySlicing, myShort, myDefinition, myComments, myRequirements, myAlias, myMin, myMax, myBase, myType, myNameReference, myDefaultValue, myMeaningWhenMissing, myFixed, myPattern, myExample, myMinValue, myMaxValue, myMaxLength, myCondition, myConstraint, myMustSupport, myIsModifier, myIsSummary, myBinding, myMapping); 323 } 324 325 @Override 326 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 327 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myPath, myRepresentation, myName, myLabel, myCode, mySlicing, myShort, myDefinition, myComments, myRequirements, myAlias, myMin, myMax, myBase, myType, myNameReference, myDefaultValue, myMeaningWhenMissing, myFixed, myPattern, myExample, myMinValue, myMaxValue, myMaxLength, myCondition, myConstraint, myMustSupport, myIsModifier, myIsSummary, myBinding, myMapping); 328 } 329 330 /** 331 * Gets the value(s) for <b>path</b> (). 332 * creating it if it does 333 * not exist. Will not return <code>null</code>. 334 * 335 * <p> 336 * <b>Definition:</b> 337 * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension 338 * </p> 339 */ 340 public StringDt getPathElement() { 341 if (myPath == null) { 342 myPath = new StringDt(); 343 } 344 return myPath; 345 } 346 347 348 /** 349 * Gets the value(s) for <b>path</b> (). 350 * creating it if it does 351 * not exist. Will not return <code>null</code>. 352 * 353 * <p> 354 * <b>Definition:</b> 355 * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension 356 * </p> 357 */ 358 public String getPath() { 359 return getPathElement().getValue(); 360 } 361 362 /** 363 * Sets the value(s) for <b>path</b> () 364 * 365 * <p> 366 * <b>Definition:</b> 367 * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension 368 * </p> 369 */ 370 public ElementDefinitionDt setPath(StringDt theValue) { 371 myPath = theValue; 372 return this; 373 } 374 375 376 377 /** 378 * Sets the value for <b>path</b> () 379 * 380 * <p> 381 * <b>Definition:</b> 382 * The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension 383 * </p> 384 */ 385 public ElementDefinitionDt setPath( String theString) { 386 myPath = new StringDt(theString); 387 return this; 388 } 389 390 391 /** 392 * Gets the value(s) for <b>representation</b> (). 393 * creating it if it does 394 * not exist. Will not return <code>null</code>. 395 * 396 * <p> 397 * <b>Definition:</b> 398 * Codes that define how this element is represented in instances, when the deviation varies from the normal case 399 * </p> 400 */ 401 public java.util.List<BoundCodeDt<PropertyRepresentationEnum>> getRepresentation() { 402 if (myRepresentation == null) { 403 myRepresentation = new java.util.ArrayList<BoundCodeDt<PropertyRepresentationEnum>>(); 404 } 405 return myRepresentation; 406 } 407 408 /** 409 * Sets the value(s) for <b>representation</b> () 410 * 411 * <p> 412 * <b>Definition:</b> 413 * Codes that define how this element is represented in instances, when the deviation varies from the normal case 414 * </p> 415 */ 416 public ElementDefinitionDt setRepresentation(java.util.List<BoundCodeDt<PropertyRepresentationEnum>> theValue) { 417 myRepresentation = theValue; 418 return this; 419 } 420 421 422 423 /** 424 * Add a value for <b>representation</b> () using an enumerated type. This 425 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 426 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 427 * you may also use the {@link #addRepresentation()} method. 428 * 429 * <p> 430 * <b>Definition:</b> 431 * Codes that define how this element is represented in instances, when the deviation varies from the normal case 432 * </p> 433 */ 434 public BoundCodeDt<PropertyRepresentationEnum> addRepresentation(PropertyRepresentationEnum theValue) { 435 BoundCodeDt<PropertyRepresentationEnum> retVal = new BoundCodeDt<PropertyRepresentationEnum>(PropertyRepresentationEnum.VALUESET_BINDER, theValue); 436 getRepresentation().add(retVal); 437 return retVal; 438 } 439 440 /** 441 * Gets the first repetition for <b>representation</b> (), 442 * creating it if it does not already exist. 443 * 444 * <p> 445 * <b>Definition:</b> 446 * Codes that define how this element is represented in instances, when the deviation varies from the normal case 447 * </p> 448 */ 449 public BoundCodeDt<PropertyRepresentationEnum> getRepresentationFirstRep() { 450 if (getRepresentation().size() == 0) { 451 addRepresentation(); 452 } 453 return getRepresentation().get(0); 454 } 455 456 /** 457 * Add a value for <b>representation</b> () 458 * 459 * <p> 460 * <b>Definition:</b> 461 * Codes that define how this element is represented in instances, when the deviation varies from the normal case 462 * </p> 463 */ 464 public BoundCodeDt<PropertyRepresentationEnum> addRepresentation() { 465 BoundCodeDt<PropertyRepresentationEnum> retVal = new BoundCodeDt<PropertyRepresentationEnum>(PropertyRepresentationEnum.VALUESET_BINDER); 466 getRepresentation().add(retVal); 467 return retVal; 468 } 469 470 /** 471 * Sets the value(s), and clears any existing value(s) for <b>representation</b> () 472 * 473 * <p> 474 * <b>Definition:</b> 475 * Codes that define how this element is represented in instances, when the deviation varies from the normal case 476 * </p> 477 */ 478 public ElementDefinitionDt setRepresentation(PropertyRepresentationEnum theValue) { 479 getRepresentation().clear(); 480 addRepresentation(theValue); 481 return this; 482 } 483 484 485 /** 486 * Gets the value(s) for <b>name</b> (). 487 * creating it if it does 488 * not exist. Will not return <code>null</code>. 489 * 490 * <p> 491 * <b>Definition:</b> 492 * The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element 493 * </p> 494 */ 495 public StringDt getNameElement() { 496 if (myName == null) { 497 myName = new StringDt(); 498 } 499 return myName; 500 } 501 502 503 /** 504 * Gets the value(s) for <b>name</b> (). 505 * creating it if it does 506 * not exist. Will not return <code>null</code>. 507 * 508 * <p> 509 * <b>Definition:</b> 510 * The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element 511 * </p> 512 */ 513 public String getName() { 514 return getNameElement().getValue(); 515 } 516 517 /** 518 * Sets the value(s) for <b>name</b> () 519 * 520 * <p> 521 * <b>Definition:</b> 522 * The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element 523 * </p> 524 */ 525 public ElementDefinitionDt setName(StringDt theValue) { 526 myName = theValue; 527 return this; 528 } 529 530 531 532 /** 533 * Sets the value for <b>name</b> () 534 * 535 * <p> 536 * <b>Definition:</b> 537 * The name of this element definition (to refer to it from other element definitions using ElementDefinition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element 538 * </p> 539 */ 540 public ElementDefinitionDt setName( String theString) { 541 myName = new StringDt(theString); 542 return this; 543 } 544 545 546 /** 547 * Gets the value(s) for <b>label</b> (). 548 * creating it if it does 549 * not exist. Will not return <code>null</code>. 550 * 551 * <p> 552 * <b>Definition:</b> 553 * The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form. 554 * </p> 555 */ 556 public StringDt getLabelElement() { 557 if (myLabel == null) { 558 myLabel = new StringDt(); 559 } 560 return myLabel; 561 } 562 563 564 /** 565 * Gets the value(s) for <b>label</b> (). 566 * creating it if it does 567 * not exist. Will not return <code>null</code>. 568 * 569 * <p> 570 * <b>Definition:</b> 571 * The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form. 572 * </p> 573 */ 574 public String getLabel() { 575 return getLabelElement().getValue(); 576 } 577 578 /** 579 * Sets the value(s) for <b>label</b> () 580 * 581 * <p> 582 * <b>Definition:</b> 583 * The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form. 584 * </p> 585 */ 586 public ElementDefinitionDt setLabel(StringDt theValue) { 587 myLabel = theValue; 588 return this; 589 } 590 591 592 593 /** 594 * Sets the value for <b>label</b> () 595 * 596 * <p> 597 * <b>Definition:</b> 598 * The text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form. 599 * </p> 600 */ 601 public ElementDefinitionDt setLabel( String theString) { 602 myLabel = new StringDt(theString); 603 return this; 604 } 605 606 607 /** 608 * Gets the value(s) for <b>code</b> (). 609 * creating it if it does 610 * not exist. Will not return <code>null</code>. 611 * 612 * <p> 613 * <b>Definition:</b> 614 * A code that provides the meaning for the element according to a particular terminology. 615 * </p> 616 */ 617 public java.util.List<CodingDt> getCode() { 618 if (myCode == null) { 619 myCode = new java.util.ArrayList<CodingDt>(); 620 } 621 return myCode; 622 } 623 624 /** 625 * Sets the value(s) for <b>code</b> () 626 * 627 * <p> 628 * <b>Definition:</b> 629 * A code that provides the meaning for the element according to a particular terminology. 630 * </p> 631 */ 632 public ElementDefinitionDt setCode(java.util.List<CodingDt> theValue) { 633 myCode = theValue; 634 return this; 635 } 636 637 638 639 /** 640 * Adds and returns a new value for <b>code</b> () 641 * 642 * <p> 643 * <b>Definition:</b> 644 * A code that provides the meaning for the element according to a particular terminology. 645 * </p> 646 */ 647 public CodingDt addCode() { 648 CodingDt newType = new CodingDt(); 649 getCode().add(newType); 650 return newType; 651 } 652 653 /** 654 * Adds a given new value for <b>code</b> () 655 * 656 * <p> 657 * <b>Definition:</b> 658 * A code that provides the meaning for the element according to a particular terminology. 659 * </p> 660 * @param theValue The code to add (must not be <code>null</code>) 661 */ 662 public ElementDefinitionDt addCode(CodingDt theValue) { 663 if (theValue == null) { 664 throw new NullPointerException("theValue must not be null"); 665 } 666 getCode().add(theValue); 667 return this; 668 } 669 670 /** 671 * Gets the first repetition for <b>code</b> (), 672 * creating it if it does not already exist. 673 * 674 * <p> 675 * <b>Definition:</b> 676 * A code that provides the meaning for the element according to a particular terminology. 677 * </p> 678 */ 679 public CodingDt getCodeFirstRep() { 680 if (getCode().isEmpty()) { 681 return addCode(); 682 } 683 return getCode().get(0); 684 } 685 686 /** 687 * Gets the value(s) for <b>slicing</b> (). 688 * creating it if it does 689 * not exist. Will not return <code>null</code>. 690 * 691 * <p> 692 * <b>Definition:</b> 693 * Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) 694 * </p> 695 */ 696 public Slicing getSlicing() { 697 if (mySlicing == null) { 698 mySlicing = new Slicing(); 699 } 700 return mySlicing; 701 } 702 703 /** 704 * Sets the value(s) for <b>slicing</b> () 705 * 706 * <p> 707 * <b>Definition:</b> 708 * Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) 709 * </p> 710 */ 711 public ElementDefinitionDt setSlicing(Slicing theValue) { 712 mySlicing = theValue; 713 return this; 714 } 715 716 717 718 719 /** 720 * Gets the value(s) for <b>short</b> (). 721 * creating it if it does 722 * not exist. Will not return <code>null</code>. 723 * 724 * <p> 725 * <b>Definition:</b> 726 * A concise description of what this element means (e.g. for use in autogenerated summaries) 727 * </p> 728 */ 729 public StringDt getShortElement() { 730 if (myShort == null) { 731 myShort = new StringDt(); 732 } 733 return myShort; 734 } 735 736 737 /** 738 * Gets the value(s) for <b>short</b> (). 739 * creating it if it does 740 * not exist. Will not return <code>null</code>. 741 * 742 * <p> 743 * <b>Definition:</b> 744 * A concise description of what this element means (e.g. for use in autogenerated summaries) 745 * </p> 746 */ 747 public String getShort() { 748 return getShortElement().getValue(); 749 } 750 751 /** 752 * Sets the value(s) for <b>short</b> () 753 * 754 * <p> 755 * <b>Definition:</b> 756 * A concise description of what this element means (e.g. for use in autogenerated summaries) 757 * </p> 758 */ 759 public ElementDefinitionDt setShort(StringDt theValue) { 760 myShort = theValue; 761 return this; 762 } 763 764 765 766 /** 767 * Sets the value for <b>short</b> () 768 * 769 * <p> 770 * <b>Definition:</b> 771 * A concise description of what this element means (e.g. for use in autogenerated summaries) 772 * </p> 773 */ 774 public ElementDefinitionDt setShort( String theString) { 775 myShort = new StringDt(theString); 776 return this; 777 } 778 779 780 /** 781 * Gets the value(s) for <b>definition</b> (). 782 * creating it if it does 783 * not exist. Will not return <code>null</code>. 784 * 785 * <p> 786 * <b>Definition:</b> 787 * Provides a complete explanation of the meaning of the data element for human readability. For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource 788 * </p> 789 */ 790 public MarkdownDt getDefinitionElement() { 791 if (myDefinition == null) { 792 myDefinition = new MarkdownDt(); 793 } 794 return myDefinition; 795 } 796 797 798 /** 799 * Gets the value(s) for <b>definition</b> (). 800 * creating it if it does 801 * not exist. Will not return <code>null</code>. 802 * 803 * <p> 804 * <b>Definition:</b> 805 * Provides a complete explanation of the meaning of the data element for human readability. For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource 806 * </p> 807 */ 808 public String getDefinition() { 809 return getDefinitionElement().getValue(); 810 } 811 812 /** 813 * Sets the value(s) for <b>definition</b> () 814 * 815 * <p> 816 * <b>Definition:</b> 817 * Provides a complete explanation of the meaning of the data element for human readability. For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource 818 * </p> 819 */ 820 public ElementDefinitionDt setDefinition(MarkdownDt theValue) { 821 myDefinition = theValue; 822 return this; 823 } 824 825 826 827 828 /** 829 * Gets the value(s) for <b>comments</b> (). 830 * creating it if it does 831 * not exist. Will not return <code>null</code>. 832 * 833 * <p> 834 * <b>Definition:</b> 835 * Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc. 836 * </p> 837 */ 838 public MarkdownDt getCommentsElement() { 839 if (myComments == null) { 840 myComments = new MarkdownDt(); 841 } 842 return myComments; 843 } 844 845 846 /** 847 * Gets the value(s) for <b>comments</b> (). 848 * creating it if it does 849 * not exist. Will not return <code>null</code>. 850 * 851 * <p> 852 * <b>Definition:</b> 853 * Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc. 854 * </p> 855 */ 856 public String getComments() { 857 return getCommentsElement().getValue(); 858 } 859 860 /** 861 * Sets the value(s) for <b>comments</b> () 862 * 863 * <p> 864 * <b>Definition:</b> 865 * Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc. 866 * </p> 867 */ 868 public ElementDefinitionDt setComments(MarkdownDt theValue) { 869 myComments = theValue; 870 return this; 871 } 872 873 874 875 876 /** 877 * Gets the value(s) for <b>requirements</b> (). 878 * creating it if it does 879 * not exist. Will not return <code>null</code>. 880 * 881 * <p> 882 * <b>Definition:</b> 883 * This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element. 884 * </p> 885 */ 886 public MarkdownDt getRequirementsElement() { 887 if (myRequirements == null) { 888 myRequirements = new MarkdownDt(); 889 } 890 return myRequirements; 891 } 892 893 894 /** 895 * Gets the value(s) for <b>requirements</b> (). 896 * creating it if it does 897 * not exist. Will not return <code>null</code>. 898 * 899 * <p> 900 * <b>Definition:</b> 901 * This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element. 902 * </p> 903 */ 904 public String getRequirements() { 905 return getRequirementsElement().getValue(); 906 } 907 908 /** 909 * Sets the value(s) for <b>requirements</b> () 910 * 911 * <p> 912 * <b>Definition:</b> 913 * This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element. 914 * </p> 915 */ 916 public ElementDefinitionDt setRequirements(MarkdownDt theValue) { 917 myRequirements = theValue; 918 return this; 919 } 920 921 922 923 924 /** 925 * Gets the value(s) for <b>alias</b> (). 926 * creating it if it does 927 * not exist. Will not return <code>null</code>. 928 * 929 * <p> 930 * <b>Definition:</b> 931 * Identifies additional names by which this element might also be known 932 * </p> 933 */ 934 public java.util.List<StringDt> getAlias() { 935 if (myAlias == null) { 936 myAlias = new java.util.ArrayList<StringDt>(); 937 } 938 return myAlias; 939 } 940 941 /** 942 * Sets the value(s) for <b>alias</b> () 943 * 944 * <p> 945 * <b>Definition:</b> 946 * Identifies additional names by which this element might also be known 947 * </p> 948 */ 949 public ElementDefinitionDt setAlias(java.util.List<StringDt> theValue) { 950 myAlias = theValue; 951 return this; 952 } 953 954 955 956 /** 957 * Adds and returns a new value for <b>alias</b> () 958 * 959 * <p> 960 * <b>Definition:</b> 961 * Identifies additional names by which this element might also be known 962 * </p> 963 */ 964 public StringDt addAlias() { 965 StringDt newType = new StringDt(); 966 getAlias().add(newType); 967 return newType; 968 } 969 970 /** 971 * Adds a given new value for <b>alias</b> () 972 * 973 * <p> 974 * <b>Definition:</b> 975 * Identifies additional names by which this element might also be known 976 * </p> 977 * @param theValue The alias to add (must not be <code>null</code>) 978 */ 979 public ElementDefinitionDt addAlias(StringDt theValue) { 980 if (theValue == null) { 981 throw new NullPointerException("theValue must not be null"); 982 } 983 getAlias().add(theValue); 984 return this; 985 } 986 987 /** 988 * Gets the first repetition for <b>alias</b> (), 989 * creating it if it does not already exist. 990 * 991 * <p> 992 * <b>Definition:</b> 993 * Identifies additional names by which this element might also be known 994 * </p> 995 */ 996 public StringDt getAliasFirstRep() { 997 if (getAlias().isEmpty()) { 998 return addAlias(); 999 } 1000 return getAlias().get(0); 1001 } 1002 /** 1003 * Adds a new value for <b>alias</b> () 1004 * 1005 * <p> 1006 * <b>Definition:</b> 1007 * Identifies additional names by which this element might also be known 1008 * </p> 1009 * 1010 * @return Returns a reference to this object, to allow for simple chaining. 1011 */ 1012 public ElementDefinitionDt addAlias( String theString) { 1013 if (myAlias == null) { 1014 myAlias = new java.util.ArrayList<StringDt>(); 1015 } 1016 myAlias.add(new StringDt(theString)); 1017 return this; 1018 } 1019 1020 1021 /** 1022 * Gets the value(s) for <b>min</b> (). 1023 * creating it if it does 1024 * not exist. Will not return <code>null</code>. 1025 * 1026 * <p> 1027 * <b>Definition:</b> 1028 * The minimum number of times this element SHALL appear in the instance 1029 * </p> 1030 */ 1031 public IntegerDt getMinElement() { 1032 if (myMin == null) { 1033 myMin = new IntegerDt(); 1034 } 1035 return myMin; 1036 } 1037 1038 1039 /** 1040 * Gets the value(s) for <b>min</b> (). 1041 * creating it if it does 1042 * not exist. Will not return <code>null</code>. 1043 * 1044 * <p> 1045 * <b>Definition:</b> 1046 * The minimum number of times this element SHALL appear in the instance 1047 * </p> 1048 */ 1049 public Integer getMin() { 1050 return getMinElement().getValue(); 1051 } 1052 1053 /** 1054 * Sets the value(s) for <b>min</b> () 1055 * 1056 * <p> 1057 * <b>Definition:</b> 1058 * The minimum number of times this element SHALL appear in the instance 1059 * </p> 1060 */ 1061 public ElementDefinitionDt setMin(IntegerDt theValue) { 1062 myMin = theValue; 1063 return this; 1064 } 1065 1066 1067 1068 /** 1069 * Sets the value for <b>min</b> () 1070 * 1071 * <p> 1072 * <b>Definition:</b> 1073 * The minimum number of times this element SHALL appear in the instance 1074 * </p> 1075 */ 1076 public ElementDefinitionDt setMin( int theInteger) { 1077 myMin = new IntegerDt(theInteger); 1078 return this; 1079 } 1080 1081 1082 /** 1083 * Gets the value(s) for <b>max</b> (). 1084 * creating it if it does 1085 * not exist. Will not return <code>null</code>. 1086 * 1087 * <p> 1088 * <b>Definition:</b> 1089 * The maximum number of times this element is permitted to appear in the instance 1090 * </p> 1091 */ 1092 public StringDt getMaxElement() { 1093 if (myMax == null) { 1094 myMax = new StringDt(); 1095 } 1096 return myMax; 1097 } 1098 1099 1100 /** 1101 * Gets the value(s) for <b>max</b> (). 1102 * creating it if it does 1103 * not exist. Will not return <code>null</code>. 1104 * 1105 * <p> 1106 * <b>Definition:</b> 1107 * The maximum number of times this element is permitted to appear in the instance 1108 * </p> 1109 */ 1110 public String getMax() { 1111 return getMaxElement().getValue(); 1112 } 1113 1114 /** 1115 * Sets the value(s) for <b>max</b> () 1116 * 1117 * <p> 1118 * <b>Definition:</b> 1119 * The maximum number of times this element is permitted to appear in the instance 1120 * </p> 1121 */ 1122 public ElementDefinitionDt setMax(StringDt theValue) { 1123 myMax = theValue; 1124 return this; 1125 } 1126 1127 1128 1129 /** 1130 * Sets the value for <b>max</b> () 1131 * 1132 * <p> 1133 * <b>Definition:</b> 1134 * The maximum number of times this element is permitted to appear in the instance 1135 * </p> 1136 */ 1137 public ElementDefinitionDt setMax( String theString) { 1138 myMax = new StringDt(theString); 1139 return this; 1140 } 1141 1142 1143 /** 1144 * Gets the value(s) for <b>base</b> (). 1145 * creating it if it does 1146 * not exist. Will not return <code>null</code>. 1147 * 1148 * <p> 1149 * <b>Definition:</b> 1150 * Information about the base definition of the element, provided to make it unncessary for tools to trace the deviation of the element through the derived and related profiles. This information is only provided where the element definition represents a constraint on another element definition, and must be present if there is a base element definition. 1151 * </p> 1152 */ 1153 public Base getBase() { 1154 if (myBase == null) { 1155 myBase = new Base(); 1156 } 1157 return myBase; 1158 } 1159 1160 /** 1161 * Sets the value(s) for <b>base</b> () 1162 * 1163 * <p> 1164 * <b>Definition:</b> 1165 * Information about the base definition of the element, provided to make it unncessary for tools to trace the deviation of the element through the derived and related profiles. This information is only provided where the element definition represents a constraint on another element definition, and must be present if there is a base element definition. 1166 * </p> 1167 */ 1168 public ElementDefinitionDt setBase(Base theValue) { 1169 myBase = theValue; 1170 return this; 1171 } 1172 1173 1174 1175 1176 /** 1177 * Gets the value(s) for <b>type</b> (). 1178 * creating it if it does 1179 * not exist. Will not return <code>null</code>. 1180 * 1181 * <p> 1182 * <b>Definition:</b> 1183 * The data type or resource that the value of this element is permitted to be 1184 * </p> 1185 */ 1186 public java.util.List<Type> getType() { 1187 if (myType == null) { 1188 myType = new java.util.ArrayList<Type>(); 1189 } 1190 return myType; 1191 } 1192 1193 /** 1194 * Sets the value(s) for <b>type</b> () 1195 * 1196 * <p> 1197 * <b>Definition:</b> 1198 * The data type or resource that the value of this element is permitted to be 1199 * </p> 1200 */ 1201 public ElementDefinitionDt setType(java.util.List<Type> theValue) { 1202 myType = theValue; 1203 return this; 1204 } 1205 1206 1207 1208 /** 1209 * Adds and returns a new value for <b>type</b> () 1210 * 1211 * <p> 1212 * <b>Definition:</b> 1213 * The data type or resource that the value of this element is permitted to be 1214 * </p> 1215 */ 1216 public Type addType() { 1217 Type newType = new Type(); 1218 getType().add(newType); 1219 return newType; 1220 } 1221 1222 /** 1223 * Adds a given new value for <b>type</b> () 1224 * 1225 * <p> 1226 * <b>Definition:</b> 1227 * The data type or resource that the value of this element is permitted to be 1228 * </p> 1229 * @param theValue The type to add (must not be <code>null</code>) 1230 */ 1231 public ElementDefinitionDt addType(Type theValue) { 1232 if (theValue == null) { 1233 throw new NullPointerException("theValue must not be null"); 1234 } 1235 getType().add(theValue); 1236 return this; 1237 } 1238 1239 /** 1240 * Gets the first repetition for <b>type</b> (), 1241 * creating it if it does not already exist. 1242 * 1243 * <p> 1244 * <b>Definition:</b> 1245 * The data type or resource that the value of this element is permitted to be 1246 * </p> 1247 */ 1248 public Type getTypeFirstRep() { 1249 if (getType().isEmpty()) { 1250 return addType(); 1251 } 1252 return getType().get(0); 1253 } 1254 1255 /** 1256 * Gets the value(s) for <b>nameReference</b> (). 1257 * creating it if it does 1258 * not exist. Will not return <code>null</code>. 1259 * 1260 * <p> 1261 * <b>Definition:</b> 1262 * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element 1263 * </p> 1264 */ 1265 public StringDt getNameReferenceElement() { 1266 if (myNameReference == null) { 1267 myNameReference = new StringDt(); 1268 } 1269 return myNameReference; 1270 } 1271 1272 1273 /** 1274 * Gets the value(s) for <b>nameReference</b> (). 1275 * creating it if it does 1276 * not exist. Will not return <code>null</code>. 1277 * 1278 * <p> 1279 * <b>Definition:</b> 1280 * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element 1281 * </p> 1282 */ 1283 public String getNameReference() { 1284 return getNameReferenceElement().getValue(); 1285 } 1286 1287 /** 1288 * Sets the value(s) for <b>nameReference</b> () 1289 * 1290 * <p> 1291 * <b>Definition:</b> 1292 * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element 1293 * </p> 1294 */ 1295 public ElementDefinitionDt setNameReference(StringDt theValue) { 1296 myNameReference = theValue; 1297 return this; 1298 } 1299 1300 1301 1302 /** 1303 * Sets the value for <b>nameReference</b> () 1304 * 1305 * <p> 1306 * <b>Definition:</b> 1307 * Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element 1308 * </p> 1309 */ 1310 public ElementDefinitionDt setNameReference( String theString) { 1311 myNameReference = new StringDt(theString); 1312 return this; 1313 } 1314 1315 1316 /** 1317 * Gets the value(s) for <b>defaultValue[x]</b> (). 1318 * creating it if it does 1319 * not exist. Will not return <code>null</code>. 1320 * 1321 * <p> 1322 * <b>Definition:</b> 1323 * The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false') 1324 * </p> 1325 */ 1326 public IDatatype getDefaultValue() { 1327 return myDefaultValue; 1328 } 1329 1330 /** 1331 * Sets the value(s) for <b>defaultValue[x]</b> () 1332 * 1333 * <p> 1334 * <b>Definition:</b> 1335 * The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false') 1336 * </p> 1337 */ 1338 public ElementDefinitionDt setDefaultValue(IDatatype theValue) { 1339 myDefaultValue = theValue; 1340 return this; 1341 } 1342 1343 1344 1345 1346 /** 1347 * Gets the value(s) for <b>meaningWhenMissing</b> (). 1348 * creating it if it does 1349 * not exist. Will not return <code>null</code>. 1350 * 1351 * <p> 1352 * <b>Definition:</b> 1353 * The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing' 1354 * </p> 1355 */ 1356 public MarkdownDt getMeaningWhenMissingElement() { 1357 if (myMeaningWhenMissing == null) { 1358 myMeaningWhenMissing = new MarkdownDt(); 1359 } 1360 return myMeaningWhenMissing; 1361 } 1362 1363 1364 /** 1365 * Gets the value(s) for <b>meaningWhenMissing</b> (). 1366 * creating it if it does 1367 * not exist. Will not return <code>null</code>. 1368 * 1369 * <p> 1370 * <b>Definition:</b> 1371 * The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing' 1372 * </p> 1373 */ 1374 public String getMeaningWhenMissing() { 1375 return getMeaningWhenMissingElement().getValue(); 1376 } 1377 1378 /** 1379 * Sets the value(s) for <b>meaningWhenMissing</b> () 1380 * 1381 * <p> 1382 * <b>Definition:</b> 1383 * The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing' 1384 * </p> 1385 */ 1386 public ElementDefinitionDt setMeaningWhenMissing(MarkdownDt theValue) { 1387 myMeaningWhenMissing = theValue; 1388 return this; 1389 } 1390 1391 1392 1393 1394 /** 1395 * Gets the value(s) for <b>fixed[x]</b> (). 1396 * creating it if it does 1397 * not exist. Will not return <code>null</code>. 1398 * 1399 * <p> 1400 * <b>Definition:</b> 1401 * Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing. 1402 * </p> 1403 */ 1404 public IDatatype getFixed() { 1405 return myFixed; 1406 } 1407 1408 /** 1409 * Sets the value(s) for <b>fixed[x]</b> () 1410 * 1411 * <p> 1412 * <b>Definition:</b> 1413 * Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing. 1414 * </p> 1415 */ 1416 public ElementDefinitionDt setFixed(IDatatype theValue) { 1417 myFixed = theValue; 1418 return this; 1419 } 1420 1421 1422 1423 1424 /** 1425 * Gets the value(s) for <b>pattern[x]</b> (). 1426 * creating it if it does 1427 * not exist. Will not return <code>null</code>. 1428 * 1429 * <p> 1430 * <b>Definition:</b> 1431 * Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). 1432 * </p> 1433 */ 1434 public IDatatype getPattern() { 1435 return myPattern; 1436 } 1437 1438 /** 1439 * Sets the value(s) for <b>pattern[x]</b> () 1440 * 1441 * <p> 1442 * <b>Definition:</b> 1443 * Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. The values of elements present in the pattern must match exactly (case-sensitive, accent-sensitive, etc.). 1444 * </p> 1445 */ 1446 public ElementDefinitionDt setPattern(IDatatype theValue) { 1447 myPattern = theValue; 1448 return this; 1449 } 1450 1451 1452 1453 1454 /** 1455 * Gets the value(s) for <b>example[x]</b> (). 1456 * creating it if it does 1457 * not exist. Will not return <code>null</code>. 1458 * 1459 * <p> 1460 * <b>Definition:</b> 1461 * A sample value for this element demonstrating the type of information that would typically be captured. 1462 * </p> 1463 */ 1464 public IDatatype getExample() { 1465 return myExample; 1466 } 1467 1468 /** 1469 * Sets the value(s) for <b>example[x]</b> () 1470 * 1471 * <p> 1472 * <b>Definition:</b> 1473 * A sample value for this element demonstrating the type of information that would typically be captured. 1474 * </p> 1475 */ 1476 public ElementDefinitionDt setExample(IDatatype theValue) { 1477 myExample = theValue; 1478 return this; 1479 } 1480 1481 1482 1483 1484 /** 1485 * Gets the value(s) for <b>minValue[x]</b> (). 1486 * creating it if it does 1487 * not exist. Will not return <code>null</code>. 1488 * 1489 * <p> 1490 * <b>Definition:</b> 1491 * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity 1492 * </p> 1493 */ 1494 public IDatatype getMinValue() { 1495 return myMinValue; 1496 } 1497 1498 /** 1499 * Sets the value(s) for <b>minValue[x]</b> () 1500 * 1501 * <p> 1502 * <b>Definition:</b> 1503 * The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity 1504 * </p> 1505 */ 1506 public ElementDefinitionDt setMinValue(IDatatype theValue) { 1507 myMinValue = theValue; 1508 return this; 1509 } 1510 1511 1512 1513 1514 /** 1515 * Gets the value(s) for <b>maxValue[x]</b> (). 1516 * creating it if it does 1517 * not exist. Will not return <code>null</code>. 1518 * 1519 * <p> 1520 * <b>Definition:</b> 1521 * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity 1522 * </p> 1523 */ 1524 public IDatatype getMaxValue() { 1525 return myMaxValue; 1526 } 1527 1528 /** 1529 * Sets the value(s) for <b>maxValue[x]</b> () 1530 * 1531 * <p> 1532 * <b>Definition:</b> 1533 * The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity 1534 * </p> 1535 */ 1536 public ElementDefinitionDt setMaxValue(IDatatype theValue) { 1537 myMaxValue = theValue; 1538 return this; 1539 } 1540 1541 1542 1543 1544 /** 1545 * Gets the value(s) for <b>maxLength</b> (). 1546 * creating it if it does 1547 * not exist. Will not return <code>null</code>. 1548 * 1549 * <p> 1550 * <b>Definition:</b> 1551 * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element 1552 * </p> 1553 */ 1554 public IntegerDt getMaxLengthElement() { 1555 if (myMaxLength == null) { 1556 myMaxLength = new IntegerDt(); 1557 } 1558 return myMaxLength; 1559 } 1560 1561 1562 /** 1563 * Gets the value(s) for <b>maxLength</b> (). 1564 * creating it if it does 1565 * not exist. Will not return <code>null</code>. 1566 * 1567 * <p> 1568 * <b>Definition:</b> 1569 * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element 1570 * </p> 1571 */ 1572 public Integer getMaxLength() { 1573 return getMaxLengthElement().getValue(); 1574 } 1575 1576 /** 1577 * Sets the value(s) for <b>maxLength</b> () 1578 * 1579 * <p> 1580 * <b>Definition:</b> 1581 * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element 1582 * </p> 1583 */ 1584 public ElementDefinitionDt setMaxLength(IntegerDt theValue) { 1585 myMaxLength = theValue; 1586 return this; 1587 } 1588 1589 1590 1591 /** 1592 * Sets the value for <b>maxLength</b> () 1593 * 1594 * <p> 1595 * <b>Definition:</b> 1596 * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element 1597 * </p> 1598 */ 1599 public ElementDefinitionDt setMaxLength( int theInteger) { 1600 myMaxLength = new IntegerDt(theInteger); 1601 return this; 1602 } 1603 1604 1605 /** 1606 * Gets the value(s) for <b>condition</b> (). 1607 * creating it if it does 1608 * not exist. Will not return <code>null</code>. 1609 * 1610 * <p> 1611 * <b>Definition:</b> 1612 * A reference to an invariant that may make additional statements about the cardinality or value in the instance 1613 * </p> 1614 */ 1615 public java.util.List<IdDt> getCondition() { 1616 if (myCondition == null) { 1617 myCondition = new java.util.ArrayList<IdDt>(); 1618 } 1619 return myCondition; 1620 } 1621 1622 /** 1623 * Sets the value(s) for <b>condition</b> () 1624 * 1625 * <p> 1626 * <b>Definition:</b> 1627 * A reference to an invariant that may make additional statements about the cardinality or value in the instance 1628 * </p> 1629 */ 1630 public ElementDefinitionDt setCondition(java.util.List<IdDt> theValue) { 1631 myCondition = theValue; 1632 return this; 1633 } 1634 1635 1636 1637 /** 1638 * Adds and returns a new value for <b>condition</b> () 1639 * 1640 * <p> 1641 * <b>Definition:</b> 1642 * A reference to an invariant that may make additional statements about the cardinality or value in the instance 1643 * </p> 1644 */ 1645 public IdDt addCondition() { 1646 IdDt newType = new IdDt(); 1647 getCondition().add(newType); 1648 return newType; 1649 } 1650 1651 /** 1652 * Adds a given new value for <b>condition</b> () 1653 * 1654 * <p> 1655 * <b>Definition:</b> 1656 * A reference to an invariant that may make additional statements about the cardinality or value in the instance 1657 * </p> 1658 * @param theValue The condition to add (must not be <code>null</code>) 1659 */ 1660 public ElementDefinitionDt addCondition(IdDt theValue) { 1661 if (theValue == null) { 1662 throw new NullPointerException("theValue must not be null"); 1663 } 1664 getCondition().add(theValue); 1665 return this; 1666 } 1667 1668 /** 1669 * Gets the first repetition for <b>condition</b> (), 1670 * creating it if it does not already exist. 1671 * 1672 * <p> 1673 * <b>Definition:</b> 1674 * A reference to an invariant that may make additional statements about the cardinality or value in the instance 1675 * </p> 1676 */ 1677 public IdDt getConditionFirstRep() { 1678 if (getCondition().isEmpty()) { 1679 return addCondition(); 1680 } 1681 return getCondition().get(0); 1682 } 1683 /** 1684 * Adds a new value for <b>condition</b> () 1685 * 1686 * <p> 1687 * <b>Definition:</b> 1688 * A reference to an invariant that may make additional statements about the cardinality or value in the instance 1689 * </p> 1690 * 1691 * @return Returns a reference to this object, to allow for simple chaining. 1692 */ 1693 public ElementDefinitionDt addCondition( String theId) { 1694 if (myCondition == null) { 1695 myCondition = new java.util.ArrayList<IdDt>(); 1696 } 1697 myCondition.add(new IdDt(theId)); 1698 return this; 1699 } 1700 1701 1702 /** 1703 * Gets the value(s) for <b>constraint</b> (). 1704 * creating it if it does 1705 * not exist. Will not return <code>null</code>. 1706 * 1707 * <p> 1708 * <b>Definition:</b> 1709 * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance 1710 * </p> 1711 */ 1712 public java.util.List<Constraint> getConstraint() { 1713 if (myConstraint == null) { 1714 myConstraint = new java.util.ArrayList<Constraint>(); 1715 } 1716 return myConstraint; 1717 } 1718 1719 /** 1720 * Sets the value(s) for <b>constraint</b> () 1721 * 1722 * <p> 1723 * <b>Definition:</b> 1724 * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance 1725 * </p> 1726 */ 1727 public ElementDefinitionDt setConstraint(java.util.List<Constraint> theValue) { 1728 myConstraint = theValue; 1729 return this; 1730 } 1731 1732 1733 1734 /** 1735 * Adds and returns a new value for <b>constraint</b> () 1736 * 1737 * <p> 1738 * <b>Definition:</b> 1739 * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance 1740 * </p> 1741 */ 1742 public Constraint addConstraint() { 1743 Constraint newType = new Constraint(); 1744 getConstraint().add(newType); 1745 return newType; 1746 } 1747 1748 /** 1749 * Adds a given new value for <b>constraint</b> () 1750 * 1751 * <p> 1752 * <b>Definition:</b> 1753 * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance 1754 * </p> 1755 * @param theValue The constraint to add (must not be <code>null</code>) 1756 */ 1757 public ElementDefinitionDt addConstraint(Constraint theValue) { 1758 if (theValue == null) { 1759 throw new NullPointerException("theValue must not be null"); 1760 } 1761 getConstraint().add(theValue); 1762 return this; 1763 } 1764 1765 /** 1766 * Gets the first repetition for <b>constraint</b> (), 1767 * creating it if it does not already exist. 1768 * 1769 * <p> 1770 * <b>Definition:</b> 1771 * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance 1772 * </p> 1773 */ 1774 public Constraint getConstraintFirstRep() { 1775 if (getConstraint().isEmpty()) { 1776 return addConstraint(); 1777 } 1778 return getConstraint().get(0); 1779 } 1780 1781 /** 1782 * Gets the value(s) for <b>mustSupport</b> (). 1783 * creating it if it does 1784 * not exist. Will not return <code>null</code>. 1785 * 1786 * <p> 1787 * <b>Definition:</b> 1788 * If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported 1789 * </p> 1790 */ 1791 public BooleanDt getMustSupportElement() { 1792 if (myMustSupport == null) { 1793 myMustSupport = new BooleanDt(); 1794 } 1795 return myMustSupport; 1796 } 1797 1798 1799 /** 1800 * Gets the value(s) for <b>mustSupport</b> (). 1801 * creating it if it does 1802 * not exist. Will not return <code>null</code>. 1803 * 1804 * <p> 1805 * <b>Definition:</b> 1806 * If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported 1807 * </p> 1808 */ 1809 public Boolean getMustSupport() { 1810 return getMustSupportElement().getValue(); 1811 } 1812 1813 /** 1814 * Sets the value(s) for <b>mustSupport</b> () 1815 * 1816 * <p> 1817 * <b>Definition:</b> 1818 * If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported 1819 * </p> 1820 */ 1821 public ElementDefinitionDt setMustSupport(BooleanDt theValue) { 1822 myMustSupport = theValue; 1823 return this; 1824 } 1825 1826 1827 1828 /** 1829 * Sets the value for <b>mustSupport</b> () 1830 * 1831 * <p> 1832 * <b>Definition:</b> 1833 * If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported 1834 * </p> 1835 */ 1836 public ElementDefinitionDt setMustSupport( boolean theBoolean) { 1837 myMustSupport = new BooleanDt(theBoolean); 1838 return this; 1839 } 1840 1841 1842 /** 1843 * Gets the value(s) for <b>isModifier</b> (). 1844 * creating it if it does 1845 * not exist. Will not return <code>null</code>. 1846 * 1847 * <p> 1848 * <b>Definition:</b> 1849 * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. 1850 * </p> 1851 */ 1852 public BooleanDt getIsModifierElement() { 1853 if (myIsModifier == null) { 1854 myIsModifier = new BooleanDt(); 1855 } 1856 return myIsModifier; 1857 } 1858 1859 1860 /** 1861 * Gets the value(s) for <b>isModifier</b> (). 1862 * creating it if it does 1863 * not exist. Will not return <code>null</code>. 1864 * 1865 * <p> 1866 * <b>Definition:</b> 1867 * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. 1868 * </p> 1869 */ 1870 public Boolean getIsModifier() { 1871 return getIsModifierElement().getValue(); 1872 } 1873 1874 /** 1875 * Sets the value(s) for <b>isModifier</b> () 1876 * 1877 * <p> 1878 * <b>Definition:</b> 1879 * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. 1880 * </p> 1881 */ 1882 public ElementDefinitionDt setIsModifier(BooleanDt theValue) { 1883 myIsModifier = theValue; 1884 return this; 1885 } 1886 1887 1888 1889 /** 1890 * Sets the value for <b>isModifier</b> () 1891 * 1892 * <p> 1893 * <b>Definition:</b> 1894 * If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. 1895 * </p> 1896 */ 1897 public ElementDefinitionDt setIsModifier( boolean theBoolean) { 1898 myIsModifier = new BooleanDt(theBoolean); 1899 return this; 1900 } 1901 1902 1903 /** 1904 * Gets the value(s) for <b>isSummary</b> (). 1905 * creating it if it does 1906 * not exist. Will not return <code>null</code>. 1907 * 1908 * <p> 1909 * <b>Definition:</b> 1910 * Whether the element should be included if a client requests a search with the parameter _summary=true 1911 * </p> 1912 */ 1913 public BooleanDt getIsSummaryElement() { 1914 if (myIsSummary == null) { 1915 myIsSummary = new BooleanDt(); 1916 } 1917 return myIsSummary; 1918 } 1919 1920 1921 /** 1922 * Gets the value(s) for <b>isSummary</b> (). 1923 * creating it if it does 1924 * not exist. Will not return <code>null</code>. 1925 * 1926 * <p> 1927 * <b>Definition:</b> 1928 * Whether the element should be included if a client requests a search with the parameter _summary=true 1929 * </p> 1930 */ 1931 public Boolean getIsSummary() { 1932 return getIsSummaryElement().getValue(); 1933 } 1934 1935 /** 1936 * Sets the value(s) for <b>isSummary</b> () 1937 * 1938 * <p> 1939 * <b>Definition:</b> 1940 * Whether the element should be included if a client requests a search with the parameter _summary=true 1941 * </p> 1942 */ 1943 public ElementDefinitionDt setIsSummary(BooleanDt theValue) { 1944 myIsSummary = theValue; 1945 return this; 1946 } 1947 1948 1949 1950 /** 1951 * Sets the value for <b>isSummary</b> () 1952 * 1953 * <p> 1954 * <b>Definition:</b> 1955 * Whether the element should be included if a client requests a search with the parameter _summary=true 1956 * </p> 1957 */ 1958 public ElementDefinitionDt setIsSummary( boolean theBoolean) { 1959 myIsSummary = new BooleanDt(theBoolean); 1960 return this; 1961 } 1962 1963 1964 /** 1965 * Gets the value(s) for <b>binding</b> (). 1966 * creating it if it does 1967 * not exist. Will not return <code>null</code>. 1968 * 1969 * <p> 1970 * <b>Definition:</b> 1971 * Binds to a value set if this element is coded (code, Coding, CodeableConcept) 1972 * </p> 1973 */ 1974 public Binding getBinding() { 1975 if (myBinding == null) { 1976 myBinding = new Binding(); 1977 } 1978 return myBinding; 1979 } 1980 1981 /** 1982 * Sets the value(s) for <b>binding</b> () 1983 * 1984 * <p> 1985 * <b>Definition:</b> 1986 * Binds to a value set if this element is coded (code, Coding, CodeableConcept) 1987 * </p> 1988 */ 1989 public ElementDefinitionDt setBinding(Binding theValue) { 1990 myBinding = theValue; 1991 return this; 1992 } 1993 1994 1995 1996 1997 /** 1998 * Gets the value(s) for <b>mapping</b> (). 1999 * creating it if it does 2000 * not exist. Will not return <code>null</code>. 2001 * 2002 * <p> 2003 * <b>Definition:</b> 2004 * Identifies a concept from an external specification that roughly corresponds to this element 2005 * </p> 2006 */ 2007 public java.util.List<Mapping> getMapping() { 2008 if (myMapping == null) { 2009 myMapping = new java.util.ArrayList<Mapping>(); 2010 } 2011 return myMapping; 2012 } 2013 2014 /** 2015 * Sets the value(s) for <b>mapping</b> () 2016 * 2017 * <p> 2018 * <b>Definition:</b> 2019 * Identifies a concept from an external specification that roughly corresponds to this element 2020 * </p> 2021 */ 2022 public ElementDefinitionDt setMapping(java.util.List<Mapping> theValue) { 2023 myMapping = theValue; 2024 return this; 2025 } 2026 2027 2028 2029 /** 2030 * Adds and returns a new value for <b>mapping</b> () 2031 * 2032 * <p> 2033 * <b>Definition:</b> 2034 * Identifies a concept from an external specification that roughly corresponds to this element 2035 * </p> 2036 */ 2037 public Mapping addMapping() { 2038 Mapping newType = new Mapping(); 2039 getMapping().add(newType); 2040 return newType; 2041 } 2042 2043 /** 2044 * Adds a given new value for <b>mapping</b> () 2045 * 2046 * <p> 2047 * <b>Definition:</b> 2048 * Identifies a concept from an external specification that roughly corresponds to this element 2049 * </p> 2050 * @param theValue The mapping to add (must not be <code>null</code>) 2051 */ 2052 public ElementDefinitionDt addMapping(Mapping theValue) { 2053 if (theValue == null) { 2054 throw new NullPointerException("theValue must not be null"); 2055 } 2056 getMapping().add(theValue); 2057 return this; 2058 } 2059 2060 /** 2061 * Gets the first repetition for <b>mapping</b> (), 2062 * creating it if it does not already exist. 2063 * 2064 * <p> 2065 * <b>Definition:</b> 2066 * Identifies a concept from an external specification that roughly corresponds to this element 2067 * </p> 2068 */ 2069 public Mapping getMappingFirstRep() { 2070 if (getMapping().isEmpty()) { 2071 return addMapping(); 2072 } 2073 return getMapping().get(0); 2074 } 2075 2076 /** 2077 * Block class for child element: <b>ElementDefinition.slicing</b> () 2078 * 2079 * <p> 2080 * <b>Definition:</b> 2081 * Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set) 2082 * </p> 2083 */ 2084 @Block() 2085 public static class Slicing 2086 extends BaseIdentifiableElement implements IResourceBlock { 2087 2088 @Child(name="discriminator", type=StringDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2089 @Description( 2090 shortDefinition="", 2091 formalDefinition="Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices" 2092 ) 2093 private java.util.List<StringDt> myDiscriminator; 2094 2095 @Child(name="description", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 2096 @Description( 2097 shortDefinition="", 2098 formalDefinition="A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated" 2099 ) 2100 private StringDt myDescription; 2101 2102 @Child(name="ordered", type=BooleanDt.class, order=2, min=0, max=1, summary=true, modifier=false) 2103 @Description( 2104 shortDefinition="", 2105 formalDefinition="If the matching elements have to occur in the same order as defined in the profile" 2106 ) 2107 private BooleanDt myOrdered; 2108 2109 @Child(name="rules", type=CodeDt.class, order=3, min=1, max=1, summary=true, modifier=false) 2110 @Description( 2111 shortDefinition="", 2112 formalDefinition="Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end" 2113 ) 2114 private BoundCodeDt<SlicingRulesEnum> myRules; 2115 2116 2117 @Override 2118 public boolean isEmpty() { 2119 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myDiscriminator, myDescription, myOrdered, myRules); 2120 } 2121 2122 @Override 2123 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2124 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myDiscriminator, myDescription, myOrdered, myRules); 2125 } 2126 2127 /** 2128 * Gets the value(s) for <b>discriminator</b> (). 2129 * creating it if it does 2130 * not exist. Will not return <code>null</code>. 2131 * 2132 * <p> 2133 * <b>Definition:</b> 2134 * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices 2135 * </p> 2136 */ 2137 public java.util.List<StringDt> getDiscriminator() { 2138 if (myDiscriminator == null) { 2139 myDiscriminator = new java.util.ArrayList<StringDt>(); 2140 } 2141 return myDiscriminator; 2142 } 2143 2144 /** 2145 * Sets the value(s) for <b>discriminator</b> () 2146 * 2147 * <p> 2148 * <b>Definition:</b> 2149 * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices 2150 * </p> 2151 */ 2152 public Slicing setDiscriminator(java.util.List<StringDt> theValue) { 2153 myDiscriminator = theValue; 2154 return this; 2155 } 2156 2157 2158 2159 /** 2160 * Adds and returns a new value for <b>discriminator</b> () 2161 * 2162 * <p> 2163 * <b>Definition:</b> 2164 * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices 2165 * </p> 2166 */ 2167 public StringDt addDiscriminator() { 2168 StringDt newType = new StringDt(); 2169 getDiscriminator().add(newType); 2170 return newType; 2171 } 2172 2173 /** 2174 * Adds a given new value for <b>discriminator</b> () 2175 * 2176 * <p> 2177 * <b>Definition:</b> 2178 * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices 2179 * </p> 2180 * @param theValue The discriminator to add (must not be <code>null</code>) 2181 */ 2182 public Slicing addDiscriminator(StringDt theValue) { 2183 if (theValue == null) { 2184 throw new NullPointerException("theValue must not be null"); 2185 } 2186 getDiscriminator().add(theValue); 2187 return this; 2188 } 2189 2190 /** 2191 * Gets the first repetition for <b>discriminator</b> (), 2192 * creating it if it does not already exist. 2193 * 2194 * <p> 2195 * <b>Definition:</b> 2196 * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices 2197 * </p> 2198 */ 2199 public StringDt getDiscriminatorFirstRep() { 2200 if (getDiscriminator().isEmpty()) { 2201 return addDiscriminator(); 2202 } 2203 return getDiscriminator().get(0); 2204 } 2205 /** 2206 * Adds a new value for <b>discriminator</b> () 2207 * 2208 * <p> 2209 * <b>Definition:</b> 2210 * Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices 2211 * </p> 2212 * 2213 * @return Returns a reference to this object, to allow for simple chaining. 2214 */ 2215 public Slicing addDiscriminator( String theString) { 2216 if (myDiscriminator == null) { 2217 myDiscriminator = new java.util.ArrayList<StringDt>(); 2218 } 2219 myDiscriminator.add(new StringDt(theString)); 2220 return this; 2221 } 2222 2223 2224 /** 2225 * Gets the value(s) for <b>description</b> (). 2226 * creating it if it does 2227 * not exist. Will not return <code>null</code>. 2228 * 2229 * <p> 2230 * <b>Definition:</b> 2231 * A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated 2232 * </p> 2233 */ 2234 public StringDt getDescriptionElement() { 2235 if (myDescription == null) { 2236 myDescription = new StringDt(); 2237 } 2238 return myDescription; 2239 } 2240 2241 2242 /** 2243 * Gets the value(s) for <b>description</b> (). 2244 * creating it if it does 2245 * not exist. Will not return <code>null</code>. 2246 * 2247 * <p> 2248 * <b>Definition:</b> 2249 * A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated 2250 * </p> 2251 */ 2252 public String getDescription() { 2253 return getDescriptionElement().getValue(); 2254 } 2255 2256 /** 2257 * Sets the value(s) for <b>description</b> () 2258 * 2259 * <p> 2260 * <b>Definition:</b> 2261 * A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated 2262 * </p> 2263 */ 2264 public Slicing setDescription(StringDt theValue) { 2265 myDescription = theValue; 2266 return this; 2267 } 2268 2269 2270 2271 /** 2272 * Sets the value for <b>description</b> () 2273 * 2274 * <p> 2275 * <b>Definition:</b> 2276 * A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated 2277 * </p> 2278 */ 2279 public Slicing setDescription( String theString) { 2280 myDescription = new StringDt(theString); 2281 return this; 2282 } 2283 2284 2285 /** 2286 * Gets the value(s) for <b>ordered</b> (). 2287 * creating it if it does 2288 * not exist. Will not return <code>null</code>. 2289 * 2290 * <p> 2291 * <b>Definition:</b> 2292 * If the matching elements have to occur in the same order as defined in the profile 2293 * </p> 2294 */ 2295 public BooleanDt getOrderedElement() { 2296 if (myOrdered == null) { 2297 myOrdered = new BooleanDt(); 2298 } 2299 return myOrdered; 2300 } 2301 2302 2303 /** 2304 * Gets the value(s) for <b>ordered</b> (). 2305 * creating it if it does 2306 * not exist. Will not return <code>null</code>. 2307 * 2308 * <p> 2309 * <b>Definition:</b> 2310 * If the matching elements have to occur in the same order as defined in the profile 2311 * </p> 2312 */ 2313 public Boolean getOrdered() { 2314 return getOrderedElement().getValue(); 2315 } 2316 2317 /** 2318 * Sets the value(s) for <b>ordered</b> () 2319 * 2320 * <p> 2321 * <b>Definition:</b> 2322 * If the matching elements have to occur in the same order as defined in the profile 2323 * </p> 2324 */ 2325 public Slicing setOrdered(BooleanDt theValue) { 2326 myOrdered = theValue; 2327 return this; 2328 } 2329 2330 2331 2332 /** 2333 * Sets the value for <b>ordered</b> () 2334 * 2335 * <p> 2336 * <b>Definition:</b> 2337 * If the matching elements have to occur in the same order as defined in the profile 2338 * </p> 2339 */ 2340 public Slicing setOrdered( boolean theBoolean) { 2341 myOrdered = new BooleanDt(theBoolean); 2342 return this; 2343 } 2344 2345 2346 /** 2347 * Gets the value(s) for <b>rules</b> (). 2348 * creating it if it does 2349 * not exist. Will not return <code>null</code>. 2350 * 2351 * <p> 2352 * <b>Definition:</b> 2353 * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end 2354 * </p> 2355 */ 2356 public BoundCodeDt<SlicingRulesEnum> getRulesElement() { 2357 if (myRules == null) { 2358 myRules = new BoundCodeDt<SlicingRulesEnum>(SlicingRulesEnum.VALUESET_BINDER); 2359 } 2360 return myRules; 2361 } 2362 2363 2364 /** 2365 * Gets the value(s) for <b>rules</b> (). 2366 * creating it if it does 2367 * not exist. Will not return <code>null</code>. 2368 * 2369 * <p> 2370 * <b>Definition:</b> 2371 * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end 2372 * </p> 2373 */ 2374 public String getRules() { 2375 return getRulesElement().getValue(); 2376 } 2377 2378 /** 2379 * Sets the value(s) for <b>rules</b> () 2380 * 2381 * <p> 2382 * <b>Definition:</b> 2383 * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end 2384 * </p> 2385 */ 2386 public Slicing setRules(BoundCodeDt<SlicingRulesEnum> theValue) { 2387 myRules = theValue; 2388 return this; 2389 } 2390 2391 2392 2393 /** 2394 * Sets the value(s) for <b>rules</b> () 2395 * 2396 * <p> 2397 * <b>Definition:</b> 2398 * Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end 2399 * </p> 2400 */ 2401 public Slicing setRules(SlicingRulesEnum theValue) { 2402 setRules(new BoundCodeDt<SlicingRulesEnum>(SlicingRulesEnum.VALUESET_BINDER, theValue)); 2403 2404/* 2405 getRulesElement().setValueAsEnum(theValue); 2406*/ 2407 return this; 2408 } 2409 2410 2411 2412 2413 } 2414 2415 2416 /** 2417 * Block class for child element: <b>ElementDefinition.base</b> () 2418 * 2419 * <p> 2420 * <b>Definition:</b> 2421 * Information about the base definition of the element, provided to make it unncessary for tools to trace the deviation of the element through the derived and related profiles. This information is only provided where the element definition represents a constraint on another element definition, and must be present if there is a base element definition. 2422 * </p> 2423 */ 2424 @Block() 2425 public static class Base 2426 extends BaseIdentifiableElement implements IResourceBlock { 2427 2428 @Child(name="path", type=StringDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2429 @Description( 2430 shortDefinition="", 2431 formalDefinition="The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base" 2432 ) 2433 private StringDt myPath; 2434 2435 @Child(name="min", type=IntegerDt.class, order=1, min=1, max=1, summary=true, modifier=false) 2436 @Description( 2437 shortDefinition="", 2438 formalDefinition="Minimum cardinality of the base element identified by the path" 2439 ) 2440 private IntegerDt myMin; 2441 2442 @Child(name="max", type=StringDt.class, order=2, min=1, max=1, summary=true, modifier=false) 2443 @Description( 2444 shortDefinition="", 2445 formalDefinition="Maximum cardinality of the base element identified by the path" 2446 ) 2447 private StringDt myMax; 2448 2449 2450 @Override 2451 public boolean isEmpty() { 2452 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myPath, myMin, myMax); 2453 } 2454 2455 @Override 2456 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2457 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myPath, myMin, myMax); 2458 } 2459 2460 /** 2461 * Gets the value(s) for <b>path</b> (). 2462 * creating it if it does 2463 * not exist. Will not return <code>null</code>. 2464 * 2465 * <p> 2466 * <b>Definition:</b> 2467 * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base 2468 * </p> 2469 */ 2470 public StringDt getPathElement() { 2471 if (myPath == null) { 2472 myPath = new StringDt(); 2473 } 2474 return myPath; 2475 } 2476 2477 2478 /** 2479 * Gets the value(s) for <b>path</b> (). 2480 * creating it if it does 2481 * not exist. Will not return <code>null</code>. 2482 * 2483 * <p> 2484 * <b>Definition:</b> 2485 * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base 2486 * </p> 2487 */ 2488 public String getPath() { 2489 return getPathElement().getValue(); 2490 } 2491 2492 /** 2493 * Sets the value(s) for <b>path</b> () 2494 * 2495 * <p> 2496 * <b>Definition:</b> 2497 * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base 2498 * </p> 2499 */ 2500 public Base setPath(StringDt theValue) { 2501 myPath = theValue; 2502 return this; 2503 } 2504 2505 2506 2507 /** 2508 * Sets the value for <b>path</b> () 2509 * 2510 * <p> 2511 * <b>Definition:</b> 2512 * The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [[[StructureDefinition]]] without a StructureDefinition.base 2513 * </p> 2514 */ 2515 public Base setPath( String theString) { 2516 myPath = new StringDt(theString); 2517 return this; 2518 } 2519 2520 2521 /** 2522 * Gets the value(s) for <b>min</b> (). 2523 * creating it if it does 2524 * not exist. Will not return <code>null</code>. 2525 * 2526 * <p> 2527 * <b>Definition:</b> 2528 * Minimum cardinality of the base element identified by the path 2529 * </p> 2530 */ 2531 public IntegerDt getMinElement() { 2532 if (myMin == null) { 2533 myMin = new IntegerDt(); 2534 } 2535 return myMin; 2536 } 2537 2538 2539 /** 2540 * Gets the value(s) for <b>min</b> (). 2541 * creating it if it does 2542 * not exist. Will not return <code>null</code>. 2543 * 2544 * <p> 2545 * <b>Definition:</b> 2546 * Minimum cardinality of the base element identified by the path 2547 * </p> 2548 */ 2549 public Integer getMin() { 2550 return getMinElement().getValue(); 2551 } 2552 2553 /** 2554 * Sets the value(s) for <b>min</b> () 2555 * 2556 * <p> 2557 * <b>Definition:</b> 2558 * Minimum cardinality of the base element identified by the path 2559 * </p> 2560 */ 2561 public Base setMin(IntegerDt theValue) { 2562 myMin = theValue; 2563 return this; 2564 } 2565 2566 2567 2568 /** 2569 * Sets the value for <b>min</b> () 2570 * 2571 * <p> 2572 * <b>Definition:</b> 2573 * Minimum cardinality of the base element identified by the path 2574 * </p> 2575 */ 2576 public Base setMin( int theInteger) { 2577 myMin = new IntegerDt(theInteger); 2578 return this; 2579 } 2580 2581 2582 /** 2583 * Gets the value(s) for <b>max</b> (). 2584 * creating it if it does 2585 * not exist. Will not return <code>null</code>. 2586 * 2587 * <p> 2588 * <b>Definition:</b> 2589 * Maximum cardinality of the base element identified by the path 2590 * </p> 2591 */ 2592 public StringDt getMaxElement() { 2593 if (myMax == null) { 2594 myMax = new StringDt(); 2595 } 2596 return myMax; 2597 } 2598 2599 2600 /** 2601 * Gets the value(s) for <b>max</b> (). 2602 * creating it if it does 2603 * not exist. Will not return <code>null</code>. 2604 * 2605 * <p> 2606 * <b>Definition:</b> 2607 * Maximum cardinality of the base element identified by the path 2608 * </p> 2609 */ 2610 public String getMax() { 2611 return getMaxElement().getValue(); 2612 } 2613 2614 /** 2615 * Sets the value(s) for <b>max</b> () 2616 * 2617 * <p> 2618 * <b>Definition:</b> 2619 * Maximum cardinality of the base element identified by the path 2620 * </p> 2621 */ 2622 public Base setMax(StringDt theValue) { 2623 myMax = theValue; 2624 return this; 2625 } 2626 2627 2628 2629 /** 2630 * Sets the value for <b>max</b> () 2631 * 2632 * <p> 2633 * <b>Definition:</b> 2634 * Maximum cardinality of the base element identified by the path 2635 * </p> 2636 */ 2637 public Base setMax( String theString) { 2638 myMax = new StringDt(theString); 2639 return this; 2640 } 2641 2642 2643 2644 2645 } 2646 2647 2648 /** 2649 * Block class for child element: <b>ElementDefinition.type</b> () 2650 * 2651 * <p> 2652 * <b>Definition:</b> 2653 * The data type or resource that the value of this element is permitted to be 2654 * </p> 2655 */ 2656 @Block() 2657 public static class Type 2658 extends BaseIdentifiableElement implements IResourceBlock { 2659 2660 @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2661 @Description( 2662 shortDefinition="", 2663 formalDefinition="Name of Data type or Resource that is a(or the) type used for this element" 2664 ) 2665 private CodeDt myCode; 2666 2667 @Child(name="profile", type=UriDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2668 @Description( 2669 shortDefinition="", 2670 formalDefinition="Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide" 2671 ) 2672 private java.util.List<UriDt> myProfile; 2673 2674 @Child(name="aggregation", type=CodeDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2675 @Description( 2676 shortDefinition="", 2677 formalDefinition="If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle." 2678 ) 2679 private java.util.List<BoundCodeDt<AggregationModeEnum>> myAggregation; 2680 2681 2682 @Override 2683 public boolean isEmpty() { 2684 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myProfile, myAggregation); 2685 } 2686 2687 @Override 2688 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2689 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myProfile, myAggregation); 2690 } 2691 2692 /** 2693 * Gets the value(s) for <b>code</b> (). 2694 * creating it if it does 2695 * not exist. Will not return <code>null</code>. 2696 * 2697 * <p> 2698 * <b>Definition:</b> 2699 * Name of Data type or Resource that is a(or the) type used for this element 2700 * </p> 2701 */ 2702 public CodeDt getCodeElement() { 2703 if (myCode == null) { 2704 myCode = new CodeDt(); 2705 } 2706 return myCode; 2707 } 2708 2709 2710 /** 2711 * Gets the value(s) for <b>code</b> (). 2712 * creating it if it does 2713 * not exist. Will not return <code>null</code>. 2714 * 2715 * <p> 2716 * <b>Definition:</b> 2717 * Name of Data type or Resource that is a(or the) type used for this element 2718 * </p> 2719 */ 2720 public String getCode() { 2721 return getCodeElement().getValue(); 2722 } 2723 2724 /** 2725 * Sets the value(s) for <b>code</b> () 2726 * 2727 * <p> 2728 * <b>Definition:</b> 2729 * Name of Data type or Resource that is a(or the) type used for this element 2730 * </p> 2731 */ 2732 public Type setCode(CodeDt theValue) { 2733 myCode = theValue; 2734 return this; 2735 } 2736 2737 2738 2739 /** 2740 * Sets the value for <b>code</b> () 2741 * 2742 * <p> 2743 * <b>Definition:</b> 2744 * Name of Data type or Resource that is a(or the) type used for this element 2745 * </p> 2746 */ 2747 public Type setCode( String theCode) { 2748 myCode = new CodeDt(theCode); 2749 return this; 2750 } 2751 2752 2753 /** 2754 * Gets the value(s) for <b>profile</b> (). 2755 * creating it if it does 2756 * not exist. Will not return <code>null</code>. 2757 * 2758 * <p> 2759 * <b>Definition:</b> 2760 * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide 2761 * </p> 2762 */ 2763 public java.util.List<UriDt> getProfile() { 2764 if (myProfile == null) { 2765 myProfile = new java.util.ArrayList<UriDt>(); 2766 } 2767 return myProfile; 2768 } 2769 2770 /** 2771 * Sets the value(s) for <b>profile</b> () 2772 * 2773 * <p> 2774 * <b>Definition:</b> 2775 * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide 2776 * </p> 2777 */ 2778 public Type setProfile(java.util.List<UriDt> theValue) { 2779 myProfile = theValue; 2780 return this; 2781 } 2782 2783 2784 2785 /** 2786 * Adds and returns a new value for <b>profile</b> () 2787 * 2788 * <p> 2789 * <b>Definition:</b> 2790 * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide 2791 * </p> 2792 */ 2793 public UriDt addProfile() { 2794 UriDt newType = new UriDt(); 2795 getProfile().add(newType); 2796 return newType; 2797 } 2798 2799 /** 2800 * Adds a given new value for <b>profile</b> () 2801 * 2802 * <p> 2803 * <b>Definition:</b> 2804 * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide 2805 * </p> 2806 * @param theValue The profile to add (must not be <code>null</code>) 2807 */ 2808 public Type addProfile(UriDt theValue) { 2809 if (theValue == null) { 2810 throw new NullPointerException("theValue must not be null"); 2811 } 2812 getProfile().add(theValue); 2813 return this; 2814 } 2815 2816 /** 2817 * Gets the first repetition for <b>profile</b> (), 2818 * creating it if it does not already exist. 2819 * 2820 * <p> 2821 * <b>Definition:</b> 2822 * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide 2823 * </p> 2824 */ 2825 public UriDt getProfileFirstRep() { 2826 if (getProfile().isEmpty()) { 2827 return addProfile(); 2828 } 2829 return getProfile().get(0); 2830 } 2831 /** 2832 * Adds a new value for <b>profile</b> () 2833 * 2834 * <p> 2835 * <b>Definition:</b> 2836 * Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide 2837 * </p> 2838 * 2839 * @return Returns a reference to this object, to allow for simple chaining. 2840 */ 2841 public Type addProfile( String theUri) { 2842 if (myProfile == null) { 2843 myProfile = new java.util.ArrayList<UriDt>(); 2844 } 2845 myProfile.add(new UriDt(theUri)); 2846 return this; 2847 } 2848 2849 2850 /** 2851 * Gets the value(s) for <b>aggregation</b> (). 2852 * creating it if it does 2853 * not exist. Will not return <code>null</code>. 2854 * 2855 * <p> 2856 * <b>Definition:</b> 2857 * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. 2858 * </p> 2859 */ 2860 public java.util.List<BoundCodeDt<AggregationModeEnum>> getAggregation() { 2861 if (myAggregation == null) { 2862 myAggregation = new java.util.ArrayList<BoundCodeDt<AggregationModeEnum>>(); 2863 } 2864 return myAggregation; 2865 } 2866 2867 /** 2868 * Sets the value(s) for <b>aggregation</b> () 2869 * 2870 * <p> 2871 * <b>Definition:</b> 2872 * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. 2873 * </p> 2874 */ 2875 public Type setAggregation(java.util.List<BoundCodeDt<AggregationModeEnum>> theValue) { 2876 myAggregation = theValue; 2877 return this; 2878 } 2879 2880 2881 2882 /** 2883 * Add a value for <b>aggregation</b> () using an enumerated type. This 2884 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 2885 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 2886 * you may also use the {@link #addAggregation()} method. 2887 * 2888 * <p> 2889 * <b>Definition:</b> 2890 * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. 2891 * </p> 2892 */ 2893 public BoundCodeDt<AggregationModeEnum> addAggregation(AggregationModeEnum theValue) { 2894 BoundCodeDt<AggregationModeEnum> retVal = new BoundCodeDt<AggregationModeEnum>(AggregationModeEnum.VALUESET_BINDER, theValue); 2895 getAggregation().add(retVal); 2896 return retVal; 2897 } 2898 2899 /** 2900 * Gets the first repetition for <b>aggregation</b> (), 2901 * creating it if it does not already exist. 2902 * 2903 * <p> 2904 * <b>Definition:</b> 2905 * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. 2906 * </p> 2907 */ 2908 public BoundCodeDt<AggregationModeEnum> getAggregationFirstRep() { 2909 if (getAggregation().size() == 0) { 2910 addAggregation(); 2911 } 2912 return getAggregation().get(0); 2913 } 2914 2915 /** 2916 * Add a value for <b>aggregation</b> () 2917 * 2918 * <p> 2919 * <b>Definition:</b> 2920 * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. 2921 * </p> 2922 */ 2923 public BoundCodeDt<AggregationModeEnum> addAggregation() { 2924 BoundCodeDt<AggregationModeEnum> retVal = new BoundCodeDt<AggregationModeEnum>(AggregationModeEnum.VALUESET_BINDER); 2925 getAggregation().add(retVal); 2926 return retVal; 2927 } 2928 2929 /** 2930 * Sets the value(s), and clears any existing value(s) for <b>aggregation</b> () 2931 * 2932 * <p> 2933 * <b>Definition:</b> 2934 * If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. 2935 * </p> 2936 */ 2937 public Type setAggregation(AggregationModeEnum theValue) { 2938 getAggregation().clear(); 2939 addAggregation(theValue); 2940 return this; 2941 } 2942 2943 2944 2945 2946 } 2947 2948 2949 /** 2950 * Block class for child element: <b>ElementDefinition.constraint</b> () 2951 * 2952 * <p> 2953 * <b>Definition:</b> 2954 * Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance 2955 * </p> 2956 */ 2957 @Block() 2958 public static class Constraint 2959 extends BaseIdentifiableElement implements IResourceBlock { 2960 2961 @Child(name="key", type=IdDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2962 @Description( 2963 shortDefinition="", 2964 formalDefinition="Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality" 2965 ) 2966 private IdDt myKey; 2967 2968 @Child(name="requirements", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 2969 @Description( 2970 shortDefinition="", 2971 formalDefinition="Description of why this constraint is necessary or appropriate" 2972 ) 2973 private StringDt myRequirements; 2974 2975 @Child(name="severity", type=CodeDt.class, order=2, min=1, max=1, summary=true, modifier=false) 2976 @Description( 2977 shortDefinition="", 2978 formalDefinition="Identifies the impact constraint violation has on the conformance of the instance" 2979 ) 2980 private BoundCodeDt<ConstraintSeverityEnum> mySeverity; 2981 2982 @Child(name="human", type=StringDt.class, order=3, min=1, max=1, summary=true, modifier=false) 2983 @Description( 2984 shortDefinition="", 2985 formalDefinition="Text that can be used to describe the constraint in messages identifying that the constraint has been violated" 2986 ) 2987 private StringDt myHuman; 2988 2989 @Child(name="xpath", type=StringDt.class, order=4, min=1, max=1, summary=true, modifier=false) 2990 @Description( 2991 shortDefinition="", 2992 formalDefinition="An XPath expression of constraint that can be executed to see if this constraint is met" 2993 ) 2994 private StringDt myXpath; 2995 2996 2997 @Override 2998 public boolean isEmpty() { 2999 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myKey, myRequirements, mySeverity, myHuman, myXpath); 3000 } 3001 3002 @Override 3003 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3004 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myKey, myRequirements, mySeverity, myHuman, myXpath); 3005 } 3006 3007 /** 3008 * Gets the value(s) for <b>key</b> (). 3009 * creating it if it does 3010 * not exist. Will not return <code>null</code>. 3011 * 3012 * <p> 3013 * <b>Definition:</b> 3014 * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality 3015 * </p> 3016 */ 3017 public IdDt getKeyElement() { 3018 if (myKey == null) { 3019 myKey = new IdDt(); 3020 } 3021 return myKey; 3022 } 3023 3024 3025 /** 3026 * Gets the value(s) for <b>key</b> (). 3027 * creating it if it does 3028 * not exist. Will not return <code>null</code>. 3029 * 3030 * <p> 3031 * <b>Definition:</b> 3032 * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality 3033 * </p> 3034 */ 3035 public String getKey() { 3036 return getKeyElement().getValue(); 3037 } 3038 3039 /** 3040 * Sets the value(s) for <b>key</b> () 3041 * 3042 * <p> 3043 * <b>Definition:</b> 3044 * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality 3045 * </p> 3046 */ 3047 public Constraint setKey(IdDt theValue) { 3048 myKey = theValue; 3049 return this; 3050 } 3051 3052 3053 3054 /** 3055 * Sets the value for <b>key</b> () 3056 * 3057 * <p> 3058 * <b>Definition:</b> 3059 * Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality 3060 * </p> 3061 */ 3062 public Constraint setKey( String theId) { 3063 myKey = new IdDt(theId); 3064 return this; 3065 } 3066 3067 3068 /** 3069 * Gets the value(s) for <b>requirements</b> (). 3070 * creating it if it does 3071 * not exist. Will not return <code>null</code>. 3072 * 3073 * <p> 3074 * <b>Definition:</b> 3075 * Description of why this constraint is necessary or appropriate 3076 * </p> 3077 */ 3078 public StringDt getRequirementsElement() { 3079 if (myRequirements == null) { 3080 myRequirements = new StringDt(); 3081 } 3082 return myRequirements; 3083 } 3084 3085 3086 /** 3087 * Gets the value(s) for <b>requirements</b> (). 3088 * creating it if it does 3089 * not exist. Will not return <code>null</code>. 3090 * 3091 * <p> 3092 * <b>Definition:</b> 3093 * Description of why this constraint is necessary or appropriate 3094 * </p> 3095 */ 3096 public String getRequirements() { 3097 return getRequirementsElement().getValue(); 3098 } 3099 3100 /** 3101 * Sets the value(s) for <b>requirements</b> () 3102 * 3103 * <p> 3104 * <b>Definition:</b> 3105 * Description of why this constraint is necessary or appropriate 3106 * </p> 3107 */ 3108 public Constraint setRequirements(StringDt theValue) { 3109 myRequirements = theValue; 3110 return this; 3111 } 3112 3113 3114 3115 /** 3116 * Sets the value for <b>requirements</b> () 3117 * 3118 * <p> 3119 * <b>Definition:</b> 3120 * Description of why this constraint is necessary or appropriate 3121 * </p> 3122 */ 3123 public Constraint setRequirements( String theString) { 3124 myRequirements = new StringDt(theString); 3125 return this; 3126 } 3127 3128 3129 /** 3130 * Gets the value(s) for <b>severity</b> (). 3131 * creating it if it does 3132 * not exist. Will not return <code>null</code>. 3133 * 3134 * <p> 3135 * <b>Definition:</b> 3136 * Identifies the impact constraint violation has on the conformance of the instance 3137 * </p> 3138 */ 3139 public BoundCodeDt<ConstraintSeverityEnum> getSeverityElement() { 3140 if (mySeverity == null) { 3141 mySeverity = new BoundCodeDt<ConstraintSeverityEnum>(ConstraintSeverityEnum.VALUESET_BINDER); 3142 } 3143 return mySeverity; 3144 } 3145 3146 3147 /** 3148 * Gets the value(s) for <b>severity</b> (). 3149 * creating it if it does 3150 * not exist. Will not return <code>null</code>. 3151 * 3152 * <p> 3153 * <b>Definition:</b> 3154 * Identifies the impact constraint violation has on the conformance of the instance 3155 * </p> 3156 */ 3157 public String getSeverity() { 3158 return getSeverityElement().getValue(); 3159 } 3160 3161 /** 3162 * Sets the value(s) for <b>severity</b> () 3163 * 3164 * <p> 3165 * <b>Definition:</b> 3166 * Identifies the impact constraint violation has on the conformance of the instance 3167 * </p> 3168 */ 3169 public Constraint setSeverity(BoundCodeDt<ConstraintSeverityEnum> theValue) { 3170 mySeverity = theValue; 3171 return this; 3172 } 3173 3174 3175 3176 /** 3177 * Sets the value(s) for <b>severity</b> () 3178 * 3179 * <p> 3180 * <b>Definition:</b> 3181 * Identifies the impact constraint violation has on the conformance of the instance 3182 * </p> 3183 */ 3184 public Constraint setSeverity(ConstraintSeverityEnum theValue) { 3185 setSeverity(new BoundCodeDt<ConstraintSeverityEnum>(ConstraintSeverityEnum.VALUESET_BINDER, theValue)); 3186 3187/* 3188 getSeverityElement().setValueAsEnum(theValue); 3189*/ 3190 return this; 3191 } 3192 3193 3194 /** 3195 * Gets the value(s) for <b>human</b> (). 3196 * creating it if it does 3197 * not exist. Will not return <code>null</code>. 3198 * 3199 * <p> 3200 * <b>Definition:</b> 3201 * Text that can be used to describe the constraint in messages identifying that the constraint has been violated 3202 * </p> 3203 */ 3204 public StringDt getHumanElement() { 3205 if (myHuman == null) { 3206 myHuman = new StringDt(); 3207 } 3208 return myHuman; 3209 } 3210 3211 3212 /** 3213 * Gets the value(s) for <b>human</b> (). 3214 * creating it if it does 3215 * not exist. Will not return <code>null</code>. 3216 * 3217 * <p> 3218 * <b>Definition:</b> 3219 * Text that can be used to describe the constraint in messages identifying that the constraint has been violated 3220 * </p> 3221 */ 3222 public String getHuman() { 3223 return getHumanElement().getValue(); 3224 } 3225 3226 /** 3227 * Sets the value(s) for <b>human</b> () 3228 * 3229 * <p> 3230 * <b>Definition:</b> 3231 * Text that can be used to describe the constraint in messages identifying that the constraint has been violated 3232 * </p> 3233 */ 3234 public Constraint setHuman(StringDt theValue) { 3235 myHuman = theValue; 3236 return this; 3237 } 3238 3239 3240 3241 /** 3242 * Sets the value for <b>human</b> () 3243 * 3244 * <p> 3245 * <b>Definition:</b> 3246 * Text that can be used to describe the constraint in messages identifying that the constraint has been violated 3247 * </p> 3248 */ 3249 public Constraint setHuman( String theString) { 3250 myHuman = new StringDt(theString); 3251 return this; 3252 } 3253 3254 3255 /** 3256 * Gets the value(s) for <b>xpath</b> (). 3257 * creating it if it does 3258 * not exist. Will not return <code>null</code>. 3259 * 3260 * <p> 3261 * <b>Definition:</b> 3262 * An XPath expression of constraint that can be executed to see if this constraint is met 3263 * </p> 3264 */ 3265 public StringDt getXpathElement() { 3266 if (myXpath == null) { 3267 myXpath = new StringDt(); 3268 } 3269 return myXpath; 3270 } 3271 3272 3273 /** 3274 * Gets the value(s) for <b>xpath</b> (). 3275 * creating it if it does 3276 * not exist. Will not return <code>null</code>. 3277 * 3278 * <p> 3279 * <b>Definition:</b> 3280 * An XPath expression of constraint that can be executed to see if this constraint is met 3281 * </p> 3282 */ 3283 public String getXpath() { 3284 return getXpathElement().getValue(); 3285 } 3286 3287 /** 3288 * Sets the value(s) for <b>xpath</b> () 3289 * 3290 * <p> 3291 * <b>Definition:</b> 3292 * An XPath expression of constraint that can be executed to see if this constraint is met 3293 * </p> 3294 */ 3295 public Constraint setXpath(StringDt theValue) { 3296 myXpath = theValue; 3297 return this; 3298 } 3299 3300 3301 3302 /** 3303 * Sets the value for <b>xpath</b> () 3304 * 3305 * <p> 3306 * <b>Definition:</b> 3307 * An XPath expression of constraint that can be executed to see if this constraint is met 3308 * </p> 3309 */ 3310 public Constraint setXpath( String theString) { 3311 myXpath = new StringDt(theString); 3312 return this; 3313 } 3314 3315 3316 3317 3318 } 3319 3320 3321 /** 3322 * Block class for child element: <b>ElementDefinition.binding</b> () 3323 * 3324 * <p> 3325 * <b>Definition:</b> 3326 * Binds to a value set if this element is coded (code, Coding, CodeableConcept) 3327 * </p> 3328 */ 3329 @Block() 3330 public static class Binding 3331 extends BaseIdentifiableElement implements IResourceBlock { 3332 3333 @Child(name="strength", type=CodeDt.class, order=0, min=1, max=1, summary=true, modifier=false) 3334 @Description( 3335 shortDefinition="", 3336 formalDefinition="Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances" 3337 ) 3338 private BoundCodeDt<BindingStrengthEnum> myStrength; 3339 3340 @Child(name="description", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 3341 @Description( 3342 shortDefinition="", 3343 formalDefinition="Describes the intended use of this particular set of codes" 3344 ) 3345 private StringDt myDescription; 3346 3347 @Child(name="valueSet", order=2, min=0, max=1, summary=true, modifier=false, type={ 3348 UriDt.class, ValueSet.class }) 3349 @Description( 3350 shortDefinition="", 3351 formalDefinition="Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used" 3352 ) 3353 private IDatatype myValueSet; 3354 3355 3356 @Override 3357 public boolean isEmpty() { 3358 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myStrength, myDescription, myValueSet); 3359 } 3360 3361 @Override 3362 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3363 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myStrength, myDescription, myValueSet); 3364 } 3365 3366 /** 3367 * Gets the value(s) for <b>strength</b> (). 3368 * creating it if it does 3369 * not exist. Will not return <code>null</code>. 3370 * 3371 * <p> 3372 * <b>Definition:</b> 3373 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 3374 * </p> 3375 */ 3376 public BoundCodeDt<BindingStrengthEnum> getStrengthElement() { 3377 if (myStrength == null) { 3378 myStrength = new BoundCodeDt<BindingStrengthEnum>(BindingStrengthEnum.VALUESET_BINDER); 3379 } 3380 return myStrength; 3381 } 3382 3383 3384 /** 3385 * Gets the value(s) for <b>strength</b> (). 3386 * creating it if it does 3387 * not exist. Will not return <code>null</code>. 3388 * 3389 * <p> 3390 * <b>Definition:</b> 3391 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 3392 * </p> 3393 */ 3394 public String getStrength() { 3395 return getStrengthElement().getValue(); 3396 } 3397 3398 /** 3399 * Sets the value(s) for <b>strength</b> () 3400 * 3401 * <p> 3402 * <b>Definition:</b> 3403 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 3404 * </p> 3405 */ 3406 public Binding setStrength(BoundCodeDt<BindingStrengthEnum> theValue) { 3407 myStrength = theValue; 3408 return this; 3409 } 3410 3411 3412 3413 /** 3414 * Sets the value(s) for <b>strength</b> () 3415 * 3416 * <p> 3417 * <b>Definition:</b> 3418 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 3419 * </p> 3420 */ 3421 public Binding setStrength(BindingStrengthEnum theValue) { 3422 setStrength(new BoundCodeDt<BindingStrengthEnum>(BindingStrengthEnum.VALUESET_BINDER, theValue)); 3423 3424/* 3425 getStrengthElement().setValueAsEnum(theValue); 3426*/ 3427 return this; 3428 } 3429 3430 3431 /** 3432 * Gets the value(s) for <b>description</b> (). 3433 * creating it if it does 3434 * not exist. Will not return <code>null</code>. 3435 * 3436 * <p> 3437 * <b>Definition:</b> 3438 * Describes the intended use of this particular set of codes 3439 * </p> 3440 */ 3441 public StringDt getDescriptionElement() { 3442 if (myDescription == null) { 3443 myDescription = new StringDt(); 3444 } 3445 return myDescription; 3446 } 3447 3448 3449 /** 3450 * Gets the value(s) for <b>description</b> (). 3451 * creating it if it does 3452 * not exist. Will not return <code>null</code>. 3453 * 3454 * <p> 3455 * <b>Definition:</b> 3456 * Describes the intended use of this particular set of codes 3457 * </p> 3458 */ 3459 public String getDescription() { 3460 return getDescriptionElement().getValue(); 3461 } 3462 3463 /** 3464 * Sets the value(s) for <b>description</b> () 3465 * 3466 * <p> 3467 * <b>Definition:</b> 3468 * Describes the intended use of this particular set of codes 3469 * </p> 3470 */ 3471 public Binding setDescription(StringDt theValue) { 3472 myDescription = theValue; 3473 return this; 3474 } 3475 3476 3477 3478 /** 3479 * Sets the value for <b>description</b> () 3480 * 3481 * <p> 3482 * <b>Definition:</b> 3483 * Describes the intended use of this particular set of codes 3484 * </p> 3485 */ 3486 public Binding setDescription( String theString) { 3487 myDescription = new StringDt(theString); 3488 return this; 3489 } 3490 3491 3492 /** 3493 * Gets the value(s) for <b>valueSet[x]</b> (). 3494 * creating it if it does 3495 * not exist. Will not return <code>null</code>. 3496 * 3497 * <p> 3498 * <b>Definition:</b> 3499 * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used 3500 * </p> 3501 */ 3502 public IDatatype getValueSet() { 3503 return myValueSet; 3504 } 3505 3506 /** 3507 * Sets the value(s) for <b>valueSet[x]</b> () 3508 * 3509 * <p> 3510 * <b>Definition:</b> 3511 * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used 3512 * </p> 3513 */ 3514 public Binding setValueSet(IDatatype theValue) { 3515 myValueSet = theValue; 3516 return this; 3517 } 3518 3519 3520 3521 3522 3523 3524 } 3525 3526 3527 /** 3528 * Block class for child element: <b>ElementDefinition.mapping</b> () 3529 * 3530 * <p> 3531 * <b>Definition:</b> 3532 * Identifies a concept from an external specification that roughly corresponds to this element 3533 * </p> 3534 */ 3535 @Block() 3536 public static class Mapping 3537 extends BaseIdentifiableElement implements IResourceBlock { 3538 3539 @Child(name="identity", type=IdDt.class, order=0, min=1, max=1, summary=true, modifier=false) 3540 @Description( 3541 shortDefinition="", 3542 formalDefinition="An internal reference to the definition of a mapping" 3543 ) 3544 private IdDt myIdentity; 3545 3546 @Child(name="language", type=CodeDt.class, order=1, min=0, max=1, summary=true, modifier=false) 3547 @Description( 3548 shortDefinition="", 3549 formalDefinition="Identifies the computable language in which mapping.map is expressed." 3550 ) 3551 private CodeDt myLanguage; 3552 3553 @Child(name="map", type=StringDt.class, order=2, min=1, max=1, summary=true, modifier=false) 3554 @Description( 3555 shortDefinition="", 3556 formalDefinition="Expresses what part of the target specification corresponds to this element" 3557 ) 3558 private StringDt myMap; 3559 3560 3561 @Override 3562 public boolean isEmpty() { 3563 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentity, myLanguage, myMap); 3564 } 3565 3566 @Override 3567 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3568 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentity, myLanguage, myMap); 3569 } 3570 3571 /** 3572 * Gets the value(s) for <b>identity</b> (). 3573 * creating it if it does 3574 * not exist. Will not return <code>null</code>. 3575 * 3576 * <p> 3577 * <b>Definition:</b> 3578 * An internal reference to the definition of a mapping 3579 * </p> 3580 */ 3581 public IdDt getIdentityElement() { 3582 if (myIdentity == null) { 3583 myIdentity = new IdDt(); 3584 } 3585 return myIdentity; 3586 } 3587 3588 3589 /** 3590 * Gets the value(s) for <b>identity</b> (). 3591 * creating it if it does 3592 * not exist. Will not return <code>null</code>. 3593 * 3594 * <p> 3595 * <b>Definition:</b> 3596 * An internal reference to the definition of a mapping 3597 * </p> 3598 */ 3599 public String getIdentity() { 3600 return getIdentityElement().getValue(); 3601 } 3602 3603 /** 3604 * Sets the value(s) for <b>identity</b> () 3605 * 3606 * <p> 3607 * <b>Definition:</b> 3608 * An internal reference to the definition of a mapping 3609 * </p> 3610 */ 3611 public Mapping setIdentity(IdDt theValue) { 3612 myIdentity = theValue; 3613 return this; 3614 } 3615 3616 3617 3618 /** 3619 * Sets the value for <b>identity</b> () 3620 * 3621 * <p> 3622 * <b>Definition:</b> 3623 * An internal reference to the definition of a mapping 3624 * </p> 3625 */ 3626 public Mapping setIdentity( String theId) { 3627 myIdentity = new IdDt(theId); 3628 return this; 3629 } 3630 3631 3632 /** 3633 * Gets the value(s) for <b>language</b> (). 3634 * creating it if it does 3635 * not exist. Will not return <code>null</code>. 3636 * 3637 * <p> 3638 * <b>Definition:</b> 3639 * Identifies the computable language in which mapping.map is expressed. 3640 * </p> 3641 */ 3642 public CodeDt getLanguageElement() { 3643 if (myLanguage == null) { 3644 myLanguage = new CodeDt(); 3645 } 3646 return myLanguage; 3647 } 3648 3649 3650 /** 3651 * Gets the value(s) for <b>language</b> (). 3652 * creating it if it does 3653 * not exist. Will not return <code>null</code>. 3654 * 3655 * <p> 3656 * <b>Definition:</b> 3657 * Identifies the computable language in which mapping.map is expressed. 3658 * </p> 3659 */ 3660 public String getLanguage() { 3661 return getLanguageElement().getValue(); 3662 } 3663 3664 /** 3665 * Sets the value(s) for <b>language</b> () 3666 * 3667 * <p> 3668 * <b>Definition:</b> 3669 * Identifies the computable language in which mapping.map is expressed. 3670 * </p> 3671 */ 3672 public Mapping setLanguage(CodeDt theValue) { 3673 myLanguage = theValue; 3674 return this; 3675 } 3676 3677 3678 3679 /** 3680 * Sets the value for <b>language</b> () 3681 * 3682 * <p> 3683 * <b>Definition:</b> 3684 * Identifies the computable language in which mapping.map is expressed. 3685 * </p> 3686 */ 3687 public Mapping setLanguage( String theCode) { 3688 myLanguage = new CodeDt(theCode); 3689 return this; 3690 } 3691 3692 3693 /** 3694 * Gets the value(s) for <b>map</b> (). 3695 * creating it if it does 3696 * not exist. Will not return <code>null</code>. 3697 * 3698 * <p> 3699 * <b>Definition:</b> 3700 * Expresses what part of the target specification corresponds to this element 3701 * </p> 3702 */ 3703 public StringDt getMapElement() { 3704 if (myMap == null) { 3705 myMap = new StringDt(); 3706 } 3707 return myMap; 3708 } 3709 3710 3711 /** 3712 * Gets the value(s) for <b>map</b> (). 3713 * creating it if it does 3714 * not exist. Will not return <code>null</code>. 3715 * 3716 * <p> 3717 * <b>Definition:</b> 3718 * Expresses what part of the target specification corresponds to this element 3719 * </p> 3720 */ 3721 public String getMap() { 3722 return getMapElement().getValue(); 3723 } 3724 3725 /** 3726 * Sets the value(s) for <b>map</b> () 3727 * 3728 * <p> 3729 * <b>Definition:</b> 3730 * Expresses what part of the target specification corresponds to this element 3731 * </p> 3732 */ 3733 public Mapping setMap(StringDt theValue) { 3734 myMap = theValue; 3735 return this; 3736 } 3737 3738 3739 3740 /** 3741 * Sets the value for <b>map</b> () 3742 * 3743 * <p> 3744 * <b>Definition:</b> 3745 * Expresses what part of the target specification corresponds to this element 3746 * </p> 3747 */ 3748 public Mapping setMap( String theString) { 3749 myMap = new StringDt(theString); 3750 return this; 3751 } 3752 3753 3754 3755 3756 } 3757 3758 3759 3760 3761}