001package org.hl7.fhir.dstu3.model; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu3 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023/* 024 Copyright (c) 2011+, HL7, Inc. 025 All rights reserved. 026 027 Redistribution and use in source and binary forms, with or without modification, 028 are permitted provided that the following conditions are met: 029 030 * Redistributions of source code must retain the above copyright notice, this 031 list of conditions and the following disclaimer. 032 * Redistributions in binary form must reproduce the above copyright notice, 033 this list of conditions and the following disclaimer in the documentation 034 and/or other materials provided with the distribution. 035 * Neither the name of HL7 nor the names of its contributors may be used to 036 endorse or promote products derived from this software without specific 037 prior written permission. 038 039 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 040 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 041 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 042 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 043 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 044 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 045 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 046 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 047 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 048 POSSIBILITY OF SUCH DAMAGE. 049 050*/ 051 052// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 053import java.util.ArrayList; 054import java.util.List; 055 056import org.hl7.fhir.exceptions.FHIRException; 057import org.hl7.fhir.exceptions.FHIRFormatError; 058import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 059import org.hl7.fhir.utilities.Utilities; 060 061import ca.uhn.fhir.model.api.annotation.Block; 062import ca.uhn.fhir.model.api.annotation.Child; 063import ca.uhn.fhir.model.api.annotation.Description; 064import ca.uhn.fhir.model.api.annotation.ResourceDef; 065import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 066/** 067 * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. 068 */ 069@ResourceDef(name="Group", profile="http://hl7.org/fhir/Profile/Group") 070public class Group extends DomainResource { 071 072 public enum GroupType { 073 /** 074 * Group contains "person" Patient resources 075 */ 076 PERSON, 077 /** 078 * Group contains "animal" Patient resources 079 */ 080 ANIMAL, 081 /** 082 * Group contains healthcare practitioner resources 083 */ 084 PRACTITIONER, 085 /** 086 * Group contains Device resources 087 */ 088 DEVICE, 089 /** 090 * Group contains Medication resources 091 */ 092 MEDICATION, 093 /** 094 * Group contains Substance resources 095 */ 096 SUBSTANCE, 097 /** 098 * added to help the parsers with the generic types 099 */ 100 NULL; 101 public static GroupType fromCode(String codeString) throws FHIRException { 102 if (codeString == null || "".equals(codeString)) 103 return null; 104 if ("person".equals(codeString)) 105 return PERSON; 106 if ("animal".equals(codeString)) 107 return ANIMAL; 108 if ("practitioner".equals(codeString)) 109 return PRACTITIONER; 110 if ("device".equals(codeString)) 111 return DEVICE; 112 if ("medication".equals(codeString)) 113 return MEDICATION; 114 if ("substance".equals(codeString)) 115 return SUBSTANCE; 116 if (Configuration.isAcceptInvalidEnums()) 117 return null; 118 else 119 throw new FHIRException("Unknown GroupType code '"+codeString+"'"); 120 } 121 public String toCode() { 122 switch (this) { 123 case PERSON: return "person"; 124 case ANIMAL: return "animal"; 125 case PRACTITIONER: return "practitioner"; 126 case DEVICE: return "device"; 127 case MEDICATION: return "medication"; 128 case SUBSTANCE: return "substance"; 129 default: return "?"; 130 } 131 } 132 public String getSystem() { 133 switch (this) { 134 case PERSON: return "http://hl7.org/fhir/group-type"; 135 case ANIMAL: return "http://hl7.org/fhir/group-type"; 136 case PRACTITIONER: return "http://hl7.org/fhir/group-type"; 137 case DEVICE: return "http://hl7.org/fhir/group-type"; 138 case MEDICATION: return "http://hl7.org/fhir/group-type"; 139 case SUBSTANCE: return "http://hl7.org/fhir/group-type"; 140 default: return "?"; 141 } 142 } 143 public String getDefinition() { 144 switch (this) { 145 case PERSON: return "Group contains \"person\" Patient resources"; 146 case ANIMAL: return "Group contains \"animal\" Patient resources"; 147 case PRACTITIONER: return "Group contains healthcare practitioner resources"; 148 case DEVICE: return "Group contains Device resources"; 149 case MEDICATION: return "Group contains Medication resources"; 150 case SUBSTANCE: return "Group contains Substance resources"; 151 default: return "?"; 152 } 153 } 154 public String getDisplay() { 155 switch (this) { 156 case PERSON: return "Person"; 157 case ANIMAL: return "Animal"; 158 case PRACTITIONER: return "Practitioner"; 159 case DEVICE: return "Device"; 160 case MEDICATION: return "Medication"; 161 case SUBSTANCE: return "Substance"; 162 default: return "?"; 163 } 164 } 165 } 166 167 public static class GroupTypeEnumFactory implements EnumFactory<GroupType> { 168 public GroupType fromCode(String codeString) throws IllegalArgumentException { 169 if (codeString == null || "".equals(codeString)) 170 if (codeString == null || "".equals(codeString)) 171 return null; 172 if ("person".equals(codeString)) 173 return GroupType.PERSON; 174 if ("animal".equals(codeString)) 175 return GroupType.ANIMAL; 176 if ("practitioner".equals(codeString)) 177 return GroupType.PRACTITIONER; 178 if ("device".equals(codeString)) 179 return GroupType.DEVICE; 180 if ("medication".equals(codeString)) 181 return GroupType.MEDICATION; 182 if ("substance".equals(codeString)) 183 return GroupType.SUBSTANCE; 184 throw new IllegalArgumentException("Unknown GroupType code '"+codeString+"'"); 185 } 186 public Enumeration<GroupType> fromType(Base code) throws FHIRException { 187 if (code == null) 188 return null; 189 if (code.isEmpty()) 190 return new Enumeration<GroupType>(this); 191 String codeString = ((PrimitiveType) code).asStringValue(); 192 if (codeString == null || "".equals(codeString)) 193 return null; 194 if ("person".equals(codeString)) 195 return new Enumeration<GroupType>(this, GroupType.PERSON); 196 if ("animal".equals(codeString)) 197 return new Enumeration<GroupType>(this, GroupType.ANIMAL); 198 if ("practitioner".equals(codeString)) 199 return new Enumeration<GroupType>(this, GroupType.PRACTITIONER); 200 if ("device".equals(codeString)) 201 return new Enumeration<GroupType>(this, GroupType.DEVICE); 202 if ("medication".equals(codeString)) 203 return new Enumeration<GroupType>(this, GroupType.MEDICATION); 204 if ("substance".equals(codeString)) 205 return new Enumeration<GroupType>(this, GroupType.SUBSTANCE); 206 throw new FHIRException("Unknown GroupType code '"+codeString+"'"); 207 } 208 public String toCode(GroupType code) { 209 if (code == GroupType.PERSON) 210 return "person"; 211 if (code == GroupType.ANIMAL) 212 return "animal"; 213 if (code == GroupType.PRACTITIONER) 214 return "practitioner"; 215 if (code == GroupType.DEVICE) 216 return "device"; 217 if (code == GroupType.MEDICATION) 218 return "medication"; 219 if (code == GroupType.SUBSTANCE) 220 return "substance"; 221 return "?"; 222 } 223 public String toSystem(GroupType code) { 224 return code.getSystem(); 225 } 226 } 227 228 @Block() 229 public static class GroupCharacteristicComponent extends BackboneElement implements IBaseBackboneElement { 230 /** 231 * A code that identifies the kind of trait being asserted. 232 */ 233 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 234 @Description(shortDefinition="Kind of characteristic", formalDefinition="A code that identifies the kind of trait being asserted." ) 235 protected CodeableConcept code; 236 237 /** 238 * The value of the trait that holds (or does not hold - see 'exclude') for members of the group. 239 */ 240 @Child(name = "value", type = {CodeableConcept.class, BooleanType.class, Quantity.class, Range.class}, order=2, min=1, max=1, modifier=false, summary=false) 241 @Description(shortDefinition="Value held by characteristic", formalDefinition="The value of the trait that holds (or does not hold - see 'exclude') for members of the group." ) 242 protected Type value; 243 244 /** 245 * If true, indicates the characteristic is one that is NOT held by members of the group. 246 */ 247 @Child(name = "exclude", type = {BooleanType.class}, order=3, min=1, max=1, modifier=true, summary=false) 248 @Description(shortDefinition="Group includes or excludes", formalDefinition="If true, indicates the characteristic is one that is NOT held by members of the group." ) 249 protected BooleanType exclude; 250 251 /** 252 * The period over which the characteristic is tested; e.g. the patient had an operation during the month of June. 253 */ 254 @Child(name = "period", type = {Period.class}, order=4, min=0, max=1, modifier=false, summary=false) 255 @Description(shortDefinition="Period over which characteristic is tested", formalDefinition="The period over which the characteristic is tested; e.g. the patient had an operation during the month of June." ) 256 protected Period period; 257 258 private static final long serialVersionUID = -1000688967L; 259 260 /** 261 * Constructor 262 */ 263 public GroupCharacteristicComponent() { 264 super(); 265 } 266 267 /** 268 * Constructor 269 */ 270 public GroupCharacteristicComponent(CodeableConcept code, Type value, BooleanType exclude) { 271 super(); 272 this.code = code; 273 this.value = value; 274 this.exclude = exclude; 275 } 276 277 /** 278 * @return {@link #code} (A code that identifies the kind of trait being asserted.) 279 */ 280 public CodeableConcept getCode() { 281 if (this.code == null) 282 if (Configuration.errorOnAutoCreate()) 283 throw new Error("Attempt to auto-create GroupCharacteristicComponent.code"); 284 else if (Configuration.doAutoCreate()) 285 this.code = new CodeableConcept(); // cc 286 return this.code; 287 } 288 289 public boolean hasCode() { 290 return this.code != null && !this.code.isEmpty(); 291 } 292 293 /** 294 * @param value {@link #code} (A code that identifies the kind of trait being asserted.) 295 */ 296 public GroupCharacteristicComponent setCode(CodeableConcept value) { 297 this.code = value; 298 return this; 299 } 300 301 /** 302 * @return {@link #value} (The value of the trait that holds (or does not hold - see 'exclude') for members of the group.) 303 */ 304 public Type getValue() { 305 return this.value; 306 } 307 308 /** 309 * @return {@link #value} (The value of the trait that holds (or does not hold - see 'exclude') for members of the group.) 310 */ 311 public CodeableConcept getValueCodeableConcept() throws FHIRException { 312 if (this.value == null) 313 return null; 314 if (!(this.value instanceof CodeableConcept)) 315 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.value.getClass().getName()+" was encountered"); 316 return (CodeableConcept) this.value; 317 } 318 319 public boolean hasValueCodeableConcept() { 320 return this != null && this.value instanceof CodeableConcept; 321 } 322 323 /** 324 * @return {@link #value} (The value of the trait that holds (or does not hold - see 'exclude') for members of the group.) 325 */ 326 public BooleanType getValueBooleanType() throws FHIRException { 327 if (this.value == null) 328 return null; 329 if (!(this.value instanceof BooleanType)) 330 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 331 return (BooleanType) this.value; 332 } 333 334 public boolean hasValueBooleanType() { 335 return this != null && this.value instanceof BooleanType; 336 } 337 338 /** 339 * @return {@link #value} (The value of the trait that holds (or does not hold - see 'exclude') for members of the group.) 340 */ 341 public Quantity getValueQuantity() throws FHIRException { 342 if (this.value == null) 343 return null; 344 if (!(this.value instanceof Quantity)) 345 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered"); 346 return (Quantity) this.value; 347 } 348 349 public boolean hasValueQuantity() { 350 return this != null && this.value instanceof Quantity; 351 } 352 353 /** 354 * @return {@link #value} (The value of the trait that holds (or does not hold - see 'exclude') for members of the group.) 355 */ 356 public Range getValueRange() throws FHIRException { 357 if (this.value == null) 358 return null; 359 if (!(this.value instanceof Range)) 360 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.value.getClass().getName()+" was encountered"); 361 return (Range) this.value; 362 } 363 364 public boolean hasValueRange() { 365 return this != null && this.value instanceof Range; 366 } 367 368 public boolean hasValue() { 369 return this.value != null && !this.value.isEmpty(); 370 } 371 372 /** 373 * @param value {@link #value} (The value of the trait that holds (or does not hold - see 'exclude') for members of the group.) 374 */ 375 public GroupCharacteristicComponent setValue(Type value) throws FHIRFormatError { 376 if (value != null && !(value instanceof CodeableConcept || value instanceof BooleanType || value instanceof Quantity || value instanceof Range)) 377 throw new FHIRFormatError("Not the right type for Group.characteristic.value[x]: "+value.fhirType()); 378 this.value = value; 379 return this; 380 } 381 382 /** 383 * @return {@link #exclude} (If true, indicates the characteristic is one that is NOT held by members of the group.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value 384 */ 385 public BooleanType getExcludeElement() { 386 if (this.exclude == null) 387 if (Configuration.errorOnAutoCreate()) 388 throw new Error("Attempt to auto-create GroupCharacteristicComponent.exclude"); 389 else if (Configuration.doAutoCreate()) 390 this.exclude = new BooleanType(); // bb 391 return this.exclude; 392 } 393 394 public boolean hasExcludeElement() { 395 return this.exclude != null && !this.exclude.isEmpty(); 396 } 397 398 public boolean hasExclude() { 399 return this.exclude != null && !this.exclude.isEmpty(); 400 } 401 402 /** 403 * @param value {@link #exclude} (If true, indicates the characteristic is one that is NOT held by members of the group.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value 404 */ 405 public GroupCharacteristicComponent setExcludeElement(BooleanType value) { 406 this.exclude = value; 407 return this; 408 } 409 410 /** 411 * @return If true, indicates the characteristic is one that is NOT held by members of the group. 412 */ 413 public boolean getExclude() { 414 return this.exclude == null || this.exclude.isEmpty() ? false : this.exclude.getValue(); 415 } 416 417 /** 418 * @param value If true, indicates the characteristic is one that is NOT held by members of the group. 419 */ 420 public GroupCharacteristicComponent setExclude(boolean value) { 421 if (this.exclude == null) 422 this.exclude = new BooleanType(); 423 this.exclude.setValue(value); 424 return this; 425 } 426 427 /** 428 * @return {@link #period} (The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.) 429 */ 430 public Period getPeriod() { 431 if (this.period == null) 432 if (Configuration.errorOnAutoCreate()) 433 throw new Error("Attempt to auto-create GroupCharacteristicComponent.period"); 434 else if (Configuration.doAutoCreate()) 435 this.period = new Period(); // cc 436 return this.period; 437 } 438 439 public boolean hasPeriod() { 440 return this.period != null && !this.period.isEmpty(); 441 } 442 443 /** 444 * @param value {@link #period} (The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.) 445 */ 446 public GroupCharacteristicComponent setPeriod(Period value) { 447 this.period = value; 448 return this; 449 } 450 451 protected void listChildren(List<Property> children) { 452 super.listChildren(children); 453 children.add(new Property("code", "CodeableConcept", "A code that identifies the kind of trait being asserted.", 0, 1, code)); 454 children.add(new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value)); 455 children.add(new Property("exclude", "boolean", "If true, indicates the characteristic is one that is NOT held by members of the group.", 0, 1, exclude)); 456 children.add(new Property("period", "Period", "The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.", 0, 1, period)); 457 } 458 459 @Override 460 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 461 switch (_hash) { 462 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies the kind of trait being asserted.", 0, 1, code); 463 case -1410166417: /*value[x]*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value); 464 case 111972721: /*value*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value); 465 case 924902896: /*valueCodeableConcept*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value); 466 case 733421943: /*valueBoolean*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value); 467 case -2029823716: /*valueQuantity*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value); 468 case 2030761548: /*valueRange*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range", "The value of the trait that holds (or does not hold - see 'exclude') for members of the group.", 0, 1, value); 469 case -1321148966: /*exclude*/ return new Property("exclude", "boolean", "If true, indicates the characteristic is one that is NOT held by members of the group.", 0, 1, exclude); 470 case -991726143: /*period*/ return new Property("period", "Period", "The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.", 0, 1, period); 471 default: return super.getNamedProperty(_hash, _name, _checkValid); 472 } 473 474 } 475 476 @Override 477 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 478 switch (hash) { 479 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 480 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // Type 481 case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : new Base[] {this.exclude}; // BooleanType 482 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 483 default: return super.getProperty(hash, name, checkValid); 484 } 485 486 } 487 488 @Override 489 public Base setProperty(int hash, String name, Base value) throws FHIRException { 490 switch (hash) { 491 case 3059181: // code 492 this.code = castToCodeableConcept(value); // CodeableConcept 493 return value; 494 case 111972721: // value 495 this.value = castToType(value); // Type 496 return value; 497 case -1321148966: // exclude 498 this.exclude = castToBoolean(value); // BooleanType 499 return value; 500 case -991726143: // period 501 this.period = castToPeriod(value); // Period 502 return value; 503 default: return super.setProperty(hash, name, value); 504 } 505 506 } 507 508 @Override 509 public Base setProperty(String name, Base value) throws FHIRException { 510 if (name.equals("code")) { 511 this.code = castToCodeableConcept(value); // CodeableConcept 512 } else if (name.equals("value[x]")) { 513 this.value = castToType(value); // Type 514 } else if (name.equals("exclude")) { 515 this.exclude = castToBoolean(value); // BooleanType 516 } else if (name.equals("period")) { 517 this.period = castToPeriod(value); // Period 518 } else 519 return super.setProperty(name, value); 520 return value; 521 } 522 523 @Override 524 public Base makeProperty(int hash, String name) throws FHIRException { 525 switch (hash) { 526 case 3059181: return getCode(); 527 case -1410166417: return getValue(); 528 case 111972721: return getValue(); 529 case -1321148966: return getExcludeElement(); 530 case -991726143: return getPeriod(); 531 default: return super.makeProperty(hash, name); 532 } 533 534 } 535 536 @Override 537 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 538 switch (hash) { 539 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 540 case 111972721: /*value*/ return new String[] {"CodeableConcept", "boolean", "Quantity", "Range"}; 541 case -1321148966: /*exclude*/ return new String[] {"boolean"}; 542 case -991726143: /*period*/ return new String[] {"Period"}; 543 default: return super.getTypesForProperty(hash, name); 544 } 545 546 } 547 548 @Override 549 public Base addChild(String name) throws FHIRException { 550 if (name.equals("code")) { 551 this.code = new CodeableConcept(); 552 return this.code; 553 } 554 else if (name.equals("valueCodeableConcept")) { 555 this.value = new CodeableConcept(); 556 return this.value; 557 } 558 else if (name.equals("valueBoolean")) { 559 this.value = new BooleanType(); 560 return this.value; 561 } 562 else if (name.equals("valueQuantity")) { 563 this.value = new Quantity(); 564 return this.value; 565 } 566 else if (name.equals("valueRange")) { 567 this.value = new Range(); 568 return this.value; 569 } 570 else if (name.equals("exclude")) { 571 throw new FHIRException("Cannot call addChild on a primitive type Group.exclude"); 572 } 573 else if (name.equals("period")) { 574 this.period = new Period(); 575 return this.period; 576 } 577 else 578 return super.addChild(name); 579 } 580 581 public GroupCharacteristicComponent copy() { 582 GroupCharacteristicComponent dst = new GroupCharacteristicComponent(); 583 copyValues(dst); 584 dst.code = code == null ? null : code.copy(); 585 dst.value = value == null ? null : value.copy(); 586 dst.exclude = exclude == null ? null : exclude.copy(); 587 dst.period = period == null ? null : period.copy(); 588 return dst; 589 } 590 591 @Override 592 public boolean equalsDeep(Base other_) { 593 if (!super.equalsDeep(other_)) 594 return false; 595 if (!(other_ instanceof GroupCharacteristicComponent)) 596 return false; 597 GroupCharacteristicComponent o = (GroupCharacteristicComponent) other_; 598 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true) && compareDeep(exclude, o.exclude, true) 599 && compareDeep(period, o.period, true); 600 } 601 602 @Override 603 public boolean equalsShallow(Base other_) { 604 if (!super.equalsShallow(other_)) 605 return false; 606 if (!(other_ instanceof GroupCharacteristicComponent)) 607 return false; 608 GroupCharacteristicComponent o = (GroupCharacteristicComponent) other_; 609 return compareValues(exclude, o.exclude, true); 610 } 611 612 public boolean isEmpty() { 613 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value, exclude, period 614 ); 615 } 616 617 public String fhirType() { 618 return "Group.characteristic"; 619 620 } 621 622 } 623 624 @Block() 625 public static class GroupMemberComponent extends BackboneElement implements IBaseBackboneElement { 626 /** 627 * A reference to the entity that is a member of the group. Must be consistent with Group.type. 628 */ 629 @Child(name = "entity", type = {Patient.class, Practitioner.class, Device.class, Medication.class, Substance.class}, order=1, min=1, max=1, modifier=false, summary=false) 630 @Description(shortDefinition="Reference to the group member", formalDefinition="A reference to the entity that is a member of the group. Must be consistent with Group.type." ) 631 protected Reference entity; 632 633 /** 634 * The actual object that is the target of the reference (A reference to the entity that is a member of the group. Must be consistent with Group.type.) 635 */ 636 protected Resource entityTarget; 637 638 /** 639 * The period that the member was in the group, if known. 640 */ 641 @Child(name = "period", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=false) 642 @Description(shortDefinition="Period member belonged to the group", formalDefinition="The period that the member was in the group, if known." ) 643 protected Period period; 644 645 /** 646 * A flag to indicate that the member is no longer in the group, but previously may have been a member. 647 */ 648 @Child(name = "inactive", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 649 @Description(shortDefinition="If member is no longer in group", formalDefinition="A flag to indicate that the member is no longer in the group, but previously may have been a member." ) 650 protected BooleanType inactive; 651 652 private static final long serialVersionUID = -333869055L; 653 654 /** 655 * Constructor 656 */ 657 public GroupMemberComponent() { 658 super(); 659 } 660 661 /** 662 * Constructor 663 */ 664 public GroupMemberComponent(Reference entity) { 665 super(); 666 this.entity = entity; 667 } 668 669 /** 670 * @return {@link #entity} (A reference to the entity that is a member of the group. Must be consistent with Group.type.) 671 */ 672 public Reference getEntity() { 673 if (this.entity == null) 674 if (Configuration.errorOnAutoCreate()) 675 throw new Error("Attempt to auto-create GroupMemberComponent.entity"); 676 else if (Configuration.doAutoCreate()) 677 this.entity = new Reference(); // cc 678 return this.entity; 679 } 680 681 public boolean hasEntity() { 682 return this.entity != null && !this.entity.isEmpty(); 683 } 684 685 /** 686 * @param value {@link #entity} (A reference to the entity that is a member of the group. Must be consistent with Group.type.) 687 */ 688 public GroupMemberComponent setEntity(Reference value) { 689 this.entity = value; 690 return this; 691 } 692 693 /** 694 * @return {@link #entity} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A reference to the entity that is a member of the group. Must be consistent with Group.type.) 695 */ 696 public Resource getEntityTarget() { 697 return this.entityTarget; 698 } 699 700 /** 701 * @param value {@link #entity} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A reference to the entity that is a member of the group. Must be consistent with Group.type.) 702 */ 703 public GroupMemberComponent setEntityTarget(Resource value) { 704 this.entityTarget = value; 705 return this; 706 } 707 708 /** 709 * @return {@link #period} (The period that the member was in the group, if known.) 710 */ 711 public Period getPeriod() { 712 if (this.period == null) 713 if (Configuration.errorOnAutoCreate()) 714 throw new Error("Attempt to auto-create GroupMemberComponent.period"); 715 else if (Configuration.doAutoCreate()) 716 this.period = new Period(); // cc 717 return this.period; 718 } 719 720 public boolean hasPeriod() { 721 return this.period != null && !this.period.isEmpty(); 722 } 723 724 /** 725 * @param value {@link #period} (The period that the member was in the group, if known.) 726 */ 727 public GroupMemberComponent setPeriod(Period value) { 728 this.period = value; 729 return this; 730 } 731 732 /** 733 * @return {@link #inactive} (A flag to indicate that the member is no longer in the group, but previously may have been a member.). This is the underlying object with id, value and extensions. The accessor "getInactive" gives direct access to the value 734 */ 735 public BooleanType getInactiveElement() { 736 if (this.inactive == null) 737 if (Configuration.errorOnAutoCreate()) 738 throw new Error("Attempt to auto-create GroupMemberComponent.inactive"); 739 else if (Configuration.doAutoCreate()) 740 this.inactive = new BooleanType(); // bb 741 return this.inactive; 742 } 743 744 public boolean hasInactiveElement() { 745 return this.inactive != null && !this.inactive.isEmpty(); 746 } 747 748 public boolean hasInactive() { 749 return this.inactive != null && !this.inactive.isEmpty(); 750 } 751 752 /** 753 * @param value {@link #inactive} (A flag to indicate that the member is no longer in the group, but previously may have been a member.). This is the underlying object with id, value and extensions. The accessor "getInactive" gives direct access to the value 754 */ 755 public GroupMemberComponent setInactiveElement(BooleanType value) { 756 this.inactive = value; 757 return this; 758 } 759 760 /** 761 * @return A flag to indicate that the member is no longer in the group, but previously may have been a member. 762 */ 763 public boolean getInactive() { 764 return this.inactive == null || this.inactive.isEmpty() ? false : this.inactive.getValue(); 765 } 766 767 /** 768 * @param value A flag to indicate that the member is no longer in the group, but previously may have been a member. 769 */ 770 public GroupMemberComponent setInactive(boolean value) { 771 if (this.inactive == null) 772 this.inactive = new BooleanType(); 773 this.inactive.setValue(value); 774 return this; 775 } 776 777 protected void listChildren(List<Property> children) { 778 super.listChildren(children); 779 children.add(new Property("entity", "Reference(Patient|Practitioner|Device|Medication|Substance)", "A reference to the entity that is a member of the group. Must be consistent with Group.type.", 0, 1, entity)); 780 children.add(new Property("period", "Period", "The period that the member was in the group, if known.", 0, 1, period)); 781 children.add(new Property("inactive", "boolean", "A flag to indicate that the member is no longer in the group, but previously may have been a member.", 0, 1, inactive)); 782 } 783 784 @Override 785 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 786 switch (_hash) { 787 case -1298275357: /*entity*/ return new Property("entity", "Reference(Patient|Practitioner|Device|Medication|Substance)", "A reference to the entity that is a member of the group. Must be consistent with Group.type.", 0, 1, entity); 788 case -991726143: /*period*/ return new Property("period", "Period", "The period that the member was in the group, if known.", 0, 1, period); 789 case 24665195: /*inactive*/ return new Property("inactive", "boolean", "A flag to indicate that the member is no longer in the group, but previously may have been a member.", 0, 1, inactive); 790 default: return super.getNamedProperty(_hash, _name, _checkValid); 791 } 792 793 } 794 795 @Override 796 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 797 switch (hash) { 798 case -1298275357: /*entity*/ return this.entity == null ? new Base[0] : new Base[] {this.entity}; // Reference 799 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 800 case 24665195: /*inactive*/ return this.inactive == null ? new Base[0] : new Base[] {this.inactive}; // BooleanType 801 default: return super.getProperty(hash, name, checkValid); 802 } 803 804 } 805 806 @Override 807 public Base setProperty(int hash, String name, Base value) throws FHIRException { 808 switch (hash) { 809 case -1298275357: // entity 810 this.entity = castToReference(value); // Reference 811 return value; 812 case -991726143: // period 813 this.period = castToPeriod(value); // Period 814 return value; 815 case 24665195: // inactive 816 this.inactive = castToBoolean(value); // BooleanType 817 return value; 818 default: return super.setProperty(hash, name, value); 819 } 820 821 } 822 823 @Override 824 public Base setProperty(String name, Base value) throws FHIRException { 825 if (name.equals("entity")) { 826 this.entity = castToReference(value); // Reference 827 } else if (name.equals("period")) { 828 this.period = castToPeriod(value); // Period 829 } else if (name.equals("inactive")) { 830 this.inactive = castToBoolean(value); // BooleanType 831 } else 832 return super.setProperty(name, value); 833 return value; 834 } 835 836 @Override 837 public Base makeProperty(int hash, String name) throws FHIRException { 838 switch (hash) { 839 case -1298275357: return getEntity(); 840 case -991726143: return getPeriod(); 841 case 24665195: return getInactiveElement(); 842 default: return super.makeProperty(hash, name); 843 } 844 845 } 846 847 @Override 848 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 849 switch (hash) { 850 case -1298275357: /*entity*/ return new String[] {"Reference"}; 851 case -991726143: /*period*/ return new String[] {"Period"}; 852 case 24665195: /*inactive*/ return new String[] {"boolean"}; 853 default: return super.getTypesForProperty(hash, name); 854 } 855 856 } 857 858 @Override 859 public Base addChild(String name) throws FHIRException { 860 if (name.equals("entity")) { 861 this.entity = new Reference(); 862 return this.entity; 863 } 864 else if (name.equals("period")) { 865 this.period = new Period(); 866 return this.period; 867 } 868 else if (name.equals("inactive")) { 869 throw new FHIRException("Cannot call addChild on a primitive type Group.inactive"); 870 } 871 else 872 return super.addChild(name); 873 } 874 875 public GroupMemberComponent copy() { 876 GroupMemberComponent dst = new GroupMemberComponent(); 877 copyValues(dst); 878 dst.entity = entity == null ? null : entity.copy(); 879 dst.period = period == null ? null : period.copy(); 880 dst.inactive = inactive == null ? null : inactive.copy(); 881 return dst; 882 } 883 884 @Override 885 public boolean equalsDeep(Base other_) { 886 if (!super.equalsDeep(other_)) 887 return false; 888 if (!(other_ instanceof GroupMemberComponent)) 889 return false; 890 GroupMemberComponent o = (GroupMemberComponent) other_; 891 return compareDeep(entity, o.entity, true) && compareDeep(period, o.period, true) && compareDeep(inactive, o.inactive, true) 892 ; 893 } 894 895 @Override 896 public boolean equalsShallow(Base other_) { 897 if (!super.equalsShallow(other_)) 898 return false; 899 if (!(other_ instanceof GroupMemberComponent)) 900 return false; 901 GroupMemberComponent o = (GroupMemberComponent) other_; 902 return compareValues(inactive, o.inactive, true); 903 } 904 905 public boolean isEmpty() { 906 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(entity, period, inactive 907 ); 908 } 909 910 public String fhirType() { 911 return "Group.member"; 912 913 } 914 915 } 916 917 /** 918 * A unique business identifier for this group. 919 */ 920 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 921 @Description(shortDefinition="Unique id", formalDefinition="A unique business identifier for this group." ) 922 protected List<Identifier> identifier; 923 924 /** 925 * Indicates whether the record for the group is available for use or is merely being retained for historical purposes. 926 */ 927 @Child(name = "active", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=true) 928 @Description(shortDefinition="Whether this group's record is in active use", formalDefinition="Indicates whether the record for the group is available for use or is merely being retained for historical purposes." ) 929 protected BooleanType active; 930 931 /** 932 * Identifies the broad classification of the kind of resources the group includes. 933 */ 934 @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 935 @Description(shortDefinition="person | animal | practitioner | device | medication | substance", formalDefinition="Identifies the broad classification of the kind of resources the group includes." ) 936 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/group-type") 937 protected Enumeration<GroupType> type; 938 939 /** 940 * If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. 941 */ 942 @Child(name = "actual", type = {BooleanType.class}, order=3, min=1, max=1, modifier=false, summary=true) 943 @Description(shortDefinition="Descriptive or actual", formalDefinition="If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals." ) 944 protected BooleanType actual; 945 946 /** 947 * Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc. 948 */ 949 @Child(name = "code", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) 950 @Description(shortDefinition="Kind of Group members", formalDefinition="Provides a specific type of resource the group includes; e.g. \"cow\", \"syringe\", etc." ) 951 protected CodeableConcept code; 952 953 /** 954 * A label assigned to the group for human identification and communication. 955 */ 956 @Child(name = "name", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 957 @Description(shortDefinition="Label for Group", formalDefinition="A label assigned to the group for human identification and communication." ) 958 protected StringType name; 959 960 /** 961 * A count of the number of resource instances that are part of the group. 962 */ 963 @Child(name = "quantity", type = {UnsignedIntType.class}, order=6, min=0, max=1, modifier=false, summary=true) 964 @Description(shortDefinition="Number of members", formalDefinition="A count of the number of resource instances that are part of the group." ) 965 protected UnsignedIntType quantity; 966 967 /** 968 * Identifies the traits shared by members of the group. 969 */ 970 @Child(name = "characteristic", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 971 @Description(shortDefinition="Trait of group members", formalDefinition="Identifies the traits shared by members of the group." ) 972 protected List<GroupCharacteristicComponent> characteristic; 973 974 /** 975 * Identifies the resource instances that are members of the group. 976 */ 977 @Child(name = "member", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 978 @Description(shortDefinition="Who or what is in group", formalDefinition="Identifies the resource instances that are members of the group." ) 979 protected List<GroupMemberComponent> member; 980 981 private static final long serialVersionUID = 659980713L; 982 983 /** 984 * Constructor 985 */ 986 public Group() { 987 super(); 988 } 989 990 /** 991 * Constructor 992 */ 993 public Group(Enumeration<GroupType> type, BooleanType actual) { 994 super(); 995 this.type = type; 996 this.actual = actual; 997 } 998 999 /** 1000 * @return {@link #identifier} (A unique business identifier for this group.) 1001 */ 1002 public List<Identifier> getIdentifier() { 1003 if (this.identifier == null) 1004 this.identifier = new ArrayList<Identifier>(); 1005 return this.identifier; 1006 } 1007 1008 /** 1009 * @return Returns a reference to <code>this</code> for easy method chaining 1010 */ 1011 public Group setIdentifier(List<Identifier> theIdentifier) { 1012 this.identifier = theIdentifier; 1013 return this; 1014 } 1015 1016 public boolean hasIdentifier() { 1017 if (this.identifier == null) 1018 return false; 1019 for (Identifier item : this.identifier) 1020 if (!item.isEmpty()) 1021 return true; 1022 return false; 1023 } 1024 1025 public Identifier addIdentifier() { //3 1026 Identifier t = new Identifier(); 1027 if (this.identifier == null) 1028 this.identifier = new ArrayList<Identifier>(); 1029 this.identifier.add(t); 1030 return t; 1031 } 1032 1033 public Group addIdentifier(Identifier t) { //3 1034 if (t == null) 1035 return this; 1036 if (this.identifier == null) 1037 this.identifier = new ArrayList<Identifier>(); 1038 this.identifier.add(t); 1039 return this; 1040 } 1041 1042 /** 1043 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1044 */ 1045 public Identifier getIdentifierFirstRep() { 1046 if (getIdentifier().isEmpty()) { 1047 addIdentifier(); 1048 } 1049 return getIdentifier().get(0); 1050 } 1051 1052 /** 1053 * @return {@link #active} (Indicates whether the record for the group is available for use or is merely being retained for historical purposes.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 1054 */ 1055 public BooleanType getActiveElement() { 1056 if (this.active == null) 1057 if (Configuration.errorOnAutoCreate()) 1058 throw new Error("Attempt to auto-create Group.active"); 1059 else if (Configuration.doAutoCreate()) 1060 this.active = new BooleanType(); // bb 1061 return this.active; 1062 } 1063 1064 public boolean hasActiveElement() { 1065 return this.active != null && !this.active.isEmpty(); 1066 } 1067 1068 public boolean hasActive() { 1069 return this.active != null && !this.active.isEmpty(); 1070 } 1071 1072 /** 1073 * @param value {@link #active} (Indicates whether the record for the group is available for use or is merely being retained for historical purposes.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 1074 */ 1075 public Group setActiveElement(BooleanType value) { 1076 this.active = value; 1077 return this; 1078 } 1079 1080 /** 1081 * @return Indicates whether the record for the group is available for use or is merely being retained for historical purposes. 1082 */ 1083 public boolean getActive() { 1084 return this.active == null || this.active.isEmpty() ? false : this.active.getValue(); 1085 } 1086 1087 /** 1088 * @param value Indicates whether the record for the group is available for use or is merely being retained for historical purposes. 1089 */ 1090 public Group setActive(boolean value) { 1091 if (this.active == null) 1092 this.active = new BooleanType(); 1093 this.active.setValue(value); 1094 return this; 1095 } 1096 1097 /** 1098 * @return {@link #type} (Identifies the broad classification of the kind of resources the group includes.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 1099 */ 1100 public Enumeration<GroupType> getTypeElement() { 1101 if (this.type == null) 1102 if (Configuration.errorOnAutoCreate()) 1103 throw new Error("Attempt to auto-create Group.type"); 1104 else if (Configuration.doAutoCreate()) 1105 this.type = new Enumeration<GroupType>(new GroupTypeEnumFactory()); // bb 1106 return this.type; 1107 } 1108 1109 public boolean hasTypeElement() { 1110 return this.type != null && !this.type.isEmpty(); 1111 } 1112 1113 public boolean hasType() { 1114 return this.type != null && !this.type.isEmpty(); 1115 } 1116 1117 /** 1118 * @param value {@link #type} (Identifies the broad classification of the kind of resources the group includes.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 1119 */ 1120 public Group setTypeElement(Enumeration<GroupType> value) { 1121 this.type = value; 1122 return this; 1123 } 1124 1125 /** 1126 * @return Identifies the broad classification of the kind of resources the group includes. 1127 */ 1128 public GroupType getType() { 1129 return this.type == null ? null : this.type.getValue(); 1130 } 1131 1132 /** 1133 * @param value Identifies the broad classification of the kind of resources the group includes. 1134 */ 1135 public Group setType(GroupType value) { 1136 if (this.type == null) 1137 this.type = new Enumeration<GroupType>(new GroupTypeEnumFactory()); 1138 this.type.setValue(value); 1139 return this; 1140 } 1141 1142 /** 1143 * @return {@link #actual} (If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value 1144 */ 1145 public BooleanType getActualElement() { 1146 if (this.actual == null) 1147 if (Configuration.errorOnAutoCreate()) 1148 throw new Error("Attempt to auto-create Group.actual"); 1149 else if (Configuration.doAutoCreate()) 1150 this.actual = new BooleanType(); // bb 1151 return this.actual; 1152 } 1153 1154 public boolean hasActualElement() { 1155 return this.actual != null && !this.actual.isEmpty(); 1156 } 1157 1158 public boolean hasActual() { 1159 return this.actual != null && !this.actual.isEmpty(); 1160 } 1161 1162 /** 1163 * @param value {@link #actual} (If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value 1164 */ 1165 public Group setActualElement(BooleanType value) { 1166 this.actual = value; 1167 return this; 1168 } 1169 1170 /** 1171 * @return If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. 1172 */ 1173 public boolean getActual() { 1174 return this.actual == null || this.actual.isEmpty() ? false : this.actual.getValue(); 1175 } 1176 1177 /** 1178 * @param value If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. 1179 */ 1180 public Group setActual(boolean value) { 1181 if (this.actual == null) 1182 this.actual = new BooleanType(); 1183 this.actual.setValue(value); 1184 return this; 1185 } 1186 1187 /** 1188 * @return {@link #code} (Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc.) 1189 */ 1190 public CodeableConcept getCode() { 1191 if (this.code == null) 1192 if (Configuration.errorOnAutoCreate()) 1193 throw new Error("Attempt to auto-create Group.code"); 1194 else if (Configuration.doAutoCreate()) 1195 this.code = new CodeableConcept(); // cc 1196 return this.code; 1197 } 1198 1199 public boolean hasCode() { 1200 return this.code != null && !this.code.isEmpty(); 1201 } 1202 1203 /** 1204 * @param value {@link #code} (Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc.) 1205 */ 1206 public Group setCode(CodeableConcept value) { 1207 this.code = value; 1208 return this; 1209 } 1210 1211 /** 1212 * @return {@link #name} (A label assigned to the group for human identification and communication.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1213 */ 1214 public StringType getNameElement() { 1215 if (this.name == null) 1216 if (Configuration.errorOnAutoCreate()) 1217 throw new Error("Attempt to auto-create Group.name"); 1218 else if (Configuration.doAutoCreate()) 1219 this.name = new StringType(); // bb 1220 return this.name; 1221 } 1222 1223 public boolean hasNameElement() { 1224 return this.name != null && !this.name.isEmpty(); 1225 } 1226 1227 public boolean hasName() { 1228 return this.name != null && !this.name.isEmpty(); 1229 } 1230 1231 /** 1232 * @param value {@link #name} (A label assigned to the group for human identification and communication.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1233 */ 1234 public Group setNameElement(StringType value) { 1235 this.name = value; 1236 return this; 1237 } 1238 1239 /** 1240 * @return A label assigned to the group for human identification and communication. 1241 */ 1242 public String getName() { 1243 return this.name == null ? null : this.name.getValue(); 1244 } 1245 1246 /** 1247 * @param value A label assigned to the group for human identification and communication. 1248 */ 1249 public Group setName(String value) { 1250 if (Utilities.noString(value)) 1251 this.name = null; 1252 else { 1253 if (this.name == null) 1254 this.name = new StringType(); 1255 this.name.setValue(value); 1256 } 1257 return this; 1258 } 1259 1260 /** 1261 * @return {@link #quantity} (A count of the number of resource instances that are part of the group.). This is the underlying object with id, value and extensions. The accessor "getQuantity" gives direct access to the value 1262 */ 1263 public UnsignedIntType getQuantityElement() { 1264 if (this.quantity == null) 1265 if (Configuration.errorOnAutoCreate()) 1266 throw new Error("Attempt to auto-create Group.quantity"); 1267 else if (Configuration.doAutoCreate()) 1268 this.quantity = new UnsignedIntType(); // bb 1269 return this.quantity; 1270 } 1271 1272 public boolean hasQuantityElement() { 1273 return this.quantity != null && !this.quantity.isEmpty(); 1274 } 1275 1276 public boolean hasQuantity() { 1277 return this.quantity != null && !this.quantity.isEmpty(); 1278 } 1279 1280 /** 1281 * @param value {@link #quantity} (A count of the number of resource instances that are part of the group.). This is the underlying object with id, value and extensions. The accessor "getQuantity" gives direct access to the value 1282 */ 1283 public Group setQuantityElement(UnsignedIntType value) { 1284 this.quantity = value; 1285 return this; 1286 } 1287 1288 /** 1289 * @return A count of the number of resource instances that are part of the group. 1290 */ 1291 public int getQuantity() { 1292 return this.quantity == null || this.quantity.isEmpty() ? 0 : this.quantity.getValue(); 1293 } 1294 1295 /** 1296 * @param value A count of the number of resource instances that are part of the group. 1297 */ 1298 public Group setQuantity(int value) { 1299 if (this.quantity == null) 1300 this.quantity = new UnsignedIntType(); 1301 this.quantity.setValue(value); 1302 return this; 1303 } 1304 1305 /** 1306 * @return {@link #characteristic} (Identifies the traits shared by members of the group.) 1307 */ 1308 public List<GroupCharacteristicComponent> getCharacteristic() { 1309 if (this.characteristic == null) 1310 this.characteristic = new ArrayList<GroupCharacteristicComponent>(); 1311 return this.characteristic; 1312 } 1313 1314 /** 1315 * @return Returns a reference to <code>this</code> for easy method chaining 1316 */ 1317 public Group setCharacteristic(List<GroupCharacteristicComponent> theCharacteristic) { 1318 this.characteristic = theCharacteristic; 1319 return this; 1320 } 1321 1322 public boolean hasCharacteristic() { 1323 if (this.characteristic == null) 1324 return false; 1325 for (GroupCharacteristicComponent item : this.characteristic) 1326 if (!item.isEmpty()) 1327 return true; 1328 return false; 1329 } 1330 1331 public GroupCharacteristicComponent addCharacteristic() { //3 1332 GroupCharacteristicComponent t = new GroupCharacteristicComponent(); 1333 if (this.characteristic == null) 1334 this.characteristic = new ArrayList<GroupCharacteristicComponent>(); 1335 this.characteristic.add(t); 1336 return t; 1337 } 1338 1339 public Group addCharacteristic(GroupCharacteristicComponent t) { //3 1340 if (t == null) 1341 return this; 1342 if (this.characteristic == null) 1343 this.characteristic = new ArrayList<GroupCharacteristicComponent>(); 1344 this.characteristic.add(t); 1345 return this; 1346 } 1347 1348 /** 1349 * @return The first repetition of repeating field {@link #characteristic}, creating it if it does not already exist 1350 */ 1351 public GroupCharacteristicComponent getCharacteristicFirstRep() { 1352 if (getCharacteristic().isEmpty()) { 1353 addCharacteristic(); 1354 } 1355 return getCharacteristic().get(0); 1356 } 1357 1358 /** 1359 * @return {@link #member} (Identifies the resource instances that are members of the group.) 1360 */ 1361 public List<GroupMemberComponent> getMember() { 1362 if (this.member == null) 1363 this.member = new ArrayList<GroupMemberComponent>(); 1364 return this.member; 1365 } 1366 1367 /** 1368 * @return Returns a reference to <code>this</code> for easy method chaining 1369 */ 1370 public Group setMember(List<GroupMemberComponent> theMember) { 1371 this.member = theMember; 1372 return this; 1373 } 1374 1375 public boolean hasMember() { 1376 if (this.member == null) 1377 return false; 1378 for (GroupMemberComponent item : this.member) 1379 if (!item.isEmpty()) 1380 return true; 1381 return false; 1382 } 1383 1384 public GroupMemberComponent addMember() { //3 1385 GroupMemberComponent t = new GroupMemberComponent(); 1386 if (this.member == null) 1387 this.member = new ArrayList<GroupMemberComponent>(); 1388 this.member.add(t); 1389 return t; 1390 } 1391 1392 public Group addMember(GroupMemberComponent t) { //3 1393 if (t == null) 1394 return this; 1395 if (this.member == null) 1396 this.member = new ArrayList<GroupMemberComponent>(); 1397 this.member.add(t); 1398 return this; 1399 } 1400 1401 /** 1402 * @return The first repetition of repeating field {@link #member}, creating it if it does not already exist 1403 */ 1404 public GroupMemberComponent getMemberFirstRep() { 1405 if (getMember().isEmpty()) { 1406 addMember(); 1407 } 1408 return getMember().get(0); 1409 } 1410 1411 protected void listChildren(List<Property> children) { 1412 super.listChildren(children); 1413 children.add(new Property("identifier", "Identifier", "A unique business identifier for this group.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1414 children.add(new Property("active", "boolean", "Indicates whether the record for the group is available for use or is merely being retained for historical purposes.", 0, 1, active)); 1415 children.add(new Property("type", "code", "Identifies the broad classification of the kind of resources the group includes.", 0, 1, type)); 1416 children.add(new Property("actual", "boolean", "If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.", 0, 1, actual)); 1417 children.add(new Property("code", "CodeableConcept", "Provides a specific type of resource the group includes; e.g. \"cow\", \"syringe\", etc.", 0, 1, code)); 1418 children.add(new Property("name", "string", "A label assigned to the group for human identification and communication.", 0, 1, name)); 1419 children.add(new Property("quantity", "unsignedInt", "A count of the number of resource instances that are part of the group.", 0, 1, quantity)); 1420 children.add(new Property("characteristic", "", "Identifies the traits shared by members of the group.", 0, java.lang.Integer.MAX_VALUE, characteristic)); 1421 children.add(new Property("member", "", "Identifies the resource instances that are members of the group.", 0, java.lang.Integer.MAX_VALUE, member)); 1422 } 1423 1424 @Override 1425 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1426 switch (_hash) { 1427 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique business identifier for this group.", 0, java.lang.Integer.MAX_VALUE, identifier); 1428 case -1422950650: /*active*/ return new Property("active", "boolean", "Indicates whether the record for the group is available for use or is merely being retained for historical purposes.", 0, 1, active); 1429 case 3575610: /*type*/ return new Property("type", "code", "Identifies the broad classification of the kind of resources the group includes.", 0, 1, type); 1430 case -1422939762: /*actual*/ return new Property("actual", "boolean", "If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.", 0, 1, actual); 1431 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Provides a specific type of resource the group includes; e.g. \"cow\", \"syringe\", etc.", 0, 1, code); 1432 case 3373707: /*name*/ return new Property("name", "string", "A label assigned to the group for human identification and communication.", 0, 1, name); 1433 case -1285004149: /*quantity*/ return new Property("quantity", "unsignedInt", "A count of the number of resource instances that are part of the group.", 0, 1, quantity); 1434 case 366313883: /*characteristic*/ return new Property("characteristic", "", "Identifies the traits shared by members of the group.", 0, java.lang.Integer.MAX_VALUE, characteristic); 1435 case -1077769574: /*member*/ return new Property("member", "", "Identifies the resource instances that are members of the group.", 0, java.lang.Integer.MAX_VALUE, member); 1436 default: return super.getNamedProperty(_hash, _name, _checkValid); 1437 } 1438 1439 } 1440 1441 @Override 1442 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1443 switch (hash) { 1444 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1445 case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType 1446 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<GroupType> 1447 case -1422939762: /*actual*/ return this.actual == null ? new Base[0] : new Base[] {this.actual}; // BooleanType 1448 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1449 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1450 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // UnsignedIntType 1451 case 366313883: /*characteristic*/ return this.characteristic == null ? new Base[0] : this.characteristic.toArray(new Base[this.characteristic.size()]); // GroupCharacteristicComponent 1452 case -1077769574: /*member*/ return this.member == null ? new Base[0] : this.member.toArray(new Base[this.member.size()]); // GroupMemberComponent 1453 default: return super.getProperty(hash, name, checkValid); 1454 } 1455 1456 } 1457 1458 @Override 1459 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1460 switch (hash) { 1461 case -1618432855: // identifier 1462 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1463 return value; 1464 case -1422950650: // active 1465 this.active = castToBoolean(value); // BooleanType 1466 return value; 1467 case 3575610: // type 1468 value = new GroupTypeEnumFactory().fromType(castToCode(value)); 1469 this.type = (Enumeration) value; // Enumeration<GroupType> 1470 return value; 1471 case -1422939762: // actual 1472 this.actual = castToBoolean(value); // BooleanType 1473 return value; 1474 case 3059181: // code 1475 this.code = castToCodeableConcept(value); // CodeableConcept 1476 return value; 1477 case 3373707: // name 1478 this.name = castToString(value); // StringType 1479 return value; 1480 case -1285004149: // quantity 1481 this.quantity = castToUnsignedInt(value); // UnsignedIntType 1482 return value; 1483 case 366313883: // characteristic 1484 this.getCharacteristic().add((GroupCharacteristicComponent) value); // GroupCharacteristicComponent 1485 return value; 1486 case -1077769574: // member 1487 this.getMember().add((GroupMemberComponent) value); // GroupMemberComponent 1488 return value; 1489 default: return super.setProperty(hash, name, value); 1490 } 1491 1492 } 1493 1494 @Override 1495 public Base setProperty(String name, Base value) throws FHIRException { 1496 if (name.equals("identifier")) { 1497 this.getIdentifier().add(castToIdentifier(value)); 1498 } else if (name.equals("active")) { 1499 this.active = castToBoolean(value); // BooleanType 1500 } else if (name.equals("type")) { 1501 value = new GroupTypeEnumFactory().fromType(castToCode(value)); 1502 this.type = (Enumeration) value; // Enumeration<GroupType> 1503 } else if (name.equals("actual")) { 1504 this.actual = castToBoolean(value); // BooleanType 1505 } else if (name.equals("code")) { 1506 this.code = castToCodeableConcept(value); // CodeableConcept 1507 } else if (name.equals("name")) { 1508 this.name = castToString(value); // StringType 1509 } else if (name.equals("quantity")) { 1510 this.quantity = castToUnsignedInt(value); // UnsignedIntType 1511 } else if (name.equals("characteristic")) { 1512 this.getCharacteristic().add((GroupCharacteristicComponent) value); 1513 } else if (name.equals("member")) { 1514 this.getMember().add((GroupMemberComponent) value); 1515 } else 1516 return super.setProperty(name, value); 1517 return value; 1518 } 1519 1520 @Override 1521 public Base makeProperty(int hash, String name) throws FHIRException { 1522 switch (hash) { 1523 case -1618432855: return addIdentifier(); 1524 case -1422950650: return getActiveElement(); 1525 case 3575610: return getTypeElement(); 1526 case -1422939762: return getActualElement(); 1527 case 3059181: return getCode(); 1528 case 3373707: return getNameElement(); 1529 case -1285004149: return getQuantityElement(); 1530 case 366313883: return addCharacteristic(); 1531 case -1077769574: return addMember(); 1532 default: return super.makeProperty(hash, name); 1533 } 1534 1535 } 1536 1537 @Override 1538 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1539 switch (hash) { 1540 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1541 case -1422950650: /*active*/ return new String[] {"boolean"}; 1542 case 3575610: /*type*/ return new String[] {"code"}; 1543 case -1422939762: /*actual*/ return new String[] {"boolean"}; 1544 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1545 case 3373707: /*name*/ return new String[] {"string"}; 1546 case -1285004149: /*quantity*/ return new String[] {"unsignedInt"}; 1547 case 366313883: /*characteristic*/ return new String[] {}; 1548 case -1077769574: /*member*/ return new String[] {}; 1549 default: return super.getTypesForProperty(hash, name); 1550 } 1551 1552 } 1553 1554 @Override 1555 public Base addChild(String name) throws FHIRException { 1556 if (name.equals("identifier")) { 1557 return addIdentifier(); 1558 } 1559 else if (name.equals("active")) { 1560 throw new FHIRException("Cannot call addChild on a primitive type Group.active"); 1561 } 1562 else if (name.equals("type")) { 1563 throw new FHIRException("Cannot call addChild on a primitive type Group.type"); 1564 } 1565 else if (name.equals("actual")) { 1566 throw new FHIRException("Cannot call addChild on a primitive type Group.actual"); 1567 } 1568 else if (name.equals("code")) { 1569 this.code = new CodeableConcept(); 1570 return this.code; 1571 } 1572 else if (name.equals("name")) { 1573 throw new FHIRException("Cannot call addChild on a primitive type Group.name"); 1574 } 1575 else if (name.equals("quantity")) { 1576 throw new FHIRException("Cannot call addChild on a primitive type Group.quantity"); 1577 } 1578 else if (name.equals("characteristic")) { 1579 return addCharacteristic(); 1580 } 1581 else if (name.equals("member")) { 1582 return addMember(); 1583 } 1584 else 1585 return super.addChild(name); 1586 } 1587 1588 public String fhirType() { 1589 return "Group"; 1590 1591 } 1592 1593 public Group copy() { 1594 Group dst = new Group(); 1595 copyValues(dst); 1596 if (identifier != null) { 1597 dst.identifier = new ArrayList<Identifier>(); 1598 for (Identifier i : identifier) 1599 dst.identifier.add(i.copy()); 1600 }; 1601 dst.active = active == null ? null : active.copy(); 1602 dst.type = type == null ? null : type.copy(); 1603 dst.actual = actual == null ? null : actual.copy(); 1604 dst.code = code == null ? null : code.copy(); 1605 dst.name = name == null ? null : name.copy(); 1606 dst.quantity = quantity == null ? null : quantity.copy(); 1607 if (characteristic != null) { 1608 dst.characteristic = new ArrayList<GroupCharacteristicComponent>(); 1609 for (GroupCharacteristicComponent i : characteristic) 1610 dst.characteristic.add(i.copy()); 1611 }; 1612 if (member != null) { 1613 dst.member = new ArrayList<GroupMemberComponent>(); 1614 for (GroupMemberComponent i : member) 1615 dst.member.add(i.copy()); 1616 }; 1617 return dst; 1618 } 1619 1620 protected Group typedCopy() { 1621 return copy(); 1622 } 1623 1624 @Override 1625 public boolean equalsDeep(Base other_) { 1626 if (!super.equalsDeep(other_)) 1627 return false; 1628 if (!(other_ instanceof Group)) 1629 return false; 1630 Group o = (Group) other_; 1631 return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(type, o.type, true) 1632 && compareDeep(actual, o.actual, true) && compareDeep(code, o.code, true) && compareDeep(name, o.name, true) 1633 && compareDeep(quantity, o.quantity, true) && compareDeep(characteristic, o.characteristic, true) 1634 && compareDeep(member, o.member, true); 1635 } 1636 1637 @Override 1638 public boolean equalsShallow(Base other_) { 1639 if (!super.equalsShallow(other_)) 1640 return false; 1641 if (!(other_ instanceof Group)) 1642 return false; 1643 Group o = (Group) other_; 1644 return compareValues(active, o.active, true) && compareValues(type, o.type, true) && compareValues(actual, o.actual, true) 1645 && compareValues(name, o.name, true) && compareValues(quantity, o.quantity, true); 1646 } 1647 1648 public boolean isEmpty() { 1649 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, type 1650 , actual, code, name, quantity, characteristic, member); 1651 } 1652 1653 @Override 1654 public ResourceType getResourceType() { 1655 return ResourceType.Group; 1656 } 1657 1658 /** 1659 * Search parameter: <b>actual</b> 1660 * <p> 1661 * Description: <b>Descriptive or actual</b><br> 1662 * Type: <b>token</b><br> 1663 * Path: <b>Group.actual</b><br> 1664 * </p> 1665 */ 1666 @SearchParamDefinition(name="actual", path="Group.actual", description="Descriptive or actual", type="token" ) 1667 public static final String SP_ACTUAL = "actual"; 1668 /** 1669 * <b>Fluent Client</b> search parameter constant for <b>actual</b> 1670 * <p> 1671 * Description: <b>Descriptive or actual</b><br> 1672 * Type: <b>token</b><br> 1673 * Path: <b>Group.actual</b><br> 1674 * </p> 1675 */ 1676 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACTUAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACTUAL); 1677 1678 /** 1679 * Search parameter: <b>identifier</b> 1680 * <p> 1681 * Description: <b>Unique id</b><br> 1682 * Type: <b>token</b><br> 1683 * Path: <b>Group.identifier</b><br> 1684 * </p> 1685 */ 1686 @SearchParamDefinition(name="identifier", path="Group.identifier", description="Unique id", type="token" ) 1687 public static final String SP_IDENTIFIER = "identifier"; 1688 /** 1689 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1690 * <p> 1691 * Description: <b>Unique id</b><br> 1692 * Type: <b>token</b><br> 1693 * Path: <b>Group.identifier</b><br> 1694 * </p> 1695 */ 1696 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1697 1698 /** 1699 * Search parameter: <b>characteristic-value</b> 1700 * <p> 1701 * Description: <b>A composite of both characteristic and value</b><br> 1702 * Type: <b>composite</b><br> 1703 * Path: <b></b><br> 1704 * </p> 1705 */ 1706 @SearchParamDefinition(name="characteristic-value", path="Group.characteristic", description="A composite of both characteristic and value", type="composite", compositeOf={"characteristic", "value"} ) 1707 public static final String SP_CHARACTERISTIC_VALUE = "characteristic-value"; 1708 /** 1709 * <b>Fluent Client</b> search parameter constant for <b>characteristic-value</b> 1710 * <p> 1711 * Description: <b>A composite of both characteristic and value</b><br> 1712 * Type: <b>composite</b><br> 1713 * Path: <b></b><br> 1714 * </p> 1715 */ 1716 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CHARACTERISTIC_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CHARACTERISTIC_VALUE); 1717 1718 /** 1719 * Search parameter: <b>code</b> 1720 * <p> 1721 * Description: <b>The kind of resources contained</b><br> 1722 * Type: <b>token</b><br> 1723 * Path: <b>Group.code</b><br> 1724 * </p> 1725 */ 1726 @SearchParamDefinition(name="code", path="Group.code", description="The kind of resources contained", type="token" ) 1727 public static final String SP_CODE = "code"; 1728 /** 1729 * <b>Fluent Client</b> search parameter constant for <b>code</b> 1730 * <p> 1731 * Description: <b>The kind of resources contained</b><br> 1732 * Type: <b>token</b><br> 1733 * Path: <b>Group.code</b><br> 1734 * </p> 1735 */ 1736 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 1737 1738 /** 1739 * Search parameter: <b>member</b> 1740 * <p> 1741 * Description: <b>Reference to the group member</b><br> 1742 * Type: <b>reference</b><br> 1743 * Path: <b>Group.member.entity</b><br> 1744 * </p> 1745 */ 1746 @SearchParamDefinition(name="member", path="Group.member.entity", description="Reference to the group member", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Device.class, Medication.class, Patient.class, Practitioner.class, Substance.class } ) 1747 public static final String SP_MEMBER = "member"; 1748 /** 1749 * <b>Fluent Client</b> search parameter constant for <b>member</b> 1750 * <p> 1751 * Description: <b>Reference to the group member</b><br> 1752 * Type: <b>reference</b><br> 1753 * Path: <b>Group.member.entity</b><br> 1754 * </p> 1755 */ 1756 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MEMBER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MEMBER); 1757 1758/** 1759 * Constant for fluent queries to be used to add include statements. Specifies 1760 * the path value of "<b>Group:member</b>". 1761 */ 1762 public static final ca.uhn.fhir.model.api.Include INCLUDE_MEMBER = new ca.uhn.fhir.model.api.Include("Group:member").toLocked(); 1763 1764 /** 1765 * Search parameter: <b>exclude</b> 1766 * <p> 1767 * Description: <b>Group includes or excludes</b><br> 1768 * Type: <b>token</b><br> 1769 * Path: <b>Group.characteristic.exclude</b><br> 1770 * </p> 1771 */ 1772 @SearchParamDefinition(name="exclude", path="Group.characteristic.exclude", description="Group includes or excludes", type="token" ) 1773 public static final String SP_EXCLUDE = "exclude"; 1774 /** 1775 * <b>Fluent Client</b> search parameter constant for <b>exclude</b> 1776 * <p> 1777 * Description: <b>Group includes or excludes</b><br> 1778 * Type: <b>token</b><br> 1779 * Path: <b>Group.characteristic.exclude</b><br> 1780 * </p> 1781 */ 1782 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXCLUDE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXCLUDE); 1783 1784 /** 1785 * Search parameter: <b>type</b> 1786 * <p> 1787 * Description: <b>The type of resources the group contains</b><br> 1788 * Type: <b>token</b><br> 1789 * Path: <b>Group.type</b><br> 1790 * </p> 1791 */ 1792 @SearchParamDefinition(name="type", path="Group.type", description="The type of resources the group contains", type="token" ) 1793 public static final String SP_TYPE = "type"; 1794 /** 1795 * <b>Fluent Client</b> search parameter constant for <b>type</b> 1796 * <p> 1797 * Description: <b>The type of resources the group contains</b><br> 1798 * Type: <b>token</b><br> 1799 * Path: <b>Group.type</b><br> 1800 * </p> 1801 */ 1802 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 1803 1804 /** 1805 * Search parameter: <b>value</b> 1806 * <p> 1807 * Description: <b>Value held by characteristic</b><br> 1808 * Type: <b>token</b><br> 1809 * Path: <b>Group.characteristic.value[x]</b><br> 1810 * </p> 1811 */ 1812 @SearchParamDefinition(name="value", path="Group.characteristic.value", description="Value held by characteristic", type="token" ) 1813 public static final String SP_VALUE = "value"; 1814 /** 1815 * <b>Fluent Client</b> search parameter constant for <b>value</b> 1816 * <p> 1817 * Description: <b>Value held by characteristic</b><br> 1818 * Type: <b>token</b><br> 1819 * Path: <b>Group.characteristic.value[x]</b><br> 1820 * </p> 1821 */ 1822 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VALUE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VALUE); 1823 1824 /** 1825 * Search parameter: <b>characteristic</b> 1826 * <p> 1827 * Description: <b>Kind of characteristic</b><br> 1828 * Type: <b>token</b><br> 1829 * Path: <b>Group.characteristic.code</b><br> 1830 * </p> 1831 */ 1832 @SearchParamDefinition(name="characteristic", path="Group.characteristic.code", description="Kind of characteristic", type="token" ) 1833 public static final String SP_CHARACTERISTIC = "characteristic"; 1834 /** 1835 * <b>Fluent Client</b> search parameter constant for <b>characteristic</b> 1836 * <p> 1837 * Description: <b>Kind of characteristic</b><br> 1838 * Type: <b>token</b><br> 1839 * Path: <b>Group.characteristic.code</b><br> 1840 * </p> 1841 */ 1842 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CHARACTERISTIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CHARACTERISTIC); 1843 1844 1845} 1846