001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. 052 */ 053@ResourceDef(name="TestScript", profile="http://hl7.org/fhir/StructureDefinition/TestScript") 054public class TestScript extends CanonicalResource { 055 056 public enum AssertionDirectionType { 057 /** 058 * The assertion is evaluated on the response. This is the default value. 059 */ 060 RESPONSE, 061 /** 062 * The assertion is evaluated on the request. 063 */ 064 REQUEST, 065 /** 066 * added to help the parsers with the generic types 067 */ 068 NULL; 069 public static AssertionDirectionType fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("response".equals(codeString)) 073 return RESPONSE; 074 if ("request".equals(codeString)) 075 return REQUEST; 076 if (Configuration.isAcceptInvalidEnums()) 077 return null; 078 else 079 throw new FHIRException("Unknown AssertionDirectionType code '"+codeString+"'"); 080 } 081 public String toCode() { 082 switch (this) { 083 case RESPONSE: return "response"; 084 case REQUEST: return "request"; 085 default: return "?"; 086 } 087 } 088 public String getSystem() { 089 switch (this) { 090 case RESPONSE: return "http://hl7.org/fhir/assert-direction-codes"; 091 case REQUEST: return "http://hl7.org/fhir/assert-direction-codes"; 092 default: return "?"; 093 } 094 } 095 public String getDefinition() { 096 switch (this) { 097 case RESPONSE: return "The assertion is evaluated on the response. This is the default value."; 098 case REQUEST: return "The assertion is evaluated on the request."; 099 default: return "?"; 100 } 101 } 102 public String getDisplay() { 103 switch (this) { 104 case RESPONSE: return "response"; 105 case REQUEST: return "request"; 106 default: return "?"; 107 } 108 } 109 } 110 111 public static class AssertionDirectionTypeEnumFactory implements EnumFactory<AssertionDirectionType> { 112 public AssertionDirectionType fromCode(String codeString) throws IllegalArgumentException { 113 if (codeString == null || "".equals(codeString)) 114 if (codeString == null || "".equals(codeString)) 115 return null; 116 if ("response".equals(codeString)) 117 return AssertionDirectionType.RESPONSE; 118 if ("request".equals(codeString)) 119 return AssertionDirectionType.REQUEST; 120 throw new IllegalArgumentException("Unknown AssertionDirectionType code '"+codeString+"'"); 121 } 122 public Enumeration<AssertionDirectionType> fromType(Base code) throws FHIRException { 123 if (code == null) 124 return null; 125 if (code.isEmpty()) 126 return new Enumeration<AssertionDirectionType>(this); 127 String codeString = ((PrimitiveType) code).asStringValue(); 128 if (codeString == null || "".equals(codeString)) 129 return null; 130 if ("response".equals(codeString)) 131 return new Enumeration<AssertionDirectionType>(this, AssertionDirectionType.RESPONSE); 132 if ("request".equals(codeString)) 133 return new Enumeration<AssertionDirectionType>(this, AssertionDirectionType.REQUEST); 134 throw new FHIRException("Unknown AssertionDirectionType code '"+codeString+"'"); 135 } 136 public String toCode(AssertionDirectionType code) { 137 if (code == AssertionDirectionType.RESPONSE) 138 return "response"; 139 if (code == AssertionDirectionType.REQUEST) 140 return "request"; 141 return "?"; 142 } 143 public String toSystem(AssertionDirectionType code) { 144 return code.getSystem(); 145 } 146 } 147 148 public enum AssertionOperatorType { 149 /** 150 * Default value. Equals comparison. 151 */ 152 EQUALS, 153 /** 154 * Not equals comparison. 155 */ 156 NOTEQUALS, 157 /** 158 * Compare value within a known set of values. 159 */ 160 IN, 161 /** 162 * Compare value not within a known set of values. 163 */ 164 NOTIN, 165 /** 166 * Compare value to be greater than a known value. 167 */ 168 GREATERTHAN, 169 /** 170 * Compare value to be less than a known value. 171 */ 172 LESSTHAN, 173 /** 174 * Compare value is empty. 175 */ 176 EMPTY, 177 /** 178 * Compare value is not empty. 179 */ 180 NOTEMPTY, 181 /** 182 * Compare value string contains a known value. 183 */ 184 CONTAINS, 185 /** 186 * Compare value string does not contain a known value. 187 */ 188 NOTCONTAINS, 189 /** 190 * Evaluate the FHIRPath expression as a boolean condition. 191 */ 192 EVAL, 193 /** 194 * added to help the parsers with the generic types 195 */ 196 NULL; 197 public static AssertionOperatorType fromCode(String codeString) throws FHIRException { 198 if (codeString == null || "".equals(codeString)) 199 return null; 200 if ("equals".equals(codeString)) 201 return EQUALS; 202 if ("notEquals".equals(codeString)) 203 return NOTEQUALS; 204 if ("in".equals(codeString)) 205 return IN; 206 if ("notIn".equals(codeString)) 207 return NOTIN; 208 if ("greaterThan".equals(codeString)) 209 return GREATERTHAN; 210 if ("lessThan".equals(codeString)) 211 return LESSTHAN; 212 if ("empty".equals(codeString)) 213 return EMPTY; 214 if ("notEmpty".equals(codeString)) 215 return NOTEMPTY; 216 if ("contains".equals(codeString)) 217 return CONTAINS; 218 if ("notContains".equals(codeString)) 219 return NOTCONTAINS; 220 if ("eval".equals(codeString)) 221 return EVAL; 222 if (Configuration.isAcceptInvalidEnums()) 223 return null; 224 else 225 throw new FHIRException("Unknown AssertionOperatorType code '"+codeString+"'"); 226 } 227 public String toCode() { 228 switch (this) { 229 case EQUALS: return "equals"; 230 case NOTEQUALS: return "notEquals"; 231 case IN: return "in"; 232 case NOTIN: return "notIn"; 233 case GREATERTHAN: return "greaterThan"; 234 case LESSTHAN: return "lessThan"; 235 case EMPTY: return "empty"; 236 case NOTEMPTY: return "notEmpty"; 237 case CONTAINS: return "contains"; 238 case NOTCONTAINS: return "notContains"; 239 case EVAL: return "eval"; 240 default: return "?"; 241 } 242 } 243 public String getSystem() { 244 switch (this) { 245 case EQUALS: return "http://hl7.org/fhir/assert-operator-codes"; 246 case NOTEQUALS: return "http://hl7.org/fhir/assert-operator-codes"; 247 case IN: return "http://hl7.org/fhir/assert-operator-codes"; 248 case NOTIN: return "http://hl7.org/fhir/assert-operator-codes"; 249 case GREATERTHAN: return "http://hl7.org/fhir/assert-operator-codes"; 250 case LESSTHAN: return "http://hl7.org/fhir/assert-operator-codes"; 251 case EMPTY: return "http://hl7.org/fhir/assert-operator-codes"; 252 case NOTEMPTY: return "http://hl7.org/fhir/assert-operator-codes"; 253 case CONTAINS: return "http://hl7.org/fhir/assert-operator-codes"; 254 case NOTCONTAINS: return "http://hl7.org/fhir/assert-operator-codes"; 255 case EVAL: return "http://hl7.org/fhir/assert-operator-codes"; 256 default: return "?"; 257 } 258 } 259 public String getDefinition() { 260 switch (this) { 261 case EQUALS: return "Default value. Equals comparison."; 262 case NOTEQUALS: return "Not equals comparison."; 263 case IN: return "Compare value within a known set of values."; 264 case NOTIN: return "Compare value not within a known set of values."; 265 case GREATERTHAN: return "Compare value to be greater than a known value."; 266 case LESSTHAN: return "Compare value to be less than a known value."; 267 case EMPTY: return "Compare value is empty."; 268 case NOTEMPTY: return "Compare value is not empty."; 269 case CONTAINS: return "Compare value string contains a known value."; 270 case NOTCONTAINS: return "Compare value string does not contain a known value."; 271 case EVAL: return "Evaluate the FHIRPath expression as a boolean condition."; 272 default: return "?"; 273 } 274 } 275 public String getDisplay() { 276 switch (this) { 277 case EQUALS: return "equals"; 278 case NOTEQUALS: return "notEquals"; 279 case IN: return "in"; 280 case NOTIN: return "notIn"; 281 case GREATERTHAN: return "greaterThan"; 282 case LESSTHAN: return "lessThan"; 283 case EMPTY: return "empty"; 284 case NOTEMPTY: return "notEmpty"; 285 case CONTAINS: return "contains"; 286 case NOTCONTAINS: return "notContains"; 287 case EVAL: return "evaluate"; 288 default: return "?"; 289 } 290 } 291 } 292 293 public static class AssertionOperatorTypeEnumFactory implements EnumFactory<AssertionOperatorType> { 294 public AssertionOperatorType fromCode(String codeString) throws IllegalArgumentException { 295 if (codeString == null || "".equals(codeString)) 296 if (codeString == null || "".equals(codeString)) 297 return null; 298 if ("equals".equals(codeString)) 299 return AssertionOperatorType.EQUALS; 300 if ("notEquals".equals(codeString)) 301 return AssertionOperatorType.NOTEQUALS; 302 if ("in".equals(codeString)) 303 return AssertionOperatorType.IN; 304 if ("notIn".equals(codeString)) 305 return AssertionOperatorType.NOTIN; 306 if ("greaterThan".equals(codeString)) 307 return AssertionOperatorType.GREATERTHAN; 308 if ("lessThan".equals(codeString)) 309 return AssertionOperatorType.LESSTHAN; 310 if ("empty".equals(codeString)) 311 return AssertionOperatorType.EMPTY; 312 if ("notEmpty".equals(codeString)) 313 return AssertionOperatorType.NOTEMPTY; 314 if ("contains".equals(codeString)) 315 return AssertionOperatorType.CONTAINS; 316 if ("notContains".equals(codeString)) 317 return AssertionOperatorType.NOTCONTAINS; 318 if ("eval".equals(codeString)) 319 return AssertionOperatorType.EVAL; 320 throw new IllegalArgumentException("Unknown AssertionOperatorType code '"+codeString+"'"); 321 } 322 public Enumeration<AssertionOperatorType> fromType(Base code) throws FHIRException { 323 if (code == null) 324 return null; 325 if (code.isEmpty()) 326 return new Enumeration<AssertionOperatorType>(this); 327 String codeString = ((PrimitiveType) code).asStringValue(); 328 if (codeString == null || "".equals(codeString)) 329 return null; 330 if ("equals".equals(codeString)) 331 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.EQUALS); 332 if ("notEquals".equals(codeString)) 333 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.NOTEQUALS); 334 if ("in".equals(codeString)) 335 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.IN); 336 if ("notIn".equals(codeString)) 337 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.NOTIN); 338 if ("greaterThan".equals(codeString)) 339 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.GREATERTHAN); 340 if ("lessThan".equals(codeString)) 341 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.LESSTHAN); 342 if ("empty".equals(codeString)) 343 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.EMPTY); 344 if ("notEmpty".equals(codeString)) 345 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.NOTEMPTY); 346 if ("contains".equals(codeString)) 347 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.CONTAINS); 348 if ("notContains".equals(codeString)) 349 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.NOTCONTAINS); 350 if ("eval".equals(codeString)) 351 return new Enumeration<AssertionOperatorType>(this, AssertionOperatorType.EVAL); 352 throw new FHIRException("Unknown AssertionOperatorType code '"+codeString+"'"); 353 } 354 public String toCode(AssertionOperatorType code) { 355 if (code == AssertionOperatorType.EQUALS) 356 return "equals"; 357 if (code == AssertionOperatorType.NOTEQUALS) 358 return "notEquals"; 359 if (code == AssertionOperatorType.IN) 360 return "in"; 361 if (code == AssertionOperatorType.NOTIN) 362 return "notIn"; 363 if (code == AssertionOperatorType.GREATERTHAN) 364 return "greaterThan"; 365 if (code == AssertionOperatorType.LESSTHAN) 366 return "lessThan"; 367 if (code == AssertionOperatorType.EMPTY) 368 return "empty"; 369 if (code == AssertionOperatorType.NOTEMPTY) 370 return "notEmpty"; 371 if (code == AssertionOperatorType.CONTAINS) 372 return "contains"; 373 if (code == AssertionOperatorType.NOTCONTAINS) 374 return "notContains"; 375 if (code == AssertionOperatorType.EVAL) 376 return "eval"; 377 return "?"; 378 } 379 public String toSystem(AssertionOperatorType code) { 380 return code.getSystem(); 381 } 382 } 383 384 public enum AssertionResponseTypes { 385 /** 386 * Response code is 200. 387 */ 388 OKAY, 389 /** 390 * Response code is 201. 391 */ 392 CREATED, 393 /** 394 * Response code is 204. 395 */ 396 NOCONTENT, 397 /** 398 * Response code is 304. 399 */ 400 NOTMODIFIED, 401 /** 402 * Response code is 400. 403 */ 404 BAD, 405 /** 406 * Response code is 403. 407 */ 408 FORBIDDEN, 409 /** 410 * Response code is 404. 411 */ 412 NOTFOUND, 413 /** 414 * Response code is 405. 415 */ 416 METHODNOTALLOWED, 417 /** 418 * Response code is 409. 419 */ 420 CONFLICT, 421 /** 422 * Response code is 410. 423 */ 424 GONE, 425 /** 426 * Response code is 412. 427 */ 428 PRECONDITIONFAILED, 429 /** 430 * Response code is 422. 431 */ 432 UNPROCESSABLE, 433 /** 434 * added to help the parsers with the generic types 435 */ 436 NULL; 437 public static AssertionResponseTypes fromCode(String codeString) throws FHIRException { 438 if (codeString == null || "".equals(codeString)) 439 return null; 440 if ("okay".equals(codeString)) 441 return OKAY; 442 if ("created".equals(codeString)) 443 return CREATED; 444 if ("noContent".equals(codeString)) 445 return NOCONTENT; 446 if ("notModified".equals(codeString)) 447 return NOTMODIFIED; 448 if ("bad".equals(codeString)) 449 return BAD; 450 if ("forbidden".equals(codeString)) 451 return FORBIDDEN; 452 if ("notFound".equals(codeString)) 453 return NOTFOUND; 454 if ("methodNotAllowed".equals(codeString)) 455 return METHODNOTALLOWED; 456 if ("conflict".equals(codeString)) 457 return CONFLICT; 458 if ("gone".equals(codeString)) 459 return GONE; 460 if ("preconditionFailed".equals(codeString)) 461 return PRECONDITIONFAILED; 462 if ("unprocessable".equals(codeString)) 463 return UNPROCESSABLE; 464 if (Configuration.isAcceptInvalidEnums()) 465 return null; 466 else 467 throw new FHIRException("Unknown AssertionResponseTypes code '"+codeString+"'"); 468 } 469 public String toCode() { 470 switch (this) { 471 case OKAY: return "okay"; 472 case CREATED: return "created"; 473 case NOCONTENT: return "noContent"; 474 case NOTMODIFIED: return "notModified"; 475 case BAD: return "bad"; 476 case FORBIDDEN: return "forbidden"; 477 case NOTFOUND: return "notFound"; 478 case METHODNOTALLOWED: return "methodNotAllowed"; 479 case CONFLICT: return "conflict"; 480 case GONE: return "gone"; 481 case PRECONDITIONFAILED: return "preconditionFailed"; 482 case UNPROCESSABLE: return "unprocessable"; 483 default: return "?"; 484 } 485 } 486 public String getSystem() { 487 switch (this) { 488 case OKAY: return "http://hl7.org/fhir/assert-response-code-types"; 489 case CREATED: return "http://hl7.org/fhir/assert-response-code-types"; 490 case NOCONTENT: return "http://hl7.org/fhir/assert-response-code-types"; 491 case NOTMODIFIED: return "http://hl7.org/fhir/assert-response-code-types"; 492 case BAD: return "http://hl7.org/fhir/assert-response-code-types"; 493 case FORBIDDEN: return "http://hl7.org/fhir/assert-response-code-types"; 494 case NOTFOUND: return "http://hl7.org/fhir/assert-response-code-types"; 495 case METHODNOTALLOWED: return "http://hl7.org/fhir/assert-response-code-types"; 496 case CONFLICT: return "http://hl7.org/fhir/assert-response-code-types"; 497 case GONE: return "http://hl7.org/fhir/assert-response-code-types"; 498 case PRECONDITIONFAILED: return "http://hl7.org/fhir/assert-response-code-types"; 499 case UNPROCESSABLE: return "http://hl7.org/fhir/assert-response-code-types"; 500 default: return "?"; 501 } 502 } 503 public String getDefinition() { 504 switch (this) { 505 case OKAY: return "Response code is 200."; 506 case CREATED: return "Response code is 201."; 507 case NOCONTENT: return "Response code is 204."; 508 case NOTMODIFIED: return "Response code is 304."; 509 case BAD: return "Response code is 400."; 510 case FORBIDDEN: return "Response code is 403."; 511 case NOTFOUND: return "Response code is 404."; 512 case METHODNOTALLOWED: return "Response code is 405."; 513 case CONFLICT: return "Response code is 409."; 514 case GONE: return "Response code is 410."; 515 case PRECONDITIONFAILED: return "Response code is 412."; 516 case UNPROCESSABLE: return "Response code is 422."; 517 default: return "?"; 518 } 519 } 520 public String getDisplay() { 521 switch (this) { 522 case OKAY: return "okay"; 523 case CREATED: return "created"; 524 case NOCONTENT: return "noContent"; 525 case NOTMODIFIED: return "notModified"; 526 case BAD: return "bad"; 527 case FORBIDDEN: return "forbidden"; 528 case NOTFOUND: return "notFound"; 529 case METHODNOTALLOWED: return "methodNotAllowed"; 530 case CONFLICT: return "conflict"; 531 case GONE: return "gone"; 532 case PRECONDITIONFAILED: return "preconditionFailed"; 533 case UNPROCESSABLE: return "unprocessable"; 534 default: return "?"; 535 } 536 } 537 } 538 539 public static class AssertionResponseTypesEnumFactory implements EnumFactory<AssertionResponseTypes> { 540 public AssertionResponseTypes fromCode(String codeString) throws IllegalArgumentException { 541 if (codeString == null || "".equals(codeString)) 542 if (codeString == null || "".equals(codeString)) 543 return null; 544 if ("okay".equals(codeString)) 545 return AssertionResponseTypes.OKAY; 546 if ("created".equals(codeString)) 547 return AssertionResponseTypes.CREATED; 548 if ("noContent".equals(codeString)) 549 return AssertionResponseTypes.NOCONTENT; 550 if ("notModified".equals(codeString)) 551 return AssertionResponseTypes.NOTMODIFIED; 552 if ("bad".equals(codeString)) 553 return AssertionResponseTypes.BAD; 554 if ("forbidden".equals(codeString)) 555 return AssertionResponseTypes.FORBIDDEN; 556 if ("notFound".equals(codeString)) 557 return AssertionResponseTypes.NOTFOUND; 558 if ("methodNotAllowed".equals(codeString)) 559 return AssertionResponseTypes.METHODNOTALLOWED; 560 if ("conflict".equals(codeString)) 561 return AssertionResponseTypes.CONFLICT; 562 if ("gone".equals(codeString)) 563 return AssertionResponseTypes.GONE; 564 if ("preconditionFailed".equals(codeString)) 565 return AssertionResponseTypes.PRECONDITIONFAILED; 566 if ("unprocessable".equals(codeString)) 567 return AssertionResponseTypes.UNPROCESSABLE; 568 throw new IllegalArgumentException("Unknown AssertionResponseTypes code '"+codeString+"'"); 569 } 570 public Enumeration<AssertionResponseTypes> fromType(Base code) throws FHIRException { 571 if (code == null) 572 return null; 573 if (code.isEmpty()) 574 return new Enumeration<AssertionResponseTypes>(this); 575 String codeString = ((PrimitiveType) code).asStringValue(); 576 if (codeString == null || "".equals(codeString)) 577 return null; 578 if ("okay".equals(codeString)) 579 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.OKAY); 580 if ("created".equals(codeString)) 581 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.CREATED); 582 if ("noContent".equals(codeString)) 583 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.NOCONTENT); 584 if ("notModified".equals(codeString)) 585 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.NOTMODIFIED); 586 if ("bad".equals(codeString)) 587 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.BAD); 588 if ("forbidden".equals(codeString)) 589 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.FORBIDDEN); 590 if ("notFound".equals(codeString)) 591 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.NOTFOUND); 592 if ("methodNotAllowed".equals(codeString)) 593 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.METHODNOTALLOWED); 594 if ("conflict".equals(codeString)) 595 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.CONFLICT); 596 if ("gone".equals(codeString)) 597 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.GONE); 598 if ("preconditionFailed".equals(codeString)) 599 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.PRECONDITIONFAILED); 600 if ("unprocessable".equals(codeString)) 601 return new Enumeration<AssertionResponseTypes>(this, AssertionResponseTypes.UNPROCESSABLE); 602 throw new FHIRException("Unknown AssertionResponseTypes code '"+codeString+"'"); 603 } 604 public String toCode(AssertionResponseTypes code) { 605 if (code == AssertionResponseTypes.OKAY) 606 return "okay"; 607 if (code == AssertionResponseTypes.CREATED) 608 return "created"; 609 if (code == AssertionResponseTypes.NOCONTENT) 610 return "noContent"; 611 if (code == AssertionResponseTypes.NOTMODIFIED) 612 return "notModified"; 613 if (code == AssertionResponseTypes.BAD) 614 return "bad"; 615 if (code == AssertionResponseTypes.FORBIDDEN) 616 return "forbidden"; 617 if (code == AssertionResponseTypes.NOTFOUND) 618 return "notFound"; 619 if (code == AssertionResponseTypes.METHODNOTALLOWED) 620 return "methodNotAllowed"; 621 if (code == AssertionResponseTypes.CONFLICT) 622 return "conflict"; 623 if (code == AssertionResponseTypes.GONE) 624 return "gone"; 625 if (code == AssertionResponseTypes.PRECONDITIONFAILED) 626 return "preconditionFailed"; 627 if (code == AssertionResponseTypes.UNPROCESSABLE) 628 return "unprocessable"; 629 return "?"; 630 } 631 public String toSystem(AssertionResponseTypes code) { 632 return code.getSystem(); 633 } 634 } 635 636 public enum FHIRDefinedType { 637 /** 638 * An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. 639 */ 640 ADDRESS, 641 /** 642 * A duration of time during which an organism (or a process) has existed. 643 */ 644 AGE, 645 /** 646 * A text note which also contains information about who made the statement and when. 647 */ 648 ANNOTATION, 649 /** 650 * For referring to data content defined in other formats. 651 */ 652 ATTACHMENT, 653 /** 654 * Base definition for all elements that are defined inside a resource - but not those in a data type. 655 */ 656 BACKBONEELEMENT, 657 /** 658 * Base definition for the few data types that are allowed to carry modifier extensions. 659 */ 660 BACKBONETYPE, 661 /** 662 * Base definition for all types defined in FHIR type system. 663 */ 664 BASE, 665 /** 666 * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. 667 */ 668 CODEABLECONCEPT, 669 /** 670 * A reference to a resource (by instance), or instead, a reference to a cencept defined in a terminology or ontology (by class). 671 */ 672 CODEABLEREFERENCE, 673 /** 674 * A reference to a code defined by a terminology system. 675 */ 676 CODING, 677 /** 678 * Specifies contact information for a person or organization. 679 */ 680 CONTACTDETAIL, 681 /** 682 * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. 683 */ 684 CONTACTPOINT, 685 /** 686 * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. 687 */ 688 CONTRIBUTOR, 689 /** 690 * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. 691 */ 692 COUNT, 693 /** 694 * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. 695 */ 696 DATAREQUIREMENT, 697 /** 698 * The base class for all re-useable types defined as part of the FHIR Specification. 699 */ 700 DATATYPE, 701 /** 702 * A length - a value with a unit that is a physical distance. 703 */ 704 DISTANCE, 705 /** 706 * Indicates how the medication is/was taken or should be taken by the patient. 707 */ 708 DOSAGE, 709 /** 710 * A length of time. 711 */ 712 DURATION, 713 /** 714 * Base definition for all elements in a resource. 715 */ 716 ELEMENT, 717 /** 718 * Captures constraints on each element within the resource, profile, or extension. 719 */ 720 ELEMENTDEFINITION, 721 /** 722 * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. 723 */ 724 EXPRESSION, 725 /** 726 * Optional Extension Element - found in all resources. 727 */ 728 EXTENSION, 729 /** 730 * A human's name with the ability to identify parts and usage. 731 */ 732 HUMANNAME, 733 /** 734 * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. 735 */ 736 IDENTIFIER, 737 /** 738 * The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. 739 */ 740 MARKETINGSTATUS, 741 /** 742 * The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. 743 */ 744 META, 745 /** 746 * An amount of economic utility in some recognized currency. 747 */ 748 MONEY, 749 /** 750 * 751 */ 752 MONEYQUANTITY, 753 /** 754 * A human-readable summary of the resource conveying the essential clinical and business information for the resource. 755 */ 756 NARRATIVE, 757 /** 758 * The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse. 759 */ 760 PARAMETERDEFINITION, 761 /** 762 * A time period defined by a start and end date and optionally time. 763 */ 764 PERIOD, 765 /** 766 * A populatioof people with some set of grouping criteria. 767 */ 768 POPULATION, 769 /** 770 * The base type for all re-useable types defined that have a simple property. 771 */ 772 PRIMITIVETYPE, 773 /** 774 * The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. 775 */ 776 PRODCHARACTERISTIC, 777 /** 778 * The shelf-life and storage information for a medicinal product item or container can be described using this class. 779 */ 780 PRODUCTSHELFLIFE, 781 /** 782 * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. 783 */ 784 QUANTITY, 785 /** 786 * A set of ordered Quantities defined by a low and high limit. 787 */ 788 RANGE, 789 /** 790 * A relationship of two Quantity values - expressed as a numerator and a denominator. 791 */ 792 RATIO, 793 /** 794 * A range of ratios expressed as a low and high numerator and a denominator. 795 */ 796 RATIORANGE, 797 /** 798 * A reference from one resource to another. 799 */ 800 REFERENCE, 801 /** 802 * Related artifacts such as additional documentation, justification, or bibliographic references. 803 */ 804 RELATEDARTIFACT, 805 /** 806 * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. 807 */ 808 SAMPLEDDATA, 809 /** 810 * A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities. 811 */ 812 SIGNATURE, 813 /** 814 * 815 */ 816 SIMPLEQUANTITY, 817 /** 818 * Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out. 819 */ 820 TIMING, 821 /** 822 * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. 823 */ 824 TRIGGERDEFINITION, 825 /** 826 * Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care). 827 */ 828 USAGECONTEXT, 829 /** 830 * A stream of bytes 831 */ 832 BASE64BINARY, 833 /** 834 * Value of \"true\" or \"false\" 835 */ 836 BOOLEAN, 837 /** 838 * A URI that is a reference to a canonical URL on a FHIR resource 839 */ 840 CANONICAL, 841 /** 842 * A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents 843 */ 844 CODE, 845 /** 846 * A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates. 847 */ 848 DATE, 849 /** 850 * A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. 851 */ 852 DATETIME, 853 /** 854 * A rational number with implicit precision 855 */ 856 DECIMAL, 857 /** 858 * Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive. 859 */ 860 ID, 861 /** 862 * An instant in time - known at least to the second 863 */ 864 INSTANT, 865 /** 866 * A whole number 867 */ 868 INTEGER, 869 /** 870 * A very large whole number 871 */ 872 INTEGER64, 873 /** 874 * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine 875 */ 876 MARKDOWN, 877 /** 878 * An OID represented as a URI 879 */ 880 OID, 881 /** 882 * An integer with a value that is positive (e.g. >0) 883 */ 884 POSITIVEINT, 885 /** 886 * A sequence of Unicode characters 887 */ 888 STRING, 889 /** 890 * A time during the day, with no date specified 891 */ 892 TIME, 893 /** 894 * An integer with a value that is not negative (e.g. >= 0) 895 */ 896 UNSIGNEDINT, 897 /** 898 * String of characters used to identify a name or a resource 899 */ 900 URI, 901 /** 902 * A URI that is a literal reference 903 */ 904 URL, 905 /** 906 * A UUID, represented as a URI 907 */ 908 UUID, 909 /** 910 * XHTML format, as defined by W3C, but restricted usage (mainly, no active content) 911 */ 912 XHTML, 913 /** 914 * --- Abstract Type! ---This is the base resource type for everything. 915 */ 916 RESOURCE, 917 /** 918 * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. 919 */ 920 BINARY, 921 /** 922 * A container for a collection of resources. 923 */ 924 BUNDLE, 925 /** 926 * --- Abstract Type! ---A resource that includes narrative, extensions, and contained resources. 927 */ 928 DOMAINRESOURCE, 929 /** 930 * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. 931 */ 932 ACCOUNT, 933 /** 934 * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed). 935 */ 936 ADMINISTRABLEPRODUCTDEFINITION, 937 /** 938 * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. 939 */ 940 ADVERSEEVENT, 941 /** 942 * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. 943 */ 944 ALLERGYINTOLERANCE, 945 /** 946 * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). 947 */ 948 APPOINTMENT, 949 /** 950 * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. 951 */ 952 APPOINTMENTRESPONSE, 953 /** 954 * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis. 955 */ 956 AUDITEVENT, 957 /** 958 * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification. 959 */ 960 BASIC, 961 /** 962 * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity. 963 */ 964 BIOLOGICALLYDERIVEDPRODUCT, 965 /** 966 * Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. 967 */ 968 BODYSTRUCTURE, 969 /** 970 * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. 971 */ 972 CANONICALRESOURCE, 973 /** 974 * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 975 */ 976 CAPABILITYSTATEMENT, 977 /** 978 * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 979 */ 980 CAPABILITYSTATEMENT2, 981 /** 982 * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. 983 */ 984 CODESYSTEM, 985 /** 986 * A compartment definition that defines how resources are accessed on a server. 987 */ 988 COMPARTMENTDEFINITION, 989 /** 990 * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. 991 */ 992 CONCEPTMAP, 993 /** 994 * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. 995 */ 996 CONCEPTMAP2, 997 /** 998 * Example of workflow instance. 999 */ 1000 EXAMPLESCENARIO, 1001 /** 1002 * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. 1003 */ 1004 GRAPHDEFINITION, 1005 /** 1006 * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. 1007 */ 1008 IMPLEMENTATIONGUIDE, 1009 /** 1010 * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. 1011 */ 1012 MESSAGEDEFINITION, 1013 /** 1014 * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. 1015 */ 1016 METADATARESOURCE, 1017 /** 1018 * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. 1019 */ 1020 ACTIVITYDEFINITION, 1021 /** 1022 * This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content. 1023 */ 1024 ARTIFACTASSESSMENT, 1025 /** 1026 * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. 1027 */ 1028 CHARGEITEMDEFINITION, 1029 /** 1030 * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. 1031 */ 1032 CITATION, 1033 /** 1034 * A definition of a condition and information relevant to managing it. 1035 */ 1036 CONDITIONDEFINITION, 1037 /** 1038 * The EventDefinition resource provides a reusable description of when a particular event can occur. 1039 */ 1040 EVENTDEFINITION, 1041 /** 1042 * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. 1043 */ 1044 EVIDENCE, 1045 /** 1046 * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. 1047 */ 1048 EVIDENCEREPORT, 1049 /** 1050 * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. 1051 */ 1052 EVIDENCEVARIABLE, 1053 /** 1054 * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. 1055 */ 1056 LIBRARY, 1057 /** 1058 * The Measure resource provides the definition of a quality measure. 1059 */ 1060 MEASURE, 1061 /** 1062 * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. 1063 */ 1064 PLANDEFINITION, 1065 /** 1066 * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. 1067 */ 1068 QUESTIONNAIRE, 1069 /** 1070 * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types. 1071 */ 1072 NAMINGSYSTEM, 1073 /** 1074 * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). 1075 */ 1076 OPERATIONDEFINITION, 1077 /** 1078 * A search parameter that defines a named search item that can be used to search/filter on a resource. 1079 */ 1080 SEARCHPARAMETER, 1081 /** 1082 * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. 1083 */ 1084 STRUCTUREDEFINITION, 1085 /** 1086 * A Map of relationships between 2 structures that can be used to transform data. 1087 */ 1088 STRUCTUREMAP, 1089 /** 1090 * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 1091 */ 1092 TERMINOLOGYCAPABILITIES, 1093 /** 1094 * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. 1095 */ 1096 TESTSCRIPT, 1097 /** 1098 * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). 1099 */ 1100 VALUESET, 1101 /** 1102 * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. 1103 */ 1104 CAREPLAN, 1105 /** 1106 * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care. 1107 */ 1108 CARETEAM, 1109 /** 1110 * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. 1111 */ 1112 CHARGEITEM, 1113 /** 1114 * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. 1115 */ 1116 CLAIM, 1117 /** 1118 * This resource provides the adjudication details from the processing of a Claim resource. 1119 */ 1120 CLAIMRESPONSE, 1121 /** 1122 * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score. 1123 */ 1124 CLINICALIMPRESSION, 1125 /** 1126 * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. 1127 */ 1128 CLINICALUSEDEFINITION, 1129 /** 1130 * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. 1131 */ 1132 CLINICALUSEISSUE, 1133 /** 1134 * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition. 1135 */ 1136 COMMUNICATION, 1137 /** 1138 * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. 1139 */ 1140 COMMUNICATIONREQUEST, 1141 /** 1142 * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). 1143 */ 1144 COMPOSITION, 1145 /** 1146 * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. 1147 */ 1148 CONDITION, 1149 /** 1150 * A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. 1151 */ 1152 CONSENT, 1153 /** 1154 * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. 1155 */ 1156 CONTRACT, 1157 /** 1158 * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment. 1159 */ 1160 COVERAGE, 1161 /** 1162 * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. 1163 */ 1164 COVERAGEELIGIBILITYREQUEST, 1165 /** 1166 * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource. 1167 */ 1168 COVERAGEELIGIBILITYRESPONSE, 1169 /** 1170 * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. 1171 */ 1172 DETECTEDISSUE, 1173 /** 1174 * This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element. 1175 */ 1176 DEVICE, 1177 /** 1178 * This is a specialized resource that defines the characteristics and capabilities of a device. 1179 */ 1180 DEVICEDEFINITION, 1181 /** 1182 * Indicates that a device is to be or has been dispensed for a named person/patient. This includes a description of the product (supply) provided and the instructions for using the device. 1183 */ 1184 DEVICEDISPENSE, 1185 /** 1186 * Describes a measurement, calculation or setting capability of a medical device. 1187 */ 1188 DEVICEMETRIC, 1189 /** 1190 * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used. 1191 */ 1192 DEVICEREQUEST, 1193 /** 1194 * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician. 1195 */ 1196 DEVICEUSAGE, 1197 /** 1198 * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances. 1199 */ 1200 DIAGNOSTICREPORT, 1201 /** 1202 * A collection of documents compiled for a purpose together with metadata that applies to the collection. 1203 */ 1204 DOCUMENTMANIFEST, 1205 /** 1206 * A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference. 1207 */ 1208 DOCUMENTREFERENCE, 1209 /** 1210 * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. 1211 */ 1212 ENCOUNTER, 1213 /** 1214 * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information. 1215 */ 1216 ENDPOINT, 1217 /** 1218 * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. 1219 */ 1220 ENROLLMENTREQUEST, 1221 /** 1222 * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource. 1223 */ 1224 ENROLLMENTRESPONSE, 1225 /** 1226 * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. 1227 */ 1228 EPISODEOFCARE, 1229 /** 1230 * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. 1231 */ 1232 EXPLANATIONOFBENEFIT, 1233 /** 1234 * Significant health conditions for a person related to the patient relevant in the context of care for the patient. 1235 */ 1236 FAMILYMEMBERHISTORY, 1237 /** 1238 * Prospective warnings of potential issues when providing care to the patient. 1239 */ 1240 FLAG, 1241 /** 1242 * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. 1243 */ 1244 GOAL, 1245 /** 1246 * 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. 1247 */ 1248 GROUP, 1249 /** 1250 * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken. 1251 */ 1252 GUIDANCERESPONSE, 1253 /** 1254 * The details of a healthcare service available at a location. 1255 */ 1256 HEALTHCARESERVICE, 1257 /** 1258 * A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource. 1259 */ 1260 IMAGINGSELECTION, 1261 /** 1262 * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. 1263 */ 1264 IMAGINGSTUDY, 1265 /** 1266 * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. 1267 */ 1268 IMMUNIZATION, 1269 /** 1270 * Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations. 1271 */ 1272 IMMUNIZATIONEVALUATION, 1273 /** 1274 * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. 1275 */ 1276 IMMUNIZATIONRECOMMENDATION, 1277 /** 1278 * An ingredient of a manufactured item or pharmaceutical product. 1279 */ 1280 INGREDIENT, 1281 /** 1282 * Details of a Health Insurance product/plan provided by an organization. 1283 */ 1284 INSURANCEPLAN, 1285 /** 1286 * A report of inventory or stock items. 1287 */ 1288 INVENTORYREPORT, 1289 /** 1290 * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. 1291 */ 1292 INVOICE, 1293 /** 1294 * Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\". 1295 */ 1296 LINKAGE, 1297 /** 1298 * A list is a curated collection of resources. 1299 */ 1300 LIST, 1301 /** 1302 * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated. 1303 */ 1304 LOCATION, 1305 /** 1306 * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. 1307 */ 1308 MANUFACTUREDITEMDEFINITION, 1309 /** 1310 * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. 1311 */ 1312 MEASUREREPORT, 1313 /** 1314 * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. 1315 */ 1316 MEDICATION, 1317 /** 1318 * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. 1319 */ 1320 MEDICATIONADMINISTRATION, 1321 /** 1322 * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. 1323 */ 1324 MEDICATIONDISPENSE, 1325 /** 1326 * Information about a medication that is used to support knowledge. 1327 */ 1328 MEDICATIONKNOWLEDGE, 1329 /** 1330 * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. 1331 */ 1332 MEDICATIONREQUEST, 1333 /** 1334 * A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. 1335 */ 1336 MEDICATIONUSAGE, 1337 /** 1338 * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs). 1339 */ 1340 MEDICINALPRODUCTDEFINITION, 1341 /** 1342 * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. 1343 */ 1344 MESSAGEHEADER, 1345 /** 1346 * Raw data describing a biological sequence. 1347 */ 1348 MOLECULARSEQUENCE, 1349 /** 1350 * A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake. 1351 */ 1352 NUTRITIONINTAKE, 1353 /** 1354 * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. 1355 */ 1356 NUTRITIONORDER, 1357 /** 1358 * A food or fluid product that is consumed by patients. 1359 */ 1360 NUTRITIONPRODUCT, 1361 /** 1362 * Measurements and simple assertions made about a patient, device or other subject. 1363 */ 1364 OBSERVATION, 1365 /** 1366 * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. 1367 */ 1368 OBSERVATIONDEFINITION, 1369 /** 1370 * A collection of error, warning, or information messages that result from a system action. 1371 */ 1372 OPERATIONOUTCOME, 1373 /** 1374 * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. 1375 */ 1376 ORGANIZATION, 1377 /** 1378 * Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship. 1379 */ 1380 ORGANIZATIONAFFILIATION, 1381 /** 1382 * A medically related item or items, in a container or package. 1383 */ 1384 PACKAGEDPRODUCTDEFINITION, 1385 /** 1386 * Demographics and other administrative information about an individual or animal receiving care or other health-related services. 1387 */ 1388 PATIENT, 1389 /** 1390 * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. 1391 */ 1392 PAYMENTNOTICE, 1393 /** 1394 * This resource provides the details including amount of a payment and allocates the payment items being paid. 1395 */ 1396 PAYMENTRECONCILIATION, 1397 /** 1398 * Permission. 1399 */ 1400 PERMISSION, 1401 /** 1402 * Demographics and administrative information about a person independent of a specific health-related context. 1403 */ 1404 PERSON, 1405 /** 1406 * A person who is directly or indirectly involved in the provisioning of healthcare. 1407 */ 1408 PRACTITIONER, 1409 /** 1410 * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. 1411 */ 1412 PRACTITIONERROLE, 1413 /** 1414 * An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing. 1415 */ 1416 PROCEDURE, 1417 /** 1418 * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. 1419 */ 1420 PROVENANCE, 1421 /** 1422 * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. 1423 */ 1424 QUESTIONNAIRERESPONSE, 1425 /** 1426 * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product. 1427 */ 1428 REGULATEDAUTHORIZATION, 1429 /** 1430 * Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. 1431 */ 1432 RELATEDPERSON, 1433 /** 1434 * A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\". 1435 */ 1436 REQUESTGROUP, 1437 /** 1438 * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. 1439 */ 1440 RESEARCHSTUDY, 1441 /** 1442 * A physical entity which is the primary unit of operational and/or administrative interest in a study. 1443 */ 1444 RESEARCHSUBJECT, 1445 /** 1446 * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. 1447 */ 1448 RISKASSESSMENT, 1449 /** 1450 * A container for slots of time that may be available for booking appointments. 1451 */ 1452 SCHEDULE, 1453 /** 1454 * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. 1455 */ 1456 SERVICEREQUEST, 1457 /** 1458 * A slot of time on a schedule that may be available for booking appointments. 1459 */ 1460 SLOT, 1461 /** 1462 * A sample to be used for analysis. 1463 */ 1464 SPECIMEN, 1465 /** 1466 * A kind of specimen with associated set of requirements. 1467 */ 1468 SPECIMENDEFINITION, 1469 /** 1470 * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic. 1471 */ 1472 SUBSCRIPTION, 1473 /** 1474 * The SubscriptionStatus resource describes the state of a Subscription during notifications. 1475 */ 1476 SUBSCRIPTIONSTATUS, 1477 /** 1478 * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. 1479 */ 1480 SUBSCRIPTIONTOPIC, 1481 /** 1482 * A homogeneous material with a definite composition. 1483 */ 1484 SUBSTANCE, 1485 /** 1486 * The detailed description of a substance, typically at a level beyond what is used for prescribing. 1487 */ 1488 SUBSTANCEDEFINITION, 1489 /** 1490 * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction. 1491 */ 1492 SUBSTANCENUCLEICACID, 1493 /** 1494 * Properties of a substance specific to it being a polymer. 1495 */ 1496 SUBSTANCEPOLYMER, 1497 /** 1498 * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators. 1499 */ 1500 SUBSTANCEPROTEIN, 1501 /** 1502 * Todo. 1503 */ 1504 SUBSTANCEREFERENCEINFORMATION, 1505 /** 1506 * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex. 1507 */ 1508 SUBSTANCESOURCEMATERIAL, 1509 /** 1510 * Record of delivery of what is supplied. 1511 */ 1512 SUPPLYDELIVERY, 1513 /** 1514 * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting. 1515 */ 1516 SUPPLYREQUEST, 1517 /** 1518 * A task to be performed. 1519 */ 1520 TASK, 1521 /** 1522 * A summary of information based on the results of executing a TestScript. 1523 */ 1524 TESTREPORT, 1525 /** 1526 * Describes validation requirements, source(s), status and dates for one or more elements. 1527 */ 1528 VERIFICATIONRESULT, 1529 /** 1530 * An authorization for the provision of glasses and/or contact lenses to a patient. 1531 */ 1532 VISIONPRESCRIPTION, 1533 /** 1534 * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it. 1535 */ 1536 PARAMETERS, 1537 /** 1538 * added to help the parsers with the generic types 1539 */ 1540 NULL; 1541 public static FHIRDefinedType fromCode(String codeString) throws FHIRException { 1542 if (codeString == null || "".equals(codeString)) 1543 return null; 1544 if ("Address".equals(codeString)) 1545 return ADDRESS; 1546 if ("Age".equals(codeString)) 1547 return AGE; 1548 if ("Annotation".equals(codeString)) 1549 return ANNOTATION; 1550 if ("Attachment".equals(codeString)) 1551 return ATTACHMENT; 1552 if ("BackboneElement".equals(codeString)) 1553 return BACKBONEELEMENT; 1554 if ("BackboneType".equals(codeString)) 1555 return BACKBONETYPE; 1556 if ("Base".equals(codeString)) 1557 return BASE; 1558 if ("CodeableConcept".equals(codeString)) 1559 return CODEABLECONCEPT; 1560 if ("CodeableReference".equals(codeString)) 1561 return CODEABLEREFERENCE; 1562 if ("Coding".equals(codeString)) 1563 return CODING; 1564 if ("ContactDetail".equals(codeString)) 1565 return CONTACTDETAIL; 1566 if ("ContactPoint".equals(codeString)) 1567 return CONTACTPOINT; 1568 if ("Contributor".equals(codeString)) 1569 return CONTRIBUTOR; 1570 if ("Count".equals(codeString)) 1571 return COUNT; 1572 if ("DataRequirement".equals(codeString)) 1573 return DATAREQUIREMENT; 1574 if ("DataType".equals(codeString)) 1575 return DATATYPE; 1576 if ("Distance".equals(codeString)) 1577 return DISTANCE; 1578 if ("Dosage".equals(codeString)) 1579 return DOSAGE; 1580 if ("Duration".equals(codeString)) 1581 return DURATION; 1582 if ("Element".equals(codeString)) 1583 return ELEMENT; 1584 if ("ElementDefinition".equals(codeString)) 1585 return ELEMENTDEFINITION; 1586 if ("Expression".equals(codeString)) 1587 return EXPRESSION; 1588 if ("Extension".equals(codeString)) 1589 return EXTENSION; 1590 if ("HumanName".equals(codeString)) 1591 return HUMANNAME; 1592 if ("Identifier".equals(codeString)) 1593 return IDENTIFIER; 1594 if ("MarketingStatus".equals(codeString)) 1595 return MARKETINGSTATUS; 1596 if ("Meta".equals(codeString)) 1597 return META; 1598 if ("Money".equals(codeString)) 1599 return MONEY; 1600 if ("MoneyQuantity".equals(codeString)) 1601 return MONEYQUANTITY; 1602 if ("Narrative".equals(codeString)) 1603 return NARRATIVE; 1604 if ("ParameterDefinition".equals(codeString)) 1605 return PARAMETERDEFINITION; 1606 if ("Period".equals(codeString)) 1607 return PERIOD; 1608 if ("Population".equals(codeString)) 1609 return POPULATION; 1610 if ("PrimitiveType".equals(codeString)) 1611 return PRIMITIVETYPE; 1612 if ("ProdCharacteristic".equals(codeString)) 1613 return PRODCHARACTERISTIC; 1614 if ("ProductShelfLife".equals(codeString)) 1615 return PRODUCTSHELFLIFE; 1616 if ("Quantity".equals(codeString)) 1617 return QUANTITY; 1618 if ("Range".equals(codeString)) 1619 return RANGE; 1620 if ("Ratio".equals(codeString)) 1621 return RATIO; 1622 if ("RatioRange".equals(codeString)) 1623 return RATIORANGE; 1624 if ("Reference".equals(codeString)) 1625 return REFERENCE; 1626 if ("RelatedArtifact".equals(codeString)) 1627 return RELATEDARTIFACT; 1628 if ("SampledData".equals(codeString)) 1629 return SAMPLEDDATA; 1630 if ("Signature".equals(codeString)) 1631 return SIGNATURE; 1632 if ("SimpleQuantity".equals(codeString)) 1633 return SIMPLEQUANTITY; 1634 if ("Timing".equals(codeString)) 1635 return TIMING; 1636 if ("TriggerDefinition".equals(codeString)) 1637 return TRIGGERDEFINITION; 1638 if ("UsageContext".equals(codeString)) 1639 return USAGECONTEXT; 1640 if ("base64Binary".equals(codeString)) 1641 return BASE64BINARY; 1642 if ("boolean".equals(codeString)) 1643 return BOOLEAN; 1644 if ("canonical".equals(codeString)) 1645 return CANONICAL; 1646 if ("code".equals(codeString)) 1647 return CODE; 1648 if ("date".equals(codeString)) 1649 return DATE; 1650 if ("dateTime".equals(codeString)) 1651 return DATETIME; 1652 if ("decimal".equals(codeString)) 1653 return DECIMAL; 1654 if ("id".equals(codeString)) 1655 return ID; 1656 if ("instant".equals(codeString)) 1657 return INSTANT; 1658 if ("integer".equals(codeString)) 1659 return INTEGER; 1660 if ("integer64".equals(codeString)) 1661 return INTEGER64; 1662 if ("markdown".equals(codeString)) 1663 return MARKDOWN; 1664 if ("oid".equals(codeString)) 1665 return OID; 1666 if ("positiveInt".equals(codeString)) 1667 return POSITIVEINT; 1668 if ("string".equals(codeString)) 1669 return STRING; 1670 if ("time".equals(codeString)) 1671 return TIME; 1672 if ("unsignedInt".equals(codeString)) 1673 return UNSIGNEDINT; 1674 if ("uri".equals(codeString)) 1675 return URI; 1676 if ("url".equals(codeString)) 1677 return URL; 1678 if ("uuid".equals(codeString)) 1679 return UUID; 1680 if ("xhtml".equals(codeString)) 1681 return XHTML; 1682 if ("Resource".equals(codeString)) 1683 return RESOURCE; 1684 if ("Binary".equals(codeString)) 1685 return BINARY; 1686 if ("Bundle".equals(codeString)) 1687 return BUNDLE; 1688 if ("DomainResource".equals(codeString)) 1689 return DOMAINRESOURCE; 1690 if ("Account".equals(codeString)) 1691 return ACCOUNT; 1692 if ("AdministrableProductDefinition".equals(codeString)) 1693 return ADMINISTRABLEPRODUCTDEFINITION; 1694 if ("AdverseEvent".equals(codeString)) 1695 return ADVERSEEVENT; 1696 if ("AllergyIntolerance".equals(codeString)) 1697 return ALLERGYINTOLERANCE; 1698 if ("Appointment".equals(codeString)) 1699 return APPOINTMENT; 1700 if ("AppointmentResponse".equals(codeString)) 1701 return APPOINTMENTRESPONSE; 1702 if ("AuditEvent".equals(codeString)) 1703 return AUDITEVENT; 1704 if ("Basic".equals(codeString)) 1705 return BASIC; 1706 if ("BiologicallyDerivedProduct".equals(codeString)) 1707 return BIOLOGICALLYDERIVEDPRODUCT; 1708 if ("BodyStructure".equals(codeString)) 1709 return BODYSTRUCTURE; 1710 if ("CanonicalResource".equals(codeString)) 1711 return CANONICALRESOURCE; 1712 if ("CapabilityStatement".equals(codeString)) 1713 return CAPABILITYSTATEMENT; 1714 if ("CapabilityStatement2".equals(codeString)) 1715 return CAPABILITYSTATEMENT2; 1716 if ("CodeSystem".equals(codeString)) 1717 return CODESYSTEM; 1718 if ("CompartmentDefinition".equals(codeString)) 1719 return COMPARTMENTDEFINITION; 1720 if ("ConceptMap".equals(codeString)) 1721 return CONCEPTMAP; 1722 if ("ConceptMap2".equals(codeString)) 1723 return CONCEPTMAP2; 1724 if ("ExampleScenario".equals(codeString)) 1725 return EXAMPLESCENARIO; 1726 if ("GraphDefinition".equals(codeString)) 1727 return GRAPHDEFINITION; 1728 if ("ImplementationGuide".equals(codeString)) 1729 return IMPLEMENTATIONGUIDE; 1730 if ("MessageDefinition".equals(codeString)) 1731 return MESSAGEDEFINITION; 1732 if ("MetadataResource".equals(codeString)) 1733 return METADATARESOURCE; 1734 if ("ActivityDefinition".equals(codeString)) 1735 return ACTIVITYDEFINITION; 1736 if ("ArtifactAssessment".equals(codeString)) 1737 return ARTIFACTASSESSMENT; 1738 if ("ChargeItemDefinition".equals(codeString)) 1739 return CHARGEITEMDEFINITION; 1740 if ("Citation".equals(codeString)) 1741 return CITATION; 1742 if ("ConditionDefinition".equals(codeString)) 1743 return CONDITIONDEFINITION; 1744 if ("EventDefinition".equals(codeString)) 1745 return EVENTDEFINITION; 1746 if ("Evidence".equals(codeString)) 1747 return EVIDENCE; 1748 if ("EvidenceReport".equals(codeString)) 1749 return EVIDENCEREPORT; 1750 if ("EvidenceVariable".equals(codeString)) 1751 return EVIDENCEVARIABLE; 1752 if ("Library".equals(codeString)) 1753 return LIBRARY; 1754 if ("Measure".equals(codeString)) 1755 return MEASURE; 1756 if ("PlanDefinition".equals(codeString)) 1757 return PLANDEFINITION; 1758 if ("Questionnaire".equals(codeString)) 1759 return QUESTIONNAIRE; 1760 if ("NamingSystem".equals(codeString)) 1761 return NAMINGSYSTEM; 1762 if ("OperationDefinition".equals(codeString)) 1763 return OPERATIONDEFINITION; 1764 if ("SearchParameter".equals(codeString)) 1765 return SEARCHPARAMETER; 1766 if ("StructureDefinition".equals(codeString)) 1767 return STRUCTUREDEFINITION; 1768 if ("StructureMap".equals(codeString)) 1769 return STRUCTUREMAP; 1770 if ("TerminologyCapabilities".equals(codeString)) 1771 return TERMINOLOGYCAPABILITIES; 1772 if ("TestScript".equals(codeString)) 1773 return TESTSCRIPT; 1774 if ("ValueSet".equals(codeString)) 1775 return VALUESET; 1776 if ("CarePlan".equals(codeString)) 1777 return CAREPLAN; 1778 if ("CareTeam".equals(codeString)) 1779 return CARETEAM; 1780 if ("ChargeItem".equals(codeString)) 1781 return CHARGEITEM; 1782 if ("Claim".equals(codeString)) 1783 return CLAIM; 1784 if ("ClaimResponse".equals(codeString)) 1785 return CLAIMRESPONSE; 1786 if ("ClinicalImpression".equals(codeString)) 1787 return CLINICALIMPRESSION; 1788 if ("ClinicalUseDefinition".equals(codeString)) 1789 return CLINICALUSEDEFINITION; 1790 if ("ClinicalUseIssue".equals(codeString)) 1791 return CLINICALUSEISSUE; 1792 if ("Communication".equals(codeString)) 1793 return COMMUNICATION; 1794 if ("CommunicationRequest".equals(codeString)) 1795 return COMMUNICATIONREQUEST; 1796 if ("Composition".equals(codeString)) 1797 return COMPOSITION; 1798 if ("Condition".equals(codeString)) 1799 return CONDITION; 1800 if ("Consent".equals(codeString)) 1801 return CONSENT; 1802 if ("Contract".equals(codeString)) 1803 return CONTRACT; 1804 if ("Coverage".equals(codeString)) 1805 return COVERAGE; 1806 if ("CoverageEligibilityRequest".equals(codeString)) 1807 return COVERAGEELIGIBILITYREQUEST; 1808 if ("CoverageEligibilityResponse".equals(codeString)) 1809 return COVERAGEELIGIBILITYRESPONSE; 1810 if ("DetectedIssue".equals(codeString)) 1811 return DETECTEDISSUE; 1812 if ("Device".equals(codeString)) 1813 return DEVICE; 1814 if ("DeviceDefinition".equals(codeString)) 1815 return DEVICEDEFINITION; 1816 if ("DeviceDispense".equals(codeString)) 1817 return DEVICEDISPENSE; 1818 if ("DeviceMetric".equals(codeString)) 1819 return DEVICEMETRIC; 1820 if ("DeviceRequest".equals(codeString)) 1821 return DEVICEREQUEST; 1822 if ("DeviceUsage".equals(codeString)) 1823 return DEVICEUSAGE; 1824 if ("DiagnosticReport".equals(codeString)) 1825 return DIAGNOSTICREPORT; 1826 if ("DocumentManifest".equals(codeString)) 1827 return DOCUMENTMANIFEST; 1828 if ("DocumentReference".equals(codeString)) 1829 return DOCUMENTREFERENCE; 1830 if ("Encounter".equals(codeString)) 1831 return ENCOUNTER; 1832 if ("Endpoint".equals(codeString)) 1833 return ENDPOINT; 1834 if ("EnrollmentRequest".equals(codeString)) 1835 return ENROLLMENTREQUEST; 1836 if ("EnrollmentResponse".equals(codeString)) 1837 return ENROLLMENTRESPONSE; 1838 if ("EpisodeOfCare".equals(codeString)) 1839 return EPISODEOFCARE; 1840 if ("ExplanationOfBenefit".equals(codeString)) 1841 return EXPLANATIONOFBENEFIT; 1842 if ("FamilyMemberHistory".equals(codeString)) 1843 return FAMILYMEMBERHISTORY; 1844 if ("Flag".equals(codeString)) 1845 return FLAG; 1846 if ("Goal".equals(codeString)) 1847 return GOAL; 1848 if ("Group".equals(codeString)) 1849 return GROUP; 1850 if ("GuidanceResponse".equals(codeString)) 1851 return GUIDANCERESPONSE; 1852 if ("HealthcareService".equals(codeString)) 1853 return HEALTHCARESERVICE; 1854 if ("ImagingSelection".equals(codeString)) 1855 return IMAGINGSELECTION; 1856 if ("ImagingStudy".equals(codeString)) 1857 return IMAGINGSTUDY; 1858 if ("Immunization".equals(codeString)) 1859 return IMMUNIZATION; 1860 if ("ImmunizationEvaluation".equals(codeString)) 1861 return IMMUNIZATIONEVALUATION; 1862 if ("ImmunizationRecommendation".equals(codeString)) 1863 return IMMUNIZATIONRECOMMENDATION; 1864 if ("Ingredient".equals(codeString)) 1865 return INGREDIENT; 1866 if ("InsurancePlan".equals(codeString)) 1867 return INSURANCEPLAN; 1868 if ("InventoryReport".equals(codeString)) 1869 return INVENTORYREPORT; 1870 if ("Invoice".equals(codeString)) 1871 return INVOICE; 1872 if ("Linkage".equals(codeString)) 1873 return LINKAGE; 1874 if ("List".equals(codeString)) 1875 return LIST; 1876 if ("Location".equals(codeString)) 1877 return LOCATION; 1878 if ("ManufacturedItemDefinition".equals(codeString)) 1879 return MANUFACTUREDITEMDEFINITION; 1880 if ("MeasureReport".equals(codeString)) 1881 return MEASUREREPORT; 1882 if ("Medication".equals(codeString)) 1883 return MEDICATION; 1884 if ("MedicationAdministration".equals(codeString)) 1885 return MEDICATIONADMINISTRATION; 1886 if ("MedicationDispense".equals(codeString)) 1887 return MEDICATIONDISPENSE; 1888 if ("MedicationKnowledge".equals(codeString)) 1889 return MEDICATIONKNOWLEDGE; 1890 if ("MedicationRequest".equals(codeString)) 1891 return MEDICATIONREQUEST; 1892 if ("MedicationUsage".equals(codeString)) 1893 return MEDICATIONUSAGE; 1894 if ("MedicinalProductDefinition".equals(codeString)) 1895 return MEDICINALPRODUCTDEFINITION; 1896 if ("MessageHeader".equals(codeString)) 1897 return MESSAGEHEADER; 1898 if ("MolecularSequence".equals(codeString)) 1899 return MOLECULARSEQUENCE; 1900 if ("NutritionIntake".equals(codeString)) 1901 return NUTRITIONINTAKE; 1902 if ("NutritionOrder".equals(codeString)) 1903 return NUTRITIONORDER; 1904 if ("NutritionProduct".equals(codeString)) 1905 return NUTRITIONPRODUCT; 1906 if ("Observation".equals(codeString)) 1907 return OBSERVATION; 1908 if ("ObservationDefinition".equals(codeString)) 1909 return OBSERVATIONDEFINITION; 1910 if ("OperationOutcome".equals(codeString)) 1911 return OPERATIONOUTCOME; 1912 if ("Organization".equals(codeString)) 1913 return ORGANIZATION; 1914 if ("OrganizationAffiliation".equals(codeString)) 1915 return ORGANIZATIONAFFILIATION; 1916 if ("PackagedProductDefinition".equals(codeString)) 1917 return PACKAGEDPRODUCTDEFINITION; 1918 if ("Patient".equals(codeString)) 1919 return PATIENT; 1920 if ("PaymentNotice".equals(codeString)) 1921 return PAYMENTNOTICE; 1922 if ("PaymentReconciliation".equals(codeString)) 1923 return PAYMENTRECONCILIATION; 1924 if ("Permission".equals(codeString)) 1925 return PERMISSION; 1926 if ("Person".equals(codeString)) 1927 return PERSON; 1928 if ("Practitioner".equals(codeString)) 1929 return PRACTITIONER; 1930 if ("PractitionerRole".equals(codeString)) 1931 return PRACTITIONERROLE; 1932 if ("Procedure".equals(codeString)) 1933 return PROCEDURE; 1934 if ("Provenance".equals(codeString)) 1935 return PROVENANCE; 1936 if ("QuestionnaireResponse".equals(codeString)) 1937 return QUESTIONNAIRERESPONSE; 1938 if ("RegulatedAuthorization".equals(codeString)) 1939 return REGULATEDAUTHORIZATION; 1940 if ("RelatedPerson".equals(codeString)) 1941 return RELATEDPERSON; 1942 if ("RequestGroup".equals(codeString)) 1943 return REQUESTGROUP; 1944 if ("ResearchStudy".equals(codeString)) 1945 return RESEARCHSTUDY; 1946 if ("ResearchSubject".equals(codeString)) 1947 return RESEARCHSUBJECT; 1948 if ("RiskAssessment".equals(codeString)) 1949 return RISKASSESSMENT; 1950 if ("Schedule".equals(codeString)) 1951 return SCHEDULE; 1952 if ("ServiceRequest".equals(codeString)) 1953 return SERVICEREQUEST; 1954 if ("Slot".equals(codeString)) 1955 return SLOT; 1956 if ("Specimen".equals(codeString)) 1957 return SPECIMEN; 1958 if ("SpecimenDefinition".equals(codeString)) 1959 return SPECIMENDEFINITION; 1960 if ("Subscription".equals(codeString)) 1961 return SUBSCRIPTION; 1962 if ("SubscriptionStatus".equals(codeString)) 1963 return SUBSCRIPTIONSTATUS; 1964 if ("SubscriptionTopic".equals(codeString)) 1965 return SUBSCRIPTIONTOPIC; 1966 if ("Substance".equals(codeString)) 1967 return SUBSTANCE; 1968 if ("SubstanceDefinition".equals(codeString)) 1969 return SUBSTANCEDEFINITION; 1970 if ("SubstanceNucleicAcid".equals(codeString)) 1971 return SUBSTANCENUCLEICACID; 1972 if ("SubstancePolymer".equals(codeString)) 1973 return SUBSTANCEPOLYMER; 1974 if ("SubstanceProtein".equals(codeString)) 1975 return SUBSTANCEPROTEIN; 1976 if ("SubstanceReferenceInformation".equals(codeString)) 1977 return SUBSTANCEREFERENCEINFORMATION; 1978 if ("SubstanceSourceMaterial".equals(codeString)) 1979 return SUBSTANCESOURCEMATERIAL; 1980 if ("SupplyDelivery".equals(codeString)) 1981 return SUPPLYDELIVERY; 1982 if ("SupplyRequest".equals(codeString)) 1983 return SUPPLYREQUEST; 1984 if ("Task".equals(codeString)) 1985 return TASK; 1986 if ("TestReport".equals(codeString)) 1987 return TESTREPORT; 1988 if ("VerificationResult".equals(codeString)) 1989 return VERIFICATIONRESULT; 1990 if ("VisionPrescription".equals(codeString)) 1991 return VISIONPRESCRIPTION; 1992 if ("Parameters".equals(codeString)) 1993 return PARAMETERS; 1994 if (Configuration.isAcceptInvalidEnums()) 1995 return null; 1996 else 1997 throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'"); 1998 } 1999 public String toCode() { 2000 switch (this) { 2001 case ADDRESS: return "Address"; 2002 case AGE: return "Age"; 2003 case ANNOTATION: return "Annotation"; 2004 case ATTACHMENT: return "Attachment"; 2005 case BACKBONEELEMENT: return "BackboneElement"; 2006 case BACKBONETYPE: return "BackboneType"; 2007 case BASE: return "Base"; 2008 case CODEABLECONCEPT: return "CodeableConcept"; 2009 case CODEABLEREFERENCE: return "CodeableReference"; 2010 case CODING: return "Coding"; 2011 case CONTACTDETAIL: return "ContactDetail"; 2012 case CONTACTPOINT: return "ContactPoint"; 2013 case CONTRIBUTOR: return "Contributor"; 2014 case COUNT: return "Count"; 2015 case DATAREQUIREMENT: return "DataRequirement"; 2016 case DATATYPE: return "DataType"; 2017 case DISTANCE: return "Distance"; 2018 case DOSAGE: return "Dosage"; 2019 case DURATION: return "Duration"; 2020 case ELEMENT: return "Element"; 2021 case ELEMENTDEFINITION: return "ElementDefinition"; 2022 case EXPRESSION: return "Expression"; 2023 case EXTENSION: return "Extension"; 2024 case HUMANNAME: return "HumanName"; 2025 case IDENTIFIER: return "Identifier"; 2026 case MARKETINGSTATUS: return "MarketingStatus"; 2027 case META: return "Meta"; 2028 case MONEY: return "Money"; 2029 case MONEYQUANTITY: return "MoneyQuantity"; 2030 case NARRATIVE: return "Narrative"; 2031 case PARAMETERDEFINITION: return "ParameterDefinition"; 2032 case PERIOD: return "Period"; 2033 case POPULATION: return "Population"; 2034 case PRIMITIVETYPE: return "PrimitiveType"; 2035 case PRODCHARACTERISTIC: return "ProdCharacteristic"; 2036 case PRODUCTSHELFLIFE: return "ProductShelfLife"; 2037 case QUANTITY: return "Quantity"; 2038 case RANGE: return "Range"; 2039 case RATIO: return "Ratio"; 2040 case RATIORANGE: return "RatioRange"; 2041 case REFERENCE: return "Reference"; 2042 case RELATEDARTIFACT: return "RelatedArtifact"; 2043 case SAMPLEDDATA: return "SampledData"; 2044 case SIGNATURE: return "Signature"; 2045 case SIMPLEQUANTITY: return "SimpleQuantity"; 2046 case TIMING: return "Timing"; 2047 case TRIGGERDEFINITION: return "TriggerDefinition"; 2048 case USAGECONTEXT: return "UsageContext"; 2049 case BASE64BINARY: return "base64Binary"; 2050 case BOOLEAN: return "boolean"; 2051 case CANONICAL: return "canonical"; 2052 case CODE: return "code"; 2053 case DATE: return "date"; 2054 case DATETIME: return "dateTime"; 2055 case DECIMAL: return "decimal"; 2056 case ID: return "id"; 2057 case INSTANT: return "instant"; 2058 case INTEGER: return "integer"; 2059 case INTEGER64: return "integer64"; 2060 case MARKDOWN: return "markdown"; 2061 case OID: return "oid"; 2062 case POSITIVEINT: return "positiveInt"; 2063 case STRING: return "string"; 2064 case TIME: return "time"; 2065 case UNSIGNEDINT: return "unsignedInt"; 2066 case URI: return "uri"; 2067 case URL: return "url"; 2068 case UUID: return "uuid"; 2069 case XHTML: return "xhtml"; 2070 case RESOURCE: return "Resource"; 2071 case BINARY: return "Binary"; 2072 case BUNDLE: return "Bundle"; 2073 case DOMAINRESOURCE: return "DomainResource"; 2074 case ACCOUNT: return "Account"; 2075 case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; 2076 case ADVERSEEVENT: return "AdverseEvent"; 2077 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 2078 case APPOINTMENT: return "Appointment"; 2079 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 2080 case AUDITEVENT: return "AuditEvent"; 2081 case BASIC: return "Basic"; 2082 case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; 2083 case BODYSTRUCTURE: return "BodyStructure"; 2084 case CANONICALRESOURCE: return "CanonicalResource"; 2085 case CAPABILITYSTATEMENT: return "CapabilityStatement"; 2086 case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; 2087 case CODESYSTEM: return "CodeSystem"; 2088 case COMPARTMENTDEFINITION: return "CompartmentDefinition"; 2089 case CONCEPTMAP: return "ConceptMap"; 2090 case CONCEPTMAP2: return "ConceptMap2"; 2091 case EXAMPLESCENARIO: return "ExampleScenario"; 2092 case GRAPHDEFINITION: return "GraphDefinition"; 2093 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 2094 case MESSAGEDEFINITION: return "MessageDefinition"; 2095 case METADATARESOURCE: return "MetadataResource"; 2096 case ACTIVITYDEFINITION: return "ActivityDefinition"; 2097 case ARTIFACTASSESSMENT: return "ArtifactAssessment"; 2098 case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; 2099 case CITATION: return "Citation"; 2100 case CONDITIONDEFINITION: return "ConditionDefinition"; 2101 case EVENTDEFINITION: return "EventDefinition"; 2102 case EVIDENCE: return "Evidence"; 2103 case EVIDENCEREPORT: return "EvidenceReport"; 2104 case EVIDENCEVARIABLE: return "EvidenceVariable"; 2105 case LIBRARY: return "Library"; 2106 case MEASURE: return "Measure"; 2107 case PLANDEFINITION: return "PlanDefinition"; 2108 case QUESTIONNAIRE: return "Questionnaire"; 2109 case NAMINGSYSTEM: return "NamingSystem"; 2110 case OPERATIONDEFINITION: return "OperationDefinition"; 2111 case SEARCHPARAMETER: return "SearchParameter"; 2112 case STRUCTUREDEFINITION: return "StructureDefinition"; 2113 case STRUCTUREMAP: return "StructureMap"; 2114 case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; 2115 case TESTSCRIPT: return "TestScript"; 2116 case VALUESET: return "ValueSet"; 2117 case CAREPLAN: return "CarePlan"; 2118 case CARETEAM: return "CareTeam"; 2119 case CHARGEITEM: return "ChargeItem"; 2120 case CLAIM: return "Claim"; 2121 case CLAIMRESPONSE: return "ClaimResponse"; 2122 case CLINICALIMPRESSION: return "ClinicalImpression"; 2123 case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; 2124 case CLINICALUSEISSUE: return "ClinicalUseIssue"; 2125 case COMMUNICATION: return "Communication"; 2126 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 2127 case COMPOSITION: return "Composition"; 2128 case CONDITION: return "Condition"; 2129 case CONSENT: return "Consent"; 2130 case CONTRACT: return "Contract"; 2131 case COVERAGE: return "Coverage"; 2132 case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; 2133 case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse"; 2134 case DETECTEDISSUE: return "DetectedIssue"; 2135 case DEVICE: return "Device"; 2136 case DEVICEDEFINITION: return "DeviceDefinition"; 2137 case DEVICEDISPENSE: return "DeviceDispense"; 2138 case DEVICEMETRIC: return "DeviceMetric"; 2139 case DEVICEREQUEST: return "DeviceRequest"; 2140 case DEVICEUSAGE: return "DeviceUsage"; 2141 case DIAGNOSTICREPORT: return "DiagnosticReport"; 2142 case DOCUMENTMANIFEST: return "DocumentManifest"; 2143 case DOCUMENTREFERENCE: return "DocumentReference"; 2144 case ENCOUNTER: return "Encounter"; 2145 case ENDPOINT: return "Endpoint"; 2146 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 2147 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 2148 case EPISODEOFCARE: return "EpisodeOfCare"; 2149 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 2150 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 2151 case FLAG: return "Flag"; 2152 case GOAL: return "Goal"; 2153 case GROUP: return "Group"; 2154 case GUIDANCERESPONSE: return "GuidanceResponse"; 2155 case HEALTHCARESERVICE: return "HealthcareService"; 2156 case IMAGINGSELECTION: return "ImagingSelection"; 2157 case IMAGINGSTUDY: return "ImagingStudy"; 2158 case IMMUNIZATION: return "Immunization"; 2159 case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; 2160 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 2161 case INGREDIENT: return "Ingredient"; 2162 case INSURANCEPLAN: return "InsurancePlan"; 2163 case INVENTORYREPORT: return "InventoryReport"; 2164 case INVOICE: return "Invoice"; 2165 case LINKAGE: return "Linkage"; 2166 case LIST: return "List"; 2167 case LOCATION: return "Location"; 2168 case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; 2169 case MEASUREREPORT: return "MeasureReport"; 2170 case MEDICATION: return "Medication"; 2171 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 2172 case MEDICATIONDISPENSE: return "MedicationDispense"; 2173 case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; 2174 case MEDICATIONREQUEST: return "MedicationRequest"; 2175 case MEDICATIONUSAGE: return "MedicationUsage"; 2176 case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; 2177 case MESSAGEHEADER: return "MessageHeader"; 2178 case MOLECULARSEQUENCE: return "MolecularSequence"; 2179 case NUTRITIONINTAKE: return "NutritionIntake"; 2180 case NUTRITIONORDER: return "NutritionOrder"; 2181 case NUTRITIONPRODUCT: return "NutritionProduct"; 2182 case OBSERVATION: return "Observation"; 2183 case OBSERVATIONDEFINITION: return "ObservationDefinition"; 2184 case OPERATIONOUTCOME: return "OperationOutcome"; 2185 case ORGANIZATION: return "Organization"; 2186 case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; 2187 case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; 2188 case PATIENT: return "Patient"; 2189 case PAYMENTNOTICE: return "PaymentNotice"; 2190 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 2191 case PERMISSION: return "Permission"; 2192 case PERSON: return "Person"; 2193 case PRACTITIONER: return "Practitioner"; 2194 case PRACTITIONERROLE: return "PractitionerRole"; 2195 case PROCEDURE: return "Procedure"; 2196 case PROVENANCE: return "Provenance"; 2197 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 2198 case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; 2199 case RELATEDPERSON: return "RelatedPerson"; 2200 case REQUESTGROUP: return "RequestGroup"; 2201 case RESEARCHSTUDY: return "ResearchStudy"; 2202 case RESEARCHSUBJECT: return "ResearchSubject"; 2203 case RISKASSESSMENT: return "RiskAssessment"; 2204 case SCHEDULE: return "Schedule"; 2205 case SERVICEREQUEST: return "ServiceRequest"; 2206 case SLOT: return "Slot"; 2207 case SPECIMEN: return "Specimen"; 2208 case SPECIMENDEFINITION: return "SpecimenDefinition"; 2209 case SUBSCRIPTION: return "Subscription"; 2210 case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; 2211 case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; 2212 case SUBSTANCE: return "Substance"; 2213 case SUBSTANCEDEFINITION: return "SubstanceDefinition"; 2214 case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; 2215 case SUBSTANCEPOLYMER: return "SubstancePolymer"; 2216 case SUBSTANCEPROTEIN: return "SubstanceProtein"; 2217 case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; 2218 case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial"; 2219 case SUPPLYDELIVERY: return "SupplyDelivery"; 2220 case SUPPLYREQUEST: return "SupplyRequest"; 2221 case TASK: return "Task"; 2222 case TESTREPORT: return "TestReport"; 2223 case VERIFICATIONRESULT: return "VerificationResult"; 2224 case VISIONPRESCRIPTION: return "VisionPrescription"; 2225 case PARAMETERS: return "Parameters"; 2226 default: return "?"; 2227 } 2228 } 2229 public String getSystem() { 2230 switch (this) { 2231 case ADDRESS: return "http://hl7.org/fhir/data-types"; 2232 case AGE: return "http://hl7.org/fhir/data-types"; 2233 case ANNOTATION: return "http://hl7.org/fhir/data-types"; 2234 case ATTACHMENT: return "http://hl7.org/fhir/data-types"; 2235 case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types"; 2236 case BACKBONETYPE: return "http://hl7.org/fhir/data-types"; 2237 case BASE: return "http://hl7.org/fhir/data-types"; 2238 case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types"; 2239 case CODEABLEREFERENCE: return "http://hl7.org/fhir/data-types"; 2240 case CODING: return "http://hl7.org/fhir/data-types"; 2241 case CONTACTDETAIL: return "http://hl7.org/fhir/data-types"; 2242 case CONTACTPOINT: return "http://hl7.org/fhir/data-types"; 2243 case CONTRIBUTOR: return "http://hl7.org/fhir/data-types"; 2244 case COUNT: return "http://hl7.org/fhir/data-types"; 2245 case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types"; 2246 case DATATYPE: return "http://hl7.org/fhir/data-types"; 2247 case DISTANCE: return "http://hl7.org/fhir/data-types"; 2248 case DOSAGE: return "http://hl7.org/fhir/data-types"; 2249 case DURATION: return "http://hl7.org/fhir/data-types"; 2250 case ELEMENT: return "http://hl7.org/fhir/data-types"; 2251 case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types"; 2252 case EXPRESSION: return "http://hl7.org/fhir/data-types"; 2253 case EXTENSION: return "http://hl7.org/fhir/data-types"; 2254 case HUMANNAME: return "http://hl7.org/fhir/data-types"; 2255 case IDENTIFIER: return "http://hl7.org/fhir/data-types"; 2256 case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types"; 2257 case META: return "http://hl7.org/fhir/data-types"; 2258 case MONEY: return "http://hl7.org/fhir/data-types"; 2259 case MONEYQUANTITY: return "http://hl7.org/fhir/data-types"; 2260 case NARRATIVE: return "http://hl7.org/fhir/data-types"; 2261 case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types"; 2262 case PERIOD: return "http://hl7.org/fhir/data-types"; 2263 case POPULATION: return "http://hl7.org/fhir/data-types"; 2264 case PRIMITIVETYPE: return "http://hl7.org/fhir/data-types"; 2265 case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types"; 2266 case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types"; 2267 case QUANTITY: return "http://hl7.org/fhir/data-types"; 2268 case RANGE: return "http://hl7.org/fhir/data-types"; 2269 case RATIO: return "http://hl7.org/fhir/data-types"; 2270 case RATIORANGE: return "http://hl7.org/fhir/data-types"; 2271 case REFERENCE: return "http://hl7.org/fhir/data-types"; 2272 case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types"; 2273 case SAMPLEDDATA: return "http://hl7.org/fhir/data-types"; 2274 case SIGNATURE: return "http://hl7.org/fhir/data-types"; 2275 case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types"; 2276 case TIMING: return "http://hl7.org/fhir/data-types"; 2277 case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types"; 2278 case USAGECONTEXT: return "http://hl7.org/fhir/data-types"; 2279 case BASE64BINARY: return "http://hl7.org/fhir/data-types"; 2280 case BOOLEAN: return "http://hl7.org/fhir/data-types"; 2281 case CANONICAL: return "http://hl7.org/fhir/data-types"; 2282 case CODE: return "http://hl7.org/fhir/data-types"; 2283 case DATE: return "http://hl7.org/fhir/data-types"; 2284 case DATETIME: return "http://hl7.org/fhir/data-types"; 2285 case DECIMAL: return "http://hl7.org/fhir/data-types"; 2286 case ID: return "http://hl7.org/fhir/data-types"; 2287 case INSTANT: return "http://hl7.org/fhir/data-types"; 2288 case INTEGER: return "http://hl7.org/fhir/data-types"; 2289 case INTEGER64: return "http://hl7.org/fhir/data-types"; 2290 case MARKDOWN: return "http://hl7.org/fhir/data-types"; 2291 case OID: return "http://hl7.org/fhir/data-types"; 2292 case POSITIVEINT: return "http://hl7.org/fhir/data-types"; 2293 case STRING: return "http://hl7.org/fhir/data-types"; 2294 case TIME: return "http://hl7.org/fhir/data-types"; 2295 case UNSIGNEDINT: return "http://hl7.org/fhir/data-types"; 2296 case URI: return "http://hl7.org/fhir/data-types"; 2297 case URL: return "http://hl7.org/fhir/data-types"; 2298 case UUID: return "http://hl7.org/fhir/data-types"; 2299 case XHTML: return "http://hl7.org/fhir/data-types"; 2300 case RESOURCE: return "http://hl7.org/fhir/resource-types"; 2301 case BINARY: return "http://hl7.org/fhir/resource-types"; 2302 case BUNDLE: return "http://hl7.org/fhir/resource-types"; 2303 case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; 2304 case ACCOUNT: return "http://hl7.org/fhir/resource-types"; 2305 case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; 2306 case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types"; 2307 case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; 2308 case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; 2309 case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 2310 case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; 2311 case BASIC: return "http://hl7.org/fhir/resource-types"; 2312 case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types"; 2313 case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types"; 2314 case CANONICALRESOURCE: return "http://hl7.org/fhir/resource-types"; 2315 case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types"; 2316 case CAPABILITYSTATEMENT2: return "http://hl7.org/fhir/resource-types"; 2317 case CODESYSTEM: return "http://hl7.org/fhir/resource-types"; 2318 case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types"; 2319 case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; 2320 case CONCEPTMAP2: return "http://hl7.org/fhir/resource-types"; 2321 case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types"; 2322 case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types"; 2323 case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; 2324 case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types"; 2325 case METADATARESOURCE: return "http://hl7.org/fhir/resource-types"; 2326 case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types"; 2327 case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/resource-types"; 2328 case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; 2329 case CITATION: return "http://hl7.org/fhir/resource-types"; 2330 case CONDITIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 2331 case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types"; 2332 case EVIDENCE: return "http://hl7.org/fhir/resource-types"; 2333 case EVIDENCEREPORT: return "http://hl7.org/fhir/resource-types"; 2334 case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types"; 2335 case LIBRARY: return "http://hl7.org/fhir/resource-types"; 2336 case MEASURE: return "http://hl7.org/fhir/resource-types"; 2337 case PLANDEFINITION: return "http://hl7.org/fhir/resource-types"; 2338 case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; 2339 case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; 2340 case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 2341 case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; 2342 case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; 2343 case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types"; 2344 case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types"; 2345 case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; 2346 case VALUESET: return "http://hl7.org/fhir/resource-types"; 2347 case CAREPLAN: return "http://hl7.org/fhir/resource-types"; 2348 case CARETEAM: return "http://hl7.org/fhir/resource-types"; 2349 case CHARGEITEM: return "http://hl7.org/fhir/resource-types"; 2350 case CLAIM: return "http://hl7.org/fhir/resource-types"; 2351 case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; 2352 case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; 2353 case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/resource-types"; 2354 case CLINICALUSEISSUE: return "http://hl7.org/fhir/resource-types"; 2355 case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; 2356 case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 2357 case COMPOSITION: return "http://hl7.org/fhir/resource-types"; 2358 case CONDITION: return "http://hl7.org/fhir/resource-types"; 2359 case CONSENT: return "http://hl7.org/fhir/resource-types"; 2360 case CONTRACT: return "http://hl7.org/fhir/resource-types"; 2361 case COVERAGE: return "http://hl7.org/fhir/resource-types"; 2362 case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; 2363 case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; 2364 case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; 2365 case DEVICE: return "http://hl7.org/fhir/resource-types"; 2366 case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types"; 2367 case DEVICEDISPENSE: return "http://hl7.org/fhir/resource-types"; 2368 case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; 2369 case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; 2370 case DEVICEUSAGE: return "http://hl7.org/fhir/resource-types"; 2371 case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; 2372 case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; 2373 case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; 2374 case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; 2375 case ENDPOINT: return "http://hl7.org/fhir/resource-types"; 2376 case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; 2377 case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 2378 case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; 2379 case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; 2380 case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; 2381 case FLAG: return "http://hl7.org/fhir/resource-types"; 2382 case GOAL: return "http://hl7.org/fhir/resource-types"; 2383 case GROUP: return "http://hl7.org/fhir/resource-types"; 2384 case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types"; 2385 case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; 2386 case IMAGINGSELECTION: return "http://hl7.org/fhir/resource-types"; 2387 case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; 2388 case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; 2389 case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types"; 2390 case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; 2391 case INGREDIENT: return "http://hl7.org/fhir/resource-types"; 2392 case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types"; 2393 case INVENTORYREPORT: return "http://hl7.org/fhir/resource-types"; 2394 case INVOICE: return "http://hl7.org/fhir/resource-types"; 2395 case LINKAGE: return "http://hl7.org/fhir/resource-types"; 2396 case LIST: return "http://hl7.org/fhir/resource-types"; 2397 case LOCATION: return "http://hl7.org/fhir/resource-types"; 2398 case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; 2399 case MEASUREREPORT: return "http://hl7.org/fhir/resource-types"; 2400 case MEDICATION: return "http://hl7.org/fhir/resource-types"; 2401 case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; 2402 case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; 2403 case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types"; 2404 case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 2405 case MEDICATIONUSAGE: return "http://hl7.org/fhir/resource-types"; 2406 case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; 2407 case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; 2408 case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types"; 2409 case NUTRITIONINTAKE: return "http://hl7.org/fhir/resource-types"; 2410 case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; 2411 case NUTRITIONPRODUCT: return "http://hl7.org/fhir/resource-types"; 2412 case OBSERVATION: return "http://hl7.org/fhir/resource-types"; 2413 case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 2414 case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; 2415 case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; 2416 case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types"; 2417 case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; 2418 case PATIENT: return "http://hl7.org/fhir/resource-types"; 2419 case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; 2420 case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; 2421 case PERMISSION: return "http://hl7.org/fhir/resource-types"; 2422 case PERSON: return "http://hl7.org/fhir/resource-types"; 2423 case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; 2424 case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types"; 2425 case PROCEDURE: return "http://hl7.org/fhir/resource-types"; 2426 case PROVENANCE: return "http://hl7.org/fhir/resource-types"; 2427 case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; 2428 case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/resource-types"; 2429 case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; 2430 case REQUESTGROUP: return "http://hl7.org/fhir/resource-types"; 2431 case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types"; 2432 case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types"; 2433 case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; 2434 case SCHEDULE: return "http://hl7.org/fhir/resource-types"; 2435 case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; 2436 case SLOT: return "http://hl7.org/fhir/resource-types"; 2437 case SPECIMEN: return "http://hl7.org/fhir/resource-types"; 2438 case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types"; 2439 case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; 2440 case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/resource-types"; 2441 case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/resource-types"; 2442 case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; 2443 case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/resource-types"; 2444 case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types"; 2445 case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types"; 2446 case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types"; 2447 case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types"; 2448 case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types"; 2449 case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; 2450 case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; 2451 case TASK: return "http://hl7.org/fhir/resource-types"; 2452 case TESTREPORT: return "http://hl7.org/fhir/resource-types"; 2453 case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types"; 2454 case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; 2455 case PARAMETERS: return "http://hl7.org/fhir/resource-types"; 2456 default: return "?"; 2457 } 2458 } 2459 public String getDefinition() { 2460 switch (this) { 2461 case ADDRESS: return "An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world."; 2462 case AGE: return "A duration of time during which an organism (or a process) has existed."; 2463 case ANNOTATION: return "A text note which also contains information about who made the statement and when."; 2464 case ATTACHMENT: return "For referring to data content defined in other formats."; 2465 case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type."; 2466 case BACKBONETYPE: return "Base definition for the few data types that are allowed to carry modifier extensions."; 2467 case BASE: return "Base definition for all types defined in FHIR type system."; 2468 case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; 2469 case CODEABLEREFERENCE: return "A reference to a resource (by instance), or instead, a reference to a cencept defined in a terminology or ontology (by class)."; 2470 case CODING: return "A reference to a code defined by a terminology system."; 2471 case CONTACTDETAIL: return "Specifies contact information for a person or organization."; 2472 case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; 2473 case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers."; 2474 case COUNT: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; 2475 case DATAREQUIREMENT: return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data."; 2476 case DATATYPE: return "The base class for all re-useable types defined as part of the FHIR Specification."; 2477 case DISTANCE: return "A length - a value with a unit that is a physical distance."; 2478 case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient."; 2479 case DURATION: return "A length of time."; 2480 case ELEMENT: return "Base definition for all elements in a resource."; 2481 case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension."; 2482 case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used."; 2483 case EXTENSION: return "Optional Extension Element - found in all resources."; 2484 case HUMANNAME: return "A human's name with the ability to identify parts and usage."; 2485 case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."; 2486 case MARKETINGSTATUS: return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available."; 2487 case META: return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource."; 2488 case MONEY: return "An amount of economic utility in some recognized currency."; 2489 case MONEYQUANTITY: return ""; 2490 case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource."; 2491 case PARAMETERDEFINITION: return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse."; 2492 case PERIOD: return "A time period defined by a start and end date and optionally time."; 2493 case POPULATION: return "A populatioof people with some set of grouping criteria."; 2494 case PRIMITIVETYPE: return "The base type for all re-useable types defined that have a simple property."; 2495 case PRODCHARACTERISTIC: return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available."; 2496 case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class."; 2497 case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; 2498 case RANGE: return "A set of ordered Quantities defined by a low and high limit."; 2499 case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator."; 2500 case RATIORANGE: return "A range of ratios expressed as a low and high numerator and a denominator."; 2501 case REFERENCE: return "A reference from one resource to another."; 2502 case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references."; 2503 case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; 2504 case SIGNATURE: return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities."; 2505 case SIMPLEQUANTITY: return ""; 2506 case TIMING: return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out."; 2507 case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element."; 2508 case USAGECONTEXT: return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care)."; 2509 case BASE64BINARY: return "A stream of bytes"; 2510 case BOOLEAN: return "Value of \"true\" or \"false\""; 2511 case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource"; 2512 case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"; 2513 case DATE: return "A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates."; 2514 case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates."; 2515 case DECIMAL: return "A rational number with implicit precision"; 2516 case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive."; 2517 case INSTANT: return "An instant in time - known at least to the second"; 2518 case INTEGER: return "A whole number"; 2519 case INTEGER64: return "A very large whole number"; 2520 case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine"; 2521 case OID: return "An OID represented as a URI"; 2522 case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)"; 2523 case STRING: return "A sequence of Unicode characters"; 2524 case TIME: return "A time during the day, with no date specified"; 2525 case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)"; 2526 case URI: return "String of characters used to identify a name or a resource"; 2527 case URL: return "A URI that is a literal reference"; 2528 case UUID: return "A UUID, represented as a URI"; 2529 case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; 2530 case RESOURCE: return "--- Abstract Type! ---This is the base resource type for everything."; 2531 case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc."; 2532 case BUNDLE: return "A container for a collection of resources."; 2533 case DOMAINRESOURCE: return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; 2534 case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc."; 2535 case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed)."; 2536 case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects."; 2537 case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; 2538 case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; 2539 case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 2540 case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis."; 2541 case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; 2542 case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity."; 2543 case BODYSTRUCTURE: return "Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; 2544 case CANONICALRESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; 2545 case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 2546 case CAPABILITYSTATEMENT2: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 2547 case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; 2548 case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; 2549 case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; 2550 case CONCEPTMAP2: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; 2551 case EXAMPLESCENARIO: return "Example of workflow instance."; 2552 case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; 2553 case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; 2554 case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; 2555 case METADATARESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; 2556 case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; 2557 case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content."; 2558 case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; 2559 case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; 2560 case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; 2561 case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; 2562 case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; 2563 case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; 2564 case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; 2565 case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; 2566 case MEASURE: return "The Measure resource provides the definition of a quality measure."; 2567 case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; 2568 case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; 2569 case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; 2570 case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; 2571 case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; 2572 case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; 2573 case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; 2574 case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 2575 case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; 2576 case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; 2577 case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; 2578 case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care."; 2579 case CHARGEITEM: return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation."; 2580 case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement."; 2581 case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; 2582 case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; 2583 case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure."; 2584 case CLINICALUSEISSUE: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure."; 2585 case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition."; 2586 case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; 2587 case COMPOSITION: return "A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.)."; 2588 case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern."; 2589 case CONSENT: return "A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time."; 2590 case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement."; 2591 case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment."; 2592 case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy."; 2593 case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource."; 2594 case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc."; 2595 case DEVICE: return "This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element."; 2596 case DEVICEDEFINITION: return "This is a specialized resource that defines the characteristics and capabilities of a device."; 2597 case DEVICEDISPENSE: return "Indicates that a device is to be or has been dispensed for a named person/patient. This includes a description of the product (supply) provided and the instructions for using the device."; 2598 case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device."; 2599 case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used."; 2600 case DEVICEUSAGE: return "A record of a device being used by a patient where the record is the result of a report from the patient or a clinician."; 2601 case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances."; 2602 case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection."; 2603 case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference."; 2604 case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; 2605 case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information."; 2606 case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; 2607 case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource."; 2608 case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; 2609 case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; 2610 case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient."; 2611 case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; 2612 case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; 2613 case GROUP: return "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."; 2614 case GUIDANCERESPONSE: return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken."; 2615 case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; 2616 case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource."; 2617 case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; 2618 case IMMUNIZATION: return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party."; 2619 case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations."; 2620 case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; 2621 case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product."; 2622 case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization."; 2623 case INVENTORYREPORT: return "A report of inventory or stock items."; 2624 case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose."; 2625 case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\"."; 2626 case LIST: return "A list is a curated collection of resources."; 2627 case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated."; 2628 case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product."; 2629 case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation."; 2630 case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use."; 2631 case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; 2632 case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order."; 2633 case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge."; 2634 case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; 2635 case MEDICATIONUSAGE: return "A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information."; 2636 case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs)."; 2637 case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; 2638 case MOLECULARSEQUENCE: return "Raw data describing a biological sequence."; 2639 case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake."; 2640 case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 2641 case NUTRITIONPRODUCT: return "A food or fluid product that is consumed by patients."; 2642 case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; 2643 case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service."; 2644 case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action."; 2645 case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc."; 2646 case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship."; 2647 case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package."; 2648 case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; 2649 case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; 2650 case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid."; 2651 case PERMISSION: return "Permission."; 2652 case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; 2653 case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; 2654 case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time."; 2655 case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing."; 2656 case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; 2657 case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to."; 2658 case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product."; 2659 case RELATEDPERSON: return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; 2660 case REQUESTGROUP: return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; 2661 case RESEARCHSTUDY: return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects."; 2662 case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study."; 2663 case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; 2664 case SCHEDULE: return "A container for slots of time that may be available for booking appointments."; 2665 case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; 2666 case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; 2667 case SPECIMEN: return "A sample to be used for analysis."; 2668 case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements."; 2669 case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic."; 2670 case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications."; 2671 case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; 2672 case SUBSTANCE: return "A homogeneous material with a definite composition."; 2673 case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing."; 2674 case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction."; 2675 case SUBSTANCEPOLYMER: return "Properties of a substance specific to it being a polymer."; 2676 case SUBSTANCEPROTEIN: return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators."; 2677 case SUBSTANCEREFERENCEINFORMATION: return "Todo."; 2678 case SUBSTANCESOURCEMATERIAL: return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex."; 2679 case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; 2680 case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting."; 2681 case TASK: return "A task to be performed."; 2682 case TESTREPORT: return "A summary of information based on the results of executing a TestScript."; 2683 case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements."; 2684 case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; 2685 case PARAMETERS: return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it."; 2686 default: return "?"; 2687 } 2688 } 2689 public String getDisplay() { 2690 switch (this) { 2691 case ADDRESS: return "Address"; 2692 case AGE: return "Age"; 2693 case ANNOTATION: return "Annotation"; 2694 case ATTACHMENT: return "Attachment"; 2695 case BACKBONEELEMENT: return "BackboneElement"; 2696 case BACKBONETYPE: return "BackboneType"; 2697 case BASE: return "Base"; 2698 case CODEABLECONCEPT: return "CodeableConcept"; 2699 case CODEABLEREFERENCE: return "CodeableReference"; 2700 case CODING: return "Coding"; 2701 case CONTACTDETAIL: return "ContactDetail"; 2702 case CONTACTPOINT: return "ContactPoint"; 2703 case CONTRIBUTOR: return "Contributor"; 2704 case COUNT: return "Count"; 2705 case DATAREQUIREMENT: return "DataRequirement"; 2706 case DATATYPE: return "DataType"; 2707 case DISTANCE: return "Distance"; 2708 case DOSAGE: return "Dosage"; 2709 case DURATION: return "Duration"; 2710 case ELEMENT: return "Element"; 2711 case ELEMENTDEFINITION: return "ElementDefinition"; 2712 case EXPRESSION: return "Expression"; 2713 case EXTENSION: return "Extension"; 2714 case HUMANNAME: return "HumanName"; 2715 case IDENTIFIER: return "Identifier"; 2716 case MARKETINGSTATUS: return "MarketingStatus"; 2717 case META: return "Meta"; 2718 case MONEY: return "Money"; 2719 case MONEYQUANTITY: return "MoneyQuantity"; 2720 case NARRATIVE: return "Narrative"; 2721 case PARAMETERDEFINITION: return "ParameterDefinition"; 2722 case PERIOD: return "Period"; 2723 case POPULATION: return "Population"; 2724 case PRIMITIVETYPE: return "PrimitiveType"; 2725 case PRODCHARACTERISTIC: return "ProdCharacteristic"; 2726 case PRODUCTSHELFLIFE: return "ProductShelfLife"; 2727 case QUANTITY: return "Quantity"; 2728 case RANGE: return "Range"; 2729 case RATIO: return "Ratio"; 2730 case RATIORANGE: return "RatioRange"; 2731 case REFERENCE: return "Reference"; 2732 case RELATEDARTIFACT: return "RelatedArtifact"; 2733 case SAMPLEDDATA: return "SampledData"; 2734 case SIGNATURE: return "Signature"; 2735 case SIMPLEQUANTITY: return "SimpleQuantity"; 2736 case TIMING: return "Timing"; 2737 case TRIGGERDEFINITION: return "TriggerDefinition"; 2738 case USAGECONTEXT: return "UsageContext"; 2739 case BASE64BINARY: return "base64Binary"; 2740 case BOOLEAN: return "boolean"; 2741 case CANONICAL: return "canonical"; 2742 case CODE: return "code"; 2743 case DATE: return "date"; 2744 case DATETIME: return "dateTime"; 2745 case DECIMAL: return "decimal"; 2746 case ID: return "id"; 2747 case INSTANT: return "instant"; 2748 case INTEGER: return "integer"; 2749 case INTEGER64: return "integer64"; 2750 case MARKDOWN: return "markdown"; 2751 case OID: return "oid"; 2752 case POSITIVEINT: return "positiveInt"; 2753 case STRING: return "string"; 2754 case TIME: return "time"; 2755 case UNSIGNEDINT: return "unsignedInt"; 2756 case URI: return "uri"; 2757 case URL: return "url"; 2758 case UUID: return "uuid"; 2759 case XHTML: return "XHTML"; 2760 case RESOURCE: return "Resource"; 2761 case BINARY: return "Binary"; 2762 case BUNDLE: return "Bundle"; 2763 case DOMAINRESOURCE: return "DomainResource"; 2764 case ACCOUNT: return "Account"; 2765 case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; 2766 case ADVERSEEVENT: return "AdverseEvent"; 2767 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 2768 case APPOINTMENT: return "Appointment"; 2769 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 2770 case AUDITEVENT: return "AuditEvent"; 2771 case BASIC: return "Basic"; 2772 case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; 2773 case BODYSTRUCTURE: return "BodyStructure"; 2774 case CANONICALRESOURCE: return "CanonicalResource"; 2775 case CAPABILITYSTATEMENT: return "CapabilityStatement"; 2776 case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; 2777 case CODESYSTEM: return "CodeSystem"; 2778 case COMPARTMENTDEFINITION: return "CompartmentDefinition"; 2779 case CONCEPTMAP: return "ConceptMap"; 2780 case CONCEPTMAP2: return "ConceptMap2"; 2781 case EXAMPLESCENARIO: return "ExampleScenario"; 2782 case GRAPHDEFINITION: return "GraphDefinition"; 2783 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 2784 case MESSAGEDEFINITION: return "MessageDefinition"; 2785 case METADATARESOURCE: return "MetadataResource"; 2786 case ACTIVITYDEFINITION: return "ActivityDefinition"; 2787 case ARTIFACTASSESSMENT: return "ArtifactAssessment"; 2788 case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; 2789 case CITATION: return "Citation"; 2790 case CONDITIONDEFINITION: return "ConditionDefinition"; 2791 case EVENTDEFINITION: return "EventDefinition"; 2792 case EVIDENCE: return "Evidence"; 2793 case EVIDENCEREPORT: return "EvidenceReport"; 2794 case EVIDENCEVARIABLE: return "EvidenceVariable"; 2795 case LIBRARY: return "Library"; 2796 case MEASURE: return "Measure"; 2797 case PLANDEFINITION: return "PlanDefinition"; 2798 case QUESTIONNAIRE: return "Questionnaire"; 2799 case NAMINGSYSTEM: return "NamingSystem"; 2800 case OPERATIONDEFINITION: return "OperationDefinition"; 2801 case SEARCHPARAMETER: return "SearchParameter"; 2802 case STRUCTUREDEFINITION: return "StructureDefinition"; 2803 case STRUCTUREMAP: return "StructureMap"; 2804 case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; 2805 case TESTSCRIPT: return "TestScript"; 2806 case VALUESET: return "ValueSet"; 2807 case CAREPLAN: return "CarePlan"; 2808 case CARETEAM: return "CareTeam"; 2809 case CHARGEITEM: return "ChargeItem"; 2810 case CLAIM: return "Claim"; 2811 case CLAIMRESPONSE: return "ClaimResponse"; 2812 case CLINICALIMPRESSION: return "ClinicalImpression"; 2813 case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; 2814 case CLINICALUSEISSUE: return "ClinicalUseIssue"; 2815 case COMMUNICATION: return "Communication"; 2816 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 2817 case COMPOSITION: return "Composition"; 2818 case CONDITION: return "Condition"; 2819 case CONSENT: return "Consent"; 2820 case CONTRACT: return "Contract"; 2821 case COVERAGE: return "Coverage"; 2822 case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; 2823 case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse"; 2824 case DETECTEDISSUE: return "DetectedIssue"; 2825 case DEVICE: return "Device"; 2826 case DEVICEDEFINITION: return "DeviceDefinition"; 2827 case DEVICEDISPENSE: return "DeviceDispense"; 2828 case DEVICEMETRIC: return "DeviceMetric"; 2829 case DEVICEREQUEST: return "DeviceRequest"; 2830 case DEVICEUSAGE: return "DeviceUsage"; 2831 case DIAGNOSTICREPORT: return "DiagnosticReport"; 2832 case DOCUMENTMANIFEST: return "DocumentManifest"; 2833 case DOCUMENTREFERENCE: return "DocumentReference"; 2834 case ENCOUNTER: return "Encounter"; 2835 case ENDPOINT: return "Endpoint"; 2836 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 2837 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 2838 case EPISODEOFCARE: return "EpisodeOfCare"; 2839 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 2840 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 2841 case FLAG: return "Flag"; 2842 case GOAL: return "Goal"; 2843 case GROUP: return "Group"; 2844 case GUIDANCERESPONSE: return "GuidanceResponse"; 2845 case HEALTHCARESERVICE: return "HealthcareService"; 2846 case IMAGINGSELECTION: return "ImagingSelection"; 2847 case IMAGINGSTUDY: return "ImagingStudy"; 2848 case IMMUNIZATION: return "Immunization"; 2849 case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; 2850 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 2851 case INGREDIENT: return "Ingredient"; 2852 case INSURANCEPLAN: return "InsurancePlan"; 2853 case INVENTORYREPORT: return "InventoryReport"; 2854 case INVOICE: return "Invoice"; 2855 case LINKAGE: return "Linkage"; 2856 case LIST: return "List"; 2857 case LOCATION: return "Location"; 2858 case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; 2859 case MEASUREREPORT: return "MeasureReport"; 2860 case MEDICATION: return "Medication"; 2861 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 2862 case MEDICATIONDISPENSE: return "MedicationDispense"; 2863 case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; 2864 case MEDICATIONREQUEST: return "MedicationRequest"; 2865 case MEDICATIONUSAGE: return "MedicationUsage"; 2866 case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; 2867 case MESSAGEHEADER: return "MessageHeader"; 2868 case MOLECULARSEQUENCE: return "MolecularSequence"; 2869 case NUTRITIONINTAKE: return "NutritionIntake"; 2870 case NUTRITIONORDER: return "NutritionOrder"; 2871 case NUTRITIONPRODUCT: return "NutritionProduct"; 2872 case OBSERVATION: return "Observation"; 2873 case OBSERVATIONDEFINITION: return "ObservationDefinition"; 2874 case OPERATIONOUTCOME: return "OperationOutcome"; 2875 case ORGANIZATION: return "Organization"; 2876 case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; 2877 case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; 2878 case PATIENT: return "Patient"; 2879 case PAYMENTNOTICE: return "PaymentNotice"; 2880 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 2881 case PERMISSION: return "Permission"; 2882 case PERSON: return "Person"; 2883 case PRACTITIONER: return "Practitioner"; 2884 case PRACTITIONERROLE: return "PractitionerRole"; 2885 case PROCEDURE: return "Procedure"; 2886 case PROVENANCE: return "Provenance"; 2887 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 2888 case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; 2889 case RELATEDPERSON: return "RelatedPerson"; 2890 case REQUESTGROUP: return "RequestGroup"; 2891 case RESEARCHSTUDY: return "ResearchStudy"; 2892 case RESEARCHSUBJECT: return "ResearchSubject"; 2893 case RISKASSESSMENT: return "RiskAssessment"; 2894 case SCHEDULE: return "Schedule"; 2895 case SERVICEREQUEST: return "ServiceRequest"; 2896 case SLOT: return "Slot"; 2897 case SPECIMEN: return "Specimen"; 2898 case SPECIMENDEFINITION: return "SpecimenDefinition"; 2899 case SUBSCRIPTION: return "Subscription"; 2900 case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; 2901 case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; 2902 case SUBSTANCE: return "Substance"; 2903 case SUBSTANCEDEFINITION: return "SubstanceDefinition"; 2904 case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; 2905 case SUBSTANCEPOLYMER: return "SubstancePolymer"; 2906 case SUBSTANCEPROTEIN: return "SubstanceProtein"; 2907 case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; 2908 case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial"; 2909 case SUPPLYDELIVERY: return "SupplyDelivery"; 2910 case SUPPLYREQUEST: return "SupplyRequest"; 2911 case TASK: return "Task"; 2912 case TESTREPORT: return "TestReport"; 2913 case VERIFICATIONRESULT: return "VerificationResult"; 2914 case VISIONPRESCRIPTION: return "VisionPrescription"; 2915 case PARAMETERS: return "Parameters"; 2916 default: return "?"; 2917 } 2918 } 2919 } 2920 2921 public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> { 2922 public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException { 2923 if (codeString == null || "".equals(codeString)) 2924 if (codeString == null || "".equals(codeString)) 2925 return null; 2926 if ("Address".equals(codeString)) 2927 return FHIRDefinedType.ADDRESS; 2928 if ("Age".equals(codeString)) 2929 return FHIRDefinedType.AGE; 2930 if ("Annotation".equals(codeString)) 2931 return FHIRDefinedType.ANNOTATION; 2932 if ("Attachment".equals(codeString)) 2933 return FHIRDefinedType.ATTACHMENT; 2934 if ("BackboneElement".equals(codeString)) 2935 return FHIRDefinedType.BACKBONEELEMENT; 2936 if ("BackboneType".equals(codeString)) 2937 return FHIRDefinedType.BACKBONETYPE; 2938 if ("Base".equals(codeString)) 2939 return FHIRDefinedType.BASE; 2940 if ("CodeableConcept".equals(codeString)) 2941 return FHIRDefinedType.CODEABLECONCEPT; 2942 if ("CodeableReference".equals(codeString)) 2943 return FHIRDefinedType.CODEABLEREFERENCE; 2944 if ("Coding".equals(codeString)) 2945 return FHIRDefinedType.CODING; 2946 if ("ContactDetail".equals(codeString)) 2947 return FHIRDefinedType.CONTACTDETAIL; 2948 if ("ContactPoint".equals(codeString)) 2949 return FHIRDefinedType.CONTACTPOINT; 2950 if ("Contributor".equals(codeString)) 2951 return FHIRDefinedType.CONTRIBUTOR; 2952 if ("Count".equals(codeString)) 2953 return FHIRDefinedType.COUNT; 2954 if ("DataRequirement".equals(codeString)) 2955 return FHIRDefinedType.DATAREQUIREMENT; 2956 if ("DataType".equals(codeString)) 2957 return FHIRDefinedType.DATATYPE; 2958 if ("Distance".equals(codeString)) 2959 return FHIRDefinedType.DISTANCE; 2960 if ("Dosage".equals(codeString)) 2961 return FHIRDefinedType.DOSAGE; 2962 if ("Duration".equals(codeString)) 2963 return FHIRDefinedType.DURATION; 2964 if ("Element".equals(codeString)) 2965 return FHIRDefinedType.ELEMENT; 2966 if ("ElementDefinition".equals(codeString)) 2967 return FHIRDefinedType.ELEMENTDEFINITION; 2968 if ("Expression".equals(codeString)) 2969 return FHIRDefinedType.EXPRESSION; 2970 if ("Extension".equals(codeString)) 2971 return FHIRDefinedType.EXTENSION; 2972 if ("HumanName".equals(codeString)) 2973 return FHIRDefinedType.HUMANNAME; 2974 if ("Identifier".equals(codeString)) 2975 return FHIRDefinedType.IDENTIFIER; 2976 if ("MarketingStatus".equals(codeString)) 2977 return FHIRDefinedType.MARKETINGSTATUS; 2978 if ("Meta".equals(codeString)) 2979 return FHIRDefinedType.META; 2980 if ("Money".equals(codeString)) 2981 return FHIRDefinedType.MONEY; 2982 if ("MoneyQuantity".equals(codeString)) 2983 return FHIRDefinedType.MONEYQUANTITY; 2984 if ("Narrative".equals(codeString)) 2985 return FHIRDefinedType.NARRATIVE; 2986 if ("ParameterDefinition".equals(codeString)) 2987 return FHIRDefinedType.PARAMETERDEFINITION; 2988 if ("Period".equals(codeString)) 2989 return FHIRDefinedType.PERIOD; 2990 if ("Population".equals(codeString)) 2991 return FHIRDefinedType.POPULATION; 2992 if ("PrimitiveType".equals(codeString)) 2993 return FHIRDefinedType.PRIMITIVETYPE; 2994 if ("ProdCharacteristic".equals(codeString)) 2995 return FHIRDefinedType.PRODCHARACTERISTIC; 2996 if ("ProductShelfLife".equals(codeString)) 2997 return FHIRDefinedType.PRODUCTSHELFLIFE; 2998 if ("Quantity".equals(codeString)) 2999 return FHIRDefinedType.QUANTITY; 3000 if ("Range".equals(codeString)) 3001 return FHIRDefinedType.RANGE; 3002 if ("Ratio".equals(codeString)) 3003 return FHIRDefinedType.RATIO; 3004 if ("RatioRange".equals(codeString)) 3005 return FHIRDefinedType.RATIORANGE; 3006 if ("Reference".equals(codeString)) 3007 return FHIRDefinedType.REFERENCE; 3008 if ("RelatedArtifact".equals(codeString)) 3009 return FHIRDefinedType.RELATEDARTIFACT; 3010 if ("SampledData".equals(codeString)) 3011 return FHIRDefinedType.SAMPLEDDATA; 3012 if ("Signature".equals(codeString)) 3013 return FHIRDefinedType.SIGNATURE; 3014 if ("SimpleQuantity".equals(codeString)) 3015 return FHIRDefinedType.SIMPLEQUANTITY; 3016 if ("Timing".equals(codeString)) 3017 return FHIRDefinedType.TIMING; 3018 if ("TriggerDefinition".equals(codeString)) 3019 return FHIRDefinedType.TRIGGERDEFINITION; 3020 if ("UsageContext".equals(codeString)) 3021 return FHIRDefinedType.USAGECONTEXT; 3022 if ("base64Binary".equals(codeString)) 3023 return FHIRDefinedType.BASE64BINARY; 3024 if ("boolean".equals(codeString)) 3025 return FHIRDefinedType.BOOLEAN; 3026 if ("canonical".equals(codeString)) 3027 return FHIRDefinedType.CANONICAL; 3028 if ("code".equals(codeString)) 3029 return FHIRDefinedType.CODE; 3030 if ("date".equals(codeString)) 3031 return FHIRDefinedType.DATE; 3032 if ("dateTime".equals(codeString)) 3033 return FHIRDefinedType.DATETIME; 3034 if ("decimal".equals(codeString)) 3035 return FHIRDefinedType.DECIMAL; 3036 if ("id".equals(codeString)) 3037 return FHIRDefinedType.ID; 3038 if ("instant".equals(codeString)) 3039 return FHIRDefinedType.INSTANT; 3040 if ("integer".equals(codeString)) 3041 return FHIRDefinedType.INTEGER; 3042 if ("integer64".equals(codeString)) 3043 return FHIRDefinedType.INTEGER64; 3044 if ("markdown".equals(codeString)) 3045 return FHIRDefinedType.MARKDOWN; 3046 if ("oid".equals(codeString)) 3047 return FHIRDefinedType.OID; 3048 if ("positiveInt".equals(codeString)) 3049 return FHIRDefinedType.POSITIVEINT; 3050 if ("string".equals(codeString)) 3051 return FHIRDefinedType.STRING; 3052 if ("time".equals(codeString)) 3053 return FHIRDefinedType.TIME; 3054 if ("unsignedInt".equals(codeString)) 3055 return FHIRDefinedType.UNSIGNEDINT; 3056 if ("uri".equals(codeString)) 3057 return FHIRDefinedType.URI; 3058 if ("url".equals(codeString)) 3059 return FHIRDefinedType.URL; 3060 if ("uuid".equals(codeString)) 3061 return FHIRDefinedType.UUID; 3062 if ("xhtml".equals(codeString)) 3063 return FHIRDefinedType.XHTML; 3064 if ("Resource".equals(codeString)) 3065 return FHIRDefinedType.RESOURCE; 3066 if ("Binary".equals(codeString)) 3067 return FHIRDefinedType.BINARY; 3068 if ("Bundle".equals(codeString)) 3069 return FHIRDefinedType.BUNDLE; 3070 if ("DomainResource".equals(codeString)) 3071 return FHIRDefinedType.DOMAINRESOURCE; 3072 if ("Account".equals(codeString)) 3073 return FHIRDefinedType.ACCOUNT; 3074 if ("AdministrableProductDefinition".equals(codeString)) 3075 return FHIRDefinedType.ADMINISTRABLEPRODUCTDEFINITION; 3076 if ("AdverseEvent".equals(codeString)) 3077 return FHIRDefinedType.ADVERSEEVENT; 3078 if ("AllergyIntolerance".equals(codeString)) 3079 return FHIRDefinedType.ALLERGYINTOLERANCE; 3080 if ("Appointment".equals(codeString)) 3081 return FHIRDefinedType.APPOINTMENT; 3082 if ("AppointmentResponse".equals(codeString)) 3083 return FHIRDefinedType.APPOINTMENTRESPONSE; 3084 if ("AuditEvent".equals(codeString)) 3085 return FHIRDefinedType.AUDITEVENT; 3086 if ("Basic".equals(codeString)) 3087 return FHIRDefinedType.BASIC; 3088 if ("BiologicallyDerivedProduct".equals(codeString)) 3089 return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT; 3090 if ("BodyStructure".equals(codeString)) 3091 return FHIRDefinedType.BODYSTRUCTURE; 3092 if ("CanonicalResource".equals(codeString)) 3093 return FHIRDefinedType.CANONICALRESOURCE; 3094 if ("CapabilityStatement".equals(codeString)) 3095 return FHIRDefinedType.CAPABILITYSTATEMENT; 3096 if ("CapabilityStatement2".equals(codeString)) 3097 return FHIRDefinedType.CAPABILITYSTATEMENT2; 3098 if ("CodeSystem".equals(codeString)) 3099 return FHIRDefinedType.CODESYSTEM; 3100 if ("CompartmentDefinition".equals(codeString)) 3101 return FHIRDefinedType.COMPARTMENTDEFINITION; 3102 if ("ConceptMap".equals(codeString)) 3103 return FHIRDefinedType.CONCEPTMAP; 3104 if ("ConceptMap2".equals(codeString)) 3105 return FHIRDefinedType.CONCEPTMAP2; 3106 if ("ExampleScenario".equals(codeString)) 3107 return FHIRDefinedType.EXAMPLESCENARIO; 3108 if ("GraphDefinition".equals(codeString)) 3109 return FHIRDefinedType.GRAPHDEFINITION; 3110 if ("ImplementationGuide".equals(codeString)) 3111 return FHIRDefinedType.IMPLEMENTATIONGUIDE; 3112 if ("MessageDefinition".equals(codeString)) 3113 return FHIRDefinedType.MESSAGEDEFINITION; 3114 if ("MetadataResource".equals(codeString)) 3115 return FHIRDefinedType.METADATARESOURCE; 3116 if ("ActivityDefinition".equals(codeString)) 3117 return FHIRDefinedType.ACTIVITYDEFINITION; 3118 if ("ArtifactAssessment".equals(codeString)) 3119 return FHIRDefinedType.ARTIFACTASSESSMENT; 3120 if ("ChargeItemDefinition".equals(codeString)) 3121 return FHIRDefinedType.CHARGEITEMDEFINITION; 3122 if ("Citation".equals(codeString)) 3123 return FHIRDefinedType.CITATION; 3124 if ("ConditionDefinition".equals(codeString)) 3125 return FHIRDefinedType.CONDITIONDEFINITION; 3126 if ("EventDefinition".equals(codeString)) 3127 return FHIRDefinedType.EVENTDEFINITION; 3128 if ("Evidence".equals(codeString)) 3129 return FHIRDefinedType.EVIDENCE; 3130 if ("EvidenceReport".equals(codeString)) 3131 return FHIRDefinedType.EVIDENCEREPORT; 3132 if ("EvidenceVariable".equals(codeString)) 3133 return FHIRDefinedType.EVIDENCEVARIABLE; 3134 if ("Library".equals(codeString)) 3135 return FHIRDefinedType.LIBRARY; 3136 if ("Measure".equals(codeString)) 3137 return FHIRDefinedType.MEASURE; 3138 if ("PlanDefinition".equals(codeString)) 3139 return FHIRDefinedType.PLANDEFINITION; 3140 if ("Questionnaire".equals(codeString)) 3141 return FHIRDefinedType.QUESTIONNAIRE; 3142 if ("NamingSystem".equals(codeString)) 3143 return FHIRDefinedType.NAMINGSYSTEM; 3144 if ("OperationDefinition".equals(codeString)) 3145 return FHIRDefinedType.OPERATIONDEFINITION; 3146 if ("SearchParameter".equals(codeString)) 3147 return FHIRDefinedType.SEARCHPARAMETER; 3148 if ("StructureDefinition".equals(codeString)) 3149 return FHIRDefinedType.STRUCTUREDEFINITION; 3150 if ("StructureMap".equals(codeString)) 3151 return FHIRDefinedType.STRUCTUREMAP; 3152 if ("TerminologyCapabilities".equals(codeString)) 3153 return FHIRDefinedType.TERMINOLOGYCAPABILITIES; 3154 if ("TestScript".equals(codeString)) 3155 return FHIRDefinedType.TESTSCRIPT; 3156 if ("ValueSet".equals(codeString)) 3157 return FHIRDefinedType.VALUESET; 3158 if ("CarePlan".equals(codeString)) 3159 return FHIRDefinedType.CAREPLAN; 3160 if ("CareTeam".equals(codeString)) 3161 return FHIRDefinedType.CARETEAM; 3162 if ("ChargeItem".equals(codeString)) 3163 return FHIRDefinedType.CHARGEITEM; 3164 if ("Claim".equals(codeString)) 3165 return FHIRDefinedType.CLAIM; 3166 if ("ClaimResponse".equals(codeString)) 3167 return FHIRDefinedType.CLAIMRESPONSE; 3168 if ("ClinicalImpression".equals(codeString)) 3169 return FHIRDefinedType.CLINICALIMPRESSION; 3170 if ("ClinicalUseDefinition".equals(codeString)) 3171 return FHIRDefinedType.CLINICALUSEDEFINITION; 3172 if ("ClinicalUseIssue".equals(codeString)) 3173 return FHIRDefinedType.CLINICALUSEISSUE; 3174 if ("Communication".equals(codeString)) 3175 return FHIRDefinedType.COMMUNICATION; 3176 if ("CommunicationRequest".equals(codeString)) 3177 return FHIRDefinedType.COMMUNICATIONREQUEST; 3178 if ("Composition".equals(codeString)) 3179 return FHIRDefinedType.COMPOSITION; 3180 if ("Condition".equals(codeString)) 3181 return FHIRDefinedType.CONDITION; 3182 if ("Consent".equals(codeString)) 3183 return FHIRDefinedType.CONSENT; 3184 if ("Contract".equals(codeString)) 3185 return FHIRDefinedType.CONTRACT; 3186 if ("Coverage".equals(codeString)) 3187 return FHIRDefinedType.COVERAGE; 3188 if ("CoverageEligibilityRequest".equals(codeString)) 3189 return FHIRDefinedType.COVERAGEELIGIBILITYREQUEST; 3190 if ("CoverageEligibilityResponse".equals(codeString)) 3191 return FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE; 3192 if ("DetectedIssue".equals(codeString)) 3193 return FHIRDefinedType.DETECTEDISSUE; 3194 if ("Device".equals(codeString)) 3195 return FHIRDefinedType.DEVICE; 3196 if ("DeviceDefinition".equals(codeString)) 3197 return FHIRDefinedType.DEVICEDEFINITION; 3198 if ("DeviceDispense".equals(codeString)) 3199 return FHIRDefinedType.DEVICEDISPENSE; 3200 if ("DeviceMetric".equals(codeString)) 3201 return FHIRDefinedType.DEVICEMETRIC; 3202 if ("DeviceRequest".equals(codeString)) 3203 return FHIRDefinedType.DEVICEREQUEST; 3204 if ("DeviceUsage".equals(codeString)) 3205 return FHIRDefinedType.DEVICEUSAGE; 3206 if ("DiagnosticReport".equals(codeString)) 3207 return FHIRDefinedType.DIAGNOSTICREPORT; 3208 if ("DocumentManifest".equals(codeString)) 3209 return FHIRDefinedType.DOCUMENTMANIFEST; 3210 if ("DocumentReference".equals(codeString)) 3211 return FHIRDefinedType.DOCUMENTREFERENCE; 3212 if ("Encounter".equals(codeString)) 3213 return FHIRDefinedType.ENCOUNTER; 3214 if ("Endpoint".equals(codeString)) 3215 return FHIRDefinedType.ENDPOINT; 3216 if ("EnrollmentRequest".equals(codeString)) 3217 return FHIRDefinedType.ENROLLMENTREQUEST; 3218 if ("EnrollmentResponse".equals(codeString)) 3219 return FHIRDefinedType.ENROLLMENTRESPONSE; 3220 if ("EpisodeOfCare".equals(codeString)) 3221 return FHIRDefinedType.EPISODEOFCARE; 3222 if ("ExplanationOfBenefit".equals(codeString)) 3223 return FHIRDefinedType.EXPLANATIONOFBENEFIT; 3224 if ("FamilyMemberHistory".equals(codeString)) 3225 return FHIRDefinedType.FAMILYMEMBERHISTORY; 3226 if ("Flag".equals(codeString)) 3227 return FHIRDefinedType.FLAG; 3228 if ("Goal".equals(codeString)) 3229 return FHIRDefinedType.GOAL; 3230 if ("Group".equals(codeString)) 3231 return FHIRDefinedType.GROUP; 3232 if ("GuidanceResponse".equals(codeString)) 3233 return FHIRDefinedType.GUIDANCERESPONSE; 3234 if ("HealthcareService".equals(codeString)) 3235 return FHIRDefinedType.HEALTHCARESERVICE; 3236 if ("ImagingSelection".equals(codeString)) 3237 return FHIRDefinedType.IMAGINGSELECTION; 3238 if ("ImagingStudy".equals(codeString)) 3239 return FHIRDefinedType.IMAGINGSTUDY; 3240 if ("Immunization".equals(codeString)) 3241 return FHIRDefinedType.IMMUNIZATION; 3242 if ("ImmunizationEvaluation".equals(codeString)) 3243 return FHIRDefinedType.IMMUNIZATIONEVALUATION; 3244 if ("ImmunizationRecommendation".equals(codeString)) 3245 return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION; 3246 if ("Ingredient".equals(codeString)) 3247 return FHIRDefinedType.INGREDIENT; 3248 if ("InsurancePlan".equals(codeString)) 3249 return FHIRDefinedType.INSURANCEPLAN; 3250 if ("InventoryReport".equals(codeString)) 3251 return FHIRDefinedType.INVENTORYREPORT; 3252 if ("Invoice".equals(codeString)) 3253 return FHIRDefinedType.INVOICE; 3254 if ("Linkage".equals(codeString)) 3255 return FHIRDefinedType.LINKAGE; 3256 if ("List".equals(codeString)) 3257 return FHIRDefinedType.LIST; 3258 if ("Location".equals(codeString)) 3259 return FHIRDefinedType.LOCATION; 3260 if ("ManufacturedItemDefinition".equals(codeString)) 3261 return FHIRDefinedType.MANUFACTUREDITEMDEFINITION; 3262 if ("MeasureReport".equals(codeString)) 3263 return FHIRDefinedType.MEASUREREPORT; 3264 if ("Medication".equals(codeString)) 3265 return FHIRDefinedType.MEDICATION; 3266 if ("MedicationAdministration".equals(codeString)) 3267 return FHIRDefinedType.MEDICATIONADMINISTRATION; 3268 if ("MedicationDispense".equals(codeString)) 3269 return FHIRDefinedType.MEDICATIONDISPENSE; 3270 if ("MedicationKnowledge".equals(codeString)) 3271 return FHIRDefinedType.MEDICATIONKNOWLEDGE; 3272 if ("MedicationRequest".equals(codeString)) 3273 return FHIRDefinedType.MEDICATIONREQUEST; 3274 if ("MedicationUsage".equals(codeString)) 3275 return FHIRDefinedType.MEDICATIONUSAGE; 3276 if ("MedicinalProductDefinition".equals(codeString)) 3277 return FHIRDefinedType.MEDICINALPRODUCTDEFINITION; 3278 if ("MessageHeader".equals(codeString)) 3279 return FHIRDefinedType.MESSAGEHEADER; 3280 if ("MolecularSequence".equals(codeString)) 3281 return FHIRDefinedType.MOLECULARSEQUENCE; 3282 if ("NutritionIntake".equals(codeString)) 3283 return FHIRDefinedType.NUTRITIONINTAKE; 3284 if ("NutritionOrder".equals(codeString)) 3285 return FHIRDefinedType.NUTRITIONORDER; 3286 if ("NutritionProduct".equals(codeString)) 3287 return FHIRDefinedType.NUTRITIONPRODUCT; 3288 if ("Observation".equals(codeString)) 3289 return FHIRDefinedType.OBSERVATION; 3290 if ("ObservationDefinition".equals(codeString)) 3291 return FHIRDefinedType.OBSERVATIONDEFINITION; 3292 if ("OperationOutcome".equals(codeString)) 3293 return FHIRDefinedType.OPERATIONOUTCOME; 3294 if ("Organization".equals(codeString)) 3295 return FHIRDefinedType.ORGANIZATION; 3296 if ("OrganizationAffiliation".equals(codeString)) 3297 return FHIRDefinedType.ORGANIZATIONAFFILIATION; 3298 if ("PackagedProductDefinition".equals(codeString)) 3299 return FHIRDefinedType.PACKAGEDPRODUCTDEFINITION; 3300 if ("Patient".equals(codeString)) 3301 return FHIRDefinedType.PATIENT; 3302 if ("PaymentNotice".equals(codeString)) 3303 return FHIRDefinedType.PAYMENTNOTICE; 3304 if ("PaymentReconciliation".equals(codeString)) 3305 return FHIRDefinedType.PAYMENTRECONCILIATION; 3306 if ("Permission".equals(codeString)) 3307 return FHIRDefinedType.PERMISSION; 3308 if ("Person".equals(codeString)) 3309 return FHIRDefinedType.PERSON; 3310 if ("Practitioner".equals(codeString)) 3311 return FHIRDefinedType.PRACTITIONER; 3312 if ("PractitionerRole".equals(codeString)) 3313 return FHIRDefinedType.PRACTITIONERROLE; 3314 if ("Procedure".equals(codeString)) 3315 return FHIRDefinedType.PROCEDURE; 3316 if ("Provenance".equals(codeString)) 3317 return FHIRDefinedType.PROVENANCE; 3318 if ("QuestionnaireResponse".equals(codeString)) 3319 return FHIRDefinedType.QUESTIONNAIRERESPONSE; 3320 if ("RegulatedAuthorization".equals(codeString)) 3321 return FHIRDefinedType.REGULATEDAUTHORIZATION; 3322 if ("RelatedPerson".equals(codeString)) 3323 return FHIRDefinedType.RELATEDPERSON; 3324 if ("RequestGroup".equals(codeString)) 3325 return FHIRDefinedType.REQUESTGROUP; 3326 if ("ResearchStudy".equals(codeString)) 3327 return FHIRDefinedType.RESEARCHSTUDY; 3328 if ("ResearchSubject".equals(codeString)) 3329 return FHIRDefinedType.RESEARCHSUBJECT; 3330 if ("RiskAssessment".equals(codeString)) 3331 return FHIRDefinedType.RISKASSESSMENT; 3332 if ("Schedule".equals(codeString)) 3333 return FHIRDefinedType.SCHEDULE; 3334 if ("ServiceRequest".equals(codeString)) 3335 return FHIRDefinedType.SERVICEREQUEST; 3336 if ("Slot".equals(codeString)) 3337 return FHIRDefinedType.SLOT; 3338 if ("Specimen".equals(codeString)) 3339 return FHIRDefinedType.SPECIMEN; 3340 if ("SpecimenDefinition".equals(codeString)) 3341 return FHIRDefinedType.SPECIMENDEFINITION; 3342 if ("Subscription".equals(codeString)) 3343 return FHIRDefinedType.SUBSCRIPTION; 3344 if ("SubscriptionStatus".equals(codeString)) 3345 return FHIRDefinedType.SUBSCRIPTIONSTATUS; 3346 if ("SubscriptionTopic".equals(codeString)) 3347 return FHIRDefinedType.SUBSCRIPTIONTOPIC; 3348 if ("Substance".equals(codeString)) 3349 return FHIRDefinedType.SUBSTANCE; 3350 if ("SubstanceDefinition".equals(codeString)) 3351 return FHIRDefinedType.SUBSTANCEDEFINITION; 3352 if ("SubstanceNucleicAcid".equals(codeString)) 3353 return FHIRDefinedType.SUBSTANCENUCLEICACID; 3354 if ("SubstancePolymer".equals(codeString)) 3355 return FHIRDefinedType.SUBSTANCEPOLYMER; 3356 if ("SubstanceProtein".equals(codeString)) 3357 return FHIRDefinedType.SUBSTANCEPROTEIN; 3358 if ("SubstanceReferenceInformation".equals(codeString)) 3359 return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION; 3360 if ("SubstanceSourceMaterial".equals(codeString)) 3361 return FHIRDefinedType.SUBSTANCESOURCEMATERIAL; 3362 if ("SupplyDelivery".equals(codeString)) 3363 return FHIRDefinedType.SUPPLYDELIVERY; 3364 if ("SupplyRequest".equals(codeString)) 3365 return FHIRDefinedType.SUPPLYREQUEST; 3366 if ("Task".equals(codeString)) 3367 return FHIRDefinedType.TASK; 3368 if ("TestReport".equals(codeString)) 3369 return FHIRDefinedType.TESTREPORT; 3370 if ("VerificationResult".equals(codeString)) 3371 return FHIRDefinedType.VERIFICATIONRESULT; 3372 if ("VisionPrescription".equals(codeString)) 3373 return FHIRDefinedType.VISIONPRESCRIPTION; 3374 if ("Parameters".equals(codeString)) 3375 return FHIRDefinedType.PARAMETERS; 3376 throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'"); 3377 } 3378 public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException { 3379 if (code == null) 3380 return null; 3381 if (code.isEmpty()) 3382 return new Enumeration<FHIRDefinedType>(this); 3383 String codeString = ((PrimitiveType) code).asStringValue(); 3384 if (codeString == null || "".equals(codeString)) 3385 return null; 3386 if ("Address".equals(codeString)) 3387 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS); 3388 if ("Age".equals(codeString)) 3389 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE); 3390 if ("Annotation".equals(codeString)) 3391 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION); 3392 if ("Attachment".equals(codeString)) 3393 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT); 3394 if ("BackboneElement".equals(codeString)) 3395 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT); 3396 if ("BackboneType".equals(codeString)) 3397 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONETYPE); 3398 if ("Base".equals(codeString)) 3399 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE); 3400 if ("CodeableConcept".equals(codeString)) 3401 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT); 3402 if ("CodeableReference".equals(codeString)) 3403 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLEREFERENCE); 3404 if ("Coding".equals(codeString)) 3405 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING); 3406 if ("ContactDetail".equals(codeString)) 3407 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTDETAIL); 3408 if ("ContactPoint".equals(codeString)) 3409 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT); 3410 if ("Contributor".equals(codeString)) 3411 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRIBUTOR); 3412 if ("Count".equals(codeString)) 3413 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT); 3414 if ("DataRequirement".equals(codeString)) 3415 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAREQUIREMENT); 3416 if ("DataType".equals(codeString)) 3417 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATATYPE); 3418 if ("Distance".equals(codeString)) 3419 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE); 3420 if ("Dosage".equals(codeString)) 3421 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOSAGE); 3422 if ("Duration".equals(codeString)) 3423 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION); 3424 if ("Element".equals(codeString)) 3425 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT); 3426 if ("ElementDefinition".equals(codeString)) 3427 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION); 3428 if ("Expression".equals(codeString)) 3429 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPRESSION); 3430 if ("Extension".equals(codeString)) 3431 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION); 3432 if ("HumanName".equals(codeString)) 3433 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME); 3434 if ("Identifier".equals(codeString)) 3435 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER); 3436 if ("MarketingStatus".equals(codeString)) 3437 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKETINGSTATUS); 3438 if ("Meta".equals(codeString)) 3439 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META); 3440 if ("Money".equals(codeString)) 3441 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY); 3442 if ("MoneyQuantity".equals(codeString)) 3443 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEYQUANTITY); 3444 if ("Narrative".equals(codeString)) 3445 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE); 3446 if ("ParameterDefinition".equals(codeString)) 3447 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERDEFINITION); 3448 if ("Period".equals(codeString)) 3449 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD); 3450 if ("Population".equals(codeString)) 3451 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POPULATION); 3452 if ("PrimitiveType".equals(codeString)) 3453 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRIMITIVETYPE); 3454 if ("ProdCharacteristic".equals(codeString)) 3455 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODCHARACTERISTIC); 3456 if ("ProductShelfLife".equals(codeString)) 3457 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTSHELFLIFE); 3458 if ("Quantity".equals(codeString)) 3459 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY); 3460 if ("Range".equals(codeString)) 3461 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE); 3462 if ("Ratio".equals(codeString)) 3463 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO); 3464 if ("RatioRange".equals(codeString)) 3465 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIORANGE); 3466 if ("Reference".equals(codeString)) 3467 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE); 3468 if ("RelatedArtifact".equals(codeString)) 3469 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDARTIFACT); 3470 if ("SampledData".equals(codeString)) 3471 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA); 3472 if ("Signature".equals(codeString)) 3473 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE); 3474 if ("SimpleQuantity".equals(codeString)) 3475 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY); 3476 if ("Timing".equals(codeString)) 3477 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING); 3478 if ("TriggerDefinition".equals(codeString)) 3479 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TRIGGERDEFINITION); 3480 if ("UsageContext".equals(codeString)) 3481 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USAGECONTEXT); 3482 if ("base64Binary".equals(codeString)) 3483 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY); 3484 if ("boolean".equals(codeString)) 3485 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN); 3486 if ("canonical".equals(codeString)) 3487 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICAL); 3488 if ("code".equals(codeString)) 3489 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE); 3490 if ("date".equals(codeString)) 3491 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE); 3492 if ("dateTime".equals(codeString)) 3493 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME); 3494 if ("decimal".equals(codeString)) 3495 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL); 3496 if ("id".equals(codeString)) 3497 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID); 3498 if ("instant".equals(codeString)) 3499 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT); 3500 if ("integer".equals(codeString)) 3501 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER); 3502 if ("integer64".equals(codeString)) 3503 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER64); 3504 if ("markdown".equals(codeString)) 3505 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN); 3506 if ("oid".equals(codeString)) 3507 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID); 3508 if ("positiveInt".equals(codeString)) 3509 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT); 3510 if ("string".equals(codeString)) 3511 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING); 3512 if ("time".equals(codeString)) 3513 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME); 3514 if ("unsignedInt".equals(codeString)) 3515 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT); 3516 if ("uri".equals(codeString)) 3517 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI); 3518 if ("url".equals(codeString)) 3519 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URL); 3520 if ("uuid".equals(codeString)) 3521 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID); 3522 if ("xhtml".equals(codeString)) 3523 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML); 3524 if ("Resource".equals(codeString)) 3525 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE); 3526 if ("Binary".equals(codeString)) 3527 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY); 3528 if ("Bundle".equals(codeString)) 3529 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE); 3530 if ("DomainResource".equals(codeString)) 3531 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE); 3532 if ("Account".equals(codeString)) 3533 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT); 3534 if ("AdministrableProductDefinition".equals(codeString)) 3535 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADMINISTRABLEPRODUCTDEFINITION); 3536 if ("AdverseEvent".equals(codeString)) 3537 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADVERSEEVENT); 3538 if ("AllergyIntolerance".equals(codeString)) 3539 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE); 3540 if ("Appointment".equals(codeString)) 3541 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT); 3542 if ("AppointmentResponse".equals(codeString)) 3543 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE); 3544 if ("AuditEvent".equals(codeString)) 3545 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT); 3546 if ("Basic".equals(codeString)) 3547 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC); 3548 if ("BiologicallyDerivedProduct".equals(codeString)) 3549 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT); 3550 if ("BodyStructure".equals(codeString)) 3551 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSTRUCTURE); 3552 if ("CanonicalResource".equals(codeString)) 3553 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICALRESOURCE); 3554 if ("CapabilityStatement".equals(codeString)) 3555 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT); 3556 if ("CapabilityStatement2".equals(codeString)) 3557 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT2); 3558 if ("CodeSystem".equals(codeString)) 3559 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODESYSTEM); 3560 if ("CompartmentDefinition".equals(codeString)) 3561 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPARTMENTDEFINITION); 3562 if ("ConceptMap".equals(codeString)) 3563 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP); 3564 if ("ConceptMap2".equals(codeString)) 3565 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP2); 3566 if ("ExampleScenario".equals(codeString)) 3567 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXAMPLESCENARIO); 3568 if ("GraphDefinition".equals(codeString)) 3569 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GRAPHDEFINITION); 3570 if ("ImplementationGuide".equals(codeString)) 3571 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE); 3572 if ("MessageDefinition".equals(codeString)) 3573 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEDEFINITION); 3574 if ("MetadataResource".equals(codeString)) 3575 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.METADATARESOURCE); 3576 if ("ActivityDefinition".equals(codeString)) 3577 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACTIVITYDEFINITION); 3578 if ("ArtifactAssessment".equals(codeString)) 3579 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ARTIFACTASSESSMENT); 3580 if ("ChargeItemDefinition".equals(codeString)) 3581 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEMDEFINITION); 3582 if ("Citation".equals(codeString)) 3583 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CITATION); 3584 if ("ConditionDefinition".equals(codeString)) 3585 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITIONDEFINITION); 3586 if ("EventDefinition".equals(codeString)) 3587 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVENTDEFINITION); 3588 if ("Evidence".equals(codeString)) 3589 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCE); 3590 if ("EvidenceReport".equals(codeString)) 3591 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCEREPORT); 3592 if ("EvidenceVariable".equals(codeString)) 3593 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCEVARIABLE); 3594 if ("Library".equals(codeString)) 3595 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIBRARY); 3596 if ("Measure".equals(codeString)) 3597 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASURE); 3598 if ("PlanDefinition".equals(codeString)) 3599 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PLANDEFINITION); 3600 if ("Questionnaire".equals(codeString)) 3601 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE); 3602 if ("NamingSystem".equals(codeString)) 3603 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM); 3604 if ("OperationDefinition".equals(codeString)) 3605 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION); 3606 if ("SearchParameter".equals(codeString)) 3607 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER); 3608 if ("StructureDefinition".equals(codeString)) 3609 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION); 3610 if ("StructureMap".equals(codeString)) 3611 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREMAP); 3612 if ("TerminologyCapabilities".equals(codeString)) 3613 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES); 3614 if ("TestScript".equals(codeString)) 3615 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT); 3616 if ("ValueSet".equals(codeString)) 3617 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET); 3618 if ("CarePlan".equals(codeString)) 3619 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN); 3620 if ("CareTeam".equals(codeString)) 3621 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CARETEAM); 3622 if ("ChargeItem".equals(codeString)) 3623 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEM); 3624 if ("Claim".equals(codeString)) 3625 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM); 3626 if ("ClaimResponse".equals(codeString)) 3627 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE); 3628 if ("ClinicalImpression".equals(codeString)) 3629 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION); 3630 if ("ClinicalUseDefinition".equals(codeString)) 3631 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALUSEDEFINITION); 3632 if ("ClinicalUseIssue".equals(codeString)) 3633 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALUSEISSUE); 3634 if ("Communication".equals(codeString)) 3635 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION); 3636 if ("CommunicationRequest".equals(codeString)) 3637 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST); 3638 if ("Composition".equals(codeString)) 3639 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION); 3640 if ("Condition".equals(codeString)) 3641 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION); 3642 if ("Consent".equals(codeString)) 3643 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONSENT); 3644 if ("Contract".equals(codeString)) 3645 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT); 3646 if ("Coverage".equals(codeString)) 3647 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE); 3648 if ("CoverageEligibilityRequest".equals(codeString)) 3649 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYREQUEST); 3650 if ("CoverageEligibilityResponse".equals(codeString)) 3651 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE); 3652 if ("DetectedIssue".equals(codeString)) 3653 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE); 3654 if ("Device".equals(codeString)) 3655 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE); 3656 if ("DeviceDefinition".equals(codeString)) 3657 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEDEFINITION); 3658 if ("DeviceDispense".equals(codeString)) 3659 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEDISPENSE); 3660 if ("DeviceMetric".equals(codeString)) 3661 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC); 3662 if ("DeviceRequest".equals(codeString)) 3663 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEREQUEST); 3664 if ("DeviceUsage".equals(codeString)) 3665 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSAGE); 3666 if ("DiagnosticReport".equals(codeString)) 3667 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT); 3668 if ("DocumentManifest".equals(codeString)) 3669 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST); 3670 if ("DocumentReference".equals(codeString)) 3671 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE); 3672 if ("Encounter".equals(codeString)) 3673 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER); 3674 if ("Endpoint".equals(codeString)) 3675 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENDPOINT); 3676 if ("EnrollmentRequest".equals(codeString)) 3677 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST); 3678 if ("EnrollmentResponse".equals(codeString)) 3679 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE); 3680 if ("EpisodeOfCare".equals(codeString)) 3681 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE); 3682 if ("ExplanationOfBenefit".equals(codeString)) 3683 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT); 3684 if ("FamilyMemberHistory".equals(codeString)) 3685 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY); 3686 if ("Flag".equals(codeString)) 3687 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG); 3688 if ("Goal".equals(codeString)) 3689 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL); 3690 if ("Group".equals(codeString)) 3691 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP); 3692 if ("GuidanceResponse".equals(codeString)) 3693 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GUIDANCERESPONSE); 3694 if ("HealthcareService".equals(codeString)) 3695 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE); 3696 if ("ImagingSelection".equals(codeString)) 3697 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSELECTION); 3698 if ("ImagingStudy".equals(codeString)) 3699 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY); 3700 if ("Immunization".equals(codeString)) 3701 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION); 3702 if ("ImmunizationEvaluation".equals(codeString)) 3703 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONEVALUATION); 3704 if ("ImmunizationRecommendation".equals(codeString)) 3705 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION); 3706 if ("Ingredient".equals(codeString)) 3707 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INGREDIENT); 3708 if ("InsurancePlan".equals(codeString)) 3709 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSURANCEPLAN); 3710 if ("InventoryReport".equals(codeString)) 3711 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVENTORYREPORT); 3712 if ("Invoice".equals(codeString)) 3713 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVOICE); 3714 if ("Linkage".equals(codeString)) 3715 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LINKAGE); 3716 if ("List".equals(codeString)) 3717 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST); 3718 if ("Location".equals(codeString)) 3719 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION); 3720 if ("ManufacturedItemDefinition".equals(codeString)) 3721 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MANUFACTUREDITEMDEFINITION); 3722 if ("MeasureReport".equals(codeString)) 3723 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASUREREPORT); 3724 if ("Medication".equals(codeString)) 3725 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION); 3726 if ("MedicationAdministration".equals(codeString)) 3727 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION); 3728 if ("MedicationDispense".equals(codeString)) 3729 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE); 3730 if ("MedicationKnowledge".equals(codeString)) 3731 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONKNOWLEDGE); 3732 if ("MedicationRequest".equals(codeString)) 3733 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONREQUEST); 3734 if ("MedicationUsage".equals(codeString)) 3735 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONUSAGE); 3736 if ("MedicinalProductDefinition".equals(codeString)) 3737 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTDEFINITION); 3738 if ("MessageHeader".equals(codeString)) 3739 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER); 3740 if ("MolecularSequence".equals(codeString)) 3741 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MOLECULARSEQUENCE); 3742 if ("NutritionIntake".equals(codeString)) 3743 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONINTAKE); 3744 if ("NutritionOrder".equals(codeString)) 3745 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER); 3746 if ("NutritionProduct".equals(codeString)) 3747 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONPRODUCT); 3748 if ("Observation".equals(codeString)) 3749 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION); 3750 if ("ObservationDefinition".equals(codeString)) 3751 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATIONDEFINITION); 3752 if ("OperationOutcome".equals(codeString)) 3753 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME); 3754 if ("Organization".equals(codeString)) 3755 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION); 3756 if ("OrganizationAffiliation".equals(codeString)) 3757 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATIONAFFILIATION); 3758 if ("PackagedProductDefinition".equals(codeString)) 3759 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PACKAGEDPRODUCTDEFINITION); 3760 if ("Patient".equals(codeString)) 3761 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT); 3762 if ("PaymentNotice".equals(codeString)) 3763 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE); 3764 if ("PaymentReconciliation".equals(codeString)) 3765 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION); 3766 if ("Permission".equals(codeString)) 3767 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERMISSION); 3768 if ("Person".equals(codeString)) 3769 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON); 3770 if ("Practitioner".equals(codeString)) 3771 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER); 3772 if ("PractitionerRole".equals(codeString)) 3773 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONERROLE); 3774 if ("Procedure".equals(codeString)) 3775 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE); 3776 if ("Provenance".equals(codeString)) 3777 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE); 3778 if ("QuestionnaireResponse".equals(codeString)) 3779 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE); 3780 if ("RegulatedAuthorization".equals(codeString)) 3781 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REGULATEDAUTHORIZATION); 3782 if ("RelatedPerson".equals(codeString)) 3783 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON); 3784 if ("RequestGroup".equals(codeString)) 3785 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REQUESTGROUP); 3786 if ("ResearchStudy".equals(codeString)) 3787 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSTUDY); 3788 if ("ResearchSubject".equals(codeString)) 3789 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSUBJECT); 3790 if ("RiskAssessment".equals(codeString)) 3791 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT); 3792 if ("Schedule".equals(codeString)) 3793 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE); 3794 if ("ServiceRequest".equals(codeString)) 3795 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SERVICEREQUEST); 3796 if ("Slot".equals(codeString)) 3797 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT); 3798 if ("Specimen".equals(codeString)) 3799 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN); 3800 if ("SpecimenDefinition".equals(codeString)) 3801 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMENDEFINITION); 3802 if ("Subscription".equals(codeString)) 3803 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION); 3804 if ("SubscriptionStatus".equals(codeString)) 3805 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTIONSTATUS); 3806 if ("SubscriptionTopic".equals(codeString)) 3807 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTIONTOPIC); 3808 if ("Substance".equals(codeString)) 3809 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE); 3810 if ("SubstanceDefinition".equals(codeString)) 3811 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEDEFINITION); 3812 if ("SubstanceNucleicAcid".equals(codeString)) 3813 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCENUCLEICACID); 3814 if ("SubstancePolymer".equals(codeString)) 3815 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPOLYMER); 3816 if ("SubstanceProtein".equals(codeString)) 3817 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPROTEIN); 3818 if ("SubstanceReferenceInformation".equals(codeString)) 3819 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION); 3820 if ("SubstanceSourceMaterial".equals(codeString)) 3821 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESOURCEMATERIAL); 3822 if ("SupplyDelivery".equals(codeString)) 3823 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY); 3824 if ("SupplyRequest".equals(codeString)) 3825 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST); 3826 if ("Task".equals(codeString)) 3827 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TASK); 3828 if ("TestReport".equals(codeString)) 3829 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTREPORT); 3830 if ("VerificationResult".equals(codeString)) 3831 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VERIFICATIONRESULT); 3832 if ("VisionPrescription".equals(codeString)) 3833 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION); 3834 if ("Parameters".equals(codeString)) 3835 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS); 3836 throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'"); 3837 } 3838 public String toCode(FHIRDefinedType code) { 3839 if (code == FHIRDefinedType.ADDRESS) 3840 return "Address"; 3841 if (code == FHIRDefinedType.AGE) 3842 return "Age"; 3843 if (code == FHIRDefinedType.ANNOTATION) 3844 return "Annotation"; 3845 if (code == FHIRDefinedType.ATTACHMENT) 3846 return "Attachment"; 3847 if (code == FHIRDefinedType.BACKBONEELEMENT) 3848 return "BackboneElement"; 3849 if (code == FHIRDefinedType.BACKBONETYPE) 3850 return "BackboneType"; 3851 if (code == FHIRDefinedType.BASE) 3852 return "Base"; 3853 if (code == FHIRDefinedType.CODEABLECONCEPT) 3854 return "CodeableConcept"; 3855 if (code == FHIRDefinedType.CODEABLEREFERENCE) 3856 return "CodeableReference"; 3857 if (code == FHIRDefinedType.CODING) 3858 return "Coding"; 3859 if (code == FHIRDefinedType.CONTACTDETAIL) 3860 return "ContactDetail"; 3861 if (code == FHIRDefinedType.CONTACTPOINT) 3862 return "ContactPoint"; 3863 if (code == FHIRDefinedType.CONTRIBUTOR) 3864 return "Contributor"; 3865 if (code == FHIRDefinedType.COUNT) 3866 return "Count"; 3867 if (code == FHIRDefinedType.DATAREQUIREMENT) 3868 return "DataRequirement"; 3869 if (code == FHIRDefinedType.DATATYPE) 3870 return "DataType"; 3871 if (code == FHIRDefinedType.DISTANCE) 3872 return "Distance"; 3873 if (code == FHIRDefinedType.DOSAGE) 3874 return "Dosage"; 3875 if (code == FHIRDefinedType.DURATION) 3876 return "Duration"; 3877 if (code == FHIRDefinedType.ELEMENT) 3878 return "Element"; 3879 if (code == FHIRDefinedType.ELEMENTDEFINITION) 3880 return "ElementDefinition"; 3881 if (code == FHIRDefinedType.EXPRESSION) 3882 return "Expression"; 3883 if (code == FHIRDefinedType.EXTENSION) 3884 return "Extension"; 3885 if (code == FHIRDefinedType.HUMANNAME) 3886 return "HumanName"; 3887 if (code == FHIRDefinedType.IDENTIFIER) 3888 return "Identifier"; 3889 if (code == FHIRDefinedType.MARKETINGSTATUS) 3890 return "MarketingStatus"; 3891 if (code == FHIRDefinedType.META) 3892 return "Meta"; 3893 if (code == FHIRDefinedType.MONEY) 3894 return "Money"; 3895 if (code == FHIRDefinedType.MONEYQUANTITY) 3896 return "MoneyQuantity"; 3897 if (code == FHIRDefinedType.NARRATIVE) 3898 return "Narrative"; 3899 if (code == FHIRDefinedType.PARAMETERDEFINITION) 3900 return "ParameterDefinition"; 3901 if (code == FHIRDefinedType.PERIOD) 3902 return "Period"; 3903 if (code == FHIRDefinedType.POPULATION) 3904 return "Population"; 3905 if (code == FHIRDefinedType.PRIMITIVETYPE) 3906 return "PrimitiveType"; 3907 if (code == FHIRDefinedType.PRODCHARACTERISTIC) 3908 return "ProdCharacteristic"; 3909 if (code == FHIRDefinedType.PRODUCTSHELFLIFE) 3910 return "ProductShelfLife"; 3911 if (code == FHIRDefinedType.QUANTITY) 3912 return "Quantity"; 3913 if (code == FHIRDefinedType.RANGE) 3914 return "Range"; 3915 if (code == FHIRDefinedType.RATIO) 3916 return "Ratio"; 3917 if (code == FHIRDefinedType.RATIORANGE) 3918 return "RatioRange"; 3919 if (code == FHIRDefinedType.REFERENCE) 3920 return "Reference"; 3921 if (code == FHIRDefinedType.RELATEDARTIFACT) 3922 return "RelatedArtifact"; 3923 if (code == FHIRDefinedType.SAMPLEDDATA) 3924 return "SampledData"; 3925 if (code == FHIRDefinedType.SIGNATURE) 3926 return "Signature"; 3927 if (code == FHIRDefinedType.SIMPLEQUANTITY) 3928 return "SimpleQuantity"; 3929 if (code == FHIRDefinedType.TIMING) 3930 return "Timing"; 3931 if (code == FHIRDefinedType.TRIGGERDEFINITION) 3932 return "TriggerDefinition"; 3933 if (code == FHIRDefinedType.USAGECONTEXT) 3934 return "UsageContext"; 3935 if (code == FHIRDefinedType.BASE64BINARY) 3936 return "base64Binary"; 3937 if (code == FHIRDefinedType.BOOLEAN) 3938 return "boolean"; 3939 if (code == FHIRDefinedType.CANONICAL) 3940 return "canonical"; 3941 if (code == FHIRDefinedType.CODE) 3942 return "code"; 3943 if (code == FHIRDefinedType.DATE) 3944 return "date"; 3945 if (code == FHIRDefinedType.DATETIME) 3946 return "dateTime"; 3947 if (code == FHIRDefinedType.DECIMAL) 3948 return "decimal"; 3949 if (code == FHIRDefinedType.ID) 3950 return "id"; 3951 if (code == FHIRDefinedType.INSTANT) 3952 return "instant"; 3953 if (code == FHIRDefinedType.INTEGER) 3954 return "integer"; 3955 if (code == FHIRDefinedType.INTEGER64) 3956 return "integer64"; 3957 if (code == FHIRDefinedType.MARKDOWN) 3958 return "markdown"; 3959 if (code == FHIRDefinedType.OID) 3960 return "oid"; 3961 if (code == FHIRDefinedType.POSITIVEINT) 3962 return "positiveInt"; 3963 if (code == FHIRDefinedType.STRING) 3964 return "string"; 3965 if (code == FHIRDefinedType.TIME) 3966 return "time"; 3967 if (code == FHIRDefinedType.UNSIGNEDINT) 3968 return "unsignedInt"; 3969 if (code == FHIRDefinedType.URI) 3970 return "uri"; 3971 if (code == FHIRDefinedType.URL) 3972 return "url"; 3973 if (code == FHIRDefinedType.UUID) 3974 return "uuid"; 3975 if (code == FHIRDefinedType.XHTML) 3976 return "xhtml"; 3977 if (code == FHIRDefinedType.RESOURCE) 3978 return "Resource"; 3979 if (code == FHIRDefinedType.BINARY) 3980 return "Binary"; 3981 if (code == FHIRDefinedType.BUNDLE) 3982 return "Bundle"; 3983 if (code == FHIRDefinedType.DOMAINRESOURCE) 3984 return "DomainResource"; 3985 if (code == FHIRDefinedType.ACCOUNT) 3986 return "Account"; 3987 if (code == FHIRDefinedType.ADMINISTRABLEPRODUCTDEFINITION) 3988 return "AdministrableProductDefinition"; 3989 if (code == FHIRDefinedType.ADVERSEEVENT) 3990 return "AdverseEvent"; 3991 if (code == FHIRDefinedType.ALLERGYINTOLERANCE) 3992 return "AllergyIntolerance"; 3993 if (code == FHIRDefinedType.APPOINTMENT) 3994 return "Appointment"; 3995 if (code == FHIRDefinedType.APPOINTMENTRESPONSE) 3996 return "AppointmentResponse"; 3997 if (code == FHIRDefinedType.AUDITEVENT) 3998 return "AuditEvent"; 3999 if (code == FHIRDefinedType.BASIC) 4000 return "Basic"; 4001 if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT) 4002 return "BiologicallyDerivedProduct"; 4003 if (code == FHIRDefinedType.BODYSTRUCTURE) 4004 return "BodyStructure"; 4005 if (code == FHIRDefinedType.CANONICALRESOURCE) 4006 return "CanonicalResource"; 4007 if (code == FHIRDefinedType.CAPABILITYSTATEMENT) 4008 return "CapabilityStatement"; 4009 if (code == FHIRDefinedType.CAPABILITYSTATEMENT2) 4010 return "CapabilityStatement2"; 4011 if (code == FHIRDefinedType.CODESYSTEM) 4012 return "CodeSystem"; 4013 if (code == FHIRDefinedType.COMPARTMENTDEFINITION) 4014 return "CompartmentDefinition"; 4015 if (code == FHIRDefinedType.CONCEPTMAP) 4016 return "ConceptMap"; 4017 if (code == FHIRDefinedType.CONCEPTMAP2) 4018 return "ConceptMap2"; 4019 if (code == FHIRDefinedType.EXAMPLESCENARIO) 4020 return "ExampleScenario"; 4021 if (code == FHIRDefinedType.GRAPHDEFINITION) 4022 return "GraphDefinition"; 4023 if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE) 4024 return "ImplementationGuide"; 4025 if (code == FHIRDefinedType.MESSAGEDEFINITION) 4026 return "MessageDefinition"; 4027 if (code == FHIRDefinedType.METADATARESOURCE) 4028 return "MetadataResource"; 4029 if (code == FHIRDefinedType.ACTIVITYDEFINITION) 4030 return "ActivityDefinition"; 4031 if (code == FHIRDefinedType.ARTIFACTASSESSMENT) 4032 return "ArtifactAssessment"; 4033 if (code == FHIRDefinedType.CHARGEITEMDEFINITION) 4034 return "ChargeItemDefinition"; 4035 if (code == FHIRDefinedType.CITATION) 4036 return "Citation"; 4037 if (code == FHIRDefinedType.CONDITIONDEFINITION) 4038 return "ConditionDefinition"; 4039 if (code == FHIRDefinedType.EVENTDEFINITION) 4040 return "EventDefinition"; 4041 if (code == FHIRDefinedType.EVIDENCE) 4042 return "Evidence"; 4043 if (code == FHIRDefinedType.EVIDENCEREPORT) 4044 return "EvidenceReport"; 4045 if (code == FHIRDefinedType.EVIDENCEVARIABLE) 4046 return "EvidenceVariable"; 4047 if (code == FHIRDefinedType.LIBRARY) 4048 return "Library"; 4049 if (code == FHIRDefinedType.MEASURE) 4050 return "Measure"; 4051 if (code == FHIRDefinedType.PLANDEFINITION) 4052 return "PlanDefinition"; 4053 if (code == FHIRDefinedType.QUESTIONNAIRE) 4054 return "Questionnaire"; 4055 if (code == FHIRDefinedType.NAMINGSYSTEM) 4056 return "NamingSystem"; 4057 if (code == FHIRDefinedType.OPERATIONDEFINITION) 4058 return "OperationDefinition"; 4059 if (code == FHIRDefinedType.SEARCHPARAMETER) 4060 return "SearchParameter"; 4061 if (code == FHIRDefinedType.STRUCTUREDEFINITION) 4062 return "StructureDefinition"; 4063 if (code == FHIRDefinedType.STRUCTUREMAP) 4064 return "StructureMap"; 4065 if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES) 4066 return "TerminologyCapabilities"; 4067 if (code == FHIRDefinedType.TESTSCRIPT) 4068 return "TestScript"; 4069 if (code == FHIRDefinedType.VALUESET) 4070 return "ValueSet"; 4071 if (code == FHIRDefinedType.CAREPLAN) 4072 return "CarePlan"; 4073 if (code == FHIRDefinedType.CARETEAM) 4074 return "CareTeam"; 4075 if (code == FHIRDefinedType.CHARGEITEM) 4076 return "ChargeItem"; 4077 if (code == FHIRDefinedType.CLAIM) 4078 return "Claim"; 4079 if (code == FHIRDefinedType.CLAIMRESPONSE) 4080 return "ClaimResponse"; 4081 if (code == FHIRDefinedType.CLINICALIMPRESSION) 4082 return "ClinicalImpression"; 4083 if (code == FHIRDefinedType.CLINICALUSEDEFINITION) 4084 return "ClinicalUseDefinition"; 4085 if (code == FHIRDefinedType.CLINICALUSEISSUE) 4086 return "ClinicalUseIssue"; 4087 if (code == FHIRDefinedType.COMMUNICATION) 4088 return "Communication"; 4089 if (code == FHIRDefinedType.COMMUNICATIONREQUEST) 4090 return "CommunicationRequest"; 4091 if (code == FHIRDefinedType.COMPOSITION) 4092 return "Composition"; 4093 if (code == FHIRDefinedType.CONDITION) 4094 return "Condition"; 4095 if (code == FHIRDefinedType.CONSENT) 4096 return "Consent"; 4097 if (code == FHIRDefinedType.CONTRACT) 4098 return "Contract"; 4099 if (code == FHIRDefinedType.COVERAGE) 4100 return "Coverage"; 4101 if (code == FHIRDefinedType.COVERAGEELIGIBILITYREQUEST) 4102 return "CoverageEligibilityRequest"; 4103 if (code == FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE) 4104 return "CoverageEligibilityResponse"; 4105 if (code == FHIRDefinedType.DETECTEDISSUE) 4106 return "DetectedIssue"; 4107 if (code == FHIRDefinedType.DEVICE) 4108 return "Device"; 4109 if (code == FHIRDefinedType.DEVICEDEFINITION) 4110 return "DeviceDefinition"; 4111 if (code == FHIRDefinedType.DEVICEDISPENSE) 4112 return "DeviceDispense"; 4113 if (code == FHIRDefinedType.DEVICEMETRIC) 4114 return "DeviceMetric"; 4115 if (code == FHIRDefinedType.DEVICEREQUEST) 4116 return "DeviceRequest"; 4117 if (code == FHIRDefinedType.DEVICEUSAGE) 4118 return "DeviceUsage"; 4119 if (code == FHIRDefinedType.DIAGNOSTICREPORT) 4120 return "DiagnosticReport"; 4121 if (code == FHIRDefinedType.DOCUMENTMANIFEST) 4122 return "DocumentManifest"; 4123 if (code == FHIRDefinedType.DOCUMENTREFERENCE) 4124 return "DocumentReference"; 4125 if (code == FHIRDefinedType.ENCOUNTER) 4126 return "Encounter"; 4127 if (code == FHIRDefinedType.ENDPOINT) 4128 return "Endpoint"; 4129 if (code == FHIRDefinedType.ENROLLMENTREQUEST) 4130 return "EnrollmentRequest"; 4131 if (code == FHIRDefinedType.ENROLLMENTRESPONSE) 4132 return "EnrollmentResponse"; 4133 if (code == FHIRDefinedType.EPISODEOFCARE) 4134 return "EpisodeOfCare"; 4135 if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT) 4136 return "ExplanationOfBenefit"; 4137 if (code == FHIRDefinedType.FAMILYMEMBERHISTORY) 4138 return "FamilyMemberHistory"; 4139 if (code == FHIRDefinedType.FLAG) 4140 return "Flag"; 4141 if (code == FHIRDefinedType.GOAL) 4142 return "Goal"; 4143 if (code == FHIRDefinedType.GROUP) 4144 return "Group"; 4145 if (code == FHIRDefinedType.GUIDANCERESPONSE) 4146 return "GuidanceResponse"; 4147 if (code == FHIRDefinedType.HEALTHCARESERVICE) 4148 return "HealthcareService"; 4149 if (code == FHIRDefinedType.IMAGINGSELECTION) 4150 return "ImagingSelection"; 4151 if (code == FHIRDefinedType.IMAGINGSTUDY) 4152 return "ImagingStudy"; 4153 if (code == FHIRDefinedType.IMMUNIZATION) 4154 return "Immunization"; 4155 if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION) 4156 return "ImmunizationEvaluation"; 4157 if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION) 4158 return "ImmunizationRecommendation"; 4159 if (code == FHIRDefinedType.INGREDIENT) 4160 return "Ingredient"; 4161 if (code == FHIRDefinedType.INSURANCEPLAN) 4162 return "InsurancePlan"; 4163 if (code == FHIRDefinedType.INVENTORYREPORT) 4164 return "InventoryReport"; 4165 if (code == FHIRDefinedType.INVOICE) 4166 return "Invoice"; 4167 if (code == FHIRDefinedType.LINKAGE) 4168 return "Linkage"; 4169 if (code == FHIRDefinedType.LIST) 4170 return "List"; 4171 if (code == FHIRDefinedType.LOCATION) 4172 return "Location"; 4173 if (code == FHIRDefinedType.MANUFACTUREDITEMDEFINITION) 4174 return "ManufacturedItemDefinition"; 4175 if (code == FHIRDefinedType.MEASUREREPORT) 4176 return "MeasureReport"; 4177 if (code == FHIRDefinedType.MEDICATION) 4178 return "Medication"; 4179 if (code == FHIRDefinedType.MEDICATIONADMINISTRATION) 4180 return "MedicationAdministration"; 4181 if (code == FHIRDefinedType.MEDICATIONDISPENSE) 4182 return "MedicationDispense"; 4183 if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE) 4184 return "MedicationKnowledge"; 4185 if (code == FHIRDefinedType.MEDICATIONREQUEST) 4186 return "MedicationRequest"; 4187 if (code == FHIRDefinedType.MEDICATIONUSAGE) 4188 return "MedicationUsage"; 4189 if (code == FHIRDefinedType.MEDICINALPRODUCTDEFINITION) 4190 return "MedicinalProductDefinition"; 4191 if (code == FHIRDefinedType.MESSAGEHEADER) 4192 return "MessageHeader"; 4193 if (code == FHIRDefinedType.MOLECULARSEQUENCE) 4194 return "MolecularSequence"; 4195 if (code == FHIRDefinedType.NUTRITIONINTAKE) 4196 return "NutritionIntake"; 4197 if (code == FHIRDefinedType.NUTRITIONORDER) 4198 return "NutritionOrder"; 4199 if (code == FHIRDefinedType.NUTRITIONPRODUCT) 4200 return "NutritionProduct"; 4201 if (code == FHIRDefinedType.OBSERVATION) 4202 return "Observation"; 4203 if (code == FHIRDefinedType.OBSERVATIONDEFINITION) 4204 return "ObservationDefinition"; 4205 if (code == FHIRDefinedType.OPERATIONOUTCOME) 4206 return "OperationOutcome"; 4207 if (code == FHIRDefinedType.ORGANIZATION) 4208 return "Organization"; 4209 if (code == FHIRDefinedType.ORGANIZATIONAFFILIATION) 4210 return "OrganizationAffiliation"; 4211 if (code == FHIRDefinedType.PACKAGEDPRODUCTDEFINITION) 4212 return "PackagedProductDefinition"; 4213 if (code == FHIRDefinedType.PATIENT) 4214 return "Patient"; 4215 if (code == FHIRDefinedType.PAYMENTNOTICE) 4216 return "PaymentNotice"; 4217 if (code == FHIRDefinedType.PAYMENTRECONCILIATION) 4218 return "PaymentReconciliation"; 4219 if (code == FHIRDefinedType.PERMISSION) 4220 return "Permission"; 4221 if (code == FHIRDefinedType.PERSON) 4222 return "Person"; 4223 if (code == FHIRDefinedType.PRACTITIONER) 4224 return "Practitioner"; 4225 if (code == FHIRDefinedType.PRACTITIONERROLE) 4226 return "PractitionerRole"; 4227 if (code == FHIRDefinedType.PROCEDURE) 4228 return "Procedure"; 4229 if (code == FHIRDefinedType.PROVENANCE) 4230 return "Provenance"; 4231 if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE) 4232 return "QuestionnaireResponse"; 4233 if (code == FHIRDefinedType.REGULATEDAUTHORIZATION) 4234 return "RegulatedAuthorization"; 4235 if (code == FHIRDefinedType.RELATEDPERSON) 4236 return "RelatedPerson"; 4237 if (code == FHIRDefinedType.REQUESTGROUP) 4238 return "RequestGroup"; 4239 if (code == FHIRDefinedType.RESEARCHSTUDY) 4240 return "ResearchStudy"; 4241 if (code == FHIRDefinedType.RESEARCHSUBJECT) 4242 return "ResearchSubject"; 4243 if (code == FHIRDefinedType.RISKASSESSMENT) 4244 return "RiskAssessment"; 4245 if (code == FHIRDefinedType.SCHEDULE) 4246 return "Schedule"; 4247 if (code == FHIRDefinedType.SERVICEREQUEST) 4248 return "ServiceRequest"; 4249 if (code == FHIRDefinedType.SLOT) 4250 return "Slot"; 4251 if (code == FHIRDefinedType.SPECIMEN) 4252 return "Specimen"; 4253 if (code == FHIRDefinedType.SPECIMENDEFINITION) 4254 return "SpecimenDefinition"; 4255 if (code == FHIRDefinedType.SUBSCRIPTION) 4256 return "Subscription"; 4257 if (code == FHIRDefinedType.SUBSCRIPTIONSTATUS) 4258 return "SubscriptionStatus"; 4259 if (code == FHIRDefinedType.SUBSCRIPTIONTOPIC) 4260 return "SubscriptionTopic"; 4261 if (code == FHIRDefinedType.SUBSTANCE) 4262 return "Substance"; 4263 if (code == FHIRDefinedType.SUBSTANCEDEFINITION) 4264 return "SubstanceDefinition"; 4265 if (code == FHIRDefinedType.SUBSTANCENUCLEICACID) 4266 return "SubstanceNucleicAcid"; 4267 if (code == FHIRDefinedType.SUBSTANCEPOLYMER) 4268 return "SubstancePolymer"; 4269 if (code == FHIRDefinedType.SUBSTANCEPROTEIN) 4270 return "SubstanceProtein"; 4271 if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION) 4272 return "SubstanceReferenceInformation"; 4273 if (code == FHIRDefinedType.SUBSTANCESOURCEMATERIAL) 4274 return "SubstanceSourceMaterial"; 4275 if (code == FHIRDefinedType.SUPPLYDELIVERY) 4276 return "SupplyDelivery"; 4277 if (code == FHIRDefinedType.SUPPLYREQUEST) 4278 return "SupplyRequest"; 4279 if (code == FHIRDefinedType.TASK) 4280 return "Task"; 4281 if (code == FHIRDefinedType.TESTREPORT) 4282 return "TestReport"; 4283 if (code == FHIRDefinedType.VERIFICATIONRESULT) 4284 return "VerificationResult"; 4285 if (code == FHIRDefinedType.VISIONPRESCRIPTION) 4286 return "VisionPrescription"; 4287 if (code == FHIRDefinedType.PARAMETERS) 4288 return "Parameters"; 4289 return "?"; 4290 } 4291 public String toSystem(FHIRDefinedType code) { 4292 return code.getSystem(); 4293 } 4294 } 4295 4296 public enum TestScriptRequestMethodCode { 4297 /** 4298 * HTTP DELETE operation. 4299 */ 4300 DELETE, 4301 /** 4302 * HTTP GET operation. 4303 */ 4304 GET, 4305 /** 4306 * HTTP OPTIONS operation. 4307 */ 4308 OPTIONS, 4309 /** 4310 * HTTP PATCH operation. 4311 */ 4312 PATCH, 4313 /** 4314 * HTTP POST operation. 4315 */ 4316 POST, 4317 /** 4318 * HTTP PUT operation. 4319 */ 4320 PUT, 4321 /** 4322 * HTTP HEAD operation. 4323 */ 4324 HEAD, 4325 /** 4326 * added to help the parsers with the generic types 4327 */ 4328 NULL; 4329 public static TestScriptRequestMethodCode fromCode(String codeString) throws FHIRException { 4330 if (codeString == null || "".equals(codeString)) 4331 return null; 4332 if ("delete".equals(codeString)) 4333 return DELETE; 4334 if ("get".equals(codeString)) 4335 return GET; 4336 if ("options".equals(codeString)) 4337 return OPTIONS; 4338 if ("patch".equals(codeString)) 4339 return PATCH; 4340 if ("post".equals(codeString)) 4341 return POST; 4342 if ("put".equals(codeString)) 4343 return PUT; 4344 if ("head".equals(codeString)) 4345 return HEAD; 4346 if (Configuration.isAcceptInvalidEnums()) 4347 return null; 4348 else 4349 throw new FHIRException("Unknown TestScriptRequestMethodCode code '"+codeString+"'"); 4350 } 4351 public String toCode() { 4352 switch (this) { 4353 case DELETE: return "delete"; 4354 case GET: return "get"; 4355 case OPTIONS: return "options"; 4356 case PATCH: return "patch"; 4357 case POST: return "post"; 4358 case PUT: return "put"; 4359 case HEAD: return "head"; 4360 default: return "?"; 4361 } 4362 } 4363 public String getSystem() { 4364 switch (this) { 4365 case DELETE: return "http://hl7.org/fhir/http-operations"; 4366 case GET: return "http://hl7.org/fhir/http-operations"; 4367 case OPTIONS: return "http://hl7.org/fhir/http-operations"; 4368 case PATCH: return "http://hl7.org/fhir/http-operations"; 4369 case POST: return "http://hl7.org/fhir/http-operations"; 4370 case PUT: return "http://hl7.org/fhir/http-operations"; 4371 case HEAD: return "http://hl7.org/fhir/http-operations"; 4372 default: return "?"; 4373 } 4374 } 4375 public String getDefinition() { 4376 switch (this) { 4377 case DELETE: return "HTTP DELETE operation."; 4378 case GET: return "HTTP GET operation."; 4379 case OPTIONS: return "HTTP OPTIONS operation."; 4380 case PATCH: return "HTTP PATCH operation."; 4381 case POST: return "HTTP POST operation."; 4382 case PUT: return "HTTP PUT operation."; 4383 case HEAD: return "HTTP HEAD operation."; 4384 default: return "?"; 4385 } 4386 } 4387 public String getDisplay() { 4388 switch (this) { 4389 case DELETE: return "DELETE"; 4390 case GET: return "GET"; 4391 case OPTIONS: return "OPTIONS"; 4392 case PATCH: return "PATCH"; 4393 case POST: return "POST"; 4394 case PUT: return "PUT"; 4395 case HEAD: return "HEAD"; 4396 default: return "?"; 4397 } 4398 } 4399 } 4400 4401 public static class TestScriptRequestMethodCodeEnumFactory implements EnumFactory<TestScriptRequestMethodCode> { 4402 public TestScriptRequestMethodCode fromCode(String codeString) throws IllegalArgumentException { 4403 if (codeString == null || "".equals(codeString)) 4404 if (codeString == null || "".equals(codeString)) 4405 return null; 4406 if ("delete".equals(codeString)) 4407 return TestScriptRequestMethodCode.DELETE; 4408 if ("get".equals(codeString)) 4409 return TestScriptRequestMethodCode.GET; 4410 if ("options".equals(codeString)) 4411 return TestScriptRequestMethodCode.OPTIONS; 4412 if ("patch".equals(codeString)) 4413 return TestScriptRequestMethodCode.PATCH; 4414 if ("post".equals(codeString)) 4415 return TestScriptRequestMethodCode.POST; 4416 if ("put".equals(codeString)) 4417 return TestScriptRequestMethodCode.PUT; 4418 if ("head".equals(codeString)) 4419 return TestScriptRequestMethodCode.HEAD; 4420 throw new IllegalArgumentException("Unknown TestScriptRequestMethodCode code '"+codeString+"'"); 4421 } 4422 public Enumeration<TestScriptRequestMethodCode> fromType(Base code) throws FHIRException { 4423 if (code == null) 4424 return null; 4425 if (code.isEmpty()) 4426 return new Enumeration<TestScriptRequestMethodCode>(this); 4427 String codeString = ((PrimitiveType) code).asStringValue(); 4428 if (codeString == null || "".equals(codeString)) 4429 return null; 4430 if ("delete".equals(codeString)) 4431 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.DELETE); 4432 if ("get".equals(codeString)) 4433 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.GET); 4434 if ("options".equals(codeString)) 4435 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.OPTIONS); 4436 if ("patch".equals(codeString)) 4437 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.PATCH); 4438 if ("post".equals(codeString)) 4439 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.POST); 4440 if ("put".equals(codeString)) 4441 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.PUT); 4442 if ("head".equals(codeString)) 4443 return new Enumeration<TestScriptRequestMethodCode>(this, TestScriptRequestMethodCode.HEAD); 4444 throw new FHIRException("Unknown TestScriptRequestMethodCode code '"+codeString+"'"); 4445 } 4446 public String toCode(TestScriptRequestMethodCode code) { 4447 if (code == TestScriptRequestMethodCode.DELETE) 4448 return "delete"; 4449 if (code == TestScriptRequestMethodCode.GET) 4450 return "get"; 4451 if (code == TestScriptRequestMethodCode.OPTIONS) 4452 return "options"; 4453 if (code == TestScriptRequestMethodCode.PATCH) 4454 return "patch"; 4455 if (code == TestScriptRequestMethodCode.POST) 4456 return "post"; 4457 if (code == TestScriptRequestMethodCode.PUT) 4458 return "put"; 4459 if (code == TestScriptRequestMethodCode.HEAD) 4460 return "head"; 4461 return "?"; 4462 } 4463 public String toSystem(TestScriptRequestMethodCode code) { 4464 return code.getSystem(); 4465 } 4466 } 4467 4468 @Block() 4469 public static class TestScriptOriginComponent extends BackboneElement implements IBaseBackboneElement { 4470 /** 4471 * Abstract name given to an origin server in this test script. The name is provided as a number starting at 1. 4472 */ 4473 @Child(name = "index", type = {IntegerType.class}, order=1, min=1, max=1, modifier=false, summary=false) 4474 @Description(shortDefinition="The index of the abstract origin server starting at 1", formalDefinition="Abstract name given to an origin server in this test script. The name is provided as a number starting at 1." ) 4475 protected IntegerType index; 4476 4477 /** 4478 * The type of origin profile the test system supports. 4479 */ 4480 @Child(name = "profile", type = {Coding.class}, order=2, min=1, max=1, modifier=false, summary=false) 4481 @Description(shortDefinition="FHIR-Client | FHIR-SDC-FormFiller", formalDefinition="The type of origin profile the test system supports." ) 4482 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-profile-origin-types") 4483 protected Coding profile; 4484 4485 private static final long serialVersionUID = -1239935149L; 4486 4487 /** 4488 * Constructor 4489 */ 4490 public TestScriptOriginComponent() { 4491 super(); 4492 } 4493 4494 /** 4495 * Constructor 4496 */ 4497 public TestScriptOriginComponent(int index, Coding profile) { 4498 super(); 4499 this.setIndex(index); 4500 this.setProfile(profile); 4501 } 4502 4503 /** 4504 * @return {@link #index} (Abstract name given to an origin server in this test script. The name is provided as a number starting at 1.). This is the underlying object with id, value and extensions. The accessor "getIndex" gives direct access to the value 4505 */ 4506 public IntegerType getIndexElement() { 4507 if (this.index == null) 4508 if (Configuration.errorOnAutoCreate()) 4509 throw new Error("Attempt to auto-create TestScriptOriginComponent.index"); 4510 else if (Configuration.doAutoCreate()) 4511 this.index = new IntegerType(); // bb 4512 return this.index; 4513 } 4514 4515 public boolean hasIndexElement() { 4516 return this.index != null && !this.index.isEmpty(); 4517 } 4518 4519 public boolean hasIndex() { 4520 return this.index != null && !this.index.isEmpty(); 4521 } 4522 4523 /** 4524 * @param value {@link #index} (Abstract name given to an origin server in this test script. The name is provided as a number starting at 1.). This is the underlying object with id, value and extensions. The accessor "getIndex" gives direct access to the value 4525 */ 4526 public TestScriptOriginComponent setIndexElement(IntegerType value) { 4527 this.index = value; 4528 return this; 4529 } 4530 4531 /** 4532 * @return Abstract name given to an origin server in this test script. The name is provided as a number starting at 1. 4533 */ 4534 public int getIndex() { 4535 return this.index == null || this.index.isEmpty() ? 0 : this.index.getValue(); 4536 } 4537 4538 /** 4539 * @param value Abstract name given to an origin server in this test script. The name is provided as a number starting at 1. 4540 */ 4541 public TestScriptOriginComponent setIndex(int value) { 4542 if (this.index == null) 4543 this.index = new IntegerType(); 4544 this.index.setValue(value); 4545 return this; 4546 } 4547 4548 /** 4549 * @return {@link #profile} (The type of origin profile the test system supports.) 4550 */ 4551 public Coding getProfile() { 4552 if (this.profile == null) 4553 if (Configuration.errorOnAutoCreate()) 4554 throw new Error("Attempt to auto-create TestScriptOriginComponent.profile"); 4555 else if (Configuration.doAutoCreate()) 4556 this.profile = new Coding(); // cc 4557 return this.profile; 4558 } 4559 4560 public boolean hasProfile() { 4561 return this.profile != null && !this.profile.isEmpty(); 4562 } 4563 4564 /** 4565 * @param value {@link #profile} (The type of origin profile the test system supports.) 4566 */ 4567 public TestScriptOriginComponent setProfile(Coding value) { 4568 this.profile = value; 4569 return this; 4570 } 4571 4572 protected void listChildren(List<Property> children) { 4573 super.listChildren(children); 4574 children.add(new Property("index", "integer", "Abstract name given to an origin server in this test script. The name is provided as a number starting at 1.", 0, 1, index)); 4575 children.add(new Property("profile", "Coding", "The type of origin profile the test system supports.", 0, 1, profile)); 4576 } 4577 4578 @Override 4579 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4580 switch (_hash) { 4581 case 100346066: /*index*/ return new Property("index", "integer", "Abstract name given to an origin server in this test script. The name is provided as a number starting at 1.", 0, 1, index); 4582 case -309425751: /*profile*/ return new Property("profile", "Coding", "The type of origin profile the test system supports.", 0, 1, profile); 4583 default: return super.getNamedProperty(_hash, _name, _checkValid); 4584 } 4585 4586 } 4587 4588 @Override 4589 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4590 switch (hash) { 4591 case 100346066: /*index*/ return this.index == null ? new Base[0] : new Base[] {this.index}; // IntegerType 4592 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // Coding 4593 default: return super.getProperty(hash, name, checkValid); 4594 } 4595 4596 } 4597 4598 @Override 4599 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4600 switch (hash) { 4601 case 100346066: // index 4602 this.index = TypeConvertor.castToInteger(value); // IntegerType 4603 return value; 4604 case -309425751: // profile 4605 this.profile = TypeConvertor.castToCoding(value); // Coding 4606 return value; 4607 default: return super.setProperty(hash, name, value); 4608 } 4609 4610 } 4611 4612 @Override 4613 public Base setProperty(String name, Base value) throws FHIRException { 4614 if (name.equals("index")) { 4615 this.index = TypeConvertor.castToInteger(value); // IntegerType 4616 } else if (name.equals("profile")) { 4617 this.profile = TypeConvertor.castToCoding(value); // Coding 4618 } else 4619 return super.setProperty(name, value); 4620 return value; 4621 } 4622 4623 @Override 4624 public Base makeProperty(int hash, String name) throws FHIRException { 4625 switch (hash) { 4626 case 100346066: return getIndexElement(); 4627 case -309425751: return getProfile(); 4628 default: return super.makeProperty(hash, name); 4629 } 4630 4631 } 4632 4633 @Override 4634 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4635 switch (hash) { 4636 case 100346066: /*index*/ return new String[] {"integer"}; 4637 case -309425751: /*profile*/ return new String[] {"Coding"}; 4638 default: return super.getTypesForProperty(hash, name); 4639 } 4640 4641 } 4642 4643 @Override 4644 public Base addChild(String name) throws FHIRException { 4645 if (name.equals("index")) { 4646 throw new FHIRException("Cannot call addChild on a primitive type TestScript.origin.index"); 4647 } 4648 else if (name.equals("profile")) { 4649 this.profile = new Coding(); 4650 return this.profile; 4651 } 4652 else 4653 return super.addChild(name); 4654 } 4655 4656 public TestScriptOriginComponent copy() { 4657 TestScriptOriginComponent dst = new TestScriptOriginComponent(); 4658 copyValues(dst); 4659 return dst; 4660 } 4661 4662 public void copyValues(TestScriptOriginComponent dst) { 4663 super.copyValues(dst); 4664 dst.index = index == null ? null : index.copy(); 4665 dst.profile = profile == null ? null : profile.copy(); 4666 } 4667 4668 @Override 4669 public boolean equalsDeep(Base other_) { 4670 if (!super.equalsDeep(other_)) 4671 return false; 4672 if (!(other_ instanceof TestScriptOriginComponent)) 4673 return false; 4674 TestScriptOriginComponent o = (TestScriptOriginComponent) other_; 4675 return compareDeep(index, o.index, true) && compareDeep(profile, o.profile, true); 4676 } 4677 4678 @Override 4679 public boolean equalsShallow(Base other_) { 4680 if (!super.equalsShallow(other_)) 4681 return false; 4682 if (!(other_ instanceof TestScriptOriginComponent)) 4683 return false; 4684 TestScriptOriginComponent o = (TestScriptOriginComponent) other_; 4685 return compareValues(index, o.index, true); 4686 } 4687 4688 public boolean isEmpty() { 4689 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(index, profile); 4690 } 4691 4692 public String fhirType() { 4693 return "TestScript.origin"; 4694 4695 } 4696 4697 } 4698 4699 @Block() 4700 public static class TestScriptDestinationComponent extends BackboneElement implements IBaseBackboneElement { 4701 /** 4702 * Abstract name given to a destination server in this test script. The name is provided as a number starting at 1. 4703 */ 4704 @Child(name = "index", type = {IntegerType.class}, order=1, min=1, max=1, modifier=false, summary=false) 4705 @Description(shortDefinition="The index of the abstract destination server starting at 1", formalDefinition="Abstract name given to a destination server in this test script. The name is provided as a number starting at 1." ) 4706 protected IntegerType index; 4707 4708 /** 4709 * The type of destination profile the test system supports. 4710 */ 4711 @Child(name = "profile", type = {Coding.class}, order=2, min=1, max=1, modifier=false, summary=false) 4712 @Description(shortDefinition="FHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor", formalDefinition="The type of destination profile the test system supports." ) 4713 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-profile-destination-types") 4714 protected Coding profile; 4715 4716 private static final long serialVersionUID = -1239935149L; 4717 4718 /** 4719 * Constructor 4720 */ 4721 public TestScriptDestinationComponent() { 4722 super(); 4723 } 4724 4725 /** 4726 * Constructor 4727 */ 4728 public TestScriptDestinationComponent(int index, Coding profile) { 4729 super(); 4730 this.setIndex(index); 4731 this.setProfile(profile); 4732 } 4733 4734 /** 4735 * @return {@link #index} (Abstract name given to a destination server in this test script. The name is provided as a number starting at 1.). This is the underlying object with id, value and extensions. The accessor "getIndex" gives direct access to the value 4736 */ 4737 public IntegerType getIndexElement() { 4738 if (this.index == null) 4739 if (Configuration.errorOnAutoCreate()) 4740 throw new Error("Attempt to auto-create TestScriptDestinationComponent.index"); 4741 else if (Configuration.doAutoCreate()) 4742 this.index = new IntegerType(); // bb 4743 return this.index; 4744 } 4745 4746 public boolean hasIndexElement() { 4747 return this.index != null && !this.index.isEmpty(); 4748 } 4749 4750 public boolean hasIndex() { 4751 return this.index != null && !this.index.isEmpty(); 4752 } 4753 4754 /** 4755 * @param value {@link #index} (Abstract name given to a destination server in this test script. The name is provided as a number starting at 1.). This is the underlying object with id, value and extensions. The accessor "getIndex" gives direct access to the value 4756 */ 4757 public TestScriptDestinationComponent setIndexElement(IntegerType value) { 4758 this.index = value; 4759 return this; 4760 } 4761 4762 /** 4763 * @return Abstract name given to a destination server in this test script. The name is provided as a number starting at 1. 4764 */ 4765 public int getIndex() { 4766 return this.index == null || this.index.isEmpty() ? 0 : this.index.getValue(); 4767 } 4768 4769 /** 4770 * @param value Abstract name given to a destination server in this test script. The name is provided as a number starting at 1. 4771 */ 4772 public TestScriptDestinationComponent setIndex(int value) { 4773 if (this.index == null) 4774 this.index = new IntegerType(); 4775 this.index.setValue(value); 4776 return this; 4777 } 4778 4779 /** 4780 * @return {@link #profile} (The type of destination profile the test system supports.) 4781 */ 4782 public Coding getProfile() { 4783 if (this.profile == null) 4784 if (Configuration.errorOnAutoCreate()) 4785 throw new Error("Attempt to auto-create TestScriptDestinationComponent.profile"); 4786 else if (Configuration.doAutoCreate()) 4787 this.profile = new Coding(); // cc 4788 return this.profile; 4789 } 4790 4791 public boolean hasProfile() { 4792 return this.profile != null && !this.profile.isEmpty(); 4793 } 4794 4795 /** 4796 * @param value {@link #profile} (The type of destination profile the test system supports.) 4797 */ 4798 public TestScriptDestinationComponent setProfile(Coding value) { 4799 this.profile = value; 4800 return this; 4801 } 4802 4803 protected void listChildren(List<Property> children) { 4804 super.listChildren(children); 4805 children.add(new Property("index", "integer", "Abstract name given to a destination server in this test script. The name is provided as a number starting at 1.", 0, 1, index)); 4806 children.add(new Property("profile", "Coding", "The type of destination profile the test system supports.", 0, 1, profile)); 4807 } 4808 4809 @Override 4810 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4811 switch (_hash) { 4812 case 100346066: /*index*/ return new Property("index", "integer", "Abstract name given to a destination server in this test script. The name is provided as a number starting at 1.", 0, 1, index); 4813 case -309425751: /*profile*/ return new Property("profile", "Coding", "The type of destination profile the test system supports.", 0, 1, profile); 4814 default: return super.getNamedProperty(_hash, _name, _checkValid); 4815 } 4816 4817 } 4818 4819 @Override 4820 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4821 switch (hash) { 4822 case 100346066: /*index*/ return this.index == null ? new Base[0] : new Base[] {this.index}; // IntegerType 4823 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // Coding 4824 default: return super.getProperty(hash, name, checkValid); 4825 } 4826 4827 } 4828 4829 @Override 4830 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4831 switch (hash) { 4832 case 100346066: // index 4833 this.index = TypeConvertor.castToInteger(value); // IntegerType 4834 return value; 4835 case -309425751: // profile 4836 this.profile = TypeConvertor.castToCoding(value); // Coding 4837 return value; 4838 default: return super.setProperty(hash, name, value); 4839 } 4840 4841 } 4842 4843 @Override 4844 public Base setProperty(String name, Base value) throws FHIRException { 4845 if (name.equals("index")) { 4846 this.index = TypeConvertor.castToInteger(value); // IntegerType 4847 } else if (name.equals("profile")) { 4848 this.profile = TypeConvertor.castToCoding(value); // Coding 4849 } else 4850 return super.setProperty(name, value); 4851 return value; 4852 } 4853 4854 @Override 4855 public Base makeProperty(int hash, String name) throws FHIRException { 4856 switch (hash) { 4857 case 100346066: return getIndexElement(); 4858 case -309425751: return getProfile(); 4859 default: return super.makeProperty(hash, name); 4860 } 4861 4862 } 4863 4864 @Override 4865 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4866 switch (hash) { 4867 case 100346066: /*index*/ return new String[] {"integer"}; 4868 case -309425751: /*profile*/ return new String[] {"Coding"}; 4869 default: return super.getTypesForProperty(hash, name); 4870 } 4871 4872 } 4873 4874 @Override 4875 public Base addChild(String name) throws FHIRException { 4876 if (name.equals("index")) { 4877 throw new FHIRException("Cannot call addChild on a primitive type TestScript.destination.index"); 4878 } 4879 else if (name.equals("profile")) { 4880 this.profile = new Coding(); 4881 return this.profile; 4882 } 4883 else 4884 return super.addChild(name); 4885 } 4886 4887 public TestScriptDestinationComponent copy() { 4888 TestScriptDestinationComponent dst = new TestScriptDestinationComponent(); 4889 copyValues(dst); 4890 return dst; 4891 } 4892 4893 public void copyValues(TestScriptDestinationComponent dst) { 4894 super.copyValues(dst); 4895 dst.index = index == null ? null : index.copy(); 4896 dst.profile = profile == null ? null : profile.copy(); 4897 } 4898 4899 @Override 4900 public boolean equalsDeep(Base other_) { 4901 if (!super.equalsDeep(other_)) 4902 return false; 4903 if (!(other_ instanceof TestScriptDestinationComponent)) 4904 return false; 4905 TestScriptDestinationComponent o = (TestScriptDestinationComponent) other_; 4906 return compareDeep(index, o.index, true) && compareDeep(profile, o.profile, true); 4907 } 4908 4909 @Override 4910 public boolean equalsShallow(Base other_) { 4911 if (!super.equalsShallow(other_)) 4912 return false; 4913 if (!(other_ instanceof TestScriptDestinationComponent)) 4914 return false; 4915 TestScriptDestinationComponent o = (TestScriptDestinationComponent) other_; 4916 return compareValues(index, o.index, true); 4917 } 4918 4919 public boolean isEmpty() { 4920 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(index, profile); 4921 } 4922 4923 public String fhirType() { 4924 return "TestScript.destination"; 4925 4926 } 4927 4928 } 4929 4930 @Block() 4931 public static class TestScriptMetadataComponent extends BackboneElement implements IBaseBackboneElement { 4932 /** 4933 * A link to the FHIR specification that this test is covering. 4934 */ 4935 @Child(name = "link", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4936 @Description(shortDefinition="Links to the FHIR specification", formalDefinition="A link to the FHIR specification that this test is covering." ) 4937 protected List<TestScriptMetadataLinkComponent> link; 4938 4939 /** 4940 * Capabilities that must exist and are assumed to function correctly on the FHIR server being tested. 4941 */ 4942 @Child(name = "capability", type = {}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4943 @Description(shortDefinition="Capabilities that are assumed to function correctly on the FHIR server being tested", formalDefinition="Capabilities that must exist and are assumed to function correctly on the FHIR server being tested." ) 4944 protected List<TestScriptMetadataCapabilityComponent> capability; 4945 4946 private static final long serialVersionUID = 745183328L; 4947 4948 /** 4949 * Constructor 4950 */ 4951 public TestScriptMetadataComponent() { 4952 super(); 4953 } 4954 4955 /** 4956 * Constructor 4957 */ 4958 public TestScriptMetadataComponent(TestScriptMetadataCapabilityComponent capability) { 4959 super(); 4960 this.addCapability(capability); 4961 } 4962 4963 /** 4964 * @return {@link #link} (A link to the FHIR specification that this test is covering.) 4965 */ 4966 public List<TestScriptMetadataLinkComponent> getLink() { 4967 if (this.link == null) 4968 this.link = new ArrayList<TestScriptMetadataLinkComponent>(); 4969 return this.link; 4970 } 4971 4972 /** 4973 * @return Returns a reference to <code>this</code> for easy method chaining 4974 */ 4975 public TestScriptMetadataComponent setLink(List<TestScriptMetadataLinkComponent> theLink) { 4976 this.link = theLink; 4977 return this; 4978 } 4979 4980 public boolean hasLink() { 4981 if (this.link == null) 4982 return false; 4983 for (TestScriptMetadataLinkComponent item : this.link) 4984 if (!item.isEmpty()) 4985 return true; 4986 return false; 4987 } 4988 4989 public TestScriptMetadataLinkComponent addLink() { //3 4990 TestScriptMetadataLinkComponent t = new TestScriptMetadataLinkComponent(); 4991 if (this.link == null) 4992 this.link = new ArrayList<TestScriptMetadataLinkComponent>(); 4993 this.link.add(t); 4994 return t; 4995 } 4996 4997 public TestScriptMetadataComponent addLink(TestScriptMetadataLinkComponent t) { //3 4998 if (t == null) 4999 return this; 5000 if (this.link == null) 5001 this.link = new ArrayList<TestScriptMetadataLinkComponent>(); 5002 this.link.add(t); 5003 return this; 5004 } 5005 5006 /** 5007 * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist {3} 5008 */ 5009 public TestScriptMetadataLinkComponent getLinkFirstRep() { 5010 if (getLink().isEmpty()) { 5011 addLink(); 5012 } 5013 return getLink().get(0); 5014 } 5015 5016 /** 5017 * @return {@link #capability} (Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.) 5018 */ 5019 public List<TestScriptMetadataCapabilityComponent> getCapability() { 5020 if (this.capability == null) 5021 this.capability = new ArrayList<TestScriptMetadataCapabilityComponent>(); 5022 return this.capability; 5023 } 5024 5025 /** 5026 * @return Returns a reference to <code>this</code> for easy method chaining 5027 */ 5028 public TestScriptMetadataComponent setCapability(List<TestScriptMetadataCapabilityComponent> theCapability) { 5029 this.capability = theCapability; 5030 return this; 5031 } 5032 5033 public boolean hasCapability() { 5034 if (this.capability == null) 5035 return false; 5036 for (TestScriptMetadataCapabilityComponent item : this.capability) 5037 if (!item.isEmpty()) 5038 return true; 5039 return false; 5040 } 5041 5042 public TestScriptMetadataCapabilityComponent addCapability() { //3 5043 TestScriptMetadataCapabilityComponent t = new TestScriptMetadataCapabilityComponent(); 5044 if (this.capability == null) 5045 this.capability = new ArrayList<TestScriptMetadataCapabilityComponent>(); 5046 this.capability.add(t); 5047 return t; 5048 } 5049 5050 public TestScriptMetadataComponent addCapability(TestScriptMetadataCapabilityComponent t) { //3 5051 if (t == null) 5052 return this; 5053 if (this.capability == null) 5054 this.capability = new ArrayList<TestScriptMetadataCapabilityComponent>(); 5055 this.capability.add(t); 5056 return this; 5057 } 5058 5059 /** 5060 * @return The first repetition of repeating field {@link #capability}, creating it if it does not already exist {3} 5061 */ 5062 public TestScriptMetadataCapabilityComponent getCapabilityFirstRep() { 5063 if (getCapability().isEmpty()) { 5064 addCapability(); 5065 } 5066 return getCapability().get(0); 5067 } 5068 5069 protected void listChildren(List<Property> children) { 5070 super.listChildren(children); 5071 children.add(new Property("link", "", "A link to the FHIR specification that this test is covering.", 0, java.lang.Integer.MAX_VALUE, link)); 5072 children.add(new Property("capability", "", "Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.", 0, java.lang.Integer.MAX_VALUE, capability)); 5073 } 5074 5075 @Override 5076 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5077 switch (_hash) { 5078 case 3321850: /*link*/ return new Property("link", "", "A link to the FHIR specification that this test is covering.", 0, java.lang.Integer.MAX_VALUE, link); 5079 case -783669992: /*capability*/ return new Property("capability", "", "Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.", 0, java.lang.Integer.MAX_VALUE, capability); 5080 default: return super.getNamedProperty(_hash, _name, _checkValid); 5081 } 5082 5083 } 5084 5085 @Override 5086 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5087 switch (hash) { 5088 case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // TestScriptMetadataLinkComponent 5089 case -783669992: /*capability*/ return this.capability == null ? new Base[0] : this.capability.toArray(new Base[this.capability.size()]); // TestScriptMetadataCapabilityComponent 5090 default: return super.getProperty(hash, name, checkValid); 5091 } 5092 5093 } 5094 5095 @Override 5096 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5097 switch (hash) { 5098 case 3321850: // link 5099 this.getLink().add((TestScriptMetadataLinkComponent) value); // TestScriptMetadataLinkComponent 5100 return value; 5101 case -783669992: // capability 5102 this.getCapability().add((TestScriptMetadataCapabilityComponent) value); // TestScriptMetadataCapabilityComponent 5103 return value; 5104 default: return super.setProperty(hash, name, value); 5105 } 5106 5107 } 5108 5109 @Override 5110 public Base setProperty(String name, Base value) throws FHIRException { 5111 if (name.equals("link")) { 5112 this.getLink().add((TestScriptMetadataLinkComponent) value); 5113 } else if (name.equals("capability")) { 5114 this.getCapability().add((TestScriptMetadataCapabilityComponent) value); 5115 } else 5116 return super.setProperty(name, value); 5117 return value; 5118 } 5119 5120 @Override 5121 public Base makeProperty(int hash, String name) throws FHIRException { 5122 switch (hash) { 5123 case 3321850: return addLink(); 5124 case -783669992: return addCapability(); 5125 default: return super.makeProperty(hash, name); 5126 } 5127 5128 } 5129 5130 @Override 5131 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5132 switch (hash) { 5133 case 3321850: /*link*/ return new String[] {}; 5134 case -783669992: /*capability*/ return new String[] {}; 5135 default: return super.getTypesForProperty(hash, name); 5136 } 5137 5138 } 5139 5140 @Override 5141 public Base addChild(String name) throws FHIRException { 5142 if (name.equals("link")) { 5143 return addLink(); 5144 } 5145 else if (name.equals("capability")) { 5146 return addCapability(); 5147 } 5148 else 5149 return super.addChild(name); 5150 } 5151 5152 public TestScriptMetadataComponent copy() { 5153 TestScriptMetadataComponent dst = new TestScriptMetadataComponent(); 5154 copyValues(dst); 5155 return dst; 5156 } 5157 5158 public void copyValues(TestScriptMetadataComponent dst) { 5159 super.copyValues(dst); 5160 if (link != null) { 5161 dst.link = new ArrayList<TestScriptMetadataLinkComponent>(); 5162 for (TestScriptMetadataLinkComponent i : link) 5163 dst.link.add(i.copy()); 5164 }; 5165 if (capability != null) { 5166 dst.capability = new ArrayList<TestScriptMetadataCapabilityComponent>(); 5167 for (TestScriptMetadataCapabilityComponent i : capability) 5168 dst.capability.add(i.copy()); 5169 }; 5170 } 5171 5172 @Override 5173 public boolean equalsDeep(Base other_) { 5174 if (!super.equalsDeep(other_)) 5175 return false; 5176 if (!(other_ instanceof TestScriptMetadataComponent)) 5177 return false; 5178 TestScriptMetadataComponent o = (TestScriptMetadataComponent) other_; 5179 return compareDeep(link, o.link, true) && compareDeep(capability, o.capability, true); 5180 } 5181 5182 @Override 5183 public boolean equalsShallow(Base other_) { 5184 if (!super.equalsShallow(other_)) 5185 return false; 5186 if (!(other_ instanceof TestScriptMetadataComponent)) 5187 return false; 5188 TestScriptMetadataComponent o = (TestScriptMetadataComponent) other_; 5189 return true; 5190 } 5191 5192 public boolean isEmpty() { 5193 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(link, capability); 5194 } 5195 5196 public String fhirType() { 5197 return "TestScript.metadata"; 5198 5199 } 5200 5201 } 5202 5203 @Block() 5204 public static class TestScriptMetadataLinkComponent extends BackboneElement implements IBaseBackboneElement { 5205 /** 5206 * URL to a particular requirement or feature within the FHIR specification. 5207 */ 5208 @Child(name = "url", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=false) 5209 @Description(shortDefinition="URL to the specification", formalDefinition="URL to a particular requirement or feature within the FHIR specification." ) 5210 protected UriType url; 5211 5212 /** 5213 * Short description of the link. 5214 */ 5215 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 5216 @Description(shortDefinition="Short description", formalDefinition="Short description of the link." ) 5217 protected StringType description; 5218 5219 private static final long serialVersionUID = 213372298L; 5220 5221 /** 5222 * Constructor 5223 */ 5224 public TestScriptMetadataLinkComponent() { 5225 super(); 5226 } 5227 5228 /** 5229 * Constructor 5230 */ 5231 public TestScriptMetadataLinkComponent(String url) { 5232 super(); 5233 this.setUrl(url); 5234 } 5235 5236 /** 5237 * @return {@link #url} (URL to a particular requirement or feature within the FHIR specification.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 5238 */ 5239 public UriType getUrlElement() { 5240 if (this.url == null) 5241 if (Configuration.errorOnAutoCreate()) 5242 throw new Error("Attempt to auto-create TestScriptMetadataLinkComponent.url"); 5243 else if (Configuration.doAutoCreate()) 5244 this.url = new UriType(); // bb 5245 return this.url; 5246 } 5247 5248 public boolean hasUrlElement() { 5249 return this.url != null && !this.url.isEmpty(); 5250 } 5251 5252 public boolean hasUrl() { 5253 return this.url != null && !this.url.isEmpty(); 5254 } 5255 5256 /** 5257 * @param value {@link #url} (URL to a particular requirement or feature within the FHIR specification.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 5258 */ 5259 public TestScriptMetadataLinkComponent setUrlElement(UriType value) { 5260 this.url = value; 5261 return this; 5262 } 5263 5264 /** 5265 * @return URL to a particular requirement or feature within the FHIR specification. 5266 */ 5267 public String getUrl() { 5268 return this.url == null ? null : this.url.getValue(); 5269 } 5270 5271 /** 5272 * @param value URL to a particular requirement or feature within the FHIR specification. 5273 */ 5274 public TestScriptMetadataLinkComponent setUrl(String value) { 5275 if (this.url == null) 5276 this.url = new UriType(); 5277 this.url.setValue(value); 5278 return this; 5279 } 5280 5281 /** 5282 * @return {@link #description} (Short description of the link.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5283 */ 5284 public StringType getDescriptionElement() { 5285 if (this.description == null) 5286 if (Configuration.errorOnAutoCreate()) 5287 throw new Error("Attempt to auto-create TestScriptMetadataLinkComponent.description"); 5288 else if (Configuration.doAutoCreate()) 5289 this.description = new StringType(); // bb 5290 return this.description; 5291 } 5292 5293 public boolean hasDescriptionElement() { 5294 return this.description != null && !this.description.isEmpty(); 5295 } 5296 5297 public boolean hasDescription() { 5298 return this.description != null && !this.description.isEmpty(); 5299 } 5300 5301 /** 5302 * @param value {@link #description} (Short description of the link.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5303 */ 5304 public TestScriptMetadataLinkComponent setDescriptionElement(StringType value) { 5305 this.description = value; 5306 return this; 5307 } 5308 5309 /** 5310 * @return Short description of the link. 5311 */ 5312 public String getDescription() { 5313 return this.description == null ? null : this.description.getValue(); 5314 } 5315 5316 /** 5317 * @param value Short description of the link. 5318 */ 5319 public TestScriptMetadataLinkComponent setDescription(String value) { 5320 if (Utilities.noString(value)) 5321 this.description = null; 5322 else { 5323 if (this.description == null) 5324 this.description = new StringType(); 5325 this.description.setValue(value); 5326 } 5327 return this; 5328 } 5329 5330 protected void listChildren(List<Property> children) { 5331 super.listChildren(children); 5332 children.add(new Property("url", "uri", "URL to a particular requirement or feature within the FHIR specification.", 0, 1, url)); 5333 children.add(new Property("description", "string", "Short description of the link.", 0, 1, description)); 5334 } 5335 5336 @Override 5337 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5338 switch (_hash) { 5339 case 116079: /*url*/ return new Property("url", "uri", "URL to a particular requirement or feature within the FHIR specification.", 0, 1, url); 5340 case -1724546052: /*description*/ return new Property("description", "string", "Short description of the link.", 0, 1, description); 5341 default: return super.getNamedProperty(_hash, _name, _checkValid); 5342 } 5343 5344 } 5345 5346 @Override 5347 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5348 switch (hash) { 5349 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 5350 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 5351 default: return super.getProperty(hash, name, checkValid); 5352 } 5353 5354 } 5355 5356 @Override 5357 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5358 switch (hash) { 5359 case 116079: // url 5360 this.url = TypeConvertor.castToUri(value); // UriType 5361 return value; 5362 case -1724546052: // description 5363 this.description = TypeConvertor.castToString(value); // StringType 5364 return value; 5365 default: return super.setProperty(hash, name, value); 5366 } 5367 5368 } 5369 5370 @Override 5371 public Base setProperty(String name, Base value) throws FHIRException { 5372 if (name.equals("url")) { 5373 this.url = TypeConvertor.castToUri(value); // UriType 5374 } else if (name.equals("description")) { 5375 this.description = TypeConvertor.castToString(value); // StringType 5376 } else 5377 return super.setProperty(name, value); 5378 return value; 5379 } 5380 5381 @Override 5382 public Base makeProperty(int hash, String name) throws FHIRException { 5383 switch (hash) { 5384 case 116079: return getUrlElement(); 5385 case -1724546052: return getDescriptionElement(); 5386 default: return super.makeProperty(hash, name); 5387 } 5388 5389 } 5390 5391 @Override 5392 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5393 switch (hash) { 5394 case 116079: /*url*/ return new String[] {"uri"}; 5395 case -1724546052: /*description*/ return new String[] {"string"}; 5396 default: return super.getTypesForProperty(hash, name); 5397 } 5398 5399 } 5400 5401 @Override 5402 public Base addChild(String name) throws FHIRException { 5403 if (name.equals("url")) { 5404 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.link.url"); 5405 } 5406 else if (name.equals("description")) { 5407 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.link.description"); 5408 } 5409 else 5410 return super.addChild(name); 5411 } 5412 5413 public TestScriptMetadataLinkComponent copy() { 5414 TestScriptMetadataLinkComponent dst = new TestScriptMetadataLinkComponent(); 5415 copyValues(dst); 5416 return dst; 5417 } 5418 5419 public void copyValues(TestScriptMetadataLinkComponent dst) { 5420 super.copyValues(dst); 5421 dst.url = url == null ? null : url.copy(); 5422 dst.description = description == null ? null : description.copy(); 5423 } 5424 5425 @Override 5426 public boolean equalsDeep(Base other_) { 5427 if (!super.equalsDeep(other_)) 5428 return false; 5429 if (!(other_ instanceof TestScriptMetadataLinkComponent)) 5430 return false; 5431 TestScriptMetadataLinkComponent o = (TestScriptMetadataLinkComponent) other_; 5432 return compareDeep(url, o.url, true) && compareDeep(description, o.description, true); 5433 } 5434 5435 @Override 5436 public boolean equalsShallow(Base other_) { 5437 if (!super.equalsShallow(other_)) 5438 return false; 5439 if (!(other_ instanceof TestScriptMetadataLinkComponent)) 5440 return false; 5441 TestScriptMetadataLinkComponent o = (TestScriptMetadataLinkComponent) other_; 5442 return compareValues(url, o.url, true) && compareValues(description, o.description, true); 5443 } 5444 5445 public boolean isEmpty() { 5446 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, description); 5447 } 5448 5449 public String fhirType() { 5450 return "TestScript.metadata.link"; 5451 5452 } 5453 5454 } 5455 5456 @Block() 5457 public static class TestScriptMetadataCapabilityComponent extends BackboneElement implements IBaseBackboneElement { 5458 /** 5459 * Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. 5460 */ 5461 @Child(name = "required", type = {BooleanType.class}, order=1, min=1, max=1, modifier=false, summary=false) 5462 @Description(shortDefinition="Are the capabilities required?", formalDefinition="Whether or not the test execution will require the given capabilities of the server in order for this test script to execute." ) 5463 protected BooleanType required; 5464 5465 /** 5466 * Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. 5467 */ 5468 @Child(name = "validated", type = {BooleanType.class}, order=2, min=1, max=1, modifier=false, summary=false) 5469 @Description(shortDefinition="Are the capabilities validated?", formalDefinition="Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute." ) 5470 protected BooleanType validated; 5471 5472 /** 5473 * Description of the capabilities that this test script is requiring the server to support. 5474 */ 5475 @Child(name = "description", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 5476 @Description(shortDefinition="The expected capabilities of the server", formalDefinition="Description of the capabilities that this test script is requiring the server to support." ) 5477 protected StringType description; 5478 5479 /** 5480 * Which origin server these requirements apply to. 5481 */ 5482 @Child(name = "origin", type = {IntegerType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5483 @Description(shortDefinition="Which origin server these requirements apply to", formalDefinition="Which origin server these requirements apply to." ) 5484 protected List<IntegerType> origin; 5485 5486 /** 5487 * Which server these requirements apply to. 5488 */ 5489 @Child(name = "destination", type = {IntegerType.class}, order=5, min=0, max=1, modifier=false, summary=false) 5490 @Description(shortDefinition="Which server these requirements apply to", formalDefinition="Which server these requirements apply to." ) 5491 protected IntegerType destination; 5492 5493 /** 5494 * Links to the FHIR specification that describes this interaction and the resources involved in more detail. 5495 */ 5496 @Child(name = "link", type = {UriType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5497 @Description(shortDefinition="Links to the FHIR specification", formalDefinition="Links to the FHIR specification that describes this interaction and the resources involved in more detail." ) 5498 protected List<UriType> link; 5499 5500 /** 5501 * Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped. 5502 */ 5503 @Child(name = "capabilities", type = {CanonicalType.class}, order=7, min=1, max=1, modifier=false, summary=false) 5504 @Description(shortDefinition="Required Capability Statement", formalDefinition="Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped." ) 5505 protected CanonicalType capabilities; 5506 5507 private static final long serialVersionUID = -1368199288L; 5508 5509 /** 5510 * Constructor 5511 */ 5512 public TestScriptMetadataCapabilityComponent() { 5513 super(); 5514 } 5515 5516 /** 5517 * Constructor 5518 */ 5519 public TestScriptMetadataCapabilityComponent(boolean required, boolean validated, String capabilities) { 5520 super(); 5521 this.setRequired(required); 5522 this.setValidated(validated); 5523 this.setCapabilities(capabilities); 5524 } 5525 5526 /** 5527 * @return {@link #required} (Whether or not the test execution will require the given capabilities of the server in order for this test script to execute.). This is the underlying object with id, value and extensions. The accessor "getRequired" gives direct access to the value 5528 */ 5529 public BooleanType getRequiredElement() { 5530 if (this.required == null) 5531 if (Configuration.errorOnAutoCreate()) 5532 throw new Error("Attempt to auto-create TestScriptMetadataCapabilityComponent.required"); 5533 else if (Configuration.doAutoCreate()) 5534 this.required = new BooleanType(); // bb 5535 return this.required; 5536 } 5537 5538 public boolean hasRequiredElement() { 5539 return this.required != null && !this.required.isEmpty(); 5540 } 5541 5542 public boolean hasRequired() { 5543 return this.required != null && !this.required.isEmpty(); 5544 } 5545 5546 /** 5547 * @param value {@link #required} (Whether or not the test execution will require the given capabilities of the server in order for this test script to execute.). This is the underlying object with id, value and extensions. The accessor "getRequired" gives direct access to the value 5548 */ 5549 public TestScriptMetadataCapabilityComponent setRequiredElement(BooleanType value) { 5550 this.required = value; 5551 return this; 5552 } 5553 5554 /** 5555 * @return Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. 5556 */ 5557 public boolean getRequired() { 5558 return this.required == null || this.required.isEmpty() ? false : this.required.getValue(); 5559 } 5560 5561 /** 5562 * @param value Whether or not the test execution will require the given capabilities of the server in order for this test script to execute. 5563 */ 5564 public TestScriptMetadataCapabilityComponent setRequired(boolean value) { 5565 if (this.required == null) 5566 this.required = new BooleanType(); 5567 this.required.setValue(value); 5568 return this; 5569 } 5570 5571 /** 5572 * @return {@link #validated} (Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.). This is the underlying object with id, value and extensions. The accessor "getValidated" gives direct access to the value 5573 */ 5574 public BooleanType getValidatedElement() { 5575 if (this.validated == null) 5576 if (Configuration.errorOnAutoCreate()) 5577 throw new Error("Attempt to auto-create TestScriptMetadataCapabilityComponent.validated"); 5578 else if (Configuration.doAutoCreate()) 5579 this.validated = new BooleanType(); // bb 5580 return this.validated; 5581 } 5582 5583 public boolean hasValidatedElement() { 5584 return this.validated != null && !this.validated.isEmpty(); 5585 } 5586 5587 public boolean hasValidated() { 5588 return this.validated != null && !this.validated.isEmpty(); 5589 } 5590 5591 /** 5592 * @param value {@link #validated} (Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.). This is the underlying object with id, value and extensions. The accessor "getValidated" gives direct access to the value 5593 */ 5594 public TestScriptMetadataCapabilityComponent setValidatedElement(BooleanType value) { 5595 this.validated = value; 5596 return this; 5597 } 5598 5599 /** 5600 * @return Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. 5601 */ 5602 public boolean getValidated() { 5603 return this.validated == null || this.validated.isEmpty() ? false : this.validated.getValue(); 5604 } 5605 5606 /** 5607 * @param value Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute. 5608 */ 5609 public TestScriptMetadataCapabilityComponent setValidated(boolean value) { 5610 if (this.validated == null) 5611 this.validated = new BooleanType(); 5612 this.validated.setValue(value); 5613 return this; 5614 } 5615 5616 /** 5617 * @return {@link #description} (Description of the capabilities that this test script is requiring the server to support.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5618 */ 5619 public StringType getDescriptionElement() { 5620 if (this.description == null) 5621 if (Configuration.errorOnAutoCreate()) 5622 throw new Error("Attempt to auto-create TestScriptMetadataCapabilityComponent.description"); 5623 else if (Configuration.doAutoCreate()) 5624 this.description = new StringType(); // bb 5625 return this.description; 5626 } 5627 5628 public boolean hasDescriptionElement() { 5629 return this.description != null && !this.description.isEmpty(); 5630 } 5631 5632 public boolean hasDescription() { 5633 return this.description != null && !this.description.isEmpty(); 5634 } 5635 5636 /** 5637 * @param value {@link #description} (Description of the capabilities that this test script is requiring the server to support.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 5638 */ 5639 public TestScriptMetadataCapabilityComponent setDescriptionElement(StringType value) { 5640 this.description = value; 5641 return this; 5642 } 5643 5644 /** 5645 * @return Description of the capabilities that this test script is requiring the server to support. 5646 */ 5647 public String getDescription() { 5648 return this.description == null ? null : this.description.getValue(); 5649 } 5650 5651 /** 5652 * @param value Description of the capabilities that this test script is requiring the server to support. 5653 */ 5654 public TestScriptMetadataCapabilityComponent setDescription(String value) { 5655 if (Utilities.noString(value)) 5656 this.description = null; 5657 else { 5658 if (this.description == null) 5659 this.description = new StringType(); 5660 this.description.setValue(value); 5661 } 5662 return this; 5663 } 5664 5665 /** 5666 * @return {@link #origin} (Which origin server these requirements apply to.) 5667 */ 5668 public List<IntegerType> getOrigin() { 5669 if (this.origin == null) 5670 this.origin = new ArrayList<IntegerType>(); 5671 return this.origin; 5672 } 5673 5674 /** 5675 * @return Returns a reference to <code>this</code> for easy method chaining 5676 */ 5677 public TestScriptMetadataCapabilityComponent setOrigin(List<IntegerType> theOrigin) { 5678 this.origin = theOrigin; 5679 return this; 5680 } 5681 5682 public boolean hasOrigin() { 5683 if (this.origin == null) 5684 return false; 5685 for (IntegerType item : this.origin) 5686 if (!item.isEmpty()) 5687 return true; 5688 return false; 5689 } 5690 5691 /** 5692 * @return {@link #origin} (Which origin server these requirements apply to.) 5693 */ 5694 public IntegerType addOriginElement() {//2 5695 IntegerType t = new IntegerType(); 5696 if (this.origin == null) 5697 this.origin = new ArrayList<IntegerType>(); 5698 this.origin.add(t); 5699 return t; 5700 } 5701 5702 /** 5703 * @param value {@link #origin} (Which origin server these requirements apply to.) 5704 */ 5705 public TestScriptMetadataCapabilityComponent addOrigin(int value) { //1 5706 IntegerType t = new IntegerType(); 5707 t.setValue(value); 5708 if (this.origin == null) 5709 this.origin = new ArrayList<IntegerType>(); 5710 this.origin.add(t); 5711 return this; 5712 } 5713 5714 /** 5715 * @param value {@link #origin} (Which origin server these requirements apply to.) 5716 */ 5717 public boolean hasOrigin(int value) { 5718 if (this.origin == null) 5719 return false; 5720 for (IntegerType v : this.origin) 5721 if (v.getValue().equals(value)) // integer 5722 return true; 5723 return false; 5724 } 5725 5726 /** 5727 * @return {@link #destination} (Which server these requirements apply to.). This is the underlying object with id, value and extensions. The accessor "getDestination" gives direct access to the value 5728 */ 5729 public IntegerType getDestinationElement() { 5730 if (this.destination == null) 5731 if (Configuration.errorOnAutoCreate()) 5732 throw new Error("Attempt to auto-create TestScriptMetadataCapabilityComponent.destination"); 5733 else if (Configuration.doAutoCreate()) 5734 this.destination = new IntegerType(); // bb 5735 return this.destination; 5736 } 5737 5738 public boolean hasDestinationElement() { 5739 return this.destination != null && !this.destination.isEmpty(); 5740 } 5741 5742 public boolean hasDestination() { 5743 return this.destination != null && !this.destination.isEmpty(); 5744 } 5745 5746 /** 5747 * @param value {@link #destination} (Which server these requirements apply to.). This is the underlying object with id, value and extensions. The accessor "getDestination" gives direct access to the value 5748 */ 5749 public TestScriptMetadataCapabilityComponent setDestinationElement(IntegerType value) { 5750 this.destination = value; 5751 return this; 5752 } 5753 5754 /** 5755 * @return Which server these requirements apply to. 5756 */ 5757 public int getDestination() { 5758 return this.destination == null || this.destination.isEmpty() ? 0 : this.destination.getValue(); 5759 } 5760 5761 /** 5762 * @param value Which server these requirements apply to. 5763 */ 5764 public TestScriptMetadataCapabilityComponent setDestination(int value) { 5765 if (this.destination == null) 5766 this.destination = new IntegerType(); 5767 this.destination.setValue(value); 5768 return this; 5769 } 5770 5771 /** 5772 * @return {@link #link} (Links to the FHIR specification that describes this interaction and the resources involved in more detail.) 5773 */ 5774 public List<UriType> getLink() { 5775 if (this.link == null) 5776 this.link = new ArrayList<UriType>(); 5777 return this.link; 5778 } 5779 5780 /** 5781 * @return Returns a reference to <code>this</code> for easy method chaining 5782 */ 5783 public TestScriptMetadataCapabilityComponent setLink(List<UriType> theLink) { 5784 this.link = theLink; 5785 return this; 5786 } 5787 5788 public boolean hasLink() { 5789 if (this.link == null) 5790 return false; 5791 for (UriType item : this.link) 5792 if (!item.isEmpty()) 5793 return true; 5794 return false; 5795 } 5796 5797 /** 5798 * @return {@link #link} (Links to the FHIR specification that describes this interaction and the resources involved in more detail.) 5799 */ 5800 public UriType addLinkElement() {//2 5801 UriType t = new UriType(); 5802 if (this.link == null) 5803 this.link = new ArrayList<UriType>(); 5804 this.link.add(t); 5805 return t; 5806 } 5807 5808 /** 5809 * @param value {@link #link} (Links to the FHIR specification that describes this interaction and the resources involved in more detail.) 5810 */ 5811 public TestScriptMetadataCapabilityComponent addLink(String value) { //1 5812 UriType t = new UriType(); 5813 t.setValue(value); 5814 if (this.link == null) 5815 this.link = new ArrayList<UriType>(); 5816 this.link.add(t); 5817 return this; 5818 } 5819 5820 /** 5821 * @param value {@link #link} (Links to the FHIR specification that describes this interaction and the resources involved in more detail.) 5822 */ 5823 public boolean hasLink(String value) { 5824 if (this.link == null) 5825 return false; 5826 for (UriType v : this.link) 5827 if (v.getValue().equals(value)) // uri 5828 return true; 5829 return false; 5830 } 5831 5832 /** 5833 * @return {@link #capabilities} (Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped.). This is the underlying object with id, value and extensions. The accessor "getCapabilities" gives direct access to the value 5834 */ 5835 public CanonicalType getCapabilitiesElement() { 5836 if (this.capabilities == null) 5837 if (Configuration.errorOnAutoCreate()) 5838 throw new Error("Attempt to auto-create TestScriptMetadataCapabilityComponent.capabilities"); 5839 else if (Configuration.doAutoCreate()) 5840 this.capabilities = new CanonicalType(); // bb 5841 return this.capabilities; 5842 } 5843 5844 public boolean hasCapabilitiesElement() { 5845 return this.capabilities != null && !this.capabilities.isEmpty(); 5846 } 5847 5848 public boolean hasCapabilities() { 5849 return this.capabilities != null && !this.capabilities.isEmpty(); 5850 } 5851 5852 /** 5853 * @param value {@link #capabilities} (Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped.). This is the underlying object with id, value and extensions. The accessor "getCapabilities" gives direct access to the value 5854 */ 5855 public TestScriptMetadataCapabilityComponent setCapabilitiesElement(CanonicalType value) { 5856 this.capabilities = value; 5857 return this; 5858 } 5859 5860 /** 5861 * @return Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped. 5862 */ 5863 public String getCapabilities() { 5864 return this.capabilities == null ? null : this.capabilities.getValue(); 5865 } 5866 5867 /** 5868 * @param value Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped. 5869 */ 5870 public TestScriptMetadataCapabilityComponent setCapabilities(String value) { 5871 if (this.capabilities == null) 5872 this.capabilities = new CanonicalType(); 5873 this.capabilities.setValue(value); 5874 return this; 5875 } 5876 5877 protected void listChildren(List<Property> children) { 5878 super.listChildren(children); 5879 children.add(new Property("required", "boolean", "Whether or not the test execution will require the given capabilities of the server in order for this test script to execute.", 0, 1, required)); 5880 children.add(new Property("validated", "boolean", "Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.", 0, 1, validated)); 5881 children.add(new Property("description", "string", "Description of the capabilities that this test script is requiring the server to support.", 0, 1, description)); 5882 children.add(new Property("origin", "integer", "Which origin server these requirements apply to.", 0, java.lang.Integer.MAX_VALUE, origin)); 5883 children.add(new Property("destination", "integer", "Which server these requirements apply to.", 0, 1, destination)); 5884 children.add(new Property("link", "uri", "Links to the FHIR specification that describes this interaction and the resources involved in more detail.", 0, java.lang.Integer.MAX_VALUE, link)); 5885 children.add(new Property("capabilities", "canonical(CapabilityStatement)", "Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped.", 0, 1, capabilities)); 5886 } 5887 5888 @Override 5889 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5890 switch (_hash) { 5891 case -393139297: /*required*/ return new Property("required", "boolean", "Whether or not the test execution will require the given capabilities of the server in order for this test script to execute.", 0, 1, required); 5892 case -1109784050: /*validated*/ return new Property("validated", "boolean", "Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.", 0, 1, validated); 5893 case -1724546052: /*description*/ return new Property("description", "string", "Description of the capabilities that this test script is requiring the server to support.", 0, 1, description); 5894 case -1008619738: /*origin*/ return new Property("origin", "integer", "Which origin server these requirements apply to.", 0, java.lang.Integer.MAX_VALUE, origin); 5895 case -1429847026: /*destination*/ return new Property("destination", "integer", "Which server these requirements apply to.", 0, 1, destination); 5896 case 3321850: /*link*/ return new Property("link", "uri", "Links to the FHIR specification that describes this interaction and the resources involved in more detail.", 0, java.lang.Integer.MAX_VALUE, link); 5897 case -1487597642: /*capabilities*/ return new Property("capabilities", "canonical(CapabilityStatement)", "Minimum capabilities required of server for test script to execute successfully. If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped.", 0, 1, capabilities); 5898 default: return super.getNamedProperty(_hash, _name, _checkValid); 5899 } 5900 5901 } 5902 5903 @Override 5904 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5905 switch (hash) { 5906 case -393139297: /*required*/ return this.required == null ? new Base[0] : new Base[] {this.required}; // BooleanType 5907 case -1109784050: /*validated*/ return this.validated == null ? new Base[0] : new Base[] {this.validated}; // BooleanType 5908 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 5909 case -1008619738: /*origin*/ return this.origin == null ? new Base[0] : this.origin.toArray(new Base[this.origin.size()]); // IntegerType 5910 case -1429847026: /*destination*/ return this.destination == null ? new Base[0] : new Base[] {this.destination}; // IntegerType 5911 case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // UriType 5912 case -1487597642: /*capabilities*/ return this.capabilities == null ? new Base[0] : new Base[] {this.capabilities}; // CanonicalType 5913 default: return super.getProperty(hash, name, checkValid); 5914 } 5915 5916 } 5917 5918 @Override 5919 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5920 switch (hash) { 5921 case -393139297: // required 5922 this.required = TypeConvertor.castToBoolean(value); // BooleanType 5923 return value; 5924 case -1109784050: // validated 5925 this.validated = TypeConvertor.castToBoolean(value); // BooleanType 5926 return value; 5927 case -1724546052: // description 5928 this.description = TypeConvertor.castToString(value); // StringType 5929 return value; 5930 case -1008619738: // origin 5931 this.getOrigin().add(TypeConvertor.castToInteger(value)); // IntegerType 5932 return value; 5933 case -1429847026: // destination 5934 this.destination = TypeConvertor.castToInteger(value); // IntegerType 5935 return value; 5936 case 3321850: // link 5937 this.getLink().add(TypeConvertor.castToUri(value)); // UriType 5938 return value; 5939 case -1487597642: // capabilities 5940 this.capabilities = TypeConvertor.castToCanonical(value); // CanonicalType 5941 return value; 5942 default: return super.setProperty(hash, name, value); 5943 } 5944 5945 } 5946 5947 @Override 5948 public Base setProperty(String name, Base value) throws FHIRException { 5949 if (name.equals("required")) { 5950 this.required = TypeConvertor.castToBoolean(value); // BooleanType 5951 } else if (name.equals("validated")) { 5952 this.validated = TypeConvertor.castToBoolean(value); // BooleanType 5953 } else if (name.equals("description")) { 5954 this.description = TypeConvertor.castToString(value); // StringType 5955 } else if (name.equals("origin")) { 5956 this.getOrigin().add(TypeConvertor.castToInteger(value)); 5957 } else if (name.equals("destination")) { 5958 this.destination = TypeConvertor.castToInteger(value); // IntegerType 5959 } else if (name.equals("link")) { 5960 this.getLink().add(TypeConvertor.castToUri(value)); 5961 } else if (name.equals("capabilities")) { 5962 this.capabilities = TypeConvertor.castToCanonical(value); // CanonicalType 5963 } else 5964 return super.setProperty(name, value); 5965 return value; 5966 } 5967 5968 @Override 5969 public Base makeProperty(int hash, String name) throws FHIRException { 5970 switch (hash) { 5971 case -393139297: return getRequiredElement(); 5972 case -1109784050: return getValidatedElement(); 5973 case -1724546052: return getDescriptionElement(); 5974 case -1008619738: return addOriginElement(); 5975 case -1429847026: return getDestinationElement(); 5976 case 3321850: return addLinkElement(); 5977 case -1487597642: return getCapabilitiesElement(); 5978 default: return super.makeProperty(hash, name); 5979 } 5980 5981 } 5982 5983 @Override 5984 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5985 switch (hash) { 5986 case -393139297: /*required*/ return new String[] {"boolean"}; 5987 case -1109784050: /*validated*/ return new String[] {"boolean"}; 5988 case -1724546052: /*description*/ return new String[] {"string"}; 5989 case -1008619738: /*origin*/ return new String[] {"integer"}; 5990 case -1429847026: /*destination*/ return new String[] {"integer"}; 5991 case 3321850: /*link*/ return new String[] {"uri"}; 5992 case -1487597642: /*capabilities*/ return new String[] {"canonical"}; 5993 default: return super.getTypesForProperty(hash, name); 5994 } 5995 5996 } 5997 5998 @Override 5999 public Base addChild(String name) throws FHIRException { 6000 if (name.equals("required")) { 6001 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.required"); 6002 } 6003 else if (name.equals("validated")) { 6004 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.validated"); 6005 } 6006 else if (name.equals("description")) { 6007 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.description"); 6008 } 6009 else if (name.equals("origin")) { 6010 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.origin"); 6011 } 6012 else if (name.equals("destination")) { 6013 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.destination"); 6014 } 6015 else if (name.equals("link")) { 6016 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.link"); 6017 } 6018 else if (name.equals("capabilities")) { 6019 throw new FHIRException("Cannot call addChild on a primitive type TestScript.metadata.capability.capabilities"); 6020 } 6021 else 6022 return super.addChild(name); 6023 } 6024 6025 public TestScriptMetadataCapabilityComponent copy() { 6026 TestScriptMetadataCapabilityComponent dst = new TestScriptMetadataCapabilityComponent(); 6027 copyValues(dst); 6028 return dst; 6029 } 6030 6031 public void copyValues(TestScriptMetadataCapabilityComponent dst) { 6032 super.copyValues(dst); 6033 dst.required = required == null ? null : required.copy(); 6034 dst.validated = validated == null ? null : validated.copy(); 6035 dst.description = description == null ? null : description.copy(); 6036 if (origin != null) { 6037 dst.origin = new ArrayList<IntegerType>(); 6038 for (IntegerType i : origin) 6039 dst.origin.add(i.copy()); 6040 }; 6041 dst.destination = destination == null ? null : destination.copy(); 6042 if (link != null) { 6043 dst.link = new ArrayList<UriType>(); 6044 for (UriType i : link) 6045 dst.link.add(i.copy()); 6046 }; 6047 dst.capabilities = capabilities == null ? null : capabilities.copy(); 6048 } 6049 6050 @Override 6051 public boolean equalsDeep(Base other_) { 6052 if (!super.equalsDeep(other_)) 6053 return false; 6054 if (!(other_ instanceof TestScriptMetadataCapabilityComponent)) 6055 return false; 6056 TestScriptMetadataCapabilityComponent o = (TestScriptMetadataCapabilityComponent) other_; 6057 return compareDeep(required, o.required, true) && compareDeep(validated, o.validated, true) && compareDeep(description, o.description, true) 6058 && compareDeep(origin, o.origin, true) && compareDeep(destination, o.destination, true) && compareDeep(link, o.link, true) 6059 && compareDeep(capabilities, o.capabilities, true); 6060 } 6061 6062 @Override 6063 public boolean equalsShallow(Base other_) { 6064 if (!super.equalsShallow(other_)) 6065 return false; 6066 if (!(other_ instanceof TestScriptMetadataCapabilityComponent)) 6067 return false; 6068 TestScriptMetadataCapabilityComponent o = (TestScriptMetadataCapabilityComponent) other_; 6069 return compareValues(required, o.required, true) && compareValues(validated, o.validated, true) && compareValues(description, o.description, true) 6070 && compareValues(origin, o.origin, true) && compareValues(destination, o.destination, true) && compareValues(link, o.link, true) 6071 && compareValues(capabilities, o.capabilities, true); 6072 } 6073 6074 public boolean isEmpty() { 6075 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(required, validated, description 6076 , origin, destination, link, capabilities); 6077 } 6078 6079 public String fhirType() { 6080 return "TestScript.metadata.capability"; 6081 6082 } 6083 6084 } 6085 6086 @Block() 6087 public static class TestScriptScopeComponent extends BackboneElement implements IBaseBackboneElement { 6088 /** 6089 * The specific conformance artifact being tested. The canonical reference can be version-specific. 6090 */ 6091 @Child(name = "artifact", type = {CanonicalType.class}, order=1, min=1, max=1, modifier=false, summary=false) 6092 @Description(shortDefinition="The specific conformance artifact being tested", formalDefinition="The specific conformance artifact being tested. The canonical reference can be version-specific." ) 6093 protected CanonicalType artifact; 6094 6095 /** 6096 * The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed. 6097 */ 6098 @Child(name = "conformance", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 6099 @Description(shortDefinition="required | optional", formalDefinition="The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed." ) 6100 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-scope-conformance-codes") 6101 protected CodeableConcept conformance; 6102 6103 /** 6104 * The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data). 6105 */ 6106 @Child(name = "phase", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 6107 @Description(shortDefinition="unit | integration | production", formalDefinition="The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data)." ) 6108 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-scope-phase-codes") 6109 protected CodeableConcept phase; 6110 6111 private static final long serialVersionUID = 1236847076L; 6112 6113 /** 6114 * Constructor 6115 */ 6116 public TestScriptScopeComponent() { 6117 super(); 6118 } 6119 6120 /** 6121 * Constructor 6122 */ 6123 public TestScriptScopeComponent(String artifact) { 6124 super(); 6125 this.setArtifact(artifact); 6126 } 6127 6128 /** 6129 * @return {@link #artifact} (The specific conformance artifact being tested. The canonical reference can be version-specific.). This is the underlying object with id, value and extensions. The accessor "getArtifact" gives direct access to the value 6130 */ 6131 public CanonicalType getArtifactElement() { 6132 if (this.artifact == null) 6133 if (Configuration.errorOnAutoCreate()) 6134 throw new Error("Attempt to auto-create TestScriptScopeComponent.artifact"); 6135 else if (Configuration.doAutoCreate()) 6136 this.artifact = new CanonicalType(); // bb 6137 return this.artifact; 6138 } 6139 6140 public boolean hasArtifactElement() { 6141 return this.artifact != null && !this.artifact.isEmpty(); 6142 } 6143 6144 public boolean hasArtifact() { 6145 return this.artifact != null && !this.artifact.isEmpty(); 6146 } 6147 6148 /** 6149 * @param value {@link #artifact} (The specific conformance artifact being tested. The canonical reference can be version-specific.). This is the underlying object with id, value and extensions. The accessor "getArtifact" gives direct access to the value 6150 */ 6151 public TestScriptScopeComponent setArtifactElement(CanonicalType value) { 6152 this.artifact = value; 6153 return this; 6154 } 6155 6156 /** 6157 * @return The specific conformance artifact being tested. The canonical reference can be version-specific. 6158 */ 6159 public String getArtifact() { 6160 return this.artifact == null ? null : this.artifact.getValue(); 6161 } 6162 6163 /** 6164 * @param value The specific conformance artifact being tested. The canonical reference can be version-specific. 6165 */ 6166 public TestScriptScopeComponent setArtifact(String value) { 6167 if (this.artifact == null) 6168 this.artifact = new CanonicalType(); 6169 this.artifact.setValue(value); 6170 return this; 6171 } 6172 6173 /** 6174 * @return {@link #conformance} (The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed.) 6175 */ 6176 public CodeableConcept getConformance() { 6177 if (this.conformance == null) 6178 if (Configuration.errorOnAutoCreate()) 6179 throw new Error("Attempt to auto-create TestScriptScopeComponent.conformance"); 6180 else if (Configuration.doAutoCreate()) 6181 this.conformance = new CodeableConcept(); // cc 6182 return this.conformance; 6183 } 6184 6185 public boolean hasConformance() { 6186 return this.conformance != null && !this.conformance.isEmpty(); 6187 } 6188 6189 /** 6190 * @param value {@link #conformance} (The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed.) 6191 */ 6192 public TestScriptScopeComponent setConformance(CodeableConcept value) { 6193 this.conformance = value; 6194 return this; 6195 } 6196 6197 /** 6198 * @return {@link #phase} (The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data).) 6199 */ 6200 public CodeableConcept getPhase() { 6201 if (this.phase == null) 6202 if (Configuration.errorOnAutoCreate()) 6203 throw new Error("Attempt to auto-create TestScriptScopeComponent.phase"); 6204 else if (Configuration.doAutoCreate()) 6205 this.phase = new CodeableConcept(); // cc 6206 return this.phase; 6207 } 6208 6209 public boolean hasPhase() { 6210 return this.phase != null && !this.phase.isEmpty(); 6211 } 6212 6213 /** 6214 * @param value {@link #phase} (The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data).) 6215 */ 6216 public TestScriptScopeComponent setPhase(CodeableConcept value) { 6217 this.phase = value; 6218 return this; 6219 } 6220 6221 protected void listChildren(List<Property> children) { 6222 super.listChildren(children); 6223 children.add(new Property("artifact", "canonical(Any)", "The specific conformance artifact being tested. The canonical reference can be version-specific.", 0, 1, artifact)); 6224 children.add(new Property("conformance", "CodeableConcept", "The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed.", 0, 1, conformance)); 6225 children.add(new Property("phase", "CodeableConcept", "The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data).", 0, 1, phase)); 6226 } 6227 6228 @Override 6229 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 6230 switch (_hash) { 6231 case -1228798510: /*artifact*/ return new Property("artifact", "canonical(Any)", "The specific conformance artifact being tested. The canonical reference can be version-specific.", 0, 1, artifact); 6232 case 1374858133: /*conformance*/ return new Property("conformance", "CodeableConcept", "The expectation of whether the test must pass for the system to be considered conformant with the artifact: required - all tests must pass, optional - all test are expected to pass but non-pass status may be allowed.", 0, 1, conformance); 6233 case 106629499: /*phase*/ return new Property("phase", "CodeableConcept", "The phase of testing for this artifact: unit - development / implementation phase, integration - internal system to system phase, production - live system to system phase (Note, this may involve pii/phi data).", 0, 1, phase); 6234 default: return super.getNamedProperty(_hash, _name, _checkValid); 6235 } 6236 6237 } 6238 6239 @Override 6240 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 6241 switch (hash) { 6242 case -1228798510: /*artifact*/ return this.artifact == null ? new Base[0] : new Base[] {this.artifact}; // CanonicalType 6243 case 1374858133: /*conformance*/ return this.conformance == null ? new Base[0] : new Base[] {this.conformance}; // CodeableConcept 6244 case 106629499: /*phase*/ return this.phase == null ? new Base[0] : new Base[] {this.phase}; // CodeableConcept 6245 default: return super.getProperty(hash, name, checkValid); 6246 } 6247 6248 } 6249 6250 @Override 6251 public Base setProperty(int hash, String name, Base value) throws FHIRException { 6252 switch (hash) { 6253 case -1228798510: // artifact 6254 this.artifact = TypeConvertor.castToCanonical(value); // CanonicalType 6255 return value; 6256 case 1374858133: // conformance 6257 this.conformance = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 6258 return value; 6259 case 106629499: // phase 6260 this.phase = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 6261 return value; 6262 default: return super.setProperty(hash, name, value); 6263 } 6264 6265 } 6266 6267 @Override 6268 public Base setProperty(String name, Base value) throws FHIRException { 6269 if (name.equals("artifact")) { 6270 this.artifact = TypeConvertor.castToCanonical(value); // CanonicalType 6271 } else if (name.equals("conformance")) { 6272 this.conformance = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 6273 } else if (name.equals("phase")) { 6274 this.phase = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 6275 } else 6276 return super.setProperty(name, value); 6277 return value; 6278 } 6279 6280 @Override 6281 public Base makeProperty(int hash, String name) throws FHIRException { 6282 switch (hash) { 6283 case -1228798510: return getArtifactElement(); 6284 case 1374858133: return getConformance(); 6285 case 106629499: return getPhase(); 6286 default: return super.makeProperty(hash, name); 6287 } 6288 6289 } 6290 6291 @Override 6292 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 6293 switch (hash) { 6294 case -1228798510: /*artifact*/ return new String[] {"canonical"}; 6295 case 1374858133: /*conformance*/ return new String[] {"CodeableConcept"}; 6296 case 106629499: /*phase*/ return new String[] {"CodeableConcept"}; 6297 default: return super.getTypesForProperty(hash, name); 6298 } 6299 6300 } 6301 6302 @Override 6303 public Base addChild(String name) throws FHIRException { 6304 if (name.equals("artifact")) { 6305 throw new FHIRException("Cannot call addChild on a primitive type TestScript.scope.artifact"); 6306 } 6307 else if (name.equals("conformance")) { 6308 this.conformance = new CodeableConcept(); 6309 return this.conformance; 6310 } 6311 else if (name.equals("phase")) { 6312 this.phase = new CodeableConcept(); 6313 return this.phase; 6314 } 6315 else 6316 return super.addChild(name); 6317 } 6318 6319 public TestScriptScopeComponent copy() { 6320 TestScriptScopeComponent dst = new TestScriptScopeComponent(); 6321 copyValues(dst); 6322 return dst; 6323 } 6324 6325 public void copyValues(TestScriptScopeComponent dst) { 6326 super.copyValues(dst); 6327 dst.artifact = artifact == null ? null : artifact.copy(); 6328 dst.conformance = conformance == null ? null : conformance.copy(); 6329 dst.phase = phase == null ? null : phase.copy(); 6330 } 6331 6332 @Override 6333 public boolean equalsDeep(Base other_) { 6334 if (!super.equalsDeep(other_)) 6335 return false; 6336 if (!(other_ instanceof TestScriptScopeComponent)) 6337 return false; 6338 TestScriptScopeComponent o = (TestScriptScopeComponent) other_; 6339 return compareDeep(artifact, o.artifact, true) && compareDeep(conformance, o.conformance, true) 6340 && compareDeep(phase, o.phase, true); 6341 } 6342 6343 @Override 6344 public boolean equalsShallow(Base other_) { 6345 if (!super.equalsShallow(other_)) 6346 return false; 6347 if (!(other_ instanceof TestScriptScopeComponent)) 6348 return false; 6349 TestScriptScopeComponent o = (TestScriptScopeComponent) other_; 6350 return compareValues(artifact, o.artifact, true); 6351 } 6352 6353 public boolean isEmpty() { 6354 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(artifact, conformance, phase 6355 ); 6356 } 6357 6358 public String fhirType() { 6359 return "TestScript.scope"; 6360 6361 } 6362 6363 } 6364 6365 @Block() 6366 public static class TestScriptFixtureComponent extends BackboneElement implements IBaseBackboneElement { 6367 /** 6368 * Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. 6369 */ 6370 @Child(name = "autocreate", type = {BooleanType.class}, order=1, min=1, max=1, modifier=false, summary=false) 6371 @Description(shortDefinition="Whether or not to implicitly create the fixture during setup", formalDefinition="Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section." ) 6372 protected BooleanType autocreate; 6373 6374 /** 6375 * Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. 6376 */ 6377 @Child(name = "autodelete", type = {BooleanType.class}, order=2, min=1, max=1, modifier=false, summary=false) 6378 @Description(shortDefinition="Whether or not to implicitly delete the fixture during teardown", formalDefinition="Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section." ) 6379 protected BooleanType autodelete; 6380 6381 /** 6382 * Reference to the resource (containing the contents of the resource needed for operations). 6383 */ 6384 @Child(name = "resource", type = {Reference.class}, order=3, min=0, max=1, modifier=false, summary=false) 6385 @Description(shortDefinition="Reference of the resource", formalDefinition="Reference to the resource (containing the contents of the resource needed for operations)." ) 6386 protected Reference resource; 6387 6388 private static final long serialVersionUID = 672117234L; 6389 6390 /** 6391 * Constructor 6392 */ 6393 public TestScriptFixtureComponent() { 6394 super(); 6395 } 6396 6397 /** 6398 * Constructor 6399 */ 6400 public TestScriptFixtureComponent(boolean autocreate, boolean autodelete) { 6401 super(); 6402 this.setAutocreate(autocreate); 6403 this.setAutodelete(autodelete); 6404 } 6405 6406 /** 6407 * @return {@link #autocreate} (Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.). This is the underlying object with id, value and extensions. The accessor "getAutocreate" gives direct access to the value 6408 */ 6409 public BooleanType getAutocreateElement() { 6410 if (this.autocreate == null) 6411 if (Configuration.errorOnAutoCreate()) 6412 throw new Error("Attempt to auto-create TestScriptFixtureComponent.autocreate"); 6413 else if (Configuration.doAutoCreate()) 6414 this.autocreate = new BooleanType(); // bb 6415 return this.autocreate; 6416 } 6417 6418 public boolean hasAutocreateElement() { 6419 return this.autocreate != null && !this.autocreate.isEmpty(); 6420 } 6421 6422 public boolean hasAutocreate() { 6423 return this.autocreate != null && !this.autocreate.isEmpty(); 6424 } 6425 6426 /** 6427 * @param value {@link #autocreate} (Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.). This is the underlying object with id, value and extensions. The accessor "getAutocreate" gives direct access to the value 6428 */ 6429 public TestScriptFixtureComponent setAutocreateElement(BooleanType value) { 6430 this.autocreate = value; 6431 return this; 6432 } 6433 6434 /** 6435 * @return Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. 6436 */ 6437 public boolean getAutocreate() { 6438 return this.autocreate == null || this.autocreate.isEmpty() ? false : this.autocreate.getValue(); 6439 } 6440 6441 /** 6442 * @param value Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section. 6443 */ 6444 public TestScriptFixtureComponent setAutocreate(boolean value) { 6445 if (this.autocreate == null) 6446 this.autocreate = new BooleanType(); 6447 this.autocreate.setValue(value); 6448 return this; 6449 } 6450 6451 /** 6452 * @return {@link #autodelete} (Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.). This is the underlying object with id, value and extensions. The accessor "getAutodelete" gives direct access to the value 6453 */ 6454 public BooleanType getAutodeleteElement() { 6455 if (this.autodelete == null) 6456 if (Configuration.errorOnAutoCreate()) 6457 throw new Error("Attempt to auto-create TestScriptFixtureComponent.autodelete"); 6458 else if (Configuration.doAutoCreate()) 6459 this.autodelete = new BooleanType(); // bb 6460 return this.autodelete; 6461 } 6462 6463 public boolean hasAutodeleteElement() { 6464 return this.autodelete != null && !this.autodelete.isEmpty(); 6465 } 6466 6467 public boolean hasAutodelete() { 6468 return this.autodelete != null && !this.autodelete.isEmpty(); 6469 } 6470 6471 /** 6472 * @param value {@link #autodelete} (Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.). This is the underlying object with id, value and extensions. The accessor "getAutodelete" gives direct access to the value 6473 */ 6474 public TestScriptFixtureComponent setAutodeleteElement(BooleanType value) { 6475 this.autodelete = value; 6476 return this; 6477 } 6478 6479 /** 6480 * @return Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. 6481 */ 6482 public boolean getAutodelete() { 6483 return this.autodelete == null || this.autodelete.isEmpty() ? false : this.autodelete.getValue(); 6484 } 6485 6486 /** 6487 * @param value Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section. 6488 */ 6489 public TestScriptFixtureComponent setAutodelete(boolean value) { 6490 if (this.autodelete == null) 6491 this.autodelete = new BooleanType(); 6492 this.autodelete.setValue(value); 6493 return this; 6494 } 6495 6496 /** 6497 * @return {@link #resource} (Reference to the resource (containing the contents of the resource needed for operations).) 6498 */ 6499 public Reference getResource() { 6500 if (this.resource == null) 6501 if (Configuration.errorOnAutoCreate()) 6502 throw new Error("Attempt to auto-create TestScriptFixtureComponent.resource"); 6503 else if (Configuration.doAutoCreate()) 6504 this.resource = new Reference(); // cc 6505 return this.resource; 6506 } 6507 6508 public boolean hasResource() { 6509 return this.resource != null && !this.resource.isEmpty(); 6510 } 6511 6512 /** 6513 * @param value {@link #resource} (Reference to the resource (containing the contents of the resource needed for operations).) 6514 */ 6515 public TestScriptFixtureComponent setResource(Reference value) { 6516 this.resource = value; 6517 return this; 6518 } 6519 6520 protected void listChildren(List<Property> children) { 6521 super.listChildren(children); 6522 children.add(new Property("autocreate", "boolean", "Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.", 0, 1, autocreate)); 6523 children.add(new Property("autodelete", "boolean", "Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.", 0, 1, autodelete)); 6524 children.add(new Property("resource", "Reference(Any)", "Reference to the resource (containing the contents of the resource needed for operations).", 0, 1, resource)); 6525 } 6526 6527 @Override 6528 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 6529 switch (_hash) { 6530 case 73154411: /*autocreate*/ return new Property("autocreate", "boolean", "Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.", 0, 1, autocreate); 6531 case 89990170: /*autodelete*/ return new Property("autodelete", "boolean", "Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.", 0, 1, autodelete); 6532 case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "Reference to the resource (containing the contents of the resource needed for operations).", 0, 1, resource); 6533 default: return super.getNamedProperty(_hash, _name, _checkValid); 6534 } 6535 6536 } 6537 6538 @Override 6539 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 6540 switch (hash) { 6541 case 73154411: /*autocreate*/ return this.autocreate == null ? new Base[0] : new Base[] {this.autocreate}; // BooleanType 6542 case 89990170: /*autodelete*/ return this.autodelete == null ? new Base[0] : new Base[] {this.autodelete}; // BooleanType 6543 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Reference 6544 default: return super.getProperty(hash, name, checkValid); 6545 } 6546 6547 } 6548 6549 @Override 6550 public Base setProperty(int hash, String name, Base value) throws FHIRException { 6551 switch (hash) { 6552 case 73154411: // autocreate 6553 this.autocreate = TypeConvertor.castToBoolean(value); // BooleanType 6554 return value; 6555 case 89990170: // autodelete 6556 this.autodelete = TypeConvertor.castToBoolean(value); // BooleanType 6557 return value; 6558 case -341064690: // resource 6559 this.resource = TypeConvertor.castToReference(value); // Reference 6560 return value; 6561 default: return super.setProperty(hash, name, value); 6562 } 6563 6564 } 6565 6566 @Override 6567 public Base setProperty(String name, Base value) throws FHIRException { 6568 if (name.equals("autocreate")) { 6569 this.autocreate = TypeConvertor.castToBoolean(value); // BooleanType 6570 } else if (name.equals("autodelete")) { 6571 this.autodelete = TypeConvertor.castToBoolean(value); // BooleanType 6572 } else if (name.equals("resource")) { 6573 this.resource = TypeConvertor.castToReference(value); // Reference 6574 } else 6575 return super.setProperty(name, value); 6576 return value; 6577 } 6578 6579 @Override 6580 public Base makeProperty(int hash, String name) throws FHIRException { 6581 switch (hash) { 6582 case 73154411: return getAutocreateElement(); 6583 case 89990170: return getAutodeleteElement(); 6584 case -341064690: return getResource(); 6585 default: return super.makeProperty(hash, name); 6586 } 6587 6588 } 6589 6590 @Override 6591 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 6592 switch (hash) { 6593 case 73154411: /*autocreate*/ return new String[] {"boolean"}; 6594 case 89990170: /*autodelete*/ return new String[] {"boolean"}; 6595 case -341064690: /*resource*/ return new String[] {"Reference"}; 6596 default: return super.getTypesForProperty(hash, name); 6597 } 6598 6599 } 6600 6601 @Override 6602 public Base addChild(String name) throws FHIRException { 6603 if (name.equals("autocreate")) { 6604 throw new FHIRException("Cannot call addChild on a primitive type TestScript.fixture.autocreate"); 6605 } 6606 else if (name.equals("autodelete")) { 6607 throw new FHIRException("Cannot call addChild on a primitive type TestScript.fixture.autodelete"); 6608 } 6609 else if (name.equals("resource")) { 6610 this.resource = new Reference(); 6611 return this.resource; 6612 } 6613 else 6614 return super.addChild(name); 6615 } 6616 6617 public TestScriptFixtureComponent copy() { 6618 TestScriptFixtureComponent dst = new TestScriptFixtureComponent(); 6619 copyValues(dst); 6620 return dst; 6621 } 6622 6623 public void copyValues(TestScriptFixtureComponent dst) { 6624 super.copyValues(dst); 6625 dst.autocreate = autocreate == null ? null : autocreate.copy(); 6626 dst.autodelete = autodelete == null ? null : autodelete.copy(); 6627 dst.resource = resource == null ? null : resource.copy(); 6628 } 6629 6630 @Override 6631 public boolean equalsDeep(Base other_) { 6632 if (!super.equalsDeep(other_)) 6633 return false; 6634 if (!(other_ instanceof TestScriptFixtureComponent)) 6635 return false; 6636 TestScriptFixtureComponent o = (TestScriptFixtureComponent) other_; 6637 return compareDeep(autocreate, o.autocreate, true) && compareDeep(autodelete, o.autodelete, true) 6638 && compareDeep(resource, o.resource, true); 6639 } 6640 6641 @Override 6642 public boolean equalsShallow(Base other_) { 6643 if (!super.equalsShallow(other_)) 6644 return false; 6645 if (!(other_ instanceof TestScriptFixtureComponent)) 6646 return false; 6647 TestScriptFixtureComponent o = (TestScriptFixtureComponent) other_; 6648 return compareValues(autocreate, o.autocreate, true) && compareValues(autodelete, o.autodelete, true) 6649 ; 6650 } 6651 6652 public boolean isEmpty() { 6653 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(autocreate, autodelete, resource 6654 ); 6655 } 6656 6657 public String fhirType() { 6658 return "TestScript.fixture"; 6659 6660 } 6661 6662 } 6663 6664 @Block() 6665 public static class TestScriptVariableComponent extends BackboneElement implements IBaseBackboneElement { 6666 /** 6667 * Descriptive name for this variable. 6668 */ 6669 @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 6670 @Description(shortDefinition="Descriptive name for this variable", formalDefinition="Descriptive name for this variable." ) 6671 protected StringType name; 6672 6673 /** 6674 * A default, hard-coded, or user-defined value for this variable. 6675 */ 6676 @Child(name = "defaultValue", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 6677 @Description(shortDefinition="Default, hard-coded, or user-defined value for this variable", formalDefinition="A default, hard-coded, or user-defined value for this variable." ) 6678 protected StringType defaultValue; 6679 6680 /** 6681 * A free text natural language description of the variable and its purpose. 6682 */ 6683 @Child(name = "description", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 6684 @Description(shortDefinition="Natural language description of the variable", formalDefinition="A free text natural language description of the variable and its purpose." ) 6685 protected StringType description; 6686 6687 /** 6688 * The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified. 6689 */ 6690 @Child(name = "expression", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 6691 @Description(shortDefinition="The FHIRPath expression against the fixture body", formalDefinition="The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified." ) 6692 protected StringType expression; 6693 6694 /** 6695 * Will be used to grab the HTTP header field value from the headers that sourceId is pointing to. 6696 */ 6697 @Child(name = "headerField", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 6698 @Description(shortDefinition="HTTP header field name for source", formalDefinition="Will be used to grab the HTTP header field value from the headers that sourceId is pointing to." ) 6699 protected StringType headerField; 6700 6701 /** 6702 * Displayable text string with hint help information to the user when entering a default value. 6703 */ 6704 @Child(name = "hint", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 6705 @Description(shortDefinition="Hint help text for default value to enter", formalDefinition="Displayable text string with hint help information to the user when entering a default value." ) 6706 protected StringType hint; 6707 6708 /** 6709 * XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified. 6710 */ 6711 @Child(name = "path", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) 6712 @Description(shortDefinition="XPath or JSONPath against the fixture body", formalDefinition="XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified." ) 6713 protected StringType path; 6714 6715 /** 6716 * Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable. 6717 */ 6718 @Child(name = "sourceId", type = {IdType.class}, order=8, min=0, max=1, modifier=false, summary=false) 6719 @Description(shortDefinition="Fixture Id of source expression or headerField within this variable", formalDefinition="Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable." ) 6720 protected IdType sourceId; 6721 6722 private static final long serialVersionUID = -1592325432L; 6723 6724 /** 6725 * Constructor 6726 */ 6727 public TestScriptVariableComponent() { 6728 super(); 6729 } 6730 6731 /** 6732 * Constructor 6733 */ 6734 public TestScriptVariableComponent(String name) { 6735 super(); 6736 this.setName(name); 6737 } 6738 6739 /** 6740 * @return {@link #name} (Descriptive name for this variable.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 6741 */ 6742 public StringType getNameElement() { 6743 if (this.name == null) 6744 if (Configuration.errorOnAutoCreate()) 6745 throw new Error("Attempt to auto-create TestScriptVariableComponent.name"); 6746 else if (Configuration.doAutoCreate()) 6747 this.name = new StringType(); // bb 6748 return this.name; 6749 } 6750 6751 public boolean hasNameElement() { 6752 return this.name != null && !this.name.isEmpty(); 6753 } 6754 6755 public boolean hasName() { 6756 return this.name != null && !this.name.isEmpty(); 6757 } 6758 6759 /** 6760 * @param value {@link #name} (Descriptive name for this variable.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 6761 */ 6762 public TestScriptVariableComponent setNameElement(StringType value) { 6763 this.name = value; 6764 return this; 6765 } 6766 6767 /** 6768 * @return Descriptive name for this variable. 6769 */ 6770 public String getName() { 6771 return this.name == null ? null : this.name.getValue(); 6772 } 6773 6774 /** 6775 * @param value Descriptive name for this variable. 6776 */ 6777 public TestScriptVariableComponent setName(String value) { 6778 if (this.name == null) 6779 this.name = new StringType(); 6780 this.name.setValue(value); 6781 return this; 6782 } 6783 6784 /** 6785 * @return {@link #defaultValue} (A default, hard-coded, or user-defined value for this variable.). This is the underlying object with id, value and extensions. The accessor "getDefaultValue" gives direct access to the value 6786 */ 6787 public StringType getDefaultValueElement() { 6788 if (this.defaultValue == null) 6789 if (Configuration.errorOnAutoCreate()) 6790 throw new Error("Attempt to auto-create TestScriptVariableComponent.defaultValue"); 6791 else if (Configuration.doAutoCreate()) 6792 this.defaultValue = new StringType(); // bb 6793 return this.defaultValue; 6794 } 6795 6796 public boolean hasDefaultValueElement() { 6797 return this.defaultValue != null && !this.defaultValue.isEmpty(); 6798 } 6799 6800 public boolean hasDefaultValue() { 6801 return this.defaultValue != null && !this.defaultValue.isEmpty(); 6802 } 6803 6804 /** 6805 * @param value {@link #defaultValue} (A default, hard-coded, or user-defined value for this variable.). This is the underlying object with id, value and extensions. The accessor "getDefaultValue" gives direct access to the value 6806 */ 6807 public TestScriptVariableComponent setDefaultValueElement(StringType value) { 6808 this.defaultValue = value; 6809 return this; 6810 } 6811 6812 /** 6813 * @return A default, hard-coded, or user-defined value for this variable. 6814 */ 6815 public String getDefaultValue() { 6816 return this.defaultValue == null ? null : this.defaultValue.getValue(); 6817 } 6818 6819 /** 6820 * @param value A default, hard-coded, or user-defined value for this variable. 6821 */ 6822 public TestScriptVariableComponent setDefaultValue(String value) { 6823 if (Utilities.noString(value)) 6824 this.defaultValue = null; 6825 else { 6826 if (this.defaultValue == null) 6827 this.defaultValue = new StringType(); 6828 this.defaultValue.setValue(value); 6829 } 6830 return this; 6831 } 6832 6833 /** 6834 * @return {@link #description} (A free text natural language description of the variable and its purpose.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 6835 */ 6836 public StringType getDescriptionElement() { 6837 if (this.description == null) 6838 if (Configuration.errorOnAutoCreate()) 6839 throw new Error("Attempt to auto-create TestScriptVariableComponent.description"); 6840 else if (Configuration.doAutoCreate()) 6841 this.description = new StringType(); // bb 6842 return this.description; 6843 } 6844 6845 public boolean hasDescriptionElement() { 6846 return this.description != null && !this.description.isEmpty(); 6847 } 6848 6849 public boolean hasDescription() { 6850 return this.description != null && !this.description.isEmpty(); 6851 } 6852 6853 /** 6854 * @param value {@link #description} (A free text natural language description of the variable and its purpose.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 6855 */ 6856 public TestScriptVariableComponent setDescriptionElement(StringType value) { 6857 this.description = value; 6858 return this; 6859 } 6860 6861 /** 6862 * @return A free text natural language description of the variable and its purpose. 6863 */ 6864 public String getDescription() { 6865 return this.description == null ? null : this.description.getValue(); 6866 } 6867 6868 /** 6869 * @param value A free text natural language description of the variable and its purpose. 6870 */ 6871 public TestScriptVariableComponent setDescription(String value) { 6872 if (Utilities.noString(value)) 6873 this.description = null; 6874 else { 6875 if (this.description == null) 6876 this.description = new StringType(); 6877 this.description.setValue(value); 6878 } 6879 return this; 6880 } 6881 6882 /** 6883 * @return {@link #expression} (The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 6884 */ 6885 public StringType getExpressionElement() { 6886 if (this.expression == null) 6887 if (Configuration.errorOnAutoCreate()) 6888 throw new Error("Attempt to auto-create TestScriptVariableComponent.expression"); 6889 else if (Configuration.doAutoCreate()) 6890 this.expression = new StringType(); // bb 6891 return this.expression; 6892 } 6893 6894 public boolean hasExpressionElement() { 6895 return this.expression != null && !this.expression.isEmpty(); 6896 } 6897 6898 public boolean hasExpression() { 6899 return this.expression != null && !this.expression.isEmpty(); 6900 } 6901 6902 /** 6903 * @param value {@link #expression} (The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 6904 */ 6905 public TestScriptVariableComponent setExpressionElement(StringType value) { 6906 this.expression = value; 6907 return this; 6908 } 6909 6910 /** 6911 * @return The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified. 6912 */ 6913 public String getExpression() { 6914 return this.expression == null ? null : this.expression.getValue(); 6915 } 6916 6917 /** 6918 * @param value The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified. 6919 */ 6920 public TestScriptVariableComponent setExpression(String value) { 6921 if (Utilities.noString(value)) 6922 this.expression = null; 6923 else { 6924 if (this.expression == null) 6925 this.expression = new StringType(); 6926 this.expression.setValue(value); 6927 } 6928 return this; 6929 } 6930 6931 /** 6932 * @return {@link #headerField} (Will be used to grab the HTTP header field value from the headers that sourceId is pointing to.). This is the underlying object with id, value and extensions. The accessor "getHeaderField" gives direct access to the value 6933 */ 6934 public StringType getHeaderFieldElement() { 6935 if (this.headerField == null) 6936 if (Configuration.errorOnAutoCreate()) 6937 throw new Error("Attempt to auto-create TestScriptVariableComponent.headerField"); 6938 else if (Configuration.doAutoCreate()) 6939 this.headerField = new StringType(); // bb 6940 return this.headerField; 6941 } 6942 6943 public boolean hasHeaderFieldElement() { 6944 return this.headerField != null && !this.headerField.isEmpty(); 6945 } 6946 6947 public boolean hasHeaderField() { 6948 return this.headerField != null && !this.headerField.isEmpty(); 6949 } 6950 6951 /** 6952 * @param value {@link #headerField} (Will be used to grab the HTTP header field value from the headers that sourceId is pointing to.). This is the underlying object with id, value and extensions. The accessor "getHeaderField" gives direct access to the value 6953 */ 6954 public TestScriptVariableComponent setHeaderFieldElement(StringType value) { 6955 this.headerField = value; 6956 return this; 6957 } 6958 6959 /** 6960 * @return Will be used to grab the HTTP header field value from the headers that sourceId is pointing to. 6961 */ 6962 public String getHeaderField() { 6963 return this.headerField == null ? null : this.headerField.getValue(); 6964 } 6965 6966 /** 6967 * @param value Will be used to grab the HTTP header field value from the headers that sourceId is pointing to. 6968 */ 6969 public TestScriptVariableComponent setHeaderField(String value) { 6970 if (Utilities.noString(value)) 6971 this.headerField = null; 6972 else { 6973 if (this.headerField == null) 6974 this.headerField = new StringType(); 6975 this.headerField.setValue(value); 6976 } 6977 return this; 6978 } 6979 6980 /** 6981 * @return {@link #hint} (Displayable text string with hint help information to the user when entering a default value.). This is the underlying object with id, value and extensions. The accessor "getHint" gives direct access to the value 6982 */ 6983 public StringType getHintElement() { 6984 if (this.hint == null) 6985 if (Configuration.errorOnAutoCreate()) 6986 throw new Error("Attempt to auto-create TestScriptVariableComponent.hint"); 6987 else if (Configuration.doAutoCreate()) 6988 this.hint = new StringType(); // bb 6989 return this.hint; 6990 } 6991 6992 public boolean hasHintElement() { 6993 return this.hint != null && !this.hint.isEmpty(); 6994 } 6995 6996 public boolean hasHint() { 6997 return this.hint != null && !this.hint.isEmpty(); 6998 } 6999 7000 /** 7001 * @param value {@link #hint} (Displayable text string with hint help information to the user when entering a default value.). This is the underlying object with id, value and extensions. The accessor "getHint" gives direct access to the value 7002 */ 7003 public TestScriptVariableComponent setHintElement(StringType value) { 7004 this.hint = value; 7005 return this; 7006 } 7007 7008 /** 7009 * @return Displayable text string with hint help information to the user when entering a default value. 7010 */ 7011 public String getHint() { 7012 return this.hint == null ? null : this.hint.getValue(); 7013 } 7014 7015 /** 7016 * @param value Displayable text string with hint help information to the user when entering a default value. 7017 */ 7018 public TestScriptVariableComponent setHint(String value) { 7019 if (Utilities.noString(value)) 7020 this.hint = null; 7021 else { 7022 if (this.hint == null) 7023 this.hint = new StringType(); 7024 this.hint.setValue(value); 7025 } 7026 return this; 7027 } 7028 7029 /** 7030 * @return {@link #path} (XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 7031 */ 7032 public StringType getPathElement() { 7033 if (this.path == null) 7034 if (Configuration.errorOnAutoCreate()) 7035 throw new Error("Attempt to auto-create TestScriptVariableComponent.path"); 7036 else if (Configuration.doAutoCreate()) 7037 this.path = new StringType(); // bb 7038 return this.path; 7039 } 7040 7041 public boolean hasPathElement() { 7042 return this.path != null && !this.path.isEmpty(); 7043 } 7044 7045 public boolean hasPath() { 7046 return this.path != null && !this.path.isEmpty(); 7047 } 7048 7049 /** 7050 * @param value {@link #path} (XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 7051 */ 7052 public TestScriptVariableComponent setPathElement(StringType value) { 7053 this.path = value; 7054 return this; 7055 } 7056 7057 /** 7058 * @return XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified. 7059 */ 7060 public String getPath() { 7061 return this.path == null ? null : this.path.getValue(); 7062 } 7063 7064 /** 7065 * @param value XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified. 7066 */ 7067 public TestScriptVariableComponent setPath(String value) { 7068 if (Utilities.noString(value)) 7069 this.path = null; 7070 else { 7071 if (this.path == null) 7072 this.path = new StringType(); 7073 this.path.setValue(value); 7074 } 7075 return this; 7076 } 7077 7078 /** 7079 * @return {@link #sourceId} (Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value 7080 */ 7081 public IdType getSourceIdElement() { 7082 if (this.sourceId == null) 7083 if (Configuration.errorOnAutoCreate()) 7084 throw new Error("Attempt to auto-create TestScriptVariableComponent.sourceId"); 7085 else if (Configuration.doAutoCreate()) 7086 this.sourceId = new IdType(); // bb 7087 return this.sourceId; 7088 } 7089 7090 public boolean hasSourceIdElement() { 7091 return this.sourceId != null && !this.sourceId.isEmpty(); 7092 } 7093 7094 public boolean hasSourceId() { 7095 return this.sourceId != null && !this.sourceId.isEmpty(); 7096 } 7097 7098 /** 7099 * @param value {@link #sourceId} (Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value 7100 */ 7101 public TestScriptVariableComponent setSourceIdElement(IdType value) { 7102 this.sourceId = value; 7103 return this; 7104 } 7105 7106 /** 7107 * @return Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable. 7108 */ 7109 public String getSourceId() { 7110 return this.sourceId == null ? null : this.sourceId.getValue(); 7111 } 7112 7113 /** 7114 * @param value Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable. 7115 */ 7116 public TestScriptVariableComponent setSourceId(String value) { 7117 if (Utilities.noString(value)) 7118 this.sourceId = null; 7119 else { 7120 if (this.sourceId == null) 7121 this.sourceId = new IdType(); 7122 this.sourceId.setValue(value); 7123 } 7124 return this; 7125 } 7126 7127 protected void listChildren(List<Property> children) { 7128 super.listChildren(children); 7129 children.add(new Property("name", "string", "Descriptive name for this variable.", 0, 1, name)); 7130 children.add(new Property("defaultValue", "string", "A default, hard-coded, or user-defined value for this variable.", 0, 1, defaultValue)); 7131 children.add(new Property("description", "string", "A free text natural language description of the variable and its purpose.", 0, 1, description)); 7132 children.add(new Property("expression", "string", "The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.", 0, 1, expression)); 7133 children.add(new Property("headerField", "string", "Will be used to grab the HTTP header field value from the headers that sourceId is pointing to.", 0, 1, headerField)); 7134 children.add(new Property("hint", "string", "Displayable text string with hint help information to the user when entering a default value.", 0, 1, hint)); 7135 children.add(new Property("path", "string", "XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.", 0, 1, path)); 7136 children.add(new Property("sourceId", "id", "Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable.", 0, 1, sourceId)); 7137 } 7138 7139 @Override 7140 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 7141 switch (_hash) { 7142 case 3373707: /*name*/ return new Property("name", "string", "Descriptive name for this variable.", 0, 1, name); 7143 case -659125328: /*defaultValue*/ return new Property("defaultValue", "string", "A default, hard-coded, or user-defined value for this variable.", 0, 1, defaultValue); 7144 case -1724546052: /*description*/ return new Property("description", "string", "A free text natural language description of the variable and its purpose.", 0, 1, description); 7145 case -1795452264: /*expression*/ return new Property("expression", "string", "The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.", 0, 1, expression); 7146 case 1160732269: /*headerField*/ return new Property("headerField", "string", "Will be used to grab the HTTP header field value from the headers that sourceId is pointing to.", 0, 1, headerField); 7147 case 3202695: /*hint*/ return new Property("hint", "string", "Displayable text string with hint help information to the user when entering a default value.", 0, 1, hint); 7148 case 3433509: /*path*/ return new Property("path", "string", "XPath or JSONPath to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.", 0, 1, path); 7149 case 1746327190: /*sourceId*/ return new Property("sourceId", "id", "Fixture to evaluate the XPath/JSONPath expression or the headerField against within this variable.", 0, 1, sourceId); 7150 default: return super.getNamedProperty(_hash, _name, _checkValid); 7151 } 7152 7153 } 7154 7155 @Override 7156 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7157 switch (hash) { 7158 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 7159 case -659125328: /*defaultValue*/ return this.defaultValue == null ? new Base[0] : new Base[] {this.defaultValue}; // StringType 7160 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 7161 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType 7162 case 1160732269: /*headerField*/ return this.headerField == null ? new Base[0] : new Base[] {this.headerField}; // StringType 7163 case 3202695: /*hint*/ return this.hint == null ? new Base[0] : new Base[] {this.hint}; // StringType 7164 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 7165 case 1746327190: /*sourceId*/ return this.sourceId == null ? new Base[0] : new Base[] {this.sourceId}; // IdType 7166 default: return super.getProperty(hash, name, checkValid); 7167 } 7168 7169 } 7170 7171 @Override 7172 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7173 switch (hash) { 7174 case 3373707: // name 7175 this.name = TypeConvertor.castToString(value); // StringType 7176 return value; 7177 case -659125328: // defaultValue 7178 this.defaultValue = TypeConvertor.castToString(value); // StringType 7179 return value; 7180 case -1724546052: // description 7181 this.description = TypeConvertor.castToString(value); // StringType 7182 return value; 7183 case -1795452264: // expression 7184 this.expression = TypeConvertor.castToString(value); // StringType 7185 return value; 7186 case 1160732269: // headerField 7187 this.headerField = TypeConvertor.castToString(value); // StringType 7188 return value; 7189 case 3202695: // hint 7190 this.hint = TypeConvertor.castToString(value); // StringType 7191 return value; 7192 case 3433509: // path 7193 this.path = TypeConvertor.castToString(value); // StringType 7194 return value; 7195 case 1746327190: // sourceId 7196 this.sourceId = TypeConvertor.castToId(value); // IdType 7197 return value; 7198 default: return super.setProperty(hash, name, value); 7199 } 7200 7201 } 7202 7203 @Override 7204 public Base setProperty(String name, Base value) throws FHIRException { 7205 if (name.equals("name")) { 7206 this.name = TypeConvertor.castToString(value); // StringType 7207 } else if (name.equals("defaultValue")) { 7208 this.defaultValue = TypeConvertor.castToString(value); // StringType 7209 } else if (name.equals("description")) { 7210 this.description = TypeConvertor.castToString(value); // StringType 7211 } else if (name.equals("expression")) { 7212 this.expression = TypeConvertor.castToString(value); // StringType 7213 } else if (name.equals("headerField")) { 7214 this.headerField = TypeConvertor.castToString(value); // StringType 7215 } else if (name.equals("hint")) { 7216 this.hint = TypeConvertor.castToString(value); // StringType 7217 } else if (name.equals("path")) { 7218 this.path = TypeConvertor.castToString(value); // StringType 7219 } else if (name.equals("sourceId")) { 7220 this.sourceId = TypeConvertor.castToId(value); // IdType 7221 } else 7222 return super.setProperty(name, value); 7223 return value; 7224 } 7225 7226 @Override 7227 public Base makeProperty(int hash, String name) throws FHIRException { 7228 switch (hash) { 7229 case 3373707: return getNameElement(); 7230 case -659125328: return getDefaultValueElement(); 7231 case -1724546052: return getDescriptionElement(); 7232 case -1795452264: return getExpressionElement(); 7233 case 1160732269: return getHeaderFieldElement(); 7234 case 3202695: return getHintElement(); 7235 case 3433509: return getPathElement(); 7236 case 1746327190: return getSourceIdElement(); 7237 default: return super.makeProperty(hash, name); 7238 } 7239 7240 } 7241 7242 @Override 7243 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7244 switch (hash) { 7245 case 3373707: /*name*/ return new String[] {"string"}; 7246 case -659125328: /*defaultValue*/ return new String[] {"string"}; 7247 case -1724546052: /*description*/ return new String[] {"string"}; 7248 case -1795452264: /*expression*/ return new String[] {"string"}; 7249 case 1160732269: /*headerField*/ return new String[] {"string"}; 7250 case 3202695: /*hint*/ return new String[] {"string"}; 7251 case 3433509: /*path*/ return new String[] {"string"}; 7252 case 1746327190: /*sourceId*/ return new String[] {"id"}; 7253 default: return super.getTypesForProperty(hash, name); 7254 } 7255 7256 } 7257 7258 @Override 7259 public Base addChild(String name) throws FHIRException { 7260 if (name.equals("name")) { 7261 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.name"); 7262 } 7263 else if (name.equals("defaultValue")) { 7264 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.defaultValue"); 7265 } 7266 else if (name.equals("description")) { 7267 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.description"); 7268 } 7269 else if (name.equals("expression")) { 7270 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.expression"); 7271 } 7272 else if (name.equals("headerField")) { 7273 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.headerField"); 7274 } 7275 else if (name.equals("hint")) { 7276 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.hint"); 7277 } 7278 else if (name.equals("path")) { 7279 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.path"); 7280 } 7281 else if (name.equals("sourceId")) { 7282 throw new FHIRException("Cannot call addChild on a primitive type TestScript.variable.sourceId"); 7283 } 7284 else 7285 return super.addChild(name); 7286 } 7287 7288 public TestScriptVariableComponent copy() { 7289 TestScriptVariableComponent dst = new TestScriptVariableComponent(); 7290 copyValues(dst); 7291 return dst; 7292 } 7293 7294 public void copyValues(TestScriptVariableComponent dst) { 7295 super.copyValues(dst); 7296 dst.name = name == null ? null : name.copy(); 7297 dst.defaultValue = defaultValue == null ? null : defaultValue.copy(); 7298 dst.description = description == null ? null : description.copy(); 7299 dst.expression = expression == null ? null : expression.copy(); 7300 dst.headerField = headerField == null ? null : headerField.copy(); 7301 dst.hint = hint == null ? null : hint.copy(); 7302 dst.path = path == null ? null : path.copy(); 7303 dst.sourceId = sourceId == null ? null : sourceId.copy(); 7304 } 7305 7306 @Override 7307 public boolean equalsDeep(Base other_) { 7308 if (!super.equalsDeep(other_)) 7309 return false; 7310 if (!(other_ instanceof TestScriptVariableComponent)) 7311 return false; 7312 TestScriptVariableComponent o = (TestScriptVariableComponent) other_; 7313 return compareDeep(name, o.name, true) && compareDeep(defaultValue, o.defaultValue, true) && compareDeep(description, o.description, true) 7314 && compareDeep(expression, o.expression, true) && compareDeep(headerField, o.headerField, true) 7315 && compareDeep(hint, o.hint, true) && compareDeep(path, o.path, true) && compareDeep(sourceId, o.sourceId, true) 7316 ; 7317 } 7318 7319 @Override 7320 public boolean equalsShallow(Base other_) { 7321 if (!super.equalsShallow(other_)) 7322 return false; 7323 if (!(other_ instanceof TestScriptVariableComponent)) 7324 return false; 7325 TestScriptVariableComponent o = (TestScriptVariableComponent) other_; 7326 return compareValues(name, o.name, true) && compareValues(defaultValue, o.defaultValue, true) && compareValues(description, o.description, true) 7327 && compareValues(expression, o.expression, true) && compareValues(headerField, o.headerField, true) 7328 && compareValues(hint, o.hint, true) && compareValues(path, o.path, true) && compareValues(sourceId, o.sourceId, true) 7329 ; 7330 } 7331 7332 public boolean isEmpty() { 7333 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, defaultValue, description 7334 , expression, headerField, hint, path, sourceId); 7335 } 7336 7337 public String fhirType() { 7338 return "TestScript.variable"; 7339 7340 } 7341 7342 } 7343 7344 @Block() 7345 public static class TestScriptSetupComponent extends BackboneElement implements IBaseBackboneElement { 7346 /** 7347 * Action would contain either an operation or an assertion. 7348 */ 7349 @Child(name = "action", type = {}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 7350 @Description(shortDefinition="A setup operation or assert to perform", formalDefinition="Action would contain either an operation or an assertion." ) 7351 protected List<SetupActionComponent> action; 7352 7353 private static final long serialVersionUID = -123374486L; 7354 7355 /** 7356 * Constructor 7357 */ 7358 public TestScriptSetupComponent() { 7359 super(); 7360 } 7361 7362 /** 7363 * Constructor 7364 */ 7365 public TestScriptSetupComponent(SetupActionComponent action) { 7366 super(); 7367 this.addAction(action); 7368 } 7369 7370 /** 7371 * @return {@link #action} (Action would contain either an operation or an assertion.) 7372 */ 7373 public List<SetupActionComponent> getAction() { 7374 if (this.action == null) 7375 this.action = new ArrayList<SetupActionComponent>(); 7376 return this.action; 7377 } 7378 7379 /** 7380 * @return Returns a reference to <code>this</code> for easy method chaining 7381 */ 7382 public TestScriptSetupComponent setAction(List<SetupActionComponent> theAction) { 7383 this.action = theAction; 7384 return this; 7385 } 7386 7387 public boolean hasAction() { 7388 if (this.action == null) 7389 return false; 7390 for (SetupActionComponent item : this.action) 7391 if (!item.isEmpty()) 7392 return true; 7393 return false; 7394 } 7395 7396 public SetupActionComponent addAction() { //3 7397 SetupActionComponent t = new SetupActionComponent(); 7398 if (this.action == null) 7399 this.action = new ArrayList<SetupActionComponent>(); 7400 this.action.add(t); 7401 return t; 7402 } 7403 7404 public TestScriptSetupComponent addAction(SetupActionComponent t) { //3 7405 if (t == null) 7406 return this; 7407 if (this.action == null) 7408 this.action = new ArrayList<SetupActionComponent>(); 7409 this.action.add(t); 7410 return this; 7411 } 7412 7413 /** 7414 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 7415 */ 7416 public SetupActionComponent getActionFirstRep() { 7417 if (getAction().isEmpty()) { 7418 addAction(); 7419 } 7420 return getAction().get(0); 7421 } 7422 7423 protected void listChildren(List<Property> children) { 7424 super.listChildren(children); 7425 children.add(new Property("action", "", "Action would contain either an operation or an assertion.", 0, java.lang.Integer.MAX_VALUE, action)); 7426 } 7427 7428 @Override 7429 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 7430 switch (_hash) { 7431 case -1422950858: /*action*/ return new Property("action", "", "Action would contain either an operation or an assertion.", 0, java.lang.Integer.MAX_VALUE, action); 7432 default: return super.getNamedProperty(_hash, _name, _checkValid); 7433 } 7434 7435 } 7436 7437 @Override 7438 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7439 switch (hash) { 7440 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // SetupActionComponent 7441 default: return super.getProperty(hash, name, checkValid); 7442 } 7443 7444 } 7445 7446 @Override 7447 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7448 switch (hash) { 7449 case -1422950858: // action 7450 this.getAction().add((SetupActionComponent) value); // SetupActionComponent 7451 return value; 7452 default: return super.setProperty(hash, name, value); 7453 } 7454 7455 } 7456 7457 @Override 7458 public Base setProperty(String name, Base value) throws FHIRException { 7459 if (name.equals("action")) { 7460 this.getAction().add((SetupActionComponent) value); 7461 } else 7462 return super.setProperty(name, value); 7463 return value; 7464 } 7465 7466 @Override 7467 public Base makeProperty(int hash, String name) throws FHIRException { 7468 switch (hash) { 7469 case -1422950858: return addAction(); 7470 default: return super.makeProperty(hash, name); 7471 } 7472 7473 } 7474 7475 @Override 7476 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7477 switch (hash) { 7478 case -1422950858: /*action*/ return new String[] {}; 7479 default: return super.getTypesForProperty(hash, name); 7480 } 7481 7482 } 7483 7484 @Override 7485 public Base addChild(String name) throws FHIRException { 7486 if (name.equals("action")) { 7487 return addAction(); 7488 } 7489 else 7490 return super.addChild(name); 7491 } 7492 7493 public TestScriptSetupComponent copy() { 7494 TestScriptSetupComponent dst = new TestScriptSetupComponent(); 7495 copyValues(dst); 7496 return dst; 7497 } 7498 7499 public void copyValues(TestScriptSetupComponent dst) { 7500 super.copyValues(dst); 7501 if (action != null) { 7502 dst.action = new ArrayList<SetupActionComponent>(); 7503 for (SetupActionComponent i : action) 7504 dst.action.add(i.copy()); 7505 }; 7506 } 7507 7508 @Override 7509 public boolean equalsDeep(Base other_) { 7510 if (!super.equalsDeep(other_)) 7511 return false; 7512 if (!(other_ instanceof TestScriptSetupComponent)) 7513 return false; 7514 TestScriptSetupComponent o = (TestScriptSetupComponent) other_; 7515 return compareDeep(action, o.action, true); 7516 } 7517 7518 @Override 7519 public boolean equalsShallow(Base other_) { 7520 if (!super.equalsShallow(other_)) 7521 return false; 7522 if (!(other_ instanceof TestScriptSetupComponent)) 7523 return false; 7524 TestScriptSetupComponent o = (TestScriptSetupComponent) other_; 7525 return true; 7526 } 7527 7528 public boolean isEmpty() { 7529 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(action); 7530 } 7531 7532 public String fhirType() { 7533 return "TestScript.setup"; 7534 7535 } 7536 7537 } 7538 7539 @Block() 7540 public static class SetupActionComponent extends BackboneElement implements IBaseBackboneElement { 7541 /** 7542 * The operation to perform. 7543 */ 7544 @Child(name = "operation", type = {}, order=1, min=0, max=1, modifier=false, summary=false) 7545 @Description(shortDefinition="The setup operation to perform", formalDefinition="The operation to perform." ) 7546 protected SetupActionOperationComponent operation; 7547 7548 /** 7549 * Evaluates the results of previous operations to determine if the server under test behaves appropriately. 7550 */ 7551 @Child(name = "assert", type = {}, order=2, min=0, max=1, modifier=false, summary=false) 7552 @Description(shortDefinition="The assertion to perform", formalDefinition="Evaluates the results of previous operations to determine if the server under test behaves appropriately." ) 7553 protected SetupActionAssertComponent assert_; 7554 7555 private static final long serialVersionUID = -252088305L; 7556 7557 /** 7558 * Constructor 7559 */ 7560 public SetupActionComponent() { 7561 super(); 7562 } 7563 7564 /** 7565 * @return {@link #operation} (The operation to perform.) 7566 */ 7567 public SetupActionOperationComponent getOperation() { 7568 if (this.operation == null) 7569 if (Configuration.errorOnAutoCreate()) 7570 throw new Error("Attempt to auto-create SetupActionComponent.operation"); 7571 else if (Configuration.doAutoCreate()) 7572 this.operation = new SetupActionOperationComponent(); // cc 7573 return this.operation; 7574 } 7575 7576 public boolean hasOperation() { 7577 return this.operation != null && !this.operation.isEmpty(); 7578 } 7579 7580 /** 7581 * @param value {@link #operation} (The operation to perform.) 7582 */ 7583 public SetupActionComponent setOperation(SetupActionOperationComponent value) { 7584 this.operation = value; 7585 return this; 7586 } 7587 7588 /** 7589 * @return {@link #assert_} (Evaluates the results of previous operations to determine if the server under test behaves appropriately.) 7590 */ 7591 public SetupActionAssertComponent getAssert() { 7592 if (this.assert_ == null) 7593 if (Configuration.errorOnAutoCreate()) 7594 throw new Error("Attempt to auto-create SetupActionComponent.assert_"); 7595 else if (Configuration.doAutoCreate()) 7596 this.assert_ = new SetupActionAssertComponent(); // cc 7597 return this.assert_; 7598 } 7599 7600 public boolean hasAssert() { 7601 return this.assert_ != null && !this.assert_.isEmpty(); 7602 } 7603 7604 /** 7605 * @param value {@link #assert_} (Evaluates the results of previous operations to determine if the server under test behaves appropriately.) 7606 */ 7607 public SetupActionComponent setAssert(SetupActionAssertComponent value) { 7608 this.assert_ = value; 7609 return this; 7610 } 7611 7612 protected void listChildren(List<Property> children) { 7613 super.listChildren(children); 7614 children.add(new Property("operation", "", "The operation to perform.", 0, 1, operation)); 7615 children.add(new Property("assert", "", "Evaluates the results of previous operations to determine if the server under test behaves appropriately.", 0, 1, assert_)); 7616 } 7617 7618 @Override 7619 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 7620 switch (_hash) { 7621 case 1662702951: /*operation*/ return new Property("operation", "", "The operation to perform.", 0, 1, operation); 7622 case -1408208058: /*assert*/ return new Property("assert", "", "Evaluates the results of previous operations to determine if the server under test behaves appropriately.", 0, 1, assert_); 7623 default: return super.getNamedProperty(_hash, _name, _checkValid); 7624 } 7625 7626 } 7627 7628 @Override 7629 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7630 switch (hash) { 7631 case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : new Base[] {this.operation}; // SetupActionOperationComponent 7632 case -1408208058: /*assert*/ return this.assert_ == null ? new Base[0] : new Base[] {this.assert_}; // SetupActionAssertComponent 7633 default: return super.getProperty(hash, name, checkValid); 7634 } 7635 7636 } 7637 7638 @Override 7639 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7640 switch (hash) { 7641 case 1662702951: // operation 7642 this.operation = (SetupActionOperationComponent) value; // SetupActionOperationComponent 7643 return value; 7644 case -1408208058: // assert 7645 this.assert_ = (SetupActionAssertComponent) value; // SetupActionAssertComponent 7646 return value; 7647 default: return super.setProperty(hash, name, value); 7648 } 7649 7650 } 7651 7652 @Override 7653 public Base setProperty(String name, Base value) throws FHIRException { 7654 if (name.equals("operation")) { 7655 this.operation = (SetupActionOperationComponent) value; // SetupActionOperationComponent 7656 } else if (name.equals("assert")) { 7657 this.assert_ = (SetupActionAssertComponent) value; // SetupActionAssertComponent 7658 } else 7659 return super.setProperty(name, value); 7660 return value; 7661 } 7662 7663 @Override 7664 public Base makeProperty(int hash, String name) throws FHIRException { 7665 switch (hash) { 7666 case 1662702951: return getOperation(); 7667 case -1408208058: return getAssert(); 7668 default: return super.makeProperty(hash, name); 7669 } 7670 7671 } 7672 7673 @Override 7674 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7675 switch (hash) { 7676 case 1662702951: /*operation*/ return new String[] {}; 7677 case -1408208058: /*assert*/ return new String[] {}; 7678 default: return super.getTypesForProperty(hash, name); 7679 } 7680 7681 } 7682 7683 @Override 7684 public Base addChild(String name) throws FHIRException { 7685 if (name.equals("operation")) { 7686 this.operation = new SetupActionOperationComponent(); 7687 return this.operation; 7688 } 7689 else if (name.equals("assert")) { 7690 this.assert_ = new SetupActionAssertComponent(); 7691 return this.assert_; 7692 } 7693 else 7694 return super.addChild(name); 7695 } 7696 7697 public SetupActionComponent copy() { 7698 SetupActionComponent dst = new SetupActionComponent(); 7699 copyValues(dst); 7700 return dst; 7701 } 7702 7703 public void copyValues(SetupActionComponent dst) { 7704 super.copyValues(dst); 7705 dst.operation = operation == null ? null : operation.copy(); 7706 dst.assert_ = assert_ == null ? null : assert_.copy(); 7707 } 7708 7709 @Override 7710 public boolean equalsDeep(Base other_) { 7711 if (!super.equalsDeep(other_)) 7712 return false; 7713 if (!(other_ instanceof SetupActionComponent)) 7714 return false; 7715 SetupActionComponent o = (SetupActionComponent) other_; 7716 return compareDeep(operation, o.operation, true) && compareDeep(assert_, o.assert_, true); 7717 } 7718 7719 @Override 7720 public boolean equalsShallow(Base other_) { 7721 if (!super.equalsShallow(other_)) 7722 return false; 7723 if (!(other_ instanceof SetupActionComponent)) 7724 return false; 7725 SetupActionComponent o = (SetupActionComponent) other_; 7726 return true; 7727 } 7728 7729 public boolean isEmpty() { 7730 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(operation, assert_); 7731 } 7732 7733 public String fhirType() { 7734 return "TestScript.setup.action"; 7735 7736 } 7737 7738 } 7739 7740 @Block() 7741 public static class SetupActionOperationComponent extends BackboneElement implements IBaseBackboneElement { 7742 /** 7743 * Server interaction or operation type. 7744 */ 7745 @Child(name = "type", type = {Coding.class}, order=1, min=0, max=1, modifier=false, summary=false) 7746 @Description(shortDefinition="The operation code type that will be executed", formalDefinition="Server interaction or operation type." ) 7747 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-operation-codes") 7748 protected Coding type; 7749 7750 /** 7751 * The type of the resource. See http://build.fhir.org/resourcelist.html. 7752 */ 7753 @Child(name = "resource", type = {CodeType.class}, order=2, min=0, max=1, modifier=false, summary=false) 7754 @Description(shortDefinition="Resource type", formalDefinition="The type of the resource. See http://build.fhir.org/resourcelist.html." ) 7755 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") 7756 protected Enumeration<FHIRDefinedType> resource; 7757 7758 /** 7759 * The label would be used for tracking/logging purposes by test engines. 7760 */ 7761 @Child(name = "label", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 7762 @Description(shortDefinition="Tracking/logging operation label", formalDefinition="The label would be used for tracking/logging purposes by test engines." ) 7763 protected StringType label; 7764 7765 /** 7766 * The description would be used by test engines for tracking and reporting purposes. 7767 */ 7768 @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 7769 @Description(shortDefinition="Tracking/reporting operation description", formalDefinition="The description would be used by test engines for tracking and reporting purposes." ) 7770 protected StringType description; 7771 7772 /** 7773 * The mime-type to use for RESTful operation in the 'Accept' header. 7774 */ 7775 @Child(name = "accept", type = {CodeType.class}, order=5, min=0, max=1, modifier=false, summary=false) 7776 @Description(shortDefinition="Mime type to accept in the payload of the response, with charset etc.", formalDefinition="The mime-type to use for RESTful operation in the 'Accept' header." ) 7777 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") 7778 protected CodeType accept; 7779 7780 /** 7781 * The mime-type to use for RESTful operation in the 'Content-Type' header. 7782 */ 7783 @Child(name = "contentType", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=false) 7784 @Description(shortDefinition="Mime type of the request payload contents, with charset etc.", formalDefinition="The mime-type to use for RESTful operation in the 'Content-Type' header." ) 7785 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") 7786 protected CodeType contentType; 7787 7788 /** 7789 * The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section. 7790 */ 7791 @Child(name = "destination", type = {IntegerType.class}, order=7, min=0, max=1, modifier=false, summary=false) 7792 @Description(shortDefinition="Server responding to the request", formalDefinition="The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section." ) 7793 protected IntegerType destination; 7794 7795 /** 7796 * Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. 7797 */ 7798 @Child(name = "encodeRequestUrl", type = {BooleanType.class}, order=8, min=1, max=1, modifier=false, summary=false) 7799 @Description(shortDefinition="Whether or not to send the request url in encoded format", formalDefinition="Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths." ) 7800 protected BooleanType encodeRequestUrl; 7801 7802 /** 7803 * The HTTP method the test engine MUST use for this operation regardless of any other operation details. 7804 */ 7805 @Child(name = "method", type = {CodeType.class}, order=9, min=0, max=1, modifier=false, summary=false) 7806 @Description(shortDefinition="delete | get | options | patch | post | put | head", formalDefinition="The HTTP method the test engine MUST use for this operation regardless of any other operation details." ) 7807 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/http-operations") 7808 protected Enumeration<TestScriptRequestMethodCode> method; 7809 7810 /** 7811 * The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section. 7812 */ 7813 @Child(name = "origin", type = {IntegerType.class}, order=10, min=0, max=1, modifier=false, summary=false) 7814 @Description(shortDefinition="Server initiating the request", formalDefinition="The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section." ) 7815 protected IntegerType origin; 7816 7817 /** 7818 * Path plus parameters after [type]. Used to set parts of the request URL explicitly. 7819 */ 7820 @Child(name = "params", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) 7821 @Description(shortDefinition="Explicitly defined path parameters", formalDefinition="Path plus parameters after [type]. Used to set parts of the request URL explicitly." ) 7822 protected StringType params; 7823 7824 /** 7825 * Header elements would be used to set HTTP headers. 7826 */ 7827 @Child(name = "requestHeader", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 7828 @Description(shortDefinition="Each operation can have one or more header elements", formalDefinition="Header elements would be used to set HTTP headers." ) 7829 protected List<SetupActionOperationRequestHeaderComponent> requestHeader; 7830 7831 /** 7832 * The fixture id (maybe new) to map to the request. 7833 */ 7834 @Child(name = "requestId", type = {IdType.class}, order=13, min=0, max=1, modifier=false, summary=false) 7835 @Description(shortDefinition="Fixture Id of mapped request", formalDefinition="The fixture id (maybe new) to map to the request." ) 7836 protected IdType requestId; 7837 7838 /** 7839 * The fixture id (maybe new) to map to the response. 7840 */ 7841 @Child(name = "responseId", type = {IdType.class}, order=14, min=0, max=1, modifier=false, summary=false) 7842 @Description(shortDefinition="Fixture Id of mapped response", formalDefinition="The fixture id (maybe new) to map to the response." ) 7843 protected IdType responseId; 7844 7845 /** 7846 * The id of the fixture used as the body of a PUT or POST request. 7847 */ 7848 @Child(name = "sourceId", type = {IdType.class}, order=15, min=0, max=1, modifier=false, summary=false) 7849 @Description(shortDefinition="Fixture Id of body for PUT and POST requests", formalDefinition="The id of the fixture used as the body of a PUT or POST request." ) 7850 protected IdType sourceId; 7851 7852 /** 7853 * Id of fixture used for extracting the [id], [type], and [vid] for GET requests. 7854 */ 7855 @Child(name = "targetId", type = {IdType.class}, order=16, min=0, max=1, modifier=false, summary=false) 7856 @Description(shortDefinition="Id of fixture used for extracting the [id], [type], and [vid] for GET requests", formalDefinition="Id of fixture used for extracting the [id], [type], and [vid] for GET requests." ) 7857 protected IdType targetId; 7858 7859 /** 7860 * Complete request URL. 7861 */ 7862 @Child(name = "url", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) 7863 @Description(shortDefinition="Request URL", formalDefinition="Complete request URL." ) 7864 protected StringType url; 7865 7866 private static final long serialVersionUID = -1301448722L; 7867 7868 /** 7869 * Constructor 7870 */ 7871 public SetupActionOperationComponent() { 7872 super(); 7873 } 7874 7875 /** 7876 * Constructor 7877 */ 7878 public SetupActionOperationComponent(boolean encodeRequestUrl) { 7879 super(); 7880 this.setEncodeRequestUrl(encodeRequestUrl); 7881 } 7882 7883 /** 7884 * @return {@link #type} (Server interaction or operation type.) 7885 */ 7886 public Coding getType() { 7887 if (this.type == null) 7888 if (Configuration.errorOnAutoCreate()) 7889 throw new Error("Attempt to auto-create SetupActionOperationComponent.type"); 7890 else if (Configuration.doAutoCreate()) 7891 this.type = new Coding(); // cc 7892 return this.type; 7893 } 7894 7895 public boolean hasType() { 7896 return this.type != null && !this.type.isEmpty(); 7897 } 7898 7899 /** 7900 * @param value {@link #type} (Server interaction or operation type.) 7901 */ 7902 public SetupActionOperationComponent setType(Coding value) { 7903 this.type = value; 7904 return this; 7905 } 7906 7907 /** 7908 * @return {@link #resource} (The type of the resource. See http://build.fhir.org/resourcelist.html.). This is the underlying object with id, value and extensions. The accessor "getResource" gives direct access to the value 7909 */ 7910 public Enumeration<FHIRDefinedType> getResourceElement() { 7911 if (this.resource == null) 7912 if (Configuration.errorOnAutoCreate()) 7913 throw new Error("Attempt to auto-create SetupActionOperationComponent.resource"); 7914 else if (Configuration.doAutoCreate()) 7915 this.resource = new Enumeration<FHIRDefinedType>(new FHIRDefinedTypeEnumFactory()); // bb 7916 return this.resource; 7917 } 7918 7919 public boolean hasResourceElement() { 7920 return this.resource != null && !this.resource.isEmpty(); 7921 } 7922 7923 public boolean hasResource() { 7924 return this.resource != null && !this.resource.isEmpty(); 7925 } 7926 7927 /** 7928 * @param value {@link #resource} (The type of the resource. See http://build.fhir.org/resourcelist.html.). This is the underlying object with id, value and extensions. The accessor "getResource" gives direct access to the value 7929 */ 7930 public SetupActionOperationComponent setResourceElement(Enumeration<FHIRDefinedType> value) { 7931 this.resource = value; 7932 return this; 7933 } 7934 7935 /** 7936 * @return The type of the resource. See http://build.fhir.org/resourcelist.html. 7937 */ 7938 public FHIRDefinedType getResource() { 7939 return this.resource == null ? null : this.resource.getValue(); 7940 } 7941 7942 /** 7943 * @param value The type of the resource. See http://build.fhir.org/resourcelist.html. 7944 */ 7945 public SetupActionOperationComponent setResource(FHIRDefinedType value) { 7946 if (value == null) 7947 this.resource = null; 7948 else { 7949 if (this.resource == null) 7950 this.resource = new Enumeration<FHIRDefinedType>(new FHIRDefinedTypeEnumFactory()); 7951 this.resource.setValue(value); 7952 } 7953 return this; 7954 } 7955 7956 /** 7957 * @return {@link #label} (The label would be used for tracking/logging purposes by test engines.). This is the underlying object with id, value and extensions. The accessor "getLabel" gives direct access to the value 7958 */ 7959 public StringType getLabelElement() { 7960 if (this.label == null) 7961 if (Configuration.errorOnAutoCreate()) 7962 throw new Error("Attempt to auto-create SetupActionOperationComponent.label"); 7963 else if (Configuration.doAutoCreate()) 7964 this.label = new StringType(); // bb 7965 return this.label; 7966 } 7967 7968 public boolean hasLabelElement() { 7969 return this.label != null && !this.label.isEmpty(); 7970 } 7971 7972 public boolean hasLabel() { 7973 return this.label != null && !this.label.isEmpty(); 7974 } 7975 7976 /** 7977 * @param value {@link #label} (The label would be used for tracking/logging purposes by test engines.). This is the underlying object with id, value and extensions. The accessor "getLabel" gives direct access to the value 7978 */ 7979 public SetupActionOperationComponent setLabelElement(StringType value) { 7980 this.label = value; 7981 return this; 7982 } 7983 7984 /** 7985 * @return The label would be used for tracking/logging purposes by test engines. 7986 */ 7987 public String getLabel() { 7988 return this.label == null ? null : this.label.getValue(); 7989 } 7990 7991 /** 7992 * @param value The label would be used for tracking/logging purposes by test engines. 7993 */ 7994 public SetupActionOperationComponent setLabel(String value) { 7995 if (Utilities.noString(value)) 7996 this.label = null; 7997 else { 7998 if (this.label == null) 7999 this.label = new StringType(); 8000 this.label.setValue(value); 8001 } 8002 return this; 8003 } 8004 8005 /** 8006 * @return {@link #description} (The description would be used by test engines for tracking and reporting purposes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 8007 */ 8008 public StringType getDescriptionElement() { 8009 if (this.description == null) 8010 if (Configuration.errorOnAutoCreate()) 8011 throw new Error("Attempt to auto-create SetupActionOperationComponent.description"); 8012 else if (Configuration.doAutoCreate()) 8013 this.description = new StringType(); // bb 8014 return this.description; 8015 } 8016 8017 public boolean hasDescriptionElement() { 8018 return this.description != null && !this.description.isEmpty(); 8019 } 8020 8021 public boolean hasDescription() { 8022 return this.description != null && !this.description.isEmpty(); 8023 } 8024 8025 /** 8026 * @param value {@link #description} (The description would be used by test engines for tracking and reporting purposes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 8027 */ 8028 public SetupActionOperationComponent setDescriptionElement(StringType value) { 8029 this.description = value; 8030 return this; 8031 } 8032 8033 /** 8034 * @return The description would be used by test engines for tracking and reporting purposes. 8035 */ 8036 public String getDescription() { 8037 return this.description == null ? null : this.description.getValue(); 8038 } 8039 8040 /** 8041 * @param value The description would be used by test engines for tracking and reporting purposes. 8042 */ 8043 public SetupActionOperationComponent setDescription(String value) { 8044 if (Utilities.noString(value)) 8045 this.description = null; 8046 else { 8047 if (this.description == null) 8048 this.description = new StringType(); 8049 this.description.setValue(value); 8050 } 8051 return this; 8052 } 8053 8054 /** 8055 * @return {@link #accept} (The mime-type to use for RESTful operation in the 'Accept' header.). This is the underlying object with id, value and extensions. The accessor "getAccept" gives direct access to the value 8056 */ 8057 public CodeType getAcceptElement() { 8058 if (this.accept == null) 8059 if (Configuration.errorOnAutoCreate()) 8060 throw new Error("Attempt to auto-create SetupActionOperationComponent.accept"); 8061 else if (Configuration.doAutoCreate()) 8062 this.accept = new CodeType(); // bb 8063 return this.accept; 8064 } 8065 8066 public boolean hasAcceptElement() { 8067 return this.accept != null && !this.accept.isEmpty(); 8068 } 8069 8070 public boolean hasAccept() { 8071 return this.accept != null && !this.accept.isEmpty(); 8072 } 8073 8074 /** 8075 * @param value {@link #accept} (The mime-type to use for RESTful operation in the 'Accept' header.). This is the underlying object with id, value and extensions. The accessor "getAccept" gives direct access to the value 8076 */ 8077 public SetupActionOperationComponent setAcceptElement(CodeType value) { 8078 this.accept = value; 8079 return this; 8080 } 8081 8082 /** 8083 * @return The mime-type to use for RESTful operation in the 'Accept' header. 8084 */ 8085 public String getAccept() { 8086 return this.accept == null ? null : this.accept.getValue(); 8087 } 8088 8089 /** 8090 * @param value The mime-type to use for RESTful operation in the 'Accept' header. 8091 */ 8092 public SetupActionOperationComponent setAccept(String value) { 8093 if (Utilities.noString(value)) 8094 this.accept = null; 8095 else { 8096 if (this.accept == null) 8097 this.accept = new CodeType(); 8098 this.accept.setValue(value); 8099 } 8100 return this; 8101 } 8102 8103 /** 8104 * @return {@link #contentType} (The mime-type to use for RESTful operation in the 'Content-Type' header.). This is the underlying object with id, value and extensions. The accessor "getContentType" gives direct access to the value 8105 */ 8106 public CodeType getContentTypeElement() { 8107 if (this.contentType == null) 8108 if (Configuration.errorOnAutoCreate()) 8109 throw new Error("Attempt to auto-create SetupActionOperationComponent.contentType"); 8110 else if (Configuration.doAutoCreate()) 8111 this.contentType = new CodeType(); // bb 8112 return this.contentType; 8113 } 8114 8115 public boolean hasContentTypeElement() { 8116 return this.contentType != null && !this.contentType.isEmpty(); 8117 } 8118 8119 public boolean hasContentType() { 8120 return this.contentType != null && !this.contentType.isEmpty(); 8121 } 8122 8123 /** 8124 * @param value {@link #contentType} (The mime-type to use for RESTful operation in the 'Content-Type' header.). This is the underlying object with id, value and extensions. The accessor "getContentType" gives direct access to the value 8125 */ 8126 public SetupActionOperationComponent setContentTypeElement(CodeType value) { 8127 this.contentType = value; 8128 return this; 8129 } 8130 8131 /** 8132 * @return The mime-type to use for RESTful operation in the 'Content-Type' header. 8133 */ 8134 public String getContentType() { 8135 return this.contentType == null ? null : this.contentType.getValue(); 8136 } 8137 8138 /** 8139 * @param value The mime-type to use for RESTful operation in the 'Content-Type' header. 8140 */ 8141 public SetupActionOperationComponent setContentType(String value) { 8142 if (Utilities.noString(value)) 8143 this.contentType = null; 8144 else { 8145 if (this.contentType == null) 8146 this.contentType = new CodeType(); 8147 this.contentType.setValue(value); 8148 } 8149 return this; 8150 } 8151 8152 /** 8153 * @return {@link #destination} (The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section.). This is the underlying object with id, value and extensions. The accessor "getDestination" gives direct access to the value 8154 */ 8155 public IntegerType getDestinationElement() { 8156 if (this.destination == null) 8157 if (Configuration.errorOnAutoCreate()) 8158 throw new Error("Attempt to auto-create SetupActionOperationComponent.destination"); 8159 else if (Configuration.doAutoCreate()) 8160 this.destination = new IntegerType(); // bb 8161 return this.destination; 8162 } 8163 8164 public boolean hasDestinationElement() { 8165 return this.destination != null && !this.destination.isEmpty(); 8166 } 8167 8168 public boolean hasDestination() { 8169 return this.destination != null && !this.destination.isEmpty(); 8170 } 8171 8172 /** 8173 * @param value {@link #destination} (The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section.). This is the underlying object with id, value and extensions. The accessor "getDestination" gives direct access to the value 8174 */ 8175 public SetupActionOperationComponent setDestinationElement(IntegerType value) { 8176 this.destination = value; 8177 return this; 8178 } 8179 8180 /** 8181 * @return The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section. 8182 */ 8183 public int getDestination() { 8184 return this.destination == null || this.destination.isEmpty() ? 0 : this.destination.getValue(); 8185 } 8186 8187 /** 8188 * @param value The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section. 8189 */ 8190 public SetupActionOperationComponent setDestination(int value) { 8191 if (this.destination == null) 8192 this.destination = new IntegerType(); 8193 this.destination.setValue(value); 8194 return this; 8195 } 8196 8197 /** 8198 * @return {@link #encodeRequestUrl} (Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths.). This is the underlying object with id, value and extensions. The accessor "getEncodeRequestUrl" gives direct access to the value 8199 */ 8200 public BooleanType getEncodeRequestUrlElement() { 8201 if (this.encodeRequestUrl == null) 8202 if (Configuration.errorOnAutoCreate()) 8203 throw new Error("Attempt to auto-create SetupActionOperationComponent.encodeRequestUrl"); 8204 else if (Configuration.doAutoCreate()) 8205 this.encodeRequestUrl = new BooleanType(); // bb 8206 return this.encodeRequestUrl; 8207 } 8208 8209 public boolean hasEncodeRequestUrlElement() { 8210 return this.encodeRequestUrl != null && !this.encodeRequestUrl.isEmpty(); 8211 } 8212 8213 public boolean hasEncodeRequestUrl() { 8214 return this.encodeRequestUrl != null && !this.encodeRequestUrl.isEmpty(); 8215 } 8216 8217 /** 8218 * @param value {@link #encodeRequestUrl} (Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths.). This is the underlying object with id, value and extensions. The accessor "getEncodeRequestUrl" gives direct access to the value 8219 */ 8220 public SetupActionOperationComponent setEncodeRequestUrlElement(BooleanType value) { 8221 this.encodeRequestUrl = value; 8222 return this; 8223 } 8224 8225 /** 8226 * @return Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. 8227 */ 8228 public boolean getEncodeRequestUrl() { 8229 return this.encodeRequestUrl == null || this.encodeRequestUrl.isEmpty() ? false : this.encodeRequestUrl.getValue(); 8230 } 8231 8232 /** 8233 * @param value Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths. 8234 */ 8235 public SetupActionOperationComponent setEncodeRequestUrl(boolean value) { 8236 if (this.encodeRequestUrl == null) 8237 this.encodeRequestUrl = new BooleanType(); 8238 this.encodeRequestUrl.setValue(value); 8239 return this; 8240 } 8241 8242 /** 8243 * @return {@link #method} (The HTTP method the test engine MUST use for this operation regardless of any other operation details.). This is the underlying object with id, value and extensions. The accessor "getMethod" gives direct access to the value 8244 */ 8245 public Enumeration<TestScriptRequestMethodCode> getMethodElement() { 8246 if (this.method == null) 8247 if (Configuration.errorOnAutoCreate()) 8248 throw new Error("Attempt to auto-create SetupActionOperationComponent.method"); 8249 else if (Configuration.doAutoCreate()) 8250 this.method = new Enumeration<TestScriptRequestMethodCode>(new TestScriptRequestMethodCodeEnumFactory()); // bb 8251 return this.method; 8252 } 8253 8254 public boolean hasMethodElement() { 8255 return this.method != null && !this.method.isEmpty(); 8256 } 8257 8258 public boolean hasMethod() { 8259 return this.method != null && !this.method.isEmpty(); 8260 } 8261 8262 /** 8263 * @param value {@link #method} (The HTTP method the test engine MUST use for this operation regardless of any other operation details.). This is the underlying object with id, value and extensions. The accessor "getMethod" gives direct access to the value 8264 */ 8265 public SetupActionOperationComponent setMethodElement(Enumeration<TestScriptRequestMethodCode> value) { 8266 this.method = value; 8267 return this; 8268 } 8269 8270 /** 8271 * @return The HTTP method the test engine MUST use for this operation regardless of any other operation details. 8272 */ 8273 public TestScriptRequestMethodCode getMethod() { 8274 return this.method == null ? null : this.method.getValue(); 8275 } 8276 8277 /** 8278 * @param value The HTTP method the test engine MUST use for this operation regardless of any other operation details. 8279 */ 8280 public SetupActionOperationComponent setMethod(TestScriptRequestMethodCode value) { 8281 if (value == null) 8282 this.method = null; 8283 else { 8284 if (this.method == null) 8285 this.method = new Enumeration<TestScriptRequestMethodCode>(new TestScriptRequestMethodCodeEnumFactory()); 8286 this.method.setValue(value); 8287 } 8288 return this; 8289 } 8290 8291 /** 8292 * @return {@link #origin} (The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section.). This is the underlying object with id, value and extensions. The accessor "getOrigin" gives direct access to the value 8293 */ 8294 public IntegerType getOriginElement() { 8295 if (this.origin == null) 8296 if (Configuration.errorOnAutoCreate()) 8297 throw new Error("Attempt to auto-create SetupActionOperationComponent.origin"); 8298 else if (Configuration.doAutoCreate()) 8299 this.origin = new IntegerType(); // bb 8300 return this.origin; 8301 } 8302 8303 public boolean hasOriginElement() { 8304 return this.origin != null && !this.origin.isEmpty(); 8305 } 8306 8307 public boolean hasOrigin() { 8308 return this.origin != null && !this.origin.isEmpty(); 8309 } 8310 8311 /** 8312 * @param value {@link #origin} (The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section.). This is the underlying object with id, value and extensions. The accessor "getOrigin" gives direct access to the value 8313 */ 8314 public SetupActionOperationComponent setOriginElement(IntegerType value) { 8315 this.origin = value; 8316 return this; 8317 } 8318 8319 /** 8320 * @return The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section. 8321 */ 8322 public int getOrigin() { 8323 return this.origin == null || this.origin.isEmpty() ? 0 : this.origin.getValue(); 8324 } 8325 8326 /** 8327 * @param value The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section. 8328 */ 8329 public SetupActionOperationComponent setOrigin(int value) { 8330 if (this.origin == null) 8331 this.origin = new IntegerType(); 8332 this.origin.setValue(value); 8333 return this; 8334 } 8335 8336 /** 8337 * @return {@link #params} (Path plus parameters after [type]. Used to set parts of the request URL explicitly.). This is the underlying object with id, value and extensions. The accessor "getParams" gives direct access to the value 8338 */ 8339 public StringType getParamsElement() { 8340 if (this.params == null) 8341 if (Configuration.errorOnAutoCreate()) 8342 throw new Error("Attempt to auto-create SetupActionOperationComponent.params"); 8343 else if (Configuration.doAutoCreate()) 8344 this.params = new StringType(); // bb 8345 return this.params; 8346 } 8347 8348 public boolean hasParamsElement() { 8349 return this.params != null && !this.params.isEmpty(); 8350 } 8351 8352 public boolean hasParams() { 8353 return this.params != null && !this.params.isEmpty(); 8354 } 8355 8356 /** 8357 * @param value {@link #params} (Path plus parameters after [type]. Used to set parts of the request URL explicitly.). This is the underlying object with id, value and extensions. The accessor "getParams" gives direct access to the value 8358 */ 8359 public SetupActionOperationComponent setParamsElement(StringType value) { 8360 this.params = value; 8361 return this; 8362 } 8363 8364 /** 8365 * @return Path plus parameters after [type]. Used to set parts of the request URL explicitly. 8366 */ 8367 public String getParams() { 8368 return this.params == null ? null : this.params.getValue(); 8369 } 8370 8371 /** 8372 * @param value Path plus parameters after [type]. Used to set parts of the request URL explicitly. 8373 */ 8374 public SetupActionOperationComponent setParams(String value) { 8375 if (Utilities.noString(value)) 8376 this.params = null; 8377 else { 8378 if (this.params == null) 8379 this.params = new StringType(); 8380 this.params.setValue(value); 8381 } 8382 return this; 8383 } 8384 8385 /** 8386 * @return {@link #requestHeader} (Header elements would be used to set HTTP headers.) 8387 */ 8388 public List<SetupActionOperationRequestHeaderComponent> getRequestHeader() { 8389 if (this.requestHeader == null) 8390 this.requestHeader = new ArrayList<SetupActionOperationRequestHeaderComponent>(); 8391 return this.requestHeader; 8392 } 8393 8394 /** 8395 * @return Returns a reference to <code>this</code> for easy method chaining 8396 */ 8397 public SetupActionOperationComponent setRequestHeader(List<SetupActionOperationRequestHeaderComponent> theRequestHeader) { 8398 this.requestHeader = theRequestHeader; 8399 return this; 8400 } 8401 8402 public boolean hasRequestHeader() { 8403 if (this.requestHeader == null) 8404 return false; 8405 for (SetupActionOperationRequestHeaderComponent item : this.requestHeader) 8406 if (!item.isEmpty()) 8407 return true; 8408 return false; 8409 } 8410 8411 public SetupActionOperationRequestHeaderComponent addRequestHeader() { //3 8412 SetupActionOperationRequestHeaderComponent t = new SetupActionOperationRequestHeaderComponent(); 8413 if (this.requestHeader == null) 8414 this.requestHeader = new ArrayList<SetupActionOperationRequestHeaderComponent>(); 8415 this.requestHeader.add(t); 8416 return t; 8417 } 8418 8419 public SetupActionOperationComponent addRequestHeader(SetupActionOperationRequestHeaderComponent t) { //3 8420 if (t == null) 8421 return this; 8422 if (this.requestHeader == null) 8423 this.requestHeader = new ArrayList<SetupActionOperationRequestHeaderComponent>(); 8424 this.requestHeader.add(t); 8425 return this; 8426 } 8427 8428 /** 8429 * @return The first repetition of repeating field {@link #requestHeader}, creating it if it does not already exist {3} 8430 */ 8431 public SetupActionOperationRequestHeaderComponent getRequestHeaderFirstRep() { 8432 if (getRequestHeader().isEmpty()) { 8433 addRequestHeader(); 8434 } 8435 return getRequestHeader().get(0); 8436 } 8437 8438 /** 8439 * @return {@link #requestId} (The fixture id (maybe new) to map to the request.). This is the underlying object with id, value and extensions. The accessor "getRequestId" gives direct access to the value 8440 */ 8441 public IdType getRequestIdElement() { 8442 if (this.requestId == null) 8443 if (Configuration.errorOnAutoCreate()) 8444 throw new Error("Attempt to auto-create SetupActionOperationComponent.requestId"); 8445 else if (Configuration.doAutoCreate()) 8446 this.requestId = new IdType(); // bb 8447 return this.requestId; 8448 } 8449 8450 public boolean hasRequestIdElement() { 8451 return this.requestId != null && !this.requestId.isEmpty(); 8452 } 8453 8454 public boolean hasRequestId() { 8455 return this.requestId != null && !this.requestId.isEmpty(); 8456 } 8457 8458 /** 8459 * @param value {@link #requestId} (The fixture id (maybe new) to map to the request.). This is the underlying object with id, value and extensions. The accessor "getRequestId" gives direct access to the value 8460 */ 8461 public SetupActionOperationComponent setRequestIdElement(IdType value) { 8462 this.requestId = value; 8463 return this; 8464 } 8465 8466 /** 8467 * @return The fixture id (maybe new) to map to the request. 8468 */ 8469 public String getRequestId() { 8470 return this.requestId == null ? null : this.requestId.getValue(); 8471 } 8472 8473 /** 8474 * @param value The fixture id (maybe new) to map to the request. 8475 */ 8476 public SetupActionOperationComponent setRequestId(String value) { 8477 if (Utilities.noString(value)) 8478 this.requestId = null; 8479 else { 8480 if (this.requestId == null) 8481 this.requestId = new IdType(); 8482 this.requestId.setValue(value); 8483 } 8484 return this; 8485 } 8486 8487 /** 8488 * @return {@link #responseId} (The fixture id (maybe new) to map to the response.). This is the underlying object with id, value and extensions. The accessor "getResponseId" gives direct access to the value 8489 */ 8490 public IdType getResponseIdElement() { 8491 if (this.responseId == null) 8492 if (Configuration.errorOnAutoCreate()) 8493 throw new Error("Attempt to auto-create SetupActionOperationComponent.responseId"); 8494 else if (Configuration.doAutoCreate()) 8495 this.responseId = new IdType(); // bb 8496 return this.responseId; 8497 } 8498 8499 public boolean hasResponseIdElement() { 8500 return this.responseId != null && !this.responseId.isEmpty(); 8501 } 8502 8503 public boolean hasResponseId() { 8504 return this.responseId != null && !this.responseId.isEmpty(); 8505 } 8506 8507 /** 8508 * @param value {@link #responseId} (The fixture id (maybe new) to map to the response.). This is the underlying object with id, value and extensions. The accessor "getResponseId" gives direct access to the value 8509 */ 8510 public SetupActionOperationComponent setResponseIdElement(IdType value) { 8511 this.responseId = value; 8512 return this; 8513 } 8514 8515 /** 8516 * @return The fixture id (maybe new) to map to the response. 8517 */ 8518 public String getResponseId() { 8519 return this.responseId == null ? null : this.responseId.getValue(); 8520 } 8521 8522 /** 8523 * @param value The fixture id (maybe new) to map to the response. 8524 */ 8525 public SetupActionOperationComponent setResponseId(String value) { 8526 if (Utilities.noString(value)) 8527 this.responseId = null; 8528 else { 8529 if (this.responseId == null) 8530 this.responseId = new IdType(); 8531 this.responseId.setValue(value); 8532 } 8533 return this; 8534 } 8535 8536 /** 8537 * @return {@link #sourceId} (The id of the fixture used as the body of a PUT or POST request.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value 8538 */ 8539 public IdType getSourceIdElement() { 8540 if (this.sourceId == null) 8541 if (Configuration.errorOnAutoCreate()) 8542 throw new Error("Attempt to auto-create SetupActionOperationComponent.sourceId"); 8543 else if (Configuration.doAutoCreate()) 8544 this.sourceId = new IdType(); // bb 8545 return this.sourceId; 8546 } 8547 8548 public boolean hasSourceIdElement() { 8549 return this.sourceId != null && !this.sourceId.isEmpty(); 8550 } 8551 8552 public boolean hasSourceId() { 8553 return this.sourceId != null && !this.sourceId.isEmpty(); 8554 } 8555 8556 /** 8557 * @param value {@link #sourceId} (The id of the fixture used as the body of a PUT or POST request.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value 8558 */ 8559 public SetupActionOperationComponent setSourceIdElement(IdType value) { 8560 this.sourceId = value; 8561 return this; 8562 } 8563 8564 /** 8565 * @return The id of the fixture used as the body of a PUT or POST request. 8566 */ 8567 public String getSourceId() { 8568 return this.sourceId == null ? null : this.sourceId.getValue(); 8569 } 8570 8571 /** 8572 * @param value The id of the fixture used as the body of a PUT or POST request. 8573 */ 8574 public SetupActionOperationComponent setSourceId(String value) { 8575 if (Utilities.noString(value)) 8576 this.sourceId = null; 8577 else { 8578 if (this.sourceId == null) 8579 this.sourceId = new IdType(); 8580 this.sourceId.setValue(value); 8581 } 8582 return this; 8583 } 8584 8585 /** 8586 * @return {@link #targetId} (Id of fixture used for extracting the [id], [type], and [vid] for GET requests.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value 8587 */ 8588 public IdType getTargetIdElement() { 8589 if (this.targetId == null) 8590 if (Configuration.errorOnAutoCreate()) 8591 throw new Error("Attempt to auto-create SetupActionOperationComponent.targetId"); 8592 else if (Configuration.doAutoCreate()) 8593 this.targetId = new IdType(); // bb 8594 return this.targetId; 8595 } 8596 8597 public boolean hasTargetIdElement() { 8598 return this.targetId != null && !this.targetId.isEmpty(); 8599 } 8600 8601 public boolean hasTargetId() { 8602 return this.targetId != null && !this.targetId.isEmpty(); 8603 } 8604 8605 /** 8606 * @param value {@link #targetId} (Id of fixture used for extracting the [id], [type], and [vid] for GET requests.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value 8607 */ 8608 public SetupActionOperationComponent setTargetIdElement(IdType value) { 8609 this.targetId = value; 8610 return this; 8611 } 8612 8613 /** 8614 * @return Id of fixture used for extracting the [id], [type], and [vid] for GET requests. 8615 */ 8616 public String getTargetId() { 8617 return this.targetId == null ? null : this.targetId.getValue(); 8618 } 8619 8620 /** 8621 * @param value Id of fixture used for extracting the [id], [type], and [vid] for GET requests. 8622 */ 8623 public SetupActionOperationComponent setTargetId(String value) { 8624 if (Utilities.noString(value)) 8625 this.targetId = null; 8626 else { 8627 if (this.targetId == null) 8628 this.targetId = new IdType(); 8629 this.targetId.setValue(value); 8630 } 8631 return this; 8632 } 8633 8634 /** 8635 * @return {@link #url} (Complete request URL.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 8636 */ 8637 public StringType getUrlElement() { 8638 if (this.url == null) 8639 if (Configuration.errorOnAutoCreate()) 8640 throw new Error("Attempt to auto-create SetupActionOperationComponent.url"); 8641 else if (Configuration.doAutoCreate()) 8642 this.url = new StringType(); // bb 8643 return this.url; 8644 } 8645 8646 public boolean hasUrlElement() { 8647 return this.url != null && !this.url.isEmpty(); 8648 } 8649 8650 public boolean hasUrl() { 8651 return this.url != null && !this.url.isEmpty(); 8652 } 8653 8654 /** 8655 * @param value {@link #url} (Complete request URL.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 8656 */ 8657 public SetupActionOperationComponent setUrlElement(StringType value) { 8658 this.url = value; 8659 return this; 8660 } 8661 8662 /** 8663 * @return Complete request URL. 8664 */ 8665 public String getUrl() { 8666 return this.url == null ? null : this.url.getValue(); 8667 } 8668 8669 /** 8670 * @param value Complete request URL. 8671 */ 8672 public SetupActionOperationComponent setUrl(String value) { 8673 if (Utilities.noString(value)) 8674 this.url = null; 8675 else { 8676 if (this.url == null) 8677 this.url = new StringType(); 8678 this.url.setValue(value); 8679 } 8680 return this; 8681 } 8682 8683 protected void listChildren(List<Property> children) { 8684 super.listChildren(children); 8685 children.add(new Property("type", "Coding", "Server interaction or operation type.", 0, 1, type)); 8686 children.add(new Property("resource", "code", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource)); 8687 children.add(new Property("label", "string", "The label would be used for tracking/logging purposes by test engines.", 0, 1, label)); 8688 children.add(new Property("description", "string", "The description would be used by test engines for tracking and reporting purposes.", 0, 1, description)); 8689 children.add(new Property("accept", "code", "The mime-type to use for RESTful operation in the 'Accept' header.", 0, 1, accept)); 8690 children.add(new Property("contentType", "code", "The mime-type to use for RESTful operation in the 'Content-Type' header.", 0, 1, contentType)); 8691 children.add(new Property("destination", "integer", "The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section.", 0, 1, destination)); 8692 children.add(new Property("encodeRequestUrl", "boolean", "Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths.", 0, 1, encodeRequestUrl)); 8693 children.add(new Property("method", "code", "The HTTP method the test engine MUST use for this operation regardless of any other operation details.", 0, 1, method)); 8694 children.add(new Property("origin", "integer", "The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section.", 0, 1, origin)); 8695 children.add(new Property("params", "string", "Path plus parameters after [type]. Used to set parts of the request URL explicitly.", 0, 1, params)); 8696 children.add(new Property("requestHeader", "", "Header elements would be used to set HTTP headers.", 0, java.lang.Integer.MAX_VALUE, requestHeader)); 8697 children.add(new Property("requestId", "id", "The fixture id (maybe new) to map to the request.", 0, 1, requestId)); 8698 children.add(new Property("responseId", "id", "The fixture id (maybe new) to map to the response.", 0, 1, responseId)); 8699 children.add(new Property("sourceId", "id", "The id of the fixture used as the body of a PUT or POST request.", 0, 1, sourceId)); 8700 children.add(new Property("targetId", "id", "Id of fixture used for extracting the [id], [type], and [vid] for GET requests.", 0, 1, targetId)); 8701 children.add(new Property("url", "string", "Complete request URL.", 0, 1, url)); 8702 } 8703 8704 @Override 8705 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 8706 switch (_hash) { 8707 case 3575610: /*type*/ return new Property("type", "Coding", "Server interaction or operation type.", 0, 1, type); 8708 case -341064690: /*resource*/ return new Property("resource", "code", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource); 8709 case 102727412: /*label*/ return new Property("label", "string", "The label would be used for tracking/logging purposes by test engines.", 0, 1, label); 8710 case -1724546052: /*description*/ return new Property("description", "string", "The description would be used by test engines for tracking and reporting purposes.", 0, 1, description); 8711 case -1423461112: /*accept*/ return new Property("accept", "code", "The mime-type to use for RESTful operation in the 'Accept' header.", 0, 1, accept); 8712 case -389131437: /*contentType*/ return new Property("contentType", "code", "The mime-type to use for RESTful operation in the 'Content-Type' header.", 0, 1, contentType); 8713 case -1429847026: /*destination*/ return new Property("destination", "integer", "The server where the request message is destined for. Must be one of the server numbers listed in TestScript.destination section.", 0, 1, destination); 8714 case -1760554218: /*encodeRequestUrl*/ return new Property("encodeRequestUrl", "boolean", "Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths.", 0, 1, encodeRequestUrl); 8715 case -1077554975: /*method*/ return new Property("method", "code", "The HTTP method the test engine MUST use for this operation regardless of any other operation details.", 0, 1, method); 8716 case -1008619738: /*origin*/ return new Property("origin", "integer", "The server where the request message originates from. Must be one of the server numbers listed in TestScript.origin section.", 0, 1, origin); 8717 case -995427962: /*params*/ return new Property("params", "string", "Path plus parameters after [type]. Used to set parts of the request URL explicitly.", 0, 1, params); 8718 case 1074158076: /*requestHeader*/ return new Property("requestHeader", "", "Header elements would be used to set HTTP headers.", 0, java.lang.Integer.MAX_VALUE, requestHeader); 8719 case 693933066: /*requestId*/ return new Property("requestId", "id", "The fixture id (maybe new) to map to the request.", 0, 1, requestId); 8720 case -633138884: /*responseId*/ return new Property("responseId", "id", "The fixture id (maybe new) to map to the response.", 0, 1, responseId); 8721 case 1746327190: /*sourceId*/ return new Property("sourceId", "id", "The id of the fixture used as the body of a PUT or POST request.", 0, 1, sourceId); 8722 case -441951604: /*targetId*/ return new Property("targetId", "id", "Id of fixture used for extracting the [id], [type], and [vid] for GET requests.", 0, 1, targetId); 8723 case 116079: /*url*/ return new Property("url", "string", "Complete request URL.", 0, 1, url); 8724 default: return super.getNamedProperty(_hash, _name, _checkValid); 8725 } 8726 8727 } 8728 8729 @Override 8730 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 8731 switch (hash) { 8732 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Coding 8733 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Enumeration<FHIRDefinedType> 8734 case 102727412: /*label*/ return this.label == null ? new Base[0] : new Base[] {this.label}; // StringType 8735 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 8736 case -1423461112: /*accept*/ return this.accept == null ? new Base[0] : new Base[] {this.accept}; // CodeType 8737 case -389131437: /*contentType*/ return this.contentType == null ? new Base[0] : new Base[] {this.contentType}; // CodeType 8738 case -1429847026: /*destination*/ return this.destination == null ? new Base[0] : new Base[] {this.destination}; // IntegerType 8739 case -1760554218: /*encodeRequestUrl*/ return this.encodeRequestUrl == null ? new Base[0] : new Base[] {this.encodeRequestUrl}; // BooleanType 8740 case -1077554975: /*method*/ return this.method == null ? new Base[0] : new Base[] {this.method}; // Enumeration<TestScriptRequestMethodCode> 8741 case -1008619738: /*origin*/ return this.origin == null ? new Base[0] : new Base[] {this.origin}; // IntegerType 8742 case -995427962: /*params*/ return this.params == null ? new Base[0] : new Base[] {this.params}; // StringType 8743 case 1074158076: /*requestHeader*/ return this.requestHeader == null ? new Base[0] : this.requestHeader.toArray(new Base[this.requestHeader.size()]); // SetupActionOperationRequestHeaderComponent 8744 case 693933066: /*requestId*/ return this.requestId == null ? new Base[0] : new Base[] {this.requestId}; // IdType 8745 case -633138884: /*responseId*/ return this.responseId == null ? new Base[0] : new Base[] {this.responseId}; // IdType 8746 case 1746327190: /*sourceId*/ return this.sourceId == null ? new Base[0] : new Base[] {this.sourceId}; // IdType 8747 case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType 8748 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // StringType 8749 default: return super.getProperty(hash, name, checkValid); 8750 } 8751 8752 } 8753 8754 @Override 8755 public Base setProperty(int hash, String name, Base value) throws FHIRException { 8756 switch (hash) { 8757 case 3575610: // type 8758 this.type = TypeConvertor.castToCoding(value); // Coding 8759 return value; 8760 case -341064690: // resource 8761 value = new FHIRDefinedTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 8762 this.resource = (Enumeration) value; // Enumeration<FHIRDefinedType> 8763 return value; 8764 case 102727412: // label 8765 this.label = TypeConvertor.castToString(value); // StringType 8766 return value; 8767 case -1724546052: // description 8768 this.description = TypeConvertor.castToString(value); // StringType 8769 return value; 8770 case -1423461112: // accept 8771 this.accept = TypeConvertor.castToCode(value); // CodeType 8772 return value; 8773 case -389131437: // contentType 8774 this.contentType = TypeConvertor.castToCode(value); // CodeType 8775 return value; 8776 case -1429847026: // destination 8777 this.destination = TypeConvertor.castToInteger(value); // IntegerType 8778 return value; 8779 case -1760554218: // encodeRequestUrl 8780 this.encodeRequestUrl = TypeConvertor.castToBoolean(value); // BooleanType 8781 return value; 8782 case -1077554975: // method 8783 value = new TestScriptRequestMethodCodeEnumFactory().fromType(TypeConvertor.castToCode(value)); 8784 this.method = (Enumeration) value; // Enumeration<TestScriptRequestMethodCode> 8785 return value; 8786 case -1008619738: // origin 8787 this.origin = TypeConvertor.castToInteger(value); // IntegerType 8788 return value; 8789 case -995427962: // params 8790 this.params = TypeConvertor.castToString(value); // StringType 8791 return value; 8792 case 1074158076: // requestHeader 8793 this.getRequestHeader().add((SetupActionOperationRequestHeaderComponent) value); // SetupActionOperationRequestHeaderComponent 8794 return value; 8795 case 693933066: // requestId 8796 this.requestId = TypeConvertor.castToId(value); // IdType 8797 return value; 8798 case -633138884: // responseId 8799 this.responseId = TypeConvertor.castToId(value); // IdType 8800 return value; 8801 case 1746327190: // sourceId 8802 this.sourceId = TypeConvertor.castToId(value); // IdType 8803 return value; 8804 case -441951604: // targetId 8805 this.targetId = TypeConvertor.castToId(value); // IdType 8806 return value; 8807 case 116079: // url 8808 this.url = TypeConvertor.castToString(value); // StringType 8809 return value; 8810 default: return super.setProperty(hash, name, value); 8811 } 8812 8813 } 8814 8815 @Override 8816 public Base setProperty(String name, Base value) throws FHIRException { 8817 if (name.equals("type")) { 8818 this.type = TypeConvertor.castToCoding(value); // Coding 8819 } else if (name.equals("resource")) { 8820 value = new FHIRDefinedTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 8821 this.resource = (Enumeration) value; // Enumeration<FHIRDefinedType> 8822 } else if (name.equals("label")) { 8823 this.label = TypeConvertor.castToString(value); // StringType 8824 } else if (name.equals("description")) { 8825 this.description = TypeConvertor.castToString(value); // StringType 8826 } else if (name.equals("accept")) { 8827 this.accept = TypeConvertor.castToCode(value); // CodeType 8828 } else if (name.equals("contentType")) { 8829 this.contentType = TypeConvertor.castToCode(value); // CodeType 8830 } else if (name.equals("destination")) { 8831 this.destination = TypeConvertor.castToInteger(value); // IntegerType 8832 } else if (name.equals("encodeRequestUrl")) { 8833 this.encodeRequestUrl = TypeConvertor.castToBoolean(value); // BooleanType 8834 } else if (name.equals("method")) { 8835 value = new TestScriptRequestMethodCodeEnumFactory().fromType(TypeConvertor.castToCode(value)); 8836 this.method = (Enumeration) value; // Enumeration<TestScriptRequestMethodCode> 8837 } else if (name.equals("origin")) { 8838 this.origin = TypeConvertor.castToInteger(value); // IntegerType 8839 } else if (name.equals("params")) { 8840 this.params = TypeConvertor.castToString(value); // StringType 8841 } else if (name.equals("requestHeader")) { 8842 this.getRequestHeader().add((SetupActionOperationRequestHeaderComponent) value); 8843 } else if (name.equals("requestId")) { 8844 this.requestId = TypeConvertor.castToId(value); // IdType 8845 } else if (name.equals("responseId")) { 8846 this.responseId = TypeConvertor.castToId(value); // IdType 8847 } else if (name.equals("sourceId")) { 8848 this.sourceId = TypeConvertor.castToId(value); // IdType 8849 } else if (name.equals("targetId")) { 8850 this.targetId = TypeConvertor.castToId(value); // IdType 8851 } else if (name.equals("url")) { 8852 this.url = TypeConvertor.castToString(value); // StringType 8853 } else 8854 return super.setProperty(name, value); 8855 return value; 8856 } 8857 8858 @Override 8859 public Base makeProperty(int hash, String name) throws FHIRException { 8860 switch (hash) { 8861 case 3575610: return getType(); 8862 case -341064690: return getResourceElement(); 8863 case 102727412: return getLabelElement(); 8864 case -1724546052: return getDescriptionElement(); 8865 case -1423461112: return getAcceptElement(); 8866 case -389131437: return getContentTypeElement(); 8867 case -1429847026: return getDestinationElement(); 8868 case -1760554218: return getEncodeRequestUrlElement(); 8869 case -1077554975: return getMethodElement(); 8870 case -1008619738: return getOriginElement(); 8871 case -995427962: return getParamsElement(); 8872 case 1074158076: return addRequestHeader(); 8873 case 693933066: return getRequestIdElement(); 8874 case -633138884: return getResponseIdElement(); 8875 case 1746327190: return getSourceIdElement(); 8876 case -441951604: return getTargetIdElement(); 8877 case 116079: return getUrlElement(); 8878 default: return super.makeProperty(hash, name); 8879 } 8880 8881 } 8882 8883 @Override 8884 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 8885 switch (hash) { 8886 case 3575610: /*type*/ return new String[] {"Coding"}; 8887 case -341064690: /*resource*/ return new String[] {"code"}; 8888 case 102727412: /*label*/ return new String[] {"string"}; 8889 case -1724546052: /*description*/ return new String[] {"string"}; 8890 case -1423461112: /*accept*/ return new String[] {"code"}; 8891 case -389131437: /*contentType*/ return new String[] {"code"}; 8892 case -1429847026: /*destination*/ return new String[] {"integer"}; 8893 case -1760554218: /*encodeRequestUrl*/ return new String[] {"boolean"}; 8894 case -1077554975: /*method*/ return new String[] {"code"}; 8895 case -1008619738: /*origin*/ return new String[] {"integer"}; 8896 case -995427962: /*params*/ return new String[] {"string"}; 8897 case 1074158076: /*requestHeader*/ return new String[] {}; 8898 case 693933066: /*requestId*/ return new String[] {"id"}; 8899 case -633138884: /*responseId*/ return new String[] {"id"}; 8900 case 1746327190: /*sourceId*/ return new String[] {"id"}; 8901 case -441951604: /*targetId*/ return new String[] {"id"}; 8902 case 116079: /*url*/ return new String[] {"string"}; 8903 default: return super.getTypesForProperty(hash, name); 8904 } 8905 8906 } 8907 8908 @Override 8909 public Base addChild(String name) throws FHIRException { 8910 if (name.equals("type")) { 8911 this.type = new Coding(); 8912 return this.type; 8913 } 8914 else if (name.equals("resource")) { 8915 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.resource"); 8916 } 8917 else if (name.equals("label")) { 8918 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.label"); 8919 } 8920 else if (name.equals("description")) { 8921 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.description"); 8922 } 8923 else if (name.equals("accept")) { 8924 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.accept"); 8925 } 8926 else if (name.equals("contentType")) { 8927 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.contentType"); 8928 } 8929 else if (name.equals("destination")) { 8930 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.destination"); 8931 } 8932 else if (name.equals("encodeRequestUrl")) { 8933 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.encodeRequestUrl"); 8934 } 8935 else if (name.equals("method")) { 8936 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.method"); 8937 } 8938 else if (name.equals("origin")) { 8939 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.origin"); 8940 } 8941 else if (name.equals("params")) { 8942 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.params"); 8943 } 8944 else if (name.equals("requestHeader")) { 8945 return addRequestHeader(); 8946 } 8947 else if (name.equals("requestId")) { 8948 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.requestId"); 8949 } 8950 else if (name.equals("responseId")) { 8951 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.responseId"); 8952 } 8953 else if (name.equals("sourceId")) { 8954 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.sourceId"); 8955 } 8956 else if (name.equals("targetId")) { 8957 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.targetId"); 8958 } 8959 else if (name.equals("url")) { 8960 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.url"); 8961 } 8962 else 8963 return super.addChild(name); 8964 } 8965 8966 public SetupActionOperationComponent copy() { 8967 SetupActionOperationComponent dst = new SetupActionOperationComponent(); 8968 copyValues(dst); 8969 return dst; 8970 } 8971 8972 public void copyValues(SetupActionOperationComponent dst) { 8973 super.copyValues(dst); 8974 dst.type = type == null ? null : type.copy(); 8975 dst.resource = resource == null ? null : resource.copy(); 8976 dst.label = label == null ? null : label.copy(); 8977 dst.description = description == null ? null : description.copy(); 8978 dst.accept = accept == null ? null : accept.copy(); 8979 dst.contentType = contentType == null ? null : contentType.copy(); 8980 dst.destination = destination == null ? null : destination.copy(); 8981 dst.encodeRequestUrl = encodeRequestUrl == null ? null : encodeRequestUrl.copy(); 8982 dst.method = method == null ? null : method.copy(); 8983 dst.origin = origin == null ? null : origin.copy(); 8984 dst.params = params == null ? null : params.copy(); 8985 if (requestHeader != null) { 8986 dst.requestHeader = new ArrayList<SetupActionOperationRequestHeaderComponent>(); 8987 for (SetupActionOperationRequestHeaderComponent i : requestHeader) 8988 dst.requestHeader.add(i.copy()); 8989 }; 8990 dst.requestId = requestId == null ? null : requestId.copy(); 8991 dst.responseId = responseId == null ? null : responseId.copy(); 8992 dst.sourceId = sourceId == null ? null : sourceId.copy(); 8993 dst.targetId = targetId == null ? null : targetId.copy(); 8994 dst.url = url == null ? null : url.copy(); 8995 } 8996 8997 @Override 8998 public boolean equalsDeep(Base other_) { 8999 if (!super.equalsDeep(other_)) 9000 return false; 9001 if (!(other_ instanceof SetupActionOperationComponent)) 9002 return false; 9003 SetupActionOperationComponent o = (SetupActionOperationComponent) other_; 9004 return compareDeep(type, o.type, true) && compareDeep(resource, o.resource, true) && compareDeep(label, o.label, true) 9005 && compareDeep(description, o.description, true) && compareDeep(accept, o.accept, true) && compareDeep(contentType, o.contentType, true) 9006 && compareDeep(destination, o.destination, true) && compareDeep(encodeRequestUrl, o.encodeRequestUrl, true) 9007 && compareDeep(method, o.method, true) && compareDeep(origin, o.origin, true) && compareDeep(params, o.params, true) 9008 && compareDeep(requestHeader, o.requestHeader, true) && compareDeep(requestId, o.requestId, true) 9009 && compareDeep(responseId, o.responseId, true) && compareDeep(sourceId, o.sourceId, true) && compareDeep(targetId, o.targetId, true) 9010 && compareDeep(url, o.url, true); 9011 } 9012 9013 @Override 9014 public boolean equalsShallow(Base other_) { 9015 if (!super.equalsShallow(other_)) 9016 return false; 9017 if (!(other_ instanceof SetupActionOperationComponent)) 9018 return false; 9019 SetupActionOperationComponent o = (SetupActionOperationComponent) other_; 9020 return compareValues(resource, o.resource, true) && compareValues(label, o.label, true) && compareValues(description, o.description, true) 9021 && compareValues(accept, o.accept, true) && compareValues(contentType, o.contentType, true) && compareValues(destination, o.destination, true) 9022 && compareValues(encodeRequestUrl, o.encodeRequestUrl, true) && compareValues(method, o.method, true) 9023 && compareValues(origin, o.origin, true) && compareValues(params, o.params, true) && compareValues(requestId, o.requestId, true) 9024 && compareValues(responseId, o.responseId, true) && compareValues(sourceId, o.sourceId, true) && compareValues(targetId, o.targetId, true) 9025 && compareValues(url, o.url, true); 9026 } 9027 9028 public boolean isEmpty() { 9029 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, resource, label, description 9030 , accept, contentType, destination, encodeRequestUrl, method, origin, params, requestHeader 9031 , requestId, responseId, sourceId, targetId, url); 9032 } 9033 9034 public String fhirType() { 9035 return "TestScript.setup.action.operation"; 9036 9037 } 9038 9039 } 9040 9041 @Block() 9042 public static class SetupActionOperationRequestHeaderComponent extends BackboneElement implements IBaseBackboneElement { 9043 /** 9044 * The HTTP header field e.g. "Accept". 9045 */ 9046 @Child(name = "field", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 9047 @Description(shortDefinition="HTTP header field name", formalDefinition="The HTTP header field e.g. \"Accept\"." ) 9048 protected StringType field; 9049 9050 /** 9051 * The value of the header e.g. "application/fhir+xml". 9052 */ 9053 @Child(name = "value", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false) 9054 @Description(shortDefinition="HTTP headerfield value", formalDefinition="The value of the header e.g. \"application/fhir+xml\"." ) 9055 protected StringType value; 9056 9057 private static final long serialVersionUID = 274395337L; 9058 9059 /** 9060 * Constructor 9061 */ 9062 public SetupActionOperationRequestHeaderComponent() { 9063 super(); 9064 } 9065 9066 /** 9067 * Constructor 9068 */ 9069 public SetupActionOperationRequestHeaderComponent(String field, String value) { 9070 super(); 9071 this.setField(field); 9072 this.setValue(value); 9073 } 9074 9075 /** 9076 * @return {@link #field} (The HTTP header field e.g. "Accept".). This is the underlying object with id, value and extensions. The accessor "getField" gives direct access to the value 9077 */ 9078 public StringType getFieldElement() { 9079 if (this.field == null) 9080 if (Configuration.errorOnAutoCreate()) 9081 throw new Error("Attempt to auto-create SetupActionOperationRequestHeaderComponent.field"); 9082 else if (Configuration.doAutoCreate()) 9083 this.field = new StringType(); // bb 9084 return this.field; 9085 } 9086 9087 public boolean hasFieldElement() { 9088 return this.field != null && !this.field.isEmpty(); 9089 } 9090 9091 public boolean hasField() { 9092 return this.field != null && !this.field.isEmpty(); 9093 } 9094 9095 /** 9096 * @param value {@link #field} (The HTTP header field e.g. "Accept".). This is the underlying object with id, value and extensions. The accessor "getField" gives direct access to the value 9097 */ 9098 public SetupActionOperationRequestHeaderComponent setFieldElement(StringType value) { 9099 this.field = value; 9100 return this; 9101 } 9102 9103 /** 9104 * @return The HTTP header field e.g. "Accept". 9105 */ 9106 public String getField() { 9107 return this.field == null ? null : this.field.getValue(); 9108 } 9109 9110 /** 9111 * @param value The HTTP header field e.g. "Accept". 9112 */ 9113 public SetupActionOperationRequestHeaderComponent setField(String value) { 9114 if (this.field == null) 9115 this.field = new StringType(); 9116 this.field.setValue(value); 9117 return this; 9118 } 9119 9120 /** 9121 * @return {@link #value} (The value of the header e.g. "application/fhir+xml".). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 9122 */ 9123 public StringType getValueElement() { 9124 if (this.value == null) 9125 if (Configuration.errorOnAutoCreate()) 9126 throw new Error("Attempt to auto-create SetupActionOperationRequestHeaderComponent.value"); 9127 else if (Configuration.doAutoCreate()) 9128 this.value = new StringType(); // bb 9129 return this.value; 9130 } 9131 9132 public boolean hasValueElement() { 9133 return this.value != null && !this.value.isEmpty(); 9134 } 9135 9136 public boolean hasValue() { 9137 return this.value != null && !this.value.isEmpty(); 9138 } 9139 9140 /** 9141 * @param value {@link #value} (The value of the header e.g. "application/fhir+xml".). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 9142 */ 9143 public SetupActionOperationRequestHeaderComponent setValueElement(StringType value) { 9144 this.value = value; 9145 return this; 9146 } 9147 9148 /** 9149 * @return The value of the header e.g. "application/fhir+xml". 9150 */ 9151 public String getValue() { 9152 return this.value == null ? null : this.value.getValue(); 9153 } 9154 9155 /** 9156 * @param value The value of the header e.g. "application/fhir+xml". 9157 */ 9158 public SetupActionOperationRequestHeaderComponent setValue(String value) { 9159 if (this.value == null) 9160 this.value = new StringType(); 9161 this.value.setValue(value); 9162 return this; 9163 } 9164 9165 protected void listChildren(List<Property> children) { 9166 super.listChildren(children); 9167 children.add(new Property("field", "string", "The HTTP header field e.g. \"Accept\".", 0, 1, field)); 9168 children.add(new Property("value", "string", "The value of the header e.g. \"application/fhir+xml\".", 0, 1, value)); 9169 } 9170 9171 @Override 9172 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 9173 switch (_hash) { 9174 case 97427706: /*field*/ return new Property("field", "string", "The HTTP header field e.g. \"Accept\".", 0, 1, field); 9175 case 111972721: /*value*/ return new Property("value", "string", "The value of the header e.g. \"application/fhir+xml\".", 0, 1, value); 9176 default: return super.getNamedProperty(_hash, _name, _checkValid); 9177 } 9178 9179 } 9180 9181 @Override 9182 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 9183 switch (hash) { 9184 case 97427706: /*field*/ return this.field == null ? new Base[0] : new Base[] {this.field}; // StringType 9185 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 9186 default: return super.getProperty(hash, name, checkValid); 9187 } 9188 9189 } 9190 9191 @Override 9192 public Base setProperty(int hash, String name, Base value) throws FHIRException { 9193 switch (hash) { 9194 case 97427706: // field 9195 this.field = TypeConvertor.castToString(value); // StringType 9196 return value; 9197 case 111972721: // value 9198 this.value = TypeConvertor.castToString(value); // StringType 9199 return value; 9200 default: return super.setProperty(hash, name, value); 9201 } 9202 9203 } 9204 9205 @Override 9206 public Base setProperty(String name, Base value) throws FHIRException { 9207 if (name.equals("field")) { 9208 this.field = TypeConvertor.castToString(value); // StringType 9209 } else if (name.equals("value")) { 9210 this.value = TypeConvertor.castToString(value); // StringType 9211 } else 9212 return super.setProperty(name, value); 9213 return value; 9214 } 9215 9216 @Override 9217 public Base makeProperty(int hash, String name) throws FHIRException { 9218 switch (hash) { 9219 case 97427706: return getFieldElement(); 9220 case 111972721: return getValueElement(); 9221 default: return super.makeProperty(hash, name); 9222 } 9223 9224 } 9225 9226 @Override 9227 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 9228 switch (hash) { 9229 case 97427706: /*field*/ return new String[] {"string"}; 9230 case 111972721: /*value*/ return new String[] {"string"}; 9231 default: return super.getTypesForProperty(hash, name); 9232 } 9233 9234 } 9235 9236 @Override 9237 public Base addChild(String name) throws FHIRException { 9238 if (name.equals("field")) { 9239 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.requestHeader.field"); 9240 } 9241 else if (name.equals("value")) { 9242 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.operation.requestHeader.value"); 9243 } 9244 else 9245 return super.addChild(name); 9246 } 9247 9248 public SetupActionOperationRequestHeaderComponent copy() { 9249 SetupActionOperationRequestHeaderComponent dst = new SetupActionOperationRequestHeaderComponent(); 9250 copyValues(dst); 9251 return dst; 9252 } 9253 9254 public void copyValues(SetupActionOperationRequestHeaderComponent dst) { 9255 super.copyValues(dst); 9256 dst.field = field == null ? null : field.copy(); 9257 dst.value = value == null ? null : value.copy(); 9258 } 9259 9260 @Override 9261 public boolean equalsDeep(Base other_) { 9262 if (!super.equalsDeep(other_)) 9263 return false; 9264 if (!(other_ instanceof SetupActionOperationRequestHeaderComponent)) 9265 return false; 9266 SetupActionOperationRequestHeaderComponent o = (SetupActionOperationRequestHeaderComponent) other_; 9267 return compareDeep(field, o.field, true) && compareDeep(value, o.value, true); 9268 } 9269 9270 @Override 9271 public boolean equalsShallow(Base other_) { 9272 if (!super.equalsShallow(other_)) 9273 return false; 9274 if (!(other_ instanceof SetupActionOperationRequestHeaderComponent)) 9275 return false; 9276 SetupActionOperationRequestHeaderComponent o = (SetupActionOperationRequestHeaderComponent) other_; 9277 return compareValues(field, o.field, true) && compareValues(value, o.value, true); 9278 } 9279 9280 public boolean isEmpty() { 9281 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(field, value); 9282 } 9283 9284 public String fhirType() { 9285 return "TestScript.setup.action.operation.requestHeader"; 9286 9287 } 9288 9289 } 9290 9291 @Block() 9292 public static class SetupActionAssertComponent extends BackboneElement implements IBaseBackboneElement { 9293 /** 9294 * The label would be used for tracking/logging purposes by test engines. 9295 */ 9296 @Child(name = "label", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 9297 @Description(shortDefinition="Tracking/logging assertion label", formalDefinition="The label would be used for tracking/logging purposes by test engines." ) 9298 protected StringType label; 9299 9300 /** 9301 * The description would be used by test engines for tracking and reporting purposes. 9302 */ 9303 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 9304 @Description(shortDefinition="Tracking/reporting assertion description", formalDefinition="The description would be used by test engines for tracking and reporting purposes." ) 9305 protected StringType description; 9306 9307 /** 9308 * The direction to use for the assertion. 9309 */ 9310 @Child(name = "direction", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 9311 @Description(shortDefinition="response | request", formalDefinition="The direction to use for the assertion." ) 9312 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/assert-direction-codes") 9313 protected Enumeration<AssertionDirectionType> direction; 9314 9315 /** 9316 * Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. 9317 */ 9318 @Child(name = "compareToSourceId", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 9319 @Description(shortDefinition="Id of the source fixture to be evaluated", formalDefinition="Id of the source fixture used as the contents to be evaluated by either the \"source/expression\" or \"sourceId/path\" definition." ) 9320 protected StringType compareToSourceId; 9321 9322 /** 9323 * The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both. 9324 */ 9325 @Child(name = "compareToSourceExpression", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 9326 @Description(shortDefinition="The FHIRPath expression to evaluate against the source fixture", formalDefinition="The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both." ) 9327 protected StringType compareToSourceExpression; 9328 9329 /** 9330 * XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both. 9331 */ 9332 @Child(name = "compareToSourcePath", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 9333 @Description(shortDefinition="XPath or JSONPath expression to evaluate against the source fixture", formalDefinition="XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both." ) 9334 protected StringType compareToSourcePath; 9335 9336 /** 9337 * The mime-type contents to compare against the request or response message 'Content-Type' header. 9338 */ 9339 @Child(name = "contentType", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) 9340 @Description(shortDefinition="Mime type to compare against the 'Content-Type' header", formalDefinition="The mime-type contents to compare against the request or response message 'Content-Type' header." ) 9341 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") 9342 protected CodeType contentType; 9343 9344 /** 9345 * The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload. 9346 */ 9347 @Child(name = "expression", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) 9348 @Description(shortDefinition="The FHIRPath expression to be evaluated", formalDefinition="The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload." ) 9349 protected StringType expression; 9350 9351 /** 9352 * The HTTP header field name e.g. 'Location'. 9353 */ 9354 @Child(name = "headerField", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) 9355 @Description(shortDefinition="HTTP header field name", formalDefinition="The HTTP header field name e.g. 'Location'." ) 9356 protected StringType headerField; 9357 9358 /** 9359 * The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId. 9360 */ 9361 @Child(name = "minimumId", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) 9362 @Description(shortDefinition="Fixture Id of minimum content resource", formalDefinition="The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId." ) 9363 protected StringType minimumId; 9364 9365 /** 9366 * Whether or not the test execution performs validation on the bundle navigation links. 9367 */ 9368 @Child(name = "navigationLinks", type = {BooleanType.class}, order=11, min=0, max=1, modifier=false, summary=false) 9369 @Description(shortDefinition="Perform validation on navigation links?", formalDefinition="Whether or not the test execution performs validation on the bundle navigation links." ) 9370 protected BooleanType navigationLinks; 9371 9372 /** 9373 * The operator type defines the conditional behavior of the assert. If not defined, the default is equals. 9374 */ 9375 @Child(name = "operator", type = {CodeType.class}, order=12, min=0, max=1, modifier=false, summary=false) 9376 @Description(shortDefinition="equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval", formalDefinition="The operator type defines the conditional behavior of the assert. If not defined, the default is equals." ) 9377 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/assert-operator-codes") 9378 protected Enumeration<AssertionOperatorType> operator; 9379 9380 /** 9381 * The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server. 9382 */ 9383 @Child(name = "path", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) 9384 @Description(shortDefinition="XPath or JSONPath expression", formalDefinition="The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server." ) 9385 protected StringType path; 9386 9387 /** 9388 * The request method or HTTP operation code to compare against that used by the client system under test. 9389 */ 9390 @Child(name = "requestMethod", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=false) 9391 @Description(shortDefinition="delete | get | options | patch | post | put | head", formalDefinition="The request method or HTTP operation code to compare against that used by the client system under test." ) 9392 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/http-operations") 9393 protected Enumeration<TestScriptRequestMethodCode> requestMethod; 9394 9395 /** 9396 * The value to use in a comparison against the request URL path string. 9397 */ 9398 @Child(name = "requestURL", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) 9399 @Description(shortDefinition="Request URL comparison value", formalDefinition="The value to use in a comparison against the request URL path string." ) 9400 protected StringType requestURL; 9401 9402 /** 9403 * The type of the resource. See http://build.fhir.org/resourcelist.html. 9404 */ 9405 @Child(name = "resource", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=false) 9406 @Description(shortDefinition="Resource type", formalDefinition="The type of the resource. See http://build.fhir.org/resourcelist.html." ) 9407 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") 9408 protected Enumeration<FHIRDefinedType> resource; 9409 9410 /** 9411 * okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable. 9412 */ 9413 @Child(name = "response", type = {CodeType.class}, order=17, min=0, max=1, modifier=false, summary=false) 9414 @Description(shortDefinition="okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable", formalDefinition="okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable." ) 9415 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/assert-response-code-types") 9416 protected Enumeration<AssertionResponseTypes> response; 9417 9418 /** 9419 * The value of the HTTP response code to be tested. 9420 */ 9421 @Child(name = "responseCode", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=false) 9422 @Description(shortDefinition="HTTP response code to test", formalDefinition="The value of the HTTP response code to be tested." ) 9423 protected StringType responseCode; 9424 9425 /** 9426 * Fixture to evaluate the XPath/JSONPath expression or the headerField against. 9427 */ 9428 @Child(name = "sourceId", type = {IdType.class}, order=19, min=0, max=1, modifier=false, summary=false) 9429 @Description(shortDefinition="Fixture Id of source expression or headerField", formalDefinition="Fixture to evaluate the XPath/JSONPath expression or the headerField against." ) 9430 protected IdType sourceId; 9431 9432 /** 9433 * Whether or not the current test execution will stop on failure for this assert. 9434 */ 9435 @Child(name = "stopTestOnFail", type = {BooleanType.class}, order=20, min=1, max=1, modifier=false, summary=false) 9436 @Description(shortDefinition="If this assert fails, will the current test execution stop?", formalDefinition="Whether or not the current test execution will stop on failure for this assert." ) 9437 protected BooleanType stopTestOnFail; 9438 9439 /** 9440 * The ID of the Profile to validate against. 9441 */ 9442 @Child(name = "validateProfileId", type = {IdType.class}, order=21, min=0, max=1, modifier=false, summary=false) 9443 @Description(shortDefinition="Profile Id of validation profile reference", formalDefinition="The ID of the Profile to validate against." ) 9444 protected IdType validateProfileId; 9445 9446 /** 9447 * The value to compare to. 9448 */ 9449 @Child(name = "value", type = {StringType.class}, order=22, min=0, max=1, modifier=false, summary=false) 9450 @Description(shortDefinition="The value to compare to", formalDefinition="The value to compare to." ) 9451 protected StringType value; 9452 9453 /** 9454 * Whether or not the test execution will produce a warning only on error for this assert. 9455 */ 9456 @Child(name = "warningOnly", type = {BooleanType.class}, order=23, min=1, max=1, modifier=false, summary=false) 9457 @Description(shortDefinition="Will this assert produce a warning only on error?", formalDefinition="Whether or not the test execution will produce a warning only on error for this assert." ) 9458 protected BooleanType warningOnly; 9459 9460 private static final long serialVersionUID = 656289619L; 9461 9462 /** 9463 * Constructor 9464 */ 9465 public SetupActionAssertComponent() { 9466 super(); 9467 } 9468 9469 /** 9470 * Constructor 9471 */ 9472 public SetupActionAssertComponent(boolean stopTestOnFail, boolean warningOnly) { 9473 super(); 9474 this.setStopTestOnFail(stopTestOnFail); 9475 this.setWarningOnly(warningOnly); 9476 } 9477 9478 /** 9479 * @return {@link #label} (The label would be used for tracking/logging purposes by test engines.). This is the underlying object with id, value and extensions. The accessor "getLabel" gives direct access to the value 9480 */ 9481 public StringType getLabelElement() { 9482 if (this.label == null) 9483 if (Configuration.errorOnAutoCreate()) 9484 throw new Error("Attempt to auto-create SetupActionAssertComponent.label"); 9485 else if (Configuration.doAutoCreate()) 9486 this.label = new StringType(); // bb 9487 return this.label; 9488 } 9489 9490 public boolean hasLabelElement() { 9491 return this.label != null && !this.label.isEmpty(); 9492 } 9493 9494 public boolean hasLabel() { 9495 return this.label != null && !this.label.isEmpty(); 9496 } 9497 9498 /** 9499 * @param value {@link #label} (The label would be used for tracking/logging purposes by test engines.). This is the underlying object with id, value and extensions. The accessor "getLabel" gives direct access to the value 9500 */ 9501 public SetupActionAssertComponent setLabelElement(StringType value) { 9502 this.label = value; 9503 return this; 9504 } 9505 9506 /** 9507 * @return The label would be used for tracking/logging purposes by test engines. 9508 */ 9509 public String getLabel() { 9510 return this.label == null ? null : this.label.getValue(); 9511 } 9512 9513 /** 9514 * @param value The label would be used for tracking/logging purposes by test engines. 9515 */ 9516 public SetupActionAssertComponent setLabel(String value) { 9517 if (Utilities.noString(value)) 9518 this.label = null; 9519 else { 9520 if (this.label == null) 9521 this.label = new StringType(); 9522 this.label.setValue(value); 9523 } 9524 return this; 9525 } 9526 9527 /** 9528 * @return {@link #description} (The description would be used by test engines for tracking and reporting purposes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 9529 */ 9530 public StringType getDescriptionElement() { 9531 if (this.description == null) 9532 if (Configuration.errorOnAutoCreate()) 9533 throw new Error("Attempt to auto-create SetupActionAssertComponent.description"); 9534 else if (Configuration.doAutoCreate()) 9535 this.description = new StringType(); // bb 9536 return this.description; 9537 } 9538 9539 public boolean hasDescriptionElement() { 9540 return this.description != null && !this.description.isEmpty(); 9541 } 9542 9543 public boolean hasDescription() { 9544 return this.description != null && !this.description.isEmpty(); 9545 } 9546 9547 /** 9548 * @param value {@link #description} (The description would be used by test engines for tracking and reporting purposes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 9549 */ 9550 public SetupActionAssertComponent setDescriptionElement(StringType value) { 9551 this.description = value; 9552 return this; 9553 } 9554 9555 /** 9556 * @return The description would be used by test engines for tracking and reporting purposes. 9557 */ 9558 public String getDescription() { 9559 return this.description == null ? null : this.description.getValue(); 9560 } 9561 9562 /** 9563 * @param value The description would be used by test engines for tracking and reporting purposes. 9564 */ 9565 public SetupActionAssertComponent setDescription(String value) { 9566 if (Utilities.noString(value)) 9567 this.description = null; 9568 else { 9569 if (this.description == null) 9570 this.description = new StringType(); 9571 this.description.setValue(value); 9572 } 9573 return this; 9574 } 9575 9576 /** 9577 * @return {@link #direction} (The direction to use for the assertion.). This is the underlying object with id, value and extensions. The accessor "getDirection" gives direct access to the value 9578 */ 9579 public Enumeration<AssertionDirectionType> getDirectionElement() { 9580 if (this.direction == null) 9581 if (Configuration.errorOnAutoCreate()) 9582 throw new Error("Attempt to auto-create SetupActionAssertComponent.direction"); 9583 else if (Configuration.doAutoCreate()) 9584 this.direction = new Enumeration<AssertionDirectionType>(new AssertionDirectionTypeEnumFactory()); // bb 9585 return this.direction; 9586 } 9587 9588 public boolean hasDirectionElement() { 9589 return this.direction != null && !this.direction.isEmpty(); 9590 } 9591 9592 public boolean hasDirection() { 9593 return this.direction != null && !this.direction.isEmpty(); 9594 } 9595 9596 /** 9597 * @param value {@link #direction} (The direction to use for the assertion.). This is the underlying object with id, value and extensions. The accessor "getDirection" gives direct access to the value 9598 */ 9599 public SetupActionAssertComponent setDirectionElement(Enumeration<AssertionDirectionType> value) { 9600 this.direction = value; 9601 return this; 9602 } 9603 9604 /** 9605 * @return The direction to use for the assertion. 9606 */ 9607 public AssertionDirectionType getDirection() { 9608 return this.direction == null ? null : this.direction.getValue(); 9609 } 9610 9611 /** 9612 * @param value The direction to use for the assertion. 9613 */ 9614 public SetupActionAssertComponent setDirection(AssertionDirectionType value) { 9615 if (value == null) 9616 this.direction = null; 9617 else { 9618 if (this.direction == null) 9619 this.direction = new Enumeration<AssertionDirectionType>(new AssertionDirectionTypeEnumFactory()); 9620 this.direction.setValue(value); 9621 } 9622 return this; 9623 } 9624 9625 /** 9626 * @return {@link #compareToSourceId} (Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition.). This is the underlying object with id, value and extensions. The accessor "getCompareToSourceId" gives direct access to the value 9627 */ 9628 public StringType getCompareToSourceIdElement() { 9629 if (this.compareToSourceId == null) 9630 if (Configuration.errorOnAutoCreate()) 9631 throw new Error("Attempt to auto-create SetupActionAssertComponent.compareToSourceId"); 9632 else if (Configuration.doAutoCreate()) 9633 this.compareToSourceId = new StringType(); // bb 9634 return this.compareToSourceId; 9635 } 9636 9637 public boolean hasCompareToSourceIdElement() { 9638 return this.compareToSourceId != null && !this.compareToSourceId.isEmpty(); 9639 } 9640 9641 public boolean hasCompareToSourceId() { 9642 return this.compareToSourceId != null && !this.compareToSourceId.isEmpty(); 9643 } 9644 9645 /** 9646 * @param value {@link #compareToSourceId} (Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition.). This is the underlying object with id, value and extensions. The accessor "getCompareToSourceId" gives direct access to the value 9647 */ 9648 public SetupActionAssertComponent setCompareToSourceIdElement(StringType value) { 9649 this.compareToSourceId = value; 9650 return this; 9651 } 9652 9653 /** 9654 * @return Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. 9655 */ 9656 public String getCompareToSourceId() { 9657 return this.compareToSourceId == null ? null : this.compareToSourceId.getValue(); 9658 } 9659 9660 /** 9661 * @param value Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition. 9662 */ 9663 public SetupActionAssertComponent setCompareToSourceId(String value) { 9664 if (Utilities.noString(value)) 9665 this.compareToSourceId = null; 9666 else { 9667 if (this.compareToSourceId == null) 9668 this.compareToSourceId = new StringType(); 9669 this.compareToSourceId.setValue(value); 9670 } 9671 return this; 9672 } 9673 9674 /** 9675 * @return {@link #compareToSourceExpression} (The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.). This is the underlying object with id, value and extensions. The accessor "getCompareToSourceExpression" gives direct access to the value 9676 */ 9677 public StringType getCompareToSourceExpressionElement() { 9678 if (this.compareToSourceExpression == null) 9679 if (Configuration.errorOnAutoCreate()) 9680 throw new Error("Attempt to auto-create SetupActionAssertComponent.compareToSourceExpression"); 9681 else if (Configuration.doAutoCreate()) 9682 this.compareToSourceExpression = new StringType(); // bb 9683 return this.compareToSourceExpression; 9684 } 9685 9686 public boolean hasCompareToSourceExpressionElement() { 9687 return this.compareToSourceExpression != null && !this.compareToSourceExpression.isEmpty(); 9688 } 9689 9690 public boolean hasCompareToSourceExpression() { 9691 return this.compareToSourceExpression != null && !this.compareToSourceExpression.isEmpty(); 9692 } 9693 9694 /** 9695 * @param value {@link #compareToSourceExpression} (The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.). This is the underlying object with id, value and extensions. The accessor "getCompareToSourceExpression" gives direct access to the value 9696 */ 9697 public SetupActionAssertComponent setCompareToSourceExpressionElement(StringType value) { 9698 this.compareToSourceExpression = value; 9699 return this; 9700 } 9701 9702 /** 9703 * @return The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both. 9704 */ 9705 public String getCompareToSourceExpression() { 9706 return this.compareToSourceExpression == null ? null : this.compareToSourceExpression.getValue(); 9707 } 9708 9709 /** 9710 * @param value The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both. 9711 */ 9712 public SetupActionAssertComponent setCompareToSourceExpression(String value) { 9713 if (Utilities.noString(value)) 9714 this.compareToSourceExpression = null; 9715 else { 9716 if (this.compareToSourceExpression == null) 9717 this.compareToSourceExpression = new StringType(); 9718 this.compareToSourceExpression.setValue(value); 9719 } 9720 return this; 9721 } 9722 9723 /** 9724 * @return {@link #compareToSourcePath} (XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.). This is the underlying object with id, value and extensions. The accessor "getCompareToSourcePath" gives direct access to the value 9725 */ 9726 public StringType getCompareToSourcePathElement() { 9727 if (this.compareToSourcePath == null) 9728 if (Configuration.errorOnAutoCreate()) 9729 throw new Error("Attempt to auto-create SetupActionAssertComponent.compareToSourcePath"); 9730 else if (Configuration.doAutoCreate()) 9731 this.compareToSourcePath = new StringType(); // bb 9732 return this.compareToSourcePath; 9733 } 9734 9735 public boolean hasCompareToSourcePathElement() { 9736 return this.compareToSourcePath != null && !this.compareToSourcePath.isEmpty(); 9737 } 9738 9739 public boolean hasCompareToSourcePath() { 9740 return this.compareToSourcePath != null && !this.compareToSourcePath.isEmpty(); 9741 } 9742 9743 /** 9744 * @param value {@link #compareToSourcePath} (XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.). This is the underlying object with id, value and extensions. The accessor "getCompareToSourcePath" gives direct access to the value 9745 */ 9746 public SetupActionAssertComponent setCompareToSourcePathElement(StringType value) { 9747 this.compareToSourcePath = value; 9748 return this; 9749 } 9750 9751 /** 9752 * @return XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both. 9753 */ 9754 public String getCompareToSourcePath() { 9755 return this.compareToSourcePath == null ? null : this.compareToSourcePath.getValue(); 9756 } 9757 9758 /** 9759 * @param value XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both. 9760 */ 9761 public SetupActionAssertComponent setCompareToSourcePath(String value) { 9762 if (Utilities.noString(value)) 9763 this.compareToSourcePath = null; 9764 else { 9765 if (this.compareToSourcePath == null) 9766 this.compareToSourcePath = new StringType(); 9767 this.compareToSourcePath.setValue(value); 9768 } 9769 return this; 9770 } 9771 9772 /** 9773 * @return {@link #contentType} (The mime-type contents to compare against the request or response message 'Content-Type' header.). This is the underlying object with id, value and extensions. The accessor "getContentType" gives direct access to the value 9774 */ 9775 public CodeType getContentTypeElement() { 9776 if (this.contentType == null) 9777 if (Configuration.errorOnAutoCreate()) 9778 throw new Error("Attempt to auto-create SetupActionAssertComponent.contentType"); 9779 else if (Configuration.doAutoCreate()) 9780 this.contentType = new CodeType(); // bb 9781 return this.contentType; 9782 } 9783 9784 public boolean hasContentTypeElement() { 9785 return this.contentType != null && !this.contentType.isEmpty(); 9786 } 9787 9788 public boolean hasContentType() { 9789 return this.contentType != null && !this.contentType.isEmpty(); 9790 } 9791 9792 /** 9793 * @param value {@link #contentType} (The mime-type contents to compare against the request or response message 'Content-Type' header.). This is the underlying object with id, value and extensions. The accessor "getContentType" gives direct access to the value 9794 */ 9795 public SetupActionAssertComponent setContentTypeElement(CodeType value) { 9796 this.contentType = value; 9797 return this; 9798 } 9799 9800 /** 9801 * @return The mime-type contents to compare against the request or response message 'Content-Type' header. 9802 */ 9803 public String getContentType() { 9804 return this.contentType == null ? null : this.contentType.getValue(); 9805 } 9806 9807 /** 9808 * @param value The mime-type contents to compare against the request or response message 'Content-Type' header. 9809 */ 9810 public SetupActionAssertComponent setContentType(String value) { 9811 if (Utilities.noString(value)) 9812 this.contentType = null; 9813 else { 9814 if (this.contentType == null) 9815 this.contentType = new CodeType(); 9816 this.contentType.setValue(value); 9817 } 9818 return this; 9819 } 9820 9821 /** 9822 * @return {@link #expression} (The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 9823 */ 9824 public StringType getExpressionElement() { 9825 if (this.expression == null) 9826 if (Configuration.errorOnAutoCreate()) 9827 throw new Error("Attempt to auto-create SetupActionAssertComponent.expression"); 9828 else if (Configuration.doAutoCreate()) 9829 this.expression = new StringType(); // bb 9830 return this.expression; 9831 } 9832 9833 public boolean hasExpressionElement() { 9834 return this.expression != null && !this.expression.isEmpty(); 9835 } 9836 9837 public boolean hasExpression() { 9838 return this.expression != null && !this.expression.isEmpty(); 9839 } 9840 9841 /** 9842 * @param value {@link #expression} (The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value 9843 */ 9844 public SetupActionAssertComponent setExpressionElement(StringType value) { 9845 this.expression = value; 9846 return this; 9847 } 9848 9849 /** 9850 * @return The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload. 9851 */ 9852 public String getExpression() { 9853 return this.expression == null ? null : this.expression.getValue(); 9854 } 9855 9856 /** 9857 * @param value The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload. 9858 */ 9859 public SetupActionAssertComponent setExpression(String value) { 9860 if (Utilities.noString(value)) 9861 this.expression = null; 9862 else { 9863 if (this.expression == null) 9864 this.expression = new StringType(); 9865 this.expression.setValue(value); 9866 } 9867 return this; 9868 } 9869 9870 /** 9871 * @return {@link #headerField} (The HTTP header field name e.g. 'Location'.). This is the underlying object with id, value and extensions. The accessor "getHeaderField" gives direct access to the value 9872 */ 9873 public StringType getHeaderFieldElement() { 9874 if (this.headerField == null) 9875 if (Configuration.errorOnAutoCreate()) 9876 throw new Error("Attempt to auto-create SetupActionAssertComponent.headerField"); 9877 else if (Configuration.doAutoCreate()) 9878 this.headerField = new StringType(); // bb 9879 return this.headerField; 9880 } 9881 9882 public boolean hasHeaderFieldElement() { 9883 return this.headerField != null && !this.headerField.isEmpty(); 9884 } 9885 9886 public boolean hasHeaderField() { 9887 return this.headerField != null && !this.headerField.isEmpty(); 9888 } 9889 9890 /** 9891 * @param value {@link #headerField} (The HTTP header field name e.g. 'Location'.). This is the underlying object with id, value and extensions. The accessor "getHeaderField" gives direct access to the value 9892 */ 9893 public SetupActionAssertComponent setHeaderFieldElement(StringType value) { 9894 this.headerField = value; 9895 return this; 9896 } 9897 9898 /** 9899 * @return The HTTP header field name e.g. 'Location'. 9900 */ 9901 public String getHeaderField() { 9902 return this.headerField == null ? null : this.headerField.getValue(); 9903 } 9904 9905 /** 9906 * @param value The HTTP header field name e.g. 'Location'. 9907 */ 9908 public SetupActionAssertComponent setHeaderField(String value) { 9909 if (Utilities.noString(value)) 9910 this.headerField = null; 9911 else { 9912 if (this.headerField == null) 9913 this.headerField = new StringType(); 9914 this.headerField.setValue(value); 9915 } 9916 return this; 9917 } 9918 9919 /** 9920 * @return {@link #minimumId} (The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId.). This is the underlying object with id, value and extensions. The accessor "getMinimumId" gives direct access to the value 9921 */ 9922 public StringType getMinimumIdElement() { 9923 if (this.minimumId == null) 9924 if (Configuration.errorOnAutoCreate()) 9925 throw new Error("Attempt to auto-create SetupActionAssertComponent.minimumId"); 9926 else if (Configuration.doAutoCreate()) 9927 this.minimumId = new StringType(); // bb 9928 return this.minimumId; 9929 } 9930 9931 public boolean hasMinimumIdElement() { 9932 return this.minimumId != null && !this.minimumId.isEmpty(); 9933 } 9934 9935 public boolean hasMinimumId() { 9936 return this.minimumId != null && !this.minimumId.isEmpty(); 9937 } 9938 9939 /** 9940 * @param value {@link #minimumId} (The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId.). This is the underlying object with id, value and extensions. The accessor "getMinimumId" gives direct access to the value 9941 */ 9942 public SetupActionAssertComponent setMinimumIdElement(StringType value) { 9943 this.minimumId = value; 9944 return this; 9945 } 9946 9947 /** 9948 * @return The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId. 9949 */ 9950 public String getMinimumId() { 9951 return this.minimumId == null ? null : this.minimumId.getValue(); 9952 } 9953 9954 /** 9955 * @param value The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId. 9956 */ 9957 public SetupActionAssertComponent setMinimumId(String value) { 9958 if (Utilities.noString(value)) 9959 this.minimumId = null; 9960 else { 9961 if (this.minimumId == null) 9962 this.minimumId = new StringType(); 9963 this.minimumId.setValue(value); 9964 } 9965 return this; 9966 } 9967 9968 /** 9969 * @return {@link #navigationLinks} (Whether or not the test execution performs validation on the bundle navigation links.). This is the underlying object with id, value and extensions. The accessor "getNavigationLinks" gives direct access to the value 9970 */ 9971 public BooleanType getNavigationLinksElement() { 9972 if (this.navigationLinks == null) 9973 if (Configuration.errorOnAutoCreate()) 9974 throw new Error("Attempt to auto-create SetupActionAssertComponent.navigationLinks"); 9975 else if (Configuration.doAutoCreate()) 9976 this.navigationLinks = new BooleanType(); // bb 9977 return this.navigationLinks; 9978 } 9979 9980 public boolean hasNavigationLinksElement() { 9981 return this.navigationLinks != null && !this.navigationLinks.isEmpty(); 9982 } 9983 9984 public boolean hasNavigationLinks() { 9985 return this.navigationLinks != null && !this.navigationLinks.isEmpty(); 9986 } 9987 9988 /** 9989 * @param value {@link #navigationLinks} (Whether or not the test execution performs validation on the bundle navigation links.). This is the underlying object with id, value and extensions. The accessor "getNavigationLinks" gives direct access to the value 9990 */ 9991 public SetupActionAssertComponent setNavigationLinksElement(BooleanType value) { 9992 this.navigationLinks = value; 9993 return this; 9994 } 9995 9996 /** 9997 * @return Whether or not the test execution performs validation on the bundle navigation links. 9998 */ 9999 public boolean getNavigationLinks() { 10000 return this.navigationLinks == null || this.navigationLinks.isEmpty() ? false : this.navigationLinks.getValue(); 10001 } 10002 10003 /** 10004 * @param value Whether or not the test execution performs validation on the bundle navigation links. 10005 */ 10006 public SetupActionAssertComponent setNavigationLinks(boolean value) { 10007 if (this.navigationLinks == null) 10008 this.navigationLinks = new BooleanType(); 10009 this.navigationLinks.setValue(value); 10010 return this; 10011 } 10012 10013 /** 10014 * @return {@link #operator} (The operator type defines the conditional behavior of the assert. If not defined, the default is equals.). This is the underlying object with id, value and extensions. The accessor "getOperator" gives direct access to the value 10015 */ 10016 public Enumeration<AssertionOperatorType> getOperatorElement() { 10017 if (this.operator == null) 10018 if (Configuration.errorOnAutoCreate()) 10019 throw new Error("Attempt to auto-create SetupActionAssertComponent.operator"); 10020 else if (Configuration.doAutoCreate()) 10021 this.operator = new Enumeration<AssertionOperatorType>(new AssertionOperatorTypeEnumFactory()); // bb 10022 return this.operator; 10023 } 10024 10025 public boolean hasOperatorElement() { 10026 return this.operator != null && !this.operator.isEmpty(); 10027 } 10028 10029 public boolean hasOperator() { 10030 return this.operator != null && !this.operator.isEmpty(); 10031 } 10032 10033 /** 10034 * @param value {@link #operator} (The operator type defines the conditional behavior of the assert. If not defined, the default is equals.). This is the underlying object with id, value and extensions. The accessor "getOperator" gives direct access to the value 10035 */ 10036 public SetupActionAssertComponent setOperatorElement(Enumeration<AssertionOperatorType> value) { 10037 this.operator = value; 10038 return this; 10039 } 10040 10041 /** 10042 * @return The operator type defines the conditional behavior of the assert. If not defined, the default is equals. 10043 */ 10044 public AssertionOperatorType getOperator() { 10045 return this.operator == null ? null : this.operator.getValue(); 10046 } 10047 10048 /** 10049 * @param value The operator type defines the conditional behavior of the assert. If not defined, the default is equals. 10050 */ 10051 public SetupActionAssertComponent setOperator(AssertionOperatorType value) { 10052 if (value == null) 10053 this.operator = null; 10054 else { 10055 if (this.operator == null) 10056 this.operator = new Enumeration<AssertionOperatorType>(new AssertionOperatorTypeEnumFactory()); 10057 this.operator.setValue(value); 10058 } 10059 return this; 10060 } 10061 10062 /** 10063 * @return {@link #path} (The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 10064 */ 10065 public StringType getPathElement() { 10066 if (this.path == null) 10067 if (Configuration.errorOnAutoCreate()) 10068 throw new Error("Attempt to auto-create SetupActionAssertComponent.path"); 10069 else if (Configuration.doAutoCreate()) 10070 this.path = new StringType(); // bb 10071 return this.path; 10072 } 10073 10074 public boolean hasPathElement() { 10075 return this.path != null && !this.path.isEmpty(); 10076 } 10077 10078 public boolean hasPath() { 10079 return this.path != null && !this.path.isEmpty(); 10080 } 10081 10082 /** 10083 * @param value {@link #path} (The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 10084 */ 10085 public SetupActionAssertComponent setPathElement(StringType value) { 10086 this.path = value; 10087 return this; 10088 } 10089 10090 /** 10091 * @return The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server. 10092 */ 10093 public String getPath() { 10094 return this.path == null ? null : this.path.getValue(); 10095 } 10096 10097 /** 10098 * @param value The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server. 10099 */ 10100 public SetupActionAssertComponent setPath(String value) { 10101 if (Utilities.noString(value)) 10102 this.path = null; 10103 else { 10104 if (this.path == null) 10105 this.path = new StringType(); 10106 this.path.setValue(value); 10107 } 10108 return this; 10109 } 10110 10111 /** 10112 * @return {@link #requestMethod} (The request method or HTTP operation code to compare against that used by the client system under test.). This is the underlying object with id, value and extensions. The accessor "getRequestMethod" gives direct access to the value 10113 */ 10114 public Enumeration<TestScriptRequestMethodCode> getRequestMethodElement() { 10115 if (this.requestMethod == null) 10116 if (Configuration.errorOnAutoCreate()) 10117 throw new Error("Attempt to auto-create SetupActionAssertComponent.requestMethod"); 10118 else if (Configuration.doAutoCreate()) 10119 this.requestMethod = new Enumeration<TestScriptRequestMethodCode>(new TestScriptRequestMethodCodeEnumFactory()); // bb 10120 return this.requestMethod; 10121 } 10122 10123 public boolean hasRequestMethodElement() { 10124 return this.requestMethod != null && !this.requestMethod.isEmpty(); 10125 } 10126 10127 public boolean hasRequestMethod() { 10128 return this.requestMethod != null && !this.requestMethod.isEmpty(); 10129 } 10130 10131 /** 10132 * @param value {@link #requestMethod} (The request method or HTTP operation code to compare against that used by the client system under test.). This is the underlying object with id, value and extensions. The accessor "getRequestMethod" gives direct access to the value 10133 */ 10134 public SetupActionAssertComponent setRequestMethodElement(Enumeration<TestScriptRequestMethodCode> value) { 10135 this.requestMethod = value; 10136 return this; 10137 } 10138 10139 /** 10140 * @return The request method or HTTP operation code to compare against that used by the client system under test. 10141 */ 10142 public TestScriptRequestMethodCode getRequestMethod() { 10143 return this.requestMethod == null ? null : this.requestMethod.getValue(); 10144 } 10145 10146 /** 10147 * @param value The request method or HTTP operation code to compare against that used by the client system under test. 10148 */ 10149 public SetupActionAssertComponent setRequestMethod(TestScriptRequestMethodCode value) { 10150 if (value == null) 10151 this.requestMethod = null; 10152 else { 10153 if (this.requestMethod == null) 10154 this.requestMethod = new Enumeration<TestScriptRequestMethodCode>(new TestScriptRequestMethodCodeEnumFactory()); 10155 this.requestMethod.setValue(value); 10156 } 10157 return this; 10158 } 10159 10160 /** 10161 * @return {@link #requestURL} (The value to use in a comparison against the request URL path string.). This is the underlying object with id, value and extensions. The accessor "getRequestURL" gives direct access to the value 10162 */ 10163 public StringType getRequestURLElement() { 10164 if (this.requestURL == null) 10165 if (Configuration.errorOnAutoCreate()) 10166 throw new Error("Attempt to auto-create SetupActionAssertComponent.requestURL"); 10167 else if (Configuration.doAutoCreate()) 10168 this.requestURL = new StringType(); // bb 10169 return this.requestURL; 10170 } 10171 10172 public boolean hasRequestURLElement() { 10173 return this.requestURL != null && !this.requestURL.isEmpty(); 10174 } 10175 10176 public boolean hasRequestURL() { 10177 return this.requestURL != null && !this.requestURL.isEmpty(); 10178 } 10179 10180 /** 10181 * @param value {@link #requestURL} (The value to use in a comparison against the request URL path string.). This is the underlying object with id, value and extensions. The accessor "getRequestURL" gives direct access to the value 10182 */ 10183 public SetupActionAssertComponent setRequestURLElement(StringType value) { 10184 this.requestURL = value; 10185 return this; 10186 } 10187 10188 /** 10189 * @return The value to use in a comparison against the request URL path string. 10190 */ 10191 public String getRequestURL() { 10192 return this.requestURL == null ? null : this.requestURL.getValue(); 10193 } 10194 10195 /** 10196 * @param value The value to use in a comparison against the request URL path string. 10197 */ 10198 public SetupActionAssertComponent setRequestURL(String value) { 10199 if (Utilities.noString(value)) 10200 this.requestURL = null; 10201 else { 10202 if (this.requestURL == null) 10203 this.requestURL = new StringType(); 10204 this.requestURL.setValue(value); 10205 } 10206 return this; 10207 } 10208 10209 /** 10210 * @return {@link #resource} (The type of the resource. See http://build.fhir.org/resourcelist.html.). This is the underlying object with id, value and extensions. The accessor "getResource" gives direct access to the value 10211 */ 10212 public Enumeration<FHIRDefinedType> getResourceElement() { 10213 if (this.resource == null) 10214 if (Configuration.errorOnAutoCreate()) 10215 throw new Error("Attempt to auto-create SetupActionAssertComponent.resource"); 10216 else if (Configuration.doAutoCreate()) 10217 this.resource = new Enumeration<FHIRDefinedType>(new FHIRDefinedTypeEnumFactory()); // bb 10218 return this.resource; 10219 } 10220 10221 public boolean hasResourceElement() { 10222 return this.resource != null && !this.resource.isEmpty(); 10223 } 10224 10225 public boolean hasResource() { 10226 return this.resource != null && !this.resource.isEmpty(); 10227 } 10228 10229 /** 10230 * @param value {@link #resource} (The type of the resource. See http://build.fhir.org/resourcelist.html.). This is the underlying object with id, value and extensions. The accessor "getResource" gives direct access to the value 10231 */ 10232 public SetupActionAssertComponent setResourceElement(Enumeration<FHIRDefinedType> value) { 10233 this.resource = value; 10234 return this; 10235 } 10236 10237 /** 10238 * @return The type of the resource. See http://build.fhir.org/resourcelist.html. 10239 */ 10240 public FHIRDefinedType getResource() { 10241 return this.resource == null ? null : this.resource.getValue(); 10242 } 10243 10244 /** 10245 * @param value The type of the resource. See http://build.fhir.org/resourcelist.html. 10246 */ 10247 public SetupActionAssertComponent setResource(FHIRDefinedType value) { 10248 if (value == null) 10249 this.resource = null; 10250 else { 10251 if (this.resource == null) 10252 this.resource = new Enumeration<FHIRDefinedType>(new FHIRDefinedTypeEnumFactory()); 10253 this.resource.setValue(value); 10254 } 10255 return this; 10256 } 10257 10258 /** 10259 * @return {@link #response} (okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.). This is the underlying object with id, value and extensions. The accessor "getResponse" gives direct access to the value 10260 */ 10261 public Enumeration<AssertionResponseTypes> getResponseElement() { 10262 if (this.response == null) 10263 if (Configuration.errorOnAutoCreate()) 10264 throw new Error("Attempt to auto-create SetupActionAssertComponent.response"); 10265 else if (Configuration.doAutoCreate()) 10266 this.response = new Enumeration<AssertionResponseTypes>(new AssertionResponseTypesEnumFactory()); // bb 10267 return this.response; 10268 } 10269 10270 public boolean hasResponseElement() { 10271 return this.response != null && !this.response.isEmpty(); 10272 } 10273 10274 public boolean hasResponse() { 10275 return this.response != null && !this.response.isEmpty(); 10276 } 10277 10278 /** 10279 * @param value {@link #response} (okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.). This is the underlying object with id, value and extensions. The accessor "getResponse" gives direct access to the value 10280 */ 10281 public SetupActionAssertComponent setResponseElement(Enumeration<AssertionResponseTypes> value) { 10282 this.response = value; 10283 return this; 10284 } 10285 10286 /** 10287 * @return okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable. 10288 */ 10289 public AssertionResponseTypes getResponse() { 10290 return this.response == null ? null : this.response.getValue(); 10291 } 10292 10293 /** 10294 * @param value okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable. 10295 */ 10296 public SetupActionAssertComponent setResponse(AssertionResponseTypes value) { 10297 if (value == null) 10298 this.response = null; 10299 else { 10300 if (this.response == null) 10301 this.response = new Enumeration<AssertionResponseTypes>(new AssertionResponseTypesEnumFactory()); 10302 this.response.setValue(value); 10303 } 10304 return this; 10305 } 10306 10307 /** 10308 * @return {@link #responseCode} (The value of the HTTP response code to be tested.). This is the underlying object with id, value and extensions. The accessor "getResponseCode" gives direct access to the value 10309 */ 10310 public StringType getResponseCodeElement() { 10311 if (this.responseCode == null) 10312 if (Configuration.errorOnAutoCreate()) 10313 throw new Error("Attempt to auto-create SetupActionAssertComponent.responseCode"); 10314 else if (Configuration.doAutoCreate()) 10315 this.responseCode = new StringType(); // bb 10316 return this.responseCode; 10317 } 10318 10319 public boolean hasResponseCodeElement() { 10320 return this.responseCode != null && !this.responseCode.isEmpty(); 10321 } 10322 10323 public boolean hasResponseCode() { 10324 return this.responseCode != null && !this.responseCode.isEmpty(); 10325 } 10326 10327 /** 10328 * @param value {@link #responseCode} (The value of the HTTP response code to be tested.). This is the underlying object with id, value and extensions. The accessor "getResponseCode" gives direct access to the value 10329 */ 10330 public SetupActionAssertComponent setResponseCodeElement(StringType value) { 10331 this.responseCode = value; 10332 return this; 10333 } 10334 10335 /** 10336 * @return The value of the HTTP response code to be tested. 10337 */ 10338 public String getResponseCode() { 10339 return this.responseCode == null ? null : this.responseCode.getValue(); 10340 } 10341 10342 /** 10343 * @param value The value of the HTTP response code to be tested. 10344 */ 10345 public SetupActionAssertComponent setResponseCode(String value) { 10346 if (Utilities.noString(value)) 10347 this.responseCode = null; 10348 else { 10349 if (this.responseCode == null) 10350 this.responseCode = new StringType(); 10351 this.responseCode.setValue(value); 10352 } 10353 return this; 10354 } 10355 10356 /** 10357 * @return {@link #sourceId} (Fixture to evaluate the XPath/JSONPath expression or the headerField against.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value 10358 */ 10359 public IdType getSourceIdElement() { 10360 if (this.sourceId == null) 10361 if (Configuration.errorOnAutoCreate()) 10362 throw new Error("Attempt to auto-create SetupActionAssertComponent.sourceId"); 10363 else if (Configuration.doAutoCreate()) 10364 this.sourceId = new IdType(); // bb 10365 return this.sourceId; 10366 } 10367 10368 public boolean hasSourceIdElement() { 10369 return this.sourceId != null && !this.sourceId.isEmpty(); 10370 } 10371 10372 public boolean hasSourceId() { 10373 return this.sourceId != null && !this.sourceId.isEmpty(); 10374 } 10375 10376 /** 10377 * @param value {@link #sourceId} (Fixture to evaluate the XPath/JSONPath expression or the headerField against.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value 10378 */ 10379 public SetupActionAssertComponent setSourceIdElement(IdType value) { 10380 this.sourceId = value; 10381 return this; 10382 } 10383 10384 /** 10385 * @return Fixture to evaluate the XPath/JSONPath expression or the headerField against. 10386 */ 10387 public String getSourceId() { 10388 return this.sourceId == null ? null : this.sourceId.getValue(); 10389 } 10390 10391 /** 10392 * @param value Fixture to evaluate the XPath/JSONPath expression or the headerField against. 10393 */ 10394 public SetupActionAssertComponent setSourceId(String value) { 10395 if (Utilities.noString(value)) 10396 this.sourceId = null; 10397 else { 10398 if (this.sourceId == null) 10399 this.sourceId = new IdType(); 10400 this.sourceId.setValue(value); 10401 } 10402 return this; 10403 } 10404 10405 /** 10406 * @return {@link #stopTestOnFail} (Whether or not the current test execution will stop on failure for this assert.). This is the underlying object with id, value and extensions. The accessor "getStopTestOnFail" gives direct access to the value 10407 */ 10408 public BooleanType getStopTestOnFailElement() { 10409 if (this.stopTestOnFail == null) 10410 if (Configuration.errorOnAutoCreate()) 10411 throw new Error("Attempt to auto-create SetupActionAssertComponent.stopTestOnFail"); 10412 else if (Configuration.doAutoCreate()) 10413 this.stopTestOnFail = new BooleanType(); // bb 10414 return this.stopTestOnFail; 10415 } 10416 10417 public boolean hasStopTestOnFailElement() { 10418 return this.stopTestOnFail != null && !this.stopTestOnFail.isEmpty(); 10419 } 10420 10421 public boolean hasStopTestOnFail() { 10422 return this.stopTestOnFail != null && !this.stopTestOnFail.isEmpty(); 10423 } 10424 10425 /** 10426 * @param value {@link #stopTestOnFail} (Whether or not the current test execution will stop on failure for this assert.). This is the underlying object with id, value and extensions. The accessor "getStopTestOnFail" gives direct access to the value 10427 */ 10428 public SetupActionAssertComponent setStopTestOnFailElement(BooleanType value) { 10429 this.stopTestOnFail = value; 10430 return this; 10431 } 10432 10433 /** 10434 * @return Whether or not the current test execution will stop on failure for this assert. 10435 */ 10436 public boolean getStopTestOnFail() { 10437 return this.stopTestOnFail == null || this.stopTestOnFail.isEmpty() ? false : this.stopTestOnFail.getValue(); 10438 } 10439 10440 /** 10441 * @param value Whether or not the current test execution will stop on failure for this assert. 10442 */ 10443 public SetupActionAssertComponent setStopTestOnFail(boolean value) { 10444 if (this.stopTestOnFail == null) 10445 this.stopTestOnFail = new BooleanType(); 10446 this.stopTestOnFail.setValue(value); 10447 return this; 10448 } 10449 10450 /** 10451 * @return {@link #validateProfileId} (The ID of the Profile to validate against.). This is the underlying object with id, value and extensions. The accessor "getValidateProfileId" gives direct access to the value 10452 */ 10453 public IdType getValidateProfileIdElement() { 10454 if (this.validateProfileId == null) 10455 if (Configuration.errorOnAutoCreate()) 10456 throw new Error("Attempt to auto-create SetupActionAssertComponent.validateProfileId"); 10457 else if (Configuration.doAutoCreate()) 10458 this.validateProfileId = new IdType(); // bb 10459 return this.validateProfileId; 10460 } 10461 10462 public boolean hasValidateProfileIdElement() { 10463 return this.validateProfileId != null && !this.validateProfileId.isEmpty(); 10464 } 10465 10466 public boolean hasValidateProfileId() { 10467 return this.validateProfileId != null && !this.validateProfileId.isEmpty(); 10468 } 10469 10470 /** 10471 * @param value {@link #validateProfileId} (The ID of the Profile to validate against.). This is the underlying object with id, value and extensions. The accessor "getValidateProfileId" gives direct access to the value 10472 */ 10473 public SetupActionAssertComponent setValidateProfileIdElement(IdType value) { 10474 this.validateProfileId = value; 10475 return this; 10476 } 10477 10478 /** 10479 * @return The ID of the Profile to validate against. 10480 */ 10481 public String getValidateProfileId() { 10482 return this.validateProfileId == null ? null : this.validateProfileId.getValue(); 10483 } 10484 10485 /** 10486 * @param value The ID of the Profile to validate against. 10487 */ 10488 public SetupActionAssertComponent setValidateProfileId(String value) { 10489 if (Utilities.noString(value)) 10490 this.validateProfileId = null; 10491 else { 10492 if (this.validateProfileId == null) 10493 this.validateProfileId = new IdType(); 10494 this.validateProfileId.setValue(value); 10495 } 10496 return this; 10497 } 10498 10499 /** 10500 * @return {@link #value} (The value to compare to.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 10501 */ 10502 public StringType getValueElement() { 10503 if (this.value == null) 10504 if (Configuration.errorOnAutoCreate()) 10505 throw new Error("Attempt to auto-create SetupActionAssertComponent.value"); 10506 else if (Configuration.doAutoCreate()) 10507 this.value = new StringType(); // bb 10508 return this.value; 10509 } 10510 10511 public boolean hasValueElement() { 10512 return this.value != null && !this.value.isEmpty(); 10513 } 10514 10515 public boolean hasValue() { 10516 return this.value != null && !this.value.isEmpty(); 10517 } 10518 10519 /** 10520 * @param value {@link #value} (The value to compare to.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 10521 */ 10522 public SetupActionAssertComponent setValueElement(StringType value) { 10523 this.value = value; 10524 return this; 10525 } 10526 10527 /** 10528 * @return The value to compare to. 10529 */ 10530 public String getValue() { 10531 return this.value == null ? null : this.value.getValue(); 10532 } 10533 10534 /** 10535 * @param value The value to compare to. 10536 */ 10537 public SetupActionAssertComponent setValue(String value) { 10538 if (Utilities.noString(value)) 10539 this.value = null; 10540 else { 10541 if (this.value == null) 10542 this.value = new StringType(); 10543 this.value.setValue(value); 10544 } 10545 return this; 10546 } 10547 10548 /** 10549 * @return {@link #warningOnly} (Whether or not the test execution will produce a warning only on error for this assert.). This is the underlying object with id, value and extensions. The accessor "getWarningOnly" gives direct access to the value 10550 */ 10551 public BooleanType getWarningOnlyElement() { 10552 if (this.warningOnly == null) 10553 if (Configuration.errorOnAutoCreate()) 10554 throw new Error("Attempt to auto-create SetupActionAssertComponent.warningOnly"); 10555 else if (Configuration.doAutoCreate()) 10556 this.warningOnly = new BooleanType(); // bb 10557 return this.warningOnly; 10558 } 10559 10560 public boolean hasWarningOnlyElement() { 10561 return this.warningOnly != null && !this.warningOnly.isEmpty(); 10562 } 10563 10564 public boolean hasWarningOnly() { 10565 return this.warningOnly != null && !this.warningOnly.isEmpty(); 10566 } 10567 10568 /** 10569 * @param value {@link #warningOnly} (Whether or not the test execution will produce a warning only on error for this assert.). This is the underlying object with id, value and extensions. The accessor "getWarningOnly" gives direct access to the value 10570 */ 10571 public SetupActionAssertComponent setWarningOnlyElement(BooleanType value) { 10572 this.warningOnly = value; 10573 return this; 10574 } 10575 10576 /** 10577 * @return Whether or not the test execution will produce a warning only on error for this assert. 10578 */ 10579 public boolean getWarningOnly() { 10580 return this.warningOnly == null || this.warningOnly.isEmpty() ? false : this.warningOnly.getValue(); 10581 } 10582 10583 /** 10584 * @param value Whether or not the test execution will produce a warning only on error for this assert. 10585 */ 10586 public SetupActionAssertComponent setWarningOnly(boolean value) { 10587 if (this.warningOnly == null) 10588 this.warningOnly = new BooleanType(); 10589 this.warningOnly.setValue(value); 10590 return this; 10591 } 10592 10593 protected void listChildren(List<Property> children) { 10594 super.listChildren(children); 10595 children.add(new Property("label", "string", "The label would be used for tracking/logging purposes by test engines.", 0, 1, label)); 10596 children.add(new Property("description", "string", "The description would be used by test engines for tracking and reporting purposes.", 0, 1, description)); 10597 children.add(new Property("direction", "code", "The direction to use for the assertion.", 0, 1, direction)); 10598 children.add(new Property("compareToSourceId", "string", "Id of the source fixture used as the contents to be evaluated by either the \"source/expression\" or \"sourceId/path\" definition.", 0, 1, compareToSourceId)); 10599 children.add(new Property("compareToSourceExpression", "string", "The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.", 0, 1, compareToSourceExpression)); 10600 children.add(new Property("compareToSourcePath", "string", "XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.", 0, 1, compareToSourcePath)); 10601 children.add(new Property("contentType", "code", "The mime-type contents to compare against the request or response message 'Content-Type' header.", 0, 1, contentType)); 10602 children.add(new Property("expression", "string", "The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload.", 0, 1, expression)); 10603 children.add(new Property("headerField", "string", "The HTTP header field name e.g. 'Location'.", 0, 1, headerField)); 10604 children.add(new Property("minimumId", "string", "The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId.", 0, 1, minimumId)); 10605 children.add(new Property("navigationLinks", "boolean", "Whether or not the test execution performs validation on the bundle navigation links.", 0, 1, navigationLinks)); 10606 children.add(new Property("operator", "code", "The operator type defines the conditional behavior of the assert. If not defined, the default is equals.", 0, 1, operator)); 10607 children.add(new Property("path", "string", "The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.", 0, 1, path)); 10608 children.add(new Property("requestMethod", "code", "The request method or HTTP operation code to compare against that used by the client system under test.", 0, 1, requestMethod)); 10609 children.add(new Property("requestURL", "string", "The value to use in a comparison against the request URL path string.", 0, 1, requestURL)); 10610 children.add(new Property("resource", "code", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource)); 10611 children.add(new Property("response", "code", "okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.", 0, 1, response)); 10612 children.add(new Property("responseCode", "string", "The value of the HTTP response code to be tested.", 0, 1, responseCode)); 10613 children.add(new Property("sourceId", "id", "Fixture to evaluate the XPath/JSONPath expression or the headerField against.", 0, 1, sourceId)); 10614 children.add(new Property("stopTestOnFail", "boolean", "Whether or not the current test execution will stop on failure for this assert.", 0, 1, stopTestOnFail)); 10615 children.add(new Property("validateProfileId", "id", "The ID of the Profile to validate against.", 0, 1, validateProfileId)); 10616 children.add(new Property("value", "string", "The value to compare to.", 0, 1, value)); 10617 children.add(new Property("warningOnly", "boolean", "Whether or not the test execution will produce a warning only on error for this assert.", 0, 1, warningOnly)); 10618 } 10619 10620 @Override 10621 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 10622 switch (_hash) { 10623 case 102727412: /*label*/ return new Property("label", "string", "The label would be used for tracking/logging purposes by test engines.", 0, 1, label); 10624 case -1724546052: /*description*/ return new Property("description", "string", "The description would be used by test engines for tracking and reporting purposes.", 0, 1, description); 10625 case -962590849: /*direction*/ return new Property("direction", "code", "The direction to use for the assertion.", 0, 1, direction); 10626 case 2081856758: /*compareToSourceId*/ return new Property("compareToSourceId", "string", "Id of the source fixture used as the contents to be evaluated by either the \"source/expression\" or \"sourceId/path\" definition.", 0, 1, compareToSourceId); 10627 case -1415702669: /*compareToSourceExpression*/ return new Property("compareToSourceExpression", "string", "The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.", 0, 1, compareToSourceExpression); 10628 case -790206144: /*compareToSourcePath*/ return new Property("compareToSourcePath", "string", "XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.", 0, 1, compareToSourcePath); 10629 case -389131437: /*contentType*/ return new Property("contentType", "code", "The mime-type contents to compare against the request or response message 'Content-Type' header.", 0, 1, contentType); 10630 case -1795452264: /*expression*/ return new Property("expression", "string", "The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload.", 0, 1, expression); 10631 case 1160732269: /*headerField*/ return new Property("headerField", "string", "The HTTP header field name e.g. 'Location'.", 0, 1, headerField); 10632 case 818925001: /*minimumId*/ return new Property("minimumId", "string", "The ID of a fixture. Asserts that the response contains at a minimum the fixture specified by minimumId.", 0, 1, minimumId); 10633 case 1001488901: /*navigationLinks*/ return new Property("navigationLinks", "boolean", "Whether or not the test execution performs validation on the bundle navigation links.", 0, 1, navigationLinks); 10634 case -500553564: /*operator*/ return new Property("operator", "code", "The operator type defines the conditional behavior of the assert. If not defined, the default is equals.", 0, 1, operator); 10635 case 3433509: /*path*/ return new Property("path", "string", "The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.", 0, 1, path); 10636 case 1217874000: /*requestMethod*/ return new Property("requestMethod", "code", "The request method or HTTP operation code to compare against that used by the client system under test.", 0, 1, requestMethod); 10637 case 37099616: /*requestURL*/ return new Property("requestURL", "string", "The value to use in a comparison against the request URL path string.", 0, 1, requestURL); 10638 case -341064690: /*resource*/ return new Property("resource", "code", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource); 10639 case -340323263: /*response*/ return new Property("response", "code", "okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.", 0, 1, response); 10640 case 1438723534: /*responseCode*/ return new Property("responseCode", "string", "The value of the HTTP response code to be tested.", 0, 1, responseCode); 10641 case 1746327190: /*sourceId*/ return new Property("sourceId", "id", "Fixture to evaluate the XPath/JSONPath expression or the headerField against.", 0, 1, sourceId); 10642 case -626616719: /*stopTestOnFail*/ return new Property("stopTestOnFail", "boolean", "Whether or not the current test execution will stop on failure for this assert.", 0, 1, stopTestOnFail); 10643 case 1555541038: /*validateProfileId*/ return new Property("validateProfileId", "id", "The ID of the Profile to validate against.", 0, 1, validateProfileId); 10644 case 111972721: /*value*/ return new Property("value", "string", "The value to compare to.", 0, 1, value); 10645 case -481159832: /*warningOnly*/ return new Property("warningOnly", "boolean", "Whether or not the test execution will produce a warning only on error for this assert.", 0, 1, warningOnly); 10646 default: return super.getNamedProperty(_hash, _name, _checkValid); 10647 } 10648 10649 } 10650 10651 @Override 10652 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 10653 switch (hash) { 10654 case 102727412: /*label*/ return this.label == null ? new Base[0] : new Base[] {this.label}; // StringType 10655 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 10656 case -962590849: /*direction*/ return this.direction == null ? new Base[0] : new Base[] {this.direction}; // Enumeration<AssertionDirectionType> 10657 case 2081856758: /*compareToSourceId*/ return this.compareToSourceId == null ? new Base[0] : new Base[] {this.compareToSourceId}; // StringType 10658 case -1415702669: /*compareToSourceExpression*/ return this.compareToSourceExpression == null ? new Base[0] : new Base[] {this.compareToSourceExpression}; // StringType 10659 case -790206144: /*compareToSourcePath*/ return this.compareToSourcePath == null ? new Base[0] : new Base[] {this.compareToSourcePath}; // StringType 10660 case -389131437: /*contentType*/ return this.contentType == null ? new Base[0] : new Base[] {this.contentType}; // CodeType 10661 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType 10662 case 1160732269: /*headerField*/ return this.headerField == null ? new Base[0] : new Base[] {this.headerField}; // StringType 10663 case 818925001: /*minimumId*/ return this.minimumId == null ? new Base[0] : new Base[] {this.minimumId}; // StringType 10664 case 1001488901: /*navigationLinks*/ return this.navigationLinks == null ? new Base[0] : new Base[] {this.navigationLinks}; // BooleanType 10665 case -500553564: /*operator*/ return this.operator == null ? new Base[0] : new Base[] {this.operator}; // Enumeration<AssertionOperatorType> 10666 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 10667 case 1217874000: /*requestMethod*/ return this.requestMethod == null ? new Base[0] : new Base[] {this.requestMethod}; // Enumeration<TestScriptRequestMethodCode> 10668 case 37099616: /*requestURL*/ return this.requestURL == null ? new Base[0] : new Base[] {this.requestURL}; // StringType 10669 case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Enumeration<FHIRDefinedType> 10670 case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // Enumeration<AssertionResponseTypes> 10671 case 1438723534: /*responseCode*/ return this.responseCode == null ? new Base[0] : new Base[] {this.responseCode}; // StringType 10672 case 1746327190: /*sourceId*/ return this.sourceId == null ? new Base[0] : new Base[] {this.sourceId}; // IdType 10673 case -626616719: /*stopTestOnFail*/ return this.stopTestOnFail == null ? new Base[0] : new Base[] {this.stopTestOnFail}; // BooleanType 10674 case 1555541038: /*validateProfileId*/ return this.validateProfileId == null ? new Base[0] : new Base[] {this.validateProfileId}; // IdType 10675 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 10676 case -481159832: /*warningOnly*/ return this.warningOnly == null ? new Base[0] : new Base[] {this.warningOnly}; // BooleanType 10677 default: return super.getProperty(hash, name, checkValid); 10678 } 10679 10680 } 10681 10682 @Override 10683 public Base setProperty(int hash, String name, Base value) throws FHIRException { 10684 switch (hash) { 10685 case 102727412: // label 10686 this.label = TypeConvertor.castToString(value); // StringType 10687 return value; 10688 case -1724546052: // description 10689 this.description = TypeConvertor.castToString(value); // StringType 10690 return value; 10691 case -962590849: // direction 10692 value = new AssertionDirectionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10693 this.direction = (Enumeration) value; // Enumeration<AssertionDirectionType> 10694 return value; 10695 case 2081856758: // compareToSourceId 10696 this.compareToSourceId = TypeConvertor.castToString(value); // StringType 10697 return value; 10698 case -1415702669: // compareToSourceExpression 10699 this.compareToSourceExpression = TypeConvertor.castToString(value); // StringType 10700 return value; 10701 case -790206144: // compareToSourcePath 10702 this.compareToSourcePath = TypeConvertor.castToString(value); // StringType 10703 return value; 10704 case -389131437: // contentType 10705 this.contentType = TypeConvertor.castToCode(value); // CodeType 10706 return value; 10707 case -1795452264: // expression 10708 this.expression = TypeConvertor.castToString(value); // StringType 10709 return value; 10710 case 1160732269: // headerField 10711 this.headerField = TypeConvertor.castToString(value); // StringType 10712 return value; 10713 case 818925001: // minimumId 10714 this.minimumId = TypeConvertor.castToString(value); // StringType 10715 return value; 10716 case 1001488901: // navigationLinks 10717 this.navigationLinks = TypeConvertor.castToBoolean(value); // BooleanType 10718 return value; 10719 case -500553564: // operator 10720 value = new AssertionOperatorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10721 this.operator = (Enumeration) value; // Enumeration<AssertionOperatorType> 10722 return value; 10723 case 3433509: // path 10724 this.path = TypeConvertor.castToString(value); // StringType 10725 return value; 10726 case 1217874000: // requestMethod 10727 value = new TestScriptRequestMethodCodeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10728 this.requestMethod = (Enumeration) value; // Enumeration<TestScriptRequestMethodCode> 10729 return value; 10730 case 37099616: // requestURL 10731 this.requestURL = TypeConvertor.castToString(value); // StringType 10732 return value; 10733 case -341064690: // resource 10734 value = new FHIRDefinedTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10735 this.resource = (Enumeration) value; // Enumeration<FHIRDefinedType> 10736 return value; 10737 case -340323263: // response 10738 value = new AssertionResponseTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); 10739 this.response = (Enumeration) value; // Enumeration<AssertionResponseTypes> 10740 return value; 10741 case 1438723534: // responseCode 10742 this.responseCode = TypeConvertor.castToString(value); // StringType 10743 return value; 10744 case 1746327190: // sourceId 10745 this.sourceId = TypeConvertor.castToId(value); // IdType 10746 return value; 10747 case -626616719: // stopTestOnFail 10748 this.stopTestOnFail = TypeConvertor.castToBoolean(value); // BooleanType 10749 return value; 10750 case 1555541038: // validateProfileId 10751 this.validateProfileId = TypeConvertor.castToId(value); // IdType 10752 return value; 10753 case 111972721: // value 10754 this.value = TypeConvertor.castToString(value); // StringType 10755 return value; 10756 case -481159832: // warningOnly 10757 this.warningOnly = TypeConvertor.castToBoolean(value); // BooleanType 10758 return value; 10759 default: return super.setProperty(hash, name, value); 10760 } 10761 10762 } 10763 10764 @Override 10765 public Base setProperty(String name, Base value) throws FHIRException { 10766 if (name.equals("label")) { 10767 this.label = TypeConvertor.castToString(value); // StringType 10768 } else if (name.equals("description")) { 10769 this.description = TypeConvertor.castToString(value); // StringType 10770 } else if (name.equals("direction")) { 10771 value = new AssertionDirectionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10772 this.direction = (Enumeration) value; // Enumeration<AssertionDirectionType> 10773 } else if (name.equals("compareToSourceId")) { 10774 this.compareToSourceId = TypeConvertor.castToString(value); // StringType 10775 } else if (name.equals("compareToSourceExpression")) { 10776 this.compareToSourceExpression = TypeConvertor.castToString(value); // StringType 10777 } else if (name.equals("compareToSourcePath")) { 10778 this.compareToSourcePath = TypeConvertor.castToString(value); // StringType 10779 } else if (name.equals("contentType")) { 10780 this.contentType = TypeConvertor.castToCode(value); // CodeType 10781 } else if (name.equals("expression")) { 10782 this.expression = TypeConvertor.castToString(value); // StringType 10783 } else if (name.equals("headerField")) { 10784 this.headerField = TypeConvertor.castToString(value); // StringType 10785 } else if (name.equals("minimumId")) { 10786 this.minimumId = TypeConvertor.castToString(value); // StringType 10787 } else if (name.equals("navigationLinks")) { 10788 this.navigationLinks = TypeConvertor.castToBoolean(value); // BooleanType 10789 } else if (name.equals("operator")) { 10790 value = new AssertionOperatorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10791 this.operator = (Enumeration) value; // Enumeration<AssertionOperatorType> 10792 } else if (name.equals("path")) { 10793 this.path = TypeConvertor.castToString(value); // StringType 10794 } else if (name.equals("requestMethod")) { 10795 value = new TestScriptRequestMethodCodeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10796 this.requestMethod = (Enumeration) value; // Enumeration<TestScriptRequestMethodCode> 10797 } else if (name.equals("requestURL")) { 10798 this.requestURL = TypeConvertor.castToString(value); // StringType 10799 } else if (name.equals("resource")) { 10800 value = new FHIRDefinedTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 10801 this.resource = (Enumeration) value; // Enumeration<FHIRDefinedType> 10802 } else if (name.equals("response")) { 10803 value = new AssertionResponseTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); 10804 this.response = (Enumeration) value; // Enumeration<AssertionResponseTypes> 10805 } else if (name.equals("responseCode")) { 10806 this.responseCode = TypeConvertor.castToString(value); // StringType 10807 } else if (name.equals("sourceId")) { 10808 this.sourceId = TypeConvertor.castToId(value); // IdType 10809 } else if (name.equals("stopTestOnFail")) { 10810 this.stopTestOnFail = TypeConvertor.castToBoolean(value); // BooleanType 10811 } else if (name.equals("validateProfileId")) { 10812 this.validateProfileId = TypeConvertor.castToId(value); // IdType 10813 } else if (name.equals("value")) { 10814 this.value = TypeConvertor.castToString(value); // StringType 10815 } else if (name.equals("warningOnly")) { 10816 this.warningOnly = TypeConvertor.castToBoolean(value); // BooleanType 10817 } else 10818 return super.setProperty(name, value); 10819 return value; 10820 } 10821 10822 @Override 10823 public Base makeProperty(int hash, String name) throws FHIRException { 10824 switch (hash) { 10825 case 102727412: return getLabelElement(); 10826 case -1724546052: return getDescriptionElement(); 10827 case -962590849: return getDirectionElement(); 10828 case 2081856758: return getCompareToSourceIdElement(); 10829 case -1415702669: return getCompareToSourceExpressionElement(); 10830 case -790206144: return getCompareToSourcePathElement(); 10831 case -389131437: return getContentTypeElement(); 10832 case -1795452264: return getExpressionElement(); 10833 case 1160732269: return getHeaderFieldElement(); 10834 case 818925001: return getMinimumIdElement(); 10835 case 1001488901: return getNavigationLinksElement(); 10836 case -500553564: return getOperatorElement(); 10837 case 3433509: return getPathElement(); 10838 case 1217874000: return getRequestMethodElement(); 10839 case 37099616: return getRequestURLElement(); 10840 case -341064690: return getResourceElement(); 10841 case -340323263: return getResponseElement(); 10842 case 1438723534: return getResponseCodeElement(); 10843 case 1746327190: return getSourceIdElement(); 10844 case -626616719: return getStopTestOnFailElement(); 10845 case 1555541038: return getValidateProfileIdElement(); 10846 case 111972721: return getValueElement(); 10847 case -481159832: return getWarningOnlyElement(); 10848 default: return super.makeProperty(hash, name); 10849 } 10850 10851 } 10852 10853 @Override 10854 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 10855 switch (hash) { 10856 case 102727412: /*label*/ return new String[] {"string"}; 10857 case -1724546052: /*description*/ return new String[] {"string"}; 10858 case -962590849: /*direction*/ return new String[] {"code"}; 10859 case 2081856758: /*compareToSourceId*/ return new String[] {"string"}; 10860 case -1415702669: /*compareToSourceExpression*/ return new String[] {"string"}; 10861 case -790206144: /*compareToSourcePath*/ return new String[] {"string"}; 10862 case -389131437: /*contentType*/ return new String[] {"code"}; 10863 case -1795452264: /*expression*/ return new String[] {"string"}; 10864 case 1160732269: /*headerField*/ return new String[] {"string"}; 10865 case 818925001: /*minimumId*/ return new String[] {"string"}; 10866 case 1001488901: /*navigationLinks*/ return new String[] {"boolean"}; 10867 case -500553564: /*operator*/ return new String[] {"code"}; 10868 case 3433509: /*path*/ return new String[] {"string"}; 10869 case 1217874000: /*requestMethod*/ return new String[] {"code"}; 10870 case 37099616: /*requestURL*/ return new String[] {"string"}; 10871 case -341064690: /*resource*/ return new String[] {"code"}; 10872 case -340323263: /*response*/ return new String[] {"code"}; 10873 case 1438723534: /*responseCode*/ return new String[] {"string"}; 10874 case 1746327190: /*sourceId*/ return new String[] {"id"}; 10875 case -626616719: /*stopTestOnFail*/ return new String[] {"boolean"}; 10876 case 1555541038: /*validateProfileId*/ return new String[] {"id"}; 10877 case 111972721: /*value*/ return new String[] {"string"}; 10878 case -481159832: /*warningOnly*/ return new String[] {"boolean"}; 10879 default: return super.getTypesForProperty(hash, name); 10880 } 10881 10882 } 10883 10884 @Override 10885 public Base addChild(String name) throws FHIRException { 10886 if (name.equals("label")) { 10887 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.label"); 10888 } 10889 else if (name.equals("description")) { 10890 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.description"); 10891 } 10892 else if (name.equals("direction")) { 10893 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.direction"); 10894 } 10895 else if (name.equals("compareToSourceId")) { 10896 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.compareToSourceId"); 10897 } 10898 else if (name.equals("compareToSourceExpression")) { 10899 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.compareToSourceExpression"); 10900 } 10901 else if (name.equals("compareToSourcePath")) { 10902 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.compareToSourcePath"); 10903 } 10904 else if (name.equals("contentType")) { 10905 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.contentType"); 10906 } 10907 else if (name.equals("expression")) { 10908 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.expression"); 10909 } 10910 else if (name.equals("headerField")) { 10911 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.headerField"); 10912 } 10913 else if (name.equals("minimumId")) { 10914 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.minimumId"); 10915 } 10916 else if (name.equals("navigationLinks")) { 10917 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.navigationLinks"); 10918 } 10919 else if (name.equals("operator")) { 10920 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.operator"); 10921 } 10922 else if (name.equals("path")) { 10923 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.path"); 10924 } 10925 else if (name.equals("requestMethod")) { 10926 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.requestMethod"); 10927 } 10928 else if (name.equals("requestURL")) { 10929 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.requestURL"); 10930 } 10931 else if (name.equals("resource")) { 10932 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.resource"); 10933 } 10934 else if (name.equals("response")) { 10935 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.response"); 10936 } 10937 else if (name.equals("responseCode")) { 10938 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.responseCode"); 10939 } 10940 else if (name.equals("sourceId")) { 10941 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.sourceId"); 10942 } 10943 else if (name.equals("stopTestOnFail")) { 10944 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.stopTestOnFail"); 10945 } 10946 else if (name.equals("validateProfileId")) { 10947 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.validateProfileId"); 10948 } 10949 else if (name.equals("value")) { 10950 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.value"); 10951 } 10952 else if (name.equals("warningOnly")) { 10953 throw new FHIRException("Cannot call addChild on a primitive type TestScript.setup.action.assert.warningOnly"); 10954 } 10955 else 10956 return super.addChild(name); 10957 } 10958 10959 public SetupActionAssertComponent copy() { 10960 SetupActionAssertComponent dst = new SetupActionAssertComponent(); 10961 copyValues(dst); 10962 return dst; 10963 } 10964 10965 public void copyValues(SetupActionAssertComponent dst) { 10966 super.copyValues(dst); 10967 dst.label = label == null ? null : label.copy(); 10968 dst.description = description == null ? null : description.copy(); 10969 dst.direction = direction == null ? null : direction.copy(); 10970 dst.compareToSourceId = compareToSourceId == null ? null : compareToSourceId.copy(); 10971 dst.compareToSourceExpression = compareToSourceExpression == null ? null : compareToSourceExpression.copy(); 10972 dst.compareToSourcePath = compareToSourcePath == null ? null : compareToSourcePath.copy(); 10973 dst.contentType = contentType == null ? null : contentType.copy(); 10974 dst.expression = expression == null ? null : expression.copy(); 10975 dst.headerField = headerField == null ? null : headerField.copy(); 10976 dst.minimumId = minimumId == null ? null : minimumId.copy(); 10977 dst.navigationLinks = navigationLinks == null ? null : navigationLinks.copy(); 10978 dst.operator = operator == null ? null : operator.copy(); 10979 dst.path = path == null ? null : path.copy(); 10980 dst.requestMethod = requestMethod == null ? null : requestMethod.copy(); 10981 dst.requestURL = requestURL == null ? null : requestURL.copy(); 10982 dst.resource = resource == null ? null : resource.copy(); 10983 dst.response = response == null ? null : response.copy(); 10984 dst.responseCode = responseCode == null ? null : responseCode.copy(); 10985 dst.sourceId = sourceId == null ? null : sourceId.copy(); 10986 dst.stopTestOnFail = stopTestOnFail == null ? null : stopTestOnFail.copy(); 10987 dst.validateProfileId = validateProfileId == null ? null : validateProfileId.copy(); 10988 dst.value = value == null ? null : value.copy(); 10989 dst.warningOnly = warningOnly == null ? null : warningOnly.copy(); 10990 } 10991 10992 @Override 10993 public boolean equalsDeep(Base other_) { 10994 if (!super.equalsDeep(other_)) 10995 return false; 10996 if (!(other_ instanceof SetupActionAssertComponent)) 10997 return false; 10998 SetupActionAssertComponent o = (SetupActionAssertComponent) other_; 10999 return compareDeep(label, o.label, true) && compareDeep(description, o.description, true) && compareDeep(direction, o.direction, true) 11000 && compareDeep(compareToSourceId, o.compareToSourceId, true) && compareDeep(compareToSourceExpression, o.compareToSourceExpression, true) 11001 && compareDeep(compareToSourcePath, o.compareToSourcePath, true) && compareDeep(contentType, o.contentType, true) 11002 && compareDeep(expression, o.expression, true) && compareDeep(headerField, o.headerField, true) 11003 && compareDeep(minimumId, o.minimumId, true) && compareDeep(navigationLinks, o.navigationLinks, true) 11004 && compareDeep(operator, o.operator, true) && compareDeep(path, o.path, true) && compareDeep(requestMethod, o.requestMethod, true) 11005 && compareDeep(requestURL, o.requestURL, true) && compareDeep(resource, o.resource, true) && compareDeep(response, o.response, true) 11006 && compareDeep(responseCode, o.responseCode, true) && compareDeep(sourceId, o.sourceId, true) && compareDeep(stopTestOnFail, o.stopTestOnFail, true) 11007 && compareDeep(validateProfileId, o.validateProfileId, true) && compareDeep(value, o.value, true) 11008 && compareDeep(warningOnly, o.warningOnly, true); 11009 } 11010 11011 @Override 11012 public boolean equalsShallow(Base other_) { 11013 if (!super.equalsShallow(other_)) 11014 return false; 11015 if (!(other_ instanceof SetupActionAssertComponent)) 11016 return false; 11017 SetupActionAssertComponent o = (SetupActionAssertComponent) other_; 11018 return compareValues(label, o.label, true) && compareValues(description, o.description, true) && compareValues(direction, o.direction, true) 11019 && compareValues(compareToSourceId, o.compareToSourceId, true) && compareValues(compareToSourceExpression, o.compareToSourceExpression, true) 11020 && compareValues(compareToSourcePath, o.compareToSourcePath, true) && compareValues(contentType, o.contentType, true) 11021 && compareValues(expression, o.expression, true) && compareValues(headerField, o.headerField, true) 11022 && compareValues(minimumId, o.minimumId, true) && compareValues(navigationLinks, o.navigationLinks, true) 11023 && compareValues(operator, o.operator, true) && compareValues(path, o.path, true) && compareValues(requestMethod, o.requestMethod, true) 11024 && compareValues(requestURL, o.requestURL, true) && compareValues(resource, o.resource, true) && compareValues(response, o.response, true) 11025 && compareValues(responseCode, o.responseCode, true) && compareValues(sourceId, o.sourceId, true) && compareValues(stopTestOnFail, o.stopTestOnFail, true) 11026 && compareValues(validateProfileId, o.validateProfileId, true) && compareValues(value, o.value, true) 11027 && compareValues(warningOnly, o.warningOnly, true); 11028 } 11029 11030 public boolean isEmpty() { 11031 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(label, description, direction 11032 , compareToSourceId, compareToSourceExpression, compareToSourcePath, contentType, expression 11033 , headerField, minimumId, navigationLinks, operator, path, requestMethod, requestURL 11034 , resource, response, responseCode, sourceId, stopTestOnFail, validateProfileId 11035 , value, warningOnly); 11036 } 11037 11038 public String fhirType() { 11039 return "TestScript.setup.action.assert"; 11040 11041 } 11042 11043 } 11044 11045 @Block() 11046 public static class TestScriptTestComponent extends BackboneElement implements IBaseBackboneElement { 11047 /** 11048 * The name of this test used for tracking/logging purposes by test engines. 11049 */ 11050 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 11051 @Description(shortDefinition="Tracking/logging name of this test", formalDefinition="The name of this test used for tracking/logging purposes by test engines." ) 11052 protected StringType name; 11053 11054 /** 11055 * A short description of the test used by test engines for tracking and reporting purposes. 11056 */ 11057 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 11058 @Description(shortDefinition="Tracking/reporting short description of the test", formalDefinition="A short description of the test used by test engines for tracking and reporting purposes." ) 11059 protected StringType description; 11060 11061 /** 11062 * Action would contain either an operation or an assertion. 11063 */ 11064 @Child(name = "action", type = {}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 11065 @Description(shortDefinition="A test operation or assert to perform", formalDefinition="Action would contain either an operation or an assertion." ) 11066 protected List<TestActionComponent> action; 11067 11068 private static final long serialVersionUID = -865006110L; 11069 11070 /** 11071 * Constructor 11072 */ 11073 public TestScriptTestComponent() { 11074 super(); 11075 } 11076 11077 /** 11078 * Constructor 11079 */ 11080 public TestScriptTestComponent(TestActionComponent action) { 11081 super(); 11082 this.addAction(action); 11083 } 11084 11085 /** 11086 * @return {@link #name} (The name of this test used for tracking/logging purposes by test engines.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 11087 */ 11088 public StringType getNameElement() { 11089 if (this.name == null) 11090 if (Configuration.errorOnAutoCreate()) 11091 throw new Error("Attempt to auto-create TestScriptTestComponent.name"); 11092 else if (Configuration.doAutoCreate()) 11093 this.name = new StringType(); // bb 11094 return this.name; 11095 } 11096 11097 public boolean hasNameElement() { 11098 return this.name != null && !this.name.isEmpty(); 11099 } 11100 11101 public boolean hasName() { 11102 return this.name != null && !this.name.isEmpty(); 11103 } 11104 11105 /** 11106 * @param value {@link #name} (The name of this test used for tracking/logging purposes by test engines.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 11107 */ 11108 public TestScriptTestComponent setNameElement(StringType value) { 11109 this.name = value; 11110 return this; 11111 } 11112 11113 /** 11114 * @return The name of this test used for tracking/logging purposes by test engines. 11115 */ 11116 public String getName() { 11117 return this.name == null ? null : this.name.getValue(); 11118 } 11119 11120 /** 11121 * @param value The name of this test used for tracking/logging purposes by test engines. 11122 */ 11123 public TestScriptTestComponent setName(String value) { 11124 if (Utilities.noString(value)) 11125 this.name = null; 11126 else { 11127 if (this.name == null) 11128 this.name = new StringType(); 11129 this.name.setValue(value); 11130 } 11131 return this; 11132 } 11133 11134 /** 11135 * @return {@link #description} (A short description of the test used by test engines for tracking and reporting purposes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 11136 */ 11137 public StringType getDescriptionElement() { 11138 if (this.description == null) 11139 if (Configuration.errorOnAutoCreate()) 11140 throw new Error("Attempt to auto-create TestScriptTestComponent.description"); 11141 else if (Configuration.doAutoCreate()) 11142 this.description = new StringType(); // bb 11143 return this.description; 11144 } 11145 11146 public boolean hasDescriptionElement() { 11147 return this.description != null && !this.description.isEmpty(); 11148 } 11149 11150 public boolean hasDescription() { 11151 return this.description != null && !this.description.isEmpty(); 11152 } 11153 11154 /** 11155 * @param value {@link #description} (A short description of the test used by test engines for tracking and reporting purposes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 11156 */ 11157 public TestScriptTestComponent setDescriptionElement(StringType value) { 11158 this.description = value; 11159 return this; 11160 } 11161 11162 /** 11163 * @return A short description of the test used by test engines for tracking and reporting purposes. 11164 */ 11165 public String getDescription() { 11166 return this.description == null ? null : this.description.getValue(); 11167 } 11168 11169 /** 11170 * @param value A short description of the test used by test engines for tracking and reporting purposes. 11171 */ 11172 public TestScriptTestComponent setDescription(String value) { 11173 if (Utilities.noString(value)) 11174 this.description = null; 11175 else { 11176 if (this.description == null) 11177 this.description = new StringType(); 11178 this.description.setValue(value); 11179 } 11180 return this; 11181 } 11182 11183 /** 11184 * @return {@link #action} (Action would contain either an operation or an assertion.) 11185 */ 11186 public List<TestActionComponent> getAction() { 11187 if (this.action == null) 11188 this.action = new ArrayList<TestActionComponent>(); 11189 return this.action; 11190 } 11191 11192 /** 11193 * @return Returns a reference to <code>this</code> for easy method chaining 11194 */ 11195 public TestScriptTestComponent setAction(List<TestActionComponent> theAction) { 11196 this.action = theAction; 11197 return this; 11198 } 11199 11200 public boolean hasAction() { 11201 if (this.action == null) 11202 return false; 11203 for (TestActionComponent item : this.action) 11204 if (!item.isEmpty()) 11205 return true; 11206 return false; 11207 } 11208 11209 public TestActionComponent addAction() { //3 11210 TestActionComponent t = new TestActionComponent(); 11211 if (this.action == null) 11212 this.action = new ArrayList<TestActionComponent>(); 11213 this.action.add(t); 11214 return t; 11215 } 11216 11217 public TestScriptTestComponent addAction(TestActionComponent t) { //3 11218 if (t == null) 11219 return this; 11220 if (this.action == null) 11221 this.action = new ArrayList<TestActionComponent>(); 11222 this.action.add(t); 11223 return this; 11224 } 11225 11226 /** 11227 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 11228 */ 11229 public TestActionComponent getActionFirstRep() { 11230 if (getAction().isEmpty()) { 11231 addAction(); 11232 } 11233 return getAction().get(0); 11234 } 11235 11236 protected void listChildren(List<Property> children) { 11237 super.listChildren(children); 11238 children.add(new Property("name", "string", "The name of this test used for tracking/logging purposes by test engines.", 0, 1, name)); 11239 children.add(new Property("description", "string", "A short description of the test used by test engines for tracking and reporting purposes.", 0, 1, description)); 11240 children.add(new Property("action", "", "Action would contain either an operation or an assertion.", 0, java.lang.Integer.MAX_VALUE, action)); 11241 } 11242 11243 @Override 11244 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 11245 switch (_hash) { 11246 case 3373707: /*name*/ return new Property("name", "string", "The name of this test used for tracking/logging purposes by test engines.", 0, 1, name); 11247 case -1724546052: /*description*/ return new Property("description", "string", "A short description of the test used by test engines for tracking and reporting purposes.", 0, 1, description); 11248 case -1422950858: /*action*/ return new Property("action", "", "Action would contain either an operation or an assertion.", 0, java.lang.Integer.MAX_VALUE, action); 11249 default: return super.getNamedProperty(_hash, _name, _checkValid); 11250 } 11251 11252 } 11253 11254 @Override 11255 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 11256 switch (hash) { 11257 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 11258 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 11259 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // TestActionComponent 11260 default: return super.getProperty(hash, name, checkValid); 11261 } 11262 11263 } 11264 11265 @Override 11266 public Base setProperty(int hash, String name, Base value) throws FHIRException { 11267 switch (hash) { 11268 case 3373707: // name 11269 this.name = TypeConvertor.castToString(value); // StringType 11270 return value; 11271 case -1724546052: // description 11272 this.description = TypeConvertor.castToString(value); // StringType 11273 return value; 11274 case -1422950858: // action 11275 this.getAction().add((TestActionComponent) value); // TestActionComponent 11276 return value; 11277 default: return super.setProperty(hash, name, value); 11278 } 11279 11280 } 11281 11282 @Override 11283 public Base setProperty(String name, Base value) throws FHIRException { 11284 if (name.equals("name")) { 11285 this.name = TypeConvertor.castToString(value); // StringType 11286 } else if (name.equals("description")) { 11287 this.description = TypeConvertor.castToString(value); // StringType 11288 } else if (name.equals("action")) { 11289 this.getAction().add((TestActionComponent) value); 11290 } else 11291 return super.setProperty(name, value); 11292 return value; 11293 } 11294 11295 @Override 11296 public Base makeProperty(int hash, String name) throws FHIRException { 11297 switch (hash) { 11298 case 3373707: return getNameElement(); 11299 case -1724546052: return getDescriptionElement(); 11300 case -1422950858: return addAction(); 11301 default: return super.makeProperty(hash, name); 11302 } 11303 11304 } 11305 11306 @Override 11307 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 11308 switch (hash) { 11309 case 3373707: /*name*/ return new String[] {"string"}; 11310 case -1724546052: /*description*/ return new String[] {"string"}; 11311 case -1422950858: /*action*/ return new String[] {}; 11312 default: return super.getTypesForProperty(hash, name); 11313 } 11314 11315 } 11316 11317 @Override 11318 public Base addChild(String name) throws FHIRException { 11319 if (name.equals("name")) { 11320 throw new FHIRException("Cannot call addChild on a primitive type TestScript.test.name"); 11321 } 11322 else if (name.equals("description")) { 11323 throw new FHIRException("Cannot call addChild on a primitive type TestScript.test.description"); 11324 } 11325 else if (name.equals("action")) { 11326 return addAction(); 11327 } 11328 else 11329 return super.addChild(name); 11330 } 11331 11332 public TestScriptTestComponent copy() { 11333 TestScriptTestComponent dst = new TestScriptTestComponent(); 11334 copyValues(dst); 11335 return dst; 11336 } 11337 11338 public void copyValues(TestScriptTestComponent dst) { 11339 super.copyValues(dst); 11340 dst.name = name == null ? null : name.copy(); 11341 dst.description = description == null ? null : description.copy(); 11342 if (action != null) { 11343 dst.action = new ArrayList<TestActionComponent>(); 11344 for (TestActionComponent i : action) 11345 dst.action.add(i.copy()); 11346 }; 11347 } 11348 11349 @Override 11350 public boolean equalsDeep(Base other_) { 11351 if (!super.equalsDeep(other_)) 11352 return false; 11353 if (!(other_ instanceof TestScriptTestComponent)) 11354 return false; 11355 TestScriptTestComponent o = (TestScriptTestComponent) other_; 11356 return compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(action, o.action, true) 11357 ; 11358 } 11359 11360 @Override 11361 public boolean equalsShallow(Base other_) { 11362 if (!super.equalsShallow(other_)) 11363 return false; 11364 if (!(other_ instanceof TestScriptTestComponent)) 11365 return false; 11366 TestScriptTestComponent o = (TestScriptTestComponent) other_; 11367 return compareValues(name, o.name, true) && compareValues(description, o.description, true); 11368 } 11369 11370 public boolean isEmpty() { 11371 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, description, action 11372 ); 11373 } 11374 11375 public String fhirType() { 11376 return "TestScript.test"; 11377 11378 } 11379 11380 } 11381 11382 @Block() 11383 public static class TestActionComponent extends BackboneElement implements IBaseBackboneElement { 11384 /** 11385 * An operation would involve a REST request to a server. 11386 */ 11387 @Child(name = "operation", type = {SetupActionOperationComponent.class}, order=1, min=0, max=1, modifier=false, summary=false) 11388 @Description(shortDefinition="The setup operation to perform", formalDefinition="An operation would involve a REST request to a server." ) 11389 protected SetupActionOperationComponent operation; 11390 11391 /** 11392 * Evaluates the results of previous operations to determine if the server under test behaves appropriately. 11393 */ 11394 @Child(name = "assert", type = {SetupActionAssertComponent.class}, order=2, min=0, max=1, modifier=false, summary=false) 11395 @Description(shortDefinition="The setup assertion to perform", formalDefinition="Evaluates the results of previous operations to determine if the server under test behaves appropriately." ) 11396 protected SetupActionAssertComponent assert_; 11397 11398 private static final long serialVersionUID = -252088305L; 11399 11400 /** 11401 * Constructor 11402 */ 11403 public TestActionComponent() { 11404 super(); 11405 } 11406 11407 /** 11408 * @return {@link #operation} (An operation would involve a REST request to a server.) 11409 */ 11410 public SetupActionOperationComponent getOperation() { 11411 if (this.operation == null) 11412 if (Configuration.errorOnAutoCreate()) 11413 throw new Error("Attempt to auto-create TestActionComponent.operation"); 11414 else if (Configuration.doAutoCreate()) 11415 this.operation = new SetupActionOperationComponent(); // cc 11416 return this.operation; 11417 } 11418 11419 public boolean hasOperation() { 11420 return this.operation != null && !this.operation.isEmpty(); 11421 } 11422 11423 /** 11424 * @param value {@link #operation} (An operation would involve a REST request to a server.) 11425 */ 11426 public TestActionComponent setOperation(SetupActionOperationComponent value) { 11427 this.operation = value; 11428 return this; 11429 } 11430 11431 /** 11432 * @return {@link #assert_} (Evaluates the results of previous operations to determine if the server under test behaves appropriately.) 11433 */ 11434 public SetupActionAssertComponent getAssert() { 11435 if (this.assert_ == null) 11436 if (Configuration.errorOnAutoCreate()) 11437 throw new Error("Attempt to auto-create TestActionComponent.assert_"); 11438 else if (Configuration.doAutoCreate()) 11439 this.assert_ = new SetupActionAssertComponent(); // cc 11440 return this.assert_; 11441 } 11442 11443 public boolean hasAssert() { 11444 return this.assert_ != null && !this.assert_.isEmpty(); 11445 } 11446 11447 /** 11448 * @param value {@link #assert_} (Evaluates the results of previous operations to determine if the server under test behaves appropriately.) 11449 */ 11450 public TestActionComponent setAssert(SetupActionAssertComponent value) { 11451 this.assert_ = value; 11452 return this; 11453 } 11454 11455 protected void listChildren(List<Property> children) { 11456 super.listChildren(children); 11457 children.add(new Property("operation", "@TestScript.setup.action.operation", "An operation would involve a REST request to a server.", 0, 1, operation)); 11458 children.add(new Property("assert", "@TestScript.setup.action.assert", "Evaluates the results of previous operations to determine if the server under test behaves appropriately.", 0, 1, assert_)); 11459 } 11460 11461 @Override 11462 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 11463 switch (_hash) { 11464 case 1662702951: /*operation*/ return new Property("operation", "@TestScript.setup.action.operation", "An operation would involve a REST request to a server.", 0, 1, operation); 11465 case -1408208058: /*assert*/ return new Property("assert", "@TestScript.setup.action.assert", "Evaluates the results of previous operations to determine if the server under test behaves appropriately.", 0, 1, assert_); 11466 default: return super.getNamedProperty(_hash, _name, _checkValid); 11467 } 11468 11469 } 11470 11471 @Override 11472 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 11473 switch (hash) { 11474 case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : new Base[] {this.operation}; // SetupActionOperationComponent 11475 case -1408208058: /*assert*/ return this.assert_ == null ? new Base[0] : new Base[] {this.assert_}; // SetupActionAssertComponent 11476 default: return super.getProperty(hash, name, checkValid); 11477 } 11478 11479 } 11480 11481 @Override 11482 public Base setProperty(int hash, String name, Base value) throws FHIRException { 11483 switch (hash) { 11484 case 1662702951: // operation 11485 this.operation = (SetupActionOperationComponent) value; // SetupActionOperationComponent 11486 return value; 11487 case -1408208058: // assert 11488 this.assert_ = (SetupActionAssertComponent) value; // SetupActionAssertComponent 11489 return value; 11490 default: return super.setProperty(hash, name, value); 11491 } 11492 11493 } 11494 11495 @Override 11496 public Base setProperty(String name, Base value) throws FHIRException { 11497 if (name.equals("operation")) { 11498 this.operation = (SetupActionOperationComponent) value; // SetupActionOperationComponent 11499 } else if (name.equals("assert")) { 11500 this.assert_ = (SetupActionAssertComponent) value; // SetupActionAssertComponent 11501 } else 11502 return super.setProperty(name, value); 11503 return value; 11504 } 11505 11506 @Override 11507 public Base makeProperty(int hash, String name) throws FHIRException { 11508 switch (hash) { 11509 case 1662702951: return getOperation(); 11510 case -1408208058: return getAssert(); 11511 default: return super.makeProperty(hash, name); 11512 } 11513 11514 } 11515 11516 @Override 11517 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 11518 switch (hash) { 11519 case 1662702951: /*operation*/ return new String[] {"@TestScript.setup.action.operation"}; 11520 case -1408208058: /*assert*/ return new String[] {"@TestScript.setup.action.assert"}; 11521 default: return super.getTypesForProperty(hash, name); 11522 } 11523 11524 } 11525 11526 @Override 11527 public Base addChild(String name) throws FHIRException { 11528 if (name.equals("operation")) { 11529 this.operation = new SetupActionOperationComponent(); 11530 return this.operation; 11531 } 11532 else if (name.equals("assert")) { 11533 this.assert_ = new SetupActionAssertComponent(); 11534 return this.assert_; 11535 } 11536 else 11537 return super.addChild(name); 11538 } 11539 11540 public TestActionComponent copy() { 11541 TestActionComponent dst = new TestActionComponent(); 11542 copyValues(dst); 11543 return dst; 11544 } 11545 11546 public void copyValues(TestActionComponent dst) { 11547 super.copyValues(dst); 11548 dst.operation = operation == null ? null : operation.copy(); 11549 dst.assert_ = assert_ == null ? null : assert_.copy(); 11550 } 11551 11552 @Override 11553 public boolean equalsDeep(Base other_) { 11554 if (!super.equalsDeep(other_)) 11555 return false; 11556 if (!(other_ instanceof TestActionComponent)) 11557 return false; 11558 TestActionComponent o = (TestActionComponent) other_; 11559 return compareDeep(operation, o.operation, true) && compareDeep(assert_, o.assert_, true); 11560 } 11561 11562 @Override 11563 public boolean equalsShallow(Base other_) { 11564 if (!super.equalsShallow(other_)) 11565 return false; 11566 if (!(other_ instanceof TestActionComponent)) 11567 return false; 11568 TestActionComponent o = (TestActionComponent) other_; 11569 return true; 11570 } 11571 11572 public boolean isEmpty() { 11573 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(operation, assert_); 11574 } 11575 11576 public String fhirType() { 11577 return "TestScript.test.action"; 11578 11579 } 11580 11581 } 11582 11583 @Block() 11584 public static class TestScriptTeardownComponent extends BackboneElement implements IBaseBackboneElement { 11585 /** 11586 * The teardown action will only contain an operation. 11587 */ 11588 @Child(name = "action", type = {}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 11589 @Description(shortDefinition="One or more teardown operations to perform", formalDefinition="The teardown action will only contain an operation." ) 11590 protected List<TeardownActionComponent> action; 11591 11592 private static final long serialVersionUID = 1168638089L; 11593 11594 /** 11595 * Constructor 11596 */ 11597 public TestScriptTeardownComponent() { 11598 super(); 11599 } 11600 11601 /** 11602 * Constructor 11603 */ 11604 public TestScriptTeardownComponent(TeardownActionComponent action) { 11605 super(); 11606 this.addAction(action); 11607 } 11608 11609 /** 11610 * @return {@link #action} (The teardown action will only contain an operation.) 11611 */ 11612 public List<TeardownActionComponent> getAction() { 11613 if (this.action == null) 11614 this.action = new ArrayList<TeardownActionComponent>(); 11615 return this.action; 11616 } 11617 11618 /** 11619 * @return Returns a reference to <code>this</code> for easy method chaining 11620 */ 11621 public TestScriptTeardownComponent setAction(List<TeardownActionComponent> theAction) { 11622 this.action = theAction; 11623 return this; 11624 } 11625 11626 public boolean hasAction() { 11627 if (this.action == null) 11628 return false; 11629 for (TeardownActionComponent item : this.action) 11630 if (!item.isEmpty()) 11631 return true; 11632 return false; 11633 } 11634 11635 public TeardownActionComponent addAction() { //3 11636 TeardownActionComponent t = new TeardownActionComponent(); 11637 if (this.action == null) 11638 this.action = new ArrayList<TeardownActionComponent>(); 11639 this.action.add(t); 11640 return t; 11641 } 11642 11643 public TestScriptTeardownComponent addAction(TeardownActionComponent t) { //3 11644 if (t == null) 11645 return this; 11646 if (this.action == null) 11647 this.action = new ArrayList<TeardownActionComponent>(); 11648 this.action.add(t); 11649 return this; 11650 } 11651 11652 /** 11653 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 11654 */ 11655 public TeardownActionComponent getActionFirstRep() { 11656 if (getAction().isEmpty()) { 11657 addAction(); 11658 } 11659 return getAction().get(0); 11660 } 11661 11662 protected void listChildren(List<Property> children) { 11663 super.listChildren(children); 11664 children.add(new Property("action", "", "The teardown action will only contain an operation.", 0, java.lang.Integer.MAX_VALUE, action)); 11665 } 11666 11667 @Override 11668 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 11669 switch (_hash) { 11670 case -1422950858: /*action*/ return new Property("action", "", "The teardown action will only contain an operation.", 0, java.lang.Integer.MAX_VALUE, action); 11671 default: return super.getNamedProperty(_hash, _name, _checkValid); 11672 } 11673 11674 } 11675 11676 @Override 11677 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 11678 switch (hash) { 11679 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // TeardownActionComponent 11680 default: return super.getProperty(hash, name, checkValid); 11681 } 11682 11683 } 11684 11685 @Override 11686 public Base setProperty(int hash, String name, Base value) throws FHIRException { 11687 switch (hash) { 11688 case -1422950858: // action 11689 this.getAction().add((TeardownActionComponent) value); // TeardownActionComponent 11690 return value; 11691 default: return super.setProperty(hash, name, value); 11692 } 11693 11694 } 11695 11696 @Override 11697 public Base setProperty(String name, Base value) throws FHIRException { 11698 if (name.equals("action")) { 11699 this.getAction().add((TeardownActionComponent) value); 11700 } else 11701 return super.setProperty(name, value); 11702 return value; 11703 } 11704 11705 @Override 11706 public Base makeProperty(int hash, String name) throws FHIRException { 11707 switch (hash) { 11708 case -1422950858: return addAction(); 11709 default: return super.makeProperty(hash, name); 11710 } 11711 11712 } 11713 11714 @Override 11715 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 11716 switch (hash) { 11717 case -1422950858: /*action*/ return new String[] {}; 11718 default: return super.getTypesForProperty(hash, name); 11719 } 11720 11721 } 11722 11723 @Override 11724 public Base addChild(String name) throws FHIRException { 11725 if (name.equals("action")) { 11726 return addAction(); 11727 } 11728 else 11729 return super.addChild(name); 11730 } 11731 11732 public TestScriptTeardownComponent copy() { 11733 TestScriptTeardownComponent dst = new TestScriptTeardownComponent(); 11734 copyValues(dst); 11735 return dst; 11736 } 11737 11738 public void copyValues(TestScriptTeardownComponent dst) { 11739 super.copyValues(dst); 11740 if (action != null) { 11741 dst.action = new ArrayList<TeardownActionComponent>(); 11742 for (TeardownActionComponent i : action) 11743 dst.action.add(i.copy()); 11744 }; 11745 } 11746 11747 @Override 11748 public boolean equalsDeep(Base other_) { 11749 if (!super.equalsDeep(other_)) 11750 return false; 11751 if (!(other_ instanceof TestScriptTeardownComponent)) 11752 return false; 11753 TestScriptTeardownComponent o = (TestScriptTeardownComponent) other_; 11754 return compareDeep(action, o.action, true); 11755 } 11756 11757 @Override 11758 public boolean equalsShallow(Base other_) { 11759 if (!super.equalsShallow(other_)) 11760 return false; 11761 if (!(other_ instanceof TestScriptTeardownComponent)) 11762 return false; 11763 TestScriptTeardownComponent o = (TestScriptTeardownComponent) other_; 11764 return true; 11765 } 11766 11767 public boolean isEmpty() { 11768 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(action); 11769 } 11770 11771 public String fhirType() { 11772 return "TestScript.teardown"; 11773 11774 } 11775 11776 } 11777 11778 @Block() 11779 public static class TeardownActionComponent extends BackboneElement implements IBaseBackboneElement { 11780 /** 11781 * An operation would involve a REST request to a server. 11782 */ 11783 @Child(name = "operation", type = {SetupActionOperationComponent.class}, order=1, min=1, max=1, modifier=false, summary=false) 11784 @Description(shortDefinition="The teardown operation to perform", formalDefinition="An operation would involve a REST request to a server." ) 11785 protected SetupActionOperationComponent operation; 11786 11787 private static final long serialVersionUID = -1099598054L; 11788 11789 /** 11790 * Constructor 11791 */ 11792 public TeardownActionComponent() { 11793 super(); 11794 } 11795 11796 /** 11797 * Constructor 11798 */ 11799 public TeardownActionComponent(SetupActionOperationComponent operation) { 11800 super(); 11801 this.setOperation(operation); 11802 } 11803 11804 /** 11805 * @return {@link #operation} (An operation would involve a REST request to a server.) 11806 */ 11807 public SetupActionOperationComponent getOperation() { 11808 if (this.operation == null) 11809 if (Configuration.errorOnAutoCreate()) 11810 throw new Error("Attempt to auto-create TeardownActionComponent.operation"); 11811 else if (Configuration.doAutoCreate()) 11812 this.operation = new SetupActionOperationComponent(); // cc 11813 return this.operation; 11814 } 11815 11816 public boolean hasOperation() { 11817 return this.operation != null && !this.operation.isEmpty(); 11818 } 11819 11820 /** 11821 * @param value {@link #operation} (An operation would involve a REST request to a server.) 11822 */ 11823 public TeardownActionComponent setOperation(SetupActionOperationComponent value) { 11824 this.operation = value; 11825 return this; 11826 } 11827 11828 protected void listChildren(List<Property> children) { 11829 super.listChildren(children); 11830 children.add(new Property("operation", "@TestScript.setup.action.operation", "An operation would involve a REST request to a server.", 0, 1, operation)); 11831 } 11832 11833 @Override 11834 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 11835 switch (_hash) { 11836 case 1662702951: /*operation*/ return new Property("operation", "@TestScript.setup.action.operation", "An operation would involve a REST request to a server.", 0, 1, operation); 11837 default: return super.getNamedProperty(_hash, _name, _checkValid); 11838 } 11839 11840 } 11841 11842 @Override 11843 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 11844 switch (hash) { 11845 case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : new Base[] {this.operation}; // SetupActionOperationComponent 11846 default: return super.getProperty(hash, name, checkValid); 11847 } 11848 11849 } 11850 11851 @Override 11852 public Base setProperty(int hash, String name, Base value) throws FHIRException { 11853 switch (hash) { 11854 case 1662702951: // operation 11855 this.operation = (SetupActionOperationComponent) value; // SetupActionOperationComponent 11856 return value; 11857 default: return super.setProperty(hash, name, value); 11858 } 11859 11860 } 11861 11862 @Override 11863 public Base setProperty(String name, Base value) throws FHIRException { 11864 if (name.equals("operation")) { 11865 this.operation = (SetupActionOperationComponent) value; // SetupActionOperationComponent 11866 } else 11867 return super.setProperty(name, value); 11868 return value; 11869 } 11870 11871 @Override 11872 public Base makeProperty(int hash, String name) throws FHIRException { 11873 switch (hash) { 11874 case 1662702951: return getOperation(); 11875 default: return super.makeProperty(hash, name); 11876 } 11877 11878 } 11879 11880 @Override 11881 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 11882 switch (hash) { 11883 case 1662702951: /*operation*/ return new String[] {"@TestScript.setup.action.operation"}; 11884 default: return super.getTypesForProperty(hash, name); 11885 } 11886 11887 } 11888 11889 @Override 11890 public Base addChild(String name) throws FHIRException { 11891 if (name.equals("operation")) { 11892 this.operation = new SetupActionOperationComponent(); 11893 return this.operation; 11894 } 11895 else 11896 return super.addChild(name); 11897 } 11898 11899 public TeardownActionComponent copy() { 11900 TeardownActionComponent dst = new TeardownActionComponent(); 11901 copyValues(dst); 11902 return dst; 11903 } 11904 11905 public void copyValues(TeardownActionComponent dst) { 11906 super.copyValues(dst); 11907 dst.operation = operation == null ? null : operation.copy(); 11908 } 11909 11910 @Override 11911 public boolean equalsDeep(Base other_) { 11912 if (!super.equalsDeep(other_)) 11913 return false; 11914 if (!(other_ instanceof TeardownActionComponent)) 11915 return false; 11916 TeardownActionComponent o = (TeardownActionComponent) other_; 11917 return compareDeep(operation, o.operation, true); 11918 } 11919 11920 @Override 11921 public boolean equalsShallow(Base other_) { 11922 if (!super.equalsShallow(other_)) 11923 return false; 11924 if (!(other_ instanceof TeardownActionComponent)) 11925 return false; 11926 TeardownActionComponent o = (TeardownActionComponent) other_; 11927 return true; 11928 } 11929 11930 public boolean isEmpty() { 11931 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(operation); 11932 } 11933 11934 public String fhirType() { 11935 return "TestScript.teardown.action"; 11936 11937 } 11938 11939 } 11940 11941 /** 11942 * An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. 11943 */ 11944 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 11945 @Description(shortDefinition="Canonical identifier for this test script, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers." ) 11946 protected UriType url; 11947 11948 /** 11949 * A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance. 11950 */ 11951 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 11952 @Description(shortDefinition="Additional identifier for the test script", formalDefinition="A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 11953 protected List<Identifier> identifier; 11954 11955 /** 11956 * The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 11957 */ 11958 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 11959 @Description(shortDefinition="Business version of the test script", formalDefinition="The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) 11960 protected StringType version; 11961 11962 /** 11963 * A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation. 11964 */ 11965 @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) 11966 @Description(shortDefinition="Name for this test script (computer friendly)", formalDefinition="A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 11967 protected StringType name; 11968 11969 /** 11970 * A short, descriptive, user-friendly title for the test script. 11971 */ 11972 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 11973 @Description(shortDefinition="Name for this test script (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the test script." ) 11974 protected StringType title; 11975 11976 /** 11977 * The status of this test script. Enables tracking the life-cycle of the content. 11978 */ 11979 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 11980 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this test script. Enables tracking the life-cycle of the content." ) 11981 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 11982 protected Enumeration<PublicationStatus> status; 11983 11984 /** 11985 * A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 11986 */ 11987 @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) 11988 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 11989 protected BooleanType experimental; 11990 11991 /** 11992 * The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes. 11993 */ 11994 @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 11995 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes." ) 11996 protected DateTimeType date; 11997 11998 /** 11999 * The name of the organization or individual that published the test script. 12000 */ 12001 @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 12002 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the test script." ) 12003 protected StringType publisher; 12004 12005 /** 12006 * Contact details to assist a user in finding and communicating with the publisher. 12007 */ 12008 @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 12009 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 12010 protected List<ContactDetail> contact; 12011 12012 /** 12013 * A free text natural language description of the test script from a consumer's perspective. 12014 */ 12015 @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) 12016 @Description(shortDefinition="Natural language description of the test script", formalDefinition="A free text natural language description of the test script from a consumer's perspective." ) 12017 protected MarkdownType description; 12018 12019 /** 12020 * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances. 12021 */ 12022 @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 12023 @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances." ) 12024 protected List<UsageContext> useContext; 12025 12026 /** 12027 * A legal or geographic region in which the test script is intended to be used. 12028 */ 12029 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 12030 @Description(shortDefinition="Intended jurisdiction for test script (if applicable)", formalDefinition="A legal or geographic region in which the test script is intended to be used." ) 12031 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 12032 protected List<CodeableConcept> jurisdiction; 12033 12034 /** 12035 * Explanation of why this test script is needed and why it has been designed as it has. 12036 */ 12037 @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) 12038 @Description(shortDefinition="Why this test script is defined", formalDefinition="Explanation of why this test script is needed and why it has been designed as it has." ) 12039 protected MarkdownType purpose; 12040 12041 /** 12042 * A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. 12043 */ 12044 @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 12045 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script." ) 12046 protected MarkdownType copyright; 12047 12048 /** 12049 * An abstract server used in operations within this test script in the origin element. 12050 */ 12051 @Child(name = "origin", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12052 @Description(shortDefinition="An abstract server representing a client or sender in a message exchange", formalDefinition="An abstract server used in operations within this test script in the origin element." ) 12053 protected List<TestScriptOriginComponent> origin; 12054 12055 /** 12056 * An abstract server used in operations within this test script in the destination element. 12057 */ 12058 @Child(name = "destination", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12059 @Description(shortDefinition="An abstract server representing a destination or receiver in a message exchange", formalDefinition="An abstract server used in operations within this test script in the destination element." ) 12060 protected List<TestScriptDestinationComponent> destination; 12061 12062 /** 12063 * The required capability must exist and are assumed to function correctly on the FHIR server being tested. 12064 */ 12065 @Child(name = "metadata", type = {}, order=17, min=0, max=1, modifier=false, summary=false) 12066 @Description(shortDefinition="Required capability that is assumed to function correctly on the FHIR server being tested", formalDefinition="The required capability must exist and are assumed to function correctly on the FHIR server being tested." ) 12067 protected TestScriptMetadataComponent metadata; 12068 12069 /** 12070 * The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion. 12071 */ 12072 @Child(name = "scope", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12073 @Description(shortDefinition="Indication of the artifact(s) that are tested by this test case", formalDefinition="The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion." ) 12074 protected List<TestScriptScopeComponent> scope; 12075 12076 /** 12077 * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. 12078 */ 12079 @Child(name = "fixture", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12080 @Description(shortDefinition="Fixture in the test script - by reference (uri)", formalDefinition="Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute." ) 12081 protected List<TestScriptFixtureComponent> fixture; 12082 12083 /** 12084 * Reference to the profile to be used for validation. 12085 */ 12086 @Child(name = "profile", type = {Reference.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12087 @Description(shortDefinition="Reference of the validation profile", formalDefinition="Reference to the profile to be used for validation." ) 12088 protected List<Reference> profile; 12089 12090 /** 12091 * Variable is set based either on element value in response body or on header field value in the response headers. 12092 */ 12093 @Child(name = "variable", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12094 @Description(shortDefinition="Placeholder for evaluated elements", formalDefinition="Variable is set based either on element value in response body or on header field value in the response headers." ) 12095 protected List<TestScriptVariableComponent> variable; 12096 12097 /** 12098 * A series of required setup operations before tests are executed. 12099 */ 12100 @Child(name = "setup", type = {}, order=22, min=0, max=1, modifier=false, summary=false) 12101 @Description(shortDefinition="A series of required setup operations before tests are executed", formalDefinition="A series of required setup operations before tests are executed." ) 12102 protected TestScriptSetupComponent setup; 12103 12104 /** 12105 * A test in this script. 12106 */ 12107 @Child(name = "test", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 12108 @Description(shortDefinition="A test in this script", formalDefinition="A test in this script." ) 12109 protected List<TestScriptTestComponent> test; 12110 12111 /** 12112 * A series of operations required to clean up after all the tests are executed (successfully or otherwise). 12113 */ 12114 @Child(name = "teardown", type = {}, order=24, min=0, max=1, modifier=false, summary=false) 12115 @Description(shortDefinition="A series of required clean up steps", formalDefinition="A series of operations required to clean up after all the tests are executed (successfully or otherwise)." ) 12116 protected TestScriptTeardownComponent teardown; 12117 12118 private static final long serialVersionUID = 299066131L; 12119 12120 /** 12121 * Constructor 12122 */ 12123 public TestScript() { 12124 super(); 12125 } 12126 12127 /** 12128 * Constructor 12129 */ 12130 public TestScript(String name, PublicationStatus status) { 12131 super(); 12132 this.setName(name); 12133 this.setStatus(status); 12134 } 12135 12136 /** 12137 * @return {@link #url} (An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 12138 */ 12139 public UriType getUrlElement() { 12140 if (this.url == null) 12141 if (Configuration.errorOnAutoCreate()) 12142 throw new Error("Attempt to auto-create TestScript.url"); 12143 else if (Configuration.doAutoCreate()) 12144 this.url = new UriType(); // bb 12145 return this.url; 12146 } 12147 12148 public boolean hasUrlElement() { 12149 return this.url != null && !this.url.isEmpty(); 12150 } 12151 12152 public boolean hasUrl() { 12153 return this.url != null && !this.url.isEmpty(); 12154 } 12155 12156 /** 12157 * @param value {@link #url} (An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 12158 */ 12159 public TestScript setUrlElement(UriType value) { 12160 this.url = value; 12161 return this; 12162 } 12163 12164 /** 12165 * @return An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. 12166 */ 12167 public String getUrl() { 12168 return this.url == null ? null : this.url.getValue(); 12169 } 12170 12171 /** 12172 * @param value An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. 12173 */ 12174 public TestScript setUrl(String value) { 12175 if (Utilities.noString(value)) 12176 this.url = null; 12177 else { 12178 if (this.url == null) 12179 this.url = new UriType(); 12180 this.url.setValue(value); 12181 } 12182 return this; 12183 } 12184 12185 /** 12186 * @return {@link #identifier} (A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.) 12187 */ 12188 public List<Identifier> getIdentifier() { 12189 if (this.identifier == null) 12190 this.identifier = new ArrayList<Identifier>(); 12191 return this.identifier; 12192 } 12193 12194 /** 12195 * @return Returns a reference to <code>this</code> for easy method chaining 12196 */ 12197 public TestScript setIdentifier(List<Identifier> theIdentifier) { 12198 this.identifier = theIdentifier; 12199 return this; 12200 } 12201 12202 public boolean hasIdentifier() { 12203 if (this.identifier == null) 12204 return false; 12205 for (Identifier item : this.identifier) 12206 if (!item.isEmpty()) 12207 return true; 12208 return false; 12209 } 12210 12211 public Identifier addIdentifier() { //3 12212 Identifier t = new Identifier(); 12213 if (this.identifier == null) 12214 this.identifier = new ArrayList<Identifier>(); 12215 this.identifier.add(t); 12216 return t; 12217 } 12218 12219 public TestScript addIdentifier(Identifier t) { //3 12220 if (t == null) 12221 return this; 12222 if (this.identifier == null) 12223 this.identifier = new ArrayList<Identifier>(); 12224 this.identifier.add(t); 12225 return this; 12226 } 12227 12228 /** 12229 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 12230 */ 12231 public Identifier getIdentifierFirstRep() { 12232 if (getIdentifier().isEmpty()) { 12233 addIdentifier(); 12234 } 12235 return getIdentifier().get(0); 12236 } 12237 12238 /** 12239 * @return {@link #version} (The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 12240 */ 12241 public StringType getVersionElement() { 12242 if (this.version == null) 12243 if (Configuration.errorOnAutoCreate()) 12244 throw new Error("Attempt to auto-create TestScript.version"); 12245 else if (Configuration.doAutoCreate()) 12246 this.version = new StringType(); // bb 12247 return this.version; 12248 } 12249 12250 public boolean hasVersionElement() { 12251 return this.version != null && !this.version.isEmpty(); 12252 } 12253 12254 public boolean hasVersion() { 12255 return this.version != null && !this.version.isEmpty(); 12256 } 12257 12258 /** 12259 * @param value {@link #version} (The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 12260 */ 12261 public TestScript setVersionElement(StringType value) { 12262 this.version = value; 12263 return this; 12264 } 12265 12266 /** 12267 * @return The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 12268 */ 12269 public String getVersion() { 12270 return this.version == null ? null : this.version.getValue(); 12271 } 12272 12273 /** 12274 * @param value The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 12275 */ 12276 public TestScript setVersion(String value) { 12277 if (Utilities.noString(value)) 12278 this.version = null; 12279 else { 12280 if (this.version == null) 12281 this.version = new StringType(); 12282 this.version.setValue(value); 12283 } 12284 return this; 12285 } 12286 12287 /** 12288 * @return {@link #name} (A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 12289 */ 12290 public StringType getNameElement() { 12291 if (this.name == null) 12292 if (Configuration.errorOnAutoCreate()) 12293 throw new Error("Attempt to auto-create TestScript.name"); 12294 else if (Configuration.doAutoCreate()) 12295 this.name = new StringType(); // bb 12296 return this.name; 12297 } 12298 12299 public boolean hasNameElement() { 12300 return this.name != null && !this.name.isEmpty(); 12301 } 12302 12303 public boolean hasName() { 12304 return this.name != null && !this.name.isEmpty(); 12305 } 12306 12307 /** 12308 * @param value {@link #name} (A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 12309 */ 12310 public TestScript setNameElement(StringType value) { 12311 this.name = value; 12312 return this; 12313 } 12314 12315 /** 12316 * @return A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation. 12317 */ 12318 public String getName() { 12319 return this.name == null ? null : this.name.getValue(); 12320 } 12321 12322 /** 12323 * @param value A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation. 12324 */ 12325 public TestScript setName(String value) { 12326 if (this.name == null) 12327 this.name = new StringType(); 12328 this.name.setValue(value); 12329 return this; 12330 } 12331 12332 /** 12333 * @return {@link #title} (A short, descriptive, user-friendly title for the test script.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 12334 */ 12335 public StringType getTitleElement() { 12336 if (this.title == null) 12337 if (Configuration.errorOnAutoCreate()) 12338 throw new Error("Attempt to auto-create TestScript.title"); 12339 else if (Configuration.doAutoCreate()) 12340 this.title = new StringType(); // bb 12341 return this.title; 12342 } 12343 12344 public boolean hasTitleElement() { 12345 return this.title != null && !this.title.isEmpty(); 12346 } 12347 12348 public boolean hasTitle() { 12349 return this.title != null && !this.title.isEmpty(); 12350 } 12351 12352 /** 12353 * @param value {@link #title} (A short, descriptive, user-friendly title for the test script.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 12354 */ 12355 public TestScript setTitleElement(StringType value) { 12356 this.title = value; 12357 return this; 12358 } 12359 12360 /** 12361 * @return A short, descriptive, user-friendly title for the test script. 12362 */ 12363 public String getTitle() { 12364 return this.title == null ? null : this.title.getValue(); 12365 } 12366 12367 /** 12368 * @param value A short, descriptive, user-friendly title for the test script. 12369 */ 12370 public TestScript setTitle(String value) { 12371 if (Utilities.noString(value)) 12372 this.title = null; 12373 else { 12374 if (this.title == null) 12375 this.title = new StringType(); 12376 this.title.setValue(value); 12377 } 12378 return this; 12379 } 12380 12381 /** 12382 * @return {@link #status} (The status of this test script. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 12383 */ 12384 public Enumeration<PublicationStatus> getStatusElement() { 12385 if (this.status == null) 12386 if (Configuration.errorOnAutoCreate()) 12387 throw new Error("Attempt to auto-create TestScript.status"); 12388 else if (Configuration.doAutoCreate()) 12389 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 12390 return this.status; 12391 } 12392 12393 public boolean hasStatusElement() { 12394 return this.status != null && !this.status.isEmpty(); 12395 } 12396 12397 public boolean hasStatus() { 12398 return this.status != null && !this.status.isEmpty(); 12399 } 12400 12401 /** 12402 * @param value {@link #status} (The status of this test script. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 12403 */ 12404 public TestScript setStatusElement(Enumeration<PublicationStatus> value) { 12405 this.status = value; 12406 return this; 12407 } 12408 12409 /** 12410 * @return The status of this test script. Enables tracking the life-cycle of the content. 12411 */ 12412 public PublicationStatus getStatus() { 12413 return this.status == null ? null : this.status.getValue(); 12414 } 12415 12416 /** 12417 * @param value The status of this test script. Enables tracking the life-cycle of the content. 12418 */ 12419 public TestScript setStatus(PublicationStatus value) { 12420 if (this.status == null) 12421 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 12422 this.status.setValue(value); 12423 return this; 12424 } 12425 12426 /** 12427 * @return {@link #experimental} (A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 12428 */ 12429 public BooleanType getExperimentalElement() { 12430 if (this.experimental == null) 12431 if (Configuration.errorOnAutoCreate()) 12432 throw new Error("Attempt to auto-create TestScript.experimental"); 12433 else if (Configuration.doAutoCreate()) 12434 this.experimental = new BooleanType(); // bb 12435 return this.experimental; 12436 } 12437 12438 public boolean hasExperimentalElement() { 12439 return this.experimental != null && !this.experimental.isEmpty(); 12440 } 12441 12442 public boolean hasExperimental() { 12443 return this.experimental != null && !this.experimental.isEmpty(); 12444 } 12445 12446 /** 12447 * @param value {@link #experimental} (A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 12448 */ 12449 public TestScript setExperimentalElement(BooleanType value) { 12450 this.experimental = value; 12451 return this; 12452 } 12453 12454 /** 12455 * @return A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 12456 */ 12457 public boolean getExperimental() { 12458 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 12459 } 12460 12461 /** 12462 * @param value A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 12463 */ 12464 public TestScript setExperimental(boolean value) { 12465 if (this.experimental == null) 12466 this.experimental = new BooleanType(); 12467 this.experimental.setValue(value); 12468 return this; 12469 } 12470 12471 /** 12472 * @return {@link #date} (The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 12473 */ 12474 public DateTimeType getDateElement() { 12475 if (this.date == null) 12476 if (Configuration.errorOnAutoCreate()) 12477 throw new Error("Attempt to auto-create TestScript.date"); 12478 else if (Configuration.doAutoCreate()) 12479 this.date = new DateTimeType(); // bb 12480 return this.date; 12481 } 12482 12483 public boolean hasDateElement() { 12484 return this.date != null && !this.date.isEmpty(); 12485 } 12486 12487 public boolean hasDate() { 12488 return this.date != null && !this.date.isEmpty(); 12489 } 12490 12491 /** 12492 * @param value {@link #date} (The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 12493 */ 12494 public TestScript setDateElement(DateTimeType value) { 12495 this.date = value; 12496 return this; 12497 } 12498 12499 /** 12500 * @return The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes. 12501 */ 12502 public Date getDate() { 12503 return this.date == null ? null : this.date.getValue(); 12504 } 12505 12506 /** 12507 * @param value The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes. 12508 */ 12509 public TestScript setDate(Date value) { 12510 if (value == null) 12511 this.date = null; 12512 else { 12513 if (this.date == null) 12514 this.date = new DateTimeType(); 12515 this.date.setValue(value); 12516 } 12517 return this; 12518 } 12519 12520 /** 12521 * @return {@link #publisher} (The name of the organization or individual that published the test script.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 12522 */ 12523 public StringType getPublisherElement() { 12524 if (this.publisher == null) 12525 if (Configuration.errorOnAutoCreate()) 12526 throw new Error("Attempt to auto-create TestScript.publisher"); 12527 else if (Configuration.doAutoCreate()) 12528 this.publisher = new StringType(); // bb 12529 return this.publisher; 12530 } 12531 12532 public boolean hasPublisherElement() { 12533 return this.publisher != null && !this.publisher.isEmpty(); 12534 } 12535 12536 public boolean hasPublisher() { 12537 return this.publisher != null && !this.publisher.isEmpty(); 12538 } 12539 12540 /** 12541 * @param value {@link #publisher} (The name of the organization or individual that published the test script.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 12542 */ 12543 public TestScript setPublisherElement(StringType value) { 12544 this.publisher = value; 12545 return this; 12546 } 12547 12548 /** 12549 * @return The name of the organization or individual that published the test script. 12550 */ 12551 public String getPublisher() { 12552 return this.publisher == null ? null : this.publisher.getValue(); 12553 } 12554 12555 /** 12556 * @param value The name of the organization or individual that published the test script. 12557 */ 12558 public TestScript setPublisher(String value) { 12559 if (Utilities.noString(value)) 12560 this.publisher = null; 12561 else { 12562 if (this.publisher == null) 12563 this.publisher = new StringType(); 12564 this.publisher.setValue(value); 12565 } 12566 return this; 12567 } 12568 12569 /** 12570 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 12571 */ 12572 public List<ContactDetail> getContact() { 12573 if (this.contact == null) 12574 this.contact = new ArrayList<ContactDetail>(); 12575 return this.contact; 12576 } 12577 12578 /** 12579 * @return Returns a reference to <code>this</code> for easy method chaining 12580 */ 12581 public TestScript setContact(List<ContactDetail> theContact) { 12582 this.contact = theContact; 12583 return this; 12584 } 12585 12586 public boolean hasContact() { 12587 if (this.contact == null) 12588 return false; 12589 for (ContactDetail item : this.contact) 12590 if (!item.isEmpty()) 12591 return true; 12592 return false; 12593 } 12594 12595 public ContactDetail addContact() { //3 12596 ContactDetail t = new ContactDetail(); 12597 if (this.contact == null) 12598 this.contact = new ArrayList<ContactDetail>(); 12599 this.contact.add(t); 12600 return t; 12601 } 12602 12603 public TestScript addContact(ContactDetail t) { //3 12604 if (t == null) 12605 return this; 12606 if (this.contact == null) 12607 this.contact = new ArrayList<ContactDetail>(); 12608 this.contact.add(t); 12609 return this; 12610 } 12611 12612 /** 12613 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 12614 */ 12615 public ContactDetail getContactFirstRep() { 12616 if (getContact().isEmpty()) { 12617 addContact(); 12618 } 12619 return getContact().get(0); 12620 } 12621 12622 /** 12623 * @return {@link #description} (A free text natural language description of the test script from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 12624 */ 12625 public MarkdownType getDescriptionElement() { 12626 if (this.description == null) 12627 if (Configuration.errorOnAutoCreate()) 12628 throw new Error("Attempt to auto-create TestScript.description"); 12629 else if (Configuration.doAutoCreate()) 12630 this.description = new MarkdownType(); // bb 12631 return this.description; 12632 } 12633 12634 public boolean hasDescriptionElement() { 12635 return this.description != null && !this.description.isEmpty(); 12636 } 12637 12638 public boolean hasDescription() { 12639 return this.description != null && !this.description.isEmpty(); 12640 } 12641 12642 /** 12643 * @param value {@link #description} (A free text natural language description of the test script from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 12644 */ 12645 public TestScript setDescriptionElement(MarkdownType value) { 12646 this.description = value; 12647 return this; 12648 } 12649 12650 /** 12651 * @return A free text natural language description of the test script from a consumer's perspective. 12652 */ 12653 public String getDescription() { 12654 return this.description == null ? null : this.description.getValue(); 12655 } 12656 12657 /** 12658 * @param value A free text natural language description of the test script from a consumer's perspective. 12659 */ 12660 public TestScript setDescription(String value) { 12661 if (value == null) 12662 this.description = null; 12663 else { 12664 if (this.description == null) 12665 this.description = new MarkdownType(); 12666 this.description.setValue(value); 12667 } 12668 return this; 12669 } 12670 12671 /** 12672 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.) 12673 */ 12674 public List<UsageContext> getUseContext() { 12675 if (this.useContext == null) 12676 this.useContext = new ArrayList<UsageContext>(); 12677 return this.useContext; 12678 } 12679 12680 /** 12681 * @return Returns a reference to <code>this</code> for easy method chaining 12682 */ 12683 public TestScript setUseContext(List<UsageContext> theUseContext) { 12684 this.useContext = theUseContext; 12685 return this; 12686 } 12687 12688 public boolean hasUseContext() { 12689 if (this.useContext == null) 12690 return false; 12691 for (UsageContext item : this.useContext) 12692 if (!item.isEmpty()) 12693 return true; 12694 return false; 12695 } 12696 12697 public UsageContext addUseContext() { //3 12698 UsageContext t = new UsageContext(); 12699 if (this.useContext == null) 12700 this.useContext = new ArrayList<UsageContext>(); 12701 this.useContext.add(t); 12702 return t; 12703 } 12704 12705 public TestScript addUseContext(UsageContext t) { //3 12706 if (t == null) 12707 return this; 12708 if (this.useContext == null) 12709 this.useContext = new ArrayList<UsageContext>(); 12710 this.useContext.add(t); 12711 return this; 12712 } 12713 12714 /** 12715 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 12716 */ 12717 public UsageContext getUseContextFirstRep() { 12718 if (getUseContext().isEmpty()) { 12719 addUseContext(); 12720 } 12721 return getUseContext().get(0); 12722 } 12723 12724 /** 12725 * @return {@link #jurisdiction} (A legal or geographic region in which the test script is intended to be used.) 12726 */ 12727 public List<CodeableConcept> getJurisdiction() { 12728 if (this.jurisdiction == null) 12729 this.jurisdiction = new ArrayList<CodeableConcept>(); 12730 return this.jurisdiction; 12731 } 12732 12733 /** 12734 * @return Returns a reference to <code>this</code> for easy method chaining 12735 */ 12736 public TestScript setJurisdiction(List<CodeableConcept> theJurisdiction) { 12737 this.jurisdiction = theJurisdiction; 12738 return this; 12739 } 12740 12741 public boolean hasJurisdiction() { 12742 if (this.jurisdiction == null) 12743 return false; 12744 for (CodeableConcept item : this.jurisdiction) 12745 if (!item.isEmpty()) 12746 return true; 12747 return false; 12748 } 12749 12750 public CodeableConcept addJurisdiction() { //3 12751 CodeableConcept t = new CodeableConcept(); 12752 if (this.jurisdiction == null) 12753 this.jurisdiction = new ArrayList<CodeableConcept>(); 12754 this.jurisdiction.add(t); 12755 return t; 12756 } 12757 12758 public TestScript addJurisdiction(CodeableConcept t) { //3 12759 if (t == null) 12760 return this; 12761 if (this.jurisdiction == null) 12762 this.jurisdiction = new ArrayList<CodeableConcept>(); 12763 this.jurisdiction.add(t); 12764 return this; 12765 } 12766 12767 /** 12768 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 12769 */ 12770 public CodeableConcept getJurisdictionFirstRep() { 12771 if (getJurisdiction().isEmpty()) { 12772 addJurisdiction(); 12773 } 12774 return getJurisdiction().get(0); 12775 } 12776 12777 /** 12778 * @return {@link #purpose} (Explanation of why this test script is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 12779 */ 12780 public MarkdownType getPurposeElement() { 12781 if (this.purpose == null) 12782 if (Configuration.errorOnAutoCreate()) 12783 throw new Error("Attempt to auto-create TestScript.purpose"); 12784 else if (Configuration.doAutoCreate()) 12785 this.purpose = new MarkdownType(); // bb 12786 return this.purpose; 12787 } 12788 12789 public boolean hasPurposeElement() { 12790 return this.purpose != null && !this.purpose.isEmpty(); 12791 } 12792 12793 public boolean hasPurpose() { 12794 return this.purpose != null && !this.purpose.isEmpty(); 12795 } 12796 12797 /** 12798 * @param value {@link #purpose} (Explanation of why this test script is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 12799 */ 12800 public TestScript setPurposeElement(MarkdownType value) { 12801 this.purpose = value; 12802 return this; 12803 } 12804 12805 /** 12806 * @return Explanation of why this test script is needed and why it has been designed as it has. 12807 */ 12808 public String getPurpose() { 12809 return this.purpose == null ? null : this.purpose.getValue(); 12810 } 12811 12812 /** 12813 * @param value Explanation of why this test script is needed and why it has been designed as it has. 12814 */ 12815 public TestScript setPurpose(String value) { 12816 if (value == null) 12817 this.purpose = null; 12818 else { 12819 if (this.purpose == null) 12820 this.purpose = new MarkdownType(); 12821 this.purpose.setValue(value); 12822 } 12823 return this; 12824 } 12825 12826 /** 12827 * @return {@link #copyright} (A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 12828 */ 12829 public MarkdownType getCopyrightElement() { 12830 if (this.copyright == null) 12831 if (Configuration.errorOnAutoCreate()) 12832 throw new Error("Attempt to auto-create TestScript.copyright"); 12833 else if (Configuration.doAutoCreate()) 12834 this.copyright = new MarkdownType(); // bb 12835 return this.copyright; 12836 } 12837 12838 public boolean hasCopyrightElement() { 12839 return this.copyright != null && !this.copyright.isEmpty(); 12840 } 12841 12842 public boolean hasCopyright() { 12843 return this.copyright != null && !this.copyright.isEmpty(); 12844 } 12845 12846 /** 12847 * @param value {@link #copyright} (A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 12848 */ 12849 public TestScript setCopyrightElement(MarkdownType value) { 12850 this.copyright = value; 12851 return this; 12852 } 12853 12854 /** 12855 * @return A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. 12856 */ 12857 public String getCopyright() { 12858 return this.copyright == null ? null : this.copyright.getValue(); 12859 } 12860 12861 /** 12862 * @param value A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. 12863 */ 12864 public TestScript setCopyright(String value) { 12865 if (value == null) 12866 this.copyright = null; 12867 else { 12868 if (this.copyright == null) 12869 this.copyright = new MarkdownType(); 12870 this.copyright.setValue(value); 12871 } 12872 return this; 12873 } 12874 12875 /** 12876 * @return {@link #origin} (An abstract server used in operations within this test script in the origin element.) 12877 */ 12878 public List<TestScriptOriginComponent> getOrigin() { 12879 if (this.origin == null) 12880 this.origin = new ArrayList<TestScriptOriginComponent>(); 12881 return this.origin; 12882 } 12883 12884 /** 12885 * @return Returns a reference to <code>this</code> for easy method chaining 12886 */ 12887 public TestScript setOrigin(List<TestScriptOriginComponent> theOrigin) { 12888 this.origin = theOrigin; 12889 return this; 12890 } 12891 12892 public boolean hasOrigin() { 12893 if (this.origin == null) 12894 return false; 12895 for (TestScriptOriginComponent item : this.origin) 12896 if (!item.isEmpty()) 12897 return true; 12898 return false; 12899 } 12900 12901 public TestScriptOriginComponent addOrigin() { //3 12902 TestScriptOriginComponent t = new TestScriptOriginComponent(); 12903 if (this.origin == null) 12904 this.origin = new ArrayList<TestScriptOriginComponent>(); 12905 this.origin.add(t); 12906 return t; 12907 } 12908 12909 public TestScript addOrigin(TestScriptOriginComponent t) { //3 12910 if (t == null) 12911 return this; 12912 if (this.origin == null) 12913 this.origin = new ArrayList<TestScriptOriginComponent>(); 12914 this.origin.add(t); 12915 return this; 12916 } 12917 12918 /** 12919 * @return The first repetition of repeating field {@link #origin}, creating it if it does not already exist {3} 12920 */ 12921 public TestScriptOriginComponent getOriginFirstRep() { 12922 if (getOrigin().isEmpty()) { 12923 addOrigin(); 12924 } 12925 return getOrigin().get(0); 12926 } 12927 12928 /** 12929 * @return {@link #destination} (An abstract server used in operations within this test script in the destination element.) 12930 */ 12931 public List<TestScriptDestinationComponent> getDestination() { 12932 if (this.destination == null) 12933 this.destination = new ArrayList<TestScriptDestinationComponent>(); 12934 return this.destination; 12935 } 12936 12937 /** 12938 * @return Returns a reference to <code>this</code> for easy method chaining 12939 */ 12940 public TestScript setDestination(List<TestScriptDestinationComponent> theDestination) { 12941 this.destination = theDestination; 12942 return this; 12943 } 12944 12945 public boolean hasDestination() { 12946 if (this.destination == null) 12947 return false; 12948 for (TestScriptDestinationComponent item : this.destination) 12949 if (!item.isEmpty()) 12950 return true; 12951 return false; 12952 } 12953 12954 public TestScriptDestinationComponent addDestination() { //3 12955 TestScriptDestinationComponent t = new TestScriptDestinationComponent(); 12956 if (this.destination == null) 12957 this.destination = new ArrayList<TestScriptDestinationComponent>(); 12958 this.destination.add(t); 12959 return t; 12960 } 12961 12962 public TestScript addDestination(TestScriptDestinationComponent t) { //3 12963 if (t == null) 12964 return this; 12965 if (this.destination == null) 12966 this.destination = new ArrayList<TestScriptDestinationComponent>(); 12967 this.destination.add(t); 12968 return this; 12969 } 12970 12971 /** 12972 * @return The first repetition of repeating field {@link #destination}, creating it if it does not already exist {3} 12973 */ 12974 public TestScriptDestinationComponent getDestinationFirstRep() { 12975 if (getDestination().isEmpty()) { 12976 addDestination(); 12977 } 12978 return getDestination().get(0); 12979 } 12980 12981 /** 12982 * @return {@link #metadata} (The required capability must exist and are assumed to function correctly on the FHIR server being tested.) 12983 */ 12984 public TestScriptMetadataComponent getMetadata() { 12985 if (this.metadata == null) 12986 if (Configuration.errorOnAutoCreate()) 12987 throw new Error("Attempt to auto-create TestScript.metadata"); 12988 else if (Configuration.doAutoCreate()) 12989 this.metadata = new TestScriptMetadataComponent(); // cc 12990 return this.metadata; 12991 } 12992 12993 public boolean hasMetadata() { 12994 return this.metadata != null && !this.metadata.isEmpty(); 12995 } 12996 12997 /** 12998 * @param value {@link #metadata} (The required capability must exist and are assumed to function correctly on the FHIR server being tested.) 12999 */ 13000 public TestScript setMetadata(TestScriptMetadataComponent value) { 13001 this.metadata = value; 13002 return this; 13003 } 13004 13005 /** 13006 * @return {@link #scope} (The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion.) 13007 */ 13008 public List<TestScriptScopeComponent> getScope() { 13009 if (this.scope == null) 13010 this.scope = new ArrayList<TestScriptScopeComponent>(); 13011 return this.scope; 13012 } 13013 13014 /** 13015 * @return Returns a reference to <code>this</code> for easy method chaining 13016 */ 13017 public TestScript setScope(List<TestScriptScopeComponent> theScope) { 13018 this.scope = theScope; 13019 return this; 13020 } 13021 13022 public boolean hasScope() { 13023 if (this.scope == null) 13024 return false; 13025 for (TestScriptScopeComponent item : this.scope) 13026 if (!item.isEmpty()) 13027 return true; 13028 return false; 13029 } 13030 13031 public TestScriptScopeComponent addScope() { //3 13032 TestScriptScopeComponent t = new TestScriptScopeComponent(); 13033 if (this.scope == null) 13034 this.scope = new ArrayList<TestScriptScopeComponent>(); 13035 this.scope.add(t); 13036 return t; 13037 } 13038 13039 public TestScript addScope(TestScriptScopeComponent t) { //3 13040 if (t == null) 13041 return this; 13042 if (this.scope == null) 13043 this.scope = new ArrayList<TestScriptScopeComponent>(); 13044 this.scope.add(t); 13045 return this; 13046 } 13047 13048 /** 13049 * @return The first repetition of repeating field {@link #scope}, creating it if it does not already exist {3} 13050 */ 13051 public TestScriptScopeComponent getScopeFirstRep() { 13052 if (getScope().isEmpty()) { 13053 addScope(); 13054 } 13055 return getScope().get(0); 13056 } 13057 13058 /** 13059 * @return {@link #fixture} (Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.) 13060 */ 13061 public List<TestScriptFixtureComponent> getFixture() { 13062 if (this.fixture == null) 13063 this.fixture = new ArrayList<TestScriptFixtureComponent>(); 13064 return this.fixture; 13065 } 13066 13067 /** 13068 * @return Returns a reference to <code>this</code> for easy method chaining 13069 */ 13070 public TestScript setFixture(List<TestScriptFixtureComponent> theFixture) { 13071 this.fixture = theFixture; 13072 return this; 13073 } 13074 13075 public boolean hasFixture() { 13076 if (this.fixture == null) 13077 return false; 13078 for (TestScriptFixtureComponent item : this.fixture) 13079 if (!item.isEmpty()) 13080 return true; 13081 return false; 13082 } 13083 13084 public TestScriptFixtureComponent addFixture() { //3 13085 TestScriptFixtureComponent t = new TestScriptFixtureComponent(); 13086 if (this.fixture == null) 13087 this.fixture = new ArrayList<TestScriptFixtureComponent>(); 13088 this.fixture.add(t); 13089 return t; 13090 } 13091 13092 public TestScript addFixture(TestScriptFixtureComponent t) { //3 13093 if (t == null) 13094 return this; 13095 if (this.fixture == null) 13096 this.fixture = new ArrayList<TestScriptFixtureComponent>(); 13097 this.fixture.add(t); 13098 return this; 13099 } 13100 13101 /** 13102 * @return The first repetition of repeating field {@link #fixture}, creating it if it does not already exist {3} 13103 */ 13104 public TestScriptFixtureComponent getFixtureFirstRep() { 13105 if (getFixture().isEmpty()) { 13106 addFixture(); 13107 } 13108 return getFixture().get(0); 13109 } 13110 13111 /** 13112 * @return {@link #profile} (Reference to the profile to be used for validation.) 13113 */ 13114 public List<Reference> getProfile() { 13115 if (this.profile == null) 13116 this.profile = new ArrayList<Reference>(); 13117 return this.profile; 13118 } 13119 13120 /** 13121 * @return Returns a reference to <code>this</code> for easy method chaining 13122 */ 13123 public TestScript setProfile(List<Reference> theProfile) { 13124 this.profile = theProfile; 13125 return this; 13126 } 13127 13128 public boolean hasProfile() { 13129 if (this.profile == null) 13130 return false; 13131 for (Reference item : this.profile) 13132 if (!item.isEmpty()) 13133 return true; 13134 return false; 13135 } 13136 13137 public Reference addProfile() { //3 13138 Reference t = new Reference(); 13139 if (this.profile == null) 13140 this.profile = new ArrayList<Reference>(); 13141 this.profile.add(t); 13142 return t; 13143 } 13144 13145 public TestScript addProfile(Reference t) { //3 13146 if (t == null) 13147 return this; 13148 if (this.profile == null) 13149 this.profile = new ArrayList<Reference>(); 13150 this.profile.add(t); 13151 return this; 13152 } 13153 13154 /** 13155 * @return The first repetition of repeating field {@link #profile}, creating it if it does not already exist {3} 13156 */ 13157 public Reference getProfileFirstRep() { 13158 if (getProfile().isEmpty()) { 13159 addProfile(); 13160 } 13161 return getProfile().get(0); 13162 } 13163 13164 /** 13165 * @return {@link #variable} (Variable is set based either on element value in response body or on header field value in the response headers.) 13166 */ 13167 public List<TestScriptVariableComponent> getVariable() { 13168 if (this.variable == null) 13169 this.variable = new ArrayList<TestScriptVariableComponent>(); 13170 return this.variable; 13171 } 13172 13173 /** 13174 * @return Returns a reference to <code>this</code> for easy method chaining 13175 */ 13176 public TestScript setVariable(List<TestScriptVariableComponent> theVariable) { 13177 this.variable = theVariable; 13178 return this; 13179 } 13180 13181 public boolean hasVariable() { 13182 if (this.variable == null) 13183 return false; 13184 for (TestScriptVariableComponent item : this.variable) 13185 if (!item.isEmpty()) 13186 return true; 13187 return false; 13188 } 13189 13190 public TestScriptVariableComponent addVariable() { //3 13191 TestScriptVariableComponent t = new TestScriptVariableComponent(); 13192 if (this.variable == null) 13193 this.variable = new ArrayList<TestScriptVariableComponent>(); 13194 this.variable.add(t); 13195 return t; 13196 } 13197 13198 public TestScript addVariable(TestScriptVariableComponent t) { //3 13199 if (t == null) 13200 return this; 13201 if (this.variable == null) 13202 this.variable = new ArrayList<TestScriptVariableComponent>(); 13203 this.variable.add(t); 13204 return this; 13205 } 13206 13207 /** 13208 * @return The first repetition of repeating field {@link #variable}, creating it if it does not already exist {3} 13209 */ 13210 public TestScriptVariableComponent getVariableFirstRep() { 13211 if (getVariable().isEmpty()) { 13212 addVariable(); 13213 } 13214 return getVariable().get(0); 13215 } 13216 13217 /** 13218 * @return {@link #setup} (A series of required setup operations before tests are executed.) 13219 */ 13220 public TestScriptSetupComponent getSetup() { 13221 if (this.setup == null) 13222 if (Configuration.errorOnAutoCreate()) 13223 throw new Error("Attempt to auto-create TestScript.setup"); 13224 else if (Configuration.doAutoCreate()) 13225 this.setup = new TestScriptSetupComponent(); // cc 13226 return this.setup; 13227 } 13228 13229 public boolean hasSetup() { 13230 return this.setup != null && !this.setup.isEmpty(); 13231 } 13232 13233 /** 13234 * @param value {@link #setup} (A series of required setup operations before tests are executed.) 13235 */ 13236 public TestScript setSetup(TestScriptSetupComponent value) { 13237 this.setup = value; 13238 return this; 13239 } 13240 13241 /** 13242 * @return {@link #test} (A test in this script.) 13243 */ 13244 public List<TestScriptTestComponent> getTest() { 13245 if (this.test == null) 13246 this.test = new ArrayList<TestScriptTestComponent>(); 13247 return this.test; 13248 } 13249 13250 /** 13251 * @return Returns a reference to <code>this</code> for easy method chaining 13252 */ 13253 public TestScript setTest(List<TestScriptTestComponent> theTest) { 13254 this.test = theTest; 13255 return this; 13256 } 13257 13258 public boolean hasTest() { 13259 if (this.test == null) 13260 return false; 13261 for (TestScriptTestComponent item : this.test) 13262 if (!item.isEmpty()) 13263 return true; 13264 return false; 13265 } 13266 13267 public TestScriptTestComponent addTest() { //3 13268 TestScriptTestComponent t = new TestScriptTestComponent(); 13269 if (this.test == null) 13270 this.test = new ArrayList<TestScriptTestComponent>(); 13271 this.test.add(t); 13272 return t; 13273 } 13274 13275 public TestScript addTest(TestScriptTestComponent t) { //3 13276 if (t == null) 13277 return this; 13278 if (this.test == null) 13279 this.test = new ArrayList<TestScriptTestComponent>(); 13280 this.test.add(t); 13281 return this; 13282 } 13283 13284 /** 13285 * @return The first repetition of repeating field {@link #test}, creating it if it does not already exist {3} 13286 */ 13287 public TestScriptTestComponent getTestFirstRep() { 13288 if (getTest().isEmpty()) { 13289 addTest(); 13290 } 13291 return getTest().get(0); 13292 } 13293 13294 /** 13295 * @return {@link #teardown} (A series of operations required to clean up after all the tests are executed (successfully or otherwise).) 13296 */ 13297 public TestScriptTeardownComponent getTeardown() { 13298 if (this.teardown == null) 13299 if (Configuration.errorOnAutoCreate()) 13300 throw new Error("Attempt to auto-create TestScript.teardown"); 13301 else if (Configuration.doAutoCreate()) 13302 this.teardown = new TestScriptTeardownComponent(); // cc 13303 return this.teardown; 13304 } 13305 13306 public boolean hasTeardown() { 13307 return this.teardown != null && !this.teardown.isEmpty(); 13308 } 13309 13310 /** 13311 * @param value {@link #teardown} (A series of operations required to clean up after all the tests are executed (successfully or otherwise).) 13312 */ 13313 public TestScript setTeardown(TestScriptTeardownComponent value) { 13314 this.teardown = value; 13315 return this; 13316 } 13317 13318 protected void listChildren(List<Property> children) { 13319 super.listChildren(children); 13320 children.add(new Property("url", "uri", "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.", 0, 1, url)); 13321 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 13322 children.add(new Property("version", "string", "The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 13323 children.add(new Property("name", "string", "A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 13324 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the test script.", 0, 1, title)); 13325 children.add(new Property("status", "code", "The status of this test script. Enables tracking the life-cycle of the content.", 0, 1, status)); 13326 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 13327 children.add(new Property("date", "dateTime", "The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.", 0, 1, date)); 13328 children.add(new Property("publisher", "string", "The name of the organization or individual that published the test script.", 0, 1, publisher)); 13329 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 13330 children.add(new Property("description", "markdown", "A free text natural language description of the test script from a consumer's perspective.", 0, 1, description)); 13331 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 13332 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the test script is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 13333 children.add(new Property("purpose", "markdown", "Explanation of why this test script is needed and why it has been designed as it has.", 0, 1, purpose)); 13334 children.add(new Property("copyright", "markdown", "A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.", 0, 1, copyright)); 13335 children.add(new Property("origin", "", "An abstract server used in operations within this test script in the origin element.", 0, java.lang.Integer.MAX_VALUE, origin)); 13336 children.add(new Property("destination", "", "An abstract server used in operations within this test script in the destination element.", 0, java.lang.Integer.MAX_VALUE, destination)); 13337 children.add(new Property("metadata", "", "The required capability must exist and are assumed to function correctly on the FHIR server being tested.", 0, 1, metadata)); 13338 children.add(new Property("scope", "", "The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion.", 0, java.lang.Integer.MAX_VALUE, scope)); 13339 children.add(new Property("fixture", "", "Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.", 0, java.lang.Integer.MAX_VALUE, fixture)); 13340 children.add(new Property("profile", "Reference(Any)", "Reference to the profile to be used for validation.", 0, java.lang.Integer.MAX_VALUE, profile)); 13341 children.add(new Property("variable", "", "Variable is set based either on element value in response body or on header field value in the response headers.", 0, java.lang.Integer.MAX_VALUE, variable)); 13342 children.add(new Property("setup", "", "A series of required setup operations before tests are executed.", 0, 1, setup)); 13343 children.add(new Property("test", "", "A test in this script.", 0, java.lang.Integer.MAX_VALUE, test)); 13344 children.add(new Property("teardown", "", "A series of operations required to clean up after all the tests are executed (successfully or otherwise).", 0, 1, teardown)); 13345 } 13346 13347 @Override 13348 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 13349 switch (_hash) { 13350 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.", 0, 1, url); 13351 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 13352 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 13353 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 13354 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the test script.", 0, 1, title); 13355 case -892481550: /*status*/ return new Property("status", "code", "The status of this test script. Enables tracking the life-cycle of the content.", 0, 1, status); 13356 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 13357 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.", 0, 1, date); 13358 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the test script.", 0, 1, publisher); 13359 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 13360 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the test script from a consumer's perspective.", 0, 1, description); 13361 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 13362 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the test script is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 13363 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this test script is needed and why it has been designed as it has.", 0, 1, purpose); 13364 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.", 0, 1, copyright); 13365 case -1008619738: /*origin*/ return new Property("origin", "", "An abstract server used in operations within this test script in the origin element.", 0, java.lang.Integer.MAX_VALUE, origin); 13366 case -1429847026: /*destination*/ return new Property("destination", "", "An abstract server used in operations within this test script in the destination element.", 0, java.lang.Integer.MAX_VALUE, destination); 13367 case -450004177: /*metadata*/ return new Property("metadata", "", "The required capability must exist and are assumed to function correctly on the FHIR server being tested.", 0, 1, metadata); 13368 case 109264468: /*scope*/ return new Property("scope", "", "The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion.", 0, java.lang.Integer.MAX_VALUE, scope); 13369 case -843449847: /*fixture*/ return new Property("fixture", "", "Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.", 0, java.lang.Integer.MAX_VALUE, fixture); 13370 case -309425751: /*profile*/ return new Property("profile", "Reference(Any)", "Reference to the profile to be used for validation.", 0, java.lang.Integer.MAX_VALUE, profile); 13371 case -1249586564: /*variable*/ return new Property("variable", "", "Variable is set based either on element value in response body or on header field value in the response headers.", 0, java.lang.Integer.MAX_VALUE, variable); 13372 case 109329021: /*setup*/ return new Property("setup", "", "A series of required setup operations before tests are executed.", 0, 1, setup); 13373 case 3556498: /*test*/ return new Property("test", "", "A test in this script.", 0, java.lang.Integer.MAX_VALUE, test); 13374 case -1663474172: /*teardown*/ return new Property("teardown", "", "A series of operations required to clean up after all the tests are executed (successfully or otherwise).", 0, 1, teardown); 13375 default: return super.getNamedProperty(_hash, _name, _checkValid); 13376 } 13377 13378 } 13379 13380 @Override 13381 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 13382 switch (hash) { 13383 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 13384 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 13385 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 13386 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 13387 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 13388 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 13389 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 13390 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 13391 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 13392 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 13393 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 13394 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 13395 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 13396 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 13397 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 13398 case -1008619738: /*origin*/ return this.origin == null ? new Base[0] : this.origin.toArray(new Base[this.origin.size()]); // TestScriptOriginComponent 13399 case -1429847026: /*destination*/ return this.destination == null ? new Base[0] : this.destination.toArray(new Base[this.destination.size()]); // TestScriptDestinationComponent 13400 case -450004177: /*metadata*/ return this.metadata == null ? new Base[0] : new Base[] {this.metadata}; // TestScriptMetadataComponent 13401 case 109264468: /*scope*/ return this.scope == null ? new Base[0] : this.scope.toArray(new Base[this.scope.size()]); // TestScriptScopeComponent 13402 case -843449847: /*fixture*/ return this.fixture == null ? new Base[0] : this.fixture.toArray(new Base[this.fixture.size()]); // TestScriptFixtureComponent 13403 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // Reference 13404 case -1249586564: /*variable*/ return this.variable == null ? new Base[0] : this.variable.toArray(new Base[this.variable.size()]); // TestScriptVariableComponent 13405 case 109329021: /*setup*/ return this.setup == null ? new Base[0] : new Base[] {this.setup}; // TestScriptSetupComponent 13406 case 3556498: /*test*/ return this.test == null ? new Base[0] : this.test.toArray(new Base[this.test.size()]); // TestScriptTestComponent 13407 case -1663474172: /*teardown*/ return this.teardown == null ? new Base[0] : new Base[] {this.teardown}; // TestScriptTeardownComponent 13408 default: return super.getProperty(hash, name, checkValid); 13409 } 13410 13411 } 13412 13413 @Override 13414 public Base setProperty(int hash, String name, Base value) throws FHIRException { 13415 switch (hash) { 13416 case 116079: // url 13417 this.url = TypeConvertor.castToUri(value); // UriType 13418 return value; 13419 case -1618432855: // identifier 13420 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 13421 return value; 13422 case 351608024: // version 13423 this.version = TypeConvertor.castToString(value); // StringType 13424 return value; 13425 case 3373707: // name 13426 this.name = TypeConvertor.castToString(value); // StringType 13427 return value; 13428 case 110371416: // title 13429 this.title = TypeConvertor.castToString(value); // StringType 13430 return value; 13431 case -892481550: // status 13432 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 13433 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 13434 return value; 13435 case -404562712: // experimental 13436 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 13437 return value; 13438 case 3076014: // date 13439 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 13440 return value; 13441 case 1447404028: // publisher 13442 this.publisher = TypeConvertor.castToString(value); // StringType 13443 return value; 13444 case 951526432: // contact 13445 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 13446 return value; 13447 case -1724546052: // description 13448 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 13449 return value; 13450 case -669707736: // useContext 13451 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 13452 return value; 13453 case -507075711: // jurisdiction 13454 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 13455 return value; 13456 case -220463842: // purpose 13457 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 13458 return value; 13459 case 1522889671: // copyright 13460 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 13461 return value; 13462 case -1008619738: // origin 13463 this.getOrigin().add((TestScriptOriginComponent) value); // TestScriptOriginComponent 13464 return value; 13465 case -1429847026: // destination 13466 this.getDestination().add((TestScriptDestinationComponent) value); // TestScriptDestinationComponent 13467 return value; 13468 case -450004177: // metadata 13469 this.metadata = (TestScriptMetadataComponent) value; // TestScriptMetadataComponent 13470 return value; 13471 case 109264468: // scope 13472 this.getScope().add((TestScriptScopeComponent) value); // TestScriptScopeComponent 13473 return value; 13474 case -843449847: // fixture 13475 this.getFixture().add((TestScriptFixtureComponent) value); // TestScriptFixtureComponent 13476 return value; 13477 case -309425751: // profile 13478 this.getProfile().add(TypeConvertor.castToReference(value)); // Reference 13479 return value; 13480 case -1249586564: // variable 13481 this.getVariable().add((TestScriptVariableComponent) value); // TestScriptVariableComponent 13482 return value; 13483 case 109329021: // setup 13484 this.setup = (TestScriptSetupComponent) value; // TestScriptSetupComponent 13485 return value; 13486 case 3556498: // test 13487 this.getTest().add((TestScriptTestComponent) value); // TestScriptTestComponent 13488 return value; 13489 case -1663474172: // teardown 13490 this.teardown = (TestScriptTeardownComponent) value; // TestScriptTeardownComponent 13491 return value; 13492 default: return super.setProperty(hash, name, value); 13493 } 13494 13495 } 13496 13497 @Override 13498 public Base setProperty(String name, Base value) throws FHIRException { 13499 if (name.equals("url")) { 13500 this.url = TypeConvertor.castToUri(value); // UriType 13501 } else if (name.equals("identifier")) { 13502 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 13503 } else if (name.equals("version")) { 13504 this.version = TypeConvertor.castToString(value); // StringType 13505 } else if (name.equals("name")) { 13506 this.name = TypeConvertor.castToString(value); // StringType 13507 } else if (name.equals("title")) { 13508 this.title = TypeConvertor.castToString(value); // StringType 13509 } else if (name.equals("status")) { 13510 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 13511 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 13512 } else if (name.equals("experimental")) { 13513 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 13514 } else if (name.equals("date")) { 13515 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 13516 } else if (name.equals("publisher")) { 13517 this.publisher = TypeConvertor.castToString(value); // StringType 13518 } else if (name.equals("contact")) { 13519 this.getContact().add(TypeConvertor.castToContactDetail(value)); 13520 } else if (name.equals("description")) { 13521 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 13522 } else if (name.equals("useContext")) { 13523 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 13524 } else if (name.equals("jurisdiction")) { 13525 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 13526 } else if (name.equals("purpose")) { 13527 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 13528 } else if (name.equals("copyright")) { 13529 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 13530 } else if (name.equals("origin")) { 13531 this.getOrigin().add((TestScriptOriginComponent) value); 13532 } else if (name.equals("destination")) { 13533 this.getDestination().add((TestScriptDestinationComponent) value); 13534 } else if (name.equals("metadata")) { 13535 this.metadata = (TestScriptMetadataComponent) value; // TestScriptMetadataComponent 13536 } else if (name.equals("scope")) { 13537 this.getScope().add((TestScriptScopeComponent) value); 13538 } else if (name.equals("fixture")) { 13539 this.getFixture().add((TestScriptFixtureComponent) value); 13540 } else if (name.equals("profile")) { 13541 this.getProfile().add(TypeConvertor.castToReference(value)); 13542 } else if (name.equals("variable")) { 13543 this.getVariable().add((TestScriptVariableComponent) value); 13544 } else if (name.equals("setup")) { 13545 this.setup = (TestScriptSetupComponent) value; // TestScriptSetupComponent 13546 } else if (name.equals("test")) { 13547 this.getTest().add((TestScriptTestComponent) value); 13548 } else if (name.equals("teardown")) { 13549 this.teardown = (TestScriptTeardownComponent) value; // TestScriptTeardownComponent 13550 } else 13551 return super.setProperty(name, value); 13552 return value; 13553 } 13554 13555 @Override 13556 public Base makeProperty(int hash, String name) throws FHIRException { 13557 switch (hash) { 13558 case 116079: return getUrlElement(); 13559 case -1618432855: return addIdentifier(); 13560 case 351608024: return getVersionElement(); 13561 case 3373707: return getNameElement(); 13562 case 110371416: return getTitleElement(); 13563 case -892481550: return getStatusElement(); 13564 case -404562712: return getExperimentalElement(); 13565 case 3076014: return getDateElement(); 13566 case 1447404028: return getPublisherElement(); 13567 case 951526432: return addContact(); 13568 case -1724546052: return getDescriptionElement(); 13569 case -669707736: return addUseContext(); 13570 case -507075711: return addJurisdiction(); 13571 case -220463842: return getPurposeElement(); 13572 case 1522889671: return getCopyrightElement(); 13573 case -1008619738: return addOrigin(); 13574 case -1429847026: return addDestination(); 13575 case -450004177: return getMetadata(); 13576 case 109264468: return addScope(); 13577 case -843449847: return addFixture(); 13578 case -309425751: return addProfile(); 13579 case -1249586564: return addVariable(); 13580 case 109329021: return getSetup(); 13581 case 3556498: return addTest(); 13582 case -1663474172: return getTeardown(); 13583 default: return super.makeProperty(hash, name); 13584 } 13585 13586 } 13587 13588 @Override 13589 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 13590 switch (hash) { 13591 case 116079: /*url*/ return new String[] {"uri"}; 13592 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 13593 case 351608024: /*version*/ return new String[] {"string"}; 13594 case 3373707: /*name*/ return new String[] {"string"}; 13595 case 110371416: /*title*/ return new String[] {"string"}; 13596 case -892481550: /*status*/ return new String[] {"code"}; 13597 case -404562712: /*experimental*/ return new String[] {"boolean"}; 13598 case 3076014: /*date*/ return new String[] {"dateTime"}; 13599 case 1447404028: /*publisher*/ return new String[] {"string"}; 13600 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 13601 case -1724546052: /*description*/ return new String[] {"markdown"}; 13602 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 13603 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 13604 case -220463842: /*purpose*/ return new String[] {"markdown"}; 13605 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 13606 case -1008619738: /*origin*/ return new String[] {}; 13607 case -1429847026: /*destination*/ return new String[] {}; 13608 case -450004177: /*metadata*/ return new String[] {}; 13609 case 109264468: /*scope*/ return new String[] {}; 13610 case -843449847: /*fixture*/ return new String[] {}; 13611 case -309425751: /*profile*/ return new String[] {"Reference"}; 13612 case -1249586564: /*variable*/ return new String[] {}; 13613 case 109329021: /*setup*/ return new String[] {}; 13614 case 3556498: /*test*/ return new String[] {}; 13615 case -1663474172: /*teardown*/ return new String[] {}; 13616 default: return super.getTypesForProperty(hash, name); 13617 } 13618 13619 } 13620 13621 @Override 13622 public Base addChild(String name) throws FHIRException { 13623 if (name.equals("url")) { 13624 throw new FHIRException("Cannot call addChild on a primitive type TestScript.url"); 13625 } 13626 else if (name.equals("identifier")) { 13627 return addIdentifier(); 13628 } 13629 else if (name.equals("version")) { 13630 throw new FHIRException("Cannot call addChild on a primitive type TestScript.version"); 13631 } 13632 else if (name.equals("name")) { 13633 throw new FHIRException("Cannot call addChild on a primitive type TestScript.name"); 13634 } 13635 else if (name.equals("title")) { 13636 throw new FHIRException("Cannot call addChild on a primitive type TestScript.title"); 13637 } 13638 else if (name.equals("status")) { 13639 throw new FHIRException("Cannot call addChild on a primitive type TestScript.status"); 13640 } 13641 else if (name.equals("experimental")) { 13642 throw new FHIRException("Cannot call addChild on a primitive type TestScript.experimental"); 13643 } 13644 else if (name.equals("date")) { 13645 throw new FHIRException("Cannot call addChild on a primitive type TestScript.date"); 13646 } 13647 else if (name.equals("publisher")) { 13648 throw new FHIRException("Cannot call addChild on a primitive type TestScript.publisher"); 13649 } 13650 else if (name.equals("contact")) { 13651 return addContact(); 13652 } 13653 else if (name.equals("description")) { 13654 throw new FHIRException("Cannot call addChild on a primitive type TestScript.description"); 13655 } 13656 else if (name.equals("useContext")) { 13657 return addUseContext(); 13658 } 13659 else if (name.equals("jurisdiction")) { 13660 return addJurisdiction(); 13661 } 13662 else if (name.equals("purpose")) { 13663 throw new FHIRException("Cannot call addChild on a primitive type TestScript.purpose"); 13664 } 13665 else if (name.equals("copyright")) { 13666 throw new FHIRException("Cannot call addChild on a primitive type TestScript.copyright"); 13667 } 13668 else if (name.equals("origin")) { 13669 return addOrigin(); 13670 } 13671 else if (name.equals("destination")) { 13672 return addDestination(); 13673 } 13674 else if (name.equals("metadata")) { 13675 this.metadata = new TestScriptMetadataComponent(); 13676 return this.metadata; 13677 } 13678 else if (name.equals("scope")) { 13679 return addScope(); 13680 } 13681 else if (name.equals("fixture")) { 13682 return addFixture(); 13683 } 13684 else if (name.equals("profile")) { 13685 return addProfile(); 13686 } 13687 else if (name.equals("variable")) { 13688 return addVariable(); 13689 } 13690 else if (name.equals("setup")) { 13691 this.setup = new TestScriptSetupComponent(); 13692 return this.setup; 13693 } 13694 else if (name.equals("test")) { 13695 return addTest(); 13696 } 13697 else if (name.equals("teardown")) { 13698 this.teardown = new TestScriptTeardownComponent(); 13699 return this.teardown; 13700 } 13701 else 13702 return super.addChild(name); 13703 } 13704 13705 public String fhirType() { 13706 return "TestScript"; 13707 13708 } 13709 13710 public TestScript copy() { 13711 TestScript dst = new TestScript(); 13712 copyValues(dst); 13713 return dst; 13714 } 13715 13716 public void copyValues(TestScript dst) { 13717 super.copyValues(dst); 13718 dst.url = url == null ? null : url.copy(); 13719 if (identifier != null) { 13720 dst.identifier = new ArrayList<Identifier>(); 13721 for (Identifier i : identifier) 13722 dst.identifier.add(i.copy()); 13723 }; 13724 dst.version = version == null ? null : version.copy(); 13725 dst.name = name == null ? null : name.copy(); 13726 dst.title = title == null ? null : title.copy(); 13727 dst.status = status == null ? null : status.copy(); 13728 dst.experimental = experimental == null ? null : experimental.copy(); 13729 dst.date = date == null ? null : date.copy(); 13730 dst.publisher = publisher == null ? null : publisher.copy(); 13731 if (contact != null) { 13732 dst.contact = new ArrayList<ContactDetail>(); 13733 for (ContactDetail i : contact) 13734 dst.contact.add(i.copy()); 13735 }; 13736 dst.description = description == null ? null : description.copy(); 13737 if (useContext != null) { 13738 dst.useContext = new ArrayList<UsageContext>(); 13739 for (UsageContext i : useContext) 13740 dst.useContext.add(i.copy()); 13741 }; 13742 if (jurisdiction != null) { 13743 dst.jurisdiction = new ArrayList<CodeableConcept>(); 13744 for (CodeableConcept i : jurisdiction) 13745 dst.jurisdiction.add(i.copy()); 13746 }; 13747 dst.purpose = purpose == null ? null : purpose.copy(); 13748 dst.copyright = copyright == null ? null : copyright.copy(); 13749 if (origin != null) { 13750 dst.origin = new ArrayList<TestScriptOriginComponent>(); 13751 for (TestScriptOriginComponent i : origin) 13752 dst.origin.add(i.copy()); 13753 }; 13754 if (destination != null) { 13755 dst.destination = new ArrayList<TestScriptDestinationComponent>(); 13756 for (TestScriptDestinationComponent i : destination) 13757 dst.destination.add(i.copy()); 13758 }; 13759 dst.metadata = metadata == null ? null : metadata.copy(); 13760 if (scope != null) { 13761 dst.scope = new ArrayList<TestScriptScopeComponent>(); 13762 for (TestScriptScopeComponent i : scope) 13763 dst.scope.add(i.copy()); 13764 }; 13765 if (fixture != null) { 13766 dst.fixture = new ArrayList<TestScriptFixtureComponent>(); 13767 for (TestScriptFixtureComponent i : fixture) 13768 dst.fixture.add(i.copy()); 13769 }; 13770 if (profile != null) { 13771 dst.profile = new ArrayList<Reference>(); 13772 for (Reference i : profile) 13773 dst.profile.add(i.copy()); 13774 }; 13775 if (variable != null) { 13776 dst.variable = new ArrayList<TestScriptVariableComponent>(); 13777 for (TestScriptVariableComponent i : variable) 13778 dst.variable.add(i.copy()); 13779 }; 13780 dst.setup = setup == null ? null : setup.copy(); 13781 if (test != null) { 13782 dst.test = new ArrayList<TestScriptTestComponent>(); 13783 for (TestScriptTestComponent i : test) 13784 dst.test.add(i.copy()); 13785 }; 13786 dst.teardown = teardown == null ? null : teardown.copy(); 13787 } 13788 13789 protected TestScript typedCopy() { 13790 return copy(); 13791 } 13792 13793 @Override 13794 public boolean equalsDeep(Base other_) { 13795 if (!super.equalsDeep(other_)) 13796 return false; 13797 if (!(other_ instanceof TestScript)) 13798 return false; 13799 TestScript o = (TestScript) other_; 13800 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 13801 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) 13802 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 13803 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 13804 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 13805 && compareDeep(origin, o.origin, true) && compareDeep(destination, o.destination, true) && compareDeep(metadata, o.metadata, true) 13806 && compareDeep(scope, o.scope, true) && compareDeep(fixture, o.fixture, true) && compareDeep(profile, o.profile, true) 13807 && compareDeep(variable, o.variable, true) && compareDeep(setup, o.setup, true) && compareDeep(test, o.test, true) 13808 && compareDeep(teardown, o.teardown, true); 13809 } 13810 13811 @Override 13812 public boolean equalsShallow(Base other_) { 13813 if (!super.equalsShallow(other_)) 13814 return false; 13815 if (!(other_ instanceof TestScript)) 13816 return false; 13817 TestScript o = (TestScript) other_; 13818 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 13819 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 13820 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 13821 && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true); 13822 } 13823 13824 public boolean isEmpty() { 13825 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 13826 , name, title, status, experimental, date, publisher, contact, description, useContext 13827 , jurisdiction, purpose, copyright, origin, destination, metadata, scope, fixture 13828 , profile, variable, setup, test, teardown); 13829 } 13830 13831 @Override 13832 public ResourceType getResourceType() { 13833 return ResourceType.TestScript; 13834 } 13835 13836 /** 13837 * Search parameter: <b>context-quantity</b> 13838 * <p> 13839 * Description: <b>A quantity- or range-valued use context assigned to the test script</b><br> 13840 * Type: <b>quantity</b><br> 13841 * Path: <b>(TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range)</b><br> 13842 * </p> 13843 */ 13844 @SearchParamDefinition(name="context-quantity", path="(TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the test script", type="quantity" ) 13845 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 13846 /** 13847 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 13848 * <p> 13849 * Description: <b>A quantity- or range-valued use context assigned to the test script</b><br> 13850 * Type: <b>quantity</b><br> 13851 * Path: <b>(TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range)</b><br> 13852 * </p> 13853 */ 13854 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 13855 13856 /** 13857 * Search parameter: <b>context-type-quantity</b> 13858 * <p> 13859 * Description: <b>A use context type and quantity- or range-based value assigned to the test script</b><br> 13860 * Type: <b>composite</b><br> 13861 * Path: <b>TestScript.useContext</b><br> 13862 * </p> 13863 */ 13864 @SearchParamDefinition(name="context-type-quantity", path="TestScript.useContext", description="A use context type and quantity- or range-based value assigned to the test script", type="composite", compositeOf={"context-type", "context-quantity"} ) 13865 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 13866 /** 13867 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 13868 * <p> 13869 * Description: <b>A use context type and quantity- or range-based value assigned to the test script</b><br> 13870 * Type: <b>composite</b><br> 13871 * Path: <b>TestScript.useContext</b><br> 13872 * </p> 13873 */ 13874 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 13875 13876 /** 13877 * Search parameter: <b>context-type-value</b> 13878 * <p> 13879 * Description: <b>A use context type and value assigned to the test script</b><br> 13880 * Type: <b>composite</b><br> 13881 * Path: <b>TestScript.useContext</b><br> 13882 * </p> 13883 */ 13884 @SearchParamDefinition(name="context-type-value", path="TestScript.useContext", description="A use context type and value assigned to the test script", type="composite", compositeOf={"context-type", "context"} ) 13885 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 13886 /** 13887 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 13888 * <p> 13889 * Description: <b>A use context type and value assigned to the test script</b><br> 13890 * Type: <b>composite</b><br> 13891 * Path: <b>TestScript.useContext</b><br> 13892 * </p> 13893 */ 13894 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 13895 13896 /** 13897 * Search parameter: <b>context-type</b> 13898 * <p> 13899 * Description: <b>A type of use context assigned to the test script</b><br> 13900 * Type: <b>token</b><br> 13901 * Path: <b>TestScript.useContext.code</b><br> 13902 * </p> 13903 */ 13904 @SearchParamDefinition(name="context-type", path="TestScript.useContext.code", description="A type of use context assigned to the test script", type="token" ) 13905 public static final String SP_CONTEXT_TYPE = "context-type"; 13906 /** 13907 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 13908 * <p> 13909 * Description: <b>A type of use context assigned to the test script</b><br> 13910 * Type: <b>token</b><br> 13911 * Path: <b>TestScript.useContext.code</b><br> 13912 * </p> 13913 */ 13914 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 13915 13916 /** 13917 * Search parameter: <b>context</b> 13918 * <p> 13919 * Description: <b>A use context assigned to the test script</b><br> 13920 * Type: <b>token</b><br> 13921 * Path: <b>(TestScript.useContext.value as CodeableConcept)</b><br> 13922 * </p> 13923 */ 13924 @SearchParamDefinition(name="context", path="(TestScript.useContext.value as CodeableConcept)", description="A use context assigned to the test script", type="token" ) 13925 public static final String SP_CONTEXT = "context"; 13926 /** 13927 * <b>Fluent Client</b> search parameter constant for <b>context</b> 13928 * <p> 13929 * Description: <b>A use context assigned to the test script</b><br> 13930 * Type: <b>token</b><br> 13931 * Path: <b>(TestScript.useContext.value as CodeableConcept)</b><br> 13932 * </p> 13933 */ 13934 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 13935 13936 /** 13937 * Search parameter: <b>date</b> 13938 * <p> 13939 * Description: <b>The test script publication date</b><br> 13940 * Type: <b>date</b><br> 13941 * Path: <b>TestScript.date</b><br> 13942 * </p> 13943 */ 13944 @SearchParamDefinition(name="date", path="TestScript.date", description="The test script publication date", type="date" ) 13945 public static final String SP_DATE = "date"; 13946 /** 13947 * <b>Fluent Client</b> search parameter constant for <b>date</b> 13948 * <p> 13949 * Description: <b>The test script publication date</b><br> 13950 * Type: <b>date</b><br> 13951 * Path: <b>TestScript.date</b><br> 13952 * </p> 13953 */ 13954 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 13955 13956 /** 13957 * Search parameter: <b>description</b> 13958 * <p> 13959 * Description: <b>The description of the test script</b><br> 13960 * Type: <b>string</b><br> 13961 * Path: <b>TestScript.description</b><br> 13962 * </p> 13963 */ 13964 @SearchParamDefinition(name="description", path="TestScript.description", description="The description of the test script", type="string" ) 13965 public static final String SP_DESCRIPTION = "description"; 13966 /** 13967 * <b>Fluent Client</b> search parameter constant for <b>description</b> 13968 * <p> 13969 * Description: <b>The description of the test script</b><br> 13970 * Type: <b>string</b><br> 13971 * Path: <b>TestScript.description</b><br> 13972 * </p> 13973 */ 13974 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 13975 13976 /** 13977 * Search parameter: <b>identifier</b> 13978 * <p> 13979 * Description: <b>External identifier for the test script</b><br> 13980 * Type: <b>token</b><br> 13981 * Path: <b>TestScript.identifier</b><br> 13982 * </p> 13983 */ 13984 @SearchParamDefinition(name="identifier", path="TestScript.identifier", description="External identifier for the test script", type="token" ) 13985 public static final String SP_IDENTIFIER = "identifier"; 13986 /** 13987 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 13988 * <p> 13989 * Description: <b>External identifier for the test script</b><br> 13990 * Type: <b>token</b><br> 13991 * Path: <b>TestScript.identifier</b><br> 13992 * </p> 13993 */ 13994 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 13995 13996 /** 13997 * Search parameter: <b>jurisdiction</b> 13998 * <p> 13999 * Description: <b>Intended jurisdiction for the test script</b><br> 14000 * Type: <b>token</b><br> 14001 * Path: <b>TestScript.jurisdiction</b><br> 14002 * </p> 14003 */ 14004 @SearchParamDefinition(name="jurisdiction", path="TestScript.jurisdiction", description="Intended jurisdiction for the test script", type="token" ) 14005 public static final String SP_JURISDICTION = "jurisdiction"; 14006 /** 14007 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 14008 * <p> 14009 * Description: <b>Intended jurisdiction for the test script</b><br> 14010 * Type: <b>token</b><br> 14011 * Path: <b>TestScript.jurisdiction</b><br> 14012 * </p> 14013 */ 14014 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 14015 14016 /** 14017 * Search parameter: <b>name</b> 14018 * <p> 14019 * Description: <b>Computationally friendly name of the test script</b><br> 14020 * Type: <b>string</b><br> 14021 * Path: <b>TestScript.name</b><br> 14022 * </p> 14023 */ 14024 @SearchParamDefinition(name="name", path="TestScript.name", description="Computationally friendly name of the test script", type="string" ) 14025 public static final String SP_NAME = "name"; 14026 /** 14027 * <b>Fluent Client</b> search parameter constant for <b>name</b> 14028 * <p> 14029 * Description: <b>Computationally friendly name of the test script</b><br> 14030 * Type: <b>string</b><br> 14031 * Path: <b>TestScript.name</b><br> 14032 * </p> 14033 */ 14034 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 14035 14036 /** 14037 * Search parameter: <b>publisher</b> 14038 * <p> 14039 * Description: <b>Name of the publisher of the test script</b><br> 14040 * Type: <b>string</b><br> 14041 * Path: <b>TestScript.publisher</b><br> 14042 * </p> 14043 */ 14044 @SearchParamDefinition(name="publisher", path="TestScript.publisher", description="Name of the publisher of the test script", type="string" ) 14045 public static final String SP_PUBLISHER = "publisher"; 14046 /** 14047 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 14048 * <p> 14049 * Description: <b>Name of the publisher of the test script</b><br> 14050 * Type: <b>string</b><br> 14051 * Path: <b>TestScript.publisher</b><br> 14052 * </p> 14053 */ 14054 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 14055 14056 /** 14057 * Search parameter: <b>scope-artifact</b> 14058 * <p> 14059 * Description: <b>The artifact under test</b><br> 14060 * Type: <b>reference</b><br> 14061 * Path: <b>TestScript.scope.artifact</b><br> 14062 * </p> 14063 */ 14064 @SearchParamDefinition(name="scope-artifact", path="TestScript.scope.artifact", description="The artifact under test", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 14065 public static final String SP_SCOPE_ARTIFACT = "scope-artifact"; 14066 /** 14067 * <b>Fluent Client</b> search parameter constant for <b>scope-artifact</b> 14068 * <p> 14069 * Description: <b>The artifact under test</b><br> 14070 * Type: <b>reference</b><br> 14071 * Path: <b>TestScript.scope.artifact</b><br> 14072 * </p> 14073 */ 14074 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SCOPE_ARTIFACT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SCOPE_ARTIFACT); 14075 14076/** 14077 * Constant for fluent queries to be used to add include statements. Specifies 14078 * the path value of "<b>TestScript:scope-artifact</b>". 14079 */ 14080 public static final ca.uhn.fhir.model.api.Include INCLUDE_SCOPE_ARTIFACT = new ca.uhn.fhir.model.api.Include("TestScript:scope-artifact").toLocked(); 14081 14082 /** 14083 * Search parameter: <b>status</b> 14084 * <p> 14085 * Description: <b>The current status of the test script</b><br> 14086 * Type: <b>token</b><br> 14087 * Path: <b>TestScript.status</b><br> 14088 * </p> 14089 */ 14090 @SearchParamDefinition(name="status", path="TestScript.status", description="The current status of the test script", type="token" ) 14091 public static final String SP_STATUS = "status"; 14092 /** 14093 * <b>Fluent Client</b> search parameter constant for <b>status</b> 14094 * <p> 14095 * Description: <b>The current status of the test script</b><br> 14096 * Type: <b>token</b><br> 14097 * Path: <b>TestScript.status</b><br> 14098 * </p> 14099 */ 14100 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 14101 14102 /** 14103 * Search parameter: <b>testscript-capability</b> 14104 * <p> 14105 * Description: <b>TestScript required and validated capability</b><br> 14106 * Type: <b>string</b><br> 14107 * Path: <b>TestScript.metadata.capability.description</b><br> 14108 * </p> 14109 */ 14110 @SearchParamDefinition(name="testscript-capability", path="TestScript.metadata.capability.description", description="TestScript required and validated capability", type="string" ) 14111 public static final String SP_TESTSCRIPT_CAPABILITY = "testscript-capability"; 14112 /** 14113 * <b>Fluent Client</b> search parameter constant for <b>testscript-capability</b> 14114 * <p> 14115 * Description: <b>TestScript required and validated capability</b><br> 14116 * Type: <b>string</b><br> 14117 * Path: <b>TestScript.metadata.capability.description</b><br> 14118 * </p> 14119 */ 14120 public static final ca.uhn.fhir.rest.gclient.StringClientParam TESTSCRIPT_CAPABILITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TESTSCRIPT_CAPABILITY); 14121 14122 /** 14123 * Search parameter: <b>title</b> 14124 * <p> 14125 * Description: <b>The human-friendly name of the test script</b><br> 14126 * Type: <b>string</b><br> 14127 * Path: <b>TestScript.title</b><br> 14128 * </p> 14129 */ 14130 @SearchParamDefinition(name="title", path="TestScript.title", description="The human-friendly name of the test script", type="string" ) 14131 public static final String SP_TITLE = "title"; 14132 /** 14133 * <b>Fluent Client</b> search parameter constant for <b>title</b> 14134 * <p> 14135 * Description: <b>The human-friendly name of the test script</b><br> 14136 * Type: <b>string</b><br> 14137 * Path: <b>TestScript.title</b><br> 14138 * </p> 14139 */ 14140 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 14141 14142 /** 14143 * Search parameter: <b>url</b> 14144 * <p> 14145 * Description: <b>The uri that identifies the test script</b><br> 14146 * Type: <b>uri</b><br> 14147 * Path: <b>TestScript.url</b><br> 14148 * </p> 14149 */ 14150 @SearchParamDefinition(name="url", path="TestScript.url", description="The uri that identifies the test script", type="uri" ) 14151 public static final String SP_URL = "url"; 14152 /** 14153 * <b>Fluent Client</b> search parameter constant for <b>url</b> 14154 * <p> 14155 * Description: <b>The uri that identifies the test script</b><br> 14156 * Type: <b>uri</b><br> 14157 * Path: <b>TestScript.url</b><br> 14158 * </p> 14159 */ 14160 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 14161 14162 /** 14163 * Search parameter: <b>version</b> 14164 * <p> 14165 * Description: <b>The business version of the test script</b><br> 14166 * Type: <b>token</b><br> 14167 * Path: <b>TestScript.version</b><br> 14168 * </p> 14169 */ 14170 @SearchParamDefinition(name="version", path="TestScript.version", description="The business version of the test script", type="token" ) 14171 public static final String SP_VERSION = "version"; 14172 /** 14173 * <b>Fluent Client</b> search parameter constant for <b>version</b> 14174 * <p> 14175 * Description: <b>The business version of the test script</b><br> 14176 * Type: <b>token</b><br> 14177 * Path: <b>TestScript.version</b><br> 14178 * </p> 14179 */ 14180 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 14181 14182 14183} 14184